// // sub_5A364 from 0x5a364 to 0x5a494 (304 bytes) // // 4 xrefs: // > sub_59AE8 @ 0x59c50 // > sub_6E374 @ 0x6e3f8 // > sub_7C19C @ 0x7c490 // > sub_7C19C @ 0x7c650 // // 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_5A364(__int64 a1, __int64 a2, __int64 a3, char a4, char a5, char a6) { __int64 v6; // x8 __int64 result; // x0 float v13; // s0 v6 = *(_QWORD *)(a1 + 472); if ( !v6 ) return 30; if ( !a3 && (*(_BYTE *)(v6 + 62) & 1) == 0 ) sub_5C678(a1); result = sub_5C618(a1); if ( !(_DWORD)result ) { result = sub_5AF44(a1, a2, a5 & 1); if ( !(_DWORD)result ) { result = sub_5C54C(); if ( !(_DWORD)result ) { v13 = 1.0; if ( (a6 & 1) != 0 ) v13 = 0.0; *(float *)(a1 + 536) = v13; *(float *)(a1 + 540) = v13; if ( (a5 & 1) == 0 || (result = sub_595BC(), !(_DWORD)result) && (result = sub_5A918(a1, 0, 2), !(_DWORD)result) ) { result = sub_5AF2C(a1); if ( !(_DWORD)result ) { if ( (a5 & 1) != 0 ) result = sub_5C658(); if ( (a4 & 1) != 0 ) return 0; result = sub_5C624(result); if ( !(_DWORD)result ) return 0; } } } } } return result; }