// // sub_588B4 from 0x588b4 to 0x58970 (188 bytes) // // 1 xrefs: // > @ 0x10c4a0 // // 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_588B4(__int64 a1, bool *a2) { int v2; // w22 unsigned int i; // w21 __int64 result; // x0 int v7; // w21 unsigned int j; // w22 FMOD::ChannelControl *v9; // [xsp+8h] [xbp-28h] BYREF *a2 = 0; v2 = *(_DWORD *)(a1 + 476); for ( i = 0; (int)i < v2; ++i ) { result = sub_58984(a1, i, &v9); if ( (_DWORD)result ) return result; FMOD::ChannelControl::isPlaying(v9, a2); if ( *a2 ) return 0; } v7 = sub_59188(a1 + 400); for ( j = 0; (int)j < v7; ++j ) { result = sub_589FC(a1, j, &v9); if ( (_DWORD)result ) return result; result = (*(__int64 (__fastcall **)(FMOD::ChannelControl *, bool *))(*(_QWORD *)v9 + 168LL))(v9, a2); if ( (_DWORD)result ) return result; if ( *a2 ) return 0; } return 0; }