• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

GS1.00.95 gObjMakePreviewCharSet

Newbie Spellweaver
Joined
Jun 28, 2012
Messages
38
Reaction score
6
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;
}

GS 1.00.95 Fake or Not? '-'
 
Back
Top