Function at 0x403954
Capabilities:
Accept command line arguments

Disassembly:
mov eax, 0x41d2e3
call fcn.0041c860
sub esp, 0x368
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_SetFileApisToOEM]
lea ecx, [ebp - 0x4c]
push 4
call fcn.00404bef
mov edi, 0x420234
mov dword [ebp - 0x4c], edi
xor esi, esi
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea ecx, [ebp - 0x38]
push eax
call fcn.00402b7f
lea edx, [ebp - 0x4c]
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 1
call fcn.00406fb5
and byte [ebp - 4], 0
push dword [ebp - 0x38]
call fcn.00407d58
cmp dword [ebp - 0x44], 1
pop ecx
jne 0x4039d0
mov dl, 1
mov ecx, 0x4285d0
call fcn.004052e7
mov dword [ebp - 0x4c], edi
mov dword [ebp - 4], 2
jmp 0x403ff5
push 1
push esi
lea ecx, [ebp - 0x4c]
call fcn.00402d26
lea ecx, [ebp - 0x2d4]
call fcn.00404d31
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 3
call fcn.0040e621
lea eax, [ebp - 0x2d4]
lea ecx, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x4c]
push eax
mov byte [ebp - 4], 4
call fcn.0040e62f
cmp byte [ebp - 0x2d4], 0
je 0x403a51
mov dl, 1
mov ecx, 0x4285d0
call fcn.004052e7
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 3
call fcn.004071a9
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2d4]
call fcn.00405362
mov dword [ebp - 0x4c], edi
mov dword [ebp - 4], 5
jmp 0x403ff5
cmp byte [ebp - 0x2d3], 0
je 0x403a66
call fcn.0041c460
mov cl, 1
call fcn.0040c165
cmp byte [ebp - 0x2ce], 0
mov ebx, 0x4285c8
jne 0x403a79
mov ebx, 0x4285d0
cmp byte [ebp - 0x2cd], 0
mov dword [0x428598], ebx
je 0x403a91
xor dl, dl
mov ecx, ebx
call fcn.004052e7
lea eax, [ebp - 0x2d4]
lea ecx, [ebp - 0xc0]
push eax
call fcn.0040eabf
push 0x44
call fcn.00407d31
pop ecx
mov dword [ebp - 0x10], eax
cmp eax, esi
mov byte [ebp - 4], 6
je 0x403ac1
mov ecx, eax
call fcn.00405457
mov edi, eax
jmp 0x403ac3
xor edi, edi
cmp edi, esi
mov dword [ebp - 0x1c], edi
mov byte [ebp - 4], 4
mov dword [ebp - 0x150], edi
je 0x403ada
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, edi
mov byte [ebp - 4], 7
call fcn.00416467
cmp eax, esi
je 0x403afa
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push 0x4210e0
push eax
call sub.MSVCRT.dll__CxxThrowException
lea ecx, [ebp - 0x2b4]
call fcn.0040e580
cmp dword [edi + 0x38], esi
mov byte [ebp - 0x11], al
jne 0x403b3f
test al, al
jne 0x403b29
cmp dword [ebp - 0x2b4], 6
je 0x403b29
lea ecx, [ebp - 0x2b4]
call fcn.0040e5a4
test al, al
je 0x403b3f
mov eax, dword [str.7_Zip_cannot_find_the_code_that_works_with_archives.]
push 0x4210d0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call sub.MSVCRT.dll__CxxThrowException
push 4
lea ecx, [ebp - 0x7c]
call fcn.00404bef
mov dword [ebp - 0x7c], 0x420470
lea eax, [ebp - 0x7c]
mov ecx, edi
push eax
lea eax, [ebp - 0x178]
push eax
mov byte [ebp - 4], 8
call fcn.00416772
test al, al
jne 0x403b80
mov eax, dword [str.Unsupported_archive_type]
push 0x4210d0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call sub.MSVCRT.dll__CxxThrowException
cmp dword [ebp - 0x2b4], 8
jne 0x403f54
mov esi, 0x408018
mov ecx, ebx
push esi
push str.Formats:
push esi
call fcn.0040800b
mov ecx, eax
call fcn.00408020
mov ecx, eax
call fcn.0040800b
mov edi, dword [edi + 0x38]
and dword [ebp - 0x20], 0
test edi, edi
jle 0x403d9e
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [eax + 0x3c]
mov edi, dword [eax + ecx*4]
mov ecx, dword [edi]
test ecx, ecx
jl 0x403c11
lea edx, [ebp - 0x8c]
call fcn.00407a46
lea eax, [ebp - 0x8c]
lea ecx, [ebp - 0x98]
push eax
call fcn.00405706
push 2
lea edx, [ebp - 0x98]
mov ecx, ebx
mov byte [ebp - 4], 9
call fcn.0040530c
mov byte [ebp - 4], 8
push dword [ebp - 0x98]
call fcn.00407d58
pop ecx
jmp 0x403c1d
push 0x4272bc
mov ecx, ebx
call fcn.00408020
push 0x20
mov ecx, ebx
call fcn.004080f9
cmp byte [edi + 0x18], 0
mov ecx, ebx
sete al
dec eax
and eax, 0x23
add eax, 0x20
push eax
call fcn.004080f9
cmp byte [edi + 0x50], 0
mov ecx, ebx
sete al
dec eax
and eax, 0x2b
add eax, 0x20
push eax
call fcn.004080f9
mov ecx, ebx
push 0x4272bc
call fcn.00408020
lea edx, [edi + 0x24]
mov ecx, ebx
push 6
call fcn.00405337
mov ecx, ebx
push 0x4272bc
call fcn.00408020
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.00401615
and dword [ebp - 0x18], 0
cmp dword [edi + 0x38], 0
mov byte [ebp - 4], 0xa
jle 0x403cf2
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 - 0x68], eax
call fcn.004056d0
mov eax, dword [ebp - 0x68]
cmp dword [eax + 0x10], 0
je 0x403cdd
push 0x4272b4
lea ecx, [ebp - 0x38]
call fcn.00402c3f
mov eax, dword [ebp - 0x68]
lea ecx, [ebp - 0x38]
add eax, 0xc
push eax
call fcn.004056d0
lea ecx, [ebp - 0x38]
push 0x29
call fcn.004056a5
push 0x20
lea ecx, [ebp - 0x38]
call fcn.004056a5
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, dword [edi + 0x38]
jl 0x403c99
push 0xe
lea edx, [ebp - 0x38]
mov ecx, ebx
call fcn.00405337
mov ecx, ebx
push 0x4272bc
call fcn.00408020
and dword [ebp - 0x18], 0
cmp dword [edi + 0x48], 0
jbe 0x403d77
mov eax, dword [edi + 0x4c]
mov ecx, dword [ebp - 0x18]
mov al, byte [eax + ecx]
cmp al, 0x20
mov byte [ebp - 0x24], al
jbe 0x403d2d
cmp al, 0x80
jae 0x403d2d
push dword [ebp - 0x24]
jmp 0x403d5c
shr al, 4
cmp al, 0xa
movzx eax, al
jae 0x403d3c
add eax, 0x30
jmp 0x403d3f
add eax, 0x37
push eax
mov ecx, ebx
call fcn.004080f9
mov al, byte [ebp - 0x24]
and al, 0xf
cmp al, 0xa
movzx eax, al
jae 0x403d58
add eax, 0x30
jmp 0x403d5b
add eax, 0x37
push eax
mov ecx, ebx
call fcn.004080f9
mov ecx, ebx
push 0x20
call fcn.004080f9
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, dword [edi + 0x48]
jb 0x403d14
push esi
mov ecx, ebx
call fcn.0040800b
mov byte [ebp - 4], 8
push dword [ebp - 0x38]
call fcn.00407d58
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
pop ecx
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [eax + 0x38]
jl 0x403bbd
push esi
push str.Codecs:
push esi
mov ecx, ebx
call fcn.0040800b
mov ecx, eax
call fcn.00408020
mov ecx, eax
call fcn.0040800b
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 0x403f06
xor edi, edi
cmp dword [ebp - 0x10], edi
jbe 0x403f06
mov ecx, dword [ebp - 0x1c]
push edi
call fcn.00416967
test eax, eax
jl 0x403e25
lea edx, [ebp - 0x5c]
mov ecx, eax
call fcn.00407a46
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x98]
push eax
call fcn.00405706
push 2
lea edx, [ebp - 0x98]
mov ecx, ebx
mov byte [ebp - 4], 0xb
call fcn.0040530c
mov byte [ebp - 4], 8
push dword [ebp - 0x98]
call fcn.00407d58
pop ecx
jmp 0x403e31
push 0x4272bc
mov ecx, ebx
call fcn.00408020
push 0x20
mov ecx, ebx
call fcn.004080f9
mov ecx, dword [ebp - 0x1c]
push edi
call fcn.00416977
neg al
sbb al, al
mov ecx, ebx
and al, 0x23
add al, 0x20
push eax
call fcn.004080f9
mov ecx, ebx
push 0x4272bc
call fcn.00408020
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x28]
push eax
push edi
call fcn.00416987
test eax, eax
je 0x403e78
or dword [ebp - 0x28], 0xffffffff
or dword [ebp - 0x24], 0xffffffff
push 0x10
lea ecx, [ebp - 0xe0]
pop edx
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call fcn.00407963
lea eax, [ebp - 0xe0]
lea ecx, [ebp - 0x38]
push eax
call fcn.00405706
push 8
lea edx, [ebp - 0x38]
mov ecx, ebx
mov byte [ebp - 4], 0xc
call fcn.0040530c
mov byte [ebp - 4], 8
push dword [ebp - 0x38]
call fcn.00407d58
mov ecx, ebx
mov dword [esp], 0x4272bc
call fcn.00408020
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x88]
push edi
push eax
call fcn.00416a16
push 0xb
mov edx, eax
mov ecx, ebx
mov byte [ebp - 4], 0xd
call fcn.00405337
mov byte [ebp - 4], 8
push dword [ebp - 0x88]
call fcn.00407d58
pop ecx
push esi
mov ecx, ebx
call fcn.0040800b
inc edi
cmp edi, dword [ebp - 0x10]
jb 0x403dda
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 7
call fcn.0040882c
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 4
test eax, eax
je 0x403f23
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 3
call fcn.004071a9
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2d4]
call fcn.00405362
mov dword [ebp - 0x4c], 0x420234
mov dword [ebp - 4], 0xe
jmp 0x40416a
cmp dword [ebp - 0x2b4], 7
jne 0x40418f
mov ecx, dword [ebp - 0x15c]
mov edx, 0x42686c
call fcn.004082f4
cmp eax, esi
jne 0x404021
push dword [ebp - 0x160]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0x168]
push dword [ebp - 0x164]
call fcn.00403737
cmp eax, esi
je 0x404121
cmp eax, 1
jne 0x404010
push str._nCRC_Error_n
mov ecx, ebx
call fcn.00408020
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 7
call fcn.0040882c
cmp edi, esi
mov byte [ebp - 4], 4
je 0x403fc6
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 3
call fcn.004071a9
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2d4]
call fcn.00405362
mov dword [ebp - 0x4c], 0x420234
push 2
mov dword [ebp - 4], 0xf
pop esi
lea ecx, [ebp - 0x4c]
call fcn.00408855
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.0040882c
mov eax, esi
jmp 0x404180
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push 0x4210e0
push eax
call sub.MSVCRT.dll__CxxThrowException
push 4
lea ecx, [ebp - 0x60]
call fcn.00404bef
mov esi, 0x420468
mov dword [ebp - 0x60], esi
lea edx, [ebp - 0x60]
mov ecx, edi
mov byte [ebp - 4], 0x10
call fcn.0040c99c
test eax, eax
je 0x404056
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push 0x4210e0
push eax
call sub.MSVCRT.dll__CxxThrowException
push dword [ebp - 0x160]
mov eax, dword [ebx + 4]
lea edx, [ebp - 0x60]
mov ecx, edi
push dword [ebp - 0x164]
push dword [ebp - 0x168]
push eax
call fcn.0040337a
test eax, eax
je 0x404106
cmp eax, 1
jne 0x4040f5
push str._nDecoding_Error_n
mov ecx, ebx
call fcn.00408020
mov dword [ebp - 0x60], esi
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x11
call fcn.00408855
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 8
call fcn.0040882c
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 7
call fcn.0040882c
test edi, edi
mov byte [ebp - 4], 4
je 0x4040c4
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 3
call fcn.004071a9
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2d4]
call fcn.00405362
mov dword [ebp - 0x4c], 0x420234
mov dword [ebp - 4], 0x12
jmp 0x404bba
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push 0x4210e0
push eax
call sub.MSVCRT.dll__CxxThrowException
mov dword [ebp - 0x60], esi
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x13
call fcn.00408855
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 8
call fcn.0040882c
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 7
call fcn.0040882c
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 4
test eax, eax
je 0x40413e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 3
call fcn.004071a9
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2d4]
call fcn.00405362
mov dword [ebp - 0x4c], 0x420234
mov dword [ebp - 4], 0x23
lea ecx, [ebp - 0x4c]
call fcn.00408855
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.0040882c
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret
cmp byte [ebp - 0x11], 0
jne 0x4046a0
cmp dword [ebp - 0x2b4], 6
je 0x404af0
lea ecx, [ebp - 0x2b4]
call fcn.0040e5a4
test al, al
je 0x404694
cmp byte [ebp - 0x1c8], 0
je 0x4041db
cmp dword [ebp - 0x1c0], esi
jne 0x4041db
push dword [0x426bc0]
lea ecx, [ebp - 0x1c4]
call fcn.00402be0
lea ecx, [ebp - 0xa4]
call fcn.00402acc
cmp byte [ebp - 0x2a4], 0
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0xa0], ebx
je 0x404207
cmp dword [ebp - 0x29c], esi
je 0x404207
mov byte [ebp - 0x11], 1
jmp 0x40420b
and byte [ebp - 0x11], 0
mov al, byte [ebp - 0x11]
lea ecx, [ebp - 0x98]
mov byte [ebp - 0x9c], al
lea eax, [ebp - 0x2a0]
push eax
call fcn.004015a1
lea ecx, [ebp - 0x374]
call fcn.00405129
mov al, byte [ebp - 0x16c]
cmp byte [ebp - 0x2a4], 0
mov byte [ebp - 0x33c], al
mov al, byte [ebp - 0x11]
mov byte [ebp - 4], 0x1c
mov byte [ebp - 0x33a], al
je 0x404264
cmp dword [ebp - 0x29c], esi
jne 0x404264
mov byte [ebp - 0x32c], 1
jmp 0x40426b
and byte [ebp - 0x32c], 0
lea eax, [ebp - 0x2a0]
lea ecx, [ebp - 0x338]
push eax
call fcn.004015a1
mov al, byte [ebp - 0x1a8]
lea ecx, [ebp - 0x374]
push ebx
mov byte [ebp - 0x33b], al
call fcn.00405271
lea ecx, [ebp - 0xe8]
call fcn.00404cce
lea eax, [ebp - 0x2b0]
lea ecx, [ebp - 0x244]
push eax
lea eax, [ebp - 0x7c]
push eax
push edi
mov byte [ebp - 4], 0x1d
call fcn.0041901d
test al, al
jne 0x4042d5
mov eax, dword [str.Unsupported_archive_type]
push 0x4210d0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call sub.MSVCRT.dll__CxxThrowException
lea eax, [ebp - 0x374]
lea edx, [ebp - 0x2c8]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x244]
push eax
mov ecx, edi
call fcn.004194a2
and dword [ebp - 0x18], 0
cmp dword [ebp - 0x2f8], 0
mov dword [ebp - 0x10], eax
mov esi, 0x408018
jle 0x404401
push esi
mov ecx, ebx
call fcn.0040800b
mov ecx, ebx
push esi
push esi
push str.WARNINGS_for_files:
call fcn.00408020
mov ecx, eax
call fcn.0040800b
mov ecx, eax
call fcn.0040800b
mov eax, dword [ebp - 0x2f8]
xor edi, edi
test eax, eax
mov dword [ebp - 0x20], eax
jle 0x4043a9
mov eax, dword [ebp - 0x2f4]
push 0x427274
mov ecx, ebx
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
push eax
call fcn.00408038
mov ecx, eax
call fcn.00408020
mov eax, dword [ebp - 0x2e0]
lea ecx, [ebp - 0x88]
mov edx, dword [eax + edi*4]
call fcn.00404c28
mov eax, dword [eax]
push esi
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x1e
call fcn.00408038
mov ecx, eax
call fcn.0040800b
mov byte [ebp - 4], 0x1d
push dword [ebp - 0x88]
call fcn.00407d58
inc edi
pop ecx
cmp edi, dword [ebp - 0x20]
jl 0x40434a
push esi
push str.________________
mov ecx, ebx
call fcn.00408020
mov ecx, eax
call fcn.0040800b
mov ecx, ebx
push str._file
push dword [ebp - 0x20]
push str.WARNING:_Cannot_find
call fcn.00408020
mov ecx, eax
call fcn.00408113
mov ecx, eax
call fcn.00408020
push 1
pop edi
cmp dword [ebp - 0x20], edi
jle 0x4043f3
push 0x42723c
mov ecx, ebx
call fcn.00408020
push esi
mov ecx, ebx
call fcn.0040800b
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], 0
je 0x4044f3
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.00401615
cmp dword [ebp - 0xc8], edi
mov byte [ebp - 4], 0x1f
mov esi, 0x427238
je 0x404449
lea eax, [ebp - 0xcc]
lea ecx, [ebp - 0x2c]
push eax
call fcn.004056d0
lea ecx, [ebp - 0x2c]
push esi
call fcn.00402c3f
cmp dword [ebp - 0xe0], edi
je 0x404469
lea eax, [ebp - 0xe4]
lea ecx, [ebp - 0x2c]
push eax
call fcn.004056d0
lea ecx, [ebp - 0x2c]
push esi
call fcn.00402c3f
cmp dword [ebp - 0xd4], edi
je 0x404489
lea eax, [ebp - 0xd8]
lea ecx, [ebp - 0x2c]
push eax
call fcn.004056d0
lea ecx, [ebp - 0x2c]
push esi
call fcn.00402c3f
mov edx, dword [ebp - 0xe8]
cmp edx, edi
je 0x4044c4
lea ecx, [ebp - 0x88]
call fcn.00404c28
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x20
call fcn.004056d0
mov byte [ebp - 4], 0x1f
push dword [ebp - 0x88]
call fcn.00407d58
pop ecx
push esi
lea ecx, [ebp - 0x2c]
call fcn.00402c3f
cmp dword [ebp - 0x28], edi
je 0x4044df
push dword [ebp - 0x2c]
mov ecx, ebx
push str._nError:_n
call fcn.00408038
mov ecx, eax
call fcn.00408038
mov eax, dword [ebp - 0x10]
push 0x4210e0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call sub.MSVCRT.dll__CxxThrowException
mov eax, dword [ebp - 0x320]
test eax, eax
mov dword [ebp - 0x20], eax
jne 0x404526
cmp dword [ebp - 0x2f8], eax
jne 0x404608
push esi
mov ecx, ebx
push dword [0x426bb0]
call fcn.00408020
mov ecx, eax
call fcn.0040800b
jmp 0x404608
push esi
mov ecx, ebx
call fcn.0040800b
mov ecx, ebx
push esi
push esi
push str.WARNINGS_for_files:
call fcn.00408020
mov ecx, eax
call fcn.0040800b
mov ecx, eax
call fcn.0040800b
xor edi, edi
cmp dword [ebp - 0x20], edi
jle 0x4045b0
mov eax, dword [ebp - 0x31c]
push 0x427274
mov ecx, ebx
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
push eax
call fcn.00408038
mov ecx, eax
call fcn.00408020
mov eax, dword [ebp - 0x308]
lea ecx, [ebp - 0x88]
mov edx, dword [eax + edi*4]
call fcn.00404c28
mov eax, dword [eax]
push esi
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x21
call fcn.00408038
mov ecx, eax
call fcn.0040800b
mov byte [ebp - 4], 0x1d
push dword [ebp - 0x88]
call fcn.00407d58
inc edi
pop ecx
cmp edi, dword [ebp - 0x20]
jl 0x404551
push esi
push str.________________
mov ecx, ebx
call fcn.00408020
mov ecx, eax
call fcn.0040800b
mov ecx, ebx
push str._file
push dword [ebp - 0x20]
push str.WARNING:_Cannot_open
call fcn.00408020
mov ecx, eax
call fcn.00408113
mov ecx, eax
call fcn.00408020
push 1
pop edi
cmp dword [ebp - 0x20], edi
jle 0x4045fa
push 0x42723c
mov ecx, ebx
call fcn.00408020
push esi
mov ecx, ebx
call fcn.0040800b
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 0x1c]
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x1c
call fcn.00405685
lea ecx, [ebp - 0x374]
mov byte [ebp - 4], 0x1b
call fcn.004051d7
push dword [ebp - 0x98]
call fcn.00407d58
pop ecx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x7c]
call fcn.0040882c
test edi, edi
mov byte [ebp - 4], 4
je 0x40464c
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 3
call fcn.004071a9
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2d4]
call fcn.00405362
mov dword [ebp - 0x4c], 0x420234
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0x22
call fcn.00408855
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.0040882c
mov eax, dword [ebp - 0x18]
jmp 0x404180
mov ecx, ebx
call fcn.0040529f
jmp 0x404121
push 0x48
call fcn.00407d31
pop ecx
mov dword [ebp - 0x10], eax
cmp eax, esi
mov byte [ebp - 4], 0x14
je 0x4046be
mov ecx, eax
call fcn.00405554
mov edi, eax
jmp 0x4046c0
xor edi, edi
test edi, edi
mov byte [ebp - 4], 8
mov dword [ebp - 0x24], edi
je 0x4046d1
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov dword [edi + 0x40], ebx
mov al, byte [ebp - 0x2a4]
mov byte [edi + 0xc], al
lea eax, [ebp - 0x2a0]
push eax
lea ecx, [edi + 0x10]
mov byte [ebp - 4], 0x15
call fcn.004015a1
xor esi, esi
lea ecx, [ebp - 0x64]
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.00402acc
mov al, byte [ebp - 0x2a4]
lea ecx, [ebp - 0x58]
mov byte [ebp - 0x5c], al
lea eax, [ebp - 0x2a0]
push eax
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x60], ebx
call fcn.004015a1
lea ecx, [ebp - 0x14c]
call fcn.00404c86
mov eax, dword [ebp - 0x2cf]
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 0x17
mov byte [ebp - 0x14c], al
mov byte [ebp - 0x14b], ah
call fcn.0040e592
cmp dword [ebp - 0x2b4], 3
mov dword [ebp - 0x144], eax
lea ecx, [ebp - 0x13c]
sete al
mov byte [ebp - 0x149], al
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x140], eax
lea eax, [ebp - 0x290]
push eax
call fcn.004015a1
mov al, byte [ebp - 0x2cc]
lea ecx, [ebp - 0x130]
mov byte [ebp - 0x14a], al
mov al, byte [ebp - 0x293]
mov byte [ebp - 0x148], al
call fcn.00408855
lea eax, [ebp - 0x258]
lea ecx, [ebp - 0x130]
push eax
call fcn.00405fd9
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], esi
push 3
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], esi
call fcn.00401615
mov eax, dword [ebp - 0x2bc]
lea ecx, [ebp - 0x118]
push ecx
lea ecx, [ebp - 0x38]
mov eax, dword [eax]
push ecx
lea ecx, [ebp - 0x64]
push edi
push ecx
lea ecx, [ebp - 0x14c]
add eax, 0xc
push ecx
push eax
lea eax, [ebp - 0x26c]
mov byte [ebp - 4], 0x18
push eax
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x280]
push eax
lea edx, [ebp - 0x7c]
call fcn.004129c9
cmp dword [ebp - 0x34], 0
mov dword [ebp - 0x18], eax
mov esi, 0x408018
je 0x404852
push dword [ebp - 0x38]
mov ecx, ebx
push str.Error:
push esi
call fcn.0040800b
mov ecx, eax
call fcn.00408020
mov ecx, eax
call fcn.00408038
cmp dword [ebp - 0x18], 0
jne 0x404852
mov dword [ebp - 0x18], 0x80004005
push esi
mov ecx, ebx
call fcn.0040800b
mov eax, dword [edi + 0x24]
mov ecx, dword [edi + 0x20]
test eax, eax
ja 0x404869
cmp ecx, 1
jbe 0x404886
push esi
push eax
push ecx
push str.Archives:
mov ecx, ebx
call fcn.00408020
mov ecx, eax
call fcn.0040813a
mov ecx, eax
call fcn.0040800b
mov eax, dword [edi + 0x28]
or eax, dword [edi + 0x2c]
jne 0x4049f3
mov eax, dword [edi + 0x30]
or eax, dword [edi + 0x34]
jne 0x4049f3
cmp dword [ebp - 0x18], 0
je 0x4048b8
mov eax, dword [ebp - 0x18]
push 0x4210e0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call sub.MSVCRT.dll__CxxThrowException
mov eax, dword [ebp - 0x100]
mov ecx, eax
or ecx, dword [ebp - 0xfc]
je 0x4048f0
push esi
mov ecx, ebx
push dword [ebp - 0xfc]
push eax
push str.Folders:
call fcn.00408020
mov ecx, eax
call fcn.0040813a
mov ecx, eax
call fcn.0040800b
mov eax, dword [ebp - 0x100]
cmp dword [ebp - 0xf8], 1
jne 0x40490a
cmp dword [ebp - 0xf4], 0
jne 0x40490a
or eax, dword [ebp - 0xfc]
je 0x404931
push esi
mov ecx, ebx
push dword [ebp - 0xf4]
push dword [ebp - 0xf8]
push str.Files:
call fcn.00408020
mov ecx, eax
call fcn.0040813a
mov ecx, eax
call fcn.0040800b
push esi
mov ecx, ebx
push dword [ebp - 0x104]
push dword [ebp - 0x108]
push str.Compressed:
push esi
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
push str.Size:
call fcn.00408020
mov ecx, eax
call fcn.0040813a
mov ecx, eax
call fcn.0040800b
mov ecx, eax
call fcn.00408020
mov ecx, eax
call fcn.0040813a
mov ecx, eax
call fcn.0040800b
cmp byte [ebp - 0x293], 0
je 0x4049bb
mov ecx, dword [ebp - 0xf0]
lea edx, [ebp - 0xe0]
call fcn.0041844c
lea eax, [ebp - 0xe0]
mov ecx, ebx
push esi
push eax
push str.CRC:
call fcn.00408020
mov ecx, eax
call fcn.00408038
mov ecx, eax
call fcn.0040800b
push dword [ebp - 0x38]
call fcn.00407d58
pop ecx
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x14c]
call fcn.00405630
push dword [ebp - 0x58]
call fcn.00407d58
test edi, edi
pop ecx
mov byte [ebp - 4], 8
je 0x404121
mov eax, dword [edi]
push edi
call dword [eax + 8]
jmp 0x404121
cmp dword [edi + 0x24], 0
ja 0x4049ff
cmp dword [edi + 0x20], 1
jbe 0x404a59
push esi
mov ecx, ebx
call fcn.0040800b
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x2c]
mov edx, eax
or edx, ecx
je 0x404a30
push esi
push ecx
push eax
push str.Archive_Errors:
mov ecx, ebx
call fcn.00408020
mov ecx, eax
call fcn.0040813a
mov ecx, eax
call fcn.0040800b
mov eax, dword [edi + 0x30]
mov ecx, dword [edi + 0x34]
mov edx, eax
or edx, ecx
je 0x404a59
push esi
push ecx
push eax
push str.Sub_items_Errors:
mov ecx, ebx
call fcn.00408020
mov ecx, eax
call fcn.0040813a
mov ecx, eax
call fcn.0040800b
cmp dword [ebp - 0x18], 0
je 0x404a73
mov eax, dword [ebp - 0x18]
push 0x4210e0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
call sub.MSVCRT.dll__CxxThrowException
push dword [ebp - 0x38]
call fcn.00407d58
pop ecx
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x14c]
call fcn.00405630
push dword [ebp - 0x58]
call fcn.00407d58
test edi, edi
pop ecx
mov byte [ebp - 4], 8
je 0x404aa2
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 7
call fcn.0040882c
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 4
test eax, eax
je 0x404abf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 3
call fcn.004071a9
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2d4]
call fcn.00405362
mov dword [ebp - 0x4c], 0x420234
mov dword [ebp - 4], 0x19
jmp 0x404bba
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x2bc]
push ecx
lea ecx, [ebp - 0x2a0]
push ecx
lea ecx, [ebp - 0x2a4]
push ecx
mov dword [ebp - 0x28], esi
push dword [ebp - 0x294]
mov dword [ebp - 0x24], esi
mov eax, dword [eax]
lea edx, [ebp - 0x7c]
push dword [ebp - 0x2cd]
add eax, 0xc
mov ecx, edi
push eax
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x280]
push eax
push dword [ebp - 0x2cf]
call fcn.00401f19
cmp dword [ebp - 0x24], esi
ja 0x404b4c
cmp dword [ebp - 0x28], esi
jbe 0x404bd6
push dword [ebp - 0x24]
mov ecx, 0x4285d0
push dword [ebp - 0x28]
push str.Errors:
push 0x408018
call fcn.0040800b
mov ecx, eax
call fcn.00408020
mov ecx, eax
call fcn.0040813a
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 7
call fcn.0040882c
cmp edi, esi
mov byte [ebp - 4], 4
je 0x404b8e
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 3
call fcn.004071a9
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2d4]
call fcn.00405362
mov dword [ebp - 0x4c], 0x420234
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0x4c]
call fcn.00408855
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.0040882c
push 2
pop eax
jmp 0x404180
cmp eax, esi
je 0x404121
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push 0x4210e0
push eax
call sub.MSVCRT.dll__CxxThrowException