// // sub_56B28 from 0x56b28 to 0x56c04 (220 bytes) // // 5 xrefs: // > sub_8F210 @ 0x90f68 // > sub_8F210 @ 0x90fac // > sub_91A84 @ 0x91a8c // > @ 0x10c518 // > @ 0x10c740 // // 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_56B28(_QWORD *a1, int a2, _QWORD *a3) { __int64 v3; // x24 __int64 v5; // x22 __int64 v6; // x23 __int64 result; // x0 int v11; // [xsp+Ch] [xbp-34h] BYREF v11 = 0; if ( !a3 ) return 31; v3 = a1[12]; if ( !v3 ) return 9; v6 = a1[13]; v5 = a1[14]; result = (*(__int64 (__fastcall **)(_QWORD *, int *))(*a1 + 296LL))(a1, &v11); if ( (_DWORD)result ) return result; if ( (unsigned int)(a2 + 1) <= 1 ) { *a3 = v3; return 0; } if ( a2 == -3 || v11 - 1 == a2 ) { *a3 = v6; return 0; } if ( a2 == -2 ) { *a3 = v5; return 0; } if ( v11 <= a2 ) return 9; *a3 = *(_QWORD *)(a1[2] + 8LL * a2); return 0; }