Function at 0x4c08e0
Capabilities:
Enumerate pe sections
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xec
mov eax, dword [0x5c3040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x63da14]
push ebx
push esi
push edi
mov dword [ebp - 0x84], eax
mov eax, dword [0x63ea44]
push 0x579be0
push 2
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0x98], 0
call fcn.0053cc0d
push 0
push 0x63d9a0
mov dword [0x5c40d8], 1
mov dword [0x5f248c], 0
mov dword [0x5f2488], 0
mov dword [0x5f2480], 0
mov dword [0x5f2498], 0
mov dword [0x5f2494], 0
mov dword [0x5f24a0], 0
mov dword [0x5f24a4], 0
mov dword [0x5f249c], 0
mov dword [0x63d990], 0xffffffff
mov dword [0x5f2484], 0
mov dword [0x63d988], 0
mov dword [0x5d08ac], 0
mov dword [0x5d0884], 0
mov dword [0x5c3c54], 1
mov dword [0x5c3c40], 0xffffffff
mov dword [0x5d08a8], 0
mov dword [0x5d0890], 0
mov dword [0x5d08b8], 0
mov dword [0x5d08a4], 0
mov dword [0x5c3c44], 6
mov dword [0x5d088c], 0
mov dword [0x5d087c], 0
mov dword [0x5d0878], 0
mov dword [0x5d08bc], 0
mov dword [0x5d0898], 0
mov dword [0x5c3c48], 1
mov dword [0x5d0874], 0
mov dword [0x5c3c38], 1
mov dword [0x5c3c50], 1
mov dword [str..Z:.zip:.zoo:.arc:.lzh:.arj], 0x5b7270
mov dword [0x5d08c0], 0
mov dword [0x5d0894], 0
mov dword [0x5d08c4], 0
mov dword [0x5c3c3c], 0x5d08c4
mov dword [0x5d08a0], 0
mov dword [0x5d08b4], 0
mov dword [0x5d089c], 0
mov dword [0x5d0888], 0
mov dword [ebp - 0x8c], 0
call fcn.00555950
add esp, 0x10
test eax, eax
jne 0x4c26ea
push 1
call fcn.005359d0
add esp, 4
mov dword [0x63d97c], eax
push 0
call fcn.005359d0
add esp, 4
mov dword [ebp - 0x9c], eax
call fcn.004c4d10
push 0x5b6844
call fcn.0053e445
add esp, 4
call fcn.0053e15f
mov esi, dword [ebp - 0x84]
xor ecx, ecx
mov dword [ebp - 0x78], ecx
xor eax, eax
mov ecx, dword [ebp - 0xbc]
mov edx, esi
mov dword [0x5f2484], 0
xor ebx, ebx
mov dword [0x63d974], 0
mov dword [0x5f2490], 0
mov dword [ebp - 0x80], eax
call fcn.004c04f0
test eax, eax
jne 0x4c26ea
mov edx, dword [ebp - 0x98]
mov edi, 1
mov ecx, edi
mov dword [ebp - 0x70], edi
cmp dword [ebp - 0xbc], ecx
jle 0x4c1669
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x6c], edx
nop word [eax + eax]
mov esi, dword [esi + edi*4]
cmp byte [esi], 0x2d
jne 0x4c10fc
mov al, byte [esi + 1]
lea edi, [esi + 1]
mov dword [ebp - 0x7c], edi
test al, al
je 0x4c103a
nop dword [eax]
movsx ecx, al
lea eax, [ecx - 0x21]
cmp eax, 0x59
ja case.0x4c0bb6.34
movzx eax, byte [eax + 0x4c3af0]
jmp dword [eax*4 + 0x4c3a60]
mov dword [0x5c3c40], 0
mov dword [0x5c3c44], 0
jmp case.0x4c0bb6.112
lea eax, [ecx - 0x30]
mov dword [0x5c3c44], eax
jmp case.0x4c0bb6.112
mov dword [0x5d08a4], 1
jmp case.0x4c0bb6.112
mov dword [0x5f24a4], 1
test ebx, ebx
jne 0x4c35d0
mov ebx, 1
jmp case.0x4c0bb6.112
mov dword [0x5f248c], 1
jmp case.0x4c0bb6.112
cmp dword [0x5c40d8], 1
jne 0x4c3699
mov dword [0x5c40d8], 0x10000
jmp case.0x4c0bb6.112
mov dword [0x5c3c48], 0
jmp case.0x4c0bb6.112
cmp dword [0x5d08c0], 0
jne case.0x4c0bb6.112
push 0x51
call fcn.0052c198
add esp, 4
mov dword [0x5d08c0], eax
test eax, eax
je 0x4c3641
push dword [0x63d974]
push str.Enter_password:
push 0x51
push eax
mov eax, dword [0x5d086c]
mov eax, dword [eax + 8]
call eax
test eax, eax
jne 0x4c362b
mov eax, dword [0x5d08c0]
cmp byte [eax], 0
je 0x4c361c
push 0x51
call fcn.0052c198
mov edi, eax
add esp, 4
test edi, edi
je 0x4c360d
push dword [0x63d974]
mov ecx, dword [0x5d086c]
push str.Verify_password:
push 0x51
push edi
mov eax, dword [ecx + 8]
call eax
mov esi, eax
test esi, esi
je 0x4c0cd6
cmp esi, 0xffffffff
jne 0x4c35df
cmp esi, 0xffffffff
jne 0x4c0cdf
xor esi, esi
jmp 0x4c0d0b
mov eax, dword [0x5d08c0]
mov ecx, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c0d06
test dl, dl
je 0x4c0d02
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c0d06
add eax, 2
add ecx, 2
test dl, dl
jne 0x4c0ce6
xor esi, esi
jmp 0x4c0d0b
sbb esi, esi
or esi, 1
push edi
call fcn.0052a52b
add esp, 4
test esi, esi
jne 0x4c35fe
mov edi, dword [ebp - 0x7c]
jmp case.0x4c0bb6.112
inc dword [0x5d08b8]
jmp case.0x4c0bb6.112
cmp dword [0x5c40d8], 1
jne 0x4c3699
mov dword [0x5c40d8], 3
jmp case.0x4c0bb6.112
mov dword [ebp - 0x78], 1
jmp case.0x4c0bb6.112
mov dword [0x5c3c54], 0
jmp case.0x4c0bb6.112
mov dword [0x5f249c], 1
jmp case.0x4c0bb6.112
mov dword [0x5d08a8], 1
jmp case.0x4c0bb6.112
inc dword [0x5d088c]
jmp case.0x4c0bb6.112
mov eax, dword [0x5d0884]
inc eax
mov dword [0x5d0884], eax
cmp eax, 2
je 0x4c35a1
jmp case.0x4c0bb6.112
inc dword [ebp - 0x8c]
jmp case.0x4c0bb6.112
mov dword [str..Z:.zip:.zoo:.arc:.lzh:.arj], 0
jmp case.0x4c0bb6.112
mov dword [0x5f2480], 1
jmp case.0x4c0bb6.112
test ebx, ebx
jne 0x4c365f
cmp dword [0x5d08c0], ebx
jne 0x4c3650
mov ebx, 7
jmp case.0x4c0bb6.112
cmp dword [0x5d0890], 0
mov dword [0x5c3c38], 0
je case.0x4c0bb6.112
dec dword [0x5d0890]
jmp case.0x4c0bb6.112
cmp dword [0x5d08ac], 2
je 0x4c366e
mov dword [0x5d08ac], 1
jmp case.0x4c0bb6.112
cmp dword [0x5d08ac], 1
je 0x4c366e
mov dword [0x5d08ac], 2
jmp case.0x4c0bb6.112
mov dword [0x5d08bc], 1
jmp case.0x4c0bb6.112
cmp byte [edi + 1], 0x74
lea eax, [edi + 1]
mov ecx, 0x5f2494
cmove edi, eax
mov eax, 0x5f2498
cmove eax, ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0xc4], eax
cmp dword [eax], 0
jne 0x4c367d
mov ebx, 2
jmp case.0x4c0bb6.112
mov dword [0x5f24a0], 1
jmp case.0x4c0bb6.112
cmp dword [0x5c40d8], 1
jne 0x4c3699
mov dword [0x5c40d8], 2
jmp case.0x4c0bb6.112
inc dword [0x5d0890]
mov dword [0x5c3c38], 1
jmp case.0x4c0bb6.112
cmp byte [edi + 1], 0x40
jne 0x4c0edb
cmp byte [edi + 2], 0
jne 0x4c1014
cmp dword [0x63d974], 0
je 0x4c36a8
mov ebx, 5
jmp case.0x4c0bb6.112
mov dword [0x5f2488], 1
jmp case.0x4c0bb6.112
mov dword [0x5d0898], 1
jmp case.0x4c0bb6.112
mov dword [ebp - 0x9c], 0
cmp ebx, 3
jge 0x4c0f2b
mov dword [ebp - 0x80], 1
jmp case.0x4c0bb6.112
push 0
call fcn.005359d0
add esp, 4
mov edx, eax
call fcn.004c3b80
mov esi, eax
test esi, esi
je case.0x4c0bb6.112
mov ebx, 4
nop dword [eax + eax]
mov eax, dword [0x5c40d8]
cmp eax, 1
je 0x4c0f72
cmp eax, 2
je 0x4c0f72
push 0xffffffffffffffff
mov edx, 1
mov ecx, esi
call fcn.004c6610
add esp, 4
jmp 0x4c0f79
mov ecx, esi
call fcn.004c6410
test eax, eax
je 0x4c0fca
cmp eax, 0xffffffff
jne 0x4c36cf
cmp dword [ebp - 0x8c], 0
jne 0x4c36b7
cmp dword [0x5c3c38], 0
je 0x4c0fca
push esi
push str.name_not_matched:
push str._tzip_warning:__s_s_n
push 2
call fcn.005359d0
add esp, 4
push eax
call fcn.0045d410
push 2
call fcn.005359d0
add esp, 0x14
push eax
call fcn.005409ba
add esp, 4
push 0
call fcn.005359d0
add esp, 4
mov edx, eax
call fcn.004c3b80
mov esi, eax
test esi, esi
jne 0x4c0f50
jmp case.0x4c0bb6.112
mov dword [0x5c3c50], 0
jmp case.0x4c0bb6.112
mov dword [0x5d0878], 1
mov al, byte [edi + 1]
inc edi
mov dword [ebp - 0x7c], edi
test al, al
jne 0x4c0ba0
mov edx, dword [ebp - 0x6c]
jmp case.0x4c112b.5
mov edx, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x70]
inc edi
mov dword [ebp - 0x70], edi
cmp edi, dword [ebp - 0xbc]
jge 0x4c1669
mov esi, dword [ebp - 0x84]
mov ecx, 1
jmp 0x4c0b80
lea eax, [ebx - 1]
cmp eax, 3
ja case.0x4c112b.5
jmp dword [eax*4 + 0x4c3b4c]
mov eax, dword [0x5c40d8]
mov dword [ebp - 0x9c], 0
cmp eax, 1
je 0x4c1076
cmp eax, 2
je 0x4c1076
mov edx, ecx
mov ecx, esi
push 0xffffffffffffffff
call fcn.004c6610
add esp, 4
jmp 0x4c107d
mov ecx, esi
call fcn.004c6410
test eax, eax
je 0x4c10db
cmp eax, 0xffffffff
jne 0x4c371d
cmp dword [ebp - 0x8c], 0
jne 0x4c36fa
mov edi, dword [ebp - 0x70]
cmp dword [0x5c3c38], 0
je 0x4c10de
mov edx, dword [ebp - 0x84]
push dword [edx + edi*4]
push str.name_not_matched:
push str._tzip_warning:__s_s_n
push 2
call fcn.005359d0
add esp, 4
push eax
call fcn.0045d410
push 2
call fcn.005359d0
add esp, 0x14
push eax
call fcn.005409ba
add esp, 4
jmp 0x4c10de
mov edi, dword [ebp - 0x70]
cmp ebx, 3
jne 0x4c1367
mov edx, edi
mov ebx, 4
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x98], edx
jmp 0x4c101a
cmp dword [str..Z:.zip:.zoo:.arc:.lzh:.arj], 0
jne 0x4c1110
mov dword [str..Z:.zip:.zoo:.arc:.lzh:.arj], esi
jmp case.0x4c112b.5
cmp ebx, 5
je 0x4c1669
cmp ebx, 6
je 0x4c1602
cmp ebx, 7
ja case.0x4c112b.5
jmp dword [ebx*4 + 0x4c3b5c]
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c1137
sub ecx, edx
lea eax, [ecx + 5]
push eax
call fcn.0052c198
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4c1229
mov ecx, ebx
sub ecx, esi
nop word [eax + eax]
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [esi + ecx - 1], al
test al, al
jne 0x4c1160
mov al, byte [ebx]
mov esi, ebx
test al, al
je 0x4c1193
cmp al, 0x5c
jne 0x4c117c
mov byte [esi], 0x2f
call fcn.005401be
push eax
push esi
call fcn.0054013e
add esi, eax
add esp, 8
mov al, byte [esi]
test al, al
jne 0x4c1175
cmp dword [0x5d08a4], 0
jne 0x4c1229
mov cl, byte [ebx]
xor edi, edi
mov esi, ebx
test cl, cl
je 0x4c11d2
nop word [eax + eax]
cmp cl, 0x2f
mov eax, esi
cmovne eax, edi
mov edi, eax
call fcn.005401be
push eax
push esi
call fcn.0054013e
mov cl, byte [esi + eax]
add esi, eax
add esp, 8
test cl, cl
jne 0x4c11b0
mov esi, ebx
test edi, edi
je 0x4c11db
lea esi, [edi + 1]
mov cl, byte [esi]
xor edi, edi
test cl, cl
je 0x4c1205
cmp cl, 0x2e
mov eax, esi
cmovne eax, edi
mov edi, eax
call fcn.005401be
push eax
push esi
call fcn.0054013e
mov cl, byte [esi + eax]
add esi, eax
add esp, 8
test cl, cl
jne 0x4c11e3
test edi, edi
jne 0x4c1229
lea ecx, [ebx - 1]
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4c1210
mov eax, dword [str..zip]
mov dword [ecx], eax
mov al, byte [0x5ad3ec]
mov byte [ecx + 4], al
mov dword [0x63d974], ebx
test ebx, ebx
je 0x4c37fb
mov dword [0x5d0880], 0
xor edi, edi
xor esi, esi
mov dword [0x63d98c], 0
cmp byte [ebx], 0
mov dword [0x63d980], 0
mov dword [0x63d500], 0
je 0x4c12b4
mov ecx, 0x5b6ce4
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c1290
test dl, dl
je 0x4c128c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c1290
add eax, 2
add ecx, 2
test dl, dl
jne 0x4c1270
xor eax, eax
jmp 0x4c1295
sbb eax, eax
or eax, 1
test eax, eax
je 0x4c12b4
push 0x5ac778
push ebx
call fcn.00535593
mov esi, eax
add esp, 8
test esi, esi
je 0x4c12b4
mov ecx, 1
jmp 0x4c12b6
xor ecx, ecx
test ecx, ecx
je 0x4c134b
cmp dword [0x5d08b8], edi
je 0x4c12d7
cmp dword [0x5d08a4], edi
jne 0x4c12d7
mov ecx, esi
call fcn.004c7930
jmp 0x4c12de
mov ecx, esi
call fcn.004c81b0
push esi
mov edi, eax
call fcn.005356cf
mov ecx, dword [0x63d980]
add esp, 4
test ecx, ecx
je 0x4c134b
lea edx, [ecx*4]
mov eax, edx
shr eax, 2
cmp eax, ecx
jne 0x4c1346
push edx
call fcn.0052c198
mov edx, eax
add esp, 4
mov dword [0x63d978], edx
test edx, edx
je 0x4c1346
mov ecx, dword [0x5d0880]
test ecx, ecx
je 0x4c132e
mov dword [eax], ecx
lea eax, [eax + 4]
mov ecx, dword [ecx + 0x5c]
test ecx, ecx
jne 0x4c1322
push 0x4c7610
push 4
push dword [0x63d980]
push edx
call fcn.0052a560
add esp, 0x10
jmp 0x4c134b
mov edi, 4
test edi, edi
jne 0x4c374e
cmp dword [0x5d08ac], 2
mov ebx, 3
mov eax, 6
cmove ebx, eax
mov edx, dword [ebp - 0x6c]
jmp case.0x4c112b.5
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4c1372
sub esi, ecx
lea eax, [esi + 1]
push eax
call fcn.0052c198
mov ecx, eax
add esp, 4
mov dword [0x5d0894], ecx
test ecx, ecx
je 0x4c37fb
mov edx, dword [ebp - 0x84]
mov edx, dword [edx + edi*4]
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x4c13a0
jmp 0x4c14f1
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xd0]
push eax
push str._4d__2d__2d
push esi
call fcn.004bfed0
add esp, 0x14
cmp eax, 3
je 0x4c140f
mov edx, dword [ebp - 0x84]
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0xc8]
push eax
push str._2d_2d_4d
push dword [edx + edi*4]
call fcn.004bfed0
add esp, 0x14
cmp eax, 3
jne 0x4c375b
mov edx, dword [ebp - 0xc8]
lea eax, [edx - 1]
cmp eax, 0xb
ja 0x4c375b
mov ecx, dword [ebp - 0xcc]
lea eax, [ecx - 1]
cmp eax, 0x1e
ja 0x4c375b
mov eax, dword [ebp - 0xd0]
cmp eax, 0x7bc
jge 0x4c144f
mov ecx, dword [ebp - 0x74]
mov eax, 0x210000
mov dword [ecx], eax
jmp 0x4c14f1
add eax, 0xffffffc4
shl eax, 4
or eax, edx
shl eax, 5
or eax, ecx
mov ecx, dword [ebp - 0x74]
shl eax, 0x10
mov dword [ecx], eax
jmp 0x4c14f1
mov eax, dword [0x5c40d8]
cmp eax, 1
je 0x4c1488
cmp eax, 2
je 0x4c1488
mov edx, ecx
mov ecx, esi
push 0xffffffffffffffff
call fcn.004c6610
add esp, 4
jmp 0x4c148f
mov ecx, esi
call fcn.004c6410
test eax, eax
je 0x4c10de
cmp eax, 0xffffffff
jne 0x4c3779
cmp dword [ebp - 0x8c], 0
jne 0x4c35b0
jmp 0x4c109a
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4c14b5
sub esi, ecx
lea eax, [esi + 1]
push eax
call fcn.0052c198
mov ecx, eax
add esp, 4
mov dword [0x5d08c0], ecx
test ecx, ecx
je 0x4c37fb
mov edx, dword [ebp - 0x84]
mov edx, dword [edx + edi*4]
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x4c14e3
mov edx, dword [ebp - 0x6c]
xor ebx, ebx
cmp dword [0x63d974], ebx
je 0x4c101a
test edx, edx
setg bl
add ebx, 3
cmp ebx, 3
je 0x4c1518
cmp ebx, 6
jne 0x4c1017
cmp dword [ebp - 0x80], 0
je 0x4c1017
push 0
call fcn.005359d0
add esp, 4
mov edx, eax
call fcn.004c3b80
mov edi, dword [ebp - 0x70]
mov esi, eax
test esi, esi
je 0x4c15e6
lea eax, [edi + 1]
mov ebx, 4
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x98], eax
mov eax, dword [0x5c40d8]
cmp eax, 1
je 0x4c1573
cmp eax, 2
je 0x4c1573
push 0xffffffffffffffff
mov edx, 1
mov ecx, esi
call fcn.004c6610
add esp, 4
jmp 0x4c157a
mov ecx, esi
call fcn.004c6410
test eax, eax
je 0x4c15cb
cmp eax, 0xffffffff
jne 0x4c36cf
cmp dword [ebp - 0x8c], 0
jne 0x4c36b7
cmp dword [0x5c3c38], 0
je 0x4c15cb
push esi
push str.name_not_matched:
push str._tzip_warning:__s_s_n
push 2
call fcn.005359d0
add esp, 4
push eax
call fcn.0045d410
push 2
call fcn.005359d0
add esp, 0x14
push eax
call fcn.005409ba
add esp, 4
push 0
call fcn.005359d0
add esp, 4
mov edx, eax
call fcn.004c3b80
mov esi, eax
test esi, esi
jne 0x4c1551
mov edx, dword [ebp - 0x6c]
xor eax, eax
cmp dword [0x5d08ac], 2
mov dword [ebp - 0x80], eax
mov eax, 6
cmove ebx, eax
jmp 0x4c101a
mov eax, dword [0x5c40d8]
cmp eax, 1
je 0x4c1624
cmp eax, 2
je 0x4c1624
mov edx, ecx
mov ecx, 0x5aea3c
push 0xffffffffffffffff
call fcn.004c6610
add esp, 4
jmp 0x4c162e
mov ecx, 0x5aea3c
call fcn.004c6410
test eax, eax
je 0x4c165b
cmp eax, 0xffffffff
jne 0x4c3779
cmp dword [ebp - 0x8c], 0
mov ecx, str.name_not_matched:
jne 0x4c3789
mov edx, dword [ebp - 0x84]
mov edx, dword [edx + edi*4]
call fcn.004c04b0
mov edx, dword [ebp - 0x6c]
test edx, edx
cmove edx, edi
mov dword [ebp - 0x98], edx
cmp ebx, 7
je 0x4c3592
cmp ebx, 1
je 0x4c3592
mov ecx, dword [0x5d08b4]
test ecx, ecx
je 0x4c16a5
test edx, edx
jne 0x4c16a5
cmp ebx, 3
jl 0x4c37a4
mov eax, dword [0x5c40d8]
cmp eax, 2
je 0x4c16a5
cmp eax, 3
jne 0x4c37a4
cmp ebx, 4
je 0x4c16ec
test edx, edx
jne 0x4c16ec
mov eax, dword [0x5c40d8]
cmp eax, 2
je 0x4c16bd
cmp eax, 3
jne 0x4c16ec
mov esi, dword [0x5d0880]
test esi, esi
je 0x4c16ec
test ecx, ecx
je 0x4c16dd
mov ecx, dword [esi + 0x4c]
xor edx, edx
call fcn.004c3f90
mov ecx, dword [0x5d08b4]
jmp 0x4c16e2
mov eax, 1
mov dword [esi + 0x50], eax
mov esi, dword [esi + 0x5c]
test esi, esi
jne 0x4c16c7
call fcn.004c3cf0
test eax, eax
je 0x4c1703
cmp eax, 0x10
jne 0x4c37c2
jmp 0x4c37b3
cmp dword [0x63d980], 0
je 0x4c171a
push dword [0x63d978]
call fcn.0052a52b
add esp, 4
mov eax, dword [str..Z:.zip:.zoo:.arc:.lzh:.arj]
test eax, eax
je 0x4c37ce
cmp dword [0x5c3c44], 9
je 0x4c1799
mov edx, 0x5af378
mov ecx, eax
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x4c1760
test bl, bl
je 0x4c175c
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x4c1760
add ecx, 2
add edx, 2
test bl, bl
jne 0x4c1740
xor ecx, ecx
jmp 0x4c1765
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x4c1799
mov ecx, 0x5a88f0
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c1790
test dl, dl
je 0x4c178c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c1790
add eax, 2
add ecx, 2
test dl, dl
jne 0x4c1770
xor eax, eax
jmp 0x4c1795
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4c17a3
mov dword [str..Z:.zip:.zoo:.arc:.lzh:.arj], 0
cmp dword [0x5c40d8], 0x10000
jne 0x4c184a
cmp dword [0x5c3c40], 0xffffffff
jne 0x4c17ed
cmp dword [0x5d0884], 0
jne 0x4c17ed
cmp dword [0x5d08ac], 0
jne 0x4c17ed
cmp dword [0x5d08c0], 0
jne 0x4c17ed
cmp dword [0x5f248c], 0
jne 0x4c17ed
cmp dword [0x5f2488], 0
je 0x4c184a
mov edx, 0x579be0
mov ecx, str.invalid_option_s__used_with__d__ignored.
call fcn.004c04b0
mov eax, dword [0x5d08c0]
mov dword [0x5c3c40], 0xffffffff
mov dword [0x5d0884], 0
mov dword [0x5d08ac], 0
test eax, eax
je 0x4c1836
push eax
call fcn.0052a52b
add esp, 4
mov dword [0x5d08c0], 0
mov dword [0x5f248c], 0
mov dword [0x5f2488], 0
cmp dword [0x5d0874], 0
je 0x4c1875
cmp dword [0x5d08a8], 0
je 0x4c1875
mov edx, 0x579be0
mov ecx, str.cant_use__y_with__k___y_ignored
call fcn.004c04b0
mov dword [0x5d0874], 0
cmp dword [0x5d08b8], 0
je 0x4c1896
cmp dword [0x5d08a4], 0
je 0x4c1896
mov edx, 0x579be0
mov ecx, str.cant_use__F_with__A___F_ignored
call fcn.004c04b0
cmp dword [0x5f24a0], 0
mov esi, dword [0x63d974]
je 0x4c18f3
mov ecx, 0x5b6ce4
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c18d0
test dl, dl
je 0x4c18cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c18d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4c18b0
xor eax, eax
jmp 0x4c18d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4c18f3
mov edx, 0x579be0
mov dword [0x5f24a0], eax
mov ecx, str.cant_use__T_on_stdout___T_ignored
call fcn.004c04b0
mov esi, dword [0x63d974]
cmp dword [0x5c40d8], 1
jne 0x4c1903
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x4c1940
mov ecx, 0x5b6ce4
mov eax, esi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c1930
test dl, dl
je 0x4c192c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c1930
add eax, 2
add ecx, 2
test dl, dl
jne 0x4c1910
xor eax, eax
jmp 0x4c1935
sbb eax, eax
or eax, 1
test eax, eax
je 0x4c37dd
mov eax, dword [ebp - 0x78]
cmp dword [0x63d980], 0
jne 0x4c1968
cmp dword [0x5c40d8], 1
jne 0x4c1956
test eax, eax
je 0x4c1968
mov edx, str._not_found_or_empty
mov ecx, esi
call fcn.004c04b0
mov esi, dword [0x63d974]
mov eax, dword [ebp - 0x8c]
cmp eax, 1
je 0x4c37ec
mov ecx, 1
cmovg eax, ecx
cmp dword [0x5d0894], 0
mov dword [ebp - 0x8c], eax
jne 0x4c1a15
lea edx, [ecx + 0x2e]
mov ecx, esi
call fcn.004c5010
test eax, eax
jne 0x4c19cc
mov ecx, dword [0x63d974]
lea edx, [eax + 0x5c]
call fcn.004c5010
test eax, eax
jne 0x4c19cc
mov ecx, dword [0x63d974]
lea edx, [eax + 0x3a]
call fcn.004c5010
test eax, eax
jne 0x4c19cc
mov esi, dword [0x63d974]
jmp 0x4c1a15
cmp byte [eax], 0x3a
lea edi, [eax + 1]
cmovne edi, eax
mov eax, edi
sub eax, dword [0x63d974]
inc eax
push eax
call fcn.0052c198
mov ecx, eax
add esp, 4
mov dword [0x5d0894], ecx
test ecx, ecx
je 0x4c37fb
movsx ebx, byte [edi]
mov esi, dword [0x63d974]
mov edx, esi
mov byte [edi], 0
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x4c1a05
mov byte [edi], bl
mov ebx, dword [0x5d0880]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x88], ebx
test ebx, ebx
je 0x4c25ac
mov esi, str.missing_or_early
cmp dword [ebx + 0x50], 0
je 0x4c258a
cmp dword [0x5c40d8], 0x10000
jne 0x4c1f86
mov esi, dword [ebx + 0x1c]
xor edi, edi
mov edx, dword [ebx + 0x3c]
xor ecx, ecx
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x74], edi
test esi, esi
je 0x4c1d3c
test edx, edx
je 0x4c1d3c
cmp esi, 4
jb 0x4c1d3e
nop dword [eax + eax]
movzx ebx, byte [edx + 3]
movzx eax, byte [edx + 2]
shl ebx, 8
or ebx, eax
lea eax, [esi - 4]
cmp ebx, eax
ja 0x4c1d34
movzx esi, byte [edx + 1]
movzx eax, byte [edx]
shl esi, 8
or esi, eax
cmp esi, 0x5455
je 0x4c1b97
cmp esi, 0x5855
je 0x4c1adf
cmp esi, 0x7855
jne 0x4c1d14
test edi, edi
jne 0x4c1d14
mov edi, 1
and ecx, 0xffffff00
mov dword [ebp - 0x74], edi
jmp 0x4c1d14
cmp ebx, 8
jb 0x4c1d14
test edi, edi
jne 0x4c1d14
movzx eax, byte [edx + 7]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 6]
cdq
or esi, eax
or edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 5]
cdq
or esi, eax
or edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 4]
cdq
or esi, eax
or edi, edx
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xb4], edi
movzx eax, byte [eax + 0xb]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 0xa]
cdq
or esi, eax
or edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 9]
cdq
or esi, eax
or edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 8]
cdq
or esi, eax
or edi, edx
mov dword [ebp - 0xb0], esi
or ecx, 3
mov dword [ebp - 0xac], edi
jmp 0x4c1d0e
mov edi, 1
and ecx, 0xffffff00
mov dword [ebp - 0x74], edi
cmp ebx, edi
jb 0x4c1d14
movzx eax, byte [edx + 4]
mov esi, edi
or ecx, eax
mov dword [ebp - 0x70], esi
test cl, 1
je 0x4c1c20
cmp ebx, 5
jb 0x4c1c1d
movzx eax, byte [edx + 8]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 7]
cdq
or esi, eax
or edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 6]
cdq
or esi, eax
or edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 5]
cdq
or esi, eax
or edi, edx
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0xb0], esi
mov esi, 5
mov dword [ebp - 0xac], edi
mov dword [ebp - 0x70], esi
jmp 0x4c1c20
and ecx, 0xfffffffe
test cl, 2
je 0x4c1c9f
lea eax, [esi + 4]
mov dword [ebp - 0x94], eax
cmp eax, ebx
ja 0x4c1c9c
movzx eax, byte [esi + edx + 7]
cdq
mov esi, eax
mov edi, edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [edx + eax + 6]
cdq
or esi, eax
or edi, edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [edx + eax + 5]
cdq
or esi, eax
or edi, edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [edx + eax + 4]
cdq
or esi, eax
or edi, edx
mov dword [ebp - 0xb8], esi
mov esi, dword [ebp - 0x94]
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0x70], esi
jmp 0x4c1c9f
and ecx, 0xfffffffd
test cl, 4
je 0x4c1d0e
lea eax, [esi + 4]
cmp eax, ebx
ja 0x4c1d0b
mov eax, dword [ebp - 0x6c]
movzx eax, byte [esi + eax + 7]
cdq
mov esi, eax
mov edi, edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [edx + eax + 6]
cdq
or esi, eax
or edi, edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [edx + eax + 5]
cdq
or esi, eax
or edi, edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [edx + eax + 4]
cdq
or esi, eax
or edi, edx
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], edi
jmp 0x4c1d0e
and ecx, 0xfffffffb
mov edi, dword [ebp - 0x74]
mov edx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x7c]
mov eax, 0xfffffffc
sub eax, ebx
add edx, 4
add esi, eax
add edx, ebx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x7c], esi
cmp esi, 4
jae 0x4c1a80
mov ebx, dword [ebp - 0x88]
jmp 0x4c1d3e
xor ecx, ecx
test ecx, ecx
jne 0x4c1f42
mov esi, dword [ebx + 0x20]
mov dword [ebp - 0x7c], esi
test esi, esi
je 0x4c1f42
mov edx, dword [ebx + 0x40]
mov dword [ebp - 0x6c], edx
cmp edx, dword [ebx + 0x3c]
je 0x4c1f42
xor edi, edi
mov dword [ebp - 0x74], edi
test edx, edx
je 0x4c1f40
cmp esi, 4
jb 0x4c1f42
nop dword [eax]
movzx ebx, byte [edx + 3]
movzx eax, byte [edx + 2]
shl ebx, 8
or ebx, eax
lea eax, [esi - 4]
cmp ebx, eax
ja 0x4c1f38
movzx esi, byte [edx + 1]
movzx eax, byte [edx]
shl esi, 8
or esi, eax
cmp esi, 0x5455
je 0x4c1e9d
cmp esi, 0x5855
je 0x4c1ddf
cmp esi, 0x7855
jne 0x4c1f18
test edi, edi
jne 0x4c1f18
mov edi, 1
and ecx, 0xffffff00
mov dword [ebp - 0x74], edi
jmp 0x4c1f18
cmp ebx, 8
jb 0x4c1f18
test edi, edi
jne 0x4c1f18
movzx eax, byte [edx + 7]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 6]
cdq
or esi, eax
or edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 5]
cdq
or esi, eax
or edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 4]
cdq
or esi, eax
or edi, edx
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xb4], edi
movzx eax, byte [eax + 0xb]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 0xa]
cdq
or esi, eax
or edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 9]
cdq
or esi, eax
or edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 8]
cdq
or edi, edx
or esi, eax
mov edx, dword [ebp - 0x6c]
or ecx, 3
mov dword [ebp - 0xac], edi
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0xb0], esi
jmp 0x4c1f18
mov edi, 1
and ecx, 0xffffff00
mov dword [ebp - 0x74], edi
cmp ebx, edi
jb 0x4c1f18
movzx eax, byte [edx + 4]
or ecx, eax
test cl, 1
je 0x4c1f18
cmp ebx, 5
jb 0x4c1f15
movzx eax, byte [edx + 8]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 7]
cdq
or esi, eax
or edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 6]
cdq
or esi, eax
or edi, edx
mov eax, dword [ebp - 0x6c]
shld edi, esi, 8
shl esi, 8
movzx eax, byte [eax + 5]
cdq
or esi, eax
or edi, edx
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0xac], edi
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0xb0], esi
jmp 0x4c1f18
and ecx, 0xfffffffe
mov esi, dword [ebp - 0x7c]
mov eax, 0xfffffffc
sub eax, ebx
add edx, 4
add esi, eax
add edx, ebx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x7c], esi
cmp esi, 4
jae 0x4c1d80
mov ebx, dword [ebp - 0x88]
jmp 0x4c1f42
xor ecx, ecx
test cl, 1
je 0x4c1f56
lea ecx, [ebp - 0xb0]
call fcn.004c4670
mov ecx, eax
jmp 0x4c1f59
mov ecx, dword [ebx + 8]
cmp ecx, dword [0x5f2498]
jb 0x4c1f7a
mov eax, dword [0x5f2494]
test eax, eax
je 0x4c2522
cmp ecx, eax
jae 0x4c1f7a
inc dword [ebp - 0x80]
jmp 0x4c258a
mov dword [ebx + 0x50], 0
jmp 0x4c258a
mov ecx, dword [ebx + 0x38]
lea eax, [ebp - 0xe8]
push eax
push 0
xor edx, edx
call fcn.004c6f30
mov ecx, eax
add esp, 8
mov dword [ebp - 0x7c], ecx
test ecx, ecx
je 0x4c252c
cmp ecx, dword [0x5f2498]
jb 0x4c252c
mov eax, dword [0x5f2494]
test eax, eax
je 0x4c1fc6
cmp ecx, eax
jae 0x4c252c
mov eax, dword [0x5c40d8]
cmp eax, 2
je 0x4c1fd9
cmp eax, 3
jne 0x4c2522
mov edx, dword [ebx + 0x1c]
xor esi, esi
mov ecx, dword [ebx + 0x3c]
xor ebx, ebx
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x74], esi
test edx, edx
je 0x4c22c7
test ecx, ecx
je 0x4c22c7
cmp edx, 4
jb 0x4c22c9
nop dword [eax + eax]
movzx edi, byte [ecx + 3]
movzx eax, byte [ecx + 2]
shl edi, 8
or edi, eax
lea eax, [edx - 4]
cmp edi, eax
ja 0x4c22c9
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx]
shl edx, 8
or edx, eax
cmp edx, 0x5455
je 0x4c2127
cmp edx, 0x5855
je 0x4c206f
cmp edx, 0x7855
jne 0x4c229f
test esi, esi
jne 0x4c229f
mov esi, 1
and ebx, 0xffffff00
mov dword [ebp - 0x74], esi
jmp 0x4c229f
cmp edi, 8
jb 0x4c229f
test esi, esi
jne 0x4c229f
movzx eax, byte [ecx + 7]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 6]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 5]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 4]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], esi
movzx eax, byte [eax + 0xb]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 0xa]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 9]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 8]
cdq
or ecx, eax
or esi, edx
mov dword [ebp - 0xb0], ecx
or ebx, 3
mov dword [ebp - 0xac], esi
jmp 0x4c2299
mov esi, 1
and ebx, 0xffffff00
mov dword [ebp - 0x74], esi
cmp edi, esi
jb 0x4c229f
movzx eax, byte [ecx + 4]
mov edx, esi
or ebx, eax
mov dword [ebp - 0x70], edx
test dl, bl
je 0x4c21af
cmp edi, 5
jb 0x4c21ac
movzx eax, byte [ecx + 8]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 7]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 6]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 5]
cdq
or ecx, eax
or esi, edx
mov edx, 5
mov dword [ebp - 0xb0], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xac], esi
mov dword [ebp - 0x70], edx
jmp 0x4c21af
and ebx, 0xfffffffe
test bl, 2
je 0x4c222a
lea eax, [edx + 4]
mov dword [ebp - 0x90], eax
cmp eax, edi
ja 0x4c2227
movzx eax, byte [edx + ecx + 7]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [edx + eax + 6]
cdq
or ecx, eax
or esi, edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [edx + eax + 5]
cdq
or ecx, eax
or esi, edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [edx + eax + 4]
cdq
or ecx, eax
or esi, edx
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], esi
mov dword [ebp - 0x70], edx
jmp 0x4c222a
and ebx, 0xfffffffd
test bl, 4
je 0x4c2299
lea eax, [edx + 4]
cmp eax, edi
ja 0x4c2296
mov eax, dword [ebp - 0x6c]
movzx eax, byte [edx + eax + 7]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [edx + eax + 6]
cdq
or ecx, eax
or esi, edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [edx + eax + 5]
cdq
or ecx, eax
or esi, edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [edx + eax + 4]
cdq
or ecx, eax
or esi, edx
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xa4], esi
jmp 0x4c2299
and ebx, 0xfffffffb
mov esi, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x94]
mov eax, 0xfffffffc
sub eax, edi
add ecx, 4
add edx, eax
add ecx, edi
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x94], edx
cmp edx, 4
jae 0x4c2010
jmp 0x4c22c9
xor ebx, ebx
test ebx, ebx
jne 0x4c24cf
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x20]
mov dword [ebp - 0x94], edx
test edx, edx
je 0x4c24cf
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x6c], ecx
cmp ecx, dword [eax + 0x3c]
je 0x4c24cf
xor esi, esi
mov dword [ebp - 0x74], esi
test ecx, ecx
je 0x4c24cd
cmp edx, 4
jb 0x4c24cf
nop dword [eax]
movzx edi, byte [ecx + 3]
movzx eax, byte [ecx + 2]
shl edi, 8
or edi, eax
lea eax, [edx - 4]
cmp edi, eax
ja 0x4c24cf
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx]
shl edx, 8
or edx, eax
cmp edx, 0x5455
je 0x4c242a
cmp edx, 0x5855
je 0x4c236f
cmp edx, 0x7855
jne 0x4c24a5
test esi, esi
jne 0x4c24a5
mov esi, 1
and ebx, 0xffffff00
mov dword [ebp - 0x74], esi
jmp 0x4c24a5
cmp edi, 8
jb 0x4c24a5
test esi, esi
jne 0x4c24a5
movzx eax, byte [ecx + 7]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 6]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 5]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 4]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], esi
movzx eax, byte [eax + 0xb]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 0xa]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 9]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 8]
cdq
or ecx, eax
or esi, edx
mov dword [ebp - 0xb0], ecx
or ebx, 3
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xac], esi
mov esi, dword [ebp - 0x74]
jmp 0x4c24a5
mov esi, 1
and ebx, 0xffffff00
mov dword [ebp - 0x74], esi
cmp edi, esi
jb 0x4c24a5
movzx eax, byte [ecx + 4]
or ebx, eax
test bl, 1
je 0x4c24a5
cmp edi, 5
jb 0x4c24a2
movzx eax, byte [ecx + 8]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 7]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 6]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0x6c]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 5]
cdq
or ecx, eax
or esi, edx
mov dword [ebp - 0xb0], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xac], esi
mov esi, dword [ebp - 0x74]
jmp 0x4c24a5
and ebx, 0xfffffffe
mov edx, dword [ebp - 0x94]
mov eax, 0xfffffffc
sub eax, edi
add ecx, 4
add edx, eax
add ecx, edi
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x94], edx
cmp edx, 4
jae 0x4c2310
jmp 0x4c24cf
xor ebx, ebx
test bl, 1
je 0x4c250f
mov eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0xac]
jg 0x4c2502
jl 0x4c24f2
mov eax, dword [ebp - 0xe0]
cmp eax, dword [ebp - 0xb0]
ja 0x4c2502
mov ebx, dword [ebp - 0x88]
mov eax, 1
mov ecx, dword [ebp - 0x7c]
jmp 0x4c251e
mov ebx, dword [ebp - 0x88]
xor eax, eax
mov ecx, dword [ebp - 0x7c]
jmp 0x4c251e
mov ebx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x7c]
cmp dword [ebx + 8], ecx
sbb eax, eax
inc eax
test eax, eax
jne 0x4c2527
inc dword [ebp - 0x80]
jmp 0x4c258a
mov esi, str.missing_or_early
mov eax, dword [0x5f248c]
neg eax
sbb eax, eax
and eax, 2
mov dword [ebx + 0x50], eax
test ecx, ecx
je 0x4c255b
cmp ecx, dword [0x5f2498]
jb 0x4c255b
mov eax, dword [0x5f2494]
test eax, eax
je 0x4c2554
cmp ecx, eax
jae 0x4c255b
mov ecx, 1
jmp 0x4c255d
xor ecx, ecx
cmp dword [0x5d0890], 0
mov dword [ebx + 0x54], ecx
je 0x4c258a
test ecx, ecx
mov eax, str.up_to_date
cmove eax, esi
push eax
push dword [ebx + 0x4c]
push str.zip_diagnostic:__s__s_n
push dword [0x63d97c]
call fcn.0045d410
add esp, 0x10
mov ebx, dword [ebx + 0x5c]
mov esi, str.missing_or_early
mov dword [ebp - 0x88], ebx
test ebx, ebx
jne 0x4c1a35
mov esi, dword [0x63d974]
mov ebx, dword [0x5d0880]
mov edi, dword [0x5d08c4]
test edi, edi
je 0x4c2671
nop word [eax + eax]
mov eax, dword [0x5c40d8]
cmp eax, 0x10000
je 0x4c264e
cmp eax, 3
je 0x4c264e
mov ecx, dword [edi]
xor edx, edx
push 0
push 0
call fcn.004c6f30
add esp, 8
test eax, eax
je 0x4c264e
cmp eax, dword [0x5f2498]
jb 0x4c264e
mov ecx, dword [0x5f2494]
test ecx, ecx
je 0x4c25ff
cmp eax, ecx
jae 0x4c264e
mov esi, dword [0x63d974]
mov edx, esi
mov ecx, dword [edi + 8]
call fcn.004c4f40
test eax, eax
jne 0x4c2649
mov ecx, 0x5b6ce4
mov eax, esi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c2640
test dl, dl
je 0x4c263c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c2640
add eax, 2
add ecx, 2
test dl, dl
jne 0x4c2620
xor eax, eax
jmp 0x4c2645
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4c264e
mov edi, dword [edi + 0x14]
jmp 0x4c265d
mov ecx, edi
call fcn.004c3c10
mov esi, dword [0x63d974]
mov edi, eax
test edi, edi
jne 0x4c25c0
mov edi, dword [0x5d08c4]
mov ebx, dword [0x5d0880]
mov eax, dword [ebp - 0x80]
test eax, eax
jne 0x4c274a
test edi, edi
jne 0x4c274a
mov ecx, dword [0x5f2480]
test ebx, ebx
je 0x4c26ce
test ecx, ecx
jne 0x4c274a
cmp dword [0x5d08b8], ecx
jne 0x4c274a
cmp dword [0x5d08a4], ecx
jne 0x4c274a
cmp dword [0x5f249c], ecx
jne 0x4c274a
cmp dword [0x5f248c], ecx
jne 0x4c274a
cmp dword [0x5f2488], ecx
jne 0x4c274a
cmp dword [0x5f24a0], 0
je 0x4c26fb
test ebx, ebx
jne 0x4c26e3
cmp dword [0x63d98c], ebx
je 0x4c26fb
xor ecx, ecx
call fcn.004c0080
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00524763
mov esp, ebp
pop ebp
ret
mov eax, dword [0x5c40d8]
cmp eax, 2
je 0x4c2743
cmp eax, 3
je 0x4c2743
test ebx, ebx
jne 0x4c3816
test ecx, ecx
jne 0x4c380a
cmp dword [0x5d08b8], ecx
jne 0x4c380a
cmp dword [0x5d08a4], ecx
jne 0x4c380a
cmp dword [0x5f249c], ecx
je 0x4c3816
jmp 0x4c380a
mov ecx, 0xc
jmp 0x4c26e5
cmp dword [ebp - 0x78], 0
mov edi, dword [0x63d98c]
je 0x4c276b
test eax, eax
jne 0x4c276b
test edi, edi
jne 0x4c2762
test ebx, ebx
je 0x4c276b
mov dword [ebp - 0x74], 1
jmp 0x4c2772
mov dword [ebp - 0x74], 0
cmp dword [0x5d08c0], 0
je 0x4c2785
call fcn.004b8610
mov dword [0x63d994], eax
mov ecx, 0x5b6ce4
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c27b0
test dl, dl
je 0x4c27ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c27b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4c2790
xor eax, eax
jmp 0x4c27b5
sbb eax, eax
or eax, 1
test eax, eax
je 0x4c2860
cmp dword [0x5f24a4], 0
je 0x4c27d2
test ebx, ebx
jne 0x4c27e1
test edi, edi
je 0x4c2860
test ebx, ebx
jne 0x4c27e1
test edi, edi
jne 0x4c27e1
push 0x5b768c
jmp 0x4c27e6
push 0x5b76d8
push esi
call fcn.00535593
add esp, 8
test eax, eax
je 0x4c3822
push eax
call fcn.005356cf
mov ecx, dword [0x63d974]
lea edx, [ebp - 0x38]
add esp, 4
call fcn.004c5370
test eax, eax
jne 0x4c281b
movzx eax, word [ebp - 0x32]
mov dword [ebp - 0x70], eax
jmp 0x4c2822
mov dword [ebp - 0x70], 0
mov ebx, dword [0x5d0880]
mov edi, dword [0x63d98c]
test ebx, ebx
jne 0x4c2858
test edi, edi
jne 0x4c2858
push dword [0x63d974]
call fcn.00540bad
mov esi, dword [0x63d974]
add esp, 4
mov ebx, dword [0x5d0880]
mov edi, dword [0x63d98c]
jmp 0x4c2867
mov esi, dword [0x63d974]
jmp 0x4c2867
mov dword [ebp - 0x70], 0
cmp dword [0x5f249c], 0
je 0x4c2878
xor edi, edi
mov dword [0x63d98c], edi
mov dword [ebp - 0x80], 0
mov ecx, 0x5b6ce4
mov dword [0x63d504], 0
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c28b0
test dl, dl
je 0x4c28ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c28b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4c2890
xor eax, eax
jmp 0x4c28b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4c296d
push 1
call fcn.005359d0
add esp, 4
push eax
call fcn.0053d74b
add esp, 4
push eax
call fcn.00540c22
add esp, 4
test eax, eax
jne 0x4c3832
push 0x8000
push 1
call fcn.005359d0
add esp, 4
push eax
call fcn.0053d74b
add esp, 4
push eax
call fcn.005418e8
add esp, 8
push 0x5b768c
push 1
call fcn.005359d0
add esp, 4
push eax
call fcn.0053d74b
add esp, 4
push eax
call fcn.00548401
mov ebx, eax
push 4
mov dword [ebp - 0x88], ebx
mov dword [0x5f2490], ebx
call fcn.0052c198
add esp, 0xc
mov dword [0x5f2484], eax
test eax, eax
je 0x4c388f
mov ecx, 0x2d
mov word [eax], cx
push 0x4000
call fcn.0052c198
add esp, 4
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x4c3841
jmp 0x4c2ad0
cmp dword [ebp - 0x74], 0
je 0x4c29c6
push 0x5b76d8
push esi
call fcn.00535593
mov ebx, eax
add esp, 8
mov dword [ebp - 0x88], ebx
test ebx, ebx
je 0x4c3851
mov eax, dword [0x63d974]
push 0
push dword [0x63d984]
mov dword [0x5f2484], eax
push ebx
mov dword [0x5f2490], ebx
call fcn.00542e58
add esp, 0xc
test eax, eax
jne 0x4c3861
mov eax, dword [0x63d984]
mov dword [0x63d504], eax
jmp 0x4c294d
test ebx, ebx
jne 0x4c29ce
test edi, edi
je 0x4c29e7
push 0x5ac778
push esi
call fcn.00535593
add esp, 8
mov dword [ebp - 0x80], eax
test eax, eax
je 0x4c387f
mov ecx, dword [0x5d0894]
test ecx, ecx
je 0x4c2a58
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c29f4
sub ecx, edx
lea eax, [ecx + 0xc]
push eax
call fcn.0052c198
mov esi, eax
add esp, 4
test esi, esi
je 0x4c2a9a
mov ecx, dword [0x5d0894]
mov edx, esi
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x4c2a20
mov ecx, esi
call fcn.004c4f90
cmp al, 0x2f
je 0x4c2a6b
cmp al, 0x3a
je 0x4c2a6b
cmp al, 0x5c
je 0x4c2a6b
lea edi, [esi - 1]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4c2a43
mov ax, word [0x5b2798]
mov word [edi], ax
jmp 0x4c2a6b
push 0xc
call fcn.0052c198
mov esi, eax
add esp, 4
test esi, esi
je 0x4c2a9a
mov byte [esi], 0
lea ecx, [esi - 1]
nop
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4c2a70
mov eax, dword [str.ziXXXXXX]
mov dword [ecx], eax
mov eax, dword [0x5b7970]
mov dword [ecx + 4], eax
mov al, byte [0x5b7974]
push esi
mov byte [ecx + 8], al
call fcn.0054851c
add esp, 4
mov dword [0x5f2484], eax
test eax, eax
je 0x4c388f
push 0x5b768c
push eax
call fcn.00535593
mov ebx, eax
add esp, 8
mov dword [ebp - 0x88], ebx
mov dword [0x5f2490], ebx
test ebx, ebx
je 0x4c389e
jmp 0x4c294d
push 0x4000
push 0
push eax
push ebx
call fcn.00543056
mov eax, dword [0x63d974]
add esp, 0x10
mov ecx, 0x5b6ce4
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c2b10
test dl, dl
je 0x4c2b0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c2b10
add eax, 2
add ecx, 2
test dl, dl
jne 0x4c2af0
xor eax, eax
jmp 0x4c2b15
sbb eax, eax
or eax, 1
test eax, eax
je 0x4c2b48
cmp dword [ebp - 0x74], 0
jne 0x4c2b48
mov eax, dword [0x63d98c]
test eax, eax
je 0x4c2b43
mov ecx, dword [ebp - 0x80]
mov edx, ebx
push eax
call fcn.004c4790
add esp, 4
test eax, eax
jne 0x4c38ae
mov eax, dword [0x63d98c]
mov dword [0x63d504], eax
mov esi, dword [0x5d0880]
xor eax, eax
mov dword [ebp - 0x6c], eax
mov edi, 0x5d0880
mov dword [ebp - 0x78], edi
test esi, esi
je 0x4c2dc4
cmp dword [esi + 0x50], 1
jne 0x4c2d96
mov ecx, dword [0x5c40d8]
cmp ecx, 0x10000
je 0x4c2cd9
cmp dword [0x5c3c38], 0
je 0x4c2bb9
mov eax, dword [esi + 0x4c]
push eax
cmp ecx, 3
jne 0x4c2b98
push str.freshening:__s
jmp 0x4c2b9d
push str.updating:__s
push dword [0x63d97c]
call fcn.0045d410
add esp, 0xc
push dword [0x63d97c]
call fcn.005409ba
add esp, 4
mov edx, ebx
mov ecx, esi
call fcn.004c5530
mov edi, eax
test edi, edi
je 0x4c2bd6
cmp edi, 0x12
je 0x4c2be4
cmp edi, 0xffffffff
jne 0x4c38c5
cmp edi, 0x12
je 0x4c2be4
cmp edi, 0xffffffff
jne 0x4c2db4
cmp dword [0x5c3c38], 0
mov dword [ebp - 0x6c], 1
je 0x4c2c0c
push 0x5a8340
push 1
call fcn.005359d0
add esp, 4
push eax
call fcn.0045d410
add esp, 8
cmp edi, 0x12
jne 0x4c2c42
cmp dword [ebp - 0x8c], 0
jne 0x4c3907
push dword [esi + 0x4c]
lea edi, [esi + 0x4c]
call fcn.00542b45
add esp, 4
cmp dword [0x5c3c38], 0
je 0x4c2cb5
push dword [edi]
push str.could_not_open_for_reading:
jmp 0x4c2c55
cmp dword [0x5c3c38], 0
lea edi, [esi + 0x4c]
je 0x4c2cb5
push dword [edi]
push str.file_and_directory_with_the_same_name:
push str._tzip_warning:__s_s_n
push 2
call fcn.005359d0
add esp, 4
push eax
call fcn.0045d410
push 2
call fcn.005359d0
add esp, 0x14
push eax
call fcn.005409ba
add esp, 4
cmp dword [0x5c3c38], 0
je 0x4c2cb5
push dword [edi]
push str.will_just_copy_entry_over:
push str._tzip_warning:__s_s_n
push 2
call fcn.005359d0
add esp, 4
push eax
call fcn.0045d410
push 2
call fcn.005359d0
add esp, 0x14
push eax
call fcn.005409ba
add esp, 4
mov edx, dword [ebp - 0x80]
mov ecx, esi
push ebx
call fcn.004c95b0
add esp, 4
mov dword [ebp - 0x90], eax
test eax, eax
jne 0x4c392b
mov dword [esi + 0x50], eax
jmp 0x4c2db4
cmp dword [0x5c3c38], 0
je 0x4c2d06
push dword [esi + 0x4c]
push str.deleting:__s_n
push dword [0x63d97c]
call fcn.0045d410
add esp, 0xc
push dword [0x63d97c]
call fcn.005409ba
add esp, 4
mov eax, dword [0x5d086c]
test eax, eax
je 0x4c2d25
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4c2d25
push 0
push dword [esi + 0x4c]
call eax
test eax, eax
jne 0x4c394f
mov eax, dword [esi + 0x5c]
push dword [esi + 0x48]
mov dword [ebp - 0x90], eax
call fcn.0052a52b
add esp, 4
push dword [esi + 0x4c]
call fcn.0052a52b
add esp, 4
cmp dword [esi + 0x1c], 0
je 0x4c2d55
push dword [esi + 0x3c]
call fcn.0052a52b
add esp, 4
cmp dword [esi + 0x20], 0
je 0x4c2d6c
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x3c]
je 0x4c2d6c
push eax
call fcn.0052a52b
add esp, 4
cmp dword [esi + 0x24], 0
je 0x4c2d7d
push dword [esi + 0x44]
call fcn.0052a52b
add esp, 4
push esi
call fcn.0052a52b
mov eax, dword [ebp - 0x90]
add esp, 4
dec dword [0x63d980]
mov dword [edi], eax
jmp 0x4c2dba
cmp dword [ebp - 0x74], 0
jne 0x4c2db4
mov edx, dword [ebp - 0x80]
mov ecx, esi
push ebx
call fcn.004c95b0
mov edi, eax
add esp, 4
test edi, edi
jne 0x4c395e
lea edi, [esi + 0x5c]
mov dword [ebp - 0x78], edi
mov esi, dword [edi]
test esi, esi
jne 0x4c2b63
mov edi, dword [0x5d08c4]
test edi, edi
je 0x4c2fc8
push 0x60
call fcn.0052c198
mov esi, eax
add esp, 4
test esi, esi
je 0x4c39c1
cmp dword [0x5c3c38], 0
mov dword [esi + 0x5c], 0
mov ecx, dword [edi]
mov dword [esi + 0x38], ecx
mov ecx, dword [edi + 4]
mov dword [edi], 0
mov dword [esi + 0x48], ecx
mov eax, dword [edi + 8]
mov dword [edi + 4], 0
mov dword [esi + 0x4c], eax
mov dword [edi + 8], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x50], 1
mov eax, dword [edi + 0xc]
mov dword [esi + 0x58], eax
je 0x4c2e6f
push dword [esi + 0x4c]
push str.__adding:__s
push dword [0x63d97c]
call fcn.0045d410
add esp, 0xc
push dword [0x63d97c]
call fcn.005409ba
add esp, 4
mov edx, ebx
mov ecx, esi
call fcn.004c5530
mov ebx, eax
test ebx, ebx
je 0x4c2e8c
cmp ebx, 0x12
je 0x4c2eac
cmp ebx, 0xffffffff
jne 0x4c397f
cmp ebx, 0x12
je 0x4c2eac
cmp ebx, 0xffffffff
je 0x4c2eac
mov eax, dword [ebp - 0x78]
inc dword [0x63d980]
mov dword [eax], esi
lea eax, [esi + 0x5c]
mov dword [ebp - 0x78], eax
jmp 0x4c2f69
mov eax, dword [0x5c3c38]
mov dword [ebp - 0x6c], 1
test eax, eax
je 0x4c2ed9
push 0x5a8340
push 1
call fcn.005359d0
add esp, 4
push eax
call fcn.0045d410
mov eax, dword [0x5c3c38]
add esp, 8
cmp ebx, 0x12
jne 0x4c2f0b
cmp dword [ebp - 0x8c], 0
jne 0x4c3907
push str.zip_warning
call fcn.00542b45
add esp, 4
cmp dword [0x5c3c38], 0
je 0x4c2f3f
push dword [esi + 0x4c]
push str.could_not_open_for_reading:
jmp 0x4c2f17
test eax, eax
je 0x4c2f3f
push dword [esi + 0x4c]
push str.file_and_directory_with_the_same_name:
push str._tzip_warning:__s_s_n
push 2
call fcn.005359d0
add esp, 4
push eax
call fcn.0045d410
push 2
call fcn.005359d0
add esp, 0x14
push eax
call fcn.005409ba
add esp, 4
push dword [esi + 0x38]
call fcn.0052a52b
add esp, 4
push dword [esi + 0x48]
call fcn.0052a52b
add esp, 4
push dword [esi + 0x4c]
call fcn.0052a52b
add esp, 4
push esi
call fcn.0052a52b
add esp, 4
mov eax, dword [edi + 0x10]
mov esi, dword [edi + 0x14]
mov dword [eax], esi
test esi, esi
je 0x4c2f7b
mov eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [edi]
test eax, eax
je 0x4c2f8a
push eax
call fcn.0052a52b
add esp, 4
mov eax, dword [edi + 8]
test eax, eax
je 0x4c2f9a
push eax
call fcn.0052a52b
add esp, 4
mov eax, dword [edi + 4]
test eax, eax
je 0x4c2faa
push eax
call fcn.0052a52b
add esp, 4
push edi
call fcn.0052a52b
dec dword [0x63d988]
add esp, 4
mov ebx, dword [ebp - 0x88]
mov edi, esi
test esi, esi
jmp 0x4c2dcc
mov eax, dword [0x5d08c0]
test eax, eax
je 0x4c2fe4
push eax
call fcn.0052a52b
add esp, 4
mov dword [0x5d08c0], 0
cmp dword [0x5f248c], 0
je 0x4c30fc
cmp dword [ebp - 0x9c], 0
jne 0x4c3021
push 0x5b7258
push 2
call fcn.005359d0
add esp, 4
push eax
call fcn.0053d74b
add esp, 4
push eax
call fcn.00548401
add esp, 8
mov dword [ebp - 0x9c], eax
push 0x101
call fcn.0052c198
mov esi, eax
add esp, 4
mov dword [ebp - 0x78], esi
test esi, esi
je 0x4c39d0
mov edi, dword [0x5d0880]
test edi, edi
je 0x4c30f3
nop dword [eax]
cmp dword [edi + 0x50], 0
je 0x4c30e8
cmp dword [0x5c3c38], 0
je 0x4c3079
push dword [edi + 0x4c]
push str.Enter_comment_for__s:_n
push dword [0x63d97c]
call fcn.0045d410
add esp, 0xc
push dword [ebp - 0x9c]
push 0x101
push esi
call fcn.00541ba9
add esp, 0xc
test eax, eax
je 0x4c30e8
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4c3094
sub esi, ecx
lea eax, [esi + 1]
push eax
call fcn.0052c198
add esp, 4
mov dword [ebp - 0x90], eax
test eax, eax
je 0x4c39df
mov ecx, dword [ebp - 0x78]
mov edx, eax
sub edx, ecx
nop
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x4c30c0
mov eax, dword [ebp - 0x90]
cmp byte [eax + esi - 1], 0xa
jne 0x4c30df
dec esi
mov byte [eax + esi], 0
mov dword [edi + 0x24], esi
mov esi, dword [ebp - 0x78]
mov dword [edi + 0x44], eax
mov edi, dword [edi + 0x5c]
test edi, edi
jne 0x4c3050
push esi
call fcn.0052a52b
add esp, 4
cmp dword [0x5f2488], 0
je 0x4c3244
mov esi, dword [0x63d500]
mov eax, 0xfffe
mov edi, dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp esi, eax
push 0xffff
push 0x40
cmova esi, eax
call edi
mov dword [0x63d2cc], eax
test eax, eax
jne 0x4c3153
push 2
push 0x40
call edi
push eax
mov dword [0x63d2cc], eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, eax
mov dword [0x63d2d0], ecx
mov byte [ecx], 0
jmp 0x4c31cb
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, dword [0x5d08b0]
mov dword [0x63d2d0], eax
test esi, esi
je 0x4c318f
mov edi, ecx
mov edx, esi
sub edi, eax
mov ecx, eax
mov al, byte [edi + ecx]
lea ecx, [ecx + 1]
mov byte [ecx - 1], al
sub edx, 1
jne 0x4c3171
mov eax, dword [0x63d2d0]
mov ecx, dword [0x5d08b0]
mov byte [esi + eax], dl
jmp 0x4c3192
mov byte [eax], 0
push ecx
call fcn.0052a52b
add esp, 4
push 1
call fcn.0052c198
mov dword [0x5d08b0], eax
add esp, 4
mov byte [eax], 0
mov eax, dword [0x5d086c]
test eax, eax
je 0x4c31c5
mov eax, dword [eax + 4]
test eax, eax
je 0x4c31c5
push dword [0x63d2d0]
call eax
mov ecx, dword [0x63d2d0]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c31d0
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.0052c198
mov esi, eax
add esp, 4
test esi, esi
je 0x4c39f9
mov eax, dword [0x63d2d0]
cmp byte [eax], 0
je 0x4c3203
push eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x4c3206
mov byte [esi], 0
push dword [0x5d08b0]
call fcn.0052a52b
add esp, 4
push dword [0x63d2cc]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [0x63d2cc]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [0x5d08b0], esi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4c3235
sub esi, ecx
mov dword [0x63d500], esi
mov esi, dword [0x5d0880]
xor eax, eax
mov ecx, dword [0x63d504]
xor edi, edi
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x7c], eax
test esi, esi
je 0x4c32a7
mov edx, ebx
mov ecx, esi
call fcn.004c91c0
test eax, eax
jne 0x4c3a08
mov ecx, dword [esi + 0x24]
add ecx, dword [esi + 0x20]
mov eax, dword [0x63d504]
add ecx, dword [esi + 0x18]
add eax, 0x2e
add edi, dword [esi + 0x14]
add eax, ecx
mov dword [0x63d504], eax
mov eax, dword [ebp - 0x7c]
add eax, dword [esi + 0x10]
mov esi, dword [esi + 0x5c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
test esi, esi
jne 0x4c3264
test eax, eax
jne 0x4c32e5
cmp dword [0x5c3c38], eax
je 0x4c32e5
push 0x579be0
push str.zip_file_empty
push str._tzip_warning:__s_s_n
push 2
call fcn.005359d0
add esp, 4
push eax
call fcn.0045d410
push 2
call fcn.005359d0
add esp, 0x14
push eax
call fcn.005409ba
add esp, 4
cmp dword [0x5d0890], 0
je 0x4c3341
mov ecx, dword [ebp - 0x7c]
mov edx, ecx
mov esi, edi
cmp edi, 0xffffff
jbe 0x4c330f
lea esi, [edi + 0x80]
lea edx, [ecx + 0x80]
shr esi, 8
shr edx, 8
cmp esi, edx
jbe 0x4c3329
mov eax, esi
sub eax, edx
xor edx, edx
imul eax, eax, 0xc8
div esi
inc eax
cdq
sub eax, edx
sar eax, 1
jmp 0x4c332b
xor eax, eax
push eax
push ecx
push edi
push str.total_bytes_lu__compressed_lu_____d___savings_n
push dword [0x63d97c]
call fcn.0045d410
add esp, 0x14
mov edx, dword [0x63d504]
mov eax, dword [ebp - 0x90]
sub edx, eax
mov ecx, dword [ebp - 0x78]
push ebx
sub esp, 8
push eax
call fcn.004c9460
add esp, 0x10
test eax, eax
jne 0x4c3a08
push ebx
mov dword [0x5f2490], eax
call fcn.005356cf
add esp, 4
test eax, eax
jne 0x4c3a15
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x4c338d
push eax
call fcn.005356cf
add esp, 4
mov edi, dword [0x63d974]
mov ecx, 0x5b6ce4
mov eax, edi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c33c0
test dl, dl
je 0x4c33bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c33c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4c33a0
xor eax, eax
jmp 0x4c33c5
sbb eax, eax
or eax, 1
test eax, eax
je 0x4c3523
cmp dword [ebp - 0x74], 0
jne 0x4c3523
mov ebx, dword [0x5f2484]
lea edx, [ebp - 0x68]
mov ecx, edi
xor esi, esi
call fcn.004c5370
test eax, eax
jne 0x4c33f9
cmp word [ebp - 0x60], 1
jle 0x4c3424
mov esi, 1
test esi, esi
jne 0x4c3443
push edi
push ebx
call fcn.005431fb
add esp, 8
test eax, eax
je 0x4c343b
mov esi, 1
call fcn.0053c5ca
cmp dword [eax], 0x12
je 0x4c343b
mov esi, 0xf
jmp 0x4c34e4
push edi
call fcn.00540bad
add esp, 4
test eax, eax
je 0x4c33f9
mov esi, 0xf
jmp 0x4c34e4
test esi, esi
je 0x4c34e2
push 0x5ac778
push ebx
call fcn.00535593
mov esi, eax
add esp, 8
mov dword [ebp - 0x90], esi
test esi, esi
jne 0x4c347d
push ebx
push str._replace:_cant_open__s_n
push 2
call fcn.005359d0
add esp, 4
push eax
call fcn.0045d410
add esp, 0xc
mov esi, 0xa
jmp 0x4c34e4
push 0x5b768c
push edi
call fcn.00535593
add esp, 8
mov dword [ebp - 0x94], eax
test eax, eax
jne 0x4c34a5
push esi
call fcn.005356cf
add esp, 4
mov esi, 0xf
jmp 0x4c34e4
push 0xffffffffffffffff
mov edx, eax
mov ecx, esi
call fcn.004c4790
add esp, 4
mov esi, eax
push dword [ebp - 0x90]
call fcn.005356cf
add esp, 4
push dword [ebp - 0x94]
call fcn.005356cf
add esp, 4
test eax, eax
jne 0x4c34ee
test esi, esi
jne 0x4c34ee
push ebx
call fcn.00540bad
add esp, 4
xor esi, esi
test esi, esi
jne 0x4c3a2a
jmp 0x4c350f
push edi
call fcn.00540bad
add esp, 4
test esi, esi
je 0x4c3508
cmp esi, 0xa
mov eax, 0xe
cmove esi, eax
jmp 0x4c34e4
mov esi, 0xe
jmp 0x4c34e4
push dword [0x5f2484]
call fcn.0052a52b
mov edi, dword [0x63d974]
add esp, 4
mov esi, dword [ebp - 0x70]
mov dword [0x5f2484], 0
test esi, esi
je 0x4c3573
mov ecx, 0x5b6ce4
mov eax, edi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c3560
test dl, dl
je 0x4c355c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c3560
add eax, 2
add ecx, 2
test dl, dl
jne 0x4c3540
xor eax, eax
jmp 0x4c3565
sbb eax, eax
or eax, 1
test eax, eax
je 0x4c3573
push esi
push edi
call fcn.00541736
add esp, 8
push dword [ebp - 0xc0]
call fcn.0052a52b
mov eax, dword [ebp - 0x6c]
add esp, 4
neg eax
sbb eax, eax
and eax, 0x12
mov ecx, eax
jmp 0x4c26e5
mov edx, str.missing_argument_for__b_or__P
mov ecx, 0x10
call fcn.004c02c0
mov edx, str.mm_not_supported
mov ecx, 0x10
call fcn.004c02c0
mov ebx, dword [ebp - 0x84]
mov ecx, str.name_not_matched:
mov edx, dword [ebx + edi*4]
call fcn.004c04b0
mov edx, dword [ebx + edi*4]
mov ecx, 0x12
call fcn.004c02c0
mov edx, str.use__b_before_zip_file_name
mov ecx, 0x10
call fcn.004c02c0
push edi
call fcn.0052a52b
add esp, 4
mov eax, 0x10
test esi, esi
mov edx, str.was_verifying_encryption_password
cmovs esi, eax
mov ecx, esi
call fcn.004c02c0
mov edx, str.password_verification_failed
mov ecx, 0x10
call fcn.004c02c0
mov edx, str.was_verifying_encryption_password
mov ecx, 4
call fcn.004c02c0
mov edx, str.zero_length_password_not_allowed
mov ecx, 0x10
call fcn.004c02c0
test eax, eax
mov ecx, 0x10
mov edx, str.was_getting_encryption_password
cmovs eax, ecx
mov ecx, eax
call fcn.004c02c0
mov edx, str.was_getting_encryption_password
mov ecx, 4
call fcn.004c02c0
mov edx, str.can_only_have_one__P
mov ecx, 0x10
call fcn.004c02c0
mov edx, str.use__P_before_zip_file_name
mov ecx, 0x10
call fcn.004c02c0
mov edx, str.do_not_specify_both__r_and__R
mov ecx, 0x10
call fcn.004c02c0
cmp eax, 0x5f2494
mov ecx, str.can_only_have_one__t
mov edx, str.can_only_have_one__tt
cmovne edx, ecx
mov ecx, 0x10
call fcn.004c02c0
mov edx, str.specify_just_one_action
mov ecx, 0x10
call fcn.004c02c0
mov edx, str.use__x_or__i_after_name_of_zipfile
mov ecx, 0x10
call fcn.004c02c0
mov edx, esi
mov ecx, str.name_not_matched:
call fcn.004c04b0
mov edx, esi
mov ecx, 0x12
call fcn.004c02c0
mov edx, esi
mov ecx, eax
call fcn.004c02c0
push ecx
push str.no_such_option:__c
push 0x63d520
call fcn.004ae360
add esp, 0xc
mov edx, 0x63d520
mov ecx, 0x10
call fcn.004c02c0
mov esi, dword [ebp - 0x70]
mov ecx, str.name_not_matched:
mov ebx, dword [ebp - 0x84]
mov edx, dword [ebx + esi*4]
call fcn.004c04b0
mov edx, dword [ebx + esi*4]
mov ecx, 0x12
call fcn.004c02c0
mov esi, dword [ebp - 0x70]
mov ecx, eax
mov edx, dword [ebp - 0x84]
mov edx, dword [edx + esi*4]
call fcn.004c02c0
mov edx, str.invalid_path
mov ecx, 0x10
call fcn.004c02c0
mov edx, str.invalid_time
mov ecx, 0x10
call fcn.004c02c0
mov edx, dword [0x63d974]
mov ecx, edi
call fcn.004c02c0
cmp dword [ebp - 0x74], 0x5f2494
mov eax, str.invalid_date_entered_for__t_option
mov edx, str.invalid_date_entered_for__tt_option
mov ecx, 0x10
cmovne edx, eax
call fcn.004c02c0
mov edx, dword [ebp - 0x84]
mov ecx, eax
mov edx, dword [edx + edi*4]
call fcn.004c02c0
mov ebx, dword [ebp - 0x84]
mov edx, dword [ebx + edi*4]
call fcn.004c04b0
mov edx, dword [ebx + edi*4]
mov ecx, 0x12
call fcn.004c02c0
mov edx, str.nothing_to_select_from
mov ecx, 0x10
call fcn.004c02c0
mov edx, str.cannot_repeat_names_in_zip_file
mov ecx, 0x10
call fcn.004c02c0
mov edx, str.was_processing_list_of_files
mov ecx, eax
call fcn.004c02c0
mov edx, str.missing_suffix_list
mov ecx, 0x10
call fcn.004c02c0
mov edx, str.cant_use__d__f__u_or__g_on_stdout_n
mov ecx, 0x10
call fcn.004c02c0
mov edx, str._M_not_supported__use__MM_for_Must_Match
mov ecx, 0x10
call fcn.004c02c0
mov edx, str.was_processing_arguments
mov ecx, 4
call fcn.004c02c0
mov edx, esi
mov ecx, 0xd
call fcn.004c02c0
mov edx, esi
mov ecx, 0xc
call fcn.004c02c0
mov edx, dword [0x63d974]
mov ecx, 0xf
call fcn.004c02c0
mov edx, str.tried_to_write_binary_zipfile_data_to_console_
mov ecx, 5
call fcn.004c02c0
mov edx, dword [0x5f2484]
mov ecx, 4
call fcn.004c02c0
mov edx, dword [0x63d974]
mov ecx, 0xd
call fcn.004c02c0
push ebx
call fcn.00542a65
mov edx, dword [0x63d974]
add esp, 4
neg eax
sbb eax, eax
and eax, 9
lea ecx, [eax + 2]
call fcn.004c02c0
mov edx, dword [0x63d974]
mov ecx, 0xd
call fcn.004c02c0
mov edx, str.allocating_temp_filename
mov ecx, 4
call fcn.004c02c0
mov edx, dword [0x5f2484]
mov ecx, 0xa
call fcn.004c02c0
mov edx, dword [0x63d974]
cmp eax, 0xa
mov ecx, eax
cmove edx, dword [0x5f2484]
call fcn.004c02c0
cmp dword [0x5c3c38], 0
je 0x4c38e6
push 0x5a8340
push 1
call fcn.005359d0
add esp, 4
push eax
call fcn.0045d410
add esp, 8
push dword [esi + 0x38]
push str.was_zipping__s
push 0x63d520
call fcn.004ae360
add esp, 0xc
mov edx, 0x63d520
mov ecx, edi
call fcn.004c02c0
push dword [esi + 0x38]
push str.was_zipping__s
push 0x63d520
call fcn.004ae360
add esp, 0xc
mov edx, 0x63d520
mov ecx, 0x12
call fcn.004c02c0
push dword [edi]
push str.was_copying__s
push 0x63d520
call fcn.004ae360
mov ecx, dword [ebp - 0x90]
add esp, 0xc
mov edx, 0x63d520
call fcn.004c02c0
mov edx, str.User_terminated_operation
mov ecx, 9
call fcn.004c02c0
push dword [esi + 0x4c]
push str.was_copying__s
push 0x63d520
call fcn.004ae360
add esp, 0xc
mov edx, 0x63d520
mov ecx, edi
call fcn.004c02c0
cmp dword [0x5c3c38], 0
je 0x4c39a0
push 0x5a8340
push 1
call fcn.005359d0
add esp, 4
push eax
call fcn.0045d410
add esp, 8
push dword [esi + 0x4c]
push str.was_zipping__s
push 0x63d520
call fcn.004ae360
add esp, 0xc
mov edx, 0x63d520
mov ecx, ebx
call fcn.004c02c0
mov edx, str.was_adding_files_to_zip_file
mov ecx, 4
call fcn.004c02c0
mov edx, str.was_reading_comment_lines
mov ecx, 4
call fcn.004c02c0
push dword [ebp - 0x78]
call fcn.0052a52b
add esp, 4
mov edx, str.was_reading_comment_lines
mov ecx, 4
call fcn.004c02c0
mov edx, str.was_setting_comments_to_null
mov ecx, 4
call fcn.004c02c0
mov edx, dword [0x5f2484]
mov ecx, eax
call fcn.004c02c0
mov eax, dword [ebp - 0x74]
mov edx, dword [0x5f2484]
lea ecx, [eax*4 + 0xa]
call fcn.004c02c0
mov edx, dword [0x5f2484]
mov ecx, str.new_zip_file_left_as:
call fcn.004c04b0
push dword [0x5f2484]
call fcn.0052a52b
add esp, 4
mov dword [0x5f2484], 0
mov edx, str.was_replacing_the_original_zip_file
mov ecx, esi
call fcn.004c02c0
nop
cmovl eax, dword [eax]
add dword [edi], ecx
dec esp
add byte [ebp - 0x29ffb3f5], bh
or ecx, dword [eax + eax + 0x10]
cmovl eax, dword [eax]
jecxz 0x4c3a81
dec esp
add byte [ecx], bh
or al, 0x4c
add byte [ecx + 0xd66004c], ah
dec esp
add byte [eax - 0x2effb3f3], ch
or eax, 0xda8004c
dec esp
add cl, dl
or eax, 0xe2d004c
dec esp
add byte [ecx + 0xe], cl
dec esp
add byte [ebx - 0x18ffb3f2], cl
cmovl eax, dword [eax]
or ecx, dword [eax + eax + 0xe]
or al, 76
add byte [0x48004c0c], bl
or al, 0x4c
add byte [edi], ch
or eax, 0xd4b004c
dec esp
add bl, cl
push cs
dec esp
add byte [edi + 0xd], dl
dec esp
add byte [ebp + 0xd], dh
dec esp
add byte [ebp + ecx + 0xd8f004c], al
dec esp
add byte [ebx - 0x3dffb3f3], dh
or eax, 0xffd004c
dec esp
add bh, ch
or eax, 0xe11004c
dec esp
add byte [eax + 0xe], bl
dec esp
add byte [edx - 0x49ffb3f2], bl
push cs
dec esp
add dl, dh
push cs
dec esp
add al, bl
dec esp
add byte [eax], al
and esp, dword [ebx]
add dword [ebx], esp
and esp, dword [ebx]
and esp, dword [ebx]
and esp, dword [ebx]
and esp, dword [ebx]
and esp, dword [ebx]
add al, byte [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
and esp, dword [ebx]
and esp, dword [ebx]
and esp, dword [ebx]
add al, 5
and esp, dword [ebx]
push es
and eax, dword [edi]
and esp, dword [ebx]
and ecx, dword [eax]
and esp, dword [ebx]
or dword [ebx], esp
and ecx, dword [edx]
and ecx, dword [ebx]
or al, 13
and esp, dword [ebx]
and ecx, dword [esi]
and esp, dword [ebx]
and esp, dword [ebx]
and esp, dword [ebx]
and esp, dword [ebx]
and ecx, dword [edi]
adc byte [ecx], dl
adc dl, byte [ebx]
adc al, 35
adc eax, 421009174
sbb bl, byte [ebx]
sbb al, 29
push ds
and ebx, dword [edi]
and byte [ecx], ah
and edx, dword [-1872354781]
xor byte [edi], dh
dec esp
add byte [edi], bh
aaa
dec esp
add byte [ebp + 0x10], cl
dec esp
add byte [ebp + 0x10], cl
dec esp
add byte [edx], dh
adc dword [eax + eax + 0x6f], ecx
adc ecx, dword [eax + eax - 0x4d]
adc ecx, dword [eax + eax + 0x69]
adc al, 0x4c
add byte [ecx + 0x14], ch
dec esp
add byte [edx], cl
adc eax, 0x150a004c
dec esp
add byte [edx - 0x33ffb3ec], dh
int3