// // sub_5382C from 0x5382c to 0x538a0 (116 bytes) // // 1 xrefs: // > @ 0x10c278 // // 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 // _QWORD *__fastcall sub_5382C(__int64 a1, long double a2, double a3, long double a4) { long double v4; // q1 _QWORD *v5; // x8 v4 = a2; LODWORD(a2) = *(_DWORD *)(a1 + 100); *(float *)&v4 = (float)((float)(1.0 - *(float *)(*(_QWORD *)(a1 + 24) + 240LL)) + (float)(*(float *)(*(_QWORD *)(a1 + 24) + 124LL) * *(float *)(*(_QWORD *)(a1 + 24) + 240LL))) * *(float *)&v4; if ( *(float *)&v4 <= *(float *)&a2 ) { LODWORD(a4) = *(_DWORD *)(a1 + 104); a2 = v4; if ( *(float *)&v4 < *(float *)&a4 ) a2 = a4; } v5 = *(_QWORD **)(a1 + 744); if ( v5 ) return (*(_QWORD *(__fastcall **)(_QWORD *__return_ptr, _QWORD *, long double, long double))(*v5 + 56LL))( v5, v5, a2, v4); v5 = *(_QWORD **)(a1 + 736); if ( v5 ) return (*(_QWORD *(__fastcall **)(_QWORD *__return_ptr, _QWORD *, long double, long double))(*v5 + 56LL))( v5, v5, a2, v4); if ( *(_QWORD *)(a1 + 664) ) return (_QWORD *)sub_C7440(a1 + 112, a2, v4); return nullptr; }