Увеличиваем CTR благодаря gObjMakePreviewCharSet GS1.00.95 в MU Online

Автор NZK, 2014 Сен. 30, 23:07

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] mu onlinectrблогgobjmakepreviewcharsetgs1.00.95разработка development

NZK

собственно тем кому интересно  B)

Спойлер
int __cdecl sub_557D40(signed int a1)
{
int result; // eax@5
__int16 v2; // cx@31
int v3; // ST64_4@43
int v4; // ST64_4@43
int v5; // ST64_4@43
int v6; // ST64_4@43
int v7; // ST64_4@43
int v8; // ST64_4@43
int v9; // ST64_4@43
__int16 v10; // cx@85
int v11; // [sp+50h] [bp-14h]@2
char v12; // [sp+54h] [bp-10h]@111
int v13; // [sp+5Ch] [bp-8h]@6
char v14; // [sp+60h] [bp-4h]@33
if ( a1 >= 0 )
v11 = a1 <= 9999;
else
v11 = 0;
if ( v11 )
{
v13 = 8984 * a1 + dword_8764A9C;
memset((void *)(8984 * a1 + dword_8764A9C + 1342), 0, 0x12u);
*(_BYTE *)(v13 + 1342) = 32 * *(_WORD *)(v13 + 164) & 0xE0;
*(_BYTE *)(v13 + 1342) |= 16 * *(_BYTE *)(v13 + 167) & 0x10;
*(_BYTE *)(v13 + 1342) |= 8 * *(_BYTE *)(v13 + 168) & 8;
if ( *(_BYTE *)(v13 + 516) == 128 )
{
*(_BYTE *)(v13 + 1342) |= 2u;
}
else
{
if ( *(_BYTE *)(v13 + 516) == 129 )
*(_BYTE *)(v13 + 1342) |= 3u;
else
*(_BYTE *)(v13 + 1342) = *(_BYTE *)(v13 + 1342);
}
if ( (signed int)*(_WORD *)(*(_DWORD *)(v13 + 3708) + 6) >= 0 )
{
*(_BYTE *)(v13 + 1354) |= (*(_WORD *)(*(_DWORD *)(v13 + 3708) + 6) & 0xF00) >> 4;
*(_BYTE *)(v13 + 1343) = *(_WORD *)(*(_DWORD *)(v13 + 3708) + 6);
}
else
{
*(_BYTE *)(v13 + 1354) |= 0xF0u;
*(_BYTE *)(v13 + 1343) = -1;
}
if ( (signed int)*(_WORD *)(*(_DWORD *)(v13 + 3708) + 194) >= 0 )
{
*(_BYTE *)(v13 + 1355) |= (*(_WORD *)(*(_DWORD *)(v13 + 3708) + 194) & 0xF00) >> 4;
*(_BYTE *)(v13 + 1344) = *(_WORD *)(*(_DWORD *)(v13 + 3708) + 194);
}
else
{
*(_BYTE *)(v13 + 1355) |= 0xF0u;
*(_BYTE *)(v13 + 1344) = -1;
}
if ( (signed int)*(_WORD *)(*(_DWORD *)(v13 + 3708) + 382) >= 0 )
{
*(_BYTE *)(v13 + 1355) |= (*(_WORD *)(*(_DWORD *)(v13 + 3708) + 382) & 0x1E0) >> 5;
*(_BYTE *)(v13 + 1351) |= 8 * (*(_WORD *)(*(_DWORD *)(v13 + 3708) + 382) & 0x10);
*(_BYTE *)(v13 + 1345) |= 16 * (*(_WORD *)(*(_DWORD *)(v13 + 3708) + 382) & 0xF);
}
else
{
*(_BYTE *)(v13 + 1355) |= 0xFu;
*(_BYTE *)(v13 + 1351) |= 0x80u;
*(_BYTE *)(v13 + 1345) |= 0xF0u;
}
if ( (signed int)*(_WORD *)(*(_DWORD *)(v13 + 3708) + 570) >= 0 )
{
*(_BYTE *)(v13 + 1356) |= (*(_WORD *)(*(_DWORD *)(v13 + 3708) + 570) & 0x1E0) >> 1;
*(_BYTE *)(v13 + 1351) |= 4 * (*(_WORD *)(*(_DWORD *)(v13 + 3708) + 570) & 0x10);
*(_BYTE *)(v13 + 1345) |= *(_WORD *)(*(_DWORD *)(v13 + 3708) + 570) & 0xF;
}
else
{
*(_BYTE *)(v13 + 1356) |= 0xF0u;
*(_BYTE *)(v13 + 1351) |= 0x40u;
*(_BYTE *)(v13 + 1345) |= 0xFu;
}
if ( (signed int)*(_WORD *)(*(_DWORD *)(v13 + 3708) + 758) >= 0 )
{
*(_BYTE *)(v13 + 1356) |= (*(_WORD *)(*(_DWORD *)(v13 + 3708) + 758) & 0x1E0) >> 5;
*(_BYTE *)(v13 + 1351) |= 2 * (*(_WORD *)(*(_DWORD *)(v13 + 3708) + 758) & 0x10);
*(_BYTE *)(v13 + 1346) |= 16 * (*(_WORD *)(*(_DWORD *)(v13 + 3708) + 758) & 0xF);
}
else
{
*(_BYTE *)(v13 + 1356) |= 0xFu;
*(_BYTE *)(v13 + 1351) |= 0x20u;
*(_BYTE *)(v13 + 1346) |= 0xF0u;
}
if ( (signed int)*(_WORD *)(*(_DWORD *)(v13 + 3708) + 946) >= 0 )
{
*(_BYTE *)(v13 + 1357) |= (*(_WORD *)(*(_DWORD *)(v13 + 3708) + 946) & 0x1E0) >> 1;
*(_BYTE *)(v13 + 1351) |= *(_WORD *)(*(_DWORD *)(v13 + 3708) + 946) & 0x10;
*(_BYTE *)(v13 + 1346) |= *(_WORD *)(*(_DWORD *)(v13 + 3708) + 946) & 0xF;
}
else
{
*(_BYTE *)(v13 + 1357) |= 0xF0u;
*(_BYTE *)(v13 + 1351) |= 0x10u;
*(_BYTE *)(v13 + 1346) |= 0xFu;
}
if ( (signed int)*(_WORD *)(*(_DWORD *)(v13 + 3708) + 1134) >= 0 )
{
*(_BYTE *)(v13 + 1357) |= (*(_WORD *)(*(_DWORD *)(v13 + 3708) + 1134) & 0x1E0) >> 5;
v2 = *(_WORD *)(*(_DWORD *)(v13 + 3708) + 1134);
*(_BYTE *)(v13 + 1351) |= (v2 & 0x10) >> 1;
*(_BYTE *)(v13 + 1347) |= 16 * (*(_WORD *)(*(_DWORD *)(v13 + 3708) + 1134) & 0xF);
}
else
{
*(_BYTE *)(v13 + 1357) |= 0xFu;
*(_BYTE *)(v13 + 1351) |= 8u;
*(_BYTE *)(v13 + 1347) |= 0xF0u;
}
if ( (signed int)*(_WORD *)(*(_DWORD *)(v13 + 3708) + 1322) >= 0 )
v14 = 4 * (*(_WORD *)(*(_DWORD *)(v13 + 3708) + 1322) & 3);
else
v14 = 12;
if ( *(_WORD *)(*(_DWORD *)(v13 + 3708) + 1510) == 6660 )
{
v14 |= 3u;
}
else
{
if ( (signed int)*(_WORD *)(*(_DWORD *)(v13 + 3708) + 1510) >= 0 )
{
if ( *(_WORD *)(*(_DWORD *)(v13 + 3708) + 1510) != 6723 && *(_WORD *)(*(_DWORD *)(v13 + 3708) + 1510) != 6779 )
v14 |= *(_WORD *)(*(_DWORD *)(v13 + 3708) + 1510) & 3;
}
else
{
v14 |= 3u;
}
}
*(_BYTE *)(v13 + 1347) |= v14;
v3 = (unsigned __int8)sub_404B24(a1, 0);
v4 = 8 * (unsigned __int8)sub_404B24(a1, 1) | v3;
v5 = ((unsigned __int8)sub_404B24(a1, 2) << 6) | v4;
v6 = ((unsigned __int8)sub_404B24(a1, 3) << 9) | v5;
v7 = ((unsigned __int8)sub_404B24(a1, 4) << 12) | v6;
v8 = ((unsigned __int8)sub_404B24(a1, 5) << 15) | v7;
v9 = ((unsigned __int8)sub_404B24(a1, 6) << 18) | v8;
*(_BYTE *)(v13 + 1348) = v9 >> 16;
*(_BYTE *)(v13 + 1349) = BYTE1(v9);
*(_BYTE *)(v13 + 1350) = v9;
if ( (signed int)*(_WORD *)(*(_DWORD *)(v13 + 3708) + 1322) >= 6147
&& (signed int)*(_WORD *)(*(_DWORD *)(v13 + 3708) + 1322) <= 6150
|| *(_WORD *)(*(_DWORD *)(v13 + 3708) + 1322) == 6686
|| *(_WORD *)(*(_DWORD *)(v13 + 3708) + 1322) == 6185
|| *(_WORD *)(*(_DWORD *)(v13 + 3708) + 1322) == 6186 )
{
*(_BYTE *)(v13 + 1347) |= 0xCu;
switch ( *(_WORD *)(*(_DWORD *)(v13 + 3708) + 1322) )
{
case 0x1A1E:
*(_BYTE *)(v13 + 1351) |= 5u;
break;
case 0x1829:
*(_BYTE *)(v13 + 1351) |= 6u;
break;
case 0x182A:
*(_BYTE *)(v13 + 1351) |= 7u;
break;
default:
*(_BYTE *)(v13 + 1351) |= (*(_WORD *)(*(_DWORD *)(v13 + 3708) + 1322) - 2) & 7;
break;
}
}
*(_BYTE *)(v13 + 1352) = 0;
if ( sub_40520E(*(_DWORD *)(v13 + 3708) + 376) )
*(_BYTE *)(v13 + 1352) = -128;
if ( sub_40520E(*(_DWORD *)(v13 + 3708) + 564) )
*(_BYTE *)(v13 + 1352) |= 0x40u;
if ( sub_40520E(*(_DWORD *)(v13 + 3708) + 752) )
*(_BYTE *)(v13 + 1352) |= 0x20u;
if ( sub_40520E(*(_DWORD *)(v13 + 3708) + 940) )
*(_BYTE *)(v13 + 1352) |= 0x10u;
if ( sub_40520E(*(_DWORD *)(v13 + 3708) + 1128) )
*(_BYTE *)(v13 + 1352) |= 8u;
if ( sub_40520E(*(_DWORD *)(v13 + 3708)) )
*(_BYTE *)(v13 + 1352) |= 4u;
if ( sub_40520E(*(_DWORD *)(v13 + 3708) + 188) )
*(_BYTE *)(v13 + 1352) |= 2u;
*(_BYTE *)(v13 + 1353) = 0;
if ( sub_405EF7(*(_DWORD *)(v13 + 3708) + 376) )
*(_BYTE *)(v13 + 1353) = -128;
if ( sub_405EF7(*(_DWORD *)(v13 + 3708) + 564) )
*(_BYTE *)(v13 + 1353) |= 0x40u;
if ( sub_405EF7(*(_DWORD *)(v13 + 3708) + 752) )
*(_BYTE *)(v13 + 1353) |= 0x20u;
if ( sub_405EF7(*(_DWORD *)(v13 + 3708) + 940) )
*(_BYTE *)(v13 + 1353) |= 0x10u;
if ( sub_405EF7(*(_DWORD *)(v13 + 3708) + 1128) )
*(_BYTE *)(v13 + 1353) |= 8u;
if ( sub_405EF7(*(_DWORD *)(v13 + 3708)) )
*(_BYTE *)(v13 + 1353) |= 4u;
if ( sub_405EF7(*(_DWORD *)(v13 + 3708) + 188) )
*(_BYTE *)(v13 + 1353) |= 2u;
sub_402A27(a1);
if ( *(_BYTE *)(v13 + 4530) )
*(_BYTE *)(v13 + 1353) |= 1u;
v10 = *(_WORD *)(*(_DWORD *)(v13 + 3708) + 1510);
if ( v10 & 3 && (signed int)*(_WORD *)(*(_DWORD *)(v13 + 3708) + 1510) > 0 )
*(_BYTE *)(v13 + 1352) |= 1u;
if ( *(_WORD *)(*(_DWORD *)(v13 + 3708) + 1510) == 6660 )
*(_BYTE *)(v13 + 1354) |= 1u;
if ( sub_4021B2(*(_DWORD *)(v13 + 3708) + 1880) == 1
&& *(_WORD *)(*(_DWORD *)(v13 + 3708) + 1886) == 6676
&& *(_WORD *)(*(_DWORD *)(v13 + 3708) + 1888) == 3
&& *(float *)(*(_DWORD *)(v13 + 3708) + 1916) > 0.0
|| sub_4021B2(*(_DWORD *)(v13 + 3708) + 2068) == 1
&& *(_WORD *)(*(_DWORD *)(v13 + 3708) + 2074) == 6676
&& *(_WORD *)(*(_DWORD *)(v13 + 3708) + 2076) == 3
&& *(float *)(*(_DWORD *)(v13 + 3708) + 2104) > 0.0 )
*(_BYTE *)(v13 + 1354) |= 2u;
if ( *(_WORD *)(*(_DWORD *)(v13 + 3708) + 1510) == 6693 )
{
*(_BYTE *)(v13 + 1352) &= 0xFEu;
*(_BYTE *)(v13 + 1354) &= 0xFEu;
*(_BYTE *)(v13 + 1354) |= 4u;
*(_BYTE *)(v13 + 1358) = 0;
*(_BYTE *)(v13 + 1359) = 0;
if ( sub_4073DD(*(_DWORD *)(v13 + 3708) + 1504) )
*(_BYTE *)(v13 + 1358) |= 1u;
if ( sub_408C6F(*(_DWORD *)(v13 + 3708) + 1504) )
*(_BYTE *)(v13 + 1358) |= 2u;
if ( sub_404E17(*(_DWORD *)(v13 + 3708) + 1504) )
*(_BYTE *)(v13 + 1359) |= 1u;
}
if ( (signed int)*(_WORD *)(*(_DWORD *)(v13 + 3708) + 1322) >= 6180
&& (signed int)*(_WORD *)(*(_DWORD *)(v13 + 3708) + 1322) <= 6184
|| *(_WORD *)(*(_DWORD *)(v13 + 3708) + 1322) == 6187 )
{
*(_BYTE *)(v13 + 1347) |= 0xCu;
*(_BYTE *)(v13 + 1358) |= 4 * ((*(_WORD *)(*(_DWORD *)(v13 + 3708) + 1322) - 35) & 7);
if ( *(_WORD *)(*(_DWORD *)(v13 + 3708) + 1322) == 6187 )
*(_BYTE *)(v13 + 1358) |= 0x18u;
}
v12 = 0;
switch ( *(_WORD *)(*(_DWORD *)(v13 + 3708) + 1510) )
{
case 6720:
v12 = 32;
break;
case 6721:
v12 = 64;
break;
case 6779:
v12 = 96;
break;
case 6723:
v12 = -128;
break;
case 6762:
v12 = -96;
break;
case 6736:
v12 = -32;
break;
default:
break;
}
result = v13;
*(_BYTE *)(v13 + 1358) |= v12;
}
else
{
result = dword_8411244("error : %s %d", "Z:\SVN_China\Server\GameServer\user.cpp", word_8836E4 + 5);
}
return result;
}
[свернуть]

Похожие темы (5)

Сообщений: 37
Просмотров: 22933

Сообщений: 127
Просмотров: 40407

Сообщений: 32
Просмотров: 13876