; ; _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 ; mov rax, rsp ; +0x0, 0x180133b54 push rbp ; +0x3, 0x180133b57 push rbx ; +0x4, 0x180133b58 push rsi ; +0x5, 0x180133b59 push rdi ; +0x6, 0x180133b5a push r14 ; +0x7, 0x180133b5b lea rbp, [rax-37h] ; +0x9, 0x180133b5d sub rsp, 0F0h ; +0xd, 0x180133b61 movaps xmmword ptr [rax-38h], xmm6 ; +0x14, 0x180133b68 mov rax, cs:__security_cookie ; +0x18, 0x180133b6c xor rax, rsp ; +0x1f, 0x180133b73 mov [rbp+2Fh+var_40], rax ; +0x22, 0x180133b76 mov esi, edx ; +0x26, 0x180133b7a mov r14, rcx ; +0x28, 0x180133b7c mov edx, 0FFC0h ; +0x2b, 0x180133b7f mov ecx, 1F80h ; +0x30, 0x180133b84 mov edi, r9d ; +0x35, 0x180133b89 mov rbx, r8 ; +0x38, 0x180133b8c call _ctrlfp ; +0x3b, 0x180133b8f mov ecx, dword ptr [rbp+2Fh+arg_20] ; +0x40, 0x180133b94 mov [rsp+110h+var_C8], rax ; +0x43, 0x180133b97 mov [rsp+110h+var_C0], ebx ; +0x48, 0x180133b9c movss xmm0, [rsp+110h+var_C0] ; +0x4c, 0x180133ba0 mov rdx, [rsp+110h+var_C8] ; +0x52, 0x180133ba6 movss dword ptr [rsp+110h+var_D0], xmm0 ; +0x57, 0x180133bab call _exception_enabled ; +0x5d, 0x180133bb1 movss xmm6, [rbp+2Fh+arg_38] ; +0x62, 0x180133bb6 test eax, eax ; +0x67, 0x180133bbb jnz short loc_180133BFF ; +0x69, 0x180133bbd cmp [rbp+2Fh+arg_40], 2 ; +0x6b, 0x180133bbf jnz short loc_180133BD6 ; +0x6f, 0x180133bc3 mov eax, [rbp+2Fh+var_70] ; +0x71, 0x180133bc5 and eax, 0FFFFFFE1h ; +0x74, 0x180133bc8 movss [rbp+2Fh+var_80], xmm6 ; +0x77, 0x180133bcb or eax, 1 ; +0x7c, 0x180133bd0 mov [rbp+2Fh+var_70], eax ; +0x7f, 0x180133bd3 mov r8d, dword ptr [rbp+2Fh+arg_20] ; +0x82, 0x180133bd6 lea rax, [rsp+110h+var_D0] ; +0x86, 0x180133bda mov [rsp+110h+var_E8], rax ; +0x8b, 0x180133bdf lea rdx, [rsp+110h+var_C8] ; +0x90, 0x180133be4 lea rax, [rbp+2Fh+arg_30] ; +0x95, 0x180133be9 mov r9d, esi ; +0x99, 0x180133bed lea rcx, [rsp+60h] ; +0x9c, 0x180133bf0 mov [rsp+110h+var_F0], rax ; +0xa1, 0x180133bf5 call _raise_excf ; +0xa6, 0x180133bfa call __acrt_has_user_matherr ; +0xab, 0x180133bff test al, al ; +0xb0, 0x180133c04 jz short loc_180133C49 ; +0xb2, 0x180133c06 test edi, edi ; +0xb4, 0x180133c08 jz short loc_180133C49 ; +0xb6, 0x180133c0a movss xmm0, dword ptr [rsp+110h+var_D0] ; +0xb8, 0x180133c0c mov r8, r14 ; +0xbe, 0x180133c12 movss xmm3, [rbp+2Fh+arg_30] ; +0xc1, 0x180133c15 mov ecx, edi ; +0xc6, 0x180133c1a mov rax, [rsp+110h+var_C8] ; +0xc8, 0x180133c1c mov edx, [rbp+2Fh+arg_28] ; +0xcd, 0x180133c21 mov [rsp+30h], rax ; +0xd0, 0x180133c24 cvtps2pd xmm0, xmm0 ; +0xd5, 0x180133c29 cvtps2pd xmm1, xmm6 ; +0xd8, 0x180133c2c movsd [rsp+110h+var_E8], xmm0 ; +0xdb, 0x180133c2f cvtps2pd xmm3, xmm3 ; +0xe1, 0x180133c35 movsd [rsp+110h+var_F0], xmm1 ; +0xe4, 0x180133c38 call _call_matherr ; +0xea, 0x180133c3e cvtsd2ss xmm0, xmm0 ; +0xef, 0x180133c43 jmp short loc_180133C65 ; +0xf3, 0x180133c47 mov ecx, edi ; +0xf5, 0x180133c49 call _set_errno_from_matherr ; +0xf7, 0x180133c4b mov rcx, [rsp+110h+var_C8] ; +0xfc, 0x180133c50 mov edx, 0FFC0h ; +0x101, 0x180133c55 call _ctrlfp ; +0x106, 0x180133c5a movss xmm0, dword ptr [rsp+110h+var_D0] ; +0x10b, 0x180133c5f mov rcx, [rbp+2Fh+var_40] ; +0x111, 0x180133c65 xor rcx, rsp; StackCookie ; +0x115, 0x180133c69 call __security_check_cookie ; +0x118, 0x180133c6c movaps xmm6, [rsp+110h+var_38+8] ; +0x11d, 0x180133c71 add rsp, 0F0h ; +0x125, 0x180133c79 pop r14 ; +0x12c, 0x180133c80 pop rdi ; +0x12e, 0x180133c82 pop rsi ; +0x12f, 0x180133c83 pop rbx ; +0x130, 0x180133c84 pop rbp ; +0x131, 0x180133c85 retn ; +0x132, 0x180133c86