Function at 0x403db6
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x4246c3
call fcn.00423b10
sub esp, 0x314
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_SetFileApisToOEM]
xor esi, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea ecx, [ebp - 0x38]
push eax
call fcn.00402f3e
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 1
call fcn.00407105
and byte [ebp - 4], 0
push dword [ebp - 0x38]
call fcn.00407e81
cmp dword [ebp - 0x40], 1
pop ecx
jne 0x403e26
mov dl, 1
mov ecx, 0x432d90
call fcn.00405634
mov dword [ebp - 4], 2
jmp 0x404885
push 1
push esi
lea ecx, [ebp - 0x44]
call fcn.004031c4
lea ecx, [ebp - 0x298]
call fcn.00405052
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.0040f776
lea eax, [ebp - 0x298]
lea ecx, [ebp - 0x74]
push eax
lea eax, [ebp - 0x44]
push eax
mov byte [ebp - 4], 4
call fcn.0040f784
cmp byte [ebp - 0x298], 0
je 0x403e9b
mov dl, 1
mov ecx, 0x432d90
call fcn.00405634
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.004072c0
and byte [ebp - 4], 0
lea ecx, [ebp - 0x298]
call fcn.00405a3a
mov dword [ebp - 4], 5
jmp 0x404885
cmp byte [ebp - 0x297], 0
je 0x403eb0
call fcn.00423710
mov cl, 1
call fcn.0040bf61
cmp byte [ebp - 0x290], 0
mov ebx, 0x432d88
jne 0x403ec3
mov ebx, 0x432d90
cmp byte [ebp - 0x28f], 0
mov dword [0x432d58], ebx
je 0x403edb
xor dl, dl
mov ecx, ebx
call fcn.00405634
lea eax, [ebp - 0x298]
lea ecx, [ebp - 0x74]
push eax
call fcn.0040fbff
push 0x40
call fcn.00407e5a
pop ecx
mov dword [ebp - 0x20], eax
cmp eax, esi
mov byte [ebp - 4], 6
je 0x403f08
mov ecx, eax
call fcn.00404e57
mov edi, eax
jmp 0x403f0a
xor edi, edi
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0x18], edi
mov byte [ebp - 4], 4
call fcn.00405b19
push edi
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 7
call fcn.00421c41
mov ecx, edi
lea eax, [edi + 4]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
lea ecx, [ebp - 0xe0]
call fcn.00421c41
mov al, byte [ebp - 0x296]
mov ecx, edi
mov byte [edi + 0x3c], al
mov al, byte [ebp - 0x295]
mov byte [edi + 0x3d], al
call fcn.0041b82a
cmp eax, esi
je 0x403f71
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push 0x4298f8
push eax
call sub.MSVCRT.dll__CxxThrowException
lea ecx, [ebp - 0x280]
call fcn.0040f6d0
cmp dword [edi + 0x34], esi
mov byte [ebp - 0xd], al
jne 0x403fb6
test al, al
jne 0x403fa0
cmp dword [ebp - 0x280], 6
je 0x403fa0
lea ecx, [ebp - 0x280]
call fcn.0040f6f4
test al, al
je 0x403fb6
mov eax, dword [str.7_Zip_cannot_find_the_code_that_works_with_archives.]
push 0x4298e8
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
call sub.MSVCRT.dll__CxxThrowException
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], esi
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
lea eax, [ebp - 0x12c]
push eax
mov byte [ebp - 4], 8
call fcn.0041bcfd
test al, al
jne 0x403fef
mov eax, dword [str.Unsupported_archive_type]
push 0x4298e8
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
call sub.MSVCRT.dll__CxxThrowException
cmp dword [ebp - 0x280], 8
jne 0x4044b8
mov esi, 0x408128
mov ecx, ebx
push esi
push str.Libs:
push esi
call fcn.0040811b
mov ecx, eax
call fcn.00408130
mov ecx, eax
call fcn.0040811b
mov eax, dword [edi + 0x10]
and dword [ebp - 0x14], 0
test eax, eax
jle 0x404062
mov edx, dword [ebp - 0x14]
mov ecx, ebx
call fcn.004056db
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x14]
push esi
mov eax, dword [eax + ecx*4]
mov ecx, ebx
mov eax, dword [eax + 4]
push eax
push 0x20
call fcn.0040826c
mov ecx, eax
call fcn.00408148
mov ecx, eax
call fcn.0040811b
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [edi + 0x10]
jl 0x404028
push esi
push str.Formats:
push esi
mov ecx, ebx
call fcn.0040811b
mov ecx, eax
call fcn.00408130
mov ecx, eax
call fcn.0040811b
mov eax, dword [edi + 0x34]
and dword [ebp - 0x14], 0
test eax, eax
jle 0x40423b
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + 0x30]
mov edi, dword [eax + ecx*4]
mov ecx, ebx
mov edx, dword [edi]
call fcn.004056db
cmp byte [edi + 0x18], 0
mov ecx, ebx
sete al
dec eax
and eax, 0x23
add eax, 0x20
push eax
call fcn.0040826c
cmp byte [edi + 0x44], 0
mov ecx, ebx
sete al
dec eax
and eax, 0x2b
add eax, 0x20
push eax
call fcn.0040826c
cmp byte [edi + 0x45], 0
mov ecx, ebx
sete al
dec eax
and eax, 0x33
add eax, 0x20
push eax
call fcn.0040826c
cmp byte [edi + 0x46], 0
mov ecx, ebx
sete al
dec eax
and eax, 0x24
add eax, 0x20
push eax
call fcn.0040826c
mov ecx, ebx
push 0x430880
call fcn.00408130
lea edx, [edi + 0x24]
mov ecx, ebx
push 6
call fcn.00405702
mov ecx, ebx
push 0x430880
call fcn.00408130
lea ecx, [ebp - 0x38]
call fcn.00402f1e
and dword [ebp - 0x1c], 0
cmp dword [edi + 0x34], 0
mov byte [ebp - 4], 9
jle 0x40418d
mov eax, dword [edi + 0x30]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x38]
push eax
mov dword [ebp - 0x4c], eax
call fcn.00403667
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0x10], 0
je 0x404178
push 0x430fc8
lea ecx, [ebp - 0x38]
call fcn.00402ffc
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x38]
add eax, 0xc
push eax
call fcn.00403667
lea ecx, [ebp - 0x38]
push 0x29
call fcn.00405ce0
push 0x20
lea ecx, [ebp - 0x38]
call fcn.00405ce0
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, dword [edi + 0x34]
jl 0x404134
push 0xe
lea edx, [ebp - 0x38]
mov ecx, ebx
call fcn.00405702
mov ecx, ebx
push 0x430880
call fcn.00408130
and dword [ebp - 0x1c], 0
cmp dword [edi + 0x3c], 0
jbe 0x404212
mov eax, dword [edi + 0x40]
mov ecx, dword [ebp - 0x1c]
mov al, byte [eax + ecx]
cmp al, 0x20
mov byte [ebp - 0x20], al
jbe 0x4041c8
cmp al, 0x80
jae 0x4041c8
push dword [ebp - 0x20]
jmp 0x4041f7
shr al, 4
cmp al, 0xa
movzx eax, al
jae 0x4041d7
add eax, 0x30
jmp 0x4041da
add eax, 0x37
push eax
mov ecx, ebx
call fcn.0040826c
mov al, byte [ebp - 0x20]
and al, 0xf
cmp al, 0xa
movzx eax, al
jae 0x4041f3
add eax, 0x30
jmp 0x4041f6
add eax, 0x37
push eax
mov ecx, ebx
call fcn.0040826c
mov ecx, ebx
push 0x20
call fcn.0040826c
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, dword [edi + 0x3c]
jb 0x4041af
push esi
mov ecx, ebx
call fcn.0040811b
mov byte [ebp - 4], 8
push dword [ebp - 0x38]
call fcn.00407e81
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
pop ecx
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [eax + 0x34]
jl 0x40408d
mov edi, eax
push esi
push str.Lib_________ID__Name
push esi
push str.Codecs:
push esi
mov ecx, ebx
call fcn.0040811b
mov ecx, eax
call fcn.00408130
mov ecx, eax
call fcn.0040811b
mov ecx, eax
call fcn.00408130
mov ecx, eax
call fcn.0040811b
mov eax, dword [edi]
lea ecx, [ebp - 0x48]
push ecx
push edi
call dword [eax + 0xc]
test eax, eax
jne 0x404365
and dword [ebp - 0x14], eax
cmp dword [ebp - 0x48], eax
jbe 0x404365
push dword [ebp - 0x14]
mov ecx, edi
call fcn.0041bf15
mov edx, eax
mov ecx, ebx
call fcn.004056db
mov ecx, edi
push dword [ebp - 0x14]
call fcn.0041bf34
neg al
sbb al, al
mov ecx, ebx
and al, 0x23
add al, 0x20
push eax
call fcn.0040826c
mov ecx, ebx
push 0x430880
call fcn.00408130
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
push dword [ebp - 0x14]
call fcn.0041bf44
test eax, eax
je 0x4042dc
or dword [ebp - 0x24], 0xffffffff
or dword [ebp - 0x20], 0xffffffff
push dword [ebp - 0x20]
lea ecx, [ebp - 0x94]
push dword [ebp - 0x24]
call fcn.00407ae8
lea eax, [ebp - 0x94]
lea ecx, [ebp - 0x38]
push eax
call fcn.00403cfc
push 8
lea edx, [ebp - 0x38]
mov ecx, ebx
mov byte [ebp - 4], 0xa
call fcn.00405659
mov byte [ebp - 4], 8
push dword [ebp - 0x38]
call fcn.00407e81
pop ecx
lea eax, [ebp - 0x54]
push dword [ebp - 0x14]
mov ecx, edi
push eax
call fcn.0041bfae
mov eax, dword [eax]
push esi
push eax
push 0x430880
mov ecx, ebx
mov byte [ebp - 4], 0xb
call fcn.00408130
mov ecx, eax
call fcn.00408148
mov ecx, eax
call fcn.0040811b
mov byte [ebp - 4], 8
push dword [ebp - 0x54]
call fcn.00407e81
inc dword [ebp - 0x14]
pop ecx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x48]
jb 0x404289
push esi
push str._L_Size_____ID__Name
push esi
push str.Hashers:
push esi
mov ecx, ebx
call fcn.0040811b
mov ecx, eax
call fcn.00408130
mov ecx, eax
call fcn.0040811b
mov ecx, eax
call fcn.00408130
mov ecx, eax
call fcn.0040811b
mov ecx, dword [edi + 4]
lea eax, [edi + 4]
push eax
call dword [ecx + 0xc]
and dword [ebp - 0x14], 0
mov dword [ebp - 0x48], eax
test eax, eax
jbe 0x404479
push dword [ebp - 0x14]
mov ecx, edi
call fcn.0041bf25
mov edx, eax
mov ecx, ebx
call fcn.004056db
mov ecx, edi
push 4
push dword [ebp - 0x14]
call fcn.0041c135
mov edx, eax
mov ecx, ebx
call fcn.0040568a
mov ecx, ebx
push 0x20
call fcn.0040826c
lea edx, [ebp - 0x94]
mov ecx, edi
push dword [ebp - 0x14]
mov dword [ebp - 0x20], edx
call fcn.0041c039
push edx
push eax
mov eax, dword [ebp - 0x20]
mov ecx, eax
call fcn.00407ae8
lea eax, [ebp - 0x94]
lea ecx, [ebp - 0x38]
push eax
call fcn.00403cfc
push 6
lea edx, [ebp - 0x38]
mov ecx, ebx
mov byte [ebp - 4], 0xc
call fcn.00405659
mov byte [ebp - 4], 8
push dword [ebp - 0x38]
call fcn.00407e81
mov edi, dword [ebp - 0x18]
pop ecx
push dword [ebp - 0x14]
lea eax, [ebp - 0x54]
mov ecx, edi
push eax
call fcn.0041c0a6
mov eax, dword [eax]
push esi
push eax
push 0x430880
mov ecx, ebx
mov byte [ebp - 4], 0xd
call fcn.00408130
mov ecx, eax
call fcn.00408148
mov ecx, eax
call fcn.0040811b
mov byte [ebp - 4], 8
push dword [ebp - 0x54]
call fcn.00407e81
inc dword [ebp - 0x14]
pop ecx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x48]
jb 0x4043ae
push dword [ebp - 0x60]
call fcn.00407e81
pop ecx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xe4]
call fcn.00405b35
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.004072c0
and byte [ebp - 4], 0
lea ecx, [ebp - 0x298]
call fcn.00405a3a
mov dword [ebp - 4], 0xe
jmp 0x4048db
cmp dword [ebp - 0x280], 7
jne 0x40457b
lea ecx, [ebp - 0xe4]
call fcn.0040c95b
cmp eax, esi
je 0x4044e5
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push 0x4298f8
push eax
call sub.MSVCRT.dll__CxxThrowException
push dword [ebx + 4]
mov edi, dword [ebp - 0x11c]
lea eax, [ebp - 0x234]
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x20], esp
push eax
call fcn.00403730
lea ecx, [ebp - 0xe4]
mov edx, edi
call fcn.004036b9
cmp eax, esi
je 0x4048a1
cmp eax, 1
jne 0x40456a
push str._nDecoding_Error_n
mov ecx, ebx
call fcn.00408130
push dword [ebp - 0x60]
call fcn.00407e81
pop ecx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xe4]
call fcn.00405b35
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.004072c0
and byte [ebp - 4], 0
lea ecx, [ebp - 0x298]
call fcn.00405a3a
push 2
mov dword [ebp - 4], 0xf
pop esi
jmp 0x404885
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push 0x4298f8
push eax
call sub.MSVCRT.dll__CxxThrowException
cmp byte [ebp - 0xd], 0
jne 0x4048fd
cmp dword [ebp - 0x280], 6
je 0x404d51
lea ecx, [ebp - 0x280]
call fcn.0040f6f4
test al, al
je 0x404770
cmp byte [ebp - 0x1a4], 0
je 0x4045c7
cmp dword [ebp - 0x19c], esi
jne 0x4045c7
push dword [0x4308ec]
lea ecx, [ebp - 0x1a0]
call fcn.00402f9d
lea ecx, [ebp - 0x8c]
call fcn.00402d07
cmp byte [ebp - 0x270], 0
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x88], ebx
je 0x4045f3
cmp dword [ebp - 0x268], esi
je 0x4045f3
mov byte [ebp - 0xd], 1
jmp 0x4045f7
and byte [ebp - 0xd], 0
mov al, byte [ebp - 0xd]
lea ecx, [ebp - 0x80]
mov byte [ebp - 0x84], al
lea eax, [ebp - 0x26c]
push eax
call fcn.00401526
lea ecx, [ebp - 0x320]
call fcn.00405408
mov al, byte [ebp - 0x120]
cmp byte [ebp - 0x270], 0
mov byte [ebp - 0x2e4], al
mov al, byte [ebp - 0xd]
mov byte [ebp - 4], 0x18
mov byte [ebp - 0x2ae], al
je 0x40464d
cmp dword [ebp - 0x268], esi
jne 0x40464d
mov byte [ebp - 0x2a0], 1
jmp 0x404654
and byte [ebp - 0x2a0], 0
lea eax, [ebp - 0x26c]
lea ecx, [ebp - 0x2ac]
push eax
call fcn.00401526
mov al, byte [ebp - 0x184]
lea ecx, [ebp - 0x320]
push ebx
mov byte [ebp - 0x2e3], al
call fcn.004054a6
lea ecx, [ebp - 0xbc]
call fcn.0040500f
lea eax, [ebp - 0x27c]
lea ecx, [ebp - 0x220]
push eax
lea eax, [ebp - 0x60]
push eax
push edi
mov byte [ebp - 4], 0x19
call fcn.0041f318
test al, al
jne 0x4046be
mov eax, dword [str.Cant_create_archive_for_that_type]
push 0x4298e8
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
call sub.MSVCRT.dll__CxxThrowException
lea eax, [ebp - 0x320]
lea edx, [ebp - 0x28c]
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x220]
push eax
mov ecx, edi
call fcn.0041f5eb
lea edx, [ebp - 0x320]
lea ecx, [ebp - 0xbc]
push ebx
push ecx
neg edx
sbb edx, edx
lea ecx, [ebp - 0x318]
and edx, ecx
mov ecx, eax
call fcn.0040572d
lea ecx, [ebp - 0xbc]
mov esi, eax
mov byte [ebp - 4], 0x18
call fcn.00405cc0
lea ecx, [ebp - 0x320]
mov byte [ebp - 4], 0x17
call fcn.004054cb
push dword [ebp - 0x80]
call fcn.00407e81
push dword [ebp - 0x60]
call fcn.00407e81
pop ecx
mov byte [ebp - 4], 4
pop ecx
lea ecx, [ebp - 0xe4]
call fcn.00405b35
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.004072c0
and byte [ebp - 4], 0
lea ecx, [ebp - 0x298]
call fcn.00405a3a
mov dword [ebp - 4], 0x1a
jmp 0x404885
cmp dword [ebp - 0x280], 9
jne 0x40489a
lea ecx, [ebp - 0x318]
call fcn.00405584
mov al, byte [ebp - 0x120]
lea ecx, [ebp - 0x2d8]
mov byte [ebp - 4], 0x1b
mov byte [ebp - 0x2dc], al
call fcn.0040318f
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x2c8], esi
mov dword [ebp - 0x2e0], ebx
mov dword [ebp - 0x2e4], ebx
call fcn.0040500f
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0x1c
call fcn.0040c95b
cmp eax, esi
je 0x4047e4
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push 0x4298f8
push eax
call sub.MSVCRT.dll__CxxThrowException
lea eax, [ebp - 0x318]
lea edx, [ebp - 0x28c]
push eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ebp - 0xe4]
call fcn.0041a114
lea edx, [ebp - 0x318]
lea ecx, [ebp - 0xbc]
push ebx
push ecx
neg edx
sbb edx, edx
lea ecx, [ebp - 0x310]
and edx, ecx
mov ecx, eax
call fcn.0040572d
lea ecx, [ebp - 0xbc]
mov esi, eax
mov byte [ebp - 4], 0x1b
call fcn.00405cc0
lea ecx, [ebp - 0x318]
mov byte [ebp - 4], 8
call fcn.004055c8
push dword [ebp - 0x60]
call fcn.00407e81
pop ecx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xe4]
call fcn.00405b35
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.004072c0
and byte [ebp - 4], 0
lea ecx, [ebp - 0x298]
call fcn.00405a3a
mov dword [ebp - 4], 0x1d
lea ecx, [ebp - 0x44]
call fcn.0040318f
push dword [ebp - 0x44]
call fcn.00407e81
pop ecx
mov eax, esi
jmp 0x4048ee
mov ecx, ebx
call fcn.004055ec
push dword [ebp - 0x60]
call fcn.00407e81
pop ecx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xe4]
call fcn.00405b35
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.004072c0
and byte [ebp - 4], 0
lea ecx, [ebp - 0x298]
call fcn.00405a3a
mov dword [ebp - 4], 0x1e
lea ecx, [ebp - 0x44]
call fcn.0040318f
push dword [ebp - 0x44]
call fcn.00407e81
pop ecx
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret
push 0x48
call fcn.00407e5a
pop ecx
mov dword [ebp - 0x20], eax
cmp eax, esi
mov byte [ebp - 4], 0x10
je 0x40491b
mov ecx, eax
call fcn.00405bad
mov edi, eax
jmp 0x40491d
xor edi, edi
test edi, edi
mov byte [ebp - 4], 8
mov dword [ebp - 0x4c], edi
je 0x40492e
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov dword [edi + 0x40], ebx
mov al, byte [ebp - 0x270]
mov byte [edi + 0xc], al
lea eax, [ebp - 0x26c]
push eax
lea ecx, [edi + 0x10]
mov byte [ebp - 4], 0x11
call fcn.00401526
xor eax, eax
lea ecx, [ebp - 0x8c]
mov dword [edi + 0x20], eax
mov dword [edi + 0x28], eax
mov dword [edi + 0x30], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0x24], eax
mov dword [edi + 0x2c], eax
mov dword [edi + 0x34], eax
mov dword [edi + 0x3c], eax
call fcn.00402d07
mov al, byte [ebp - 0x270]
lea ecx, [ebp - 0x80]
mov byte [ebp - 0x84], al
lea eax, [ebp - 0x26c]
push eax
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x88], ebx
call fcn.00401526
lea ecx, [ebp - 0x118]
call fcn.00404fd0
mov eax, dword [ebp - 0x291]
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 0x13
mov byte [ebp - 0x118], al
mov byte [ebp - 0x117], ah
call fcn.0040f6e2
cmp dword [ebp - 0x280], 3
mov dword [ebp - 0x110], eax
lea ecx, [ebp - 0x108]
sete al
mov byte [ebp - 0x115], al
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x10c], eax
lea eax, [ebp - 0x25c]
push eax
call fcn.00401526
mov al, byte [ebp - 0x28e]
lea ecx, [ebp - 0xf4]
mov byte [ebp - 0x116], al
mov al, byte [ebp - 0x25f]
mov byte [ebp - 0x114], al
mov al, byte [ebp - 0x228]
mov byte [ebp - 0xfc], al
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0xfb], eax
call fcn.00405f35
lea eax, [ebp - 0x234]
lea ecx, [ebp - 0xf4]
push eax
call fcn.00403796
lea ecx, [ebp - 0x38]
call fcn.00402f1e
mov eax, dword [ebp - 0x28c]
lea ecx, [ebp - 0xc4]
push ecx
lea ecx, [ebp - 0x38]
mov eax, dword [eax]
push ecx
lea ecx, [ebp - 0x8c]
push edi
push ecx
lea ecx, [ebp - 0x118]
add eax, 0xc
push ecx
push eax
lea eax, [ebp - 0x240]
mov byte [ebp - 4], 0x14
push eax
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x24c]
push eax
lea edx, [ebp - 0x60]
call fcn.00418d52
cmp dword [ebp - 0x34], 0
mov dword [ebp - 0x18], eax
mov esi, 0x408128
je 0x404ac8
push dword [ebp - 0x38]
mov ecx, ebx
push str.Error:
push esi
call fcn.0040811b
mov ecx, eax
call fcn.00408130
mov ecx, eax
call fcn.00408148
cmp dword [ebp - 0x18], 0
jne 0x404ac8
mov dword [ebp - 0x18], 0x80004005
push esi
mov ecx, ebx
call fcn.0040811b
mov eax, dword [edi + 0x24]
mov ecx, dword [edi + 0x20]
test eax, eax
ja 0x404adf
cmp ecx, 1
jbe 0x404afc
push esi
push eax
push ecx
push str.Archives:
mov ecx, ebx
call fcn.00408130
mov ecx, eax
call fcn.004082ad
mov ecx, eax
call fcn.0040811b
mov eax, dword [edi + 0x28]
or eax, dword [edi + 0x2c]
jne 0x404c63
mov eax, dword [edi + 0x30]
or eax, dword [edi + 0x34]
jne 0x404c63
cmp dword [ebp - 0x18], 0
je 0x404b2e
mov eax, dword [ebp - 0x18]
push 0x4298f8
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
call sub.MSVCRT.dll__CxxThrowException
mov eax, dword [ebp - 0xac]
mov ecx, eax
or ecx, dword [ebp - 0xa8]
je 0x404b66
push esi
mov ecx, ebx
push dword [ebp - 0xa8]
push eax
push str.Folders:
call fcn.00408130
mov ecx, eax
call fcn.004082ad
mov ecx, eax
call fcn.0040811b
mov eax, dword [ebp - 0xac]
cmp dword [ebp - 0xa4], 1
jne 0x404b80
cmp dword [ebp - 0xa0], 0
jne 0x404b80
or eax, dword [ebp - 0xa8]
je 0x404ba7
push esi
mov ecx, ebx
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push str.Files:
call fcn.00408130
mov ecx, eax
call fcn.004082ad
mov ecx, eax
call fcn.0040811b
push esi
mov ecx, ebx
push dword [ebp - 0xb0]
push dword [ebp - 0xb4]
push str.Compressed:
push esi
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
push str.Size:
call fcn.00408130
mov ecx, eax
call fcn.004082ad
mov ecx, eax
call fcn.0040811b
mov ecx, eax
call fcn.00408130
mov ecx, eax
call fcn.004082ad
mov ecx, eax
call fcn.0040811b
cmp byte [ebp - 0x25f], 0
je 0x404c2b
mov ecx, dword [ebp - 0x9c]
lea edx, [ebp - 0x2c]
call fcn.00407b43
lea eax, [ebp - 0x2c]
mov ecx, ebx
push esi
push eax
push str.CRC:
call fcn.00408130
mov ecx, eax
call fcn.00408130
mov ecx, eax
call fcn.0040811b
push dword [ebp - 0x38]
call fcn.00407e81
pop ecx
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x118]
call fcn.00405c74
push dword [ebp - 0x80]
call fcn.00407e81
test edi, edi
pop ecx
mov byte [ebp - 4], 8
je 0x4048a1
mov eax, dword [edi]
push edi
call dword [eax + 8]
jmp 0x4048a1
cmp dword [edi + 0x24], 0
ja 0x404c6f
cmp dword [edi + 0x20], 1
jbe 0x404cc9
push esi
mov ecx, ebx
call fcn.0040811b
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x2c]
mov edx, eax
or edx, ecx
je 0x404ca0
push esi
push ecx
push eax
push str.Archive_Errors:
mov ecx, ebx
call fcn.00408130
mov ecx, eax
call fcn.004082ad
mov ecx, eax
call fcn.0040811b
mov eax, dword [edi + 0x30]
mov ecx, dword [edi + 0x34]
mov edx, eax
or edx, ecx
je 0x404cc9
push esi
push ecx
push eax
push str.Sub_items_Errors:
mov ecx, ebx
call fcn.00408130
mov ecx, eax
call fcn.004082ad
mov ecx, eax
call fcn.0040811b
cmp dword [ebp - 0x18], 0
je 0x404ce3
mov eax, dword [ebp - 0x18]
push 0x4298f8
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
call sub.MSVCRT.dll__CxxThrowException
push dword [ebp - 0x38]
call fcn.00407e81
pop ecx
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x118]
call fcn.00405c74
push dword [ebp - 0x80]
call fcn.00407e81
test edi, edi
pop ecx
mov byte [ebp - 4], 8
je 0x404d12
mov eax, dword [edi]
push edi
call dword [eax + 8]
push dword [ebp - 0x60]
call fcn.00407e81
pop ecx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xe4]
call fcn.00405b35
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.004072c0
and byte [ebp - 4], 0
lea ecx, [ebp - 0x298]
call fcn.00405a3a
mov dword [ebp - 4], 0x15
jmp 0x404e25
lea ecx, [ebp - 0x50]
mov eax, dword [ebp - 0x28c]
push ecx
lea ecx, [ebp - 0x234]
push ecx
lea ecx, [ebp - 0x26c]
push ecx
lea ecx, [ebp - 0x270]
push ecx
mov dword [ebp - 0x50], esi
push dword [ebp - 0x260]
mov dword [ebp - 0x4c], esi
mov eax, dword [eax]
lea edx, [ebp - 0x60]
push dword [ebp - 0x28f]
add eax, 0xc
mov ecx, edi
push eax
lea eax, [ebp - 0x240]
push dword [ebp - 0x227]
push eax
lea eax, [ebp - 0x24c]
push eax
push dword [ebp - 0x291]
call fcn.00402149
cmp dword [ebp - 0x4c], esi
ja 0x404dba
cmp dword [ebp - 0x50], esi
jbe 0x404e3e
mov esi, 0x408128
mov ecx, 0x432d90
push esi
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push str.Errors:
push esi
call fcn.0040811b
mov ecx, eax
call fcn.00408130
mov ecx, eax
call fcn.004082ad
mov ecx, eax
call fcn.0040811b
push dword [ebp - 0x60]
call fcn.00407e81
pop ecx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xe4]
call fcn.00405b35
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.004072c0
and byte [ebp - 4], 0
lea ecx, [ebp - 0x298]
call fcn.00405a3a
mov dword [ebp - 4], 0x16
lea ecx, [ebp - 0x44]
call fcn.0040318f
push dword [ebp - 0x44]
call fcn.00407e81
pop ecx
push 2
pop eax
jmp 0x4048ee
cmp eax, esi
je 0x4048a1
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push 0x4298f8
push eax
call sub.MSVCRT.dll__CxxThrowException