Function at 0x446ea8
Capabilities:
Accept command line arguments

Disassembly:
push esi
push edi
mov esi, ecx
xor edi, edi
cmp dword [esi + 0x10], edi
jbe 0x4271d9
mov eax, dword [esi + 0xc]
mov eax, dword [eax + edi*4]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x4271d3
push 0
call eax
inc edi
cmp edi, dword [esi + 0x10]
jb 0x4271c2
lea ecx, [esi + 0xc]
call fcn.00427db1
pop edi
pop esi
ret
mov eax, 0x450bab
call fcn.0044b4c0
sub esp, 0x3dc
push ebx
push esi
push edi
lea ecx, [ebp - 0x50]
call fcn.0043297e
xor ebx, ebx
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea ecx, [ebp - 0x20]
push eax
call fcn.00402d86
lea edx, [ebp - 0x50]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.004010b7
mov byte [ebp - 4], bl
push dword [ebp - 0x20]
call fcn.004036ef
cmp dword [ebp - 0x4c], ebx
pop ecx
jbe 0x446f03
push ebx
lea ecx, [ebp - 0x50]
call fcn.00404ff4
cmp dword [ebp - 0x4c], ebx
jne 0x446f1e
push ebx
push 0x4555c8
push str.Specify_command
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
xor esi, esi
jmp 0x44729f
lea ecx, [ebp - 0x388]
call fcn.00447b52
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 2
call fcn.0040117a
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 3
call fcn.00402d43
lea eax, [ebp - 0x388]
lea ecx, [ebp - 0xac]
push eax
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 4
call fcn.004101e6
lea eax, [ebp - 0x388]
lea ecx, [ebp - 0xac]
push eax
call fcn.0041063b
push 0x5c
call fcn.004036bb
pop ecx
mov dword [ebp - 0x14], eax
cmp eax, ebx
mov byte [ebp - 4], 5
je 0x446f8e
mov ecx, eax
call fcn.004478ab
mov edi, eax
jmp 0x446f90
xor edi, edi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.00448190
push edi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 6
call fcn.0040f72a
mov eax, edi
lea ecx, [edi + 4]
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebp - 0x70]
push eax
call fcn.0040f72a
mov al, byte [ebp - 0x387]
mov ecx, edi
mov byte [edi + 0x58], al
mov al, byte [ebp - 0x386]
mov byte [ebp - 4], 7
mov dword [ebp - 0x144], edi
mov byte [edi + 0x59], al
call fcn.004271e4
mov ecx, eax
call fcn.0044807c
mov ecx, edi
call fcn.004259ee
lea eax, [ebp - 0x74]
lea ecx, [ebp - 0x20]
mov dword [0x462760], eax
call fcn.00402d43
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
mov byte [ebp - 4], 8
call fcn.00427b64
cmp dword [ebp - 0x1c], ebx
je 0x447023
push 0x10
push 0x4555c8
push dword [ebp - 0x20]
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
push dword [ebp - 0x20]
mov byte [ebp - 4], 7
call fcn.004036ef
pop ecx
lea ecx, [ebp - 0x340]
call fcn.004101ac
cmp dword [edi + 0x38], ebx
mov byte [ebp - 0xd], al
jne 0x4470a8
cmp al, bl
jne 0x447056
lea ecx, [ebp - 0x340]
call fcn.004101d0
test al, al
je 0x4470a8
cmp dword [edi + 0x1c], ebx
je 0x447092
push str.7_Zip_cannot_load_module:
lea ecx, [ebp - 0x20]
call fcn.00402dc9
add edi, 0x18
lea ecx, [ebp - 0x20]
push edi
mov byte [ebp - 4], 9
call fcn.00403124
lea eax, [ebp - 0x20]
lea ecx, [ebp - 0x2c]
push eax
call fcn.00402e5b
lea eax, [ebp - 0x2c]
push 0x45c340
push eax
call sub.MSVCRT.dll__CxxThrowException
mov eax, dword [str.7_Zip_cannot_find_the_code_that_works_with_archives.]
push 0x457fa8
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call sub.MSVCRT.dll__CxxThrowException
lea ecx, [ebp - 0x38]
call fcn.0043297e
lea eax, [ebp - 0x38]
lea edx, [ebp - 0x180]
push eax
mov ecx, edi
mov byte [ebp - 4], 0xa
call fcn.0042e0a1
test al, al
jne 0x44711a
mov ecx, 0xbbf
call fcn.00446e52
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 7
call fcn.00421b73
cmp edi, ebx
mov byte [ebp - 4], 6
je 0x4470ee
mov ecx, edi
call 0x4271b7
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.00447a41
mov byte [ebp - 4], 2
push dword [ebp - 0x80]
call fcn.004036ef
pop ecx
lea ecx, [ebp - 0xac]
call fcn.004011c2
push 2
pop esi
jmp 0x447291
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 0x447180
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.004277b0
test al, al
je 0x4471d6
cmp dword [ebp - 0x28], 1
jne 0x4471d6
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x44]
push dword [eax]
call fcn.004482c7
mov byte [ebp - 4], 0xb
push dword [ebp - 0x2c]
call fcn.004036ef
inc esi
pop ecx
cmp esi, dword [ebp - 0x170]
jb 0x447131
cmp byte [ebp - 0xd], bl
jne 0x4471aa
lea ecx, [ebp - 0x340]
call fcn.004101d0
test al, al
jne 0x4471aa
cmp dword [ebp - 0x340], 9
je 0x4471aa
cmp dword [ebp - 0x340], 7
jne 0x4475c1
lea ecx, [ebp - 0x74]
call fcn.0040b516
mov ecx, eax
call fcn.0044807c
cmp dword [ebp - 0x340], 7
jne 0x4472b2
cmp byte [ebp - 0x154], bl
je 0x447236
mov eax, dword [ebp - 0x158]
jmp 0x447239
mov ecx, 0xbbf
call fcn.00446e52
push dword [ebp - 0x2c]
call fcn.004036ef
push dword [ebp - 0x44]
call fcn.004036ef
pop ecx
pop ecx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x38]
call fcn.00421b73
cmp edi, ebx
mov byte [ebp - 4], 6
je 0x44720d
mov ecx, edi
call 0x4271b7
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.00447a41
mov byte [ebp - 4], 2
push dword [ebp - 0x80]
call fcn.004036ef
pop ecx
lea ecx, [ebp - 0xac]
call fcn.004011c2
jmp 0x44784d
push 0xa
pop eax
push ebx
push eax
lea edx, [ebp - 0x2ec]
lea ecx, [ebp - 0x74]
call fcn.00440412
mov ecx, eax
call fcn.0044807c
push dword [ebp - 0x44]
call fcn.004036ef
pop ecx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x38]
call fcn.00421b73
cmp edi, ebx
mov byte [ebp - 4], 6
je 0x447274
mov ecx, edi
call 0x4271b7
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.00447a41
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 2
call fcn.0044817b
xor esi, esi
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], bl
call fcn.00448097
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.0043decb
mov eax, esi
jmp 0x44786a
cmp byte [ebp - 0xd], bl
je 0x4475c1
lea ecx, [ebp - 0x2c]
call fcn.0043297e
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xd
call fcn.0043297e
push 0xe8
mov byte [ebp - 4], 0xe
call fcn.004036bb
pop ecx
mov dword [ebp - 0x14], eax
cmp eax, ebx
mov byte [ebp - 4], 0xf
je 0x4472f4
mov ecx, eax
call fcn.00447e95
mov esi, eax
jmp 0x4472f6
xor esi, esi
cmp esi, ebx
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x140], esi
je 0x44730a
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov al, byte [ebp - 0x330]
lea ecx, [esi + 0x9c]
mov byte [esi + 0x98], al
lea eax, [ebp - 0x32c]
push eax
mov byte [ebp - 4], 0x10
call fcn.00402f2b
mov ecx, esi
call fcn.004363aa
lea ecx, [ebp - 0xf8]
call fcn.00447abf
lea eax, [ebp - 0x2e0]
lea ecx, [ebp - 0xf8]
push eax
mov byte [ebp - 4], 0x11
call fcn.004481dd
mov al, byte [ebp - 0x382]
cmp dword [ebp - 0x340], 3
mov byte [ebp - 0xbc], al
mov al, byte [ebp - 0x381]
mov byte [ebp - 0xbb], al
mov al, byte [ebp - 0x37f]
mov byte [ebp - 0xba], al
lea ecx, [ebp - 0xb8]
sete al
mov byte [ebp - 0xb9], al
lea eax, [ebp - 0x2ec]
push eax
call fcn.0041211b
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 0xd], bl
call fcn.00422cbd
cmp dword [ebp - 0x31c], ebx
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x14], ebx
je 0x4473dd
lea eax, [ebp - 0x3e8]
lea ecx, [ebp - 0x3e8]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.00422088
mov ecx, eax
call fcn.0044807c
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.00402d43
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 - 0x314]
mov byte [ebp - 4], 0x13
call fcn.0042011b
mov dword [ebp - 0x54], eax
mov byte [ebp - 4], 0x12
push dword [ebp - 0x150]
call fcn.004036ef
cmp dword [ebp - 0x54], ebx
pop ecx
je 0x44747e
mov eax, dword [ebp - 0x54]
push 0x45f510
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 + 0xe6], al
mov eax, dword [ebp - 0x35c]
push dword [ebp - 0x37e]
lea ecx, [ebp - 0xf8]
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.0044666e
cmp eax, ebx
je 0x4474f9
cmp eax, 0x80004004
je 0x4474e8
cmp byte [ebp - 0xd], bl
je 0x4474e8
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x11
call fcn.00422d32
mov byte [ebp - 4], 0x14
jmp 0x44751c
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push 0x45f510
push eax
call sub.MSVCRT.dll__CxxThrowException
cmp dword [esi + 0x8c], ebx
jne 0x447509
cmp byte [esi + 0x90], bl
je 0x447569
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x11
call fcn.00422d32
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xb8]
call fcn.0044093c
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x10
call fcn.00447b3b
cmp esi, ebx
mov byte [ebp - 4], 0xe
je 0x447544
mov eax, dword [esi]
push esi
call dword [eax + 8]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xd
call fcn.0043decb
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
call fcn.0043decb
push dword [ebp - 0x44]
call fcn.004036ef
jmp 0x4471f1
lea ecx, [ebp - 0x3e8]
mov byte [ebp - 4], 0x11
call fcn.00422d32
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x16
call fcn.0044093c
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x10
call fcn.00447b3b
cmp esi, ebx
mov byte [ebp - 4], 0xe
je 0x4475a4
mov eax, dword [esi]
push esi
call dword [eax + 8]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xd
call fcn.0043decb
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
call fcn.0043decb
jmp 0x447250
lea ecx, [ebp - 0x340]
call fcn.004101d0
test al, al
je 0x4477d1
cmp byte [ebp - 0x330], bl
je 0x4475e8
cmp dword [ebp - 0x328], ebx
mov byte [ebp - 0xe], 1
jne 0x4475eb
mov byte [ebp - 0xe], bl
lea ecx, [ebp - 0x10c]
call fcn.00447fc9
mov al, byte [ebp - 0xe]
cmp byte [ebp - 0x330], bl
mov byte [ebp - 4], 0x17
mov byte [ebp - 0xd8], al
je 0x44761a
cmp dword [ebp - 0x328], ebx
mov byte [ebp - 0xbc], 1
je 0x447620
mov byte [ebp - 0xbc], bl
lea eax, [ebp - 0x32c]
lea ecx, [ebp - 0xe4]
push eax
call fcn.00402f2b
lea ecx, [ebp - 0x10c]
call fcn.00448f31
lea eax, [ebp - 0x33c]
lea ecx, [ebp - 0x2a0]
push eax
lea eax, [ebp - 0x38]
push eax
push edi
call fcn.0042f1a4
test al, al
je 0x44778f
lea eax, [ebp - 0x33c]
lea ecx, [ebp - 0x2a0]
push eax
push edi
call fcn.0042f20f
test al, al
je 0x44778f
lea eax, [ebp - 0x10c]
push ebx
push eax
lea eax, [ebp - 0xd]
push eax
lea eax, [ebp - 0x2a0]
push dword [ebp - 0x37e]
lea edx, [ebp - 0x38]
mov ecx, edi
mov byte [ebp - 0xd], bl
push eax
lea eax, [ebp - 0x35c]
push eax
lea eax, [ebp - 0x33c]
push eax
call fcn.0044976d
cmp eax, ebx
je 0x447703
cmp eax, 0x80004004
je 0x4476f2
cmp byte [ebp - 0xd], bl
je 0x4476f2
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0xb
call fcn.00448243
push dword [ebp - 0x44]
call fcn.004036ef
pop ecx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x38]
call fcn.00421b73
cmp edi, ebx
mov byte [ebp - 4], 6
je 0x4476ee
mov ecx, edi
call 0x4271b7
push 2
jmp 0x44775a
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push 0x45f510
push eax
call sub.MSVCRT.dll__CxxThrowException
cmp dword [ebp - 0xb4], ebx
jbe 0x44777b
cmp byte [ebp - 0xd], bl
jne 0x447725
lea eax, [ebp - 0x14]
push 0x45f510
push eax
mov dword [ebp - 0x14], 0x80004005
call sub.MSVCRT.dll__CxxThrowException
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0xb
call fcn.00448243
push dword [ebp - 0x44]
call fcn.004036ef
pop ecx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x38]
call fcn.00421b73
cmp edi, ebx
mov byte [ebp - 4], 6
je 0x447758
mov ecx, edi
call 0x4271b7
push 1
pop esi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.00447a41
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 2
call fcn.0044817b
jmp 0x447291
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0xb
call fcn.00448243
jmp 0x447250
mov ecx, 0xbbc
call fcn.00446e52
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x18
call fcn.0043decb
lea ecx, [ebp - 0x10c]
lea eax, [ebp - 0xfc]
neg ecx
sbb ecx, ecx
mov byte [ebp - 4], 0xb
and ecx, eax
call fcn.00448055
push dword [ebp - 0x44]
call fcn.004036ef
pop ecx
jmp 0x4470d3
cmp dword [ebp - 0x340], 9
jne 0x44788a
lea eax, [ebp - 0xe]
lea edx, [ebp - 0x35c]
push eax
lea eax, [ebp - 0x198]
push eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 0xe], bl
call fcn.00448b9f
cmp eax, ebx
je 0x447250
cmp eax, 0x80004004
je 0x447879
cmp byte [ebp - 0xe], bl
je 0x447879
push dword [ebp - 0x44]
call fcn.004036ef
pop ecx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x38]
call fcn.00421b73
cmp edi, ebx
mov byte [ebp - 4], 6
je 0x447832
mov ecx, edi
call 0x4271b7
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 4
call fcn.00447a41
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 2
call fcn.0044817b
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], bl
call fcn.00448097
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.0043decb
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 0x45f510
push eax
call sub.MSVCRT.dll__CxxThrowException
lea eax, [ebp - 0x14]
push 0x457790
push eax
mov dword [ebp - 0x14], str.Unsupported_command
call sub.MSVCRT.dll__CxxThrowException
mov ecx, dword [ecx]
test ecx, ecx
je 0x4478aa
jmp 0x4271b7
ret