// // sub_5AB48 from 0x5ab48 to 0x5abf0 (168 bytes) // // 3 xrefs: // > sub_60028 @ 0x600fc // > sub_6C64C @ 0x6cc94 // > sub_93B20 @ 0x93dc8 // // 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_5AB48(__int64 a1, int a2, __int64 a3) { __int64 v4; // x8 __int64 v5; // x0 __int128 v6; // q1 __int128 v7; // q2 __int128 v8; // q3 __int64 result; // x0 __int64 v10; // x8 unsigned int *v11; // x8 unsigned int v12; // w9 _QWORD v13[2]; // [xsp+0h] [xbp-50h] BYREF __int128 v14; // [xsp+10h] [xbp-40h] __int128 v15; // [xsp+20h] [xbp-30h] __int128 v16; // [xsp+30h] [xbp-20h] __int64 v17; // [xsp+48h] [xbp-8h] BYREF v17 = 0; *(_DWORD *)(a1 + 464) = a2; *(_QWORD *)(a1 + 8) = a3; v4 = (*(_DWORD *)(a3 + 69816) << 29) | ((a2 & 0xFFF) << 17) | 2u; *(_QWORD *)(a1 + 80) = v4; *(_DWORD *)(a1 + 468) = v4; v5 = sub_B0DA8(); v6 = *(_OWORD *)(v5 + 16); v7 = *(_OWORD *)(v5 + 32); v8 = *(_OWORD *)(v5 + 48); v13[0] = *(_QWORD *)v5; v14 = v6; v15 = v7; v16 = v8; v13[1] = "Channel Fader"; result = sub_77040(*(_QWORD *)(a1 + 8), v13, 0, &v17, 0); if ( !(_DWORD)result ) { v10 = v17; *(_QWORD *)(a1 + 104) = v17; *(_QWORD *)(a1 + 112) = v10; *(_QWORD *)(a1 + 96) = v10; v11 = (unsigned int *)(v10 + 100); do v12 = __ldaxr(v11); while ( __stlxr(v12 | 0x60, v11) ); } return result; }