// // sub_571A0 from 0x571a0 to 0x57268 (200 bytes) // // 2 xrefs: // > @ 0x10c558 // > @ 0x10c780 // // This function is hookable on this platform! // // Using BromaIDA 8.0.0 @ https://github.com/Stazzical/BromaIDA // Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings // __int64 __fastcall sub_571A0(__int64 a1, float a2, float a3, float a4) { __int64 result; // x0 char v9; // zf int v10; // w8 _BYTE v11[4]; // [xsp+Ch] [xbp-24h] BYREF result = (*(__int64 (__fastcall **)(__int64, _BYTE *))(*(_QWORD *)a1 + 152LL))(a1, v11); if ( !(_DWORD)result ) { if ( (v11[0] & 0x10) != 0 ) { if ( (~LODWORD(a2) & 0x7F800000) != 0 && (((void (*)(void))loc_578B8)(), !v9) && (~LODWORD(a4) & 0x7F800000) != 0 ) { if ( a2 <= a3 ) { v10 = *(_DWORD *)(a1 + 72) | 4; *(float *)(a1 + 168) = a2; *(float *)(a1 + 172) = a3; *(float *)(a1 + 176) = fmaxf(fminf(a4, 1.0), 0.0); *(_DWORD *)(a1 + 72) = v10; return 0; } else { return 31; } } else { return 29; } } else { return 40; } } return result; }