Function at 0x402e84
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x41ad48
call fcn.0041a3e0
sub esp, 0x3c4
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_SetFileApisToOEM]
lea ecx, [ebp - 0x4c]
push 4
call fcn.0040407b
mov edi, 0x41e22c
mov dword [ebp - 0x4c], edi
xor esi, esi
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea ecx, [ebp - 0x58]
push eax
call fcn.00402aef
lea edx, [ebp - 0x4c]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 1
call fcn.00406381
and byte [ebp - 4], 0
push dword [ebp - 0x58]
call fcn.00407103
cmp dword [ebp - 0x44], 1
pop ecx
jne 0x402f00
mov dl, 1
mov ecx, 0x4263d0
call fcn.004047bd
mov dword [ebp - 0x4c], edi
mov dword [ebp - 4], 2
jmp 0x403526
push 1
push esi
lea ecx, [ebp - 0x4c]
call fcn.00402a0f
lea ecx, [ebp - 0x2b0]
call fcn.0040420c
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 3
call fcn.0040bebb
lea eax, [ebp - 0x2b0]
lea ecx, [ebp - 0x98]
push eax
lea eax, [ebp - 0x4c]
push eax
mov byte [ebp - 4], 4
call fcn.0040bec9
cmp byte [ebp - 0x2b0], 0
je 0x402f81
mov dl, 1
mov ecx, 0x4263d0
call fcn.004047bd
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 3
call fcn.00406575
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2b0]
call fcn.00404838
mov dword [ebp - 0x4c], edi
mov dword [ebp - 4], 5
jmp 0x403526
cmp byte [ebp - 0x2af], 0
je 0x402f96
call fcn.0041a160
mov cl, 1
call fcn.0040ae09
cmp byte [ebp - 0x2aa], 0
mov ebx, 0x4263c8
jne 0x402fa9
mov ebx, 0x4263d0
cmp byte [ebp - 0x2a9], 0
mov dword [0x426394], ebx
je 0x402fc1
xor dl, dl
mov ecx, ebx
call fcn.004047bd
lea eax, [ebp - 0x2b0]
lea ecx, [ebp - 0x98]
push eax
call fcn.0040c02c
push 0x44
call fcn.004070dc
pop ecx
mov dword [ebp - 0x10], eax
cmp eax, esi
mov byte [ebp - 4], 6
je 0x402ff1
mov ecx, eax
call fcn.0040492d
mov edi, eax
jmp 0x402ff3
xor edi, edi
cmp edi, esi
mov dword [ebp - 0x1c], edi
mov byte [ebp - 4], 4
mov dword [ebp - 0x12c], edi
je 0x40300a
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, edi
mov byte [ebp - 4], 7
call fcn.00412159
cmp eax, esi
je 0x40302a
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push 0x41ee78
push eax
call sub.MSVCRT.dll__CxxThrowException
lea ecx, [ebp - 0x290]
call fcn.0040be1a
cmp dword [edi + 0x38], esi
mov byte [ebp - 0x11], al
jne 0x40306f
test al, al
jne 0x403059
cmp dword [ebp - 0x290], 6
je 0x403059
lea ecx, [ebp - 0x290]
call fcn.0040be3e
test al, al
je 0x40306f
mov eax, dword [str.7_Zip_cannot_find_the_code_that_works_with_archives.]
push 0x41ee68
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call sub.MSVCRT.dll__CxxThrowException
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], 4
mov dword [ebp - 0x6c], 0x41e3b0
lea eax, [ebp - 0x6c]
mov ecx, edi
push eax
lea eax, [ebp - 0x154]
push eax
mov byte [ebp - 4], 8
call fcn.004124d1
test al, al
jne 0x4030b6
mov eax, dword [str.Unsupported_archive_type]
push 0x41ee68
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call sub.MSVCRT.dll__CxxThrowException
cmp dword [ebp - 0x290], 8
jne 0x403482
mov esi, 0x40730b
mov ecx, ebx
push esi
push str.Formats:
push esi
call fcn.004072fe
mov ecx, eax
call fcn.00407313
mov ecx, eax
call fcn.004072fe
mov edi, dword [edi + 0x38]
and dword [ebp - 0x20], 0
test edi, edi
jle 0x4032d1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [eax + 0x3c]
mov edi, dword [eax + ecx*4]
mov eax, dword [edi]
test eax, eax
jl 0x403144
cdq
push edx
push eax
push 0xa
lea ecx, [ebp - 0xe0]
pop edx
call fcn.00406d2f
lea eax, [ebp - 0xe0]
lea ecx, [ebp - 0x58]
push eax
call fcn.00404bf3
push 2
lea edx, [ebp - 0x58]
mov ecx, ebx
mov byte [ebp - 4], 9
call fcn.004047e2
mov byte [ebp - 4], 8
push dword [ebp - 0x58]
call fcn.00407103
pop ecx
jmp 0x403150
push 0x425064
mov ecx, ebx
call fcn.00407313
push 0x20
mov ecx, ebx
call fcn.00407383
cmp byte [edi + 0x18], 0
mov ecx, ebx
sete al
dec eax
and eax, 0x23
add eax, 0x20
push eax
call fcn.00407383
cmp byte [edi + 0x50], 0
mov ecx, ebx
sete al
dec eax
and eax, 0x2b
add eax, 0x20
push eax
call fcn.00407383
mov ecx, ebx
push 0x425064
call fcn.00407313
lea edx, [edi + 0x24]
mov ecx, ebx
push 6
call fcn.0040480d
mov ecx, ebx
push 0x425064
call fcn.00407313
xor eax, eax
lea ecx, [ebp - 0x38]
push 3
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
call fcn.0040161e
and dword [ebp - 0x18], 0
cmp dword [edi + 0x38], 0
mov byte [ebp - 4], 0xa
jle 0x403225
mov eax, dword [edi + 0x3c]
mov ecx, dword [ebp - 0x18]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x38]
push eax
mov dword [ebp - 0x70], eax
call fcn.00404bbd
mov eax, dword [ebp - 0x70]
cmp dword [eax + 0x10], 0
je 0x403210
push 0x42505c
lea ecx, [ebp - 0x38]
call fcn.00402be9
mov eax, dword [ebp - 0x70]
lea ecx, [ebp - 0x38]
add eax, 0xc
push eax
call fcn.00404bbd
lea ecx, [ebp - 0x38]
push 0x29
call fcn.00404b92
push 0x20
lea ecx, [ebp - 0x38]
call fcn.00404b92
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, dword [edi + 0x38]
jl 0x4031cc
push 0xe
lea edx, [ebp - 0x38]
mov ecx, ebx
call fcn.0040480d
mov ecx, ebx
push 0x425064
call fcn.00407313
and dword [ebp - 0x18], 0
cmp dword [edi + 0x48], 0
jbe 0x4032aa
mov eax, dword [edi + 0x4c]
mov ecx, dword [ebp - 0x18]
mov al, byte [eax + ecx]
cmp al, 0x20
mov byte [ebp - 0x24], al
jbe 0x403260
cmp al, 0x80
jae 0x403260
push dword [ebp - 0x24]
jmp 0x40328f
shr al, 4
cmp al, 0xa
movzx eax, al
jae 0x40326f
add eax, 0x30
jmp 0x403272
add eax, 0x37
push eax
mov ecx, ebx
call fcn.00407383
mov al, byte [ebp - 0x24]
and al, 0xf
cmp al, 0xa
movzx eax, al
jae 0x40328b
add eax, 0x30
jmp 0x40328e
add eax, 0x37
push eax
mov ecx, ebx
call fcn.00407383
mov ecx, ebx
push 0x20
call fcn.00407383
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, dword [edi + 0x48]
jb 0x403247
push esi
mov ecx, ebx
call fcn.004072fe
mov byte [ebp - 4], 8
push dword [ebp - 0x38]
call fcn.00407103
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
pop ecx
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [eax + 0x38]
jl 0x4030f3
push esi
push str.Codecs:
push esi
mov ecx, ebx
call fcn.004072fe
mov ecx, eax
call fcn.00407313
mov ecx, eax
call fcn.004072fe
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x10]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
test eax, eax
jne 0x403434
xor edi, edi
cmp dword [ebp - 0x10], edi
jbe 0x403434
mov ecx, dword [ebp - 0x1c]
push edi
call fcn.004127e0
test eax, eax
jl 0x403359
cdq
push edx
push eax
push 0xa
lea ecx, [ebp - 0xe0]
pop edx
call fcn.00406d2f
lea eax, [ebp - 0xe0]
lea ecx, [ebp - 0x58]
push eax
call fcn.00404bf3
push 2
lea edx, [ebp - 0x58]
mov ecx, ebx
mov byte [ebp - 4], 0xb
call fcn.004047e2
mov byte [ebp - 4], 8
push dword [ebp - 0x58]
call fcn.00407103
pop ecx
jmp 0x403365
push 0x425064
mov ecx, ebx
call fcn.00407313
push 0x20
mov ecx, ebx
call fcn.00407383
mov ecx, dword [ebp - 0x1c]
push edi
call fcn.004127f0
neg al
sbb al, al
mov ecx, ebx
and al, 0x23
add al, 0x20
push eax
call fcn.00407383
mov ecx, ebx
push 0x425064
call fcn.00407313
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x28]
push eax
push edi
call fcn.00412800
test eax, eax
je 0x4033ac
or dword [ebp - 0x28], 0xffffffff
or dword [ebp - 0x24], 0xffffffff
push 0x10
lea ecx, [ebp - 0x100]
pop edx
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call fcn.00406d2f
lea eax, [ebp - 0x100]
lea ecx, [ebp - 0x38]
push eax
call fcn.00404bf3
push 8
lea edx, [ebp - 0x38]
mov ecx, ebx
mov byte [ebp - 4], 0xc
call fcn.004047e2
mov byte [ebp - 4], 8
push dword [ebp - 0x38]
call fcn.00407103
mov ecx, ebx
mov dword [esp], 0x425064
call fcn.00407313
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x7c]
push edi
push eax
call fcn.0041288f
push 0xb
mov edx, eax
mov ecx, ebx
mov byte [ebp - 4], 0xd
call fcn.0040480d
mov byte [ebp - 4], 8
push dword [ebp - 0x7c]
call fcn.00407103
pop ecx
push esi
mov ecx, ebx
call fcn.004072fe
inc edi
cmp edi, dword [ebp - 0x10]
jb 0x40330d
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 7
call fcn.00407901
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 4
test eax, eax
je 0x403451
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 3
call fcn.00406575
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2b0]
call fcn.00404838
mov dword [ebp - 0x4c], 0x41e22c
mov dword [ebp - 4], 0xe
jmp 0x403b46
cmp dword [ebp - 0x290], 7
jne 0x4035e6
mov ecx, dword [ebp - 0x138]
mov edx, 0x424790
call fcn.00407546
cmp eax, esi
jne 0x403552
push dword [ebp - 0x13c]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0x144]
push dword [ebp - 0x140]
call fcn.00419f03
cmp eax, esi
je 0x403afd
cmp eax, 1
jne 0x403541
push str._nCRC_Error_n
mov ecx, ebx
call fcn.00407313
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 7
call fcn.00407901
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 4
test eax, eax
je 0x4034f7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 3
call fcn.00406575
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2b0]
call fcn.00404838
mov dword [ebp - 0x4c], 0x41e22c
push 2
mov dword [ebp - 4], 0xf
pop esi
lea ecx, [ebp - 0x4c]
call fcn.0040792a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.00407901
mov eax, esi
jmp 0x403b5c
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push 0x41ee78
push eax
call sub.MSVCRT.dll__CxxThrowException
push dword [ebp - 0x13c]
mov edx, dword [ebx + 4]
mov ecx, edi
push dword [ebp - 0x140]
push dword [ebp - 0x144]
call fcn.00419b4d
cmp eax, esi
je 0x403afd
cmp eax, 1
jne 0x4035d5
push str._nDecoding_Error_n
mov ecx, ebx
call fcn.00407313
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 7
call fcn.00407901
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 4
test eax, eax
je 0x4035a4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 3
call fcn.00406575
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2b0]
call fcn.00404838
mov dword [ebp - 0x4c], 0x41e22c
mov dword [ebp - 4], 0x10
jmp 0x404046
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push 0x41ee78
push eax
call sub.MSVCRT.dll__CxxThrowException
cmp byte [ebp - 0x11], 0
jne 0x403b6b
cmp dword [ebp - 0x290], 6
je 0x403f82
lea ecx, [ebp - 0x290]
call fcn.0040be3e
test al, al
je 0x403af6
push 3
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], esi
call fcn.0040161e
cmp byte [ebp - 0x1a4], 0
mov byte [ebp - 4], 0x18
je 0x403649
cmp dword [ebp - 0x19c], esi
jne 0x403649
push dword [0x424970]
lea ecx, [ebp - 0x1a0]
call fcn.00402b8a
lea ecx, [ebp - 0xd8]
call fcn.00402926
cmp byte [ebp - 0x280], 0
mov byte [ebp - 4], 0x19
mov dword [ebp - 0xd4], ebx
je 0x403675
cmp dword [ebp - 0x278], esi
je 0x403675
mov byte [ebp - 0x11], 1
jmp 0x403679
and byte [ebp - 0x11], 0
mov al, byte [ebp - 0x11]
lea ecx, [ebp - 0xcc]
mov byte [ebp - 0xd0], al
lea eax, [ebp - 0x27c]
push eax
call fcn.004015a1
lea ecx, [ebp - 0x350]
call fcn.00404604
mov al, byte [ebp - 0x148]
cmp byte [ebp - 0x280], 0
mov byte [ebp - 0x318], al
mov al, byte [ebp - 0x11]
mov byte [ebp - 4], 0x1a
mov byte [ebp - 0x316], al
je 0x4036d2
cmp dword [ebp - 0x278], esi
jne 0x4036d2
mov byte [ebp - 0x308], 1
jmp 0x4036d9
and byte [ebp - 0x308], 0
lea eax, [ebp - 0x27c]
lea ecx, [ebp - 0x314]
push eax
call fcn.004015a1
mov al, byte [ebp - 0x184]
lea ecx, [ebp - 0x350]
push ebx
mov byte [ebp - 0x317], al
call fcn.0040474c
lea ecx, [ebp - 0x128]
call fcn.00404112
lea eax, [ebp - 0x28c]
lea ecx, [ebp - 0x220]
push eax
lea eax, [ebp - 0x6c]
push eax
push edi
mov byte [ebp - 4], 0x1b
call fcn.00414b46
test al, al
jne 0x403743
mov eax, dword [str.Unsupported_archive_type]
push 0x41ee68
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call sub.MSVCRT.dll__CxxThrowException
lea eax, [ebp - 0x350]
lea edx, [ebp - 0x2a4]
push eax
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x220]
push eax
mov ecx, edi
call fcn.00414f9a
and dword [ebp - 0x18], 0
cmp dword [ebp - 0x2d4], 0
mov dword [ebp - 0x10], eax
mov esi, 0x40730b
jle 0x403869
push esi
mov ecx, ebx
call fcn.004072fe
mov ecx, ebx
push esi
push esi
push str.WARNINGS_for_files:
call fcn.00407313
mov ecx, eax
call fcn.004072fe
mov ecx, eax
call fcn.004072fe
mov eax, dword [ebp - 0x2d4]
xor edi, edi
test eax, eax
mov dword [ebp - 0x20], eax
jle 0x403811
mov eax, dword [ebp - 0x2d0]
push 0x42501c
mov ecx, ebx
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
push eax
call fcn.0040732b
mov ecx, eax
call fcn.00407313
mov eax, dword [ebp - 0x2bc]
lea ecx, [ebp - 0x7c]
mov edx, dword [eax + edi*4]
call fcn.004040b4
mov eax, dword [eax]
push esi
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x1c
call fcn.0040732b
mov ecx, eax
call fcn.004072fe
mov byte [ebp - 4], 0x1b
push dword [ebp - 0x7c]
call fcn.00407103
inc edi
pop ecx
cmp edi, dword [ebp - 0x20]
jl 0x4037b8
push esi
push str.________________
mov ecx, ebx
call fcn.00407313
mov ecx, eax
call fcn.004072fe
mov ecx, ebx
push str._file
push dword [ebp - 0x20]
push str.WARNING:_Cannot_find
call fcn.00407313
mov ecx, eax
call fcn.0040739d
mov ecx, eax
call fcn.00407313
push 1
pop edi
cmp dword [ebp - 0x20], edi
jle 0x40385b
push 0x424fe4
mov ecx, ebx
call fcn.00407313
push esi
mov ecx, ebx
call fcn.004072fe
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], 0
je 0x403955
xor edi, edi
push 3
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
call fcn.0040161e
cmp dword [ebp - 0x108], edi
mov byte [ebp - 4], 0x1d
mov esi, 0x424fe0
je 0x4038b1
lea eax, [ebp - 0x10c]
lea ecx, [ebp - 0x2c]
push eax
call fcn.00404bbd
lea ecx, [ebp - 0x2c]
push esi
call fcn.00402be9
cmp dword [ebp - 0x120], edi
je 0x4038d1
lea eax, [ebp - 0x124]
lea ecx, [ebp - 0x2c]
push eax
call fcn.00404bbd
lea ecx, [ebp - 0x2c]
push esi
call fcn.00402be9
cmp dword [ebp - 0x114], edi
je 0x4038f1
lea eax, [ebp - 0x118]
lea ecx, [ebp - 0x2c]
push eax
call fcn.00404bbd
lea ecx, [ebp - 0x2c]
push esi
call fcn.00402be9
mov edx, dword [ebp - 0x128]
cmp edx, edi
je 0x403926
lea ecx, [ebp - 0x7c]
call fcn.004040b4
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x1e
call fcn.00404bbd
mov byte [ebp - 4], 0x1d
push dword [ebp - 0x7c]
call fcn.00407103
pop ecx
push esi
lea ecx, [ebp - 0x2c]
call fcn.00402be9
cmp dword [ebp - 0x28], edi
je 0x403941
push dword [ebp - 0x2c]
mov ecx, ebx
push str._nError:_n
call fcn.0040732b
mov ecx, eax
call fcn.0040732b
mov eax, dword [ebp - 0x10]
push 0x41ee78
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call sub.MSVCRT.dll__CxxThrowException
mov eax, dword [ebp - 0x2fc]
test eax, eax
mov dword [ebp - 0x20], eax
jne 0x403988
cmp dword [ebp - 0x2d4], eax
jne 0x403a64
push esi
mov ecx, ebx
push dword [0x424964]
call fcn.00407313
mov ecx, eax
call fcn.004072fe
jmp 0x403a64
push esi
mov ecx, ebx
call fcn.004072fe
mov ecx, ebx
push esi
push esi
push str.WARNINGS_for_files:
call fcn.00407313
mov ecx, eax
call fcn.004072fe
mov ecx, eax
call fcn.004072fe
xor edi, edi
cmp dword [ebp - 0x20], edi
jle 0x403a0c
mov eax, dword [ebp - 0x2f8]
push 0x42501c
mov ecx, ebx
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
push eax
call fcn.0040732b
mov ecx, eax
call fcn.00407313
mov eax, dword [ebp - 0x2e4]
lea ecx, [ebp - 0x7c]
mov edx, dword [eax + edi*4]
call fcn.004040b4
mov eax, dword [eax]
push esi
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x1f
call fcn.0040732b
mov ecx, eax
call fcn.004072fe
mov byte [ebp - 4], 0x1b
push dword [ebp - 0x7c]
call fcn.00407103
inc edi
pop ecx
cmp edi, dword [ebp - 0x20]
jl 0x4039b3
push esi
push str.________________
mov ecx, ebx
call fcn.00407313
mov ecx, eax
call fcn.004072fe
mov ecx, ebx
push str._file
push dword [ebp - 0x20]
push str.WARNING:_Cannot_open
call fcn.00407313
mov ecx, eax
call fcn.0040739d
mov ecx, eax
call fcn.00407313
push 1
pop edi
cmp dword [ebp - 0x20], edi
jle 0x403a56
push 0x424fe4
mov ecx, ebx
call fcn.00407313
push esi
mov ecx, ebx
call fcn.004072fe
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x1a
call fcn.00404b72
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 0x19
call fcn.004046b2
push dword [ebp - 0xcc]
call fcn.00407103
push dword [ebp - 0x58]
call fcn.00407103
pop ecx
mov byte [ebp - 4], 7
pop ecx
lea ecx, [ebp - 0x6c]
call fcn.00407901
test edi, edi
mov byte [ebp - 4], 4
je 0x403ab1
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 3
call fcn.00406575
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2b0]
call fcn.00404838
mov dword [ebp - 0x4c], 0x41e22c
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0x20
call fcn.0040792a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.00407901
mov eax, dword [ebp - 0x18]
jmp 0x403b5c
mov ecx, ebx
call fcn.00404775
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 7
call fcn.00407901
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 4
test eax, eax
je 0x403b1a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 3
call fcn.00406575
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2b0]
call fcn.00404838
mov dword [ebp - 0x4c], 0x41e22c
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0x4c]
call fcn.0040792a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.00407901
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret
push 0x48
call fcn.004070dc
pop ecx
mov dword [ebp - 0x10], eax
cmp eax, esi
mov byte [ebp - 4], 0x11
je 0x403b89
mov ecx, eax
call fcn.00404a2f
mov edi, eax
jmp 0x403b8b
xor edi, edi
test edi, edi
mov byte [ebp - 4], 8
mov dword [ebp - 0x24], edi
je 0x403b9c
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov dword [edi + 0x40], ebx
mov al, byte [ebp - 0x280]
mov byte [edi + 0xc], al
lea eax, [ebp - 0x27c]
push eax
lea ecx, [edi + 0x10]
mov byte [ebp - 4], 0x12
call fcn.004015a1
xor esi, esi
lea ecx, [ebp - 0xf8]
mov dword [edi + 0x20], esi
mov dword [edi + 0x28], esi
mov dword [edi + 0x30], esi
mov dword [edi + 0x38], esi
mov dword [edi + 0x24], esi
mov dword [edi + 0x2c], esi
mov dword [edi + 0x34], esi
mov dword [edi + 0x3c], esi
call fcn.00402926
mov al, byte [ebp - 0x280]
lea ecx, [ebp - 0xec]
mov byte [ebp - 0xf0], al
lea eax, [ebp - 0x27c]
push eax
mov byte [ebp - 4], 0x13
mov dword [ebp - 0xf4], ebx
call fcn.004015a1
lea ecx, [ebp - 0x3d0]
call fcn.00404175
mov al, byte [ebp - 0x2aa]
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 0x14
mov byte [ebp - 0x3d0], al
call fcn.0040be2c
cmp dword [ebp - 0x290], 3
mov dword [ebp - 0x3cc], eax
lea ecx, [ebp - 0x3c8]
sete al
mov byte [ebp - 0x3cf], al
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x35c], eax
lea eax, [ebp - 0x26c]
push eax
call fcn.004015a1
mov al, byte [ebp - 0x2a8]
lea ecx, [ebp - 0x370]
mov byte [ebp - 0x3bc], al
call fcn.0040792a
lea eax, [ebp - 0x234]
lea ecx, [ebp - 0x370]
push eax
call fcn.004053f5
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], esi
push 3
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], esi
call fcn.0040161e
mov eax, dword [ebp - 0x298]
lea ecx, [ebp - 0xc0]
push ecx
lea ecx, [ebp - 0x38]
mov eax, dword [eax]
push ecx
lea ecx, [ebp - 0xf8]
push edi
push ecx
lea ecx, [ebp - 0x3d0]
add eax, 0xc
push ecx
push eax
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x25c]
mov byte [ebp - 4], 0x15
push eax
lea edx, [ebp - 0x6c]
mov ecx, dword [ebp - 0x1c]
call fcn.00410261
cmp dword [ebp - 0x34], 0
mov dword [ebp - 0x18], eax
mov esi, 0x40730b
je 0x403d1a
push dword [ebp - 0x38]
mov ecx, ebx
push str.Error:
push esi
call fcn.004072fe
mov ecx, eax
call fcn.00407313
mov ecx, eax
call fcn.0040732b
cmp dword [ebp - 0x18], 0
jne 0x403d1a
mov dword [ebp - 0x18], 0x80004005
push esi
mov ecx, ebx
call fcn.004072fe
mov eax, dword [edi + 0x24]
mov ecx, dword [edi + 0x20]
test eax, eax
ja 0x403d31
cmp ecx, 1
jbe 0x403d4e
push esi
push eax
push ecx
push str.Archives:
mov ecx, ebx
call fcn.00407313
mov ecx, eax
call fcn.004073c4
mov ecx, eax
call fcn.004072fe
mov eax, dword [edi + 0x28]
or eax, dword [edi + 0x2c]
jne 0x403e82
mov eax, dword [edi + 0x30]
or eax, dword [edi + 0x34]
jne 0x403e82
cmp dword [ebp - 0x18], 0
je 0x403d80
mov eax, dword [ebp - 0x18]
push 0x41ee78
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call sub.MSVCRT.dll__CxxThrowException
mov eax, dword [ebp - 0xa8]
mov ecx, eax
or ecx, dword [ebp - 0xa4]
je 0x403db8
push esi
mov ecx, ebx
push dword [ebp - 0xa4]
push eax
push str.Folders:
call fcn.00407313
mov ecx, eax
call fcn.004073c4
mov ecx, eax
call fcn.004072fe
mov eax, dword [ebp - 0xa8]
cmp dword [ebp - 0xa0], 1
jne 0x403dd2
cmp dword [ebp - 0x9c], 0
jne 0x403dd2
or eax, dword [ebp - 0xa4]
je 0x403df9
push esi
mov ecx, ebx
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
push str.Files:
call fcn.00407313
mov ecx, eax
call fcn.004073c4
mov ecx, eax
call fcn.004072fe
push esi
mov ecx, ebx
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
push str.Compressed:
push esi
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
push str.Size:
call fcn.00407313
mov ecx, eax
call fcn.004073c4
mov ecx, eax
call fcn.004072fe
mov ecx, eax
call fcn.00407313
mov ecx, eax
call fcn.004073c4
mov ecx, eax
call fcn.004072fe
push dword [ebp - 0x38]
call fcn.00407103
pop ecx
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x3d0]
call fcn.00404b0b
push dword [ebp - 0xec]
call fcn.00407103
test edi, edi
pop ecx
mov byte [ebp - 4], 8
je 0x403afd
mov eax, dword [edi]
push edi
call dword [eax + 8]
jmp 0x403afd
cmp dword [edi + 0x24], 0
ja 0x403e8e
cmp dword [edi + 0x20], 1
jbe 0x403ee8
push esi
mov ecx, ebx
call fcn.004072fe
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x2c]
mov edx, eax
or edx, ecx
je 0x403ebf
push esi
push ecx
push eax
push str.Archive_Errors:
mov ecx, ebx
call fcn.00407313
mov ecx, eax
call fcn.004073c4
mov ecx, eax
call fcn.004072fe
mov eax, dword [edi + 0x30]
mov ecx, dword [edi + 0x34]
mov edx, eax
or edx, ecx
je 0x403ee8
push esi
push ecx
push eax
push str.Sub_items_Errors:
mov ecx, ebx
call fcn.00407313
mov ecx, eax
call fcn.004073c4
mov ecx, eax
call fcn.004072fe
cmp dword [ebp - 0x18], 0
je 0x403f02
mov eax, dword [ebp - 0x18]
push 0x41ee78
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call sub.MSVCRT.dll__CxxThrowException
push dword [ebp - 0x38]
call fcn.00407103
pop ecx
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x3d0]
call fcn.00404b0b
push dword [ebp - 0xec]
call fcn.00407103
test edi, edi
pop ecx
mov byte [ebp - 4], 8
je 0x403f34
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 7
call fcn.00407901
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 4
test eax, eax
je 0x403f51
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 3
call fcn.00406575
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2b0]
call fcn.00404838
mov dword [ebp - 0x4c], 0x41e22c
mov dword [ebp - 4], 0x16
jmp 0x404046
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x298]
push ecx
lea ecx, [ebp - 0x27c]
push ecx
lea ecx, [ebp - 0x280]
push ecx
mov dword [ebp - 0x28], esi
push dword [ebp - 0x270]
mov dword [ebp - 0x24], esi
mov eax, dword [eax]
lea edx, [ebp - 0x6c]
push dword [ebp - 0x2a9]
add eax, 0xc
mov ecx, edi
push eax
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x25c]
push eax
call fcn.00401f2e
cmp dword [ebp - 0x24], esi
ja 0x403fd8
cmp dword [ebp - 0x28], esi
jbe 0x404062
push dword [ebp - 0x24]
mov ecx, 0x4263d0
push dword [ebp - 0x28]
push str.Errors:
push 0x40730b
call fcn.004072fe
mov ecx, eax
call fcn.00407313
mov ecx, eax
call fcn.004073c4
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 7
call fcn.00407901
cmp edi, esi
mov byte [ebp - 4], 4
je 0x40401a
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 3
call fcn.00406575
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2b0]
call fcn.00404838
mov dword [ebp - 0x4c], 0x41e22c
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0x4c]
call fcn.0040792a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.00407901
push 2
pop eax
jmp 0x403b5c
cmp eax, esi
je 0x403afd
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push 0x41ee78
push eax
call sub.MSVCRT.dll__CxxThrowException