// // sub_5B6D4 from 0x5b6d4 to 0x5b790 (188 bytes) // // 2 xrefs: // > sub_922A0 @ 0x925a8 // > @ 0x10c640 // // 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_5B6D4(__int64 a1, __int64 a2, float a3) { __int64 v4; // x0 char v5; // w1 long double v6; // q0 char v7; // zf __int64 result; // x0 __int64 v9; // x20 __int64 v10; // x0 float v11; // s9 char v12; // w19 v4 = sub_5C748(a1, a2); if ( v7 ) return 29; v9 = v4; v10 = *(_QWORD *)(v4 + 472); if ( !v10 || !*(_QWORD *)(v9 + 112) ) return 30; v11 = *(float *)(v9 + 48); *(float *)(v9 + 48) = a3; LODWORD(v6) = 0; v12 = v5; if ( (*(_DWORD *)(v9 + 72) & 2) == 0 ) *(float *)&v6 = a3; result = (*(__int64 (__fastcall **)(__int64, long double))(*(_QWORD *)v10 + 104LL))(v10, v6); if ( !(_DWORD)result ) { if ( v11 == a3 && (v12 & 1) == 0 ) return 0; if ( (*(_BYTE *)(*(_QWORD *)(v9 + 472) + 62LL) & 1) != 0 ) return 0; result = sub_55DCC((__int64 *)v9, 0, 0, v12 & 1); if ( !(_DWORD)result ) return 0; } return result; }