; ; raise from 0x180139634 to 0x18013989e (618 bytes) ; ; 3 xrefs: ; > common_assert_to_message_box @ 0x180130ebe ; > abort @ 0x180132ab7 ; > @ 0x1802037f4 ; ; 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 [rsp+arg_18], rbx ; +0x0, 0x180139634 push rsi ; +0x5, 0x180139639 push rdi ; +0x6, 0x18013963a push r12 ; +0x7, 0x18013963b push r13 ; +0x9, 0x18013963d push r14 ; +0xb, 0x18013963f sub rsp, 40h ; +0xd, 0x180139641 mov ebx, ecx ; +0x11, 0x180139645 xor r13d, r13d ; +0x13, 0x180139647 and [rsp+68h+arg_8], r13d ; +0x16, 0x18013964a mov r14b, 1 ; +0x1b, 0x18013964f mov [rsp+68h+arg_0], r14b ; +0x1e, 0x180139652 cmp ecx, 2 ; +0x23, 0x180139657 jz short loc_18013967D ; +0x26, 0x18013965a cmp ecx, 4 ; +0x28, 0x18013965c jz short loc_1801396AD ; +0x2b, 0x18013965f cmp ecx, 6 ; +0x2d, 0x180139661 jz short loc_18013967D ; +0x30, 0x180139664 cmp ecx, 8 ; +0x32, 0x180139666 jz short loc_1801396AD ; +0x35, 0x180139669 cmp ecx, 0Bh ; +0x37, 0x18013966b jz short loc_1801396AD ; +0x3a, 0x18013966e cmp ecx, 0Fh ; +0x3c, 0x180139670 jz short loc_18013967D ; +0x3f, 0x180139673 lea eax, [rcx-15h] ; +0x41, 0x180139675 cmp eax, 1 ; +0x44, 0x180139678 ja short loc_1801396FA ; +0x47, 0x18013967b sub ecx, 2 ; +0x49, 0x18013967d jz loc_180139735 ; +0x4c, 0x180139680 sub ecx, 4 ; +0x52, 0x180139686 jz loc_18013971A ; +0x55, 0x180139689 sub ecx, 9 ; +0x5b, 0x18013968f jz loc_18013972C ; +0x5e, 0x180139692 sub ecx, 6 ; +0x64, 0x180139698 jz loc_180139723 ; +0x67, 0x18013969b cmp ecx, 1 ; +0x6d, 0x1801396a1 jz short loc_18013971A ; +0x70, 0x1801396a4 xor edi, edi ; +0x72, 0x1801396a6 jmp loc_18013973C ; +0x74, 0x1801396a8 call __acrt_getptd_noexit ; +0x79, 0x1801396ad mov r13, rax ; +0x7e, 0x1801396b2 test rax, rax ; +0x81, 0x1801396b5 jnz short loc_1801396D2 ; +0x84, 0x1801396b8 or eax, 0FFFFFFFFh ; +0x86, 0x1801396ba mov rbx, [rsp+68h+arg_18] ; +0x89, 0x1801396bd add rsp, 40h ; +0x91, 0x1801396c5 pop r14 ; +0x95, 0x1801396c9 pop r13 ; +0x97, 0x1801396cb pop r12 ; +0x99, 0x1801396cd pop rdi ; +0x9b, 0x1801396cf pop rsi ; +0x9c, 0x1801396d0 retn ; +0x9d, 0x1801396d1 mov rax, [rax] ; +0x9e, 0x1801396d2 mov rcx, cs:qword_180173030 ; +0xa1, 0x1801396d5 shl rcx, 4 ; +0xa8, 0x1801396dc add rcx, rax ; +0xac, 0x1801396e0 jmp short loc_1801396EE ; +0xaf, 0x1801396e3 cmp [rax+4], ebx ; +0xb1, 0x1801396e5 jz short loc_1801396F5 ; +0xb4, 0x1801396e8 add rax, 10h ; +0xb6, 0x1801396ea cmp rax, rcx ; +0xba, 0x1801396ee jnz short loc_1801396E5 ; +0xbd, 0x1801396f1 xor eax, eax ; +0xbf, 0x1801396f3 test rax, rax ; +0xc1, 0x1801396f5 jnz short loc_18013970C ; +0xc4, 0x1801396f8 call _errno ; +0xc6, 0x1801396fa mov dword ptr [rax], 16h ; +0xcb, 0x1801396ff call _invalid_parameter_noinfo ; +0xd1, 0x180139705 jmp short loc_1801396BA ; +0xd6, 0x18013970a lea rdi, [rax+8] ; +0xd8, 0x18013970c xor r14b, r14b ; +0xdc, 0x180139710 mov [rsp+68h+arg_0], r14b ; +0xdf, 0x180139713 jmp short loc_18013973C ; +0xe4, 0x180139718 lea rdi, qword_1801F55B0 ; +0xe6, 0x18013971a jmp short loc_18013973C ; +0xed, 0x180139721 lea rdi, qword_1801F55A8 ; +0xef, 0x180139723 jmp short loc_18013973C ; +0xf6, 0x18013972a lea rdi, qword_1801F55B8 ; +0xf8, 0x18013972c jmp short loc_18013973C ; +0xff, 0x180139733 lea rdi, qword_1801F55A0 ; +0x101, 0x180139735 and [rsp+68h+arg_10], 0 ; +0x108, 0x18013973c test r14b, r14b ; +0x111, 0x180139745 jz short loc_180139755 ; +0x114, 0x180139748 mov ecx, 3 ; +0x116, 0x18013974a call sub_1801346AC ; +0x11b, 0x18013974f nop ; +0x120, 0x180139754 mov rsi, [rdi] ; +0x121, 0x180139755 test r14b, r14b ; +0x124, 0x180139758 jz short loc_18013976F ; +0x127, 0x18013975b mov rax, cs:__security_cookie ; +0x129, 0x18013975d mov ecx, eax ; +0x130, 0x180139764 and ecx, 3Fh ; +0x132, 0x180139766 xor rsi, rax ; +0x135, 0x180139769 ror rsi, cl ; +0x138, 0x18013976c cmp rsi, 1 ; +0x13b, 0x18013976f jz loc_18013980D ; +0x13f, 0x180139773 test rsi, rsi ; +0x145, 0x180139779 jz loc_180139885 ; +0x148, 0x18013977c mov r12d, 910h ; +0x14e, 0x180139782 cmp ebx, 0Bh ; +0x154, 0x180139788 ja short loc_1801397CA ; +0x157, 0x18013978b bt r12d, ebx ; +0x159, 0x18013978d jnb short loc_1801397CA ; +0x15d, 0x180139791 mov rax, [r13+8] ; +0x15f, 0x180139793 mov [rsp+68h+arg_10], rax ; +0x163, 0x180139797 mov [rsp+68h+var_38], rax ; +0x16b, 0x18013979f and qword ptr [r13+8], 0 ; +0x170, 0x1801397a4 cmp ebx, 8 ; +0x175, 0x1801397a9 jnz short loc_180139801 ; +0x178, 0x1801397ac call __acrt_getptd ; +0x17a, 0x1801397ae mov eax, [rax+10h] ; +0x17f, 0x1801397b3 mov [rsp+68h+arg_8], eax ; +0x182, 0x1801397b6 mov [rsp+68h+var_48], eax ; +0x186, 0x1801397ba call __acrt_getptd ; +0x18a, 0x1801397be mov dword ptr [rax+10h], 8Ch ; +0x18f, 0x1801397c3 cmp ebx, 8 ; +0x196, 0x1801397ca jnz short loc_180139801 ; +0x199, 0x1801397cd mov rax, cs:qword_180173038 ; +0x19b, 0x1801397cf shl rax, 4 ; +0x1a2, 0x1801397d6 add rax, [r13+0] ; +0x1a6, 0x1801397da mov rcx, cs:qword_180173040 ; +0x1aa, 0x1801397de shl rcx, 4 ; +0x1b1, 0x1801397e5 add rcx, rax ; +0x1b5, 0x1801397e9 mov [rsp+68h+var_40], rax ; +0x1b8, 0x1801397ec cmp rax, rcx ; +0x1bd, 0x1801397f1 jz short loc_180139813 ; +0x1c0, 0x1801397f4 and qword ptr [rax+8], 0 ; +0x1c2, 0x1801397f6 add rax, 10h ; +0x1c7, 0x1801397fb jmp short loc_1801397EC ; +0x1cb, 0x1801397ff mov rax, cs:__security_cookie ; +0x1cd, 0x180139801 mov [rdi], rax ; +0x1d4, 0x180139808 jmp short loc_180139813 ; +0x1d7, 0x18013980b mov r12d, 910h ; +0x1d9, 0x18013980d test r14b, r14b ; +0x1df, 0x180139813 jz short loc_180139822 ; +0x1e2, 0x180139816 mov ecx, 3 ; +0x1e4, 0x180139818 call sub_180134700 ; +0x1e9, 0x18013981d cmp rsi, 1 ; +0x1ee, 0x180139822 jnz short loc_18013982F ; +0x1f2, 0x180139826 xor eax, eax ; +0x1f4, 0x180139828 jmp loc_1801396BD ; +0x1f6, 0x18013982a cmp ebx, 8 ; +0x1fb, 0x18013982f jnz short loc_18013984D ; +0x1fe, 0x180139832 call __acrt_getptd ; +0x200, 0x180139834 mov edx, [rax+10h] ; +0x205, 0x180139839 mov ecx, ebx ; +0x208, 0x18013983c mov rax, rsi ; +0x20a, 0x18013983e mov r8, cs:__guard_dispatch_icall_fptr ; +0x20d, 0x180139841 call r8 ; _guard_dispatch_icall_nop ; +0x214, 0x180139848 jmp short loc_18013985B ; +0x217, 0x18013984b mov ecx, ebx ; +0x219, 0x18013984d mov rax, rsi ; +0x21b, 0x18013984f mov rdx, cs:__guard_dispatch_icall_fptr ; +0x21e, 0x180139852 call rdx ; _guard_dispatch_icall_nop ; +0x225, 0x180139859 cmp ebx, 0Bh ; +0x227, 0x18013985b ja short loc_180139828 ; +0x22a, 0x18013985e bt r12d, ebx ; +0x22c, 0x180139860 jnb short loc_180139828 ; +0x230, 0x180139864 mov rax, [rsp+68h+arg_10] ; +0x232, 0x180139866 mov [r13+8], rax ; +0x23a, 0x18013986e cmp ebx, 8 ; +0x23e, 0x180139872 jnz short loc_180139828 ; +0x241, 0x180139875 call __acrt_getptd ; +0x243, 0x180139877 mov ecx, [rsp+68h+arg_8] ; +0x248, 0x18013987c mov [rax+10h], ecx ; +0x24c, 0x180139880 jmp short loc_180139828 ; +0x24f, 0x180139883 test r14b, r14b ; +0x251, 0x180139885 jz short loc_180139892 ; +0x254, 0x180139888 lea ecx, [rsi+3] ; +0x256, 0x18013988a call sub_180134700 ; +0x259, 0x18013988d mov ecx, 3; Code ; +0x25e, 0x180139892 call _exit ; +0x263, 0x180139897 db 90h ; +0x268, 0x18013989c align 2 ; +0x269, 0x18013989d