; ; _configure_narrow_argv from 0x180131cac to 0x180131e32 (390 bytes) ; ; 2 xrefs: ; > __scrt_dllmain_after_initialize_c @ 0x1801204fb ; > @ 0x180202f54 ; ; 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-28h+arg_0], rbx ; +0x0, 0x180131cac push rbp ; +0x5, 0x180131cb1 push rsi ; +0x6, 0x180131cb2 push rdi ; +0x7, 0x180131cb3 push r14 ; +0x8, 0x180131cb4 push r15 ; +0xa, 0x180131cb6 mov rbp, rsp ; +0xc, 0x180131cb8 sub rsp, 30h ; +0xf, 0x180131cbb xor edi, edi ; +0x13, 0x180131cbf mov r14d, ecx ; +0x15, 0x180131cc1 test ecx, ecx ; +0x18, 0x180131cc4 jz loc_180131E1F ; +0x1a, 0x180131cc6 lea eax, [rcx-1] ; +0x20, 0x180131ccc cmp eax, 1 ; +0x23, 0x180131ccf jbe short loc_180131CEA ; +0x26, 0x180131cd2 call _errno ; +0x28, 0x180131cd4 lea ebx, [rdi+16h] ; +0x2d, 0x180131cd9 mov [rax], ebx ; +0x30, 0x180131cdc call _invalid_parameter_noinfo ; +0x32, 0x180131cde mov edi, ebx ; +0x37, 0x180131ce3 jmp loc_180131E1F ; +0x39, 0x180131ce5 call __acrt_initialize_multibyte ; +0x3e, 0x180131cea lea rbx, unk_1801F4BF0 ; +0x43, 0x180131cef mov r8d, 104h ; +0x4a, 0x180131cf6 mov rdx, rbx ; +0x50, 0x180131cfc xor ecx, ecx ; +0x53, 0x180131cff call __acrt_GetModuleFileNameA ; +0x55, 0x180131d01 mov rsi, cs:qword_1801F5600 ; +0x5a, 0x180131d06 mov cs:qword_1801F55E0, rbx ; +0x61, 0x180131d0d test rsi, rsi ; +0x68, 0x180131d14 jz short loc_180131D1E ; +0x6b, 0x180131d17 cmp [rsi], dil ; +0x6d, 0x180131d19 jnz short loc_180131D21 ; +0x70, 0x180131d1c mov rsi, rbx ; +0x72, 0x180131d1e lea rax, [rbp+arg_18] ; +0x75, 0x180131d21 mov [rbp+arg_10], rdi ; +0x79, 0x180131d25 lea r9, [rbp+arg_10] ; +0x7d, 0x180131d29 mov [rsp+30h+var_10], rax ; +0x81, 0x180131d2d xor r8d, r8d ; +0x86, 0x180131d32 mov [rbp+arg_18], rdi ; +0x89, 0x180131d35 xor edx, edx ; +0x8d, 0x180131d39 mov rcx, rsi ; +0x8f, 0x180131d3b call ??$parse_command_line@D@@YAXPEADPEAPEAD0PEA_K2@Z ; +0x92, 0x180131d3e mov r15, [rbp+arg_10] ; +0x97, 0x180131d43 mov r8d, 1 ; +0x9b, 0x180131d47 mov rdx, [rbp+arg_18] ; +0xa1, 0x180131d4d mov rcx, r15 ; +0xa5, 0x180131d51 call __acrt_allocate_buffer_for_argv ; +0xa8, 0x180131d54 mov rbx, rax ; +0xad, 0x180131d59 test rax, rax ; +0xb0, 0x180131d5c jnz short loc_180131D79 ; +0xb3, 0x180131d5f call _errno ; +0xb5, 0x180131d61 mov ebx, 0Ch ; +0xba, 0x180131d66 xor ecx, ecx; Block ; +0xbf, 0x180131d6b mov [rax], ebx ; +0xc1, 0x180131d6d call _free_base ; +0xc3, 0x180131d6f jmp loc_180131CE3 ; +0xc8, 0x180131d74 lea r8, [rax+r15*8] ; +0xcd, 0x180131d79 mov rdx, rbx ; +0xd1, 0x180131d7d lea rax, [rbp+arg_18] ; +0xd4, 0x180131d80 mov rcx, rsi ; +0xd8, 0x180131d84 lea r9, [rbp+arg_10] ; +0xdb, 0x180131d87 mov [rsp+30h+var_10], rax ; +0xdf, 0x180131d8b call ??$parse_command_line@D@@YAXPEADPEAPEAD0PEA_K2@Z ; +0xe4, 0x180131d90 cmp r14d, 1 ; +0xe9, 0x180131d95 jnz short loc_180131DB1 ; +0xed, 0x180131d99 mov eax, dword ptr [rbp+arg_10] ; +0xef, 0x180131d9b dec eax ; +0xf2, 0x180131d9e mov cs:qword_1801F55F0, rbx ; +0xf4, 0x180131da0 mov cs:dword_1801F55E8, eax ; +0xfb, 0x180131da7 xor ecx, ecx ; +0x101, 0x180131dad jmp short loc_180131E1A ; +0x103, 0x180131daf lea rdx, [rbp+Block] ; +0x105, 0x180131db1 mov [rbp+Block], rdi ; +0x109, 0x180131db5 mov rcx, rbx ; +0x10d, 0x180131db9 call j_??$common_expand_argv_wildcards@D@@YAHQEAPEADQEAPEAPEAD@Z ; +0x110, 0x180131dbc mov esi, eax ; +0x115, 0x180131dc1 test eax, eax ; +0x117, 0x180131dc3 jz short loc_180131DE0 ; +0x119, 0x180131dc5 mov rcx, [rbp+Block]; Block ; +0x11b, 0x180131dc7 call _free_base ; +0x11f, 0x180131dcb mov rcx, rbx; Block ; +0x124, 0x180131dd0 mov [rbp+Block], rdi ; +0x127, 0x180131dd3 call _free_base ; +0x12b, 0x180131dd7 mov edi, esi ; +0x130, 0x180131ddc jmp short loc_180131E1F ; +0x132, 0x180131dde mov rdx, [rbp+Block] ; +0x134, 0x180131de0 mov rcx, rdi ; +0x138, 0x180131de4 mov rax, rdx ; +0x13b, 0x180131de7 cmp [rdx], rdi ; +0x13e, 0x180131dea jz short loc_180131DFB ; +0x141, 0x180131ded lea rax, [rax+8] ; +0x143, 0x180131def inc rcx ; +0x147, 0x180131df3 cmp [rax], rdi ; +0x14a, 0x180131df6 jnz short loc_180131DEF ; +0x14d, 0x180131df9 mov cs:dword_1801F55E8, ecx ; +0x14f, 0x180131dfb xor ecx, ecx; Block ; +0x155, 0x180131e01 mov [rbp+Block], rdi ; +0x157, 0x180131e03 mov cs:qword_1801F55F0, rdx ; +0x15b, 0x180131e07 call _free_base ; +0x162, 0x180131e0e mov rcx, rbx; Block ; +0x167, 0x180131e13 mov [rbp+Block], rdi ; +0x16a, 0x180131e16 call _free_base ; +0x16e, 0x180131e1a mov rbx, [rsp+30h+arg_0] ; +0x173, 0x180131e1f mov eax, edi ; +0x178, 0x180131e24 add rsp, 30h ; +0x17a, 0x180131e26 pop r15 ; +0x17e, 0x180131e2a pop r14 ; +0x180, 0x180131e2c pop rdi ; +0x182, 0x180131e2e pop rsi ; +0x183, 0x180131e2f pop rbp ; +0x184, 0x180131e30 retn ; +0x185, 0x180131e31