Function at 0x447c9c
Capabilities:
Accept command line arguments

Disassembly:
push esi
push edi
mov esi, ecx
xor edi, edi
cmp dword [esi + 0x10], edi
jbe 0x42764a
mov eax, dword [esi + 0xc]
mov eax, dword [eax + edi*4]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x427644
push 0
call eax
inc edi
cmp edi, dword [esi + 0x10]
jb 0x427633
lea ecx, [esi + 0xc]
call fcn.00428253
pop edi
pop esi
ret
mov eax, 0x451ae2
call fcn.0044c320
sub esp, 0x3e4
push ebx
push esi
push edi
lea ecx, [ebp - 0x50]
call fcn.00420e5a
xor ebx, ebx
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea ecx, [ebp - 0x20]
push eax
call fcn.00402e2a
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.004010ac
mov byte [ebp - 4], bl
push dword [ebp - 0x20]
call fcn.0040386c
cmp dword [ebp - 0x4c], ebx
pop ecx
jbe 0x447cf7
push ebx
lea ecx, [ebp - 0x50]
call fcn.004051dc
cmp dword [ebp - 0x4c], ebx
jne 0x447d12
push ebx
push 0x4566c8
push str.Specify_command
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
xor esi, esi
jmp 0x4480af
lea ecx, [ebp - 0x390]
call fcn.00448961
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 2
call fcn.0040116f
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 3
call fcn.00402de7
lea eax, [ebp - 0x390]
lea ecx, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 4
call fcn.004104da
mov al, byte [ebp - 0x386]
lea ecx, [ebp - 0x10c]
mov byte [0x4637a0], al
lea eax, [ebp - 0x390]
push eax
call fcn.00410980
push 0x5c
call fcn.00403838
pop ecx
mov dword [ebp - 0x14], eax
cmp eax, ebx
mov byte [ebp - 4], 5
je 0x447d90
mov ecx, eax
call fcn.004486c7
mov edi, eax
jmp 0x447d92
xor edi, edi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.00448fc1
push edi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 6
call fcn.0040ccfe
mov eax, edi
lea ecx, [edi + 4]
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebp - 0x70]
push eax
call fcn.0040ccfe
mov al, byte [ebp - 0x38f]
mov ecx, edi
mov byte [edi + 0x58], al
mov al, byte [ebp - 0x38e]
mov byte [ebp - 4], 7
mov dword [ebp - 0x144], edi
mov byte [edi + 0x59], al
call fcn.00427655
mov ecx, eax
call fcn.00448ead
mov ecx, edi
call fcn.00425dc8
lea eax, [ebp - 0x74]
lea ecx, [ebp - 0x20]
mov dword [0x4637a8], eax
call fcn.00402de7
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
mov byte [ebp - 4], 8
call fcn.00427fd5
cmp dword [ebp - 0x1c], ebx
je 0x447e2d
cmp byte [0x4637a0], bl
jne 0x447e2d
push 0x10
push 0x4566c8
push dword [ebp - 0x20]
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
push dword [ebp - 0x20]
mov byte [ebp - 4], 7
call fcn.0040386c
pop ecx
lea ecx, [ebp - 0x348]
call fcn.004104a0
cmp dword [edi + 0x38], ebx
mov byte [ebp - 0xd], al
jne 0x447eb2
cmp al, bl
jne 0x447e60
lea ecx, [ebp - 0x348]
call fcn.004104c4
test al, al
je 0x447eb2
cmp dword [edi + 0x1c], ebx
je 0x447e9c
push str.7_Zip_cannot_load_module:
lea ecx, [ebp - 0x20]
call fcn.00402e6d
add edi, 0x18
lea ecx, [ebp - 0x20]
push edi
mov byte [ebp - 4], 9
call fcn.00403279
lea eax, [ebp - 0x20]
lea ecx, [ebp - 0x2c]
push eax
call fcn.00402eff
lea eax, [ebp - 0x2c]
push 0x45d4b0
push eax
call sub.MSVCRT.dll__CxxThrowException
mov eax, dword [str.7_Zip_cannot_find_the_code_that_works_with_archives.]
push 0x459110
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call sub.MSVCRT.dll__CxxThrowException
lea ecx, [ebp - 0x38]
call fcn.00420e5a
lea eax, [ebp - 0x38]
lea edx, [ebp - 0x180]
push eax
mov ecx, edi
mov byte [ebp - 4], 0xa
call fcn.0042e57b
test al, al
jne 0x447f27
mov ecx, 0xbbf
call fcn.00447c46
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 7
call fcn.004221ac
cmp edi, ebx
mov byte [ebp - 4], 6
je 0x447ef8
mov ecx, edi
call 0x427628
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.00448850
mov byte [ebp - 4], 2
push dword [ebp - 0xe0]
call fcn.0040386c
pop ecx
lea ecx, [ebp - 0x10c]
call fcn.004011b7
push 2
pop esi
jmp 0x4480a1
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
xor esi, esi
cmp dword [ebp - 0x170], ebx
mov byte [ebp - 4], 0xb
jbe 0x447f8d
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x174]
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, edi
mov eax, dword [eax + esi*4]
mov byte [ebp - 4], 0xc
push eax
call fcn.00427c21
test al, al
je 0x447fe3
cmp dword [ebp - 0x28], 1
jne 0x447fe3
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x44]
push dword [eax]
call fcn.004490f9
mov byte [ebp - 4], 0xb
push dword [ebp - 0x2c]
call fcn.0040386c
inc esi
pop ecx
cmp esi, dword [ebp - 0x170]
jb 0x447f3e
cmp byte [ebp - 0xd], bl
jne 0x447fb7
lea ecx, [ebp - 0x348]
call fcn.004104c4
test al, al
jne 0x447fb7
cmp dword [ebp - 0x348], 9
je 0x447fb7
cmp dword [ebp - 0x348], 7
jne 0x4483cb
lea ecx, [ebp - 0x74]
call fcn.0040b782
mov ecx, eax
call fcn.00448ead
cmp dword [ebp - 0x348], 7
jne 0x4480c2
cmp byte [ebp - 0x154], bl
je 0x448046
mov eax, dword [ebp - 0x158]
jmp 0x448049
mov ecx, 0xbbf
call fcn.00447c46
push dword [ebp - 0x2c]
call fcn.0040386c
push dword [ebp - 0x44]
call fcn.0040386c
pop ecx
pop ecx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x38]
call fcn.004221ac
cmp edi, ebx
mov byte [ebp - 4], 6
je 0x44801a
mov ecx, edi
call 0x427628
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.00448850
mov byte [ebp - 4], 2
push dword [ebp - 0xe0]
call fcn.0040386c
pop ecx
lea ecx, [ebp - 0x10c]
call fcn.004011b7
jmp 0x448669
push 0xa
pop eax
push ebx
push eax
lea edx, [ebp - 0x2f4]
lea ecx, [ebp - 0x74]
call fcn.00441231
mov ecx, eax
call fcn.00448ead
push dword [ebp - 0x44]
call fcn.0040386c
pop ecx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x38]
call fcn.004221ac
cmp edi, ebx
mov byte [ebp - 4], 6
je 0x448084
mov ecx, edi
call 0x427628
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.00448850
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 2
call fcn.00448fac
xor esi, esi
lea ecx, [ebp - 0x390]
mov byte [ebp - 4], bl
call fcn.00448ec8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00420c69
mov eax, esi
jmp 0x448686
cmp byte [ebp - 0xd], bl
je 0x4483cb
lea ecx, [ebp - 0x2c]
call fcn.00420e5a
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xd
call fcn.00420e5a
push 0xe8
mov byte [ebp - 4], 0xe
call fcn.00403838
pop ecx
mov dword [ebp - 0x14], eax
cmp eax, ebx
mov byte [ebp - 4], 0xf
je 0x448104
mov ecx, eax
call fcn.00448cb5
mov esi, eax
jmp 0x448106
xor esi, esi
cmp esi, ebx
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x140], esi
je 0x44811a
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov al, byte [ebp - 0x338]
lea ecx, [esi + 0x9c]
mov byte [esi + 0x30], al
lea eax, [ebp - 0x334]
push eax
mov byte [ebp - 4], 0x10
call fcn.00402fcf
mov ecx, esi
call fcn.00436a4a
lea ecx, [ebp - 0xcc]
call fcn.004488ce
lea eax, [ebp - 0x2e8]
lea ecx, [ebp - 0xcc]
push eax
mov byte [ebp - 4], 0x11
call fcn.0044900e
mov al, byte [ebp - 0x38a]
lea ecx, [ebp - 0x80]
mov byte [ebp - 0x84], al
mov al, byte [ebp - 0x389]
mov byte [ebp - 0x83], al
mov al, byte [ebp - 0x386]
mov byte [ebp - 0x82], al
mov byte [esi + 0x98], al
cmp dword [ebp - 0x348], 3
sete al
mov byte [ebp - 0x81], al
mov byte [esi + 0x99], al
lea eax, [ebp - 0x2f4]
push eax
call fcn.00412561
lea ecx, [ebp - 0x3f0]
mov byte [ebp - 0xd], bl
call fcn.004232cf
cmp dword [ebp - 0x324], ebx
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x14], ebx
je 0x4481f3
lea eax, [ebp - 0x3f0]
lea ecx, [ebp - 0x3f0]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x328]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.004226bf
mov ecx, eax
call fcn.00448ead
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x13c], ebx
mov dword [ebp - 0x138], ebx
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x128], ebx
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0x11c], ebx
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0x110], ebx
call fcn.00402de7
lea ecx, [ebp - 0x13c]
push ebx
push ecx
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x2c]
push ecx
push eax
xor edx, edx
lea ecx, [ebp - 0x31c]
mov byte [ebp - 4], 0x13
call fcn.00420658
mov dword [ebp - 0x54], eax
mov byte [ebp - 4], 0x12
push dword [ebp - 0x150]
call fcn.0040386c
cmp dword [ebp - 0x54], ebx
pop ecx
je 0x448294
mov eax, dword [ebp - 0x54]
push 0x460778
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call sub.MSVCRT.dll__CxxThrowException
cmp dword [ebp - 0x28], 1
push ebx
lea ecx, [ebp - 0xd]
push esi
seta al
push ecx
mov byte [esi + 0x2c], al
mov eax, dword [ebp - 0x364]
push dword [ebp - 0x385]
lea ecx, [ebp - 0xcc]
lea edx, [ebp - 0x38]
mov eax, dword [eax]
push dword [ebp - 0x14]
add eax, 0xc
push ecx
push eax
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.004474e5
cmp eax, ebx
je 0x44830c
cmp eax, 0x80004004
je 0x4482fb
cmp byte [ebp - 0xd], bl
je 0x4482fb
lea ecx, [ebp - 0x3f0]
mov byte [ebp - 4], 0x11
call fcn.0042333d
mov byte [ebp - 4], 0x14
jmp 0x44832c
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push 0x460778
push eax
call sub.MSVCRT.dll__CxxThrowException
cmp dword [esi + 0x90], ebx
jne 0x448319
cmp byte [esi + 0x2f], bl
je 0x448376
lea ecx, [ebp - 0x3f0]
mov byte [ebp - 4], 0x11
call fcn.0042333d
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x80]
call fcn.004417a0
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0x10
call fcn.0044894a
cmp esi, ebx
mov byte [ebp - 4], 0xe
je 0x448351
mov eax, dword [esi]
push esi
call dword [eax + 8]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xd
call fcn.00420c69
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
call fcn.00420c69
push dword [ebp - 0x44]
call fcn.0040386c
jmp 0x447ffe
lea ecx, [ebp - 0x3f0]
mov byte [ebp - 4], 0x11
call fcn.0042333d
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x16
call fcn.004417a0
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0x10
call fcn.0044894a
cmp esi, ebx
mov byte [ebp - 4], 0xe
je 0x4483ae
mov eax, dword [esi]
push esi
call dword [eax + 8]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xd
call fcn.00420c69
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
call fcn.00420c69
jmp 0x448060
lea ecx, [ebp - 0x348]
call fcn.004104c4
test al, al
je 0x4485ed
cmp byte [ebp - 0x338], bl
je 0x4483f2
cmp dword [ebp - 0x330], ebx
mov byte [ebp - 0xe], 1
jne 0x4483f5
mov byte [ebp - 0xe], bl
lea ecx, [ebp - 0xd4]
call fcn.00448dfa
mov al, byte [ebp - 0xe]
cmp byte [ebp - 0x338], bl
mov byte [ebp - 4], 0x17
mov byte [ebp - 0xa0], al
je 0x448424
cmp dword [ebp - 0x330], ebx
mov byte [ebp - 0x84], 1
je 0x44842a
mov byte [ebp - 0x84], bl
lea eax, [ebp - 0x334]
lea ecx, [ebp - 0xac]
push eax
call fcn.00402fcf
lea ecx, [ebp - 0xd4]
call fcn.00449d7e
lea eax, [ebp - 0x344]
lea ecx, [ebp - 0x2a0]
push eax
lea eax, [ebp - 0x38]
push eax
push edi
call fcn.0042f67b
test al, al
je 0x4485ae
lea eax, [ebp - 0x344]
lea ecx, [ebp - 0x2a0]
push eax
push edi
call fcn.0042f6e6
test al, al
je 0x4485ae
lea eax, [ebp - 0xd4]
push ebx
push eax
lea eax, [ebp - 0xd]
push eax
lea eax, [ebp - 0x2a0]
push dword [ebp - 0x385]
lea edx, [ebp - 0x38]
mov ecx, edi
mov byte [ebp - 0xd], bl
push eax
lea eax, [ebp - 0x364]
push eax
lea eax, [ebp - 0x344]
push eax
call fcn.0044a5b2
cmp eax, ebx
je 0x448525
cmp eax, 0x80004004
je 0x448514
cmp byte [ebp - 0xd], bl
je 0x448514
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x19
call fcn.00420c69
lea ecx, [ebp - 0xd4]
lea eax, [ebp - 0xc4]
neg ecx
sbb ecx, ecx
mov byte [ebp - 4], 0xb
and ecx, eax
call fcn.00448e86
push dword [ebp - 0x44]
call fcn.0040386c
pop ecx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x38]
call fcn.004221ac
cmp edi, ebx
mov byte [ebp - 4], 6
je 0x448510
mov ecx, edi
call 0x427628
push 2
jmp 0x448579
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push 0x460778
push eax
call sub.MSVCRT.dll__CxxThrowException
cmp dword [ebp - 0x7c], ebx
jbe 0x44859a
cmp byte [ebp - 0xd], bl
jne 0x448544
lea eax, [ebp - 0x14]
push 0x460778
push eax
mov dword [ebp - 0x14], 0x80004005
call sub.MSVCRT.dll__CxxThrowException
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0xb
call fcn.00449075
push dword [ebp - 0x44]
call fcn.0040386c
pop ecx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x38]
call fcn.004221ac
cmp edi, ebx
mov byte [ebp - 4], 6
je 0x448577
mov ecx, edi
call 0x427628
push 1
pop esi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.00448850
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 2
call fcn.00448fac
jmp 0x4480a1
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0xb
call fcn.00449075
jmp 0x448060
mov ecx, 0xbbc
call fcn.00447c46
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x18
call fcn.00420c69
lea ecx, [ebp - 0xd4]
lea eax, [ebp - 0xc4]
neg ecx
sbb ecx, ecx
mov byte [ebp - 4], 0xb
and ecx, eax
call fcn.00448e86
push dword [ebp - 0x44]
call fcn.0040386c
pop ecx
jmp 0x447edd
cmp dword [ebp - 0x348], 9
jne 0x4486a6
lea eax, [ebp - 0xe]
lea edx, [ebp - 0x364]
push eax
lea eax, [ebp - 0x198]
push eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 0xe], bl
call fcn.004499ec
cmp eax, ebx
je 0x448060
cmp eax, 0x80004004
je 0x448695
cmp byte [ebp - 0xe], bl
je 0x448695
push dword [ebp - 0x44]
call fcn.0040386c
pop ecx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x38]
call fcn.004221ac
cmp edi, ebx
mov byte [ebp - 4], 6
je 0x44864e
mov ecx, edi
call 0x427628
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.00448850
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 2
call fcn.00448fac
lea ecx, [ebp - 0x390]
mov byte [ebp - 4], bl
call fcn.00448ec8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00420c69
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 0x460778
push eax
call sub.MSVCRT.dll__CxxThrowException
lea eax, [ebp - 0x14]
push 0x4588f8
push eax
mov dword [ebp - 0x14], str.Unsupported_command
call sub.MSVCRT.dll__CxxThrowException
mov ecx, dword [ecx]
test ecx, ecx
je 0x4486c6
jmp 0x427628
ret