// // FMOD_Memory_GetStats from 0x1800c60e0 to 0x1800c61ce (238 bytes) // // 4 xrefs: // > FMOD5_Memory_GetStats @ 0x1800f44b0 // > sub_180107460 @ 0x1801074bf // > @ 0x180194348 // > @ 0x1801fdfec // // 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 FMOD_Memory_GetStats(_DWORD *a1, _DWORD *a2, int a3) { __int64 v5; // rsi __int64 v6; // rdi __int64 v7; // rbx __int64 v8; // rdx unsigned int v9; // ebp if ( !a3 ) { LABEL_10: if ( a1 ) *a1 = *(_DWORD *)(*((_QWORD *)off_1801AED20 + 52) + 56LL); if ( a2 ) *a2 = *(_DWORD *)(*((_QWORD *)off_1801AED20 + 52) + 60LL); return 0; } v5 = 352; while ( 1 ) { v6 = *(_QWORD *)((char *)off_1801AED20 + v5); if ( !v6 || !*(_BYTE *)(v6 + 8) ) goto LABEL_9; v7 = 0; v9 = sub_1801021E0(*(_QWORD *)((char *)off_1801AED20 + v5)); if ( v9 ) break; LOBYTE(v8) = 1; v7 = v6; v9 = sub_1800FC980(v6, v8); if ( v9 ) break; v9 = sub_1800FCEA0(v6); if ( v9 ) goto LABEL_16; sub_180102320(v6); LABEL_9: v5 += 8; if ( v5 >= 416 ) goto LABEL_10; } if ( !v7 ) return v9; LABEL_16: sub_180102320(v7); return v9; }