// // _handle_error from 0x180133a2c to 0x180133b53 (295 bytes) // // 2 xrefs: // > _log_special_common @ 0x180133e14 // > @ 0x1802031b8 // // 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 // double __fastcall handle_error( __int64 a1, int a2, __int64 a3, int a4, int a5, unsigned int a6, double a7, __int64 a8, int a9) { BOOL v13; // eax __int64 v14; // xmm6_8 __int64 v16; // [rsp+48h] [rbp-A1h] BYREF double v17[2]; // [rsp+50h] [rbp-99h] BYREF _QWORD v18[8]; // [rsp+68h] [rbp-81h] BYREF unsigned int v19; // [rsp+A8h] [rbp-41h] v16 = ctrlfp(8064, 65472); *(_QWORD *)&v17[1] = a3; *(_QWORD *)&v17[0] = a3; v13 = exception_enabled(a5, v16); v14 = a8; if ( !v13 ) { if ( a9 == 2 ) { v18[6] = a8; v19 = v19 & 0xFFFFFFE0 | 3; } raise_exc((int)v18, (int)&v16, a5, a2, (__int64)&a7, (__int64)v17); } if ( (unsigned __int8)_acrt_has_user_matherr() && a4 ) return call_matherr(a4, a6, a1, a7, v14, v17[0], v16); set_errno_from_matherr(a4); ctrlfp(v16, 65472); return v17[0]; }