-
Автор темы
- #1
yeah its not fully reversed and stuff could be wrong XD
not my dump friend sent me the posudo code, so i just reversed what i could with current posudo code
not my dump friend sent me the posudo code, so i just reversed what i could with current posudo code
C++:
void __usercall AntiAim::Fake(int a1@<edx>, int a2@<ecx>, double a3@<st0>, float angle, double st6_0@<st1>, double st5_0@<st2>, double a7@<st3>, double a8@<st5>, double a9@<st4>, double a10@<st6>, double a11@<st7>, int a5, int a6)
{
// [COLLAPSED LOCAL DECLARATIONS. PRESS KEYPAD CTRL-"+" TO EXPAND]
fucklol = *(m_nPlayerAnimationState + a2 - 20);//idk what a2 is atm
if (fucklol && AntiAim::CanRun(a2, a1) )
{
(*(*EntityListPointer + 16))(EntityListPointer, *(m_hActiveWeapon + v14));
v15 = MaxDesyncDeltaPointer->ShotTime;
v16 = *(g_pClientState + 0x4D2C);//g_pClientState->nLastCommandAck //0x4D2C
v17 = v15 > v16 && v15 <= v16 + *(g_pClientState + 0x4D30) + 1;//g_pClientState->iCommandAck //0x4D30
if ( *(a1 + 4) != v15 )//i really wanna know what a1 is XD
{
if ( !a5 )
{
m_cmd->viewangles.y = angle; //m128_f32[0], tho idk why tf posudo = viewwangle.x
if (angle < -180.0 || angle > 180.0 )
{
v19 = LODWORD(angle);
v19.m128_f32[0] = angle / 360.0;
v20 = sub_33F0BC10(v19)->viewangle.y;
Nemtech::MathLib::RoundF(v20);
__asm
{
fmul ds:dword_3400EB10
fstp [ebp+var_8]
}
if (angle >= 0.0 )
v21 = angle - v38;
else
v21 = angle + v38;
*(a1 + 16) = v21;
return;
}
goto LABEL_39;
}
v22 = ((*(/*fucklol + 0x11C*/) * 20.0) + 30.0) * g_pGlobalVarBase->interval_per_tick;
if ( a5 == 1 )//a5 looks like the m_side crap
m_flMaxDelta = 60.0;
else
m_flMaxDelta = -60.0;
//yeah idk
v39 = m_flMaxDelta;
v34 = m_flMaxDelta;//prob fucked something here idk
if ( !v17 )
{
if (m_flMaxDelta <= (*&g_pConfig::DesyncClamp + v22) )
{
if ( (COERCE_FLOAT(g_pConfig::DesyncClamp ^ NegatedMask) - v22) > v23 )//COERCE_FLOAT is *((float*)&var)
m_flMaxDelta = COERCE_FLOAT(g_pConfig::DesyncClamp ^ NegatedMask) - v22;
}
else
{
m_flMaxDelta = *&g_pConfig::DesyncClamp + v22;
}
v39 = m_flMaxDelta;
v34 = m_flMaxDelta;
}
if ( !a6 )
{
m_cmd->viewangles.y = angle;
if (angle < -180.0 || angle > 180.0 )
{
//another code not being used wtf
v31 = LODWORD(angle);
v31.m128_f32[0] = angle / 360.0;
v32 = sub_33F0BC10(v31)->viewangle.y;
Nemtech::MathLib::RoundF(v32);
__asm
{
fmul ds:dword_3400EB10
fstp [ebp+var_C]
}
if (angle < 0.0 )
{
*(a1 + 16) = angle + m_flMaxDelta;
return;
}
m_cmd->viewangles.y = angle - m_flMaxDelta;
}
goto LABEL_39;
}
cmd = m_pCmds[3665 * (v16 % 150)];
if (cmd)
{
v25 = cmd[172];
MathLib::AngleDiff(a3, v25.viewangles.y, *(cmd + 0xAE), st6_0, st5_0, a7, a9, a8, a10, a11);
v26 = sub_33F0BC10(v25).viewangles.y;
v27 = (sub_33F0BC10(LODWORD(v34)).viewangles.y - 5.0) <= v26;//LODWORD(x): return x & 0xFFFFFFFF
m_flMaxDelta = v39;
if ( !v27 )
{
Nemtech::MathLib::CopySignF(1123024896, LODWORD(v39));
__asm { fstp [ebp+var_C] }
m_flMaxDelta = v35;
}
}
m_cmd = LODWORD(angle);//hmmmm what
m_cmd->viewangles.y = angle - m_flMaxDelta;//so fucking like m_cmd->viewangles.y = m_cmd->viewangles.y - m_flMaxDelta
m_fakeViewangle = angle - m_flMaxDelta;
if ( (angle - m_flMaxDelta) >= -180.0 && m_cmd->viewangles.y <= 180.0 )
{
LABEL_39:
*(a1 + 16) = m_cmd->viewangle.y;
return;
}
//wtf we not even gonna use this crap
v28 = m_cmd;
v28.viewangles.y = m_cmd->viewangles.y / 360.0;
v29 = sub_33F0BC10(v28).viewangles.y;//this is interesting
Nemtech::MathLib::RoundF(v29);
__asm
{
fmul ds:dword_3400EB10
fstp [ebp+var_C]
}
if (m_fakeViewangle >= 0.0 )
v30 = m_fakeViewangle - v36;
else
v30 = m_fakeViewangle + v36;
*(a1 + 16) = v30;
}
}
}
__m128 __usercall sub_33F0BC10@<xmm0>(__m128 a1@<xmm0>)
{
return _mm_and_ps(a1, AbsMask);
}
Последнее редактирование: