// // _handle_errorf from 0x180133b54 to 0x180133c87 (307 bytes) // // 7 xrefs: // > acosf @ 0x180127710 // > asinf @ 0x180130c48 // > _logf_special_common @ 0x180133ed2 // > _powf_special @ 0x180134062 // > _sincosf_special @ 0x180136aaf // > _expf_special @ 0x180138d8d // > @ 0x1802031c4 // // 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 // float __fastcall handle_errorf( __int64 a1, __int16 a2, int a3, int a4, char a5, unsigned int a6, float a7, float a8, int a9) { BOOL v13; // eax float v14; // xmm6_4 __int64 v16; // [rsp+48h] [rbp-A1h] BYREF __int64 v17; // [rsp+50h] [rbp-99h] BYREF int v18; // [rsp+58h] [rbp-91h] _DWORD v19[16]; // [rsp+68h] [rbp-81h] BYREF unsigned int v20; // [rsp+A8h] [rbp-41h] v17 = ctrlfp(8064, 65472); v18 = a3; LODWORD(v16) = a3; v13 = exception_enabled(a5, v17); v14 = a8; if ( !v13 ) { if ( a9 == 2 ) { *(float *)&v19[12] = a8; v20 = v20 & 0xFFFFFFE0 | 1; } raise_excf((ULONG_PTR)v19, &v17, a5, a2, &a7, &v16); } if ( (unsigned __int8)_acrt_has_user_matherr() && a4 ) return call_matherr(a4, a6, a1, a7, COERCE__INT64(v14), *(float *)&v16, v17); set_errno_from_matherr(a4); ctrlfp(v17, 65472); return *(float *)&v16; }