main public enemy
-
Автор темы
- #1
Очень очень много рофлов
Скоро солью полный дамп
А пока так чисто посмеяться не больше
P.S Утверждают что селфкод а код паблик (((((
Смысла реверсить я не вижу
UPD : Хз зачем но я реверснул около полкода
Скоро солью полный дамп
А пока так чисто посмеяться не больше
P.S Утверждают что селфкод а код паблик (((((
Смысла реверсить я не вижу
C++:
_int64 __thiscall AnimationFix(_DWORD *this)
{
__int64 v1; // rax
int v2; // eax
int v3; // ecx
float *v4; // eax
size_t v5; // ST0C_4
const void *v6; // eax
int v7; // eax
size_t v8; // ST0C_4
void *v9; // eax
__int64 v10; // ST08_8
int v12; // [esp+1Ch] [ebp-35Ch]
int v13; // [esp+20h] [ebp-358h]
int v14; // [esp+24h] [ebp-354h]
int v15; // [esp+28h] [ebp-350h]
int v16; // [esp+2Ch] [ebp-34Ch]
float *v17; // [esp+30h] [ebp-348h]
int v18; // [esp+34h] [ebp-344h]
int v19; // [esp+38h] [ebp-340h]
int v20; // [esp+3Ch] [ebp-33Ch]
int v21; // [esp+40h] [ebp-338h]
float v22; // [esp+44h] [ebp-334h]
float v23; // [esp+48h] [ebp-330h]
int v24; // [esp+4Ch] [ebp-32Ch]
int (__thiscall *v25)(int, signed int); // [esp+50h] [ebp-328h]
int v26; // [esp+54h] [ebp-324h]
BOOL v27; // [esp+58h] [ebp-320h]
BOOL v28; // [esp+5Ch] [ebp-31Ch]
BOOL v29; // [esp+60h] [ebp-318h]
int v30; // [esp+70h] [ebp-308h]
int v31; // [esp+74h] [ebp-304h]
int v32; // [esp+78h] [ebp-300h]
int v33; // [esp+7Ch] [ebp-2FCh]
char Dst; // [esp+84h] [ebp-2F4h]
bool v35; // [esp+361h] [ebp-17h]
bool v36; // [esp+362h] [ebp-16h]
bool v37; // [esp+363h] [ebp-15h]
_DWORD *v38; // [esp+364h] [ebp-14h]
int v39; // [esp+374h] [ebp-4h]
int savedregs; // [esp+378h] [ebp+0h]
v38 = this;
LODWORD(v1) = (*(int (__thiscall **)(int))(*(_DWORD *)dword_10274810 + 108))(dword_10274810);
if ( ((_BYTE)v1
|| (LODWORD(v1) = (*(unsigned __int8 (__thiscall **)(int))(*(_DWORD *)dword_10274810 + 104))(dword_10274810),
(_BYTE)v1))
&& *(_DWORD *)(dword_1027493C + 72) )
{
LODWORD(v1) = (unsigned __int8)sub_10017090(*(_DWORD *)(dword_1027493C + 72));
if ( (_BYTE)v1 )
{
if ( dword_101FD65C > *(_DWORD *)(*(_DWORD *)(__readfsdword(0x2Cu) + 4 * TlsIndex) + 4) )
{
sub_1014BF4F(&dword_101FD65C);
if ( dword_101FD65C == -1 )
{
v39 = 0;
dword_101FD658 = *(_DWORD *)sub_10013B20(*(_DWORD *)(dword_1027493C + 72));
v39 = -1;
sub_1014BF05(&dword_101FD65C);
}
}
v29 = v38[9] == 0;
v37 = v29;
v28 = !(_BYTE)v29
&& dword_101FD654 != (*(int (__thiscall **)(_DWORD))(**(_DWORD **)(dword_1027493C + 72) + 8))(*(_DWORD *)(dword_1027493C + 72));
v36 = v28;
v27 = !v37 && !v36 && *(float *)sub_10013B20(*(_DWORD *)(dword_1027493C + 72)) != *(float *)&dword_101FD658;
v35 = v27;
if ( v36 )
{
memset(v38 + 9, 0, 4u);
dword_101FD654 = (*(int (__thiscall **)(_DWORD))(**(_DWORD **)(dword_1027493C + 72) + 8))(*(_DWORD *)(dword_1027493C + 72));
}
if ( v35 )
{
v26 = *(_DWORD *)(dword_1027493C + 72);
sub_100E3230(v38[9]);
dword_101FD658 = *(_DWORD *)sub_10013B20(*(_DWORD *)(dword_1027493C + 72));
}
if ( v37 || v36 )
{
v25 = *(int (__thiscall **)(int, signed int))(*(_DWORD *)dword_1027485C + 4);
v2 = v25(dword_1027485C, 832);
v38[9] = v2;
if ( v38[9] )
{
v24 = *(_DWORD *)(dword_1027493C + 72);
sub_100E3360(v38[9]);
}
}
if ( *(_DWORD *)(v38[9] + 112) == *(_DWORD *)(dword_10274818 + '\x04') )// if (state->m_iLastClientSideAnimationUpdateFramecount() == g_GlobalVars->framecount)
// state->m_iLastClientSideAnimationUpdateFramecount() = g_GlobalVars->framecount - 1;
*(_DWORD *)(v38[9] + 112) = (signed int)(float)((float)*(signed int *)(v38[9] + 112) - 1.0);
sub_100E3040(*(_DWORD *)(dword_1027493C + 72));
v23 = sub_10044A40(*(_DWORD *)(dword_1027493C + 72));
v3 = *(_DWORD *)(dword_1027493C + 72);
v22 = v23;
v4 = (float *)sub_100E7280(v3);
if ( v22 != *v4 )
{
v5 = 56 * sub_10013A30(*(_DWORD *)(dword_1027493C + 72));
v6 = (const void *)sub_100138D0(*(_DWORD *)(dword_1027493C + 72));
memcpy(&Dst, v6, v5);
v21 = *(_DWORD *)(dword_1027493C + 72);
sub_100E3450(
v38[9],
*(_DWORD *)(dword_1027493C + 25268),
*(_DWORD *)(dword_1027493C + 25272),
*(_DWORD *)(dword_1027493C + 25276));
v20 = *(_DWORD *)(dword_1027493C + 72);
v7 = sub_10011E20(0, *(_DWORD *)(v38[9] + 128), 0);
sub_100E47E0(v7);
v19 = *(_DWORD *)(dword_1027493C + 72);
*(_DWORD *)(sub_10013880(12) + 32) = 872415232;
v18 = *(_DWORD *)(dword_1027493C + 72);
sub_100E7200(dword_1027493C + 176, 128, 524032, *(_DWORD *)(dword_10274818 + 16));
if ( byte_1027BBDD )
{
v33 = dword_1027493C + 176;
v32 = dword_1027493C + 176;
v31 = dword_1027493C + 6320;
while ( v32 != v31 )
{
v30 = v32;
v17 = (float *)(*(int (__thiscall **)(int))(*(_DWORD *)(*(_DWORD *)(dword_1027493C + 72) + 4) + 4))(*(_DWORD *)(dword_1027493C + 72) + 4);
v16 = sub_10012990(0);
*(float *)(v16 + 12) = *(float *)(v16 + 12) - *v17;
v15 = (*(int (__thiscall **)(int))(*(_DWORD *)(*(_DWORD *)(dword_1027493C + 72) + 4) + 4))(*(_DWORD *)(dword_1027493C + 72) + 4);
v14 = sub_10012990(1);
*(float *)(v14 + 12) = *(float *)(v14 + 12) - *(float *)(v15 + 4);
v13 = (*(int (__thiscall **)(int))(*(_DWORD *)(*(_DWORD *)(dword_1027493C + 72) + 4) + 4))(*(_DWORD *)(dword_1027493C + 72) + 4);
v12 = sub_10012990(2);
*(float *)(v12 + 12) = *(float *)(v12 + 12) - *(float *)(v13 + 8);
v32 += 48;
}
}
v8 = 56 * sub_10013A30(*(_DWORD *)(dword_1027493C + 72));
v9 = (void *)sub_100138D0(*(_DWORD *)(dword_1027493C + 72));
memcpy(v9, &Dst, v8);
}
LODWORD(v1) = dword_1027493C;
HIDWORD(v1) = v38[9];
*(_DWORD *)(dword_1027493C + 18720) = HIDWORD(v1);
}
else
{
byte_101FD650 = 0;
}
}
else
{
byte_101FD650 = 0;
}
v10 = v1;
sub_1014B972((int)&savedregs, &dword_1000CFF8);
return v10;
}
Последнее редактирование: