Function at 0x438ed6
Capabilities:
Accept command line arguments

Disassembly:
push esi
push edi
mov esi, ecx
xor edi, edi
cmp dword [esi + 0x10], edi
jbe 0x41ce22
mov eax, dword [esi + 0xc]
mov eax, dword [eax + edi*4]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x41ce1c
push 0
call eax
inc edi
cmp edi, dword [esi + 0x10]
jb 0x41ce0b
lea ecx, [esi + 0xc]
call fcn.0041d7d0
pop edi
pop esi
ret
mov eax, 0x441d6f
call fcn.0043d180
sub esp, 0x3a8
push ebx
push esi
push edi
lea ecx, [ebp - 0x44]
call fcn.00419d79
xor ebx, ebx
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea ecx, [ebp - 0x50]
push eax
call fcn.0040280a
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 1
call fcn.004010b7
mov byte [ebp - 4], bl
push dword [ebp - 0x50]
call fcn.00402fca
cmp dword [ebp - 0x40], ebx
pop ecx
jbe 0x438f31
push ebx
lea ecx, [ebp - 0x44]
call fcn.0040435b
cmp dword [ebp - 0x40], ebx
jne 0x438f4c
push ebx
push 0x445e40
push str.Specify_command
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
xor esi, esi
jmp 0x4394ee
lea ecx, [ebp - 0x354]
call fcn.00439a13
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 2
call fcn.00401173
lea eax, [ebp - 0x354]
lea ecx, [ebp - 0x138]
push eax
lea eax, [ebp - 0x44]
push eax
mov byte [ebp - 4], 3
call fcn.0040c479
lea eax, [ebp - 0x354]
lea ecx, [ebp - 0x138]
push eax
call fcn.0040c7bf
push 0x50
call fcn.00402fa3
pop ecx
mov dword [ebp - 0x14], eax
cmp eax, ebx
mov byte [ebp - 4], 4
je 0x438fb0
mov ecx, eax
call fcn.0043979b
mov esi, eax
jmp 0x438fb2
xor esi, esi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.0043a053
push esi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 5
call fcn.00409ed8
mov eax, esi
lea ecx, [esi + 4]
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebp - 0x70]
push eax
call fcn.00409ed8
mov al, byte [ebp - 0x353]
mov ecx, esi
mov byte [esi + 0x4c], al
mov al, byte [ebp - 0x352]
mov byte [ebp - 4], 6
mov dword [ebp - 0x108], esi
mov byte [esi + 0x4d], al
call fcn.0041ce2d
mov ecx, eax
call fcn.00439f5a
lea ecx, [ebp - 0x330]
call fcn.0040c43f
cmp dword [esi + 0x2c], ebx
mov byte [ebp - 0xd], al
jne 0x439081
cmp al, bl
jne 0x43902f
lea ecx, [ebp - 0x330]
call fcn.0040c463
test al, al
je 0x439081
cmp dword [esi + 0x1c], ebx
je 0x43906b
push str.7_Zip_cannot_load_module:
lea ecx, [ebp - 0x50]
call fcn.0040284d
add esi, 0x18
lea ecx, [ebp - 0x50]
push esi
mov byte [ebp - 4], 7
call fcn.00402b4f
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x20]
push eax
call fcn.0040289a
lea eax, [ebp - 0x20]
push 0x44b778
push eax
call sub.MSVCRT.dll__CxxThrowException
mov eax, dword [str.7_Zip_cannot_find_the_code_that_works_with_archives.]
push 0x448348
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call sub.MSVCRT.dll__CxxThrowException
lea ecx, [ebp - 0x2c]
call fcn.00419d79
lea eax, [ebp - 0x2c]
lea edx, [ebp - 0x170]
push eax
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.00423c23
test al, al
jne 0x4390cf
mov ecx, 0xbbf
call fcn.00438e80
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call fcn.0041aeb8
cmp esi, ebx
mov byte [ebp - 4], 5
je 0x4390c7
mov ecx, esi
call 0x41ce00
push 2
pop esi
jmp 0x4394c5
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
xor edi, edi
cmp dword [ebp - 0x160], ebx
mov byte [ebp - 4], 9
jbe 0x439135
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x164]
lea ecx, [ebp - 0x20]
push ecx
mov ecx, esi
mov eax, dword [eax + edi*4]
mov byte [ebp - 4], 0xa
push eax
call fcn.0041d3d8
test al, al
je 0x439183
cmp dword [ebp - 0x1c], 1
jne 0x439183
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x38]
push dword [eax]
call fcn.0043a16c
mov byte [ebp - 4], 9
push dword [ebp - 0x20]
call fcn.00402fca
inc edi
pop ecx
cmp edi, dword [ebp - 0x160]
jb 0x4390e6
cmp byte [ebp - 0xd], bl
jne 0x439150
cmp dword [ebp - 0x330], 9
je 0x439150
cmp dword [ebp - 0x330], 7
jne 0x439501
lea ecx, [ebp - 0x74]
call fcn.00409547
mov ecx, eax
call fcn.00439f5a
cmp dword [ebp - 0x330], 7
jne 0x4391a3
push ebx
lea edx, [ebp - 0x2d8]
lea ecx, [ebp - 0x74]
call fcn.0043495a
mov ecx, eax
call fcn.00439f5a
jmp 0x43949f
mov ecx, 0xbbf
call fcn.00438e80
push dword [ebp - 0x20]
call fcn.00402fca
push dword [ebp - 0x38]
call fcn.00402fca
pop ecx
jmp 0x439706
cmp byte [ebp - 0xd], bl
je 0x439501
lea ecx, [ebp - 0x20]
call fcn.00419d79
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xb
call fcn.00419d79
push 0xe0
mov byte [ebp - 4], 0xc
call fcn.00402fa3
pop ecx
mov ecx, eax
mov dword [ebp - 0x14], ecx
cmp ecx, ebx
mov byte [ebp - 4], 0xd
je 0x4391e5
call fcn.00439d63
mov edi, eax
jmp 0x4391e7
xor edi, edi
cmp edi, ebx
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x10c], edi
je 0x4391fb
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov al, byte [ebp - 0x320]
lea ecx, [edi + 0x9c]
mov byte [edi + 0x98], al
lea eax, [ebp - 0x31c]
push eax
mov byte [ebp - 4], 0xe
call fcn.0040296a
mov ecx, edi
call fcn.0042b8eb
lea ecx, [ebp - 0xac]
call fcn.0043999e
lea eax, [ebp - 0x2cc]
lea ecx, [ebp - 0xac]
push eax
mov byte [ebp - 4], 0xf
call fcn.0043a0a2
mov al, byte [ebp - 0x34e]
cmp dword [ebp - 0x330], 3
mov byte [ebp - 0x88], al
mov al, byte [ebp - 0x34d]
mov byte [ebp - 0x87], al
mov al, byte [ebp - 0x34b]
mov byte [ebp - 0x86], al
lea ecx, [ebp - 0x84]
sete al
mov byte [ebp - 0x85], al
lea eax, [ebp - 0x2d8]
push eax
call fcn.0040dfce
lea ecx, [ebp - 0x3b4]
mov byte [ebp - 0xd], bl
call fcn.0041bebb
cmp dword [ebp - 0x308], ebx
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x14], ebx
je 0x4392ce
lea eax, [ebp - 0x3b4]
lea ecx, [ebp - 0x3b4]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x30c]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.0041b379
mov ecx, eax
call fcn.00439f5a
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xd8], ebx
call fcn.004027c7
lea ecx, [ebp - 0x104]
push ebx
push ecx
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0x20]
push ecx
push eax
xor edx, edx
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], 0x11
call fcn.00419619
mov dword [ebp - 0x54], eax
mov byte [ebp - 4], 0x10
push dword [ebp - 0x144]
call fcn.00402fca
cmp dword [ebp - 0x54], ebx
pop ecx
je 0x43936f
mov eax, dword [ebp - 0x54]
push 0x44e540
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call sub.MSVCRT.dll__CxxThrowException
cmp dword [ebp - 0x1c], 1
push ebx
lea ecx, [ebp - 0xd]
push edi
seta al
push ecx
mov byte [edi + 0xda], al
mov eax, dword [ebp - 0x348]
push dword [ebp - 0x34a]
lea ecx, [ebp - 0xac]
lea edx, [ebp - 0x2c]
mov eax, dword [eax]
push dword [ebp - 0x14]
add eax, 0xc
push ecx
push eax
lea eax, [ebp - 0x50]
mov ecx, esi
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.0043869c
cmp eax, ebx
je 0x4393ea
cmp eax, 0x80004004
je 0x4393d9
cmp byte [ebp - 0xd], bl
je 0x4393d9
lea ecx, [ebp - 0x3b4]
mov byte [ebp - 4], 0xf
call fcn.0041bf36
mov byte [ebp - 4], 0x12
jmp 0x43940d
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push 0x44e540
push eax
call sub.MSVCRT.dll__CxxThrowException
cmp dword [edi + 0x8c], ebx
jne 0x4393fa
cmp byte [edi + 0x90], bl
je 0x43944f
lea ecx, [ebp - 0x3b4]
mov byte [ebp - 4], 0xf
call fcn.0041bf36
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x84]
call fcn.00434de0
push dword [ebp - 0xa0]
call fcn.00402fca
cmp edi, ebx
pop ecx
mov byte [ebp - 4], 0xc
je 0x439432
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xb
call fcn.00419bb8
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 9
call fcn.00419bb8
jmp 0x4396fe
lea ecx, [ebp - 0x3b4]
mov byte [ebp - 4], 0xf
call fcn.0041bf36
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x14
call fcn.00434de0
push dword [ebp - 0xa0]
call fcn.00402fca
cmp edi, ebx
pop ecx
mov byte [ebp - 4], 0xc
je 0x439487
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xb
call fcn.00419bb8
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 9
call fcn.00419bb8
push dword [ebp - 0x38]
call fcn.00402fca
pop ecx
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2c]
call fcn.0041aeb8
cmp esi, ebx
mov byte [ebp - 4], 5
je 0x4394c3
mov ecx, esi
call 0x41ce00
xor esi, esi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.00439920
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 2
call fcn.004011bb
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], bl
call fcn.00439f75
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.00419bb8
mov eax, esi
jmp 0x43975a
lea ecx, [ebp - 0x330]
call fcn.0040c463
test al, al
je 0x4396c1
cmp byte [ebp - 0x320], bl
je 0x439528
cmp dword [ebp - 0x318], ebx
mov byte [ebp - 0xe], 1
jne 0x43952b
mov byte [ebp - 0xe], bl
lea ecx, [ebp - 0xd4]
call fcn.00439e8c
mov al, byte [ebp - 0xe]
cmp byte [ebp - 0x320], bl
mov byte [ebp - 4], 0x15
mov byte [ebp - 0xa0], al
je 0x43955a
cmp dword [ebp - 0x318], ebx
mov byte [ebp - 0x84], 1
je 0x439560
mov byte [ebp - 0x84], bl
lea eax, [ebp - 0x31c]
lea ecx, [ebp - 0xac]
push eax
call fcn.0040296a
lea ecx, [ebp - 0xd4]
call fcn.0043ad84
lea eax, [ebp - 0x32c]
lea ecx, [ebp - 0x29c]
push eax
lea eax, [ebp - 0x2c]
push eax
push esi
call fcn.00424f8a
test al, al
je 0x439682
lea eax, [ebp - 0x32c]
lea ecx, [ebp - 0x29c]
push eax
push esi
call fcn.00424ff6
test al, al
je 0x439682
lea eax, [ebp - 0xd4]
push ebx
push eax
lea eax, [ebp - 0xd]
push eax
lea eax, [ebp - 0x29c]
push dword [ebp - 0x34a]
lea edx, [ebp - 0x2c]
mov ecx, esi
mov byte [ebp - 0xd], bl
push eax
lea eax, [ebp - 0x348]
push eax
lea eax, [ebp - 0x32c]
push eax
call fcn.0043b55f
cmp eax, ebx
je 0x439615
cmp eax, 0x80004004
je 0x439604
cmp byte [ebp - 0xd], bl
je 0x439604
mov byte [ebp - 4], 0x17
jmp 0x439690
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push 0x44e540
push eax
call sub.MSVCRT.dll__CxxThrowException
cmp dword [ebp - 0x7c], ebx
jbe 0x43966e
cmp byte [ebp - 0xd], bl
jne 0x439634
lea eax, [ebp - 0x14]
push 0x44e540
push eax
mov dword [ebp - 0x14], 0x80004005
call sub.MSVCRT.dll__CxxThrowException
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 9
call fcn.0043a0e8
push dword [ebp - 0x38]
call fcn.00402fca
pop ecx
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2c]
call fcn.0041aeb8
cmp esi, ebx
mov byte [ebp - 4], 5
je 0x439667
mov ecx, esi
call 0x41ce00
push 1
jmp 0x4390c9
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 9
call fcn.0043a0e8
jmp 0x43949f
mov ecx, 0xbbc
call fcn.00438e80
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x80]
call fcn.00419bb8
lea ecx, [ebp - 0xd4]
lea eax, [ebp - 0xc4]
neg ecx
sbb ecx, ecx
mov byte [ebp - 4], 9
and ecx, eax
call fcn.00439f33
push dword [ebp - 0x38]
call fcn.00402fca
pop ecx
jmp 0x4390ac
cmp dword [ebp - 0x330], 9
jne 0x43977a
lea eax, [ebp - 0xe]
lea edx, [ebp - 0x348]
push eax
lea eax, [ebp - 0x184]
push eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 0xe], bl
call fcn.0043a9f9
cmp eax, ebx
je 0x43949f
cmp eax, 0x80004004
je 0x439769
cmp byte [ebp - 0xe], bl
je 0x439769
push dword [ebp - 0x38]
call fcn.00402fca
pop ecx
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2c]
call fcn.0041aeb8
cmp esi, ebx
mov byte [ebp - 4], 5
je 0x439722
mov ecx, esi
call 0x41ce00
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.00439920
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 2
call fcn.004011bb
lea ecx, [ebp - 0x354]
mov byte [ebp - 4], bl
call fcn.00439f75
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.00419bb8
push 2
pop eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push 0x44e540
push eax
call sub.MSVCRT.dll__CxxThrowException
lea eax, [ebp - 0x14]
push 0x447b00
push eax
mov dword [ebp - 0x14], str.Unsupported_command
call sub.MSVCRT.dll__CxxThrowException
mov ecx, dword [ecx]
test ecx, ecx
je 0x43979a
jmp 0x41ce00
ret