; ; _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 ; mov rax, rsp ; +0x0, 0x180133a2c push rbp ; +0x3, 0x180133a2f push rbx ; +0x4, 0x180133a30 push rsi ; +0x5, 0x180133a31 push rdi ; +0x6, 0x180133a32 push r14 ; +0x7, 0x180133a33 lea rbp, [rax-37h] ; +0x9, 0x180133a35 sub rsp, 0F0h ; +0xd, 0x180133a39 movaps xmmword ptr [rax-38h], xmm6 ; +0x14, 0x180133a40 mov rax, cs:__security_cookie ; +0x18, 0x180133a44 xor rax, rsp ; +0x1f, 0x180133a4b mov [rbp+2Fh+var_40], rax ; +0x22, 0x180133a4e mov esi, edx ; +0x26, 0x180133a52 mov r14, rcx ; +0x28, 0x180133a54 mov edx, 0FFC0h ; +0x2b, 0x180133a57 mov ecx, 1F80h ; +0x30, 0x180133a5c mov edi, r9d ; +0x35, 0x180133a61 mov rbx, r8 ; +0x38, 0x180133a64 call _ctrlfp ; +0x3b, 0x180133a67 mov ecx, [rbp+2Fh+arg_20] ; +0x40, 0x180133a6c mov [rsp+110h+var_D0], rax ; +0x43, 0x180133a6f mov [rsp+110h+var_C8+8], rbx ; +0x48, 0x180133a74 movsd xmm0, [rsp+110h+var_C8+8] ; +0x4d, 0x180133a79 mov rdx, [rsp+110h+var_D0] ; +0x53, 0x180133a7f movsd [rsp+110h+var_C8], xmm0 ; +0x58, 0x180133a84 call _exception_enabled ; +0x5e, 0x180133a8a movsd xmm6, [rbp+2Fh+arg_38] ; +0x63, 0x180133a8f test eax, eax ; +0x68, 0x180133a94 jnz short loc_180133AD8 ; +0x6a, 0x180133a96 cmp [rbp+2Fh+arg_40], 2 ; +0x6c, 0x180133a98 jnz short loc_180133AAF ; +0x70, 0x180133a9c mov eax, [rbp+2Fh+var_70] ; +0x72, 0x180133a9e and eax, 0FFFFFFE3h ; +0x75, 0x180133aa1 movsd [rbp+2Fh+var_80], xmm6 ; +0x78, 0x180133aa4 or eax, 3 ; +0x7d, 0x180133aa9 mov [rbp+2Fh+var_70], eax ; +0x80, 0x180133aac mov r8d, [rbp+2Fh+arg_20] ; +0x83, 0x180133aaf lea rax, [rsp+110h+var_C8] ; +0x87, 0x180133ab3 mov [rsp+110h+var_E8], rax ; +0x8c, 0x180133ab8 lea rdx, [rsp+110h+var_D0] ; +0x91, 0x180133abd lea rax, [rbp+2Fh+arg_30] ; +0x96, 0x180133ac2 mov r9d, esi ; +0x9a, 0x180133ac6 lea rcx, [rsp+60h] ; +0x9d, 0x180133ac9 mov [rsp+110h+var_F0], rax ; +0xa2, 0x180133ace call _raise_exc ; +0xa7, 0x180133ad3 call __acrt_has_user_matherr ; +0xac, 0x180133ad8 test al, al ; +0xb1, 0x180133add jz short loc_180133B15 ; +0xb3, 0x180133adf test edi, edi ; +0xb5, 0x180133ae1 jz short loc_180133B15 ; +0xb7, 0x180133ae3 mov rax, [rsp+110h+var_D0] ; +0xb9, 0x180133ae5 mov r8, r14 ; +0xbe, 0x180133aea movsd xmm0, [rsp+110h+var_C8] ; +0xc1, 0x180133aed mov ecx, edi ; +0xc7, 0x180133af3 movsd xmm3, [rbp+2Fh+arg_30] ; +0xc9, 0x180133af5 mov edx, [rbp+2Fh+arg_28] ; +0xce, 0x180133afa mov [rsp+30h], rax ; +0xd1, 0x180133afd movsd [rsp+110h+var_E8], xmm0 ; +0xd6, 0x180133b02 movsd [rsp+110h+var_F0], xmm6 ; +0xdc, 0x180133b08 call _call_matherr ; +0xe2, 0x180133b0e jmp short loc_180133B31 ; +0xe7, 0x180133b13 mov ecx, edi ; +0xe9, 0x180133b15 call _set_errno_from_matherr ; +0xeb, 0x180133b17 mov rcx, [rsp+110h+var_D0] ; +0xf0, 0x180133b1c mov edx, 0FFC0h ; +0xf5, 0x180133b21 call _ctrlfp ; +0xfa, 0x180133b26 movsd xmm0, [rsp+110h+var_C8] ; +0xff, 0x180133b2b mov rcx, [rbp+2Fh+var_40] ; +0x105, 0x180133b31 xor rcx, rsp; StackCookie ; +0x109, 0x180133b35 call __security_check_cookie ; +0x10c, 0x180133b38 movaps xmm6, [rsp+110h+var_38+8] ; +0x111, 0x180133b3d add rsp, 0F0h ; +0x119, 0x180133b45 pop r14 ; +0x120, 0x180133b4c pop rdi ; +0x122, 0x180133b4e pop rsi ; +0x123, 0x180133b4f pop rbx ; +0x124, 0x180133b50 pop rbp ; +0x125, 0x180133b51 retn ; +0x126, 0x180133b52