// // sub_54AD8 from 0x54ad8 to 0x54b70 (152 bytes) // // 1 xrefs: // > @ 0x10c390 // // 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_54AD8(__int64 a1, unsigned int a2, unsigned int a3) { char v6; // w8 __int64 result; // x0 if ( !*(_QWORD *)(a1 + 192) ) return 30; if ( (unsigned int)((__int64 (*)(void))loc_525F4)() ) return 0; if ( (*(unsigned int (__fastcall **)(_QWORD, _QWORD, __int64, _QWORD, __int64))(**(_QWORD **)(a1 + 40) + 312LL))( *(_QWORD *)(a1 + 40), a2, 2, a2 + a3 - 1, 2) ) { return 0; } v6 = atomic_load((unsigned int *)(*(_QWORD *)(a1 + 40) + 88LL)); if ( (v6 & 0x80) == 0 ) return 0; result = (*(__int64 (__fastcall **)(_QWORD, _QWORD, _QWORD))(**(_QWORD **)(a1 + 192) + 144LL))( *(_QWORD *)(a1 + 192), a2, a3); if ( !(_DWORD)result ) return 0; return result; }