; ; _raise_exc_ex from 0x1801333f8 to 0x180133705 (781 bytes) ; ; 4 xrefs: ; > _except2 @ 0x1801330dc ; > _raise_exc @ 0x1801333ed ; > _raise_excf @ 0x180133728 ; > @ 0x180203140 ; ; 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, 0x1801333f8 mov [rax+10h], rbx ; +0x3, 0x1801333fb mov [rax+18h], rsi ; +0x7, 0x1801333ff mov [rax+20h], rdi ; +0xb, 0x180133403 mov [rax+8], rcx ; +0xf, 0x180133407 push rbp ; +0x13, 0x18013340b mov rbp, rsp ; +0x14, 0x18013340c sub rsp, 20h ; +0x17, 0x18013340f mov rbx, rdx ; +0x1b, 0x180133413 mov esi, r9d ; +0x1e, 0x180133416 xor edx, edx ; +0x21, 0x180133419 mov edi, 0C000000Dh ; +0x23, 0x18013341b mov [rcx+4], edx ; +0x28, 0x180133420 mov rax, [rbp+Arguments] ; +0x2b, 0x180133423 mov [rax+8], edx ; +0x2f, 0x180133427 mov rax, [rbp+Arguments] ; +0x32, 0x18013342a mov [rax+0Ch], edx ; +0x36, 0x18013342e test r8b, 10h ; +0x39, 0x180133431 jz short loc_180133444 ; +0x3d, 0x180133435 mov rax, [rbp+Arguments] ; +0x3f, 0x180133437 mov edi, 0C000008Fh ; +0x43, 0x18013343b or dword ptr [rax+4], 1 ; +0x48, 0x180133440 test r8b, 2 ; +0x4c, 0x180133444 jz short loc_180133457 ; +0x50, 0x180133448 mov rax, [rbp+Arguments] ; +0x52, 0x18013344a mov edi, 0C0000093h ; +0x56, 0x18013344e or dword ptr [rax+4], 2 ; +0x5b, 0x180133453 test r8b, 1 ; +0x5f, 0x180133457 jz short loc_18013346A ; +0x63, 0x18013345b mov rax, [rbp+Arguments] ; +0x65, 0x18013345d mov edi, 0C0000091h ; +0x69, 0x180133461 or dword ptr [rax+4], 4 ; +0x6e, 0x180133466 test r8b, 4 ; +0x72, 0x18013346a jz short loc_18013347D ; +0x76, 0x18013346e mov rax, [rbp+Arguments] ; +0x78, 0x180133470 mov edi, 0C000008Eh ; +0x7c, 0x180133474 or dword ptr [rax+4], 8 ; +0x81, 0x180133479 test r8b, 8 ; +0x85, 0x18013347d jz short loc_180133490 ; +0x89, 0x180133481 mov rax, [rbp+Arguments] ; +0x8b, 0x180133483 mov edi, 0C0000090h ; +0x8f, 0x180133487 or dword ptr [rax+4], 10h ; +0x94, 0x18013348c mov rcx, [rbp+Arguments] ; +0x98, 0x180133490 mov rax, [rbx] ; +0x9c, 0x180133494 shr rax, 7 ; +0x9f, 0x180133497 shl eax, 4 ; +0xa3, 0x18013349b not eax ; +0xa6, 0x18013349e xor eax, [rcx+8] ; +0xa8, 0x1801334a0 and eax, 10h ; +0xab, 0x1801334a3 xor [rcx+8], eax ; +0xae, 0x1801334a6 mov rcx, [rbp+Arguments] ; +0xb1, 0x1801334a9 mov rax, [rbx] ; +0xb5, 0x1801334ad shr rax, 9 ; +0xb8, 0x1801334b0 shl eax, 3 ; +0xbc, 0x1801334b4 not eax ; +0xbf, 0x1801334b7 xor eax, [rcx+8] ; +0xc1, 0x1801334b9 and eax, 8 ; +0xc4, 0x1801334bc xor [rcx+8], eax ; +0xc7, 0x1801334bf mov rcx, [rbp+Arguments] ; +0xca, 0x1801334c2 mov rax, [rbx] ; +0xce, 0x1801334c6 shr rax, 0Ah ; +0xd1, 0x1801334c9 shl eax, 2 ; +0xd5, 0x1801334cd not eax ; +0xd8, 0x1801334d0 xor eax, [rcx+8] ; +0xda, 0x1801334d2 and eax, 4 ; +0xdd, 0x1801334d5 xor [rcx+8], eax ; +0xe0, 0x1801334d8 mov rcx, [rbp+Arguments] ; +0xe3, 0x1801334db mov rax, [rbx] ; +0xe7, 0x1801334df shr rax, 0Bh ; +0xea, 0x1801334e2 add eax, eax ; +0xee, 0x1801334e6 not eax ; +0xf0, 0x1801334e8 xor eax, [rcx+8] ; +0xf2, 0x1801334ea and eax, 2 ; +0xf5, 0x1801334ed xor [rcx+8], eax ; +0xf8, 0x1801334f0 mov eax, [rbx] ; +0xfb, 0x1801334f3 mov rcx, [rbp+Arguments] ; +0xfd, 0x1801334f5 shr rax, 0Ch ; +0x101, 0x1801334f9 not eax ; +0x105, 0x1801334fd xor eax, [rcx+8] ; +0x107, 0x1801334ff and eax, 1 ; +0x10a, 0x180133502 xor [rcx+8], eax ; +0x10d, 0x180133505 call _statfp ; +0x110, 0x180133508 mov rdx, rax ; +0x115, 0x18013350d test al, 1 ; +0x118, 0x180133510 jz short loc_18013351C ; +0x11a, 0x180133512 mov rcx, [rbp+Arguments] ; +0x11c, 0x180133514 or dword ptr [rcx+0Ch], 10h ; +0x120, 0x180133518 test dl, 4 ; +0x124, 0x18013351c jz short loc_180133529 ; +0x127, 0x18013351f mov rcx, [rbp+Arguments] ; +0x129, 0x180133521 or dword ptr [rcx+0Ch], 8 ; +0x12d, 0x180133525 test dl, 8 ; +0x131, 0x180133529 jz short loc_180133536 ; +0x134, 0x18013352c mov rax, [rbp+Arguments] ; +0x136, 0x18013352e or dword ptr [rax+0Ch], 4 ; +0x13a, 0x180133532 test dl, 10h ; +0x13e, 0x180133536 jz short loc_180133543 ; +0x141, 0x180133539 mov rax, [rbp+Arguments] ; +0x143, 0x18013353b or dword ptr [rax+0Ch], 2 ; +0x147, 0x18013353f test dl, 20h ; +0x14b, 0x180133543 jz short loc_180133550 ; +0x14e, 0x180133546 mov rax, [rbp+Arguments] ; +0x150, 0x180133548 or dword ptr [rax+0Ch], 1 ; +0x154, 0x18013354c mov eax, [rbx] ; +0x158, 0x180133550 mov ecx, 6000h ; +0x15a, 0x180133552 and rax, rcx ; +0x15f, 0x180133557 jz short loc_18013359A ; +0x162, 0x18013355a cmp rax, 2000h ; +0x164, 0x18013355c jz short loc_18013358A ; +0x16a, 0x180133562 cmp rax, 4000h ; +0x16c, 0x180133564 jz short loc_18013357A ; +0x172, 0x18013356a cmp rax, rcx ; +0x174, 0x18013356c jnz short loc_1801335A1 ; +0x177, 0x18013356f mov rax, [rbp+Arguments] ; +0x179, 0x180133571 or dword ptr [rax], 3 ; +0x17d, 0x180133575 jmp short loc_1801335A1 ; +0x180, 0x180133578 mov rax, [rbp+Arguments] ; +0x182, 0x18013357a and dword ptr [rax], 0FFFFFFFEh ; +0x186, 0x18013357e mov rax, [rbp+Arguments] ; +0x189, 0x180133581 or dword ptr [rax], 2 ; +0x18d, 0x180133585 jmp short loc_1801335A1 ; +0x190, 0x180133588 mov rax, [rbp+Arguments] ; +0x192, 0x18013358a and dword ptr [rax], 0FFFFFFFDh ; +0x196, 0x18013358e mov rax, [rbp+Arguments] ; +0x199, 0x180133591 or dword ptr [rax], 1 ; +0x19d, 0x180133595 jmp short loc_1801335A1 ; +0x1a0, 0x180133598 mov rax, [rbp+Arguments] ; +0x1a2, 0x18013359a and dword ptr [rax], 0FFFFFFFCh ; +0x1a6, 0x18013359e mov rax, [rbp+Arguments] ; +0x1a9, 0x1801335a1 and esi, 0FFFh ; +0x1ad, 0x1801335a5 shl esi, 5 ; +0x1b3, 0x1801335ab and dword ptr [rax], 0FFFE001Fh ; +0x1b6, 0x1801335ae mov rax, [rbp+Arguments] ; +0x1bc, 0x1801335b4 or [rax], esi ; +0x1c0, 0x1801335b8 mov rax, [rbp+Arguments] ; +0x1c2, 0x1801335ba mov rsi, [rbp+arg_28] ; +0x1c6, 0x1801335be or dword ptr [rax+20h], 1 ; +0x1ca, 0x1801335c2 cmp [rbp+arg_30], 0 ; +0x1ce, 0x1801335c6 jz short loc_1801335FF ; +0x1d2, 0x1801335ca mov rax, [rbp+Arguments] ; +0x1d4, 0x1801335cc mov edx, 0FFFFFFE1h ; +0x1d8, 0x1801335d0 and [rax+20h], edx ; +0x1dd, 0x1801335d5 mov rax, [rbp+arg_20] ; +0x1e0, 0x1801335d8 mov ecx, [rax] ; +0x1e4, 0x1801335dc mov rax, [rbp+Arguments] ; +0x1e6, 0x1801335de mov [rax+10h], ecx ; +0x1ea, 0x1801335e2 mov rax, [rbp+Arguments] ; +0x1ed, 0x1801335e5 or dword ptr [rax+60h], 1 ; +0x1f1, 0x1801335e9 mov rax, [rbp+Arguments] ; +0x1f5, 0x1801335ed and [rax+60h], edx ; +0x1f9, 0x1801335f1 mov rax, [rbp+Arguments] ; +0x1fc, 0x1801335f4 mov ecx, [rsi] ; +0x200, 0x1801335f8 mov [rax+50h], ecx ; +0x202, 0x1801335fa jmp short loc_180133647 ; +0x205, 0x1801335fd mov rcx, [rbp+Arguments] ; +0x207, 0x1801335ff mov r8d, 0FFFFFFE3h ; +0x20b, 0x180133603 mov eax, [rcx+20h] ; +0x211, 0x180133609 and eax, r8d ; +0x214, 0x18013360c or eax, 2 ; +0x217, 0x18013360f mov [rcx+20h], eax ; +0x21a, 0x180133612 mov rax, [rbp+arg_20] ; +0x21d, 0x180133615 mov rcx, [rax] ; +0x221, 0x180133619 mov rax, [rbp+Arguments] ; +0x224, 0x18013361c mov [rax+10h], rcx ; +0x228, 0x180133620 mov rax, [rbp+Arguments] ; +0x22c, 0x180133624 or dword ptr [rax+60h], 1 ; +0x230, 0x180133628 mov rdx, [rbp+Arguments] ; +0x234, 0x18013362c mov eax, [rdx+60h] ; +0x238, 0x180133630 and eax, r8d ; +0x23b, 0x180133633 or eax, 2 ; +0x23e, 0x180133636 mov [rdx+60h], eax ; +0x241, 0x180133639 mov rax, [rbp+Arguments] ; +0x244, 0x18013363c mov rdx, [rsi] ; +0x248, 0x180133640 mov [rax+50h], rdx ; +0x24b, 0x180133643 call _clrfp ; +0x24f, 0x180133647 xor edx, edx; dwExceptionFlags ; +0x254, 0x18013364c lea r9, [rbp+Arguments]; lpArguments ; +0x256, 0x18013364e mov ecx, edi; dwExceptionCode ; +0x25a, 0x180133652 lea r8d, [rdx+1]; nNumberOfArguments ; +0x25c, 0x180133654 call cs:RaiseException ; +0x260, 0x180133658 mov rcx, [rbp+Arguments] ; +0x266, 0x18013365e mov eax, [rcx+8] ; +0x26a, 0x180133662 test al, 10h ; +0x26d, 0x180133665 jz short loc_180133671 ; +0x26f, 0x180133667 btr qword ptr [rbx], 7 ; +0x271, 0x180133669 mov eax, [rcx+8] ; +0x276, 0x18013366e test al, 8 ; +0x279, 0x180133671 jz short loc_18013367D ; +0x27b, 0x180133673 btr qword ptr [rbx], 9 ; +0x27d, 0x180133675 mov eax, [rcx+8] ; +0x282, 0x18013367a test al, 4 ; +0x285, 0x18013367d jz short loc_180133689 ; +0x287, 0x18013367f btr qword ptr [rbx], 0Ah ; +0x289, 0x180133681 mov eax, [rcx+8] ; +0x28e, 0x180133686 test al, 2 ; +0x291, 0x180133689 jz short loc_180133695 ; +0x293, 0x18013368b btr qword ptr [rbx], 0Bh ; +0x295, 0x18013368d mov eax, [rcx+8] ; +0x29a, 0x180133692 test al, 1 ; +0x29d, 0x180133695 jz short loc_18013369E ; +0x29f, 0x180133697 btr qword ptr [rbx], 0Ch ; +0x2a1, 0x180133699 mov eax, [rcx] ; +0x2a6, 0x18013369e and eax, 3 ; +0x2a8, 0x1801336a0 jz short loc_1801336D5 ; +0x2ab, 0x1801336a3 sub eax, 1 ; +0x2ad, 0x1801336a5 jz short loc_1801336C9 ; +0x2b0, 0x1801336a8 sub eax, 1 ; +0x2b2, 0x1801336aa jz short loc_1801336BD ; +0x2b5, 0x1801336ad cmp eax, 1 ; +0x2b7, 0x1801336af jnz short loc_1801336DC ; +0x2ba, 0x1801336b2 or qword ptr [rbx], 6000h ; +0x2bc, 0x1801336b4 jmp short loc_1801336DC ; +0x2c3, 0x1801336bb btr qword ptr [rbx], 0Dh ; +0x2c5, 0x1801336bd bts qword ptr [rbx], 0Eh ; +0x2ca, 0x1801336c2 jmp short loc_1801336DC ; +0x2cf, 0x1801336c7 btr qword ptr [rbx], 0Eh ; +0x2d1, 0x1801336c9 bts qword ptr [rbx], 0Dh ; +0x2d6, 0x1801336ce jmp short loc_1801336DC ; +0x2db, 0x1801336d3 and qword ptr [rbx], 0FFFFFFFFFFFF9FFFh ; +0x2dd, 0x1801336d5 cmp [rbp+arg_30], 0 ; +0x2e4, 0x1801336dc jz short loc_1801336E9 ; +0x2e8, 0x1801336e0 mov eax, [rcx+50h] ; +0x2ea, 0x1801336e2 mov [rsi], eax ; +0x2ed, 0x1801336e5 jmp short loc_1801336F0 ; +0x2ef, 0x1801336e7 mov rax, [rcx+50h] ; +0x2f1, 0x1801336e9 mov [rsi], rax ; +0x2f5, 0x1801336ed mov rbx, [rsp+20h+arg_8] ; +0x2f8, 0x1801336f0 mov rsi, [rsp+20h+arg_10] ; +0x2fd, 0x1801336f5 mov rdi, [rsp+20h+arg_18] ; +0x302, 0x1801336fa add rsp, 20h ; +0x307, 0x1801336ff pop rbp ; +0x30b, 0x180133703 retn ; +0x30c, 0x180133704