Function at 0x4afe40
Capabilities:
Encode data using xor
Hash data with crc32
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xdc
mov eax, dword [0x55800c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x5d5cb4]
push ebx
push esi
push edi
mov dword [ebp - 0x80], eax
mov eax, dword [0x5d6d60]
push 0x518188
push 2
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x84], 0
call fcn.004dcf4d
push 0
push 0x5d5c40
mov dword [0x558fec], 1
mov dword [0x58a734], 0
mov dword [0x58a730], 0
mov dword [0x58a328], 0
mov dword [0x58a740], 0
mov dword [0x58a73c], 0
mov dword [0x58a748], 0
mov dword [0x58a74c], 0
mov dword [0x58a744], 0
mov dword [0x5d5c30], 0xffffffff
mov dword [0x58a32c], 0
mov dword [0x5d5c28], 0
mov dword [0x568bc0], 0
mov dword [0x568b94], 0
mov dword [0x558aec], 1
mov dword [0x558ad8], 0xffffffff
mov dword [0x568bbc], 0
mov dword [0x568ba8], 0
mov dword [0x568bcc], 0
mov dword [0x568bb8], 0
mov dword [0x558adc], 6
mov dword [0x568ba0], 0
mov dword [0x568b90], 0
mov dword [0x568b8c], 0
mov dword [0x568bd4], 0
mov dword [0x568bac], 0
mov dword [0x558ae0], 1
mov dword [0x568b88], 0
mov dword [0x558ad0], 1
mov dword [0x558ae8], 1
mov dword [str..Z:.zip:.zoo:.arc:.lzh:.arj], 0x54f2ac
mov dword [0x568bd0], 0
mov dword [0x568ba4], 0
mov dword [0x568bd8], 0
mov dword [0x558ad4], 0x568bd8
mov dword [0x568bb4], 0
mov dword [0x568bc8], 0
mov dword [0x568bb0], 0
mov dword [0x568b9c], 0
mov dword [ebp - 0x88], 0
call fcn.004f4720
add esp, 0x10
test eax, eax
jne 0x4b1201
push 1
call fcn.004db37d
add esp, 4
mov dword [0x5d5c1c], eax
push 0
call fcn.004db37d
add esp, 4
mov dword [ebp - 0x74], eax
xor ecx, ecx
nop
mov byte [ecx + 0x5d5580], cl
mov byte [ecx + 0x5d56a0], cl
inc ecx
cmp ecx, 0x100
jb 0x4b0050
mov ecx, 0x61
nop word [eax + eax]
lea eax, [ecx - 0x20]
mov byte [ecx + 0x5d56a0], al
inc ecx
cmp ecx, 0x7a
jbe 0x4b0070
mov ecx, 0x41
lea eax, [ecx + 0x20]
mov byte [ecx + 0x5d5580], al
inc ecx
cmp ecx, 0x5a
jbe 0x4b0084
push 0x54e850
call fcn.004de47c
add esp, 4
call fcn.004de1b4
mov esi, dword [ebp - 0x80]
xor ecx, ecx
mov dword [ebp - 0x70], ecx
xor eax, eax
mov ecx, dword [ebp - 0x94]
mov edx, esi
mov dword [0x58a32c], 0
xor ebx, ebx
mov dword [0x5d5c14], 0
mov dword [0x58a738], 0
mov dword [ebp - 0x6c], eax
call fcn.004afab0
test eax, eax
jne 0x4b1201
mov edi, 1
mov ecx, edi
mov dword [ebp - 0x78], edi
cmp dword [ebp - 0x94], ecx
jle 0x4b0ba0
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x7c], eax
nop word [eax + eax]
mov esi, dword [esi + edi*4]
cmp byte [esi], 0x2d
jne 0x4b0620
mov al, byte [esi + 1]
lea edi, [esi + 1]
mov dword [ebp - 0x8c], edi
test al, al
je 0x4b0597
movsx ecx, al
lea eax, [ecx - 0x21]
cmp eax, 0x59
ja case.0x4b0146.34
movzx eax, byte [eax + 0x4b24dc]
jmp dword [eax*4 + 0x4b244c]
mov dword [0x558ad8], 0
mov dword [0x558adc], 0
jmp case.0x4b0146.112
lea eax, [ecx - 0x30]
mov dword [0x558adc], eax
jmp case.0x4b0146.112
mov dword [0x568bb8], 1
jmp case.0x4b0146.112
mov dword [0x58a74c], 1
test ebx, ebx
jne 0x4b20ca
mov ebx, 1
jmp case.0x4b0146.112
mov dword [0x58a734], 1
jmp case.0x4b0146.112
cmp dword [0x558fec], 1
jne 0x4b2195
mov dword [0x558fec], 0x10000
jmp case.0x4b0146.112
mov dword [0x558ae0], 0
jmp case.0x4b0146.112
cmp dword [0x568bd0], 0
jne case.0x4b0146.112
push 0x51
call fcn.004dad8d
add esp, 4
mov dword [0x568bd0], eax
test eax, eax
je 0x4b213b
push dword [0x5d5c14]
push str.Enter_password:
push 0x51
push eax
mov eax, dword [0x568b80]
mov eax, dword [eax + 8]
call eax
test eax, eax
jne 0x4b2125
mov eax, dword [0x568bd0]
cmp byte [eax], 0
je 0x4b2116
push 0x51
call fcn.004dad8d
mov edi, eax
add esp, 4
test edi, edi
je 0x4b2107
push dword [0x5d5c14]
mov ecx, dword [0x568b80]
push str.Verify_password:
push 0x51
push edi
mov eax, dword [ecx + 8]
call eax
mov esi, eax
test esi, esi
je 0x4b0266
cmp esi, 0xffffffff
jne 0x4b20d9
cmp esi, 0xffffffff
jne 0x4b026f
xor esi, esi
jmp 0x4b029b
mov eax, dword [0x568bd0]
mov ecx, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b0296
test dl, dl
je 0x4b0292
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b0296
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b0276
xor esi, esi
jmp 0x4b029b
sbb esi, esi
or esi, 1
push edi
call fcn.004dab64
add esp, 4
test esi, esi
jne 0x4b20f8
mov edi, dword [ebp - 0x8c]
jmp case.0x4b0146.112
inc dword [0x568bcc]
jmp case.0x4b0146.112
cmp dword [0x558fec], 1
jne 0x4b2195
mov dword [0x558fec], 3
jmp case.0x4b0146.112
mov edx, 1
mov dword [ebp - 0x70], edx
jmp 0x4b0571
mov dword [0x558aec], 0
jmp case.0x4b0146.112
mov dword [0x58a744], 1
jmp case.0x4b0146.112
mov dword [0x568bbc], 1
jmp case.0x4b0146.112
inc dword [0x568ba0]
jmp case.0x4b0146.112
mov eax, dword [0x568b94]
inc eax
mov dword [0x568b94], eax
cmp eax, 2
je 0x4b20bb
jmp case.0x4b0146.112
inc dword [ebp - 0x88]
jmp case.0x4b0146.112
mov dword [str..Z:.zip:.zoo:.arc:.lzh:.arj], 0
jmp case.0x4b0146.112
mov dword [0x58a328], 1
jmp case.0x4b0146.112
test ebx, ebx
jne 0x4b2159
cmp dword [0x568bd0], ebx
jne 0x4b214a
mov ebx, 7
jmp case.0x4b0146.112
cmp dword [0x568ba8], 0
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x74]
mov dword [0x558ad0], 0
je 0x4b0577
dec dword [0x568ba8]
jmp 0x4b0577
cmp dword [0x568bc0], 2
je 0x4b2168
mov dword [0x568bc0], 1
jmp case.0x4b0146.112
cmp dword [0x568bc0], 1
je 0x4b2168
mov dword [0x568bc0], 2
jmp case.0x4b0146.112
mov dword [0x568bd4], 1
jmp case.0x4b0146.112
mov cl, byte [edi + 1]
lea eax, [edi + 1]
cmp cl, 0x74
mov edx, 0x58a740
mov ebx, 0x58a73c
cmove edx, ebx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x9c], edx
cmp dword [edx], 0
jne 0x4b2177
cmp cl, 0x74
mov ebx, 2
cmovne eax, edi
mov edi, eax
jmp case.0x4b0146.112
mov dword [0x58a748], 1
jmp case.0x4b0146.112
cmp dword [0x558fec], 1
jne 0x4b2195
mov dword [0x558fec], 2
jmp case.0x4b0146.112
inc dword [0x568ba8]
mov dword [0x558ad0], 1
jmp case.0x4b0146.112
cmp byte [edi + 1], 0x40
jne 0x4b047f
cmp byte [edi + 2], 0
jne 0x4b0b1b
cmp dword [0x5d5c14], 0
je 0x4b21a4
mov ebx, 5
jmp case.0x4b0146.112
mov dword [0x58a730], 1
jmp case.0x4b0146.112
mov dword [0x568bac], 1
jmp case.0x4b0146.112
xor esi, esi
mov dword [ebp - 0x74], esi
cmp ebx, 3
jge 0x4b04ce
mov edx, dword [ebp - 0x70]
mov ecx, 1
mov dword [ebp - 0x6c], ecx
jmp 0x4b0577
push 0
call fcn.004db37d
add esp, 4
mov edx, eax
call fcn.004b2570
mov esi, eax
test esi, esi
je case.0x4b0146.112
mov ebx, 4
nop
mov eax, dword [0x558fec]
cmp eax, 1
je 0x4b0512
cmp eax, 2
je 0x4b0512
push 0xffffffffffffffff
mov edx, 1
mov ecx, esi
call fcn.004b4e60
add esp, 4
jmp 0x4b0519
mov ecx, esi
call fcn.004b4c60
test eax, eax
je 0x4b053f
mov edx, esi
cmp eax, 0xffffffff
jne 0x4b2134
mov ecx, str.name_not_matched:
call fcn.004afa70
cmp dword [ebp - 0x88], 0
jne 0x4b2267
push 0
call fcn.004db37d
add esp, 4
mov edx, eax
call fcn.004b2570
mov esi, eax
test esi, esi
jne 0x4b04f0
jmp case.0x4b0146.112
mov dword [0x558ae8], 0
jmp case.0x4b0146.112
mov dword [0x568b8c], 1
mov edx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x6c]
mov al, byte [edi + 1]
inc edi
mov dword [ebp - 0x8c], edi
test al, al
jne 0x4b0130
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], ecx
jmp 0x4b0a2a
lea eax, [ebx - 1]
cmp eax, 3
ja case.0x4b064f.5
jmp dword [eax*4 + 0x4b2538]
xor eax, eax
mov dword [ebp - 0x74], eax
mov eax, dword [0x558fec]
cmp eax, 1
je 0x4b05ce
cmp eax, 2
je 0x4b05ce
mov edx, ecx
mov ecx, esi
push 0xffffffffffffffff
call fcn.004b4e60
add esp, 4
jmp 0x4b05d5
mov ecx, esi
call fcn.004b4c60
test eax, eax
je 0x4b0604
cmp eax, 0xffffffff
jne 0x4b21f0
cmp dword [ebp - 0x88], 0
mov ecx, str.name_not_matched:
jne 0x4b21d5
mov edi, dword [ebp - 0x78]
mov edx, dword [ebp - 0x80]
mov edx, dword [edx + edi*4]
call fcn.004afa70
jmp 0x4b0607
mov edi, dword [ebp - 0x78]
cmp ebx, 3
jne case.0x4b064f.5
mov dword [ebp - 0x84], edi
mov ebx, 4
jmp 0x4b0b1e
cmp dword [str..Z:.zip:.zoo:.arc:.lzh:.arj], 0
jne 0x4b0634
mov dword [str..Z:.zip:.zoo:.arc:.lzh:.arj], esi
jmp case.0x4b064f.5
cmp ebx, 5
je 0x4b0bb2
cmp ebx, 6
je 0x4b0b3b
cmp ebx, 7
ja case.0x4b064f.5
jmp dword [ebx*4 + 0x4b2548]
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b0660
sub ecx, edx
lea eax, [ecx + 5]
push eax
call fcn.004dad8d
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4b0749
mov ecx, ebx
sub ecx, esi
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [ecx + esi - 1], al
test al, al
jne 0x4b0683
mov al, byte [ebx]
mov esi, ebx
test al, al
je 0x4b06b6
cmp al, 0x5c
jne 0x4b069f
mov byte [esi], 0x2f
call fcn.004e006f
push eax
push esi
call fcn.004e0021
add esi, eax
add esp, 8
mov al, byte [esi]
test al, al
jne 0x4b0698
cmp dword [0x568bb8], 0
jne 0x4b0749
mov cl, byte [ebx]
xor edi, edi
mov esi, ebx
test cl, cl
je 0x4b06f2
nop dword [eax]
cmp cl, 0x2f
mov eax, esi
cmovne eax, edi
mov edi, eax
call fcn.004e006f
push eax
push esi
call fcn.004e0021
mov cl, byte [esi + eax]
add esi, eax
add esp, 8
test cl, cl
jne 0x4b06d0
mov esi, ebx
test edi, edi
je 0x4b06fb
lea esi, [edi + 1]
mov cl, byte [esi]
xor edi, edi
test cl, cl
je 0x4b0725
cmp cl, 0x2e
mov eax, esi
cmovne eax, edi
mov edi, eax
call fcn.004e006f
push eax
push esi
call fcn.004e0021
mov cl, byte [esi + eax]
add esi, eax
add esp, 8
test cl, cl
jne 0x4b0703
test edi, edi
jne 0x4b0749
lea ecx, [ebx - 1]
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4b0730
mov eax, dword [str..zip]
mov dword [ecx], eax
mov al, byte [0x542064]
mov byte [ecx + 4], al
mov dword [0x5d5c14], ebx
test ebx, ebx
je 0x4b22eb
mov dword [0x568b98], 0
xor edi, edi
cmp byte [ebx], 0
mov dword [0x5d5c2c], 0
mov dword [0x5d5c20], 0
mov dword [0x5d57a0], 0
je 0x4b0863
mov ecx, 0x54ecf8
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b07b1
test dl, dl
je 0x4b07ad
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b07b1
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b0791
xor eax, eax
jmp 0x4b07b6
sbb eax, eax
or eax, 1
test eax, eax
je 0x4b0863
push 0x541140
push ebx
call fcn.004daf76
mov esi, eax
add esp, 8
test esi, esi
je 0x4b0863
cmp dword [0x568bcc], edi
je 0x4b07ef
cmp dword [0x568bb8], edi
jne 0x4b07ef
mov ecx, esi
call fcn.004b6100
jmp 0x4b07f6
mov ecx, esi
call fcn.004b6940
push esi
mov edi, eax
call fcn.004db003
mov ecx, dword [0x5d5c20]
add esp, 4
test ecx, ecx
je 0x4b0863
lea edx, [ecx*4]
mov eax, edx
shr eax, 2
cmp eax, ecx
jne 0x4b221e
push edx
call fcn.004dad8d
mov edx, eax
mov dword [0x5d5c18], eax
add esp, 4
test edx, edx
je 0x4b221e
mov ecx, dword [0x568b98]
test ecx, ecx
je 0x4b084d
mov dword [edx], ecx
add edx, 4
mov ecx, dword [ecx + 0x5c]
test ecx, ecx
jne 0x4b0841
push 0x4b5e00
push 4
push dword [0x5d5c20]
push eax
call fcn.004e17f0
add esp, 0x10
test edi, edi
jne 0x4b2223
cmp dword [0x568bc0], 2
mov ebx, 3
mov eax, 6
cmove ebx, eax
jmp case.0x4b064f.5
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4b0887
sub esi, ecx
lea eax, [esi + 1]
push eax
call fcn.004dad8d
mov ecx, eax
add esp, 4
mov dword [0x568ba4], ecx
test ecx, ecx
je 0x4b22eb
mov edx, dword [ebp - 0x80]
mov edx, dword [edx + edi*4]
mov al, byte [edx]
lea ecx, [ecx + 1]
inc edx
mov byte [ecx - 1], al
test al, al
jne 0x4b08b2
jmp 0x4b0a0d
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xa8]
push eax
push str._4d__2d__2d
push esi
call fcn.004349a0
add esp, 0x14
cmp eax, 3
je 0x4b091d
mov edx, dword [ebp - 0x80]
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xa0]
push eax
push str._2d_2d_4d
push dword [edx + edi*4]
call fcn.004349a0
add esp, 0x14
cmp eax, 3
jne 0x4b2230
mov edx, dword [ebp - 0xa0]
lea eax, [edx - 1]
cmp eax, 0xb
ja 0x4b2230
mov ecx, dword [ebp - 0xa4]
lea eax, [ecx - 1]
cmp eax, 0x1e
ja 0x4b2230
mov eax, dword [ebp - 0xa8]
cmp eax, 0x7bc
jge 0x4b095d
mov ecx, dword [ebp - 0x7c]
mov eax, 0x210000
mov dword [ecx], eax
jmp 0x4b0a0d
add eax, 0xffffffc4
shl eax, 4
or eax, edx
shl eax, 5
or eax, ecx
mov ecx, dword [ebp - 0x7c]
shl eax, 0x10
mov dword [ecx], eax
jmp 0x4b0a0d
mov eax, dword [0x558fec]
cmp eax, 1
je 0x4b0996
cmp eax, 2
je 0x4b0996
mov edx, ecx
mov ecx, esi
push 0xffffffffffffffff
call fcn.004b4e60
add esp, 4
jmp 0x4b099d
mov ecx, esi
call fcn.004b4c60
test eax, eax
je 0x4b0607
cmp eax, 0xffffffff
jne 0x4b224e
cmp dword [ebp - 0x88], 0
mov ecx, str.name_not_matched:
jne 0x4b227c
mov edx, dword [ebp - 0x80]
mov edx, dword [edx + edi*4]
call fcn.004afa70
jmp 0x4b0607
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4b09d3
sub esi, ecx
lea eax, [esi + 1]
push eax
call fcn.004dad8d
mov ecx, eax
add esp, 4
mov dword [0x568bd0], ecx
test ecx, ecx
je 0x4b22eb
mov edx, dword [ebp - 0x80]
mov edx, dword [edx + edi*4]
nop
mov al, byte [edx]
lea ecx, [ecx + 1]
inc edx
mov byte [ecx - 1], al
test al, al
jne 0x4b0a00
xor ebx, ebx
cmp dword [0x5d5c14], ebx
je 0x4b0b1e
cmp dword [ebp - 0x84], ebx
setg bl
add ebx, 3
mov ecx, dword [ebp - 0x6c]
cmp ebx, 3
je 0x4b0a38
cmp ebx, 6
jne 0x4b0b1b
test ecx, ecx
je 0x4b0b1b
push 0
call fcn.004db37d
add esp, 4
mov edx, eax
call fcn.004b2570
mov edi, dword [ebp - 0x78]
mov esi, eax
test esi, esi
je 0x4b0b05
lea eax, [edi + 1]
mov ebx, 4
mov dword [ebp - 0x84], eax
nop dword [eax]
mov eax, dword [0x558fec]
cmp eax, 1
je 0x4b0a92
cmp eax, 2
je 0x4b0a92
push 0xffffffffffffffff
mov edx, 1
mov ecx, esi
call fcn.004b4e60
add esp, 4
jmp 0x4b0a99
mov ecx, esi
call fcn.004b4c60
test eax, eax
je 0x4b0aea
cmp eax, 0xffffffff
jne 0x4b2273
cmp dword [ebp - 0x88], 0
jne 0x4b225b
cmp dword [0x558ad0], 0
je 0x4b0aea
push esi
push str.name_not_matched:
push str._tzip_warning:__s_s_n
push 2
call fcn.004db37d
add esp, 4
push eax
call fcn.00451470
push 2
call fcn.004db37d
add esp, 0x14
push eax
call fcn.004e08cb
add esp, 4
push 0
call fcn.004db37d
add esp, 4
mov edx, eax
call fcn.004b2570
mov esi, eax
test esi, esi
jne 0x4b0a70
xor eax, eax
cmp dword [0x568bc0], 2
mov dword [ebp - 0x6c], eax
mov eax, 6
cmove ebx, eax
jmp 0x4b0b1e
mov edi, dword [ebp - 0x78]
inc edi
mov dword [ebp - 0x78], edi
cmp edi, dword [ebp - 0x94]
jge 0x4b0ba0
mov esi, dword [ebp - 0x80]
mov ecx, 1
jmp 0x4b0110
mov eax, dword [0x558fec]
cmp eax, 1
je 0x4b0b5d
cmp eax, 2
je 0x4b0b5d
mov edx, ecx
mov ecx, 0x5435a0
push 0xffffffffffffffff
call fcn.004b4e60
add esp, 4
jmp 0x4b0b67
mov ecx, 0x5435a0
call fcn.004b4c60
test eax, eax
je 0x4b0b91
cmp eax, 0xffffffff
jne 0x4b224e
cmp dword [ebp - 0x88], 0
mov ecx, str.name_not_matched:
jne 0x4b227c
mov edx, dword [ebp - 0x80]
mov edx, dword [edx + edi*4]
call fcn.004afa70
cmp dword [ebp - 0x84], 0
jne 0x4b0ba0
mov dword [ebp - 0x84], edi
cmp ebx, 7
je 0x4b20ac
cmp ebx, 1
je 0x4b20ac
mov ecx, dword [0x568bc8]
mov eax, dword [ebp - 0x84]
test ecx, ecx
je 0x4b0be8
test eax, eax
jne 0x4b0be8
cmp ebx, 3
jl 0x4b2294
mov eax, dword [0x558fec]
cmp eax, 2
je 0x4b0be2
cmp eax, 3
jne 0x4b2294
mov eax, dword [ebp - 0x84]
cmp ebx, 4
je 0x4b0c35
test eax, eax
jne 0x4b0c35
mov eax, dword [0x558fec]
cmp eax, 2
je 0x4b0c00
cmp eax, 3
jne 0x4b0c35
mov esi, dword [0x568b98]
test esi, esi
je 0x4b0c35
nop word [eax + eax]
test ecx, ecx
je 0x4b0c26
mov ecx, dword [esi + 0x4c]
xor edx, edx
call fcn.004b2960
mov ecx, dword [0x568bc8]
jmp 0x4b0c2b
mov eax, 1
mov dword [esi + 0x50], eax
mov esi, dword [esi + 0x5c]
test esi, esi
jne 0x4b0c10
call fcn.004b26e0
test eax, eax
je 0x4b0c4c
cmp eax, 0x10
jne 0x4b22b2
jmp 0x4b22a3
cmp dword [0x5d5c20], 0
je 0x4b0c63
push dword [0x5d5c18]
call fcn.004dab64
add esp, 4
mov eax, dword [str..Z:.zip:.zoo:.arc:.lzh:.arj]
test eax, eax
je 0x4b22be
cmp dword [0x558adc], 9
je 0x4b0cd9
mov edx, 0x54409c
mov ecx, eax
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x4b0ca0
test bl, bl
je 0x4b0c9c
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x4b0ca0
add ecx, 2
add edx, 2
test bl, bl
jne 0x4b0c80
xor ecx, ecx
jmp 0x4b0ca5
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x4b0cd9
mov ecx, 0x53f624
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b0cd0
test dl, dl
je 0x4b0ccc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b0cd0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b0cb0
xor eax, eax
jmp 0x4b0cd5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4b0ce3
mov dword [str..Z:.zip:.zoo:.arc:.lzh:.arj], 0
cmp dword [0x558fec], 0x10000
jne 0x4b0d86
cmp dword [0x558ad8], 0xffffffff
jne 0x4b0d29
cmp dword [0x568b94], 0
jne 0x4b0d29
cmp dword [0x568bc0], 0
jne 0x4b0d29
cmp dword [0x568bd0], 0
jne 0x4b0d29
cmp dword [0x58a734], 0
jne 0x4b0d29
cmp dword [0x58a730], 0
je 0x4b0d86
mov edx, 0x518188
mov ecx, str.invalid_option_s__used_with__d__ignored.
call fcn.004afa70
mov eax, dword [0x568bd0]
mov dword [0x558ad8], 0xffffffff
mov dword [0x568b94], 0
mov dword [0x568bc0], 0
test eax, eax
je 0x4b0d72
push eax
call fcn.004dab64
add esp, 4
mov dword [0x568bd0], 0
mov dword [0x58a734], 0
mov dword [0x58a730], 0
cmp dword [0x568b88], 0
je 0x4b0db1
cmp dword [0x568bbc], 0
je 0x4b0db1
mov edx, 0x518188
mov ecx, str.cant_use__y_with__k___y_ignored
call fcn.004afa70
mov dword [0x568b88], 0
cmp dword [0x568bcc], 0
je 0x4b0dd2
cmp dword [0x568bb8], 0
je 0x4b0dd2
mov edx, 0x518188
mov ecx, str.cant_use__F_with__A___F_ignored
call fcn.004afa70
cmp dword [0x58a748], 0
mov edi, dword [0x5d5c14]
je 0x4b0e2b
mov ecx, 0x54ecf8
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b0e08
test dl, dl
je 0x4b0e04
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b0e08
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b0de8
xor eax, eax
jmp 0x4b0e0d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4b0e2b
mov edx, 0x518188
mov dword [0x58a748], eax
mov ecx, str.cant_use__T_on_stdout___T_ignored
call fcn.004afa70
mov edi, dword [0x5d5c14]
cmp dword [0x558fec], 1
jne 0x4b0e3b
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x4b0e72
mov ecx, 0x54ecf8
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b0e62
test dl, dl
je 0x4b0e5e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b0e62
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b0e42
xor eax, eax
jmp 0x4b0e67
sbb eax, eax
or eax, 1
test eax, eax
je 0x4b22cd
mov eax, dword [ebp - 0x70]
cmp dword [0x5d5c20], 0
jne 0x4b0e9a
cmp dword [0x558fec], 1
jne 0x4b0e88
test eax, eax
je 0x4b0e9a
mov edx, str._not_found_or_empty
mov ecx, edi
call fcn.004afa70
mov edi, dword [0x5d5c14]
mov eax, dword [ebp - 0x88]
cmp eax, 1
je 0x4b22dc
mov ecx, 1
cmovg eax, ecx
cmp dword [0x568ba4], 0
mov dword [ebp - 0x88], eax
jne 0x4b0f4f
lea edx, [ecx + 0x2e]
mov ecx, edi
call fcn.004b37a0
test eax, eax
jne 0x4b0efe
mov ecx, dword [0x5d5c14]
lea edx, [eax + 0x5c]
call fcn.004b37a0
test eax, eax
jne 0x4b0efe
mov ecx, dword [0x5d5c14]
lea edx, [eax + 0x3a]
call fcn.004b37a0
test eax, eax
jne 0x4b0efe
mov edi, dword [0x5d5c14]
jmp 0x4b0f4f
cmp byte [eax], 0x3a
lea esi, [eax + 1]
cmovne esi, eax
mov eax, esi
sub eax, dword [0x5d5c14]
inc eax
push eax
call fcn.004dad8d
mov ecx, eax
add esp, 4
mov dword [0x568ba4], ecx
test ecx, ecx
je 0x4b22eb
mov edi, dword [0x5d5c14]
mov edx, eax
movsx ebx, byte [esi]
mov ecx, edi
mov byte [esi], 0
sub edx, edi
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x4b0f40
mov byte [esi], bl
mov esi, dword [0x568b98]
xor ebx, ebx
mov dword [ebp - 0x90], ebx
test esi, esi
je 0x4b10c0
cmp dword [esi + 0x50], 0
je 0x4b10a3
cmp dword [0x558fec], 0x10000
jne 0x4b0fc9
lea edx, [ebp - 0xc0]
mov ecx, esi
call fcn.004b8040
test al, 1
je 0x4b0f9b
lea ecx, [ebp - 0xb8]
call fcn.004b3040
mov ecx, eax
jmp 0x4b0f9e
mov ecx, dword [esi + 8]
cmp ecx, dword [0x58a740]
jb 0x4b0fbd
mov eax, dword [0x58a73c]
test eax, eax
je 0x4b106c
cmp ecx, eax
jae 0x4b0fbd
inc ebx
jmp 0x4b10a3
mov dword [esi + 0x50], 0
jmp 0x4b10a3
mov ecx, dword [esi + 0x38]
lea eax, [ebp - 0xd8]
push eax
push 0
xor edx, edx
call fcn.004b5710
mov edi, eax
add esp, 8
test edi, edi
je 0x4b1038
cmp edi, dword [0x58a740]
jb 0x4b1038
mov eax, dword [0x58a73c]
test eax, eax
je 0x4b0ffa
cmp edi, eax
jae 0x4b1038
mov eax, dword [0x558fec]
cmp eax, 2
je 0x4b1009
cmp eax, 3
jne 0x4b106c
lea edx, [ebp - 0xc0]
mov ecx, esi
call fcn.004b8040
test al, 1
je 0x4b1067
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp - 0xb4]
jg 0x4b106c
jl 0x4b1038
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0xb8]
ja 0x4b106c
mov eax, dword [0x58a734]
neg eax
sbb eax, eax
and eax, 2
mov dword [esi + 0x50], eax
test edi, edi
je 0x4b106f
cmp edi, dword [0x58a740]
jb 0x4b106f
mov eax, dword [0x58a73c]
test eax, eax
je 0x4b1060
cmp edi, eax
jae 0x4b106f
mov ecx, 1
jmp 0x4b1071
cmp edi, dword [esi + 8]
jbe 0x4b1038
inc ebx
jmp 0x4b10a3
xor ecx, ecx
cmp dword [0x568ba8], 0
mov dword [esi + 0x54], ecx
je 0x4b10a3
test ecx, ecx
mov eax, str.up_to_date
mov ecx, str.missing_or_early
cmove eax, ecx
push eax
push dword [esi + 0x4c]
push str.zip_diagnostic:__s__s_n
push dword [0x5d5c1c]
call fcn.00451470
add esp, 0x10
mov esi, dword [esi + 0x5c]
test esi, esi
jne 0x4b0f65
mov edi, dword [0x5d5c14]
mov esi, dword [0x568b98]
mov dword [ebp - 0x90], ebx
mov ebx, dword [0x568bd8]
test ebx, ebx
je 0x4b1181
nop
mov eax, dword [0x558fec]
cmp eax, 0x10000
je 0x4b115e
cmp eax, 3
je 0x4b115e
mov ecx, dword [ebx]
xor edx, edx
push 0
push 0
call fcn.004b5710
add esp, 8
test eax, eax
je 0x4b115e
cmp eax, dword [0x58a740]
jb 0x4b115e
mov ecx, dword [0x58a73c]
test ecx, ecx
je 0x4b1113
cmp eax, ecx
jae 0x4b115e
mov edi, dword [0x5d5c14]
mov edx, edi
mov ecx, dword [ebx + 8]
call fcn.004b36d0
test eax, eax
jne 0x4b1159
mov ecx, 0x54ecf8
mov eax, edi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b1150
test dl, dl
je 0x4b114c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b1150
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b1130
xor eax, eax
jmp 0x4b1155
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4b115e
mov ebx, dword [ebx + 0x14]
jmp 0x4b116d
mov ecx, ebx
call fcn.004b2600
mov edi, dword [0x5d5c14]
mov ebx, eax
test ebx, ebx
jne 0x4b10d0
mov ebx, dword [0x568bd8]
mov esi, dword [0x568b98]
mov eax, dword [ebp - 0x90]
test eax, eax
jne 0x4b1261
test ebx, ebx
jne 0x4b1261
mov ecx, dword [0x58a328]
test esi, esi
je 0x4b11e5
test ecx, ecx
jne 0x4b1261
cmp dword [0x568bcc], ecx
jne 0x4b1261
cmp dword [0x568bb8], ecx
jne 0x4b1261
cmp dword [0x58a744], ecx
jne 0x4b1261
cmp dword [0x58a734], ecx
jne 0x4b1261
cmp dword [0x58a730], ecx
jne 0x4b1261
cmp dword [0x58a748], 0
je 0x4b1212
test esi, esi
jne 0x4b11fa
cmp dword [0x5d5c2c], esi
je 0x4b1212
xor ecx, ecx
call fcn.004af640
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004cbf27
mov esp, ebp
pop ebp
ret
mov eax, dword [0x558fec]
cmp eax, 2
je 0x4b125a
cmp eax, 3
je 0x4b125a
test esi, esi
jne 0x4b2306
test ecx, ecx
jne 0x4b22fa
cmp dword [0x568bcc], ecx
jne 0x4b22fa
cmp dword [0x568bb8], ecx
jne 0x4b22fa
cmp dword [0x58a744], ecx
je 0x4b2306
jmp 0x4b22fa
mov ecx, 0xc
jmp 0x4b11fc
cmp dword [ebp - 0x70], 0
je 0x4b1280
test eax, eax
jne 0x4b1280
cmp dword [0x5d5c2c], eax
jne 0x4b1277
test esi, esi
je 0x4b1280
mov dword [ebp - 0x70], 1
jmp 0x4b1287
mov dword [ebp - 0x70], 0
cmp dword [0x568bd0], 0
je 0x4b12eb
cmp dword [0x558f78], 0
je 0x4b12e1
xor eax, eax
mov dword [ebp - 0x8c], eax
mov edx, eax
mov ebx, 8
mov ecx, edx
mov eax, edx
shr ecx, 1
mov edx, ecx
xor edx, 0xedb88320
and al, 1
cmove edx, ecx
sub ebx, 1
jne 0x4b12a8
mov eax, dword [ebp - 0x8c]
mov dword [eax*4 + 0x58a330], edx
inc eax
mov dword [ebp - 0x8c], eax
cmp eax, 0x100
jl 0x4b12a1
mov dword [0x558f78], ebx
mov dword [0x5d5c34], 0x58a330
mov ecx, 0x54ecf8
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b1312
test dl, dl
je 0x4b130e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b1312
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b12f2
xor eax, eax
jmp 0x4b1317
sbb eax, eax
or eax, 1
mov ebx, dword [0x5d5c2c]
test eax, eax
je 0x4b13ce
cmp dword [0x58a74c], 0
je 0x4b133a
test esi, esi
jne 0x4b1349
test ebx, ebx
je 0x4b13ce
test esi, esi
jne 0x4b1349
test ebx, ebx
jne 0x4b1349
push 0x54f6c4
jmp 0x4b134e
push 0x54f6c8
push edi
call fcn.004daf76
add esp, 8
test eax, eax
je 0x4b2312
push eax
call fcn.004db003
mov ecx, dword [0x5d5c14]
lea edx, [ebp - 0x38]
add esp, 4
call fcn.004b3a80
test eax, eax
jne 0x4b1386
movzx eax, word [ebp - 0x32]
mov dword [ebp - 0x90], eax
jmp 0x4b1390
mov dword [ebp - 0x90], 0
mov esi, dword [0x568b98]
mov ebx, dword [0x5d5c2c]
test esi, esi
jne 0x4b13c6
test ebx, ebx
jne 0x4b13c6
push dword [0x5d5c14]
call fcn.004e0a5c
mov edi, dword [0x5d5c14]
add esp, 4
mov esi, dword [0x568b98]
mov ebx, dword [0x5d5c2c]
jmp 0x4b13d8
mov edi, dword [0x5d5c14]
jmp 0x4b13d8
mov dword [ebp - 0x90], 0
xor eax, eax
mov ecx, 0x54ecf8
cmp dword [0x58a744], eax
mov dword [ebp - 0x6c], eax
cmovne ebx, eax
mov dword [0x5d57a4], eax
mov dword [0x5d5c2c], ebx
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b1418
test dl, dl
je 0x4b1414
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b1418
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b13f8
xor eax, eax
jmp 0x4b141d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4b14d2
push 1
call fcn.004db37d
add esp, 4
push eax
call fcn.004dd931
add esp, 4
push eax
call fcn.004e0ab4
add esp, 4
test eax, eax
jne 0x4b2322
push 0x8000
push 1
call fcn.004db37d
add esp, 4
push eax
call fcn.004dd931
add esp, 4
push eax
call fcn.004e1bf3
add esp, 8
push 0x54f6c4
push 1
call fcn.004db37d
add esp, 4
push eax
call fcn.004dd931
add esp, 4
push eax
call fcn.004e6177
mov ebx, eax
push 4
mov dword [ebp - 0x78], ebx
mov dword [0x58a738], ebx
call fcn.004dad8d
add esp, 0xc
mov dword [0x58a32c], eax
test eax, eax
je 0x4b237f
mov ecx, 0x2d
mov word [eax], cx
push 0x4000
call fcn.004dad8d
add esp, 4
mov dword [ebp - 0x98], eax
test eax, eax
je 0x4b2331
jmp 0x4b163d
cmp dword [ebp - 0x70], 0
je 0x4b1528
push 0x54f6c8
push edi
call fcn.004daf76
mov ebx, eax
add esp, 8
mov dword [ebp - 0x78], ebx
test ebx, ebx
je 0x4b2341
mov eax, dword [0x5d5c14]
push 0
push dword [0x5d5c24]
mov dword [0x58a32c], eax
push ebx
mov dword [0x58a738], ebx
call fcn.004e2785
add esp, 0xc
test eax, eax
jne 0x4b2351
mov eax, dword [0x5d5c24]
mov dword [0x5d57a4], eax
jmp 0x4b14b2
test esi, esi
jne 0x4b1530
test ebx, ebx
je 0x4b1549
push 0x541140
push edi
call fcn.004daf76
add esp, 8
mov dword [ebp - 0x6c], eax
test eax, eax
je 0x4b236f
mov ecx, dword [0x568ba4]
test ecx, ecx
je 0x4b15c8
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b1560
sub ecx, edx
lea eax, [ecx + 0xc]
push eax
call fcn.004dad8d
mov esi, eax
add esp, 4
test esi, esi
je 0x4b160a
mov ecx, dword [0x568ba4]
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 0x4b1590
mov ecx, esi
call fcn.004b3720
cmp al, 0x2f
je 0x4b15db
cmp al, 0x3a
je 0x4b15db
cmp al, 0x5c
je 0x4b15db
lea edi, [esi - 1]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4b15b3
mov ax, word [0x548754]
mov word [edi], ax
jmp 0x4b15db
push 0xc
call fcn.004dad8d
mov esi, eax
add esp, 4
test esi, esi
je 0x4b160a
mov byte [esi], 0
lea ecx, [esi - 1]
nop
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4b15e0
mov eax, dword [str.ziXXXXXX]
mov dword [ecx], eax
mov eax, dword [0x54f9ac]
mov dword [ecx + 4], eax
mov al, byte [0x54f9b0]
push esi
mov byte [ecx + 8], al
call fcn.004e6293
add esp, 4
mov dword [0x58a32c], eax
test eax, eax
je 0x4b237f
push 0x54f6c4
push eax
call fcn.004daf76
mov ebx, eax
add esp, 8
mov dword [ebp - 0x78], ebx
mov dword [0x58a738], ebx
test ebx, ebx
je 0x4b238e
jmp 0x4b14b2
push 0x4000
push 0
push eax
push ebx
call fcn.004e28e6
mov eax, dword [0x5d5c14]
add esp, 0x10
mov ecx, 0x54ecf8
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b1678
test dl, dl
je 0x4b1674
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b1678
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b1658
xor eax, eax
jmp 0x4b167d
sbb eax, eax
or eax, 1
test eax, eax
je 0x4b16b0
cmp dword [ebp - 0x70], 0
jne 0x4b16b0
mov eax, dword [0x5d5c2c]
test eax, eax
je 0x4b16ab
mov ecx, dword [ebp - 0x6c]
mov edx, ebx
push eax
call fcn.004b3150
add esp, 4
test eax, eax
jne 0x4b239e
mov eax, dword [0x5d5c2c]
mov dword [0x5d57a4], eax
mov esi, dword [0x568b98]
xor eax, eax
mov dword [ebp - 0x8c], eax
mov edi, 0x568b98
mov dword [ebp - 0x7c], edi
test esi, esi
je 0x4b18bc
nop
cmp dword [esi + 0x50], 1
jne 0x4b188e
mov ecx, dword [0x558fec]
cmp ecx, 0x10000
je 0x4b17da
cmp dword [0x558ad0], 0
je 0x4b1726
mov eax, dword [esi + 0x4c]
push eax
cmp ecx, 3
jne 0x4b1705
push str.freshening:__s
jmp 0x4b170a
push str.updating:__s
push dword [0x5d5c1c]
call fcn.00451470
add esp, 0xc
push dword [0x5d5c1c]
call fcn.004e08cb
add esp, 4
mov edx, ebx
mov ecx, esi
call fcn.004b3ce0
mov edi, eax
test edi, edi
je 0x4b1743
cmp edi, 0x12
je 0x4b1751
cmp edi, 0xffffffff
jne 0x4b23b5
cmp edi, 0x12
je 0x4b1751
cmp edi, 0xffffffff
jne 0x4b18ac
cmp dword [0x558ad0], 0
mov dword [ebp - 0x8c], 1
je 0x4b177c
push 0x53f088
push 1
call fcn.004db37d
add esp, 4
push eax
call fcn.00451470
add esp, 8
cmp edi, 0x12
jne 0x4b17a0
cmp dword [ebp - 0x88], 0
jne 0x4b23f7
push dword [esi + 0x4c]
call fcn.004e242f
add esp, 4
mov ecx, str.could_not_open_for_reading:
jmp 0x4b17a5
mov ecx, str.file_and_directory_with_the_same_name:
mov edx, dword [esi + 0x4c]
call fcn.004afa70
mov edx, dword [esi + 0x4c]
mov ecx, str.will_just_copy_entry_over:
call fcn.004afa70
mov edx, dword [ebp - 0x6c]
mov ecx, esi
push ebx
call fcn.004b7c60
mov edi, eax
add esp, 4
test edi, edi
jne 0x4b241b
mov dword [esi + 0x50], eax
jmp 0x4b18ac
cmp dword [0x558ad0], 0
je 0x4b1807
push dword [esi + 0x4c]
push str.deleting:__s_n
push dword [0x5d5c1c]
call fcn.00451470
add esp, 0xc
push dword [0x5d5c1c]
call fcn.004e08cb
add esp, 4
mov eax, dword [0x568b80]
test eax, eax
je 0x4b1826
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4b1826
push 0
push dword [esi + 0x4c]
call eax
test eax, eax
jne 0x4b243c
push dword [esi + 0x48]
mov ebx, dword [esi + 0x5c]
call fcn.004dab64
add esp, 4
push dword [esi + 0x4c]
call fcn.004dab64
add esp, 4
cmp dword [esi + 0x1c], 0
je 0x4b1850
push dword [esi + 0x3c]
call fcn.004dab64
add esp, 4
cmp dword [esi + 0x20], 0
je 0x4b1867
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x3c]
je 0x4b1867
push eax
call fcn.004dab64
add esp, 4
cmp dword [esi + 0x24], 0
je 0x4b1878
push dword [esi + 0x44]
call fcn.004dab64
add esp, 4
push esi
call fcn.004dab64
add esp, 4
mov dword [edi], ebx
dec dword [0x5d5c20]
mov ebx, dword [ebp - 0x78]
jmp 0x4b18b2
cmp dword [ebp - 0x70], 0
jne 0x4b18ac
mov edx, dword [ebp - 0x6c]
mov ecx, esi
push ebx
call fcn.004b7c60
mov edi, eax
add esp, 4
test edi, edi
jne 0x4b241b
lea edi, [esi + 0x5c]
mov dword [ebp - 0x7c], edi
mov esi, dword [edi]
test esi, esi
jne 0x4b16d0
mov ebx, dword [0x568bd8]
test ebx, ebx
je 0x4b1a44
nop word [eax + eax]
push 0x60
call fcn.004dad8d
mov esi, eax
add esp, 4
test esi, esi
je 0x4b1b0a
cmp dword [0x558ad0], 0
mov dword [esi + 0x5c], 0
mov ecx, dword [ebx]
mov dword [esi + 0x38], ecx
mov eax, dword [ebx + 4]
mov dword [ebx], 0
mov dword [esi + 0x48], eax
mov eax, dword [ebx + 8]
mov dword [ebx + 4], 0
mov dword [esi + 0x4c], eax
mov dword [ebx + 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 [ebx + 0xc]
mov dword [esi + 0x58], eax
je 0x4b196d
push dword [esi + 0x4c]
push str.__adding:__s
push dword [0x5d5c1c]
call fcn.00451470
add esp, 0xc
push dword [0x5d5c1c]
call fcn.004e08cb
add esp, 4
mov edx, dword [ebp - 0x78]
mov ecx, esi
call fcn.004b3ce0
mov edi, eax
test edi, edi
je 0x4b198b
cmp edi, 0x12
je 0x4b19ab
cmp edi, 0xffffffff
jne 0x4b1abd
cmp edi, 0x12
je 0x4b19ab
cmp edi, 0xffffffff
je 0x4b19ab
mov eax, dword [ebp - 0x7c]
inc dword [0x5d5c20]
mov dword [eax], esi
lea eax, [esi + 0x5c]
mov dword [ebp - 0x7c], eax
jmp 0x4b1a33
cmp dword [0x558ad0], 0
mov dword [ebp - 0x8c], 1
je 0x4b19d6
push 0x53f088
push 1
call fcn.004db37d
add esp, 4
push eax
call fcn.00451470
add esp, 8
cmp edi, 0x12
jne 0x4b19fc
cmp dword [ebp - 0x88], 0
jne 0x4b1ae6
push str.zip_warning
call fcn.004e242f
add esp, 4
mov ecx, str.could_not_open_for_reading:
jmp 0x4b1a01
mov ecx, str.file_and_directory_with_the_same_name:
mov edx, dword [esi + 0x4c]
call fcn.004afa70
push dword [esi + 0x38]
call fcn.004dab64
add esp, 4
push dword [esi + 0x48]
call fcn.004dab64
add esp, 4
push dword [esi + 0x4c]
call fcn.004dab64
add esp, 4
push esi
call fcn.004dab64
add esp, 4
mov ecx, ebx
call fcn.004b2600
mov ebx, eax
test ebx, ebx
jne 0x4b18d0
mov eax, dword [0x568bd0]
test eax, eax
je 0x4b1a60
push eax
call fcn.004dab64
add esp, 4
mov dword [0x568bd0], 0
cmp dword [0x58a734], 0
je 0x4b1be7
mov esi, dword [ebp - 0x74]
test esi, esi
jne 0x4b1a9a
push 0x54f28c
push 2
call fcn.004db37d
add esp, 4
push eax
call fcn.004dd931
add esp, 4
push eax
call fcn.004e6177
mov esi, eax
add esp, 8
mov dword [ebp - 0x74], esi
push 0x101
call fcn.004dad8d
mov ebx, eax
add esp, 4
mov dword [ebp - 0x7c], ebx
test ebx, ebx
jne 0x4b1b19
mov edx, str.was_reading_comment_lines
lea ecx, [eax + 4]
jmp 0x4b23f2
cmp dword [0x558ad0], 0
je 0x4b1ade
push 0x53f088
push 1
call fcn.004db37d
add esp, 4
push eax
call fcn.00451470
add esp, 8
push dword [esi + 0x4c]
jmp 0x4b23d9
push dword [esi + 0x38]
push str.was_zipping__s
push 0x5d57c0
call fcn.0041e8c0
add esp, 0xc
mov edx, 0x5d57c0
mov ecx, 0x12
jmp 0x4b23f2
mov edx, str.was_adding_files_to_zip_file
mov ecx, 4
jmp 0x4b23f2
mov edi, dword [0x568b98]
test edi, edi
je 0x4b1bde
nop word [eax + eax]
cmp dword [edi + 0x50], 0
je 0x4b1bb4
cmp dword [0x558ad0], 0
je 0x4b1b59
push dword [edi + 0x4c]
push str.Enter_comment_for__s:_n
push dword [0x5d5c1c]
call fcn.00451470
add esp, 0xc
push esi
push 0x101
push ebx
call fcn.004e1e97
add esp, 0xc
test eax, eax
je 0x4b1bb4
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4b1b71
sub esi, ecx
lea eax, [esi + 1]
push eax
call fcn.004dad8d
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4b1bc3
mov ecx, dword [ebp - 0x7c]
mov edx, ebx
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x4b1b93
cmp byte [ebx + esi - 1], 0xa
jne 0x4b1bab
dec esi
mov byte [ebx + esi], al
mov dword [edi + 0x44], ebx
mov ebx, dword [ebp - 0x7c]
mov dword [edi + 0x24], esi
mov edi, dword [edi + 0x5c]
test edi, edi
je 0x4b1bde
mov esi, dword [ebp - 0x74]
jmp 0x4b1b30
mov eax, dword [ebp - 0x7c]
push eax
call fcn.004dab64
add esp, 4
mov edx, str.was_reading_comment_lines
mov ecx, 4
jmp 0x4b23f2
push ebx
call fcn.004dab64
add esp, 4
cmp dword [0x58a730], 0
je 0x4b1d34
mov esi, dword [0x5d57a0]
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 [0x5d556c], eax
test eax, eax
jne 0x4b1c3e
push 2
push 0x40
call edi
push eax
mov dword [0x5d556c], eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, eax
mov dword [0x5d5570], ecx
mov byte [ecx], 0
jmp 0x4b1cb4
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ebx, eax
mov eax, dword [0x568bc4]
mov dword [0x5d5570], ebx
test esi, esi
je 0x4b1c78
mov edi, eax
mov ecx, ebx
sub edi, ebx
mov edx, esi
nop
mov al, byte [edi + ecx]
lea ecx, [ecx + 1]
mov byte [ecx - 1], al
sub edx, 1
jne 0x4b1c60
mov eax, dword [0x568bc4]
mov byte [esi + ebx], dl
jmp 0x4b1c7b
mov byte [ebx], 0
push eax
call fcn.004dab64
add esp, 4
push 1
call fcn.004dad8d
mov dword [0x568bc4], eax
add esp, 4
mov byte [eax], 0
mov eax, dword [0x568b80]
test eax, eax
je 0x4b1cae
mov eax, dword [eax + 4]
test eax, eax
je 0x4b1cae
push dword [0x5d5570]
call eax
mov ecx, dword [0x5d5570]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b1cb7
sub ecx, edx
lea eax, [ecx + 1]
push eax
call fcn.004dad8d
mov esi, eax
add esp, 4
test esi, esi
jne 0x4b1cdf
mov edx, str.was_setting_comments_to_null
lea ecx, [eax + 4]
jmp 0x4b23f2
mov eax, dword [0x5d5570]
cmp byte [eax], 0
je 0x4b1cf3
push eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x4b1cf6
mov byte [esi], 0
push dword [0x568bc4]
call fcn.004dab64
add esp, 4
push dword [0x5d556c]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [0x5d556c]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [0x568bc4], esi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4b1d25
sub esi, ecx
mov dword [0x5d57a0], esi
mov esi, dword [0x568b98]
xor eax, eax
mov ecx, dword [0x5d57a4]
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x74], ecx
test esi, esi
je 0x4b1d8e
mov edx, dword [ebp - 0x78]
mov ecx, esi
call fcn.004b7880
test eax, eax
jne 0x4b1e47
mov ecx, dword [esi + 0x24]
add ecx, dword [esi + 0x20]
mov eax, dword [0x5d57a4]
add ecx, dword [esi + 0x18]
add eax, 0x2e
add edi, dword [esi + 0x14]
add eax, ecx
add ebx, dword [esi + 0x10]
mov esi, dword [esi + 0x5c]
mov dword [0x5d57a4], eax
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
test esi, esi
jne 0x4b1d50
test eax, eax
jne 0x4b1dcc
cmp dword [0x558ad0], eax
je 0x4b1dcc
push 0x518188
push str.zip_file_empty
push str._tzip_warning:__s_s_n
push 2
call fcn.004db37d
add esp, 4
push eax
call fcn.00451470
push 2
call fcn.004db37d
add esp, 0x14
push eax
call fcn.004e08cb
add esp, 4
cmp dword [0x568ba8], 0
je 0x4b1e25
mov edx, ebx
mov ecx, edi
cmp edi, 0xffffff
jbe 0x4b1df3
lea ecx, [edi + 0x80]
lea edx, [ebx + 0x80]
shr ecx, 8
shr edx, 8
cmp ecx, edx
jbe 0x4b1e0d
mov eax, ecx
sub eax, edx
xor edx, edx
imul eax, eax, 0xc8
div ecx
inc eax
cdq
sub eax, edx
sar eax, 1
jmp 0x4b1e0f
xor eax, eax
push eax
push ebx
push edi
push str.total_bytes_lu__compressed_lu_____d___savings_n
push dword [0x5d5c1c]
call fcn.00451470
add esp, 0x14
mov ebx, dword [ebp - 0x78]
mov edx, dword [0x5d57a4]
mov eax, dword [ebp - 0x74]
sub edx, eax
mov ecx, dword [ebp - 0x7c]
push ebx
sub esp, 8
push eax
call fcn.004b7b10
add esp, 0x10
test eax, eax
je 0x4b1e54
mov edx, dword [0x58a32c]
mov ecx, eax
jmp 0x4b23f2
push ebx
mov dword [0x58a738], 0
call fcn.004db003
add esp, 4
test eax, eax
je 0x4b1e80
mov eax, dword [ebp - 0x70]
mov edx, dword [0x58a32c]
lea ecx, [eax*4 + 0xa]
jmp 0x4b23f2
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x4b1e90
push eax
call fcn.004db003
add esp, 4
mov edi, dword [0x5d5c14]
mov ecx, 0x54ecf8
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b1ec0
test dl, dl
je 0x4b1ebc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b1ec0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b1ea0
xor eax, eax
jmp 0x4b1ec5
sbb eax, eax
or eax, 1
test eax, eax
je 0x4b1fdd
cmp dword [ebp - 0x70], 0
jne 0x4b1fdd
mov ebx, dword [0x58a32c]
lea edx, [ebp - 0x68]
mov ecx, edi
xor esi, esi
call fcn.004b3a80
test eax, eax
jne 0x4b1f01
cmp word [ebp - 0x60], 1
jg 0x4b1f30
push edi
call fcn.004e0a5c
add esp, 4
test eax, eax
jne 0x4b1f1e
push edi
push ebx
call fcn.004e2ab0
add esp, 8
test eax, eax
je 0x4b1f28
mov esi, 1
call fcn.004e1649
cmp dword [eax], 0x12
je 0x4b1f28
mov esi, 0xf
jmp 0x4b2043
test esi, esi
je 0x4b1fc9
push 0x541140
push ebx
call fcn.004daf76
mov esi, eax
add esp, 8
mov dword [ebp - 0x7c], esi
test esi, esi
jne 0x4b1f6a
push ebx
push str._replace:_cant_open__s_n
push 2
call fcn.004db37d
add esp, 4
push eax
call fcn.00451470
add esp, 0xc
mov esi, 0xa
jmp 0x4b2043
push 0x54f6c4
push edi
call fcn.004daf76
add esp, 8
mov dword [ebp - 0x78], eax
test eax, eax
jne 0x4b1f92
push esi
call fcn.004db003
add esp, 4
mov esi, 0xf
jmp 0x4b2043
push 0xffffffffffffffff
mov edx, eax
mov ecx, esi
call fcn.004b3150
add esp, 4
mov esi, eax
push dword [ebp - 0x7c]
call fcn.004db003
add esp, 4
push dword [ebp - 0x78]
call fcn.004db003
add esp, 4
test eax, eax
jne 0x4b2020
test esi, esi
jne 0x4b2020
push ebx
call fcn.004e0a5c
add esp, 4
push dword [0x58a32c]
call fcn.004dab64
mov edi, dword [0x5d5c14]
add esp, 4
mov esi, dword [ebp - 0x90]
mov dword [0x58a32c], 0
test esi, esi
je 0x4b208a
mov ecx, 0x54ecf8
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b2077
test dl, dl
je 0x4b201c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b2077
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b2000
xor eax, eax
jmp 0x4b207c
push edi
call fcn.004e0a5c
add esp, 4
test esi, esi
je 0x4b203e
cmp esi, 0xa
mov eax, 0xe
cmove esi, eax
test esi, esi
je 0x4b1fc9
jmp 0x4b2043
mov esi, 0xe
mov edx, dword [0x58a32c]
mov ecx, str.new_zip_file_left_as:
call fcn.004afa70
push dword [0x58a32c]
call fcn.004dab64
add esp, 4
mov dword [0x58a32c], 0
mov edx, str.was_replacing_the_original_zip_file
mov ecx, esi
jmp 0x4b23f2
sbb eax, eax
or eax, 1
test eax, eax
je 0x4b208a
push esi
push edi
call fcn.004e157b
add esp, 8
push dword [ebp - 0x98]
call fcn.004dab64
mov eax, dword [ebp - 0x8c]
add esp, 4
neg eax
sbb eax, eax
and eax, 0x12
mov ecx, eax
jmp 0x4b11fc
mov edx, str.missing_argument_for__b_or__P
mov ecx, 0x10
jmp 0x4b23f2
mov edx, str.mm_not_supported
mov ecx, 0x10
call fcn.004af880
mov edx, str.use__b_before_zip_file_name
mov ecx, 0x10
call fcn.004af880
push edi
call fcn.004dab64
add esp, 4
mov eax, 0x10
test esi, esi
mov edx, str.was_verifying_encryption_password
cmovs esi, eax
mov ecx, esi
call fcn.004af880
mov edx, str.password_verification_failed
mov ecx, 0x10
call fcn.004af880
mov edx, str.was_verifying_encryption_password
mov ecx, 4
call fcn.004af880
mov edx, str.zero_length_password_not_allowed
mov ecx, 0x10
call fcn.004af880
test eax, eax
mov ecx, 0x10
mov edx, str.was_getting_encryption_password
cmovs eax, ecx
mov ecx, eax
call fcn.004af880
mov edx, str.was_getting_encryption_password
mov ecx, 4
call fcn.004af880
mov edx, str.can_only_have_one__P
mov ecx, 0x10
call fcn.004af880
mov edx, str.use__P_before_zip_file_name
mov ecx, 0x10
call fcn.004af880
mov edx, str.do_not_specify_both__r_and__R
mov ecx, 0x10
call fcn.004af880
cmp dword [ebp - 0x7c], 0x58a73c
mov eax, str.can_only_have_one__t
mov edx, str.can_only_have_one__tt
mov ecx, 0x10
cmovne edx, eax
call fcn.004af880
mov edx, str.specify_just_one_action
mov ecx, 0x10
call fcn.004af880
mov edx, str.use__x_or__i_after_name_of_zipfile
mov ecx, 0x10
call fcn.004af880
push ecx
push str.no_such_option:__c
push 0x5d57c0
call fcn.0041e8c0
add esp, 0xc
mov edx, 0x5d57c0
mov ecx, 0x10
call fcn.004af880
mov esi, dword [ebp - 0x78]
mov ebx, dword [ebp - 0x80]
mov edx, dword [ebx + esi*4]
call fcn.004afa70
mov edx, dword [ebx + esi*4]
mov ecx, 0x12
call fcn.004af880
mov esi, dword [ebp - 0x78]
mov ecx, eax
mov edx, dword [ebp - 0x80]
mov edx, dword [edx + esi*4]
call fcn.004af880
mov edx, str.invalid_path
mov ecx, 0x10
call fcn.004af880
mov edx, str.invalid_time
mov ecx, 0x10
call fcn.004af880
mov edi, 4
mov edx, dword [0x5d5c14]
mov ecx, edi
call fcn.004af880
cmp dword [ebp - 0x7c], 0x58a73c
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.004af880
mov edx, dword [ebp - 0x80]
mov ecx, eax
mov edx, dword [edx + edi*4]
call fcn.004af880
mov edx, esi
mov ecx, str.name_not_matched:
call fcn.004afa70
mov edx, esi
mov ecx, 0x12
call fcn.004af880
mov edx, esi
mov ecx, eax
call fcn.004af880
mov ebx, dword [ebp - 0x80]
mov edx, dword [ebx + edi*4]
call fcn.004afa70
mov edx, dword [ebx + edi*4]
mov ecx, 0x12
call fcn.004af880
mov edx, str.nothing_to_select_from
mov ecx, 0x10
call fcn.004af880
mov edx, str.cannot_repeat_names_in_zip_file
mov ecx, 0x10
call fcn.004af880
mov edx, str.was_processing_list_of_files
mov ecx, eax
call fcn.004af880
mov edx, str.missing_suffix_list
mov ecx, 0x10
call fcn.004af880
mov edx, str.cant_use__d__f__u_or__g_on_stdout_n
mov ecx, 0x10
call fcn.004af880
mov edx, str._M_not_supported__use__MM_for_Must_Match
mov ecx, 0x10
call fcn.004af880
mov edx, str.was_processing_arguments
mov ecx, 4
call fcn.004af880
mov edx, edi
mov ecx, 0xd
call fcn.004af880
mov edx, edi
mov ecx, 0xc
call fcn.004af880
mov edx, dword [0x5d5c14]
mov ecx, 0xf
call fcn.004af880
mov edx, str.tried_to_write_binary_zipfile_data_to_console_
mov ecx, 5
call fcn.004af880
mov edx, dword [0x58a32c]
mov ecx, 4
call fcn.004af880
mov edx, dword [0x5d5c14]
mov ecx, 0xd
call fcn.004af880
push ebx
call fcn.004e2404
mov edx, dword [0x5d5c14]
add esp, 4
neg eax
sbb eax, eax
and eax, 9
lea ecx, [eax + 2]
call fcn.004af880
mov edx, dword [0x5d5c14]
mov ecx, 0xd
call fcn.004af880
mov edx, str.allocating_temp_filename
mov ecx, 4
call fcn.004af880
mov edx, dword [0x58a32c]
mov ecx, 0xa
call fcn.004af880
mov edx, dword [0x5d5c14]
cmp eax, 0xa
mov ecx, eax
cmove edx, dword [0x58a32c]
call fcn.004af880
cmp dword [0x558ad0], 0
je 0x4b23d6
push 0x53f088
push 1
call fcn.004db37d
add esp, 4
push eax
call fcn.00451470
add esp, 8
push dword [esi + 0x38]
push str.was_zipping__s
push 0x5d57c0
call fcn.0041e8c0
add esp, 0xc
mov edx, 0x5d57c0
mov ecx, edi
call fcn.004af880
push dword [esi + 0x38]
push str.was_zipping__s
push 0x5d57c0
call fcn.0041e8c0
add esp, 0xc
mov edx, 0x5d57c0
mov ecx, 0x12
call fcn.004af880
push dword [esi + 0x4c]
push str.was_copying__s
push 0x5d57c0
call fcn.0041e8c0
add esp, 0xc
mov edx, 0x5d57c0
mov ecx, edi
call fcn.004af880
mov edx, str.User_terminated_operation
mov ecx, 9
call fcn.004af880
nop
add eax, 0x4a5004b
dec ebx
add byte [ebp + 1], cl
dec ebx
add byte [esi + 1], ah
dec ebx
add byte [esp + eax + 0x173004b], dh
dec ebx
add cl, cl
add dword [ebx], ecx
mov bh, 2
dec ebx
add dl, bh
add cl, byte [ebx]
cmp al, 3
dec ebx
add byte [ebp + 3], ah
dec ebx
add dl, cl
add ecx, dword [ebx]
out 3, al
dec ebx
add byte [edi], ch
add al, 0x4b
add byte [eax + 5], bl
dec ebx
add byte [edx - 0x61ffb4ff], al
add dword [ebx], ecx
lodsd eax, dword [esi]
add dword [ebx], ecx
fadd dword [ecx]
dec ebx
add dl, al
add cl, byte [ebx]
fiadd word [edx]
dec ebx
add byte [edi + 4], ch
dec ebx
add bl, ch
add cl, byte [ebx]
or dword [ebx], eax
dec ebx
add byte [eax], bl
add ecx, dword [ebx]
and eax, dword [ebx]
dec ebx
add byte [edi + 3], al
dec ebx
add byte [esi + 3], dl
dec ebx
add byte [esi + 5], ch
dec ebx
add byte [ebx - 0x51ffb4fd], al
add ecx, dword [ebx]
cmc
add ecx, dword [ebx]
add al, 0x4b
add byte [edx + 4], bl
dec ebx
add byte [esi - 0x4cffb4fc], dl
and dword [ebx], ecx
add byte [ebx], ah
and eax, dword [ecx]
and esp, dword [ebx]
and esp, dword [ebx]
and esp, dword [ebx]
and esp, dword [ebx]
and esp, dword [ebx]
and eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add esp, dword [ebx]
and esp, dword [ebx]
and esp, dword [ebx]
and eax, dword [eax + 587604771]
pop es
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]
add byte [edx], ah
dec ebx
add byte [edi], cl
and cl, byte [ebx]
stosb byte es:[edi], al
add eax, 95027275
dec ebx
add byte [esi + 6], dl
dec ebx
add byte [eax + ecx + 0x8c4004b], al
dec ebx
add byte [edi + 9], dh
dec ebx
add byte [edi + 9], dh
dec ebx
add byte [edi], ah
or cl, byte [ebx]
daa
or cl, byte [ebx]
ror byte [ecx], 1
dec ebx
add ah, cl
int3