Function at 0x412e00
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
sub esp, 0xec
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push 0x4474ac
push 2
mov dword [esp + 0x64], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x48], ebx
call fcn.00425ee5
mov dword [0x4474d8], ebx
mov dword [0x4633e8], 0x442520
mov dword [esp + 0x5c], 0x442500
call fcn.0040e6a0
push 0x440734
call fcn.004320f2
call fcn.0042a2c3
lea eax, [esp + 0x110]
lea ecx, [esp + 0x10c]
push eax
push ecx
call fcn.00405950
mov eax, dword [esp + 0x114]
add esp, 0x14
cmp eax, 1
jne 0x412ecd
push 1
call fcn.00428f8a
add esp, 4
test eax, eax
je 0x412ecd
call fcn.00418c10
push ebx
call fcn.0042466c
cmp dword [esp + 0x100], 2
jne 0x412f39
mov edx, dword [esp + 0x104]
mov esi, 0x440730
mov eax, dword [edx + 4]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x412f0a
test cl, cl
je 0x412f06
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x412f0a
add eax, 2
add esi, 2
test cl, cl
jne 0x412ee6
xor eax, eax
jmp 0x412f0f
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x412f39
push 1
call fcn.00428f8a
add esp, 4
test eax, eax
jne 0x412f2e
push ebx
call fcn.00428f8a
add esp, 4
test eax, eax
je 0x412f39
call fcn.00418d00
push ebx
call fcn.0042466c
push 0x439cc4
lea eax, [esp + 0x108]
push str.ZIPOPT
lea ecx, [esp + 0x108]
push eax
push ecx
call fcn.0040e810
push 0x418be0
push 2
mov dword [0x4475c8], ebx
mov dword [0x463404], ebx
mov dword [0x4475cc], ebx
mov dword [esp + 0x50], ebx
call fcn.00425d5c
push 0x418be0
push 0xf
call fcn.00425d5c
push 0x418be0
push 0x16
call fcn.00425d5c
push 0x418be0
push 0x15
call fcn.00425d5c
push 0x418be0
push 4
call fcn.00425d5c
push 0x418be0
push 0xb
call fcn.00425d5c
add esp, 0x40
call fcn.00410340
mov edx, dword [esp + 0x104]
push ebx
push edx
call fcn.0040a960
mov dword [esp + 0x48], eax
lea eax, [esp + 0x9c]
push ebx
lea ecx, [esp + 0x98]
push eax
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0x24]
push edx
lea ecx, [esp + 0xa8]
push eax
lea edx, [esp + 0x88]
push ecx
lea eax, [esp + 0xa4]
push edx
lea ecx, [esp + 0x64]
push eax
push ecx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x98], ebx
call fcn.0040ac20
add esp, 0x2c
cmp eax, ebx
mov ebp, 0xc
je 0x4141f2
cmp eax, 0x78
ja 0x4135fc
je 0x4134bb
lea ecx, [eax - 0x21]
cmp ecx, 0x55
ja case.0x413937.312
xor edx, edx
mov dl, byte [ecx + 0x418848]
jmp dword [edx*4 + 0x4187a8]
mov dword [0x436ca8], ebx
mov dword [0x436cac], ebx
jmp case.0x41304f.65
add eax, 0xffffffd0
mov dword [0x436cac], eax
jmp case.0x41304f.65
mov dword [0x4474c8], 1
jmp case.0x41304f.65
mov eax, dword [esp + 0x10]
mov dword [0x4627c4], 1
mov dword [0x4475a0], eax
jmp case.0x41304f.65
mov dword [0x4627b0], 1
jmp case.0x41304f.65
cmp dword [0x437e7c], 1
je 0x4130c2
push str.specify_just_one_action
push 0x10
call fcn.00412590
add esp, 8
mov dword [0x437e7c], 0x10000
jmp case.0x41304f.65
mov dword [0x436cb4], ebx
jmp case.0x41304f.65
mov eax, dword [0x44759c]
cmp eax, ebx
je 0x4130ee
push eax
call fcn.00423252
add esp, 4
mov dword [esp + 0x44], 1
jmp case.0x41304f.65
mov dword [0x4474c0], 1
jmp case.0x41304f.65
cmp dword [0x437e7c], 1
je 0x413122
push str.specify_just_one_action
push 0x10
call fcn.00412590
add esp, 8
mov dword [0x437e7c], 3
jmp case.0x41304f.65
mov dword [esp + 0x38], 1
jmp case.0x41304f.65
mov dword [0x436ca4], ebx
jmp case.0x41304f.65
mov dword [0x4627c8], 1
jmp case.0x41304f.65
mov dword [0x4474b8], 1
jmp case.0x41304f.65
mov dword [0x4474cc], 1
jmp case.0x41304f.65
mov ecx, dword [esp + 0x10]
mov dword [str..Z:.zip:.zoo:.arc:.lzh:.arj], ecx
jmp case.0x41304f.65
mov dword [0x4627b8], 1
jmp case.0x41304f.65
mov edx, dword [esp + 0x10]
push edx
call fcn.00419d20
mov dword [0x4475dc], eax
mov eax, dword [esp + 0x14]
push eax
call fcn.00423252
add esp, 8
mov dword [esp + 0x48], 1
jmp case.0x41304f.65
mov eax, dword [0x44759c]
cmp eax, ebx
je 0x4131cf
push eax
call fcn.00423252
add esp, 4
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ebx
mov dword [0x44759c], ecx
jmp case.0x41304f.65
mov eax, dword [0x4474bc]
mov dword [0x436cbc], ebx
cmp eax, ebx
je case.0x41304f.65
dec eax
mov dword [0x4474bc], eax
jmp case.0x41304f.65
cmp dword [0x4474b0], 2
jne 0x413218
push str.do_not_specify_both__r_and__R
push 0x10
call fcn.00412590
add esp, 8
mov dword [0x4474b0], 1
jmp case.0x41304f.65
cmp dword [0x4474b0], 1
jne 0x41323f
push str.do_not_specify_both__r_and__R
push 0x10
call fcn.00412590
add esp, 8
mov dword [0x4474b0], 2
jmp case.0x41304f.65
mov edi, dword [esp + 0x10]
mov esi, 0x436564
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x41327d
test cl, cl
je 0x413279
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x41327d
add eax, 2
add esi, 2
test cl, cl
jne 0x413259
xor eax, eax
jmp 0x413282
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4132a2
mov ecx, dword [esp + 0x10]
mov dword [0x44764c], 0xffffffff
push ecx
call fcn.00423252
add esp, 4
jmp case.0x41304f.65
push edi
call fcn.0040eed0
mov ecx, eax
add esp, 4
and ecx, edx
mov dword [0x447650], eax
cmp ecx, 0xffffffff
mov dword [0x447654], edx
jne 0x4132ed
mov edx, dword [esp + 0x10]
push edx
push str.bad_split_size:___s
push 0x463420
call fcn.004238b7
push 0x463420
push 0x10
call fcn.00412590
mov edx, dword [0x447654]
mov eax, dword [0x447650]
add esp, 0x14
mov ecx, eax
or ecx, edx
jne 0x41330f
mov ecx, dword [esp + 0x10]
mov dword [0x44764c], 0xffffffff
push ecx
call fcn.00423252
add esp, 4
jmp case.0x41304f.65
cmp dword [0x44764c], ebx
jne 0x413321
mov dword [0x44764c], 1
cmp edx, ebx
ja 0x413380
jb 0x41332e
cmp eax, 0x400
jae 0x413346
push ebx
push 0x100000
push edx
push eax
call fcn.004235f0
mov dword [0x447650], eax
mov dword [0x447654], edx
cmp edx, ebx
ja 0x413380
jb 0x413353
cmp eax, 0x10000
jae 0x413380
mov edx, dword [esp + 0x10]
push edx
push str.minimum_split_size_is_64_KB:___s
push 0x463420
call fcn.004238b7
mov eax, dword [esp + 0x1c]
push eax
call fcn.00423252
push 0x463420
push 0x10
call fcn.00412590
add esp, 0x18
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00423252
add esp, 4
jmp case.0x41304f.65
mov dword [0x447560], 1
jmp case.0x41304f.65
lea edx, [esp + 0x58]
lea eax, [esp + 0x7c]
push edx
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x8c]
push eax
push ecx
push str._4d__2d__2d
push edx
call fcn.00425d28
add esp, 0x14
cmp eax, 3
je 0x4133f6
lea eax, [esp + 0x88]
lea ecx, [esp + 0x58]
push eax
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x80]
push ecx
push edx
push str._2d_2d_4d
push eax
call fcn.00425d28
add esp, 0x14
cmp eax, 3
jne 0x413411
mov ecx, dword [esp + 0x7c]
cmp ecx, 1
jl 0x413411
cmp ecx, ebp
jg 0x413411
mov eax, dword [esp + 0x58]
cmp eax, 1
jl 0x413411
cmp eax, 0x1f
jle 0x41342b
push str.invalid_date_entered_for__t_option___use_mmddyyyy_or_yyyy_mm_dd
push 0x10
call fcn.00412590
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x84]
add esp, 8
push ebx
push ebx
push ebx
push eax
push ecx
mov ecx, dword [esp + 0x9c]
push ecx
call fcn.00407d20
mov edx, dword [esp + 0x28]
mov dword [0x4475c0], eax
push edx
call fcn.00423252
add esp, 0x1c
jmp case.0x41304f.65
mov dword [0x4627bc], 1
jmp case.0x41304f.65
cmp dword [0x437e7c], 1
je 0x41347b
push str.specify_just_one_action
push 0x10
call fcn.00412590
add esp, 8
mov dword [0x437e7c], 4
jmp case.0x41304f.65
cmp dword [0x437e7c], 1
je 0x4134a2
push str.specify_just_one_action
push 0x10
call fcn.00412590
add esp, 8
mov dword [0x437e7c], 2
jmp case.0x41304f.65
mov dword [0x447580], 1
mov ecx, dword [esp + 0x10]
push ecx
push eax
call fcn.004194f0
mov edx, dword [esp + 0x18]
push edx
call fcn.00423252
add esp, 0xc
jmp case.0x41304f.65
mov eax, dword [esp + 0x10]
push 1
push ebx
push eax
push str.deflate
call fcn.0040f1a0
add esp, 0x10
test eax, eax
je 0x41350d
mov edx, dword [esp + 0x10]
mov dword [0x436ca8], 8
push edx
call fcn.00423252
add esp, 4
jmp case.0x41304f.65
mov ecx, dword [esp + 0x10]
push 1
push ebx
push ecx
push str.store
call fcn.0040f1a0
add esp, 0x10
test eax, eax
je 0x41353e
mov edx, dword [esp + 0x10]
mov dword [0x436ca8], ebx
push edx
call fcn.00423252
add esp, 4
jmp case.0x41304f.65
mov edx, dword [esp + 0x10]
push 1
push ebx
push edx
push str.bzip2
call fcn.0040f1a0
add esp, 0x10
test eax, eax
je 0x41356f
mov edx, dword [esp + 0x10]
mov dword [0x436ca8], ebp
push edx
call fcn.00423252
add esp, 4
jmp case.0x41304f.65
push 0x4474ac
push str.valid_compression_methods_are:__store__deflate__bzip2
call fcn.00412ca0
mov eax, dword [esp + 0x18]
push eax
push str.unknown_compression_method_found:
call fcn.00412ca0
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00423252
push str.Option__Z____compression_method_:__unknown_method
push 0x10
call fcn.00412590
mov edx, dword [esp + 0x2c]
add esp, 0x1c
push edx
call fcn.00423252
add esp, 4
jmp case.0x41304f.65
mov dword [0x447564], 1
jmp case.0x41304f.65
mov dword [esp + 0x54], ebx
mov dword [esp + 0x20], 1
jmp case.0x41304f.65
mov eax, dword [esp + 0x18]
neg eax
sbb eax, eax
and eax, 2
mov dword [0x436cc0], eax
jmp case.0x41304f.65
mov dword [0x447598], 1
jmp case.0x41304f.65
cmp eax, 0x124
ja 0x41390f
je 0x413900
lea ecx, [eax - 0x7a]
cmp ecx, 0xa9
ja case.0x413937.312
xor edx, edx
mov dl, byte [ecx + 0x4188f4]
jmp dword [edx*4 + 0x4188a0]
mov dword [0x447570], 1
jmp case.0x41304f.65
mov dword [0x436cb4], ebx
mov dword [0x44756c], 1
jmp case.0x41304f.65
mov ecx, dword [esp + 0x18]
xor eax, eax
cmp ecx, ebx
sete al
mov dword [0x447514], eax
jmp case.0x41304f.65
mov eax, dword [esp + 0x18]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [0x447510], ecx
jmp case.0x41304f.65
mov eax, dword [esp + 0x18]
mov dword [0x447518], ebx
cmp eax, ebx
je 0x413699
mov dword [0x447508], ebx
mov dword [0x44750c], ebx
jmp case.0x41304f.65
mov edx, dword [0x447508]
mov eax, dword [0x44750c]
or edx, eax
jmp 0x4136d0
cmp dword [esp + 0x18], ebx
je 0x4136b9
mov dword [0x447518], ebx
jmp case.0x41304f.65
mov eax, dword [0x447508]
mov ecx, dword [0x44750c]
mov dword [0x447518], 1
or eax, ecx
jne 0x4136e2
mov dword [0x447500], 0xa00000
mov dword [0x447504], ebx
or eax, 0xffffffff
mov dword [0x447508], eax
mov dword [0x44750c], eax
jmp case.0x41304f.65
mov eax, dword [esp + 0x10]
cmp eax, ebx
jne 0x41371e
or eax, 0xffffffff
mov dword [0x447500], 0xa00000
mov dword [0x447504], ebx
mov dword [0x447508], eax
mov dword [0x44750c], eax
jmp case.0x41304f.65
cmp byte [eax], 0
jne 0x413738
mov dword [0x447500], 0xa00000
mov dword [0x447504], ebx
jmp 0x4137f2
push eax
call fcn.0040eed0
mov ecx, eax
add esp, 4
and ecx, edx
mov dword [0x447500], eax
cmp ecx, 0xffffffff
mov dword [0x447504], edx
jne 0x41378d
mov edx, dword [esp + 0x10]
push edx
push str.option__ds____dot_size__has_bad_size:___s
push 0x463420
call fcn.004238b7
mov eax, dword [esp + 0x1c]
push eax
call fcn.00423252
push 0x463420
push 0x10
call fcn.00412590
mov edx, dword [0x447504]
mov eax, dword [0x447500]
add esp, 0x18
cmp edx, ebx
jg 0x4137ee
jl 0x41379a
cmp eax, 0x400
jae 0x4137b4
push ebx
push 0x100000
push edx
push eax
call fcn.004235f0
mov dword [0x447500], eax
mov dword [0x447504], edx
jmp 0x4137ee
cmp edx, ebx
jg 0x4137ee
jl 0x4137c1
cmp eax, 0x8000
jae 0x4137ee
mov ecx, dword [esp + 0x10]
push ecx
push str.dot_size_must_be_at_least_32_KB:___s
push 0x463420
call fcn.004238b7
mov edx, dword [esp + 0x1c]
push edx
call fcn.00423252
push 0x463420
push 0x10
call fcn.00412590
add esp, 0x18
mov eax, dword [esp + 0x10]
push eax
call fcn.00423252
add esp, 4
or eax, 0xffffffff
mov dword [0x447508], eax
mov dword [0x44750c], eax
jmp case.0x41304f.65
mov eax, dword [esp + 0x18]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [0x447520], ecx
jmp case.0x41304f.65
mov eax, dword [esp + 0x18]
xor edx, edx
cmp eax, ebx
sete dl
mov dword [0x44751c], edx
jmp case.0x41304f.65
mov eax, 1
mov dword [0x447568], eax
mov dword [0x447580], eax
jmp case.0x41304f.65
mov dword [0x4474c0], 2
jmp case.0x41304f.65
mov ecx, dword [esp + 0x18]
xor eax, eax
cmp ecx, ebx
sete al
mov dword [0x447588], eax
jmp case.0x41304f.65
mov dword [0x4474c4], 1
jmp case.0x41304f.65
mov eax, dword [esp + 0x18]
xor ecx, ecx
cmp eax, ebx
setne cl
mov dword [0x436cb8], ecx
jmp case.0x41304f.65
mov eax, dword [0x44755c]
cmp eax, ebx
je 0x4138a8
push eax
call fcn.00423252
add esp, 4
mov edx, dword [esp + 0x10]
mov dword [0x44755c], edx
jmp case.0x41304f.65
mov ecx, dword [esp + 0x18]
xor eax, eax
cmp ecx, ebx
sete al
mov dword [0x447558], eax
jmp case.0x41304f.65
mov eax, dword [esp + 0x18]
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [0x447550], ecx
jmp case.0x41304f.65
mov dword [0x4627b4], 1
jmp case.0x41304f.65
mov dword [0x447578], 1
jmp case.0x41304f.65
mov dword [0x4474cc], 2
jmp case.0x41304f.65
cmp eax, 0xffff
ja case.0x413937.312
je 0x413cd2
lea ecx, [eax - 0x125]
cmp ecx, 0x20
ja case.0x413937.312
xor edx, edx
mov dl, byte [ecx + 0x4189f0]
jmp dword [edx*4 + 0x4189a0]
push str._mm_not_supported__Must_Match_is__MM
push 0x10
call fcn.00412590
add esp, 8
mov dword [0x4474b4], 1
jmp case.0x41304f.65
mov dword [esp + 0x3c], 1
jmp case.0x41304f.65
mov dword [0x4474d4], 1
jmp case.0x41304f.65
mov dword [0x4474d8], 1
jmp case.0x41304f.65
mov dword [esp + 0x70], 1
jmp case.0x41304f.65
mov dword [esp + 0x1c], 1
jmp case.0x41304f.65
mov edx, dword [esp + 0x18]
xor eax, eax
cmp edx, ebx
setne al
inc eax
mov dword [0x44758c], eax
jmp case.0x41304f.65
mov dword [esp + 0x2c], 1
jmp case.0x41304f.65
mov edx, dword [esp + 0x18]
xor ecx, ecx
cmp edx, ebx
setne cl
add ecx, 3
mov dword [0x44758c], ecx
jmp case.0x41304f.65
mov ecx, dword [esp + 0x18]
xor edx, edx
cmp ecx, ebx
setne dl
add edx, 5
mov dword [0x44758c], edx
jmp case.0x41304f.65
mov dword [0x447658], 1
jmp case.0x41304f.65
mov dword [0x447578], 1
mov dword [0x44764c], 2
jmp case.0x41304f.65
mov dword [0x447670], 1
jmp case.0x41304f.65
lea eax, [esp + 0x80]
lea ecx, [esp + 0x60]
push eax
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x68]
push ecx
push edx
push str._4d__2d__2d
push eax
call fcn.00425d28
add esp, 0x14
cmp eax, 3
je 0x413a7f
lea ecx, [esp + 0x64]
lea edx, [esp + 0x80]
push ecx
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x64]
push edx
push eax
push str._2d_2d_4d
push ecx
call fcn.00425d28
add esp, 0x14
cmp eax, 3
jne 0x413a9d
mov ecx, dword [esp + 0x60]
cmp ecx, 1
jl 0x413a9d
cmp ecx, ebp
jg 0x413a9d
mov eax, dword [esp + 0x80]
cmp eax, 1
jl 0x413a9d
cmp eax, 0x1f
jle 0x413ab7
push str.invalid_date_entered_for__tt_option___use_mmddyyyy_or_yyyy_mm_dd
push 0x10
call fcn.00412590
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x68]
add esp, 8
mov edx, dword [esp + 0x64]
push ebx
push ebx
push ebx
push eax
push ecx
push edx
call fcn.00407d20
mov dword [0x4475c4], eax
mov eax, dword [esp + 0x28]
push eax
call fcn.00423252
add esp, 0x1c
jmp case.0x41304f.65
mov eax, dword [0x4627c0]
cmp eax, ebx
je 0x413aef
push eax
call fcn.00423252
add esp, 4
mov ecx, dword [esp + 0x10]
mov dword [0x4627c0], ecx
jmp case.0x41304f.65
mov edx, dword [esp + 0x10]
mov esi, 1
push esi
push ebx
push edx
push str.quit
call fcn.0040f1a0
add esp, 0x10
test eax, eax
je 0x413b33
mov ecx, dword [esp + 0x10]
mov dword [0x436cd0], ebx
push ecx
call fcn.00423252
add esp, 4
jmp case.0x41304f.65
mov eax, dword [esp + 0x10]
push esi
push ebx
push eax
push str.warn
call fcn.0040f1a0
add esp, 0x10
test eax, eax
je 0x413b63
mov ecx, dword [esp + 0x10]
mov dword [0x436cd0], esi
push ecx
call fcn.00423252
add esp, 4
jmp case.0x41304f.65
mov ecx, dword [esp + 0x10]
push esi
push ebx
push ecx
push str.ignore
call fcn.0040f1a0
add esp, 0x10
test eax, eax
je 0x413b97
mov ecx, dword [esp + 0x10]
mov dword [0x436cd0], 2
push ecx
call fcn.00423252
add esp, 4
jmp case.0x41304f.65
mov edx, dword [esp + 0x10]
push esi
push ebx
push edx
push 0x4404e8
call fcn.0040f1a0
add esp, 0x10
test eax, eax
je 0x413bcb
mov ecx, dword [esp + 0x10]
mov dword [0x436cd0], 3
push ecx
call fcn.00423252
add esp, 4
jmp case.0x41304f.65
mov eax, dword [esp + 0x10]
push esi
push ebx
push eax
push str.escape
call fcn.0040f1a0
add esp, 0x10
test eax, eax
je 0x413bfb
mov ecx, dword [esp + 0x10]
mov dword [0x4475a8], esi
push ecx
call fcn.00423252
add esp, 4
jmp case.0x41304f.65
mov ecx, dword [esp + 0x10]
push esi
push ebx
push ecx
push str.UTF8
call fcn.0040f1a0
add esp, 0x10
test eax, eax
je 0x413c2b
mov ecx, dword [esp + 0x10]
mov dword [0x4475a4], esi
push ecx
call fcn.00423252
add esp, 4
jmp case.0x41304f.65
mov edx, dword [esp + 0x10]
push edx
push str._UN_must_be_Quit__Warn__Ignore__No__Escape__or_UTF8:
call fcn.00412ca0
mov eax, dword [esp + 0x18]
push eax
call fcn.00423252
push str._UN__unicode__bad_value
push 0x10
call fcn.00412590
mov ecx, dword [esp + 0x24]
add esp, 0x14
push ecx
call fcn.00423252
add esp, 4
jmp case.0x41304f.65
cmp eax, 0x141
je 0x41418b
cmp dword [esp + 0x84], 2
jne 0x413c94
mov edx, dword [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
mov edi, dword [edx + 4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
je 0x41418b
mov eax, dword [0x4474bc]
mov dword [0x436cbc], 1
inc eax
mov dword [0x4474bc], eax
jmp case.0x41304f.65
mov dword [0x4474dc], 1
jmp case.0x41304f.65
mov ecx, dword [esp + 0x18]
xor eax, eax
cmp ecx, ebx
sete al
mov dword [0x436cc8], eax
jmp case.0x41304f.65
cmp dword [0x4474b0], 2
je 0x413cee
cmp dword [esp + 0x14], ebx
jne 0x413cee
cmp dword [0x447698], ebx
jne 0x413cee
call fcn.00419700
mov edi, dword [esp + 0x10]
mov esi, 0x440484
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x413d1d
test cl, cl
je 0x413d19
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x413d1d
add eax, 2
add esi, 2
test cl, cl
jne 0x413cf9
xor eax, eax
jmp 0x413d22
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x413d54
cmp dword [esp + 0x24], ebx
jne 0x413d54
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], 1
cmp eax, ebx
jne case.0x41304f.65
push str.cant_use____before_archive_name
push 0x10
call fcn.00412590
add esp, 8
jmp case.0x41304f.65
mov eax, dword [esp + 0x14]
cmp eax, 6
jne 0x413d8b
push edi
push 0x52
call fcn.004194f0
mov eax, dword [esp + 0x18]
push eax
call fcn.00423252
mov eax, dword [esp + 0x68]
add esp, 0xc
cmp eax, ebx
jne case.0x41304f.65
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x5c], ecx
jmp case.0x41304f.65
cmp eax, ebx
je 0x413e1e
cmp eax, 2
jle case.0x41304f.65
cmp eax, 4
jg case.0x41304f.65
cmp dword [esp + 0x20], 1
jne 0x413df3
mov esi, 0x436564
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x413dd7
test cl, cl
je 0x413dd3
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x413dd7
add eax, 2
add esi, 2
test cl, cl
jne 0x413db3
xor eax, eax
jmp 0x413ddc
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x413df3
push str.cant_read_input_____and_filenames______both_from_stdin
push 0x10
call fcn.00412590
mov edi, dword [esp + 0x18]
add esp, 8
push edi
call fcn.004197b0
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, 3
jne case.0x41304f.65
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x14], 4
mov dword [esp + 0x5c], eax
jmp case.0x41304f.65
mov esi, 0x436564
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x413e49
test cl, cl
je 0x413e45
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x413e49
add eax, 2
add esi, 2
test cl, cl
jne 0x413e25
xor eax, eax
jmp 0x413e4e
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x413e59
call fcn.00418ec0
jmp 0x413e87
push edi
call fcn.00419d20
add esp, 4
cmp eax, ebx
mov dword [0x463404], eax
jne 0x413e7a
push str.was_processing_arguments
push 4
call fcn.00412590
add esp, 8
mov eax, dword [esp + 0x10]
push eax
call fcn.00423252
add esp, 4
cmp dword [esp + 0x1c], ebx
je 0x413eb3
mov ecx, dword [0x463404]
mov edx, dword [0x4633e8]
push ecx
push str.sd:_Zipfile_name__s_n
push edx
call fcn.00423885
mov eax, dword [0x4633e8]
push eax
call fcn.004233bf
add esp, 0x10
cmp dword [0x4475d4], ebx
jne 0x413f17
mov edi, dword [0x463404]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.004231a0
mov edx, eax
add esp, 4
cmp edx, ebx
mov dword [0x4475d4], edx
jne 0x413ef4
push str.was_processing_arguments
push 4
call fcn.00412590
mov edx, dword [0x4475d4]
add esp, 8
mov edi, dword [0x463404]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [0x4475dc], ebx
jne 0x413f7b
mov edi, dword [0x463404]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.004231a0
mov edx, eax
add esp, 4
cmp edx, ebx
mov dword [0x4475dc], edx
jne 0x413f58
push str.was_processing_arguments
push 4
call fcn.00412590
mov edx, dword [0x4475dc]
add esp, 8
mov edi, dword [0x463404]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], 3
cmp eax, ebx
je 0x413fe6
push 0x442500
call fcn.004062b0
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x413fe2
mov dword [esp + 0x14], 4
mov edi, 2
mov eax, dword [0x4474b0]
push esi
cmp eax, edi
jne 0x413fc1
push 0x52
call fcn.004194f0
add esp, 8
jmp 0x413fc9
call fcn.004197b0
add esp, 4
push esi
call fcn.00423252
push 0x442500
call fcn.004062b0
mov esi, eax
add esp, 8
cmp esi, ebx
jne 0x413fab
mov dword [esp + 0x20], ebx
cmp dword [0x4474b0], 2
jne case.0x41304f.65
mov dword [esp + 0x14], 6
jmp case.0x41304f.65
push eax
push str.no_such_option_ID:__ld
push 0x463420
call fcn.004238b7
push 0x463420
push 0x10
call fcn.00412590
add esp, 0x14
lea ecx, [esp + 0x94]
push ebx
lea edx, [esp + 0x90]
push ecx
lea eax, [esp + 0x20]
push edx
lea ecx, [esp + 0x1c]
push eax
lea edx, [esp + 0xa0]
push ecx
lea eax, [esp + 0x80]
push edx
lea ecx, [esp + 0x9c]
push eax
lea edx, [esp + 0x5c]
push ecx
push edx
call fcn.0040ac20
add esp, 0x24
cmp eax, ebx
jne 0x41302c
cmp dword [esp + 0x44], ebx
je 0x4141f2
push 0x51
call fcn.004231a0
add esp, 4
cmp eax, ebx
mov dword [0x44759c], eax
jne 0x414091
push str.was_getting_encryption_password
push 4
call fcn.00412590
mov eax, dword [0x44759c]
add esp, 8
mov ecx, dword [0x463404]
push ecx
push 0x51
push eax
push ebx
call fcn.00412d50
add esp, 0x10
cmp eax, ebx
je 0x4140bd
jge 0x4140af
mov eax, 0x10
push str.was_getting_encryption_password
push eax
call fcn.00412590
add esp, 8
mov edx, dword [0x44759c]
cmp byte [edx], 0
jne 0x4140d7
push str.zero_length_password_not_allowed
push 0x10
call fcn.00412590
add esp, 8
push 0x51
call fcn.004231a0
mov edi, eax
add esp, 4
cmp edi, ebx
jne 0x4140f6
push str.was_verifying_encryption_password
push 4
call fcn.00412590
add esp, 8
mov eax, dword [0x463404]
push eax
push 0x51
push edi
push 1
call fcn.00412d50
mov esi, eax
add esp, 0x10
cmp esi, ebx
je 0x414134
cmp esi, 0xffffffff
je 0x414139
push edi
call fcn.00423252
add esp, 4
cmp esi, ebx
jge 0x414126
mov esi, 0x10
push str.was_verifying_encryption_password
push esi
call fcn.00412590
add esp, 8
cmp esi, 0xffffffff
jne 0x4141a4
xor esi, esi
jmp 0x4141d6
call fcn.00418c10
push ebx
call fcn.00418a30
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
call fcn.00418bf0
push ebx
call fcn.00418a30
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
call fcn.00418cb0
push ebx
call fcn.00418a30
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
call fcn.00418d00
push ebx
call fcn.00418a30
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov eax, dword [0x44759c]
mov esi, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4141cf
test cl, cl
je 0x4141cb
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4141cf
add eax, 2
add esi, 2
test cl, cl
jne 0x4141ab
xor eax, eax
jmp 0x4141d4
sbb eax, eax
sbb eax, 0xffffffff
mov esi, eax
push edi
call fcn.00423252
add esp, 4
cmp esi, ebx
je 0x4141f2
push str.password_verification_failed
push 0x10
call fcn.00412590
add esp, 8
mov eax, dword [0x44759c]
cmp eax, ebx
je 0x41420f
cmp byte [eax], 0
jne 0x41420f
push str.zero_length_password_not_allowed
push 0x10
call fcn.00412590
add esp, 8
cmp dword [esp + 0x1c], ebx
je 0x414234
mov eax, dword [0x4633e8]
push str.sd:_Command_line_read_n
push eax
call fcn.00423885
mov ecx, dword [0x4633e8]
push ecx
call fcn.004233bf
add esp, 0xc
cmp dword [esp + 0x70], ebx
je 0x41429c
mov edx, dword [0x4633e8]
push str.command_line:_n
push edx
call fcn.00423885
mov eax, dword [esp + 0x48]
add esp, 8
mov eax, dword [eax]
cmp eax, ebx
je 0x41427d
xor esi, esi
mov ecx, dword [0x4633e8]
push eax
push str._s
push ecx
call fcn.00423885
mov edx, dword [esp + 0x4c]
add esi, 4
add esp, 0xc
mov eax, dword [esi + edx]
cmp eax, ebx
jne 0x41425a
mov eax, dword [0x4633e8]
push 0x4369f4
push eax
call fcn.00423885
push str.show_command_line
push 9
call fcn.00412590
add esp, 0x10
cmp dword [esp + 0x2c], ebx
je 0x4143da
push str.available_options:_n
call fcn.0042554d
push str.description
push 0x440300
push 0x4402fc
push str.long
push 0x4402f0
push str.___2s____18s___4s___3s___30s_n
call fcn.0042554d
push str.___________
push 0x4402c0
push 0x4402c0
push 0x4402b8
push 0x440484
push str.___2s____18s___4s___3s___30s_n
call fcn.0042554d
mov eax, dword [0x438430]
add esp, 0x34
cmp eax, ebx
je 0x4143c6
mov esi, 0x438420
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push ecx
push edx
push str.___2s____18s
call fcn.0042554d
mov eax, dword [esi + 8]
add esp, 0xc
cmp eax, 5
ja case.default.0x414327
jmp dword [eax*4 + 0x418a14]
push 0x4474ac
jmp 0x41435d
push 0x4402a4
jmp 0x41435d
push 0x4402a0
jmp 0x41435d
push str.list
jmp 0x41435d
push str.char
jmp 0x41435d
push 0x44028c
jmp 0x41435d
push 0x440288
push 0x440280
call fcn.0042554d
mov eax, dword [esi + 0xc]
add esp, 8
sub eax, ebx
je 0x414382
dec eax
je 0x41437b
push 0x440288
jmp 0x414387
push 0x440300
jmp 0x414387
push 0x4474ac
push str.__3s
call fcn.0042554d
mov eax, dword [esi + 0x14]
add esp, 8
cmp eax, ebx
je 0x4143ab
push eax
push str.__30s_n
call fcn.0042554d
add esp, 8
jmp 0x4143b8
push 0x4369f4
call fcn.0042554d
add esp, 4
mov eax, dword [esi + 0x28]
add esi, 0x18
cmp eax, ebx
jne 0x41430b
push ebx
call fcn.00418a30
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov eax, dword [0x44755c]
cmp eax, ebx
je 0x414630
push 0x2f
push eax
call fcn.0040e7d0
add esp, 8
cmp eax, ebx
je 0x41440c
mov esi, eax
inc eax
push 0x2f
push eax
call fcn.0040e7d0
add esp, 8
cmp eax, ebx
jne 0x4143f6
cmp esi, ebx
jne 0x414412
mov esi, dword [0x44755c]
push 0x2e
push esi
call fcn.0040e7d0
add esp, 8
test eax, eax
jne 0x4144b4
mov edi, dword [0x44755c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
add ecx, 4
push ecx
call fcn.004231a0
mov ebp, eax
add esp, 4
cmp ebp, ebx
jne 0x414453
push str.logpath
push 4
call fcn.00412590
add esp, 8
mov edi, dword [0x44755c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str..log
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x44755c]
push eax
call fcn.00423252
add esp, 4
mov dword [0x44755c], ebp
cmp dword [0x447558], ebx
je 0x4144c8
lea ecx, [esp + 0x70]
push 0x44025c
push ecx
jmp 0x4144d2
lea edx, [esp + 0x70]
push 0x440258
push edx
call fcn.004238b7
mov ecx, dword [0x44755c]
add esp, 8
lea eax, [esp + 0x70]
push eax
push ecx
call fcn.0042462c
add esp, 8
cmp eax, ebx
mov dword [0x447554], eax
jne 0x41451c
mov edx, dword [0x44755c]
push edx
push str.could_not_open_logfile__s
push 0x463420
call fcn.004238b7
push 0x463420
push 0x10
call fcn.00412590
add esp, 0x14
lea eax, [esp + 0x2c]
push eax
call fcn.004232e3
lea ecx, [esp + 0x30]
push ecx
call fcn.00424264
mov edx, dword [0x447554]
push str.__________n
push edx
mov esi, eax
call fcn.00423885
push esi
call fcn.00425c52
push eax
mov eax, dword [0x447554]
push str.Zip_log_opened__s
push eax
call fcn.00423885
mov ecx, dword [0x447554]
push str.command_line_arguments:_n
push ecx
call fcn.00423885
mov ebp, dword [esp + 0x68]
add esp, 0x28
cmp dword [ebp + 4], ebx
je 0x4145fe
mov ebx, 4
mov edx, dword [ebx + ebp]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
xor esi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4145d7
cmp dword [0x4424f0], 1
jle 0x4145b1
movsx edx, byte [edx + esi]
push 8
push edx
call fcn.00424c6f
mov ebp, dword [esp + 0x48]
add esp, 8
jmp 0x4145c1
movsx eax, byte [edx + esi]
mov ecx, dword [str.________________________________H]
mov al, byte [ecx + eax*2]
and eax, 8
test eax, eax
jne 0x41461f
mov edx, dword [ebx + ebp]
or ecx, 0xffffffff
mov edi, edx
inc esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp esi, ecx
jb 0x414593
mov ecx, dword [ebx + ebp]
mov edx, dword [0x447554]
push ecx
push 0x4401fc
push edx
call fcn.00423885
mov ebp, dword [esp + 0x4c]
add ebx, 4
add esp, 0xc
cmp dword [ebx + ebp], 0
jne 0x414580
xor ebx, ebx
mov eax, dword [0x447554]
push 0x4401f8
push eax
call fcn.00423885
mov ecx, dword [0x447554]
push ecx
call fcn.004233bf
add esp, 0xc
jmp 0x414636
mov edx, dword [ebx + ebp]
mov eax, dword [0x447554]
push edx
push str.__s_
push eax
jmp 0x4145e7
mov dword [0x447550], ebx
cmp dword [0x44764c], ebx
je 0x4146a7
mov edx, dword [0x4475dc]
cmp edx, ebx
je 0x4146a7
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 4
lea esi, [ecx + edx - 4]
jl 0x414698
cmp byte [esi], 0x2e
jne 0x414698
movsx edx, byte [esi + 1]
push edx
call fcn.00424a93
add esp, 4
cmp eax, 0x5a
jne 0x414698
movsx eax, byte [esi + 2]
push eax
call fcn.00424a93
add esp, 4
cmp eax, 0x49
jne 0x414698
movsx ecx, byte [esi + 3]
push ecx
call fcn.00424a93
add esp, 4
cmp eax, 0x50
je 0x4146a7
push str.archive_name_must_end_in_.zip_for_splits
push 0x10
call fcn.00412590
add esp, 8
cmp dword [0x4474bc], ebx
je 0x4146dd
mov edx, dword [0x447500]
mov eax, dword [0x447504]
or edx, eax
jne 0x4146dd
mov eax, dword [0x447508]
mov ecx, dword [0x44750c]
or eax, ecx
jne 0x4146dd
mov dword [0x447500], 0xa00000
mov dword [0x447504], ebx
cmp dword [0x44769c], ebx
je 0x4146f2
cmp dword [0x447698], ebx
jne 0x4146f2
call fcn.00419700
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x14]
cmp esi, ebx
je 0x414755
cmp edi, 3
jne 0x414717
mov dword [0x447584], 1
mov dword [0x437e7c], 4
mov ecx, dword [0x4475dc]
mov edx, dword [0x4475d4]
push ecx
push edx
call fcn.0040e6f0
add esp, 8
test eax, eax
jne 0x414755
mov eax, dword [0x4475dc]
push eax
push str.__out_path_must_be_different_than_in_path:__s
push 0x463420
call fcn.004238b7
push 0x463420
push 0x10
call fcn.00412590
add esp, 0x14
cmp dword [0x4474c0], ebx
je 0x414774
cmp dword [0x447568], ebx
je 0x414774
push str.cant_use___diff___DF__with_fix___F_or__FF_
push 0x10
call fcn.00412590
add esp, 8
mov eax, dword [0x437e7c]
mov ebp, 4
cmp eax, ebp
jne 0x41479d
cmp esi, ebx
jne 0x41479d
cmp dword [0x44758c], ebx
jne 0x41479d
push str._U____copy__requires__O____out_
push 0x10
call fcn.00412590
add esp, 8
cmp dword [0x4474c0], ebx
je 0x4147e6
cmp esi, ebx
jne 0x4147c7
push str._____________________zip__F_indamagedarchive___out_outfixedarchive
push str.fix_options__F_and__FF_require___out:_n
call fcn.00412ca0
push str.fix_options_require___out
push 0x10
call fcn.00412590
add esp, 0x10
cmp dword [0x4474c0], ebx
je 0x4147e6
cmp dword [0x447584], ebx
jne 0x4147e6
push str.no_other_actions_allowed_when_fixing_archive___F_or__FF_
push 0x10
call fcn.00412590
add esp, 8
cmp esi, ebx
jne 0x414801
cmp dword [0x447568], ebx
je 0x414828
push str._DF____diff__requires__O____out_
push 0x10
call fcn.00412590
add esp, 8
cmp dword [0x447568], ebx
je 0x414828
mov eax, dword [0x437e7c]
cmp eax, ebp
je 0x414819
cmp eax, 0x10000
jne 0x414828
push str.cant_use___diff___DF__with__d_or__U
push 0x10
call fcn.00412590
add esp, 8
mov eax, dword [0x437e7c]
cmp eax, ebp
je 0x41486e
cmp dword [0x4474b0], 2
je 0x414842
cmp dword [0x44769c], ebx
je 0x41486e
cmp dword [esp + 0x5c], ebx
jne 0x41486e
cmp dword [0x4627d8], ebx
jne 0x41486e
cmp edi, 3
jl 0x41485f
cmp eax, 2
je 0x41486e
cmp eax, 3
je 0x41486e
push str.nothing_to_select_from
push 0x10
call fcn.00412590
add esp, 8
cmp edi, 3
jge 0x4148eb
call fcn.00418ec0
push ebx
push 0x436564
mov dword [esp + 0x5c], ebx
call fcn.004118f0
add esp, 8
cmp eax, ebx
je 0x4148d0
cmp eax, 0xffffffff
jne 0x4148c2
mov eax, dword [esp + 0x3c]
push 0x436564
cmp eax, ebx
push str.name_not_matched:
je 0x4148bb
call fcn.00412ca0
push 0x436564
push 0x12
call fcn.00412590
add esp, 0x10
jmp 0x4148d0
call fcn.00412ca0
jmp 0x4148cd
push 0x436564
push eax
call fcn.00412590
add esp, 8
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], ebp
cmp eax, ebx
je 0x4148eb
push str.cant_use___and____together
push 0x10
call fcn.00412590
add esp, 8
mov eax, dword [0x463404]
cmp eax, ebx
je 0x414955
mov esi, 0x436564
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x41491d
test cl, cl
je 0x414919
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x41491d
add eax, 2
add esi, 2
test cl, cl
jne 0x4148f9
xor eax, eax
jmp 0x414922
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x414955
cmp dword [esp + 0x1c], ebx
je 0x41494b
mov eax, dword [0x4633e8]
push str.sd:_Zipping_to_stdout_n
push eax
call fcn.00423885
mov ecx, dword [0x4633e8]
push ecx
call fcn.004233bf
add esp, 0xc
mov dword [0x44757c], 1
mov edi, dword [str..Z:.zip:.zoo:.arc:.lzh:.arj]
cmp edi, ebx
jne 0x414974
push str.missing_suffix_list
push 0x10
call fcn.00412590
mov edi, dword [str..Z:.zip:.zoo:.arc:.lzh:.arj]
add esp, 8
cmp dword [0x436cac], 9
je 0x4149e5
mov esi, 0x43ffd4
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x4149a8
test dl, dl
je 0x4149a4
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x4149a8
add ecx, 2
add esi, 2
test dl, dl
jne 0x414984
xor ecx, ecx
jmp 0x4149ad
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
je 0x4149e5
mov esi, 0x43ffd0
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4149dc
test cl, cl
je 0x4149d8
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4149dc
add eax, 2
add esi, 2
test cl, cl
jne 0x4149b8
xor eax, eax
jmp 0x4149e1
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4149eb
mov dword [str..Z:.zip:.zoo:.arc:.lzh:.arj], ebx
cmp dword [0x437e7c], 0x10000
jne 0x414a7d
mov eax, dword [0x436ca8]
or esi, 0xffffffff
cmp eax, esi
jne 0x414a33
cmp dword [0x4474b4], ebx
jne 0x414a33
cmp dword [0x4474b0], ebx
jne 0x414a33
cmp dword [0x44759c], ebx
jne 0x414a33
cmp dword [0x4627b0], ebx
jne 0x414a33
cmp dword [0x4627b4], ebx
je 0x414ae1
push 0x4474ac
push str.invalid_option_s__used_with__d__ignored.
call fcn.00412ca0
mov eax, dword [0x44759c]
add esp, 8
cmp eax, ebx
mov dword [0x436ca8], esi
mov dword [0x4474b4], ebx
mov dword [0x4474b0], ebx
je 0x414a6f
push eax
call fcn.00423252
add esp, 4
mov dword [0x44759c], ebx
mov dword [0x4627b0], ebx
mov dword [0x4627b4], ebx
jmp 0x414a80
or esi, 0xffffffff
cmp dword [0x437e7c], 4
jne 0x414ae1
cmp dword [0x436ca8], esi
jne 0x414ab1
cmp dword [0x4474b4], ebx
jne 0x414ab1
cmp dword [0x4474b0], ebx
jne 0x414ab1
cmp dword [0x4627b0], ebx
jne 0x414ab1
cmp dword [0x4627b4], ebx
je 0x414ae1
push 0x4474ac
push str.cant_set_method__move__recurse__or_comments_with_copy_mode.
call fcn.00412ca0
add esp, 8
mov dword [0x436ca8], esi
mov dword [0x4474b4], ebx
mov dword [0x4474b0], ebx
mov dword [0x4627b0], ebx
mov dword [0x4627b4], ebx
cmp dword [0x447574], ebx
je 0x414b09
cmp dword [0x4474b8], ebx
je 0x414b09
push 0x4474ac
push str.cant_use__y_with__k___y_ignored
call fcn.00412ca0
add esp, 8
mov dword [0x447574], ebx
mov eax, dword [0x4474c0]
mov ebp, 1
cmp eax, ebp
jne 0x414b2b
cmp dword [0x4474c8], ebx
je 0x414b50
push 0x4474ac
push str.cant_use__F_with__A___F_ignored
jmp 0x414b42
cmp eax, 2
jne 0x414b50
cmp dword [0x4474c8], ebx
je 0x414b50
push 0x4474ac
push str.cant_use__FF_with__A___FF_ignored
call fcn.00412ca0
add esp, 8
mov dword [0x4474c0], ebx
cmp dword [0x4627bc], ebx
je 0x414b78
cmp dword [0x44757c], ebx
je 0x414b78
push 0x4474ac
push str.cant_use__T_on_stdout___T_ignored
mov dword [0x4627bc], ebx
call fcn.00412ca0
add esp, 8
cmp dword [0x44764c], ebx
je 0x414bc8
cmp dword [0x4474c0], ebx
jne 0x414b90
cmp dword [0x4474c8], ebx
je 0x414b9f
push str.cant_create_split_archive_while_fixing_or_adjusting_n
push 0x10
call fcn.00412590
add esp, 8
cmp dword [0x44764c], ebx
je 0x414bc8
mov esi, dword [esp + 0x38]
cmp esi, ebx
jne 0x414bb7
cmp dword [0x44757c], ebx
je 0x414bcc
push str.cant_create_split_archive_with__d_or__g_or_on_stdout_n
push 0x10
call fcn.00412590
add esp, 8
jmp 0x414bcc
mov esi, dword [esp + 0x38]
cmp dword [0x437e7c], ebp
jne 0x414bd8
cmp esi, ebx
je 0x414c12
cmp dword [0x4474c4], ebx
je 0x414bef
push str.cant_use__d___f___u___U__or__g_with_filesync__FS_n
push 0x10
call fcn.00412590
add esp, 8
cmp dword [0x437e7c], ebp
jne 0x414bfb
cmp esi, ebx
je 0x414c12
cmp dword [0x44757c], ebx
je 0x414c12
push str.cant_use__d___f___u___U__or__g_on_stdout_n
push 0x10
call fcn.00412590
add esp, 8
cmp dword [0x436cbc], ebx
je 0x414c46
mov eax, dword [0x4474c0]
cmp eax, ebp
jne 0x414c2f
push 0x4474ac
push str.Fix_archive___F____assume_mostly_intact_archive
jmp 0x414c3e
cmp eax, 2
jne 0x414c46
push 0x4474ac
push str.Fix_archive___FF____salvage_what_can
call fcn.00412bf0
add esp, 8
mov edi, dword [esp + 0x1c]
cmp edi, ebx
je 0x414c6d
mov eax, dword [0x4633e8]
push str.sd:_Reading_archive_n
push eax
call fcn.00423885
mov ecx, dword [0x4633e8]
push ecx
call fcn.004233bf
add esp, 0xc
cmp dword [0x4474c0], 2
jne 0x4150a9
cmp edi, ebx
je 0x414c9d
mov edx, dword [0x4633e8]
push str.sd:_Open_zip_file_and_create_temp_file___FF__n
push edx
call fcn.00423885
mov eax, dword [0x4633e8]
push eax
call fcn.004233bf
add esp, 0xc
cmp edi, ebx
mov dword [0x4633f0], ebx
mov dword [0x4633f4], ebx
je 0x414ccd
mov ecx, dword [0x4633e8]
push str.sd:_Creating_new_zip_file___FF__n
push ecx
call fcn.00423885
mov edx, dword [0x4633e8]
push edx
call fcn.004233bf
add esp, 0xc
mov eax, dword [0x463404]
push eax
call fcn.00407fe0
add esp, 4
cmp eax, ebx
mov dword [0x4475c8], eax
jne 0x414cf8
push str.allocating_temp_filename
push 4
call fcn.00412590
mov eax, dword [0x4475c8]
add esp, 8
push 0x43666c
push eax
call fcn.0042462c
add esp, 8
cmp eax, ebx
mov dword [0x4475cc], eax
jne 0x414d20
mov ecx, dword [0x4475c8]
push ecx
push 0xa
call fcn.00412590
add esp, 8
push 0x4000
call fcn.004231a0
mov esi, eax
add esp, 4
cmp esi, ebx
jne 0x414d44
mov edx, dword [0x4475c8]
push edx
push 4
call fcn.00412590
add esp, 8
mov eax, dword [0x4475cc]
push 0x4000
push ebx
push esi
push eax
call fcn.00425bb1
add esp, 0x10
call fcn.0041a840
cmp eax, ebx
je 0x414d72
mov ecx, dword [0x463404]
push ecx
push eax
call fcn.00412590
add esp, 8
cmp edi, ebx
je 0x414d95
mov edx, dword [0x4633e8]
push str.sd:_Writing_central_directory___FF__n
push edx
call fcn.00423885
mov eax, dword [0x4633e8]
push eax
call fcn.004233bf
add esp, 0xc
mov esi, dword [0x447688]
mov ecx, dword [0x4633f0]
mov eax, dword [0x4633f4]
xor ebx, ebx
xor edi, edi
xor ebp, ebp
cmp esi, ebx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x74], ebx
je 0x414e65
push esi
call fcn.0041f570
add esp, 4
test eax, eax
je 0x414de5
mov ecx, dword [0x4475c8]
push ecx
push eax
call fcn.00412590
add esp, 8
xor edx, edx
xor eax, eax
mov dx, word [esi + 0x26]
mov ax, word [esi + 0x24]
xor ecx, ecx
add edx, eax
mov cx, word [esi + 0x20]
lea eax, [edx + ecx + 0x2e]
mov ecx, dword [0x4633f0]
cdq
add ecx, eax
mov eax, dword [0x4633f4]
adc eax, edx
mov dword [0x4633f0], ecx
mov ecx, dword [esp + 0x74]
mov dword [0x4633f4], eax
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
add ebx, edx
mov edx, dword [esi + 0x14]
adc ecx, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x74], ecx
mov ecx, dword [esi + 0x10]
mov esi, dword [esi + 0x84]
add eax, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
adc eax, edx
add edi, 1
adc ebp, 0
mov dword [esp + 0x30], eax
test esi, esi
jne 0x414dc8
mov eax, dword [0x4633f4]
mov ecx, dword [0x4633f0]
xor ebx, ebx
cmp dword [0x4633fc], ebx
jne 0x414e8a
push 0x4474ac
push str.zip_file_empty
call fcn.00412ca0
mov eax, dword [0x4633f4]
mov ecx, dword [0x4633f0]
add esp, 8
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov ebx, dword [0x447690]
sub ecx, edx
sbb eax, esi
push ebx
xor ebx, ebx
mov bx, word [0x463400]
push ebx
push esi
push edx
push eax
push ecx
push ebp
push edi
call fcn.0041ffd0
xor ebp, ebp
add esp, 0x20
cmp eax, ebp
je 0x414ecb
mov ecx, dword [0x4475c8]
push ecx
push eax
call fcn.00412590
add esp, 8
mov edx, dword [0x4475cc]
push edx
call fcn.004245b6
add esp, 4
test eax, eax
je 0x414efb
mov ecx, dword [esp + 0x38]
mov eax, dword [0x4475c8]
neg ecx
sbb ecx, ecx
push eax
and ecx, 4
add ecx, 0xa
push ecx
call fcn.00412590
add esp, 8
mov eax, dword [0x4475d0]
cmp eax, ebp
je 0x414f13
push eax
call fcn.004245b6
add esp, 4
mov dword [0x4475d0], ebp
mov eax, dword [0x463404]
mov esi, 0x436564
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x414f45
test cl, cl
je 0x414f41
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x414f45
add eax, 2
add esi, 2
test cl, cl
jne 0x414f1d
xor eax, eax
jmp 0x414f4a
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x414fae
cmp dword [esp + 0x38], ebp
jne 0x414fae
mov eax, dword [0x4475c8]
mov ecx, dword [0x4475dc]
push eax
push ecx
call fcn.00407e60
mov esi, eax
add esp, 8
cmp esi, ebp
je 0x414f9f
mov edx, dword [0x4475c8]
push edx
push str.new_zip_file_left_as:
call fcn.00412ca0
mov eax, dword [0x4475c8]
push eax
call fcn.00423252
push str.was_replacing_the_original_zip_file
push esi
mov dword [0x4475c8], ebp
call fcn.00412590
add esp, 0x14
mov ecx, dword [0x4475c8]
push ecx
call fcn.00423252
add esp, 4
mov edi, dword [0x4475e0]
mov dword [0x4475c8], ebp
cmp edi, ebp
je 0x415008
mov eax, dword [0x463404]
mov esi, 0x436564
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x414ff0
test cl, cl
je 0x414fec
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x414ff0
add eax, 2
add esi, 2
test cl, cl
jne 0x414fc8
xor eax, eax
jmp 0x414ff5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x415008
mov eax, dword [0x4475dc]
push edi
push eax
call fcn.00407fc0
add esp, 8
mov ecx, dword [0x4475dc]
push ecx
call fcn.00407dd0
mov eax, dword [0x447554]
add esp, 4
cmp eax, ebp
je 0x415095
mov edx, dword [0x44752c]
push edx
push str._nTotal__ld_entries__
push eax
call fcn.00423885
mov eax, dword [0x44754c]
mov ecx, dword [0x447548]
mov edx, dword [0x447554]
push eax
push ecx
push edx
call fcn.0040ee80
mov eax, dword [0x447554]
push str._bytes_
push eax
call fcn.00423885
lea ecx, [esp + 0x4c]
push ecx
call fcn.004232e3
lea edx, [esp + 0x50]
push edx
call fcn.00424264
push eax
call fcn.00425c52
push eax
mov eax, dword [0x447554]
push str._nDone__s
push eax
call fcn.00423885
mov ecx, dword [0x447554]
push ecx
call fcn.004233bf
add esp, 0x3c
push ebp
call fcn.00418a30
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
call fcn.0041a840
cmp eax, ebx
je 0x4150c2
mov edx, dword [0x463404]
push edx
push eax
call fcn.00412590
add esp, 8
mov eax, dword [0x44764c]
cmp eax, 0xffffffff
jne 0x4150d7
mov dword [0x44764c], ebx
jmp 0x415172
cmp dword [0x4474c0], ebx
jne 0x415172
cmp eax, ebx
jne 0x415172
cmp dword [0x4475e4], ebp
jbe 0x415172
mov eax, dword [0x4475d4]
push ebx
push eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
call fcn.004098e0
lea ecx, [esp + 0x34]
push ebx
push ecx
push ebx
push eax
mov dword [0x4475d8], eax
call fcn.00411d60
add esp, 0x18
test eax, eax
jne 0x415144
mov edx, dword [0x4475d8]
push edx
push str.Could_not_get_info_for_input_split:
call fcn.00412ca0
add esp, 8
mov eax, 0x12
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov edx, dword [0x4475d8]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
push edx
mov dword [0x44764c], ebp
mov dword [0x447650], eax
mov dword [0x447654], ecx
call fcn.00423252
add esp, 4
mov dword [0x4475d8], ebx
cmp dword [0x447670], ebx
je 0x4151a4
mov eax, dword [0x447654]
mov ecx, dword [0x447650]
cmp eax, ebx
ja 0x41518d
cmp ecx, ebx
jbe 0x4151a4
push ebx
push ebx
push eax
push ecx
call fcn.0040ed50
push eax
push str.splitsize_
call fcn.00412bf0
add esp, 0x18
mov eax, dword [0x44768c]
mov dword [0x4475e8], ebx
cmp eax, ebx
jne 0x4151db
cmp dword [0x44758c], ebx
je 0x4151db
cmp dword [esp + 0x14], 3
je 0x4151cb
cmp dword [0x437e7c], 4
jne 0x4151db
mov eax, dword [0x463404]
push eax
push 0x12
call fcn.00412590
add esp, 8
cmp dword [0x4633fc], ebx
jne 0x415203
cmp dword [0x437e7c], ebp
jne 0x4151ef
cmp esi, ebx
je 0x415203
mov ecx, dword [0x463404]
push str._not_found_or_empty
push ecx
call fcn.00412ca0
add esp, 8
cmp dword [esp + 0x48], ebx
je 0x415246
cmp dword [esp + 0x14], 3
jne 0x415246
mov esi, dword [0x447688]
cmp esi, ebx
je 0x415246
cmp dword [0x44769c], ebx
je 0x415237
mov edx, dword [0x436cb8]
mov eax, dword [esi + 0x50]
push edx
push eax
call fcn.00406c80
add esp, 8
jmp 0x415239
mov eax, ebp
mov dword [esi + 0x74], eax
mov esi, dword [esi + 0x84]
cmp esi, ebx
jne 0x41521a
mov eax, dword [0x4627d8]
cmp eax, ebx
je 0x415440
mov ecx, dword [0x437e7c]
cmp ecx, 4
mov ecx, dword [esp + 0x1c]
jne 0x415350
test ecx, ecx
je 0x41528f
mov ecx, dword [0x4633e8]
push str.sd:_Scanning_archive_entries_n
push ecx
call fcn.00423885
mov edx, dword [0x4633e8]
push edx
call fcn.004233bf
mov eax, dword [0x4627d8]
add esp, 0xc
test eax, eax
je 0x415440
mov ebx, dword [sym.imp.USER32.dll_CharToOemA]
mov ecx, dword [0x436cb8]
mov edx, dword [eax]
push ecx
push edx
call fcn.00406740
add esp, 8
test eax, eax
je 0x41531a
cmp eax, 0xffffffff
jne 0x415308
mov eax, dword [0x4627d8]
or ecx, 0xffffffff
mov edi, dword [eax]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.004231a0
mov esi, eax
add esp, 4
test esi, esi
jne 0x4152e6
push str.name_not_matched_error
push 4
call fcn.00412590
add esp, 8
mov ecx, dword [0x4627d8]
push esi
mov edx, dword [ecx]
push edx
call ebx
push esi
push str.not_in_archive:
call fcn.00412ca0
push esi
call fcn.00423252
add esp, 0xc
jmp 0x41531a
mov ecx, dword [0x4627d8]
mov edx, dword [ecx]
push edx
push eax
call fcn.00412590
add esp, 8
mov eax, dword [0x4627d8]
mov ecx, dword [eax]
push ecx
call fcn.00423252
mov eax, dword [0x4627d8]
push eax
mov edx, dword [eax + 4]
mov dword [0x4627d8], edx
call fcn.00423252
mov eax, dword [0x4627d8]
add esp, 8
test eax, eax
jne 0x41529d
jmp 0x415440
test ecx, ecx
je 0x415378
mov eax, dword [0x4633e8]
push str.sd:_Scanning_files_n
push eax
call fcn.00423885
mov ecx, dword [0x4633e8]
push ecx
call fcn.004233bf
mov eax, dword [0x4627d8]
add esp, 0xc
test eax, eax
je 0x415440
mov esi, dword [esp + 0x3c]
mov ecx, dword [0x437e7c]
cmp ecx, 1
je 0x4153a8
cmp ecx, 2
je 0x4153a8
mov edx, dword [0x436cb8]
mov eax, dword [eax]
push edx
push eax
call fcn.004118f0
add esp, 8
jmp 0x4153b3
mov ecx, dword [eax]
push ecx
call fcn.004103a0
add esp, 4
test eax, eax
je 0x41540e
cmp eax, 0xffffffff
jne 0x4153fc
test esi, esi
je 0x4153e8
mov edx, dword [0x4627d8]
mov eax, dword [edx]
push eax
push str.name_not_matched:
call fcn.00412ca0
mov ecx, dword [0x4627d8]
mov edx, dword [ecx]
push edx
push 0x12
call fcn.00412590
add esp, 0x10
jmp 0x41540e
mov eax, dword [0x4627d8]
mov ecx, dword [eax]
push ecx
push str.name_not_matched:
call fcn.00412ca0
jmp 0x41540b
mov edx, dword [0x4627d8]
mov ecx, dword [edx]
push ecx
push eax
call fcn.00412590
add esp, 8
mov edx, dword [0x4627d8]
mov eax, dword [edx]
push eax
call fcn.00423252
mov eax, dword [0x4627d8]
push eax
mov ecx, dword [eax + 4]
mov dword [0x4627d8], ecx
call fcn.00423252
mov eax, dword [0x4627d8]
add esp, 8
test eax, eax
jne 0x415384
cmp dword [0x4474b0], 2
jne 0x4154c8
mov eax, dword [0x437e7c]
cmp eax, 1
je 0x41546e
cmp eax, 2
je 0x41546e
mov edx, dword [0x436cb8]
push edx
push 0x436658
call fcn.004118f0
add esp, 8
jmp 0x41547b
push 0x436658
call fcn.004103a0
add esp, 4
xor edi, edi
cmp eax, edi
je 0x4154ca
cmp eax, 0xffffffff
jne 0x4154b8
mov eax, dword [esp + 0x3c]
push str.current_directory_for__R
cmp eax, edi
push str.name_not_matched:
je 0x4154ae
call fcn.00412ca0
push 0x43fbec
push 0x12
call fcn.00412590
add esp, 0x10
jmp 0x4154ca
call fcn.00412ca0
add esp, 8
jmp 0x4154ca
push 0x43fbec
push eax
call fcn.00412590
add esp, 8
jmp 0x4154ca
xor edi, edi
mov ebx, dword [esp + 0x1c]
cmp ebx, edi
je 0x4154f1
mov eax, dword [0x4633e8]
push str.sd:_Applying_filters_n
push eax
call fcn.00423885
mov ecx, dword [0x4633e8]
push ecx
call fcn.004233bf
add esp, 0xc
cmp dword [esp + 0x14], 4
je 0x415546
cmp dword [esp + 0x5c], edi
jne 0x415546
mov eax, dword [0x437e7c]
cmp eax, 2
je 0x41550d
cmp eax, 3
jne 0x415546
mov esi, dword [0x447688]
cmp esi, edi
je 0x415546
cmp dword [0x44769c], edi
je 0x415534
mov edx, dword [0x436cb8]
mov eax, dword [esi + 0x50]
push edx
push eax
call fcn.00406c80
add esp, 8
jmp 0x415539
mov eax, 1
mov dword [esi + 0x74], eax
mov esi, dword [esi + 0x84]
cmp esi, edi
jne 0x415517
cmp ebx, edi
je 0x41556a
mov ecx, dword [0x4633e8]
push str.sd:_Checking_dups_n
push ecx
call fcn.00423885
mov edx, dword [0x4633e8]
push edx
call fcn.004233bf
add esp, 0xc
call fcn.004068f0
cmp eax, edi
mov dword [esp + 0x20], eax
je 0x415591
cmp eax, 0x10
jne 0x415583
push str.cannot_repeat_names_in_zip_file
jmp 0x415588
push str.was_processing_list_of_files
push eax
call fcn.00412590
add esp, 8
cmp dword [0x4633fc], edi
je 0x4155a7
mov eax, dword [0x4633e4]
push eax
call fcn.00423252
add esp, 4
cmp dword [0x4475a0], edi
jne 0x415662
mov ecx, dword [0x463404]
push 0x2f
push ecx
call fcn.0040e7d0
mov ebp, eax
add esp, 8
cmp ebp, edi
jne 0x4155f7
mov edx, dword [0x463404]
push 0x5c
push edx
call fcn.0040e7d0
mov ebp, eax
add esp, 8
cmp ebp, edi
jne 0x4155f7
mov eax, dword [0x463404]
push 0x3a
push eax
call fcn.0040e7d0
mov ebp, eax
add esp, 8
cmp ebp, edi
je 0x415662
cmp byte [ebp], 0x3a
jne 0x4155fe
inc ebp
mov edx, dword [0x463404]
mov ecx, ebp
sub ecx, edx
inc ecx
push ecx
call fcn.004231a0
add esp, 4
cmp eax, edi
mov dword [0x4475a0], eax
jne 0x41562a
push str.was_processing_arguments
push 4
call fcn.00412590
add esp, 8
movsx edx, byte [ebp]
mov byte [ebp], 0
mov edi, dword [0x463404]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x20], edx
mov eax, ecx
mov esi, edi
mov edi, dword [0x4475a0]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [ebp], dl
xor edi, edi
cmp ebx, edi
je 0x415686
mov ecx, dword [0x4633e8]
push str.sd:_Scanning_files_to_update_n
push ecx
call fcn.00423885
mov edx, dword [0x4633e8]
push edx
call fcn.004233bf
add esp, 0xc
mov esi, dword [0x447688]
mov dword [esp + 0x24], edi
cmp esi, edi
mov dword [esp + 0x28], edi
mov dword [0x4475b4], edi
mov dword [0x4475b8], edi
mov dword [0x4475bc], edi
mov dword [esp + 0x58], 1
je 0x415b40
xor ebx, ebx
cmp dword [0x436cbc], ebx
je 0x41576d
cmp dword [0x4475b0], ebx
je 0x41576d
mov eax, dword [0x4475b8]
mov ecx, dword [0x4475bc]
add eax, 1
push ebx
adc ecx, ebx
push 0x64
push ecx
push eax
mov dword [0x4475b8], eax
mov dword [0x4475bc], ecx
call fcn.00423eb0
or eax, edx
jne 0x41576d
push ebx
call fcn.004232e3
mov edx, dword [0x4475b0]
mov ecx, dword [0x436cd8]
mov edi, eax
sub eax, edx
add esp, 4
cmp eax, ecx
jle 0x41576d
cmp dword [0x4475b4], ebx
jne 0x415748
mov ecx, dword [0x4633e8]
push 0x43fb5c
push ecx
mov dword [0x4475b4], 1
call fcn.00423885
mov edx, dword [0x4633e8]
push edx
call fcn.004233bf
add esp, 0xc
mov eax, dword [0x4633e8]
push 0x436658
push eax
mov dword [0x4475b0], edi
call fcn.00423885
mov ecx, dword [0x4633e8]
push ecx
call fcn.004233bf
add esp, 0xc
mov eax, dword [esi + 0x74]
mov dword [esi + 0x7c], ebx
cmp eax, ebx
jne 0x415783
cmp eax, ebx
mov dword [esp + 0x58], ebx
je 0x415b30
mov edx, dword [esi + 0x18]
mov edi, dword [esi + 0x10]
mov ebp, dword [esi + 0x14]
mov dword [esp + 0x4c], edx
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x50], eax
mov eax, dword [0x437e7c]
cmp eax, 0x10000
jne 0x415821
lea ecx, [esp + 0x2c]
push ecx
push esi
call fcn.004211b0
add esp, 8
test al, 1
je 0x4157c4
lea edx, [esp + 0x30]
push edx
call fcn.00407d70
add esp, 4
jmp 0x4157c7
mov eax, dword [esi + 8]
cmp eax, dword [0x4475c0]
jb 0x415a1a
mov ecx, dword [0x4475c4]
cmp ecx, ebx
je 0x4157e5
cmp eax, ecx
jae 0x415a1a
mov edx, dword [0x44752c]
mov eax, dword [esp + 0x4c]
inc edx
mov dword [0x44752c], edx
mov edx, edi
mov dword [esi + 0x18], eax
mov ecx, dword [esp + 0x50]
and edx, ebp
mov dword [esi + 0x1c], ecx
cmp edx, 0xffffffff
je 0x4158b2
cmp edi, 0xfffffffe
jne 0x415898
cmp ebp, 0xffffffff
je 0x4158b2
jmp 0x415898
cmp eax, 4
jne 0x4158cc
lea eax, [esp + 0x2c]
push eax
push esi
call fcn.004211b0
add esp, 8
test al, 1
je 0x41584b
lea ecx, [esp + 0x30]
push ecx
call fcn.00407d70
add esp, 4
jmp 0x41584e
mov eax, dword [esi + 8]
cmp eax, dword [0x4475c0]
jb 0x415a1a
mov ecx, dword [0x4475c4]
cmp ecx, ebx
je 0x41586c
cmp eax, ecx
jae 0x415a1a
mov eax, dword [0x44752c]
mov edx, dword [esp + 0x4c]
inc eax
mov ecx, edi
mov dword [0x44752c], eax
mov dword [esi + 0x18], edx
mov eax, dword [esp + 0x50]
and ecx, ebp
cmp ecx, 0xffffffff
mov dword [esi + 0x1c], eax
je 0x4158b2
cmp edi, 0xfffffffe
jne 0x415898
cmp ebp, 0xffffffff
je 0x4158b2
mov ecx, dword [0x447548]
mov eax, dword [0x44754c]
add ecx, edi
mov dword [0x447548], ecx
adc eax, ebp
mov dword [0x44754c], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
add ecx, 1
adc eax, ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
jmp 0x415b30
mov edx, dword [esi + 0x3c]
xor ebp, ebp
cmp edx, ebx
je 0x4158ed
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + edx - 1], 0x2f
jne 0x4158ed
mov ebp, 1
cmp dword [0x436cb0], ebx
jne 0x415939
cmp dword [esi + 0x68], ebx
jne 0x415923
mov eax, dword [esi + 0x58]
cmp eax, ebx
je 0x41590b
mov edx, eax
push edx
call fcn.00410240
jmp 0x415914
mov eax, dword [esi + 0x3c]
push eax
call fcn.004101d0
mov dword [esi + 0x68], eax
mov eax, dword [0x436cb0]
add esp, 4
cmp eax, ebx
jne 0x415939
mov eax, dword [esi + 0x68]
lea ecx, [esp + 0x70]
lea edx, [esp + 0x4c]
push ecx
push edx
push ebx
push eax
call fcn.00411f60
jmp 0x41594d
mov eax, dword [esi + 0x3c]
lea ecx, [esp + 0x70]
lea edx, [esp + 0x4c]
push ecx
push edx
push ebx
push eax
call fcn.00411d60
mov edi, eax
add esp, 0x10
cmp edi, ebx
jne 0x415998
mov dword [esp + 0x58], ebx
mov eax, dword [0x4627b0]
neg eax
sbb eax, eax
and eax, 2
cmp edi, ebx
mov dword [esi + 0x74], eax
je 0x415ac8
cmp edi, dword [0x4475c0]
jb 0x415ac8
mov eax, dword [0x4475c4]
cmp eax, ebx
je 0x41598e
cmp edi, eax
jae 0x415ac8
mov eax, 1
jmp 0x415aca
cmp edi, dword [0x4475c0]
jb 0x41595a
mov eax, dword [0x4475c4]
cmp eax, ebx
je 0x4159ad
cmp edi, eax
jae 0x41595a
mov eax, dword [0x437e7c]
cmp eax, 2
je 0x4159bc
cmp eax, 3
jne 0x4159ed
lea ecx, [esp + 0x2c]
push ecx
push esi
call fcn.004211b0
add esp, 8
test al, 1
je 0x4159df
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x30]
xor eax, eax
cmp edx, ecx
setle al
jmp 0x4159e5
cmp dword [esi + 8], edi
sbb eax, eax
inc eax
cmp eax, ebx
jne 0x41595a
mov eax, dword [0x447568]
mov ecx, dword [esp + 0x50]
cmp eax, ebx
mov eax, dword [esp + 0x4c]
je 0x415a22
cmp edi, dword [esi + 8]
jne 0x415a55
cmp ebp, ebx
je 0x415a10
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x415a1a
cmp eax, dword [esi + 0x18]
jne 0x415a22
cmp ecx, dword [esi + 0x1c]
jne 0x415a22
mov dword [esi + 0x74], ebx
jmp 0x415b30
cmp edi, dword [esi + 8]
jne 0x415a55
mov edx, dword [esi + 0x18]
mov edi, dword [esi + 0x1c]
mov ebp, edx
or ebp, edi
jne 0x415a3c
mov ebp, eax
and ebp, ecx
cmp ebp, 0xffffffff
je 0x415a44
cmp eax, edx
jne 0x415a55
cmp ecx, edi
jne 0x415a55
mov dword [esi + 0x7c], 1
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
jmp 0x415a59
mov dword [esp + 0x58], ebx
mov edx, dword [0x44752c]
inc edx
mov dword [0x44752c], edx
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x415a85
cmp eax, 0xfffffffe
jne 0x415a79
cmp ecx, 0xffffffff
je 0x415a85
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x50]
mov dword [esi + 0x1c], eax
jmp 0x415a8b
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x4158b2
cmp eax, 0xfffffffe
jne 0x415aae
cmp ecx, 0xffffffff
je 0x4158b2
mov edx, dword [0x447548]
add edx, eax
mov eax, dword [0x44754c]
mov dword [0x447548], edx
adc eax, ecx
jmp 0x4158ad
xor eax, eax
mov dword [esi + 0x78], eax
mov ecx, dword [0x4474bc]
cmp ecx, ebx
je 0x415afe
cmp eax, ebx
mov eax, str.up_to_date
jne 0x415ae5
mov eax, str.missing_or_early
mov ecx, dword [esi + 0x54]
mov edx, dword [0x4633e8]
push eax
push ecx
push str.zip_diagnostic:__s__s_n
push edx
call fcn.00423885
add esp, 0x10
cmp dword [0x447554], ebx
je 0x415b30
mov eax, dword [esi + 0x78]
cmp eax, ebx
mov eax, str.up_to_date
jne 0x415b17
mov eax, str.missing_or_early
mov ecx, dword [0x447554]
push eax
mov eax, dword [esi + 0x54]
push eax
push str.zip_diagnostic:__s__s_n
push ecx
call fcn.00423885
add esp, 0x10
mov esi, dword [esi + 0x84]
cmp esi, ebx
jne 0x4156b8
jmp 0x415b42
xor ebx, ebx
cmp dword [esp + 0x1c], ebx
je 0x415b6e
mov edx, dword [0x4633e0]
mov eax, dword [0x4633e8]
push edx
push str.sd:_fcount___u_n
push eax
call fcn.00423885
mov ecx, dword [0x4633e8]
push ecx
call fcn.004233bf
add esp, 0x10
mov esi, dword [0x447694]
mov dword [0x4475b8], ebx
cmp esi, ebx
mov dword [0x4475bc], ebx
mov dword [0x4475b4], ebx
je 0x415dc7
mov ebx, 1
xor ebp, ebp
cmp dword [0x436cbc], ebp
je 0x415cbc
cmp dword [0x44757c], ebp
jne 0x415c17
cmp dword [0x4475b0], ebp
jne 0x415c23
mov edx, dword [0x4475bc]
mov eax, dword [0x4475b8]
push ebp
push 0x64
push edx
push eax
call fcn.00423eb0
or eax, edx
jne 0x415cbc
push ebp
call fcn.004232e3
mov edx, dword [0x4475ac]
mov edi, eax
mov eax, dword [0x436cd4]
mov ecx, edi
sub ecx, edx
add esp, 4
cmp ecx, eax
jle 0x415c17
mov edx, dword [0x4633e8]
push str.Scanning_files
push edx
call fcn.00423885
mov eax, dword [0x4633e8]
push eax
call fcn.004233bf
add esp, 0xc
mov dword [0x447674], ebx
mov dword [0x4475b0], edi
cmp dword [0x4475b0], ebp
je 0x415cbc
mov eax, dword [0x4475b8]
mov ecx, dword [0x4475bc]
add eax, ebx
push ebp
adc ecx, ebp
push 0x64
push ecx
push eax
mov dword [0x4475b8], eax
mov dword [0x4475bc], ecx
call fcn.00423eb0
or eax, edx
jne 0x415cbc
push ebp
call fcn.004232e3
mov edx, dword [0x4475b0]
mov edi, eax
mov eax, dword [0x436cd8]
mov ecx, edi
sub ecx, edx
add esp, 4
cmp ecx, eax
jle 0x415cbc
cmp dword [0x4475b4], ebp
jne 0x415c96
mov edx, dword [0x4633e8]
push 0x43fb5c
push edx
mov dword [0x4475b4], ebx
call fcn.00423885
mov eax, dword [0x4633e8]
push eax
call fcn.004233bf
add esp, 0xc
mov ecx, dword [0x4633e8]
push 0x436658
push ecx
mov dword [0x4475b0], edi
call fcn.00423885
mov edx, dword [0x4633e8]
push edx
call fcn.004233bf
add esp, 0xc
mov ecx, dword [0x437e7c]
xor eax, eax
cmp ecx, 0x10000
je 0x415db4
cmp ecx, 3
je 0x415d07
mov eax, dword [0x436cb0]
push ebp
cmp eax, ebp
jne 0x415cf0
mov ecx, dword [esi + 0x14]
lea eax, [esp + 0x50]
push eax
push ebp
push ecx
call fcn.00411f60
jmp 0x415cfe
mov eax, dword [esi]
lea edx, [esp + 0x50]
push edx
push ebp
push eax
call fcn.00411d60
mov ecx, dword [0x437e7c]
add esp, 0x10
cmp ecx, 0x10000
je 0x415db4
cmp ecx, 3
je 0x415db4
cmp eax, ebp
je 0x415db4
cmp eax, dword [0x4475c0]
jb 0x415db4
mov ecx, dword [0x4475c4]
cmp ecx, ebp
je 0x415d3e
cmp eax, ecx
jae 0x415db4
mov ecx, dword [0x463404]
mov edx, dword [esi + 8]
push ecx
push edx
call fcn.0040e6f0
add esp, 8
test eax, eax
jne 0x415d5d
cmp dword [0x44757c], ebp
je 0x415db4
mov eax, dword [0x44752c]
inc eax
mov dword [0x44752c], eax
mov dword [esi + 0x28], ebp
mov dword [esi + 0x2c], ebp
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x415daf
cmp eax, 0xfffffffe
jne 0x415d89
cmp ecx, 0xffffffff
je 0x415daf
mov edi, dword [0x447548]
mov edx, dword [0x44754c]
add edi, eax
adc edx, ecx
mov dword [0x447548], edi
mov dword [0x44754c], edx
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x50]
mov dword [esi + 0x2c], eax
mov esi, dword [esi + 0x34]
jmp 0x415dbf
push esi
call fcn.004063d0
add esp, 4
mov esi, eax
cmp esi, ebp
jne 0x415b95
mov eax, dword [0x447674]
test eax, eax
je 0x415dee
mov ecx, dword [0x4633e8]
push 0x4369f4
push ecx
call fcn.00423885
add esp, 8
mov dword [0x447674], 0
mov edx, dword [0x44758c]
test edx, edx
je 0x4162c2
mov eax, dword [0x436cbc]
xor edi, edi
xor ebx, ebx
xor ebp, ebp
cmp eax, edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
je 0x415ee2
mov edx, dword [0x4633e8]
push edx
call fcn.004233bf
mov eax, dword [0x436cbc]
mov edx, dword [0x44758c]
add esp, 4
cmp eax, edi
je 0x415ee2
cmp edx, 1
je 0x415e4c
cmp edx, 3
je 0x415e4c
cmp edx, 5
jne 0x415ee2
cmp dword [0x447674], edi
je 0x415e6d
mov eax, dword [0x4633e8]
push 0x4369f4
push eax
call fcn.00423885
add esp, 8
mov dword [0x447674], edi
cmp dword [esp + 0x14], 3
jne 0x415e82
mov ecx, dword [0x4633e8]
push str.Archive_contains:_n
push ecx
jmp 0x415ec6
mov eax, dword [0x437e7c]
cmp eax, 0x10000
jne 0x415e95
push str.Would_Delete:_n
jmp 0x415ebf
cmp eax, 3
jne 0x415ea7
mov eax, dword [0x4633e8]
push str.Would_Freshen:_n
push eax
jmp 0x415ec6
cmp eax, 4
jne 0x415eba
mov ecx, dword [0x4633e8]
push str.Would_Copy:_n
push ecx
jmp 0x415ec6
push str.Would_Add_Update:_n
mov edx, dword [0x4633e8]
push edx
call fcn.00423885
mov eax, dword [0x4633e8]
add esp, 8
push eax
call fcn.004233bf
mov edx, dword [0x44758c]
add esp, 4
mov ecx, dword [0x447554]
cmp ecx, edi
je 0x415f6a
cmp dword [0x447678], edi
je 0x415f0e
push 0x4369f4
push ecx
call fcn.00423885
mov ecx, dword [0x447554]
add esp, 8
mov dword [0x447678], edi
cmp dword [esp + 0x14], 3
jne 0x415f1c
push str.Archive_contains:_n
jmp 0x415f4c
mov eax, dword [0x437e7c]
cmp eax, 0x10000
jne 0x415f2f
push str.Would_Delete:_n
jmp 0x415f4c
cmp eax, 3
jne 0x415f3b
push str.Would_Freshen:_n
jmp 0x415f4c
cmp eax, 4
jne 0x415f47
push str.Would_Copy:_n
jmp 0x415f4c
push str.Would_Add_Update:_n
push ecx
call fcn.00423885
mov ecx, dword [0x447554]
add esp, 8
push ecx
call fcn.004233bf
mov edx, dword [0x44758c]
add esp, 4
mov esi, dword [0x447688]
test esi, esi
je 0x41611a
mov eax, dword [esi + 0x74]
test eax, eax
jne 0x415f8a
cmp dword [esp + 0x14], 3
jne 0x416108
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
add ebx, 1
adc ebp, 0
test eax, eax
jl 0x415fac
jg 0x415fa0
test ecx, ecx
jbe 0x415fac
add edi, ecx
mov ecx, dword [esp + 0x30]
adc ecx, eax
mov dword [esp + 0x30], ecx
mov eax, dword [0x436cbc]
test eax, eax
je 0x415fdc
cmp edx, 1
je 0x415fbf
cmp edx, 3
jne 0x415fdc
mov edx, dword [esi + 0x54]
mov eax, dword [0x4633e8]
push edx
push str.___s_n
push eax
call fcn.00423885
mov edx, dword [0x44758c]
add esp, 0xc
mov eax, dword [0x447554]
test eax, eax
je 0x416009
cmp edx, 5
je 0x416009
cmp edx, 6
je 0x416009
mov ecx, dword [esi + 0x54]
mov edx, eax
push ecx
push str.___s_n
push edx
call fcn.00423885
mov edx, dword [0x44758c]
add esp, 0xc
cmp edx, 3
je 0x416013
cmp edx, 4
jne 0x416066
mov eax, dword [esi + 0x60]
test eax, eax
je 0x416066
mov ecx, dword [0x436cbc]
test ecx, ecx
je 0x416043
cmp edx, 3
jne 0x416043
push eax
mov eax, dword [0x4633e8]
push str._____Escaped_Unicode:___s_n
push eax
call fcn.00423885
mov edx, dword [0x44758c]
add esp, 0xc
mov eax, dword [0x447554]
test eax, eax
je 0x416066
mov ecx, dword [esi + 0x60]
mov edx, eax
push ecx
push str._____Escaped_Unicode:___s_n
push edx
call fcn.00423885
mov edx, dword [0x44758c]
add esp, 0xc
cmp edx, 5
je 0x416074
cmp edx, 6
jne 0x416108
mov eax, dword [esi + 0x60]
test eax, eax
je 0x4160bb
mov ecx, dword [0x436cbc]
test ecx, ecx
je 0x4160a4
cmp edx, 5
jne 0x4160a4
push eax
mov eax, dword [0x4633e8]
push str.___s_n
push eax
call fcn.00423885
mov edx, dword [0x44758c]
add esp, 0xc
mov eax, dword [0x447554]
test eax, eax
je 0x416108
mov ecx, dword [esi + 0x60]
mov edx, eax
push ecx
push str.___s_n
push edx
jmp 0x4160fa
mov eax, dword [0x436cbc]
test eax, eax
je 0x4160e7
cmp edx, 5
jne 0x4160e7
mov eax, dword [esi + 0x54]
mov ecx, dword [0x4633e8]
push eax
push str.___s_n
push ecx
call fcn.00423885
mov edx, dword [0x44758c]
add esp, 0xc
mov eax, dword [0x447554]
test eax, eax
je 0x416108
mov edx, dword [esi + 0x54]
push edx
push str.___s_n
push eax
call fcn.00423885
mov edx, dword [0x44758c]
add esp, 0xc
mov esi, dword [esi + 0x84]
test esi, esi
jne 0x415f78
mov dword [esp + 0x2c], edi
mov esi, dword [0x447694]
test esi, esi
je 0x416226
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x28]
add ebx, 1
adc ebp, 0
test eax, eax
jl 0x41614e
jg 0x41613e
test ecx, ecx
jbe 0x41614e
add edi, ecx
mov ecx, dword [esp + 0x30]
adc ecx, eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], ecx
mov eax, dword [0x4475a8]
test eax, eax
je 0x4161c4
mov ecx, dword [esi + 8]
push ecx
call fcn.0040a320
mov edi, eax
mov eax, dword [0x436cbc]
add esp, 4
test eax, eax
je 0x416197
mov eax, dword [0x44758c]
cmp eax, 1
je 0x416182
cmp eax, 3
je 0x416182
cmp eax, 5
jne 0x416197
mov edx, dword [0x4633e8]
push edi
push str.___s_n
push edx
call fcn.00423885
add esp, 0xc
mov eax, dword [0x447554]
test eax, eax
je 0x4161af
push edi
push str.___s_n
push eax
call fcn.00423885
add esp, 0xc
push edi
call fcn.00423252
mov edx, dword [0x44758c]
mov edi, dword [esp + 0x30]
add esp, 4
jmp 0x41621b
mov eax, dword [0x436cbc]
test eax, eax
je 0x4161fa
cmp edx, 1
je 0x4161dc
cmp edx, 3
je 0x4161dc
cmp edx, 5
jne 0x4161fa
mov eax, dword [esi + 0xc]
mov ecx, dword [0x4633e8]
push eax
push str.___s_n
push ecx
call fcn.00423885
mov edx, dword [0x44758c]
add esp, 0xc
mov eax, dword [0x447554]
test eax, eax
je 0x41621b
mov edx, dword [esi + 0xc]
push edx
push str.___s_n
push eax
call fcn.00423885
mov edx, dword [0x44758c]
add esp, 0xc
mov esi, dword [esi + 0x34]
test esi, esi
jne 0x416128
mov eax, dword [0x436cbc]
test eax, eax
jne 0x416238
mov eax, dword [0x447554]
test eax, eax
jne 0x416277
mov ecx, dword [esp + 0x30]
push 0
push 0
push ecx
push edi
call fcn.0040ed50
add esp, 0x10
push eax
push 0
push 0
push ebp
push ebx
call fcn.0040ed50
mov edx, dword [0x4633e8]
add esp, 0x10
push eax
push str.Total__s_entries___s_bytes__n
push edx
call fcn.00423885
mov eax, dword [0x447554]
add esp, 0x10
test eax, eax
je 0x4162ad
mov eax, dword [esp + 0x30]
push 0
push 0
push eax
push edi
call fcn.0040ed50
add esp, 0x10
push eax
push 0
push 0
push ebp
push ebx
call fcn.0040ed50
mov ecx, dword [0x447554]
add esp, 0x10
push eax
push str.Total__s_entries___s_bytes__n
push ecx
call fcn.00423885
add esp, 0x10
push 0
call fcn.00418a30
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
or edx, eax
jne 0x416551
mov eax, dword [0x447694]
test eax, eax
jne 0x416551
mov eax, dword [0x447568]
test eax, eax
jne 0x416551
mov ebx, dword [0x447688]
mov esi, dword [0x4474c8]
mov edx, dword [0x4474c0]
mov edi, dword [0x4627c8]
mov ecx, dword [0x4627b8]
test ebx, ebx
jne 0x41631d
mov eax, dword [0x447580]
test eax, eax
jne 0x416551
jmp 0x416357
test ecx, ecx
jne 0x416551
test edx, edx
jne 0x416551
test esi, esi
jne 0x416551
test edi, edi
jne 0x416551
mov eax, dword [0x4627b0]
test eax, eax
jne 0x416551
mov eax, dword [0x4627b4]
test eax, eax
jne 0x416551
mov eax, dword [0x4627bc]
test eax, eax
je 0x41639d
test ebx, ebx
jne 0x416373
mov eax, dword [0x464818]
mov ebp, dword [0x46481c]
or eax, ebp
je 0x41639d
mov ecx, dword [esp + 0x104]
mov eax, dword [0x463404]
mov edx, dword [ecx]
push edx
push eax
call fcn.00418f30
push 0
call fcn.00418a30
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov eax, dword [0x437e7c]
cmp eax, 2
je 0x416597
cmp eax, 3
je 0x416597
test ebx, ebx
jne 0x4163d6
test ecx, ecx
jne 0x4163c8
test edx, edx
jne 0x4163c8
test esi, esi
jne 0x4163c8
test edi, edi
je 0x4163d6
mov ecx, dword [0x463404]
push ecx
push 0xd
jmp 0x416549
mov eax, dword [0x4474b0]
test eax, eax
je 0x41658f
mov eax, dword [0x44769c]
test eax, eax
jne 0x41658f
mov edx, dword [esp + 0x5c]
test edx, edx
jle 0x41658f
mov eax, dword [str.try:_zip]
mov ecx, dword [0x43fa90]
mov dword [0x463420], eax
mov al, byte [0x43fa94]
mov byte [0x463428], al
mov eax, 1
cmp edx, eax
mov dword [0x463424], ecx
mov dword [esp + 0x14], eax
jle 0x416497
mov ecx, dword [esp + 0x40]
mov edi, 0x43fb5c
mov edx, dword [ecx + eax*4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, 0x463420
mov ebx, ecx
mov ebp, edi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x14]
mov ecx, edx
and ecx, 3
inc eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
cmp eax, ecx
jl 0x416429
mov edx, ecx
mov edi, str._.__i
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, 0x463420
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov eax, edx
and ecx, 3
mov dword [esp + 0x14], eax
rep movsb byte es:[edi], byte [esi]
cmp edx, dword [esp + 0x100]
jge 0x416542
mov ecx, dword [esp + 0x40]
mov edi, 0x43fb5c
mov edx, dword [ecx + eax*4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, 0x463420
mov ebx, ecx
mov ebp, edi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x14]
mov ecx, edx
and ecx, 3
inc eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x14], eax
cmp eax, ecx
jl 0x4164d3
push 0x463420
push 0xc
call fcn.00412590
add esp, 8
mov eax, dword [0x4474c4]
test eax, eax
je 0x4165ac
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4165ac
mov eax, dword [0x4633e0]
test eax, eax
jne 0x4165ac
push 0x4474ac
push str.Archive_is_current
call fcn.00412bf0
push 0
call fcn.00418a30
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov eax, dword [0x463404]
push eax
jmp 0x416547
push 0xc
call fcn.00418a30
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret
mov eax, dword [esp + 0x38]
mov edx, dword [0x46481c]
mov edi, dword [0x464818]
xor ebp, ebp
cmp eax, ebp
je 0x4165e6
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
or eax, ecx
jne 0x4165e6
mov ecx, edi
or ecx, edx
jne 0x4165dc
cmp dword [0x447688], ebp
je 0x4165e6
mov dword [esp + 0x38], 1
jmp 0x4165ea
mov dword [esp + 0x38], ebp
cmp dword [0x44759c], ebp
je 0x416608
call fcn.004053c0
mov edx, dword [0x46481c]
mov edi, dword [0x464818]
mov dword [0x463048], eax
cmp dword [0x447688], ebp
je 0x416632
cmp dword [0x4475e4], 1
je 0x416632
cmp edi, 4
jne 0x416632
cmp edx, ebp
jne 0x416632
xor edi, edi
xor edx, edx
mov dword [0x464818], edi
mov dword [0x46481c], edx
mov eax, dword [0x463404]
mov esi, 0x436564
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x416660
test cl, cl
je 0x41665c
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x416660
add eax, 2
add esi, 2
test cl, cl
jne 0x41663c
xor eax, eax
jmp 0x416665
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x41671b
cmp dword [0x4627c4], ebp
je 0x416687
cmp dword [0x447688], ebp
jne 0x416687
mov eax, edi
or eax, edx
je 0x41671b
cmp dword [esp + 0x48], ebp
jne 0x4166a7
cmp dword [0x447688], ebp
jne 0x416699
or edi, edx
je 0x4166a7
mov ecx, dword [0x4475dc]
push 0x43fa6c
push ecx
jmp 0x4166b3
mov edx, dword [0x4475dc]
push 0x43666c
push edx
call fcn.0042462c
mov esi, eax
add esp, 8
cmp esi, ebp
jne 0x4166d1
mov eax, dword [0x4475dc]
push eax
push 0xf
call fcn.00412590
add esp, 8
push esi
call fcn.004245b6
mov ecx, dword [0x4475dc]
push ecx
call fcn.00407f90
mov edi, dword [0x464818]
mov dword [0x4475e0], eax
mov eax, dword [0x447688]
add esp, 8
cmp eax, ebp
jne 0x416721
mov eax, dword [0x46481c]
mov edx, edi
or edx, eax
jne 0x416721
mov eax, dword [0x4475dc]
push eax
call fcn.00407e50
mov edi, dword [0x464818]
add esp, 4
jmp 0x416721
mov dword [0x4475e0], ebp
cmp dword [0x4627c8], ebp
je 0x416737
xor edi, edi
mov dword [0x46481c], ebp
mov dword [0x464818], edi
mov ebx, dword [esp + 0x1c]
cmp ebx, ebp
je 0x416765
mov ecx, dword [0x4633e8]
push str.sd:_Open_zip_file_and_create_temp_file_n
push ecx
call fcn.00423885
mov edx, dword [0x4633e8]
push edx
call fcn.004233bf
mov edi, dword [0x464818]
add esp, 0xc
mov eax, dword [0x463404]
mov dword [0x4633f0], ebp
mov dword [0x4633f4], ebp
mov esi, 0x436564
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x41679f
test cl, cl
je 0x41679b
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x41679f
add eax, 2
add esi, 2
test cl, cl
jne 0x41677b
xor eax, eax
jmp 0x4167a4
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x416840
push 0x442520
call fcn.00431eb5
push eax
call fcn.00428f8a
add esp, 8
test eax, eax
je 0x4167d2
push str.tried_to_write_binary_zipfile_data_to_console_
push 5
call fcn.00412590
add esp, 8
push 0x8000
push 0x442520
call fcn.00431eb5
add esp, 4
push eax
call fcn.00430e75
add esp, 8
push 0x43666c
push 0x442520
call fcn.00431eb5
add esp, 4
push eax
call fcn.0042de27
push 4
mov dword [0x4475cc], eax
call fcn.004231a0
add esp, 0xc
cmp eax, ebp
mov dword [0x4475c8], eax
jne 0x416831
push str.allocating_temp_filename
push 4
call fcn.00412590
mov eax, dword [0x4475c8]
add esp, 8
mov cx, word [0x436564]
mov word [eax], cx
jmp 0x416a06
cmp dword [esp + 0x38], ebp
je 0x416907
cmp dword [0x4475e4], 1
jbe 0x416862
push str.cannot_grow_split_archive
push 0x10
call fcn.00412590
add esp, 8
mov edx, dword [0x463404]
push 0x43fa6c
push edx
call fcn.0042462c
add esp, 8
cmp eax, ebp
mov dword [0x4475cc], eax
jne 0x416894
mov eax, dword [0x463404]
push eax
push 0xd
call fcn.00412590
mov eax, dword [0x4475cc]
add esp, 8
mov ecx, dword [0x463404]
mov edx, dword [0x4633dc]
mov dword [0x4475c8], ecx
mov ecx, dword [0x4633d8]
push ebp
push edx
push ecx
push eax
call fcn.00410160
add esp, 0x10
test eax, eax
je 0x4168e1
mov eax, dword [0x4475cc]
mov edx, dword [0x463404]
push edx
mov ecx, dword [eax + 0xc]
and cl, 0x20
neg cl
sbb ecx, ecx
and ecx, 9
add ecx, 2
push ecx
call fcn.00412590
add esp, 8
mov eax, dword [0x4633d8]
mov ecx, dword [0x4633dc]
mov dword [0x447640], eax
mov dword [0x447644], ecx
mov dword [0x4633f0], eax
mov dword [0x4633f4], ecx
jmp 0x416a06
cmp ebx, ebp
je 0x416930
mov edx, dword [0x4633e8]
push str.sd:_Creating_new_zip_file_n
push edx
call fcn.00423885
mov eax, dword [0x4633e8]
push eax
call fcn.004233bf
mov edi, dword [0x464818]
add esp, 0xc
or edi, dword [0x46481c]
je 0x4169b2
mov ecx, dword [0x4475d4]
push ebp
push ecx
call fcn.004098e0
push 0x43668c
push eax
mov dword [0x4475d8], eax
call fcn.0042462c
add esp, 0x10
cmp eax, ebp
mov dword [0x4475d0], eax
jne 0x4169b2
push ebp
call fcn.00408c10
add esp, 4
test eax, eax
je 0x41697d
push str.could_not_open_archive_to_read
push 9
call fcn.00412590
add esp, 8
mov edx, dword [0x4475d8]
push edx
call fcn.00423252
mov eax, dword [0x4475d4]
push 1
push eax
call fcn.004098e0
push 0x43668c
push eax
mov dword [0x4475d8], eax
call fcn.0042462c
add esp, 0x14
cmp eax, ebp
mov dword [0x4475d0], eax
je 0x416961
mov ecx, dword [0x463404]
push ecx
call fcn.00407fe0
add esp, 4
cmp eax, ebp
mov dword [0x4475c8], eax
jne 0x4169de
push str.allocating_temp_filename
push 4
call fcn.00412590
mov eax, dword [0x4475c8]
add esp, 8
push 0x43666c
push eax
call fcn.0042462c
add esp, 8
cmp eax, ebp
mov dword [0x4475cc], eax
jne 0x416a06
mov edx, dword [0x4475c8]
push edx
push 0xa
call fcn.00412590
add esp, 8
push 0x4000
call fcn.004231a0
mov esi, eax
add esp, 4
cmp esi, ebp
mov dword [esp + 0x70], esi
jne 0x416a2d
mov eax, dword [0x4475c8]
push eax
push 4
call fcn.00412590
add esp, 8
mov ecx, dword [0x4475cc]
push 0x4000
push ebp
push esi
push ecx
call fcn.00425bb1
mov edx, dword [0x4475cc]
mov esi, 1
push edx
mov dword [0x436cc4], esi
call fcn.004216c0
add esp, 0x14
test eax, eax
jne 0x416a6a
mov dword [0x436cc4], ebp
mov dword [0x447578], esi
mov eax, dword [0x463404]
mov esi, 0x436564
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x416a98
test cl, cl
je 0x416a94
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x416a98
add eax, 2
add esi, 2
test cl, cl
jne 0x416a74
xor eax, eax
jmp 0x416a9d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x416ba5
cmp dword [esp + 0x38], ebp
jne 0x416ba5
cmp dword [0x4475d0], ebp
je 0x416b18
mov ecx, dword [0x464818]
mov eax, dword [0x46481c]
mov edx, ecx
or edx, eax
je 0x416af5
push eax
push ecx
call fcn.004081e0
mov ecx, eax
add esp, 8
cmp ecx, ebp
mov dword [esp + 0x20], ecx
je 0x416af5
mov eax, dword [0x4475c8]
cmp ecx, 0xa
je 0x416aeb
mov eax, dword [0x463404]
push eax
push ecx
call fcn.00412590
add esp, 8
mov eax, dword [0x4475d0]
cmp eax, ebp
je 0x416b18
push eax
call fcn.004245b6
mov eax, dword [0x4475d8]
mov dword [0x4475d0], ebp
push eax
call fcn.00423252
add esp, 8
mov eax, dword [0x44764c]
mov ecx, dword [0x464818]
mov edx, dword [0x46481c]
cmp eax, ebp
mov dword [0x4633f0], ecx
mov dword [0x4633f4], edx
je 0x416ba5
cmp ebx, ebp
je 0x416b5c
mov eax, dword [0x4633e8]
push str.sd:_Adding_spanning_splitting_signature_at_top_of_archive_n
push eax
call fcn.00423885
mov ecx, dword [0x4633e8]
push ecx
call fcn.004233bf
add esp, 0xc
push ebp
push 4
push 1
push 0x463420
mov byte [0x463420], 0x50
mov byte [0x463421], 0x4b
mov byte [0x463422], 7
mov byte [0x463423], 8
call fcn.00409b30
mov ecx, dword [0x4633f0]
mov eax, dword [0x4633f4]
add esp, 0x10
add ecx, 4
adc eax, ebp
mov dword [0x4633f0], ecx
mov dword [0x4633f4], eax
mov eax, dword [0x447688]
mov dword [esp + 0x60], ebp
cmp eax, ebp
je 0x416bd5
cmp ebx, ebp
je 0x416bd5
mov edx, dword [0x4633e8]
push str.sd:_Going_through_old_zip_file_n
push edx
call fcn.00423885
mov eax, dword [0x4633e8]
push eax
call fcn.004233bf
add esp, 0xc
mov esi, dword [0x447688]
mov ebx, 0x447688
cmp esi, ebp
mov dword [esp + 0x44], ebx
je 0x417775
cmp dword [esi + 0x74], 1
jne 0x41755f
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
jne 0x416c0f
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x30], edi
jmp 0x416c17
mov ebp, eax
mov dword [esp + 0x30], ecx
xor edi, edi
mov eax, dword [0x437e7c]
cmp eax, 4
je 0x416f84
cmp eax, 0x10000
je 0x417390
cmp dword [0x4474bc], edi
jne 0x416c45
cmp dword [0x4474c4], edi
je 0x416c45
cmp dword [esi + 0x7c], edi
jne 0x416c4a
call fcn.00419870
cmp dword [0x436cbc], edi
je 0x416cb7
cmp dword [0x437e7c], 3
jne 0x416c66
mov eax, dword [esi + 0x54]
push eax
push str.freshening:__s
jmp 0x416c8f
cmp dword [0x4474c4], edi
je 0x416c86
cmp dword [esi + 0x7c], edi
je 0x416c86
cmp dword [0x4474bc], edi
je 0x416cb7
mov eax, dword [esi + 0x54]
push eax
push str.______ok:__s
jmp 0x416c8f
mov eax, dword [esi + 0x54]
push eax
push str.updating:__s
mov ecx, dword [0x4633e8]
push ecx
call fcn.00423885
mov edx, dword [0x4633e8]
mov ebx, 1
push edx
mov dword [0x447674], ebx
call fcn.004233bf
add esp, 0x10
jmp 0x416cbc
mov ebx, 1
cmp dword [0x447550], edi
je 0x416d22
cmp dword [0x437e7c], 3
jne 0x416cd8
mov eax, dword [esi + 0x54]
push eax
push str.freshening:__s
jmp 0x416d01
cmp dword [0x4474c4], edi
je 0x416cf8
cmp dword [esi + 0x7c], edi
je 0x416cf8
cmp dword [0x4474bc], edi
je 0x416d22
mov eax, dword [esi + 0x54]
push eax
push str._current:__s
jmp 0x416d01
mov eax, dword [esi + 0x54]
push eax
push str.updating:__s
mov ecx, dword [0x447554]
push ecx
call fcn.00423885
mov edx, dword [0x447554]
mov dword [0x447678], ebx
push edx
call fcn.004233bf
add esp, 0x10
lea eax, [esp + 0x48]
push esi
push eax
call fcn.00419fd0
add esp, 8
test eax, eax
je 0x416d53
mov ecx, dword [esi + 0x54]
push ecx
push str.could_not_read_local_entry_information:
call fcn.00412ca0
mov dx, word [esi + 4]
add esp, 8
mov word [esi + 0x2e], dx
mov word [esi + 0x22], di
jmp 0x416db6
mov eax, dword [esp + 0x48]
mov cx, word [eax + 0x2e]
mov word [esi + 0x2e], cx
mov dx, word [eax + 0x22]
mov word [esi + 0x22], dx
mov ecx, dword [eax + 0x40]
mov dword [esi + 0x40], ecx
cmp word [eax + 0x20], di
je 0x416d99
mov edx, dword [eax + 0x4c]
push edx
call fcn.00423252
mov eax, dword [esp + 0x4c]
add esp, 4
cmp word [eax + 0x20], di
je 0x416d99
mov eax, dword [eax + 0x3c]
push eax
call fcn.00423252
mov eax, dword [esp + 0x4c]
add esp, 4
mov ecx, dword [eax + 0x58]
cmp ecx, edi
je 0x416dad
push ecx
call fcn.00423252
mov eax, dword [esp + 0x4c]
add esp, 4
push eax
call fcn.00423252
add esp, 4
cmp dword [0x4474c4], edi
je 0x416dc3
cmp dword [esi + 0x7c], edi
jne 0x416e0d
push esi
call fcn.00421750
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x20], edi
je 0x416e0d
cmp edi, 0x12
je 0x416e0d
cmp edi, 0xffffffff
je 0x416e0d
push 1
push 0x4474ac
call fcn.00412ab0
mov ecx, dword [esi + 0x3c]
push ecx
push str.was_zipping__s
push 0x463420
call fcn.004238b7
push 0x463420
push edi
call fcn.00412590
add esp, 0x1c
mov eax, dword [0x4474c4]
test eax, eax
je 0x416e60
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x416e60
push esi
call fcn.00420400
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x20], edi
je 0x416e51
mov edx, dword [esi + 0x54]
push edx
push str.was_copying__s
push 0x463420
call fcn.004238b7
push 0x463420
push edi
call fcn.00412590
add esp, 0x14
push 1
push 0x4474ac
call fcn.00412ab0
add esp, 8
mov edi, dword [esp + 0x20]
cmp edi, 0x12
je 0x416e72
cmp edi, 0xffffffff
jne 0x416f2a
push 1
push 0x4474ac
mov dword [esp + 0x68], 1
call fcn.00412ab0
mov eax, dword [esi + 0x54]
add esp, 8
cmp edi, 0x12
push eax
jne 0x416ed4
call fcn.0042524e
mov ecx, dword [esi + 0x54]
push ecx
push str.could_not_open_for_reading:
call fcn.00412ca0
mov eax, dword [esp + 0x48]
add esp, 0xc
test eax, eax
je 0x416ee1
mov edx, dword [esi + 0x3c]
push edx
push str.was_zipping__s
push 0x463420
call fcn.004238b7
push 0x463420
push 0x12
call fcn.00412590
add esp, 0x14
jmp 0x416ee1
push str.file_and_directory_with_the_same_name:
call fcn.00412ca0
add esp, 8
mov ecx, dword [esi + 0x54]
push ecx
push str.will_just_copy_entry_over:
call fcn.00412ca0
push esi
call fcn.00420400
mov edi, eax
add esp, 0xc
test edi, edi
mov dword [esp + 0x20], edi
je 0x416f23
mov edx, dword [esi + 0x54]
push edx
push str.was_copying__s
push 0x463420
call fcn.004238b7
push 0x463420
push edi
call fcn.00412590
add esp, 0x14
mov dword [esi + 0x74], 0
mov ebx, dword [0x447524]
mov edi, dword [0x447538]
mov edx, dword [0x44753c]
inc ebx
mov dword [0x447524], ebx
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
add edi, eax
mov eax, dword [0x447534]
mov dword [0x447538], edi
adc edx, ecx
mov ecx, dword [0x447530]
mov dword [0x44753c], edx
mov edx, dword [esp + 0x30]
add ecx, ebp
adc eax, edx
mov dword [0x447530], ecx
mov dword [0x447534], eax
lea ebx, [esi + 0x84]
xor ebp, ebp
jmp 0x417767
call fcn.00419870
mov eax, dword [0x4474e4]
mov edx, dword [esi + 0x28]
lea ecx, [eax - 1]
cmp ecx, edx
je 0x416f9f
xor eax, eax
mov dword [0x4474e4], eax
mov ecx, dword [esi + 0x28]
dec eax
cmp eax, ecx
mov eax, dword [0x436cbc]
jne 0x41701b
cmp eax, edi
je 0x416fdd
mov edx, dword [esi + 0x54]
mov eax, dword [0x4633e8]
push edx
push str._skipping:__s
push eax
call fcn.00423885
mov ecx, dword [0x4633e8]
mov dword [0x447674], 1
push ecx
call fcn.004233bf
add esp, 0x10
cmp dword [0x447550], edi
je 0x417109
mov edx, dword [esi + 0x54]
mov eax, dword [0x447554]
push edx
push str._skipping:__s
push eax
call fcn.00423885
mov ecx, dword [0x447554]
mov dword [0x447678], 1
push ecx
call fcn.004233bf
add esp, 0x10
jmp 0x417109
cmp eax, edi
je 0x417090
mov edx, dword [esi + 0x54]
mov eax, dword [0x4633e8]
push edx
push 0x43f850
push eax
call fcn.00423885
mov eax, dword [0x447520]
add esp, 0xc
cmp eax, edi
je 0x417078
mov ecx, dword [0x4633e8]
push 0x43f84c
push ecx
call fcn.00423885
mov edx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
mov ecx, dword [0x4633e8]
push edx
push eax
push ecx
call fcn.0040ee80
mov edx, dword [0x4633e8]
push 0x43f848
push edx
call fcn.00423885
add esp, 0x1c
mov eax, dword [0x4633e8]
mov dword [0x447674], 1
push eax
call fcn.004233bf
add esp, 4
cmp dword [0x447550], edi
je 0x417109
mov ecx, dword [esi + 0x54]
mov edx, dword [0x447554]
push ecx
push 0x43f850
push edx
call fcn.00423885
mov eax, dword [0x447520]
add esp, 0xc
cmp eax, edi
je 0x4170f0
mov eax, dword [0x447554]
push 0x43f84c
push eax
call fcn.00423885
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
mov eax, dword [0x447554]
push ecx
push edx
push eax
call fcn.0040ee80
mov ecx, dword [0x447554]
push 0x43f848
push ecx
call fcn.00423885
add esp, 0x1c
mov edx, dword [0x447554]
mov dword [0x447678], 1
push edx
call fcn.004233bf
add esp, 4
mov eax, dword [0x4474e4]
mov ecx, dword [esi + 0x28]
dec eax
cmp eax, ecx
jne 0x41711e
mov dword [esi + 0x74], edi
jmp 0x4171ea
push esi
call fcn.00420400
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x20], edi
je 0x4171ea
cmp edi, 9
jne 0x41714d
push str.user_requested_abort
push eax
call fcn.00412590
add esp, 8
jmp 0x4171ea
cmp dword [0x4474c0], 1
je 0x417188
mov ecx, dword [esi + 0x54]
push ecx
push str.was_copying__s
push 0x463420
call fcn.004238b7
push 0x4474ac
push str._try__F_to_attempt_to_fix_
call fcn.00412ca0
push 0x463420
push edi
call fcn.00412590
add esp, 0x1c
jmp 0x4171ea
mov edx, dword [0x44763c]
mov eax, dword [0x447638]
mov ecx, dword [0x4475cc]
push 0
push edx
push eax
push ecx
call fcn.00410160
add esp, 0x10
test eax, eax
je 0x4171b8
push str.could_not_seek_in_output_file
push edi
call fcn.00412590
add esp, 8
mov edx, dword [esi + 0x54]
push edx
push str.bad___skipping:
call fcn.00412ca0
mov eax, dword [0x447638]
mov ecx, dword [0x44763c]
add esp, 8
mov dword [0x4633f0], eax
mov dword [0x4633f4], ecx
mov dword [0x447640], eax
mov dword [0x447644], ecx
mov eax, dword [0x4474e4]
xor ebp, ebp
cmp eax, ebp
jne 0x417208
cmp dword [0x4474c0], 1
jne 0x417208
mov edi, dword [esp + 0x20]
cmp edi, ebp
jne 0x417276
jmp 0x41720c
mov edi, dword [esp + 0x20]
cmp dword [0x436cbc], ebp
je 0x417241
cmp dword [0x447674], ebp
je 0x417241
mov eax, dword [0x4633e8]
push 0x4369f4
push eax
call fcn.00423885
mov ecx, dword [0x4633e8]
mov dword [0x447674], ebp
push ecx
call fcn.004233bf
add esp, 0xc
cmp dword [0x447550], ebp
je 0x417276
cmp dword [0x447678], ebp
je 0x417276
mov edx, dword [0x447554]
push 0x4369f4
push edx
call fcn.00423885
mov eax, dword [0x447554]
mov dword [0x447678], ebp
push eax
call fcn.004233bf
add esp, 0xc
mov ecx, dword [0x447524]
inc ecx
cmp edi, ebp
mov dword [0x447524], ecx
je 0x4172a7
mov ecx, dword [esi + 0x10]
mov eax, dword [0x447540]
mov edx, dword [esi + 0x14]
add eax, ecx
mov dword [0x447540], eax
mov eax, dword [0x447544]
adc eax, edx
mov dword [0x447544], eax
jmp 0x4172c7
mov eax, dword [esi + 0x10]
mov edx, dword [0x447538]
mov ecx, dword [esi + 0x14]
add edx, eax
mov eax, dword [0x44753c]
mov dword [0x447538], edx
adc eax, ecx
mov dword [0x44753c], eax
mov edx, dword [esi + 0x10]
mov ecx, dword [0x447530]
mov eax, dword [esi + 0x14]
add ecx, edx
mov dword [0x447530], ecx
mov ecx, dword [0x447534]
adc ecx, eax
cmp edi, ebp
mov dword [0x447534], ecx
je 0x416f77
cmp dword [0x4474c0], 1
jne 0x416f77
mov ecx, dword [esi + 0x4c]
mov edi, dword [esi + 0x84]
push ecx
call fcn.00423252
mov edx, dword [esi + 0x50]
push edx
call fcn.00423252
mov eax, dword [esi + 0x54]
push eax
call fcn.00423252
mov eax, dword [esi + 0x58]
add esp, 0xc
cmp eax, ebp
je 0x417332
push eax
call fcn.00423252
add esp, 4
cmp word [esi + 0x22], bp
je 0x417348
mov eax, dword [esi + 0x40]
cmp eax, ebp
je 0x417348
push eax
call fcn.00423252
add esp, 4
cmp word [esi + 0x24], bp
je 0x417361
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x40]
cmp eax, ecx
je 0x417361
push eax
call fcn.00423252
add esp, 4
cmp word [esi + 0x26], bp
je 0x417373
mov ecx, dword [esi + 0x48]
push ecx
call fcn.00423252
add esp, 4
push esi
call fcn.00423252
mov dword [ebx], edi
mov eax, dword [0x4633fc]
add esp, 4
dec eax
mov dword [0x4633fc], eax
xor ebp, ebp
jmp 0x417767
call fcn.00419870
cmp dword [0x436cbc], edi
je 0x417415
mov edx, dword [esi + 0x54]
mov eax, dword [0x4633e8]
push edx
push str.deleting:__s
push eax
call fcn.00423885
mov eax, dword [0x447520]
add esp, 0xc
cmp eax, edi
je 0x4173f6
mov ecx, dword [0x4633e8]
push 0x43f84c
push ecx
call fcn.00423885
mov edx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
mov ecx, dword [0x4633e8]
push edx
push eax
push ecx
call fcn.0040ee80
mov edx, dword [0x4633e8]
push 0x43f848
push edx
call fcn.00423885
add esp, 0x1c
mov eax, dword [0x4633e8]
push eax
call fcn.004233bf
mov ecx, dword [0x4633e8]
push 0x4369f4
push ecx
call fcn.00423885
add esp, 0xc
cmp dword [0x447550], edi
je 0x417495
mov edx, dword [esi + 0x54]
mov eax, dword [0x447554]
push edx
push str.deleting:__s
push eax
call fcn.00423885
mov eax, dword [0x447520]
add esp, 0xc
cmp eax, edi
je 0x417476
mov ecx, dword [0x447554]
push 0x43f84c
push ecx
call fcn.00423885
mov edx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
mov ecx, dword [0x447554]
push edx
push eax
push ecx
call fcn.0040ee80
mov edx, dword [0x447554]
push 0x43f848
push edx
call fcn.00423885
add esp, 0x1c
mov eax, dword [0x447554]
push 0x4369f4
push eax
call fcn.00423885
mov ecx, dword [0x447554]
push ecx
call fcn.004233bf
add esp, 0xc
mov ebp, dword [0x447524]
mov edi, dword [0x447538]
mov ecx, dword [0x44753c]
inc ebp
mov dword [0x447524], ebp
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov ebp, dword [0x447530]
add edi, edx
adc ecx, eax
mov dword [0x447538], edi
mov edi, dword [0x447534]
mov dword [0x44753c], ecx
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
add ebp, ecx
adc edi, edx
mov dword [0x447530], ebp
mov dword [0x447534], edi
mov eax, dword [esi + 0x4c]
mov edi, dword [esi + 0x84]
push eax
call fcn.00423252
mov ecx, dword [esi + 0x50]
push ecx
call fcn.00423252
mov edx, dword [esi + 0x54]
push edx
call fcn.00423252
mov eax, dword [esi + 0x58]
add esp, 0xc
test eax, eax
je 0x41751a
push eax
call fcn.00423252
add esp, 4
cmp word [esi + 0x22], 0
je 0x417531
mov eax, dword [esi + 0x40]
test eax, eax
je 0x417531
push eax
call fcn.00423252
add esp, 4
cmp word [esi + 0x24], 0
je 0x41754b
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x40]
cmp eax, ecx
je 0x41754b
push eax
call fcn.00423252
add esp, 4
cmp word [esi + 0x26], 0
je 0x417373
mov eax, dword [esi + 0x48]
push eax
jmp 0x41736b
cmp dword [0x437e7c], 4
jne 0x4175fc
mov ecx, dword [esi + 0x4c]
mov edi, dword [esi + 0x84]
push ecx
call fcn.00423252
mov edx, dword [esi + 0x50]
push edx
call fcn.00423252
mov eax, dword [esi + 0x54]
push eax
call fcn.00423252
mov eax, dword [esi + 0x58]
add esp, 0xc
cmp eax, ebp
je 0x4175a0
push eax
call fcn.00423252
add esp, 4
cmp word [esi + 0x22], bp
je 0x4175b6
mov eax, dword [esi + 0x40]
cmp eax, ebp
je 0x4175b6
push eax
call fcn.00423252
add esp, 4
cmp word [esi + 0x24], bp
je 0x4175cf
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x40]
cmp eax, ecx
je 0x4175cf
push eax
call fcn.00423252
add esp, 4
cmp word [esi + 0x26], bp
je 0x4175e1
mov ecx, dword [esi + 0x48]
push ecx
call fcn.00423252
add esp, 4
push esi
call fcn.00423252
mov dword [ebx], edi
mov eax, dword [0x4633fc]
add esp, 4
dec eax
mov dword [0x4633fc], eax
jmp 0x417767
cmp dword [0x4474c4], ebp
je 0x41771f
call fcn.00419b20
cmp dword [0x436cbc], ebp
je 0x417693
mov edx, dword [esi + 0x54]
mov eax, dword [0x4633e8]
push edx
push str.deleting:__s
push eax
call fcn.00423885
mov eax, dword [0x447520]
add esp, 0xc
cmp eax, ebp
je 0x41766e
mov ecx, dword [0x4633e8]
push 0x43f84c
push ecx
call fcn.00423885
mov edx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
mov ecx, dword [0x4633e8]
push edx
push eax
push ecx
call fcn.0040ee80
mov edx, dword [0x4633e8]
push 0x43f848
push edx
call fcn.00423885
add esp, 0x1c
mov eax, dword [0x4633e8]
push eax
call fcn.004233bf
mov ecx, dword [0x4633e8]
push 0x4369f4
push ecx
call fcn.00423885
add esp, 0xc
mov dword [0x447674], ebp
cmp dword [0x447550], ebp
je 0x417761
mov edx, dword [esi + 0x54]
mov eax, dword [0x447554]
push edx
push str.deleting:__s
push eax
call fcn.00423885
mov eax, dword [0x447520]
add esp, 0xc
cmp eax, ebp
je 0x4176f8
mov ecx, dword [0x447554]
push 0x43f84c
push ecx
call fcn.00423885
mov edx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
mov ecx, dword [0x447554]
push edx
push eax
push ecx
call fcn.0040ee80
mov edx, dword [0x447554]
push 0x43f848
push edx
call fcn.00423885
add esp, 0x1c
mov eax, dword [0x447554]
push 0x4369f4
push eax
call fcn.00423885
mov ecx, dword [0x447554]
push ecx
call fcn.004233bf
add esp, 0xc
mov dword [0x447678], ebp
jmp 0x417761
cmp dword [esp + 0x38], ebp
jne 0x417761
cmp dword [0x447568], ebp
jne 0x417761
push esi
call fcn.00420400
mov edi, eax
add esp, 4
cmp edi, ebp
mov dword [esp + 0x20], edi
je 0x417761
mov edx, dword [esi + 0x54]
push edx
push str.was_copying__s
push 0x463420
call fcn.004238b7
push 0x463420
push edi
call fcn.00412590
add esp, 0x14
lea ebx, [esi + 0x84]
mov esi, dword [ebx]
cmp esi, ebp
jne 0x416bec
mov dword [esp + 0x44], ebx
cmp dword [esp + 0x1c], ebp
je 0x41779a
mov eax, dword [0x4633e8]
push str.sd:_Zipping_up_new_entries_n
push eax
call fcn.00423885
mov ecx, dword [0x4633e8]
push ecx
call fcn.004233bf
add esp, 0xc
mov edi, dword [0x447694]
cmp edi, ebp
je 0x417b35
push 0x88
call fcn.004231a0
mov esi, eax
xor ebx, ebx
add esp, 4
cmp esi, ebx
jne 0x4177cc
push str.was_adding_files_to_zip_file
push 4
call fcn.00412590
add esp, 8
lea eax, [esi + 0x84]
mov dword [esp + 0x2c], eax
mov dword [eax], ebx
mov edx, dword [edi]
mov dword [esi + 0x3c], edx
mov dword [edi], ebx
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], ebx
mov eax, dword [0x436cb0]
cmp eax, ebx
jne 0x4177fc
mov eax, dword [edi + 0x18]
push eax
call fcn.0040a1a0
jmp 0x417805
mov ecx, dword [edi + 0x10]
push ecx
call fcn.0040a1d0
mov ecx, dword [esi + 0x58]
add esp, 4
cmp ecx, ebx
jne 0x417821
cmp eax, ebx
jne 0x41781b
mov edx, dword [edi + 0x10]
mov dword [esi + 0x58], edx
jmp 0x41782d
mov eax, dword [edi + 0x10]
push eax
jmp 0x417825
mov ecx, dword [edi + 0x10]
push ecx
call fcn.00423252
add esp, 4
mov edx, dword [edi + 4]
mov dword [edi + 0x10], ebx
mov dword [esi + 0x4c], edx
mov eax, dword [edi + 8]
mov dword [edi + 4], ebx
mov dword [esi + 0x50], eax
mov ecx, dword [edi + 0xc]
mov dword [edi + 8], ebx
mov dword [esi + 0x54], ecx
mov edx, dword [edi + 0x14]
mov dword [edi + 0xc], ebx
mov dword [esi + 0x68], edx
mov eax, dword [edi + 0x18]
mov dword [edi + 0x14], ebx
mov dword [esi + 0x6c], eax
mov ecx, dword [edi + 0x1c]
mov dword [edi + 0x18], ebx
mov dword [esi + 0x70], ecx
mov ebp, 1
mov dword [edi + 0x1c], ebx
mov word [esi + 0x26], bx
mov word [esi + 0x24], bx
mov word [esi + 0x22], bx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x74], ebp
mov edx, dword [edi + 0x20]
mov dword [esi + 0x80], edx
call fcn.00419870
cmp dword [0x436cbc], ebx
je 0x4178c0
mov eax, dword [esi + 0x54]
mov ecx, dword [0x4633e8]
push eax
push str.__adding:__s
push ecx
call fcn.00423885
mov edx, dword [0x4633e8]
mov dword [0x447674], ebp
push edx
call fcn.004233bf
add esp, 0x10
cmp dword [0x447550], ebx
je 0x4178f2
mov eax, dword [esi + 0x54]
mov ecx, dword [0x447554]
push eax
push str.__adding:__s
push ecx
call fcn.00423885
mov edx, dword [0x447554]
mov dword [0x447678], ebp
push edx
call fcn.004233bf
add esp, 0x10
mov eax, dword [edi + 0x2c]
mov ebp, dword [edi + 0x28]
push esi
mov dword [esp + 0x6c], eax
call fcn.00421750
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x417946
cmp ebx, 0x12
je 0x4179bb
cmp ebx, 0xffffffff
je 0x417946
push 1
push 0x4474ac
call fcn.00412ab0
mov ecx, dword [esi + 0x54]
push ecx
push str.was_zipping__s
push 0x463420
call fcn.004238b7
push 0x463420
push ebx
call fcn.00412590
add esp, 0x1c
cmp ebx, 0x12
je 0x4179bb
cmp ebx, 0xffffffff
je 0x4179bb
mov eax, dword [0x447524]
mov ebx, dword [0x447538]
mov ecx, dword [0x44753c]
inc eax
mov dword [0x447524], eax
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
add ebx, edx
mov edx, dword [0x447534]
mov dword [0x447538], ebx
mov ebx, dword [0x447530]
adc ecx, eax
mov eax, dword [esp + 0x2c]
mov dword [0x44753c], ecx
mov ecx, dword [esp + 0x68]
add ebx, ebp
adc edx, ecx
mov dword [0x447530], ebx
mov dword [0x447534], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x44], eax
mov dword [edx], esi
mov eax, dword [0x4633fc]
inc eax
mov dword [0x4633fc], eax
jmp 0x417b22
push 1
push 0x4474ac
mov dword [esp + 0x68], 1
call fcn.00412ab0
add esp, 8
cmp ebx, 0x12
jne 0x417a4b
push str.zip_warning
call fcn.0042524e
mov eax, dword [0x447554]
add esp, 4
test eax, eax
je 0x417a0e
mov ecx, dword [0x462c68]
push ecx
call fcn.00425b85
mov edx, dword [0x447554]
push eax
push str.zip_warning:__s_n
push edx
call fcn.00423885
add esp, 0x10
mov eax, dword [esi + 0x54]
push eax
push str.could_not_open_for_reading:
call fcn.00412ca0
mov eax, dword [esp + 0x44]
add esp, 8
test eax, eax
je 0x417a5c
mov ecx, dword [esi + 0x3c]
push ecx
push str.was_zipping__s
push 0x463420
call fcn.004238b7
push 0x463420
push 0x12
call fcn.00412590
add esp, 0x14
jmp 0x417a5c
mov edx, dword [esi + 0x54]
push edx
push str.file_and_directory_with_the_same_name:
call fcn.00412ca0
add esp, 8
mov ebx, dword [0x447524]
mov edx, dword [0x447530]
mov eax, dword [esp + 0x68]
mov ecx, dword [0x447534]
inc ebx
add edx, ebp
mov dword [0x447524], ebx
mov ebx, dword [0x447528]
mov dword [0x447530], edx
mov edx, dword [0x447540]
adc ecx, eax
inc ebx
mov dword [0x447534], ecx
mov ecx, dword [0x447544]
add edx, ebp
mov dword [0x447528], ebx
adc ecx, eax
mov dword [0x447540], edx
mov dword [0x447544], ecx
mov eax, dword [esi + 0x3c]
push eax
call fcn.00423252
mov ecx, dword [esi + 0x4c]
push ecx
call fcn.00423252
mov edx, dword [esi + 0x50]
push edx
call fcn.00423252
mov eax, dword [esi + 0x54]
push eax
call fcn.00423252
mov eax, dword [esi + 0x58]
add esp, 0x10
test eax, eax
je 0x417ae9
push eax
call fcn.00423252
add esp, 4
mov eax, dword [esi + 0x68]
test eax, eax
je 0x417af9
push eax
call fcn.00423252
add esp, 4
mov eax, dword [esi + 0x6c]
test eax, eax
je 0x417b09
push eax
call fcn.00423252
add esp, 4
mov eax, dword [esi + 0x70]
test eax, eax
je 0x417b19
push eax
call fcn.00423252
add esp, 4
push esi
call fcn.00423252
add esp, 4
push edi
call fcn.004063d0
mov edi, eax
add esp, 4
test edi, edi
jne 0x4177a8
mov eax, dword [0x44759c]
test eax, eax
je 0x417b51
push eax
call fcn.00423252
add esp, 4
mov dword [0x44759c], 0
mov eax, dword [0x436cbc]
test eax, eax
je 0x417c29
mov eax, dword [0x447528]
test eax, eax
je 0x417c29
mov ecx, dword [0x4633e8]
push str._nzip_warning:_Not_all_files_were_readable_n
push ecx
call fcn.00423885
mov edx, dword [0x44752c]
mov esi, dword [0x447528]
mov eax, dword [0x4633e8]
sub edx, esi
push edx
push str.__files_entries_read:___lu
push eax
call fcn.00423885
mov edx, dword [0x44753c]
mov eax, dword [0x447538]
lea ecx, [esp + 0xac]
push ecx
push edx
push eax
call fcn.0040f030
mov edx, dword [0x4633e8]
lea ecx, [esp + 0xb8]
push ecx
push str.___s_bytes_
push edx
call fcn.00423885
mov eax, dword [0x447528]
mov ecx, dword [0x4633e8]
push eax
push str.__skipped:___lu
push ecx
call fcn.00423885
mov eax, dword [0x447544]
mov ecx, dword [0x447540]
lea edx, [esp + 0xd0]
push edx
push eax
push ecx
call fcn.0040f030
mov eax, dword [0x4633e8]
add esp, 0x44
lea edx, [esp + 0x98]
push edx
push str.___s_bytes__n
push eax
call fcn.00423885
mov ecx, dword [0x4633e8]
push ecx
call fcn.004233bf
add esp, 0x10
mov eax, dword [0x447554]
test eax, eax
je 0x417cf0
mov ecx, dword [0x447528]
test ecx, ecx
je 0x417cf0
push str._nzip_warning:_Not_all_files_were_readable_n
push eax
call fcn.00423885
mov edx, dword [0x44752c]
mov edi, dword [0x447528]
mov eax, dword [0x447554]
sub edx, edi
push edx
push str.__files_entries_read:___lu
push eax
call fcn.00423885
mov edx, dword [0x44753c]
mov eax, dword [0x447538]
lea ecx, [esp + 0xac]
push ecx
push edx
push eax
call fcn.0040f030
mov edx, dword [0x447554]
lea ecx, [esp + 0xb8]
push ecx
push str.___s_bytes_
push edx
call fcn.00423885
mov eax, dword [0x447528]
mov ecx, dword [0x447554]
push eax
push str.__skipped:___lu
push ecx
call fcn.00423885
mov eax, dword [0x447544]
mov ecx, dword [0x447540]
lea edx, [esp + 0xd0]
push edx
push eax
push ecx
call fcn.0040f030
mov eax, dword [0x447554]
add esp, 0x44
lea edx, [esp + 0x98]
push edx
push str.___s_bytes_
push eax
call fcn.00423885
add esp, 0xc
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x417d18
mov ecx, dword [0x4633e8]
push str.sd:_Get_comment_if_any_n
push ecx
call fcn.00423885
mov edx, dword [0x4633e8]
push edx
call fcn.004233bf
add esp, 0xc
mov eax, dword [0x4627b0]
mov ebx, dword [esp + 0x54]
test eax, eax
je 0x417e6c
test ebx, ebx
jne 0x417d4e
push 0x43677c
push 0x442540
call fcn.00431eb5
add esp, 4
push eax
call fcn.0042de27
mov ebx, eax
add esp, 8
mov dword [esp + 0x54], ebx
push 0x101
call fcn.004231a0
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x3c], edi
jne 0x417d74
push str.was_reading_comment_lines
push 4
call fcn.00412590
add esp, 8
mov esi, dword [0x447688]
test esi, esi
mov dword [esp + 0x44], esi
je 0x417e63
mov eax, dword [esi + 0x74]
test eax, eax
je 0x417e51
mov eax, dword [0x436cbc]
test eax, eax
je 0x417db2
mov eax, dword [esi + 0x54]
mov ecx, dword [0x4633e8]
push eax
push str.Enter_comment_for__s:_n
push ecx
call fcn.00423885
add esp, 0xc
push ebx
push 0x101
push edi
call fcn.00424b5f
add esp, 0xc
test eax, eax
je 0x417e51
mov esi, dword [esp + 0x3c]
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x28], eax
mov ebp, ecx
lea edx, [ebp + 1]
push edx
call fcn.004231a0
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x417e06
push esi
call fcn.00423252
push str.was_reading_comment_lines
push 4
call fcn.00412590
add esp, 0xc
mov edi, dword [esp + 0x3c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp byte [ebx + ebp - 1], 0xa
jne 0x417e3c
mov eax, dword [esp + 0x28]
add ebp, 0xffffffff
adc eax, 0xffffffff
mov byte [ebx + ebp], 0
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x3c]
mov esi, eax
mov dword [eax + 0x48], ebx
mov ebx, dword [esp + 0x54]
mov word [eax + 0x26], bp
mov esi, dword [esi + 0x84]
test esi, esi
mov dword [esp + 0x44], esi
jne 0x417d86
push edi
call fcn.00423252
add esp, 4
mov eax, dword [0x4627b4]
test eax, eax
je 0x41814f
test ebx, ebx
jne 0x417e9e
push 0x43677c
push 0x442540
call fcn.00431eb5
add esp, 4
push eax
call fcn.0042de27
mov ebx, eax
add esp, 8
mov dword [esp + 0x54], ebx
push 0x101
call fcn.004231a0
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x3c], ebp
jne 0x417ec4
push str.was_reading_comment_lines
push 4
call fcn.00412590
add esp, 8
mov eax, dword [0x436cbc]
test eax, eax
je 0x417f66
cmp word [0x463400], 0
je 0x417f66
mov ecx, dword [0x4633e8]
push ecx
push str.current_zip_file_comment_is:_n
call fcn.00424e28
mov edx, dword [0x4633e8]
mov ecx, dword [0x447690]
xor eax, eax
push edx
mov ax, word [0x463400]
push eax
push 1
push ecx
call fcn.0042476f
mov eax, dword [0x447690]
xor edx, edx
mov dx, word [0x463400]
add esp, 0x18
cmp byte [edx + eax - 1], 0xa
je 0x417f57
mov eax, dword [0x4633e8]
mov edx, dword [eax + 4]
dec edx
mov dword [eax + 4], edx
mov eax, dword [0x4633e8]
mov ecx, dword [eax + 4]
test ecx, ecx
jl 0x417f4c
mov ecx, dword [eax]
mov byte [ecx], 0xa
mov eax, dword [0x4633e8]
inc dword [eax]
jmp 0x417f57
push eax
push 0xa
call fcn.004234cc
add esp, 8
mov edx, dword [0x447690]
push edx
call fcn.00423252
add esp, 4
push 1
call fcn.004231a0
add esp, 4
mov dword [0x447690], eax
test eax, eax
jne 0x417f8d
push str.was_setting_comments_to_null
push 4
call fcn.00412590
mov eax, dword [0x447690]
add esp, 8
mov byte [eax], 0
mov eax, dword [0x436cbc]
test eax, eax
je 0x417fac
mov eax, dword [0x4633e8]
push eax
push str.enter_new_zip_file_comment__end_with_._:_n
call fcn.00424e28
add esp, 8
push ebx
push 0x101
push ebp
call fcn.00424b5f
add esp, 0xc
test eax, eax
je 0x41812f
mov esi, 0x43f634
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x417ff2
test cl, cl
je 0x417fee
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x417ff2
add eax, 2
add esi, 2
test cl, cl
jne 0x417fca
xor eax, eax
jmp 0x417ff7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x41812f
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, ecx
cmp byte [edx + ebp - 1], 0xa
jne 0x418019
dec edx
mov byte [edx + ebp], 0
mov edi, dword [0x447690]
cmp byte [edi], 0
je 0x418032
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 2
jmp 0x418037
mov ecx, 1
add ecx, edx
push ecx
call fcn.004231a0
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x41805d
push ebp
call fcn.00423252
push str.was_reading_comment_lines
push 4
call fcn.00412590
add esp, 0xc
mov edi, dword [0x447690]
cmp byte [edi], 0
je 0x4180d7
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov eax, ecx
mov edi, ebx
mov edx, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x43f630
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
mov ebp, dword [esp + 0x3c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
jmp 0x4180fd
mov al, byte [ebp]
mov edi, ebp
test al, al
jne 0x4180e5
mov edi, 0x43f630
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x447690]
push ecx
call fcn.00423252
mov edx, dword [esp + 0x58]
mov dword [0x447690], ebx
push edx
push 0x101
push ebp
call fcn.00424b5f
add esp, 0x10
test eax, eax
jne 0x417fc3
push ebp
call fcn.00423252
mov edi, dword [0x447690]
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov word [0x463400], cx
mov eax, dword [0x447518]
test eax, eax
je 0x418193
mov eax, dword [0x4633e8]
mov edx, dword [eax + 4]
dec edx
mov dword [eax + 4], edx
mov eax, dword [0x4633e8]
mov ecx, dword [eax + 4]
test ecx, ecx
jl 0x41817e
mov eax, dword [eax]
mov byte [eax], 0xa
mov eax, dword [0x4633e8]
inc dword [eax]
jmp 0x418189
push eax
push 0xa
call fcn.004234cc
add esp, 8
mov dword [0x447674], 0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4181bb
mov ecx, dword [0x4633e8]
push str.sd:_Writing_central_directory_n
push ecx
call fcn.00423885
mov edx, dword [0x4633e8]
push edx
call fcn.004233bf
add esp, 0xc
mov esi, dword [0x447688]
mov eax, dword [0x4633f0]
mov ecx, dword [0x4633f4]
xor ebx, ebx
xor edi, edi
xor ebp, ebp
test esi, esi
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x30], ebx
je 0x4182b3
mov eax, dword [esi + 0x74]
test eax, eax
jne 0x418217
mov eax, dword [0x447568]
test eax, eax
jne 0x418299
mov eax, dword [0x4474c4]
test eax, eax
jne 0x418299
push esi
call fcn.0041f570
add esp, 4
test eax, eax
je 0x418234
mov edx, dword [0x4475c8]
push edx
push eax
call fcn.00412590
add esp, 8
xor eax, eax
xor ecx, ecx
mov ax, word [esi + 0x26]
mov cx, word [esi + 0x24]
xor edx, edx
add eax, ecx
mov dx, word [esi + 0x20]
mov ecx, dword [0x4633f0]
lea eax, [eax + edx + 0x2e]
cdq
add ecx, eax
mov eax, dword [0x4633f4]
adc eax, edx
mov dword [0x4633f0], ecx
mov dword [0x4633f4], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x10]
add edi, eax
mov eax, dword [esi + 0x14]
adc ebp, ecx
mov ecx, dword [esp + 0x24]
add ebx, edx
mov edx, dword [esp + 0x30]
adc edx, eax
mov eax, dword [esp + 0x28]
add ecx, 1
mov dword [esp + 0x30], edx
adc eax, 0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov esi, dword [esi + 0x84]
test esi, esi
jne 0x4181f6
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
or ecx, eax
jne 0x4182c5
push 0x4474ac
push str.zip_file_empty
call fcn.00412ca0
add esp, 8
mov eax, dword [0x4474bc]
test eax, eax
je 0x418322
mov esi, dword [esp + 0x30]
push esi
push ebx
push ebp
push edi
call fcn.004216f0
add esp, 0x10
push eax
push 0x437a28
push 0
push esi
push ebx
call fcn.0040ec20
add esp, 0x10
push eax
push 0x437a28
push 0
push ebp
push edi
call fcn.0040ec20
mov edx, dword [0x4633e8]
add esp, 0x10
push eax
push str.total_bytes_s__compressed_s_____d___savings_n
push edx
call fcn.00423885
mov eax, dword [0x4633e8]
push eax
call fcn.004233bf
add esp, 0x18
mov eax, dword [0x447550]
test eax, eax
je 0x418380
mov esi, dword [esp + 0x30]
push esi
push ebx
push ebp
push edi
call fcn.004216f0
add esp, 0x10
push eax
push 0x437a28
push 0
push esi
push ebx
call fcn.0040ec20
add esp, 0x10
push eax
push 0x437a28
push 0
push ebp
push edi
call fcn.0040ec20
mov ecx, dword [0x447554]
add esp, 0x10
push eax
push str.total_bytes_s__compressed_s_____d___savings_n
push ecx
call fcn.00423885
mov edx, dword [0x447554]
push edx
call fcn.004233bf
add esp, 0x18
mov esi, dword [0x4633f0]
mov edx, dword [esp + 0x64]
mov edi, dword [0x4633f4]
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x1c]
sub esi, edx
sbb edi, ecx
test eax, eax
je 0x4183bf
mov eax, dword [0x4633e8]
push str.sd:_Writing_end_of_central_directory_n
push eax
call fcn.00423885
mov ecx, dword [0x4633e8]
push ecx
call fcn.004233bf
add esp, 0xc
mov edx, dword [0x447690]
mov ecx, dword [esp + 0x68]
xor eax, eax
push edx
mov ax, word [0x463400]
mov edx, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push edi
push esi
push eax
push ecx
call fcn.0041ffd0
xor ebp, ebp
add esp, 0x20
cmp eax, ebp
je 0x418403
mov edx, dword [0x4475c8]
push edx
push eax
call fcn.00412590
add esp, 8
mov eax, dword [0x4475cc]
push eax
call fcn.004245b6
add esp, 4
test eax, eax
je 0x418433
mov edx, dword [esp + 0x38]
mov ecx, dword [0x4475c8]
neg edx
sbb edx, edx
push ecx
and edx, 4
add edx, 0xa
push edx
call fcn.00412590
add esp, 8
mov eax, dword [0x4475d0]
mov dword [0x4475cc], ebp
cmp eax, ebp
je 0x418451
push eax
call fcn.004245b6
add esp, 4
mov dword [0x4475d0], ebp
call fcn.00405950
call fcn.00422b30
cmp dword [0x4627bc], ebp
je 0x41847c
mov eax, dword [esp + 0x104]
mov edx, dword [0x4475c8]
mov ecx, dword [eax]
push ecx
push edx
call fcn.00418f30
add esp, 8
mov eax, dword [0x463404]
mov esi, 0x436564
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4184ae
test cl, cl
je 0x4184aa
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4184ae
add eax, 2
add esi, 2
test cl, cl
jne 0x418486
xor eax, eax
jmp 0x4184b3
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x418540
cmp dword [esp + 0x38], ebp
jne 0x418540
cmp dword [esp + 0x1c], ebp
je 0x4184e6
mov eax, dword [0x4633e8]
push str.sd:_Replacing_old_zip_file_n
push eax
call fcn.00423885
mov ecx, dword [0x4633e8]
push ecx
call fcn.004233bf
add esp, 0xc
mov edx, dword [0x4475c8]
mov eax, dword [0x4475dc]
push edx
push eax
call fcn.00407e60
mov esi, eax
add esp, 8
cmp esi, ebp
je 0x418532
mov ecx, dword [0x4475c8]
push ecx
push str.new_zip_file_left_as:
call fcn.00412ca0
mov edx, dword [0x4475c8]
push edx
call fcn.00423252
push str.was_replacing_the_original_zip_file
push esi
mov dword [0x4475c8], ebp
call fcn.00412590
add esp, 0x14
mov eax, dword [0x4475c8]
push eax
call fcn.00423252
add esp, 4
mov edi, dword [0x4475e0]
mov dword [0x4475c8], ebp
cmp edi, ebp
je 0x41859a
mov eax, dword [0x463404]
mov esi, 0x436564
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x418582
test cl, cl
je 0x41857e
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x418582
add eax, 2
add esi, 2
test cl, cl
jne 0x41855a
xor eax, eax
jmp 0x418587
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x41859a
mov eax, dword [0x4475dc]
push edi
push eax
call fcn.00407fc0
add esp, 8
mov eax, dword [0x463404]
mov esi, 0x436564
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4185cc
test cl, cl
je 0x4185c8
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4185cc
add eax, 2
add esi, 2
test cl, cl
jne 0x4185a4
xor eax, eax
jmp 0x4185d1
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x418609
cmp dword [esp + 0x1c], ebp
je 0x4185fa
mov eax, dword [0x4633e8]
push str.sd:_Setting_file_type_n
push eax
call fcn.00423885
mov ecx, dword [0x4633e8]
push ecx
call fcn.004233bf
add esp, 0xc
mov edx, dword [0x4475dc]
push edx
call fcn.00407dd0
add esp, 4
cmp dword [0x447570], ebp
je 0x418683
cmp dword [0x436cbc], ebp
je 0x41862b
push 0x4474ac
push str.Clearing_archive_bits...
call fcn.00412bf0
add esp, 8
mov esi, dword [0x447688]
cmp esi, ebp
je 0x418683
cmp dword [esi + 0x74], ebp
je 0x418679
cmp dword [0x436cb0], ebp
jne 0x418658
mov eax, dword [esi + 0x68]
push eax
call fcn.0040f470
add esp, 4
test eax, eax
jne 0x418679
mov ecx, dword [esi + 0x54]
push ecx
jmp 0x41866c
mov edx, dword [esi + 0x3c]
push edx
call fcn.0040f4d0
add esp, 4
test eax, eax
jne 0x418679
mov eax, dword [esi + 0x54]
push eax
push str.Could_not_clear_archive_bit_for:
call fcn.00412ca0
add esp, 8
mov esi, dword [esi + 0x84]
cmp esi, ebp
jne 0x418635
mov eax, dword [0x447554]
cmp eax, ebp
je 0x41877d
mov ecx, dword [0x44752c]
push ecx
push str._nTotal__ld_entries__
push eax
call fcn.00423885
mov edx, dword [0x447538]
mov eax, dword [0x447548]
add esp, 0xc
cmp edx, eax
jne 0x4186c4
mov edx, dword [0x44753c]
mov ecx, dword [0x44754c]
cmp edx, ecx
je 0x41872d
mov eax, dword [0x447554]
push str.planned
push eax
call fcn.00423885
mov ecx, dword [0x44754c]
mov edx, dword [0x447548]
mov eax, dword [0x447554]
push ecx
push edx
push eax
call fcn.0040ee80
mov ecx, dword [0x447554]
push str._bytes__actual
push ecx
call fcn.00423885
mov edx, dword [0x44753c]
mov eax, dword [0x447538]
mov ecx, dword [0x447554]
push edx
push eax
push ecx
call fcn.0040ee80
mov edx, dword [0x447554]
push str._bytes_
push edx
call fcn.00423885
add esp, 0x30
jmp 0x41874e
push ecx
push eax
mov eax, dword [0x447554]
push eax
call fcn.0040ee80
mov ecx, dword [0x447554]
push str._bytes_
push ecx
call fcn.00423885
add esp, 0x14
lea edx, [esp + 0x2c]
push edx
call fcn.004232e3
lea eax, [esp + 0x30]
push eax
call fcn.00424264
push eax
call fcn.00425c52
mov ecx, dword [0x447554]
push eax
push str._nDone__s
push ecx
call fcn.00423885
add esp, 0x18
mov edx, dword [esp + 0x70]
push edx
call fcn.00423252
mov eax, dword [esp + 0x64]
neg eax
sbb eax, eax
and eax, 0x12
push eax
call fcn.00418a30
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xec
ret