// // FMOD::ChannelControl::addFadePoint from 0x18000a3f0 to 0x18000a52a (314 bytes) // // 6 xrefs: // > FMOD_ChannelGroup_AddFadePoint @ 0x1800c4e29 // > FMOD_Channel_AddFadePoint @ 0x1800c5409 // > @ 0x18017e074 // > @ 0x18017e0a8 // > @ 0x180194348 // > @ 0x1801f64d4 // // 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::ChannelControl::addFadePoint(__int64 a1, __int64 a2) { int v3; // ebp unsigned int v4; // esi int v5; // ebx int v6; // eax __int64 v8; // [rsp+30h] [rbp-148h] BYREF __int64 v9; // [rsp+38h] [rbp-140h] BYREF _BYTE v10[256]; // [rsp+40h] [rbp-138h] BYREF v8 = 0; v3 = a1; v4 = sub_180012360(a1, &v9, &v8); if ( v4 || (a2 <<= 20, (v4 = (*(__int64 (__fastcall **)(__int64, __int64))(*(_QWORD *)v9 + 240LL))(v9, a2)) != 0) ) { if ( *((char *)off_1801AED20 + 16) < 0 ) { v5 = sub_1800F3310(v10, 256, a2); v6 = sub_1800F2F70(&v10[v5]); sub_1800F2F20(&v10[v6 + v5], (unsigned int)(256 - (v6 + v5))); sub_1800B20E0(v4, 4, v3, (unsigned int)"ChannelControl::addFadePoint", (__int64)v10); } } if ( v8 ) sub_180102320(); return v4; }