Function at 0x41c590
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x9c
mov eax, dword [0x4475d4]
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push 0x43668c
push eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x88], ebx
call fcn.0042462c
add esp, 8
cmp eax, ebx
mov dword [0x4475d0], eax
jne 0x41c5eb
mov ecx, dword [0x4475d4]
push ecx
push str.could_not_open_input_archive
call fcn.00412ca0
add esp, 8
mov eax, 0x12
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
push 2
push 0xffffffffffffffff
push 0xfffe0000
push eax
call fcn.00410160
add esp, 0x10
test eax, eax
jne 0x41c617
mov edx, dword [0x4475d0]
push edx
call fcn.00410120
and eax, edx
add esp, 4
cmp eax, 0xffffffff
jne 0x41c64a
mov eax, dword [0x4475d0]
push ebx
push ebx
push ebx
push eax
call fcn.00410160
add esp, 0x10
test eax, eax
je 0x41c64a
mov ecx, dword [0x4475d0]
push ecx
call fcn.004245b6
mov edx, dword [0x4475d4]
mov dword [0x4475d0], ebx
push edx
jmp 0x41e4d3
mov eax, dword [0x4475d0]
push 0x441414
push eax
call fcn.0041c4b0
add esp, 8
test eax, eax
jne 0x41c70e
mov ecx, dword [0x4475d0]
push ecx
call fcn.004245b6
mov eax, dword [0x4474c0]
add esp, 4
cmp eax, 1
mov dword [0x4475d0], ebx
push 0x4474ac
jne 0x41c6d3
push str.bad_archive___missing_end_signature
call fcn.00412ca0
push 0x4474ac
push str._If_downloaded__was_binary_mode_used___If_not__the
call fcn.00412ca0
push 0x4474ac
push str._archive_may_be_scrambled_and_not_recoverable_
call fcn.00412ca0
push 0x4474ac
push str.Cant_use__F_to_fix__try__FF_
call fcn.00412ca0
add esp, 0x20
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
push str.missing_end_signature__probably_not_a_zip_file__did_you
call fcn.00412ca0
push 0x4474ac
push str.remember_to_use_binary_mode_when_you_transferred_it__
call fcn.00412ca0
push 0x4474ac
push str._if_you_are_trying_to_read_a_damaged_archive_try__F_
call fcn.00412ca0
add esp, 0x18
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov edx, dword [0x4475d0]
push edx
call fcn.00410120
mov dword [esp + 0x18], eax
mov eax, dword [0x4475d0]
push 0x441414
push eax
mov dword [esp + 0x24], edx
call fcn.0041c4b0
add esp, 0xc
test eax, eax
je 0x41c765
mov ecx, dword [0x4475d0]
push ecx
call fcn.00410120
mov dword [esp + 0x1c], edx
mov edx, dword [0x4475d0]
push 0x441414
push edx
mov dword [esp + 0x20], eax
call fcn.0041c4b0
add esp, 0xc
test eax, eax
jne 0x41c739
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [0x4475d0]
push ebx
push eax
push ecx
push edx
call fcn.00410160
add esp, 0x10
test eax, eax
je 0x41c7a0
mov eax, dword [0x4475d0]
push eax
call fcn.004245b6
mov ecx, dword [0x4475d4]
mov dword [0x4475d0], ebx
push ecx
jmp 0x41e4d3
mov edx, dword [0x4475d0]
lea eax, [esp + 0x38]
push edx
push 0x12
push 1
push eax
call fcn.00424879
mov eax, dword [esp + 0x48]
xor ecx, ecx
mov ch, ah
add esp, 0x10
mov cl, al
mov eax, dword [esp + 0x3a]
inc ecx
mov dword [esp + 0x2c], ebx
mov ebp, ecx
xor ecx, ecx
mov ch, ah
and eax, 0xff
lea edx, [ebp - 1]
and ecx, 0xffff
mov dword [0x4475e8], edx
or ecx, eax
mov eax, dword [esp + 0x46]
xor edx, edx
mov dh, ah
and eax, 0xff
and edx, 0xffff
mov dword [esp + 0x10], ecx
or edx, eax
mov eax, dword [esp + 0x44]
xor ecx, ecx
mov dword [0x4475e4], ebp
mov ch, ah
and eax, 0xff
shl edx, 0x10
and ecx, 0xffff
or edx, ecx
xor ecx, ecx
or edx, eax
mov eax, dword [esp + 0x3e]
mov dword [esp + 0x28], edx
xor edx, edx
mov dh, ah
movzx ax, al
or edx, eax
and edx, 0xffff
mov eax, edx
cdq
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x42]
mov ch, ah
and eax, 0xff
and ecx, 0xffff
mov dword [esp + 0x74], edx
or ecx, eax
mov eax, dword [esp + 0x40]
xor edx, edx
mov dh, ah
and eax, 0xff
shl ecx, 0x10
and edx, 0xffff
or ecx, edx
xor dx, dx
or ecx, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov ch, ah
mov dl, al
or ecx, edx
mov ax, cx
cmp ax, bx
mov word [0x463400], ax
je 0x41c920
xor ecx, ecx
mov cx, ax
inc ecx
push ecx
call fcn.004231a0
add esp, 4
cmp eax, ebx
mov dword [0x447690], eax
je 0x41e5c5
mov edx, dword [0x4475d0]
xor ecx, ecx
mov cx, word [0x463400]
push edx
push 1
push ecx
push eax
call fcn.00424879
add esp, 0x10
cmp eax, 1
je 0x41c908
mov edx, dword [0x447690]
push edx
call fcn.00423252
mov eax, dword [0x4475d0]
mov dword [0x447690], ebx
add esp, 4
mov eax, dword [eax + 0xc]
and al, 0x20
pop edi
neg al
sbb eax, eax
pop esi
and eax, 9
pop ebp
add eax, 2
pop ebx
add esp, 0x9c
ret
mov edx, dword [0x447690]
xor ecx, ecx
mov cx, word [0x463400]
mov byte [ecx + edx], bl
mov ebp, dword [0x4475e4]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
or eax, ecx
jne 0x41c94e
mov ecx, dword [0x4475d0]
push ecx
call fcn.004245b6
add esp, 4
mov dword [0x4475d0], ebx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x9c
ret
cmp ebp, 1
je 0x41ca1a
mov edi, dword [0x4475d4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [0x4474c8]
not ecx
dec ecx
cmp eax, ebx
je 0x41c992
push 0x4474ac
push str.Adjusting_split_archives_not_yet_supported
call fcn.00412ca0
add esp, 8
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov edx, dword [0x463404]
cmp ecx, 4
lea esi, [edx + ecx - 4]
jl 0x41c9dc
cmp byte [esi], 0x2e
jne 0x41c9dc
movsx eax, byte [esi + 1]
push eax
call fcn.00424a93
add esp, 4
cmp eax, 0x5a
jne 0x41c9dc
movsx ecx, byte [esi + 2]
push ecx
call fcn.00424a93
add esp, 4
cmp eax, 0x49
jne 0x41c9dc
movsx edx, byte [esi + 3]
push edx
call fcn.00424a93
add esp, 4
cmp eax, 0x50
je 0x41ca0f
push 0x4474ac
push str.archive_name_must_end_in_.zip_for_splits
call fcn.00412ca0
mov eax, dword [0x4475d0]
push eax
call fcn.004245b6
add esp, 0xc
mov dword [0x4475d0], ebx
mov eax, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov ebp, dword [0x4475e4]
cmp ebp, 1
jne 0x41ca22
cmp dword [0x44764c], ebx
je 0x41ca9a
cmp dword [0x44758c], ebx
jne 0x41ca9a
mov edi, dword [0x4475dc]
mov esi, dword [0x4475d4]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x41ca5e
cmp al, bl
je 0x41ca5a
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x41ca5e
add esi, 2
add edi, 2
cmp al, bl
jne 0x41ca36
xor eax, eax
jmp 0x41ca63
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x41ca9a
mov eax, dword [0x4475d0]
push eax
call fcn.004245b6
push 0x4474ac
push str.cannot_update_a_split_archive__use___out_option_
mov dword [0x4475d0], ebx
call fcn.00412ca0
add esp, 0xc
mov eax, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
cmp dword [0x4474c0], 1
jne 0x41cb18
mov edi, dword [0x4475dc]
mov esi, dword [0x4475d4]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x41cad7
cmp al, bl
je 0x41cad3
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x41cad7
add esi, 2
add edi, 2
cmp al, bl
jne 0x41caaf
xor eax, eax
jmp 0x41cadc
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x41cb13
mov eax, dword [0x4475d0]
push eax
call fcn.004245b6
push 0x4474ac
push str.must_use___out_when_fixing_an_archive
mov dword [0x4475d0], ebx
call fcn.00412ca0
add esp, 0xc
mov eax, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
cmp ebp, 1
je 0x41cb24
cmp dword [0x4474c8], ebx
je 0x41d017
mov ebp, dword [esp + 0x28]
cmp ebp, 0xffffffff
jne 0x41cb37
cmp dword [esp + 0x2c], ebx
je 0x41cc29
cmp dword [esp + 0x30], 0xffffffff
jne 0x41cb46
cmp ebx, ebx
je 0x41cc29
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
sub ecx, edx
mov edx, dword [esp + 0x18]
mov eax, dword [0x4475d0]
push ebx
sbb edx, ebx
sub ecx, 0x50
sbb edx, ebx
push edx
push ecx
push eax
call fcn.00410160
add esp, 0x10
test eax, eax
je 0x41cbaa
mov ecx, dword [0x4475d0]
push ecx
call fcn.004245b6
mov eax, dword [0x4474c0]
add esp, 4
cmp eax, 1
mov dword [0x4475d0], ebx
jne 0x41d3d3
mov edx, dword [0x462c68]
push edx
call fcn.00425b85
push eax
push str.could_not_seek_back_to_start_of_central_directory:
jmp 0x41d3ac
mov ecx, dword [0x4475d0]
push 0x441124
push ecx
call fcn.0041c4b0
add esp, 8
test eax, eax
je 0x41cbf8
mov edx, dword [0x4475d0]
push edx
call fcn.00410120
mov esi, eax
mov eax, 0xfffffffc
add esp, 4
sub eax, ebp
mov ebp, dword [esp + 0x2c]
mov ecx, 0xffffffff
sbb ecx, ebp
mov edi, edx
add esi, eax
adc edi, ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], edi
jmp 0x41cfc5
push 0x4474ac
push str.central_dir_not_where_expected___could_not_adjust_offsets
call fcn.00412ca0
push 0x4474ac
push str._try__FF_
call fcn.00412ca0
add esp, 0x10
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [0x4475d0]
sub edx, 0x18
sbb eax, ebx
push ebx
push eax
push edx
push ecx
call fcn.00410160
add esp, 0x10
test eax, eax
je 0x41ccaf
mov edx, dword [0x4475d0]
push edx
call fcn.004245b6
mov eax, dword [0x4474c0]
add esp, 4
cmp eax, 1
mov dword [0x4475d0], ebx
jne 0x41cca3
mov eax, dword [0x462c68]
push eax
call fcn.00425b85
push eax
push str.could_not_seek_back_to_Zip64_EOCDL:
call fcn.00412ca0
push 0x4474ac
push str._try__FF_
call fcn.00412ca0
add esp, 0x14
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov ecx, dword [0x462c68]
push ecx
jmp 0x41d3d9
mov edx, dword [0x4475d0]
push 0x441194
push edx
call fcn.0041a7e0
add esp, 8
test eax, eax
je 0x41cfbd
mov eax, dword [0x4475d0]
push eax
call fcn.00410120
mov ecx, dword [0x4475d0]
mov edi, eax
sub edi, 4
push ecx
sbb edx, ebx
push 1
mov dword [esp + 0x40], edx
lea edx, [esp + 0x44]
push 0x10
push edx
call fcn.00424879
add esp, 0x14
cmp eax, 1
je 0x41cd39
mov eax, dword [0x4475d0]
push eax
call fcn.004245b6
mov ecx, dword [0x462c68]
mov dword [0x4475d0], ebx
push ecx
call fcn.00425b85
push eax
push str.reading_archive:
call fcn.00412ca0
add esp, 0x10
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov edx, dword [0x4475d0]
push 0x441414
push edx
call fcn.0041a7e0
add esp, 8
test eax, eax
jne 0x41cd6e
mov eax, dword [0x4475d0]
push eax
call fcn.004245b6
mov ecx, dword [0x4475d4]
mov dword [0x4475d0], ebx
push ecx
jmp 0x41d15a
mov eax, dword [esp + 0x42]
xor edx, edx
mov dh, ah
and eax, 0xff
and edx, 0xffff
xor ecx, ecx
or edx, eax
mov eax, dword [esp + 0x40]
mov ch, ah
and eax, 0xff
shl edx, 0x10
and ecx, 0xffff
xor ebp, ebp
or edx, ecx
xor ecx, ecx
or edx, eax
mov eax, dword [esp + 0x3e]
mov esi, edx
xor edx, edx
mov dh, ah
and eax, 0xff
and edx, 0xffff
or edx, eax
mov eax, dword [esp + 0x3c]
mov ch, ah
and eax, 0xff
shl edx, 0x10
and ecx, 0xffff
or edx, ecx
xor ecx, ecx
or edx, eax
xor eax, eax
or esi, eax
mov eax, dword [esp + 0x46]
mov ch, ah
and eax, 0xff
and ecx, 0xffff
or ebp, edx
or ecx, eax
mov eax, dword [esp + 0x44]
xor edx, edx
mov dword [esp + 0x7c], esi
mov dh, ah
and eax, 0xff
shl ecx, 0x10
and edx, 0xffff
or ecx, edx
or eax, ecx
cmp eax, 1
mov dword [0x4475e4], eax
je 0x41ce45
mov eax, dword [0x4475d4]
push eax
push str.Adjusting_split_archives_not_supported:
call fcn.00412ca0
push 0x4474ac
push str._try__FF_
call fcn.00412ca0
add esp, 0x10
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov ecx, dword [0x4475d0]
push ebx
push esi
push ebp
push ecx
call fcn.00410160
add esp, 0x10
test eax, eax
je 0x41ce96
mov edx, dword [0x4475d0]
push edx
call fcn.004245b6
mov eax, dword [0x462c68]
mov dword [0x4475d0], ebx
push eax
call fcn.00425b85
push eax
push str.reading_archive_fseek:
call fcn.00412ca0
add esp, 0x10
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov ecx, dword [0x4475d0]
push 0x4411bc
push ecx
call fcn.0041a7e0
add esp, 8
test eax, eax
jne 0x41cfbd
mov eax, dword [esp + 0x34]
mov edx, dword [0x4475d0]
sub edi, 0x50
push ebx
sbb eax, ebx
push eax
push edi
push edx
call fcn.00410160
add esp, 0x10
test eax, eax
mov eax, dword [0x4475d0]
push eax
je 0x41cf34
call fcn.004245b6
mov eax, dword [0x4474c0]
add esp, 4
cmp eax, 1
mov dword [0x4475d0], ebx
jne 0x41cf28
mov ecx, dword [0x462c68]
push ecx
call fcn.00425b85
push eax
push str.could_not_seek_back_to_Zip64_EOCDR:
call fcn.00412ca0
push 0x4474ac
push str._try__FF_
call fcn.00412ca0
add esp, 0x14
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov edx, dword [0x462c68]
push edx
jmp 0x41d3d9
call fcn.0041c370
add esp, 4
test eax, eax
je 0x41cf8c
push 0x4411bc
push 0x4627e4
call fcn.0041c520
add esp, 8
test eax, eax
je 0x41cf8c
mov ecx, dword [0x4475d0]
push ecx
call fcn.00410120
mov ecx, dword [esp + 0x80]
mov edi, edx
mov edx, 0xfffffffc
add esp, 4
mov esi, eax
sub edx, ebp
mov eax, 0xffffffff
sbb eax, ecx
add esi, edx
adc edi, eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], edi
jmp 0x41cfc5
push 0x4474ac
push str.Could_not_determine_offset_of_entries
call fcn.00412ca0
push 0x4474ac
push str._try__FF_
call fcn.00412ca0
add esp, 0x10
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
cmp dword [0x436cbc], ebx
je 0x41d01f
mov ecx, esi
or ecx, edi
je 0x41cff1
push ebx
push ebx
push edi
push esi
call fcn.0040ec20
push eax
push str.Zip_entry_offsets_appear_off_by__s_bytes___correcting...
push 0x463420
call fcn.004238b7
add esp, 0x1c
jmp 0x41d003
push str.Zip_entry_offsets_do_not_need_adjusting
push 0x463420
call fcn.004238b7
add esp, 8
push 0x4474ac
push 0x463420
call fcn.00412bf0
add esp, 8
jmp 0x41d01f
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [0x4475d0]
sub eax, 0x18
sbb ecx, ebx
push ebx
push ecx
push eax
push edx
call fcn.00410160
add esp, 0x10
test eax, eax
je 0x41d09d
mov eax, dword [0x4475d0]
push eax
call fcn.004245b6
mov eax, dword [0x4474c0]
add esp, 4
cmp eax, 1
mov dword [0x4475d0], ebx
jne 0x41cf28
mov ecx, dword [0x462c68]
push ecx
call fcn.00425b85
push eax
push str.bad_archive___could_not_seek_back_to_Zip64_EOCDL:
call fcn.00412ca0
push 0x4474ac
push str._try__FF_
call fcn.00412ca0
add esp, 0x14
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov eax, dword [0x4475d0]
push 0x441194
push eax
call fcn.0041a7e0
add esp, 8
test eax, eax
je 0x41d743
mov ecx, dword [0x4475d0]
push ecx
call fcn.00410120
sub eax, 4
sbb edx, ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edx
mov edx, dword [0x4475d0]
push edx
push 1
lea eax, [esp + 0x44]
push 0x10
push eax
call fcn.00424879
add esp, 0x14
cmp eax, 1
je 0x41d12a
mov ecx, dword [0x4475d0]
push ecx
call fcn.004245b6
mov edx, dword [0x462c68]
mov dword [0x4475d0], ebx
push edx
call fcn.00425b85
push eax
push str.reading_archive:
call fcn.00412ca0
add esp, 0x10
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov eax, dword [0x4475d0]
push 0x441414
push eax
call fcn.0041a7e0
add esp, 8
test eax, eax
jne 0x41d177
mov ecx, dword [0x4475d0]
push ecx
call fcn.004245b6
mov edx, dword [0x4475d4]
mov dword [0x4475d0], ebx
push edx
push str.unable_to_read_EOCD_after_seek:
call fcn.00412ca0
add esp, 0xc
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov eax, dword [esp + 0x3a]
xor ecx, ecx
mov ch, ah
and eax, 0xff
and ecx, 0xffff
xor edx, edx
or ecx, eax
mov eax, dword [esp + 0x38]
mov dh, ah
and eax, 0xff
shl ecx, 0x10
and edx, 0xffff
xor esi, esi
or ecx, edx
xor edx, edx
or ecx, eax
mov eax, dword [esp + 0x42]
mov ebp, ecx
xor ecx, ecx
mov ch, ah
and eax, 0xff
and ecx, 0xffff
or ecx, eax
mov eax, dword [esp + 0x40]
mov dh, ah
and eax, 0xff
shl ecx, 0x10
and edx, 0xffff
or ecx, edx
xor edx, edx
or ecx, eax
mov eax, dword [esp + 0x3e]
mov edi, ecx
xor ecx, ecx
mov ch, ah
and eax, 0xff
and ecx, 0xffff
or ecx, eax
mov eax, dword [esp + 0x3c]
mov dh, ah
and eax, 0xff
shl ecx, 0x10
and edx, 0xffff
or ecx, edx
or ecx, eax
xor eax, eax
or esi, ecx
mov ecx, dword [esp + 0x1c]
or edi, eax
mov eax, dword [esp + 0x20]
add esi, ecx
adc edi, eax
mov eax, dword [esp + 0x46]
xor ecx, ecx
xor edx, edx
mov ch, ah
and eax, 0xff
and ecx, 0xffff
or ecx, eax
mov eax, dword [esp + 0x44]
mov dh, ah
and eax, 0xff
shl ecx, 0x10
and edx, 0xffff
or ecx, edx
or eax, ecx
mov dword [0x4475e4], eax
dec eax
cmp ebp, eax
mov dword [0x4475e8], eax
je 0x41d2e6
mov eax, dword [0x4475d0]
push eax
call fcn.004245b6
mov ecx, dword [0x4475d4]
push ebp
push ecx
mov dword [0x4475d0], ebx
call fcn.004098e0
push 0x43668c
push eax
mov dword [esp + 0x38], eax
call fcn.0042462c
add esp, 0x14
cmp eax, ebx
mov dword [0x4475d0], eax
jne 0x41d2d9
push ebp
call fcn.00408c10
add esp, 4
test eax, eax
jne 0x41e48c
mov edx, dword [esp + 0x24]
push edx
call fcn.00423252
mov eax, dword [0x4475d4]
push ebp
push eax
call fcn.004098e0
push 0x43668c
push eax
mov dword [esp + 0x38], eax
call fcn.0042462c
add esp, 0x14
cmp eax, ebx
mov dword [0x4475d0], eax
je 0x41d297
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00423252
add esp, 4
mov edx, dword [0x4475d0]
push ebx
push edi
push esi
push edx
mov dword [0x4475e8], ebp
call fcn.00410160
add esp, 0x10
test eax, eax
je 0x41d33d
mov eax, dword [0x4475d0]
push eax
call fcn.004245b6
mov ecx, dword [0x462c68]
mov dword [0x4475d0], ebx
push ecx
call fcn.00425b85
push eax
push str.reading_archive_fseek:
call fcn.00412ca0
add esp, 0x10
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov edx, dword [0x4475d0]
push 0x4411bc
push edx
call fcn.0041a7e0
add esp, 8
test eax, eax
jne 0x41d46d
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub eax, 0x50
push ebx
sbb ecx, ebx
push ecx
push eax
mov eax, dword [0x4475d0]
push eax
call fcn.00410160
mov ecx, dword [0x4475d0]
add esp, 0x10
test eax, eax
push ecx
je 0x41d3fc
call fcn.004245b6
mov eax, dword [0x4474c0]
add esp, 4
cmp eax, 1
mov dword [0x4475d0], ebx
jne 0x41d3d3
mov edx, dword [0x462c68]
push edx
call fcn.00425b85
push eax
push str.bad_archive___could_not_seek_back_to_Zip64_EOCDR:
call fcn.00412ca0
push 0x4474ac
push str._try__FF_
call fcn.00412ca0
add esp, 0x14
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov eax, dword [0x462c68]
push eax
call fcn.00425b85
push eax
push str.reading_archive_fseek:
call fcn.00412ca0
add esp, 0xc
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
call fcn.0041c370
add esp, 4
test eax, eax
je 0x41d4c2
push 0x4411bc
push 0x4627e4
call fcn.0041c520
add esp, 8
test eax, eax
je 0x41d4c2
mov edx, dword [0x4475d0]
push edx
call fcn.00410120
mov ecx, 0xfffffffc
push 0x4474ac
sub ecx, esi
mov esi, 0xffffffff
sbb esi, edi
add eax, ecx
adc edx, esi
push str.Zip64_EOCDR_not_found_where_expected___compensating
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
call fcn.00412ca0
push 0x4474ac
push str._try__A_to_adjust_offsets_
call fcn.00412ca0
add esp, 0x14
mov edx, dword [0x4475d0]
lea eax, [esp + 0x38]
push edx
push 0x34
push 1
push eax
call fcn.00424879
add esp, 0x10
cmp eax, 0x34
jae 0x41d569
mov eax, dword [0x4474c0]
push 0x4474ac
cmp eax, 1
jne 0x41d537
push str.bad_archive___Zip64_EOCDR_bad_or_truncated
call fcn.00412ca0
push 0x4474ac
push str._try__FF_
call fcn.00412ca0
add esp, 0x10
jmp 0x41d544
mov edx, dword [0x4475d0]
push edx
call fcn.004245b6
mov eax, dword [0x4474c0]
add esp, 4
cmp eax, 1
mov dword [0x4475d0], ebx
jne 0x41d513
mov eax, dword [0x4475d4]
push eax
push str.bad_archive___Zip64_EOCDR_not_found_in_split:
call fcn.00412ca0
push 0x4474ac
push str._try__FF_
call fcn.00412ca0
add esp, 0x10
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov ecx, dword [0x4475d4]
push ecx
push str.Zip64_End_Of_Central_Directory_Record_not_found:
call fcn.00412ca0
add esp, 8
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
push str.Zip64_EOCD_Record_bad_or_truncated
call fcn.00412ca0
add esp, 8
mov ecx, dword [0x4475d0]
push ecx
call fcn.004245b6
add esp, 4
mov dword [0x4475d0], ebx
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov eax, dword [esp + 0x42]
xor edx, edx
mov dh, ah
xor ecx, ecx
movzx ax, al
or edx, eax
mov eax, dword [esp + 0x4a]
mov ch, ah
and eax, 0xff
and ecx, 0xffff
mov ebp, edx
or ecx, eax
mov eax, dword [esp + 0x48]
xor edx, edx
mov dword [esp + 0x14], 0
mov dh, ah
and eax, 0xff
shl ecx, 0x10
and edx, 0xffff
or ecx, edx
xor edx, edx
or ecx, eax
mov eax, dword [esp + 0x5a]
mov dword [esp + 0x10], ecx
xor ecx, ecx
mov ch, ah
and eax, 0xff
and ecx, 0xffff
or ecx, eax
mov eax, dword [esp + 0x58]
mov dh, ah
and eax, 0xff
shl ecx, 0x10
and edx, 0xffff
or ecx, edx
xor edx, edx
or ecx, eax
mov eax, dword [esp + 0x56]
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov ch, ah
and eax, 0xff
and ecx, 0xffff
or ecx, eax
mov eax, dword [esp + 0x54]
mov dh, ah
and eax, 0xff
shl ecx, 0x10
and edx, 0xffff
or ecx, edx
mov edx, dword [esp + 0x14]
or ecx, eax
xor eax, eax
or edx, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x70], edx
or ecx, eax
mov eax, dword [esp + 0x6a]
xor edx, edx
mov dh, ah
and eax, 0xff
and edx, 0xffff
mov dword [esp + 0x74], ecx
or edx, eax
mov eax, dword [esp + 0x68]
xor ecx, ecx
mov dword [esp + 0x14], 0
mov ch, ah
and eax, 0xff
shl edx, 0x10
and ecx, 0xffff
or edx, ecx
or edx, eax
mov eax, dword [esp + 0x66]
mov dword [esp + 0x18], edx
xor edx, edx
mov dh, ah
and eax, 0xff
and edx, 0xffff
or edx, eax
shl edx, 0x10
mov eax, dword [esp + 0x64]
xor ecx, ecx
mov ch, ah
mov edi, dword [esp + 0x20]
and ecx, 0xffff
and eax, 0xff
or edx, ecx
mov ecx, dword [esp + 0x18]
or edx, eax
mov eax, dword [esp + 0x14]
xor esi, esi
or eax, edx
or ecx, esi
mov esi, dword [esp + 0x1c]
add eax, esi
adc ecx, edi
cmp bp, 0x2e
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
jbe 0x41d743
mov ecx, ebp
mov eax, 0x66666667
and ecx, 0xffff
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [edx + edx*4]
shl eax, 1
sub ecx, eax
push ecx
push edx
push str.This_archive_requires_version__d._d
push 0x463420
call fcn.004238b7
push 0x4474ac
push 0x463420
call fcn.00412ca0
push 0x4474ac
push str.Zip_currently_only_supports_up_to_version_4.6_archives
call fcn.00412ca0
push 0x4474ac
push str._up_to_4.5_if_bzip2_is_not_compiled_in_
call fcn.00412ca0
mov eax, dword [0x4474c0]
add esp, 0x28
cmp eax, 1
jne 0x41d805
push 0x4474ac
push str.If__F_fails_try__FF_to_try_to_salvage_something
call fcn.00412ca0
add esp, 8
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
add eax, esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov dword [0x4633d8], eax
mov eax, dword [0x4475e8]
mov dword [esp + 0x30], ebx
adc ecx, edi
cmp eax, esi
mov dword [esp + 0x2c], ecx
mov dword [0x4633dc], ecx
mov dword [0x464818], ebx
mov dword [0x46481c], ebx
mov dword [esp + 0x78], 1
je 0x41d79c
mov edx, dword [0x4475d0]
push edx
call fcn.004245b6
add esp, 4
mov dword [0x4475d0], ebx
mov ecx, dword [0x4475e4]
mov eax, esi
cmp esi, ecx
mov dword [0x4475e8], eax
jae 0x41e408
dec ecx
cmp eax, ecx
jne 0x41d848
mov edi, dword [0x4475d4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.004231a0
mov ebp, eax
add esp, 4
cmp ebp, ebx
mov dword [esp + 0x24], ebp
je 0x41e476
mov edi, dword [0x4475d4]
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
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x41d85e
cmp eax, 2
push 0x4474ac
jne 0x41d819
push str.Attempting_to_salvage_what_can
jmp 0x41d73b
push str.Try__F_to_attempt_to_read_anyway
call fcn.00412ca0
mov ecx, dword [0x4475d0]
push ecx
call fcn.004245b6
add esp, 0xc
mov dword [0x4475d0], ebx
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov ecx, dword [0x4475d4]
push eax
push ecx
call fcn.004098e0
mov ebp, eax
add esp, 8
mov dword [esp + 0x24], ebp
mov eax, dword [0x4475d0]
cmp eax, ebx
jne 0x41d933
push 0x43668c
push ebp
call fcn.0042462c
add esp, 8
cmp eax, ebx
mov dword [0x4475d0], eax
jne 0x41d933
mov edx, dword [0x4475e8]
push edx
call fcn.00408c10
add esp, 4
cmp eax, 9
je 0x41e47e
cmp eax, 3
je 0x41d942
mov eax, dword [0x4475e4]
lea ecx, [eax - 1]
mov eax, dword [0x4475e8]
cmp eax, ecx
jne 0x41d903
mov edi, dword [0x4475d4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.004231a0
mov ebp, eax
add esp, 4
cmp ebp, ebx
mov dword [esp + 0x24], ebp
je 0x41e49c
mov edi, dword [0x4475d4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x41d918
push eax
mov eax, dword [0x463404]
push eax
call fcn.004098e0
mov ebp, eax
add esp, 8
mov dword [esp + 0x24], ebp
push 0x43668c
push ebp
call fcn.0042462c
add esp, 8
cmp eax, ebx
mov dword [0x4475d0], eax
je 0x41d886
cmp dword [esp + 0x80], ebx
je 0x41d97a
mov dword [esp + 0x78], ebx
jmp 0x41d9ad
mov ecx, dword [0x4475e8]
push ecx
push str.skipping_disk__lu_..._n
push 0x463420
call fcn.004238b7
push 0x4474ac
push 0x463420
call fcn.00412ca0
add esp, 0x14
mov dword [esp + 0x80], 1
jmp 0x41e3ef
cmp dword [esp + 0x78], ebx
je 0x41d9ad
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push ebx
push edx
push ecx
push eax
call fcn.00410160
add esp, 0x10
test eax, eax
jne 0x41e4c0
mov eax, dword [0x4475d0]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x14], 0x447688
push eax
call fcn.0041c370
add esp, 4
test eax, eax
je 0x41e3c1
mov edx, dword [0x4475d0]
push edx
call fcn.00410120
push 0x441414
push 0x4627e4
mov dword [0x4475f0], eax
mov dword [0x4475f4], edx
call fcn.0041c520
add esp, 0xc
test eax, eax
jne 0x41e3c1
push 0x4411bc
push 0x4627e4
call fcn.0041c520
add esp, 8
test eax, eax
jne 0x41e3c1
push 0x441124
push 0x4627e4
call fcn.0041c520
add esp, 8
test eax, eax
jne 0x41db21
cmp dword [0x4474c0], 1
jne 0x41e4f0
mov ecx, 9
mov esi, str.bad_archive___unexpected_signature
mov edi, 0x463420
xor ebp, ebp
rep movsd dword es:[edi], dword [esi]
movsx eax, byte [ebp + 0x4627e4]
push eax
lea ecx, [esp + 0x88]
push str._02x
push ecx
call fcn.004238b7
lea edi, [esp + 0x90]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x463420
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
inc ebp
cmp ebp, 4
rep movsb byte es:[edi], byte [esi]
jl 0x41da43
mov eax, dword [0x4475f0]
mov ecx, dword [0x4475f4]
sub eax, 4
push 0x437a28
sbb ecx, ebx
push ebx
push ecx
push eax
call fcn.0040ec20
mov edx, dword [0x4475e8]
push eax
push edx
lea eax, [esp + 0x9c]
push str.on_disk__lu_at__s_n
push eax
call fcn.004238b7
lea edi, [esp + 0xa4]
or ecx, 0xffffffff
xor eax, eax
push 0x4474ac
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x463420
mov esi, edi
mov edx, ecx
mov edi, 0x463420
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]
call fcn.00412ca0
push 0x4474ac
push str.skipping_this_signature...
call fcn.00412ca0
add esp, 0x30
jmp 0x41e3a6
cmp dword [0x4474bc], ebx
je 0x41db6a
cmp dword [0x4474c0], 1
jne 0x41db6a
mov eax, dword [0x4475f0]
mov ecx, dword [0x4475f4]
sub eax, 4
push 0x437a28
sbb ecx, ebx
push ebx
push ecx
push eax
call fcn.0040ec20
mov edx, dword [0x4475e8]
push eax
mov eax, dword [0x4633e8]
push edx
push str.central_directory_header_signature_on_disk__lu_at__s_n
push eax
call fcn.00423885
add esp, 0x20
mov ecx, dword [0x4475d0]
lea edx, [esp + 0x38]
push ecx
push 1
push 0x2a
push edx
call fcn.00424879
add esp, 0x10
cmp eax, 1
je 0x41dbd4
mov eax, dword [0x462c68]
push eax
call fcn.00425b85
push eax
push str.reading_central_directory:
call fcn.00412ca0
mov eax, dword [0x4474c0]
add esp, 0xc
cmp eax, 1
jne 0x41e571
push 0x4474ac
push str.bad_archive___error_reading_central_directory
call fcn.00412ca0
push 0x4474ac
push str.skipping_this_entry...
call fcn.00412ca0
add esp, 0x10
jmp 0x41e3a6
push 0x88
call fcn.004231a0
mov ebp, eax
add esp, 4
cmp ebp, ebx
je 0x41e591
mov eax, dword [esp + 0x38]
xor ecx, ecx
mov ch, ah
xor edx, edx
mov cl, al
mov word [ebp], cx
mov eax, dword [esp + 0x3a]
mov dh, ah
xor ecx, ecx
movzx ax, al
or edx, eax
mov word [ebp + 2], dx
mov eax, dword [esp + 0x3c]
xor dx, dx
mov ch, ah
mov dl, al
or ecx, edx
xor dx, dx
mov word [ebp + 4], cx
mov eax, dword [esp + 0x3e]
xor ecx, ecx
mov dl, al
mov ch, ah
or ecx, edx
xor edx, edx
mov word [ebp + 6], cx
mov eax, dword [esp + 0x42]
xor ecx, ecx
mov ch, ah
and eax, 0xff
and ecx, 0xffff
or ecx, eax
mov eax, dword [esp + 0x40]
mov dh, ah
and eax, 0xff
shl ecx, 0x10
and edx, 0xffff
or ecx, edx
xor edx, edx
or ecx, eax
mov dword [ebp + 8], ecx
mov eax, dword [esp + 0x46]
xor ecx, ecx
mov ch, ah
and eax, 0xff
and ecx, 0xffff
or ecx, eax
mov eax, dword [esp + 0x44]
mov dh, ah
and eax, 0xff
shl ecx, 0x10
and edx, 0xffff
or ecx, edx
xor edx, edx
or ecx, eax
mov dword [ebp + 0xc], ecx
mov eax, dword [esp + 0x4a]
xor ecx, ecx
mov ch, ah
and eax, 0xff
and ecx, 0xffff
or ecx, eax
mov eax, dword [esp + 0x48]
mov dh, ah
and eax, 0xff
shl ecx, 0x10
and edx, 0xffff
or ecx, edx
or ecx, eax
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0x14], ebx
mov eax, dword [esp + 0x4e]
xor ecx, ecx
mov ch, ah
and eax, 0xff
and ecx, 0xffff
or ecx, eax
mov eax, dword [esp + 0x4c]
shl ecx, 0x10
xor edx, edx
mov dh, ah
and edx, 0xffff
and eax, 0xff
or ecx, edx
xor edx, edx
or ecx, eax
xor eax, eax
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0x1c], ebx
movzx cx, byte [esp + 0x50]
mov ah, byte [esp + 0x51]
or eax, ecx
xor ecx, ecx
mov word [ebp + 0x20], ax
mov dh, byte [esp + 0x53]
movzx ax, byte [esp + 0x52]
or edx, eax
mov word [ebp + 0x24], dx
mov eax, dword [esp + 0x54]
xor dx, dx
mov ch, ah
mov dl, al
or ecx, edx
xor edx, edx
mov word [ebp + 0x26], cx
mov eax, dword [esp + 0x56]
xor ecx, ecx
mov ch, ah
and eax, 0xff
and ecx, 0xffff
or ecx, eax
mov dword [ebp + 0x28], ecx
mov eax, dword [esp + 0x58]
mov dh, ah
xor ecx, ecx
movzx ax, al
or edx, eax
mov word [ebp + 0x2c], dx
mov eax, dword [esp + 0x5c]
mov ch, ah
and eax, 0xff
and ecx, 0xffff
xor edx, edx
or ecx, eax
mov eax, dword [esp + 0x5a]
mov dh, ah
and eax, 0xff
shl ecx, 0x10
and edx, 0xffff
or ecx, edx
xor edx, edx
or ecx, eax
mov dword [ebp + 0x38], ecx
mov eax, dword [esp + 0x60]
xor ecx, ecx
mov ch, ah
and eax, 0xff
and ecx, 0xffff
or ecx, eax
mov eax, dword [esp + 0x5e]
mov dh, ah
and eax, 0xff
shl ecx, 0x10
and edx, 0xffff
mov dword [ebp + 0x48], ebx
or ecx, edx
mov dword [ebp + 0x44], ebx
or ecx, eax
mov ax, word [ebp]
and eax, 0xff00
mov dword [ebp + 0x30], ecx
neg eax
sbb eax, eax
mov dword [ebp + 0x34], ebx
inc eax
mov dword [ebp + 0x40], ebx
mov dword [ebp + 0x80], eax
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x60], ebx
mov ax, word [ebp + 0x20]
mov dword [ebp + 0x5c], ebx
cmp ax, bx
mov dword [ebp + 0x58], ebx
jne 0x41de50
mov ecx, dword [0x4633fc]
inc ecx
push ecx
push 0x44108c
push 0x463420
call fcn.004238b7
push 0x463420
push str.zero_length_name_for_entry_
call fcn.00412ca0
mov eax, dword [0x4474c0]
add esp, 0x14
cmp eax, 1
jne 0x41e466
push 0x4474ac
push str.skipping_this_entry...
call fcn.00412ca0
add esp, 8
jmp 0x41e3a6
and eax, 0xffff
inc eax
push eax
call fcn.004231a0
add esp, 4
cmp eax, ebx
mov dword [ebp + 0x4c], eax
je 0x41e5c5
mov ax, word [ebp + 0x24]
cmp ax, bx
je 0x41de8c
and eax, 0xffff
push eax
call fcn.004231a0
add esp, 4
cmp eax, ebx
mov dword [ebp + 0x44], eax
je 0x41e5c5
mov ax, word [ebp + 0x26]
cmp ax, bx
je 0x41deae
and eax, 0xffff
push eax
call fcn.004231a0
add esp, 4
cmp eax, ebx
mov dword [ebp + 0x48], eax
je 0x41e5c5
mov edx, dword [0x4475d0]
mov ecx, dword [ebp + 0x4c]
xor eax, eax
push edx
mov ax, word [ebp + 0x20]
push 1
push eax
push ecx
call fcn.00424879
add esp, 0x10
cmp eax, 1
jne 0x41e371
mov ax, word [ebp + 0x24]
cmp ax, bx
je 0x41df00
mov edx, dword [0x4475d0]
and eax, 0xffff
push edx
push 1
push eax
mov eax, dword [ebp + 0x44]
push eax
call fcn.00424879
add esp, 0x10
cmp eax, 1
jne 0x41e371
mov ax, word [ebp + 0x26]
cmp ax, bx
je 0x41df2d
mov ecx, dword [0x4475d0]
mov edx, dword [ebp + 0x48]
push ecx
and eax, 0xffff
push 1
push eax
push edx
call fcn.00424879
add esp, 0x10
cmp eax, 1
jne 0x41e371
mov ecx, dword [ebp + 0x4c]
xor eax, eax
mov ax, word [ebp + 0x20]
mov byte [eax + ecx], bl
mov eax, dword [0x436cd0]
cmp eax, 3
je 0x41dfce
test byte [ebp + 5], 8
je 0x41dfc5
mov edi, dword [ebp + 0x4c]
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 [ebp + 0x58], edx
je 0x41e5b3
mov edi, dword [ebp + 0x4c]
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 ecx, dword [ebp + 0x58]
push ecx
call fcn.0040a5a0
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x41dfb2
mov edx, dword [ebp + 0x4c]
push edx
call fcn.00423252
add esp, 4
mov dword [ebp + 0x4c], esi
jmp 0x41dfce
mov eax, dword [ebp + 0x58]
push eax
push str.illegal_UTF_8_name:
call fcn.00412ca0
add esp, 8
jmp 0x41dfce
push ebp
call fcn.0041bf20
add esp, 4
xor eax, eax
mov ax, word [ebp]
mov ecx, eax
and ecx, 0xff
and eax, 0xffffff00
jne 0x41dffb
test dword [ebp + 0x38], 0xffff0000
je 0x41e00e
cmp ecx, 0x19
je 0x41dffb
cmp ecx, 0x1a
je 0x41dffb
cmp ecx, 0x28
jne 0x41e00e
cmp eax, 0x600
je 0x41e00e
cmp eax, 0xb00
jne 0x41e019
cmp ecx, 0x32
jne 0x41e019
mov eax, dword [ebp + 0x4c]
push eax
push eax
call dword [sym.imp.USER32.dll_OemToCharA]
xor eax, eax
mov ax, word [ebp]
mov ecx, eax
and ecx, 0xff
and eax, 0xffffff00
jne 0x41e046
test dword [ebp + 0x38], 0xffff0000
je 0x41e059
cmp ecx, 0x19
je 0x41e046
cmp ecx, 0x1a
je 0x41e046
cmp ecx, 0x28
jne 0x41e059
cmp eax, 0x600
je 0x41e059
cmp eax, 0xb00
jne 0x41e064
cmp ecx, 0x32
jne 0x41e064
mov eax, dword [ebp + 0x48]
push eax
push eax
call dword [sym.imp.USER32.dll_OemToCharA]
push ebp
call fcn.0041e600
mov ecx, dword [0x4474c0]
mov eax, 1
add esp, 4
cmp ecx, eax
jne 0x41e084
cmp dword [0x4475e4], eax
je 0x41e08c
cmp dword [0x4474c8], ebx
je 0x41e09f
mov ecx, dword [esp + 0x1c]
mov edx, dword [ebp + 0x30]
add edx, ecx
mov dword [ebp + 0x30], edx
mov edx, dword [esp + 0x20]
adc dword [ebp + 0x34], edx
cmp dword [ebp + 0x28], ebx
jne 0x41e0dc
cmp dword [esp + 0x30], ebx
je 0x41e0c6
mov ecx, dword [ebp + 0x34]
mov edx, dword [0x46481c]
cmp ecx, edx
ja 0x41e0dc
jb 0x41e0c6
mov edx, dword [ebp + 0x30]
mov ecx, dword [0x464818]
cmp edx, ecx
jae 0x41e0dc
mov ecx, dword [ebp + 0x30]
mov dword [esp + 0x30], eax
mov dword [0x464818], ecx
mov edx, dword [ebp + 0x34]
mov dword [0x46481c], edx
mov edi, dword [0x4633fc]
inc edi
mov dword [0x4633fc], edi
mov eax, dword [ebp + 0x4c]
push eax
mov dword [ebp + 0x74], ebx
mov dword [ebp + 0x78], ebx
call fcn.00411ca0
add esp, 4
cmp eax, ebx
mov dword [ebp + 0x50], eax
je 0x41e5c5
mov edi, eax
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 [ebp + 0x3c], edx
je 0x41e5b3
mov edi, dword [ebp + 0x50]
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 ecx, dword [ebp + 0x4c]
push ecx
call fcn.0040a500
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x68], ebx
mov dword [ebp + 0x6c], ebx
mov dword [ebp + 0x70], ebx
mov eax, dword [0x436cd0]
add esp, 4
cmp eax, 3
je 0x41e343
mov eax, dword [ebp + 0x58]
cmp eax, ebx
je 0x41e31b
push eax
call fcn.0040a5a0
add esp, 4
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x41e1d0
mov edi, dword [ebp + 0x4c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.004231a0
add esp, 4
cmp eax, ebx
mov dword [esp + 0x10], eax
je 0x41e5b3
mov edi, dword [ebp + 0x4c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, dword [esp + 0x10]
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, eax
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 [ebp + 0x5c], edx
je 0x41e5b3
mov edi, dword [esp + 0x10]
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 [0x4475a8], ebx
je 0x41e254
mov ecx, dword [ebp + 0x58]
push ecx
call fcn.0040a5d0
add esp, 4
cmp eax, ebx
je 0x41e22f
mov dword [ebp + 0x60], eax
jmp 0x41e298
mov edi, dword [esp + 0x10]
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 [ebp + 0x60], edx
je 0x41e5b3
jmp 0x41e277
mov edi, dword [esp + 0x10]
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 [ebp + 0x60], edx
je 0x41e5b3
mov edi, dword [esp + 0x10]
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 [0x436cb0], ebx
jne 0x41e2c0
mov ecx, dword [ebp + 0x58]
push ecx
call fcn.00410240
push eax
mov dword [ebp + 0x6c], eax
call fcn.00411cf0
add esp, 8
cmp eax, ebx
mov dword [ebp + 0x70], eax
je 0x41e5c5
mov eax, dword [ebp + 0x60]
push eax
push eax
call fcn.00410100
mov edi, dword [ebp + 0x60]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.004231a0
mov edx, eax
add esp, 0xc
cmp edx, ebx
mov dword [ebp + 0x64], edx
je 0x41e5b3
mov edi, dword [ebp + 0x60]
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 [ebp + 0x64]
push eax
push eax
call fcn.004100e0
add esp, 8
jmp 0x41e343
cmp dword [0x436cb0], ebx
jne 0x41e343
mov ecx, dword [ebp + 0x4c]
push ecx
call fcn.004101d0
push eax
mov dword [ebp + 0x6c], eax
call fcn.00411cf0
add esp, 8
cmp eax, ebx
mov dword [ebp + 0x70], eax
je 0x41e5c5
cmp dword [0x4474bc], ebx
je 0x41e35c
cmp dword [0x4474c0], ebx
jne 0x41e35c
push ebp
call fcn.0041c190
add esp, 4
mov edx, dword [esp + 0x14]
mov dword [edx], ebp
add ebp, 0x84
mov dword [esp + 0x14], ebp
mov dword [ebp], ebx
jmp 0x41e3a6
cmp dword [0x4474c0], 1
jne 0x41e5d5
mov eax, dword [0x462c68]
push eax
call fcn.00425b85
push eax
push str.error_reading_entry:
call fcn.00412ca0
push 0x4474ac
push str.skipping_this_entry...
call fcn.00412ca0
add esp, 0x14
mov ecx, dword [0x4475d0]
push ecx
call fcn.0041c370
mov ebp, dword [esp + 0x28]
add esp, 4
test eax, eax
jne 0x41d9be
mov edx, dword [0x4475d0]
push edx
call fcn.004245b6
push ebp
mov dword [0x4475d0], ebx
call fcn.00423252
push 0x441124
push 0x4627e4
call fcn.0041c520
add esp, 0x10
test eax, eax
je 0x41e408
mov eax, dword [0x4475e8]
mov ecx, dword [0x4475e4]
inc eax
cmp eax, ecx
mov dword [0x4475e8], eax
jb 0x41d7b1
mov eax, dword [0x4633fc]
mov esi, dword [esp + 0x70]
cmp eax, esi
jne 0x41e41f
cmp ebx, dword [esp + 0x74]
je 0x41c941
push 0x437a28
push ebx
push ebx
push eax
call fcn.0040ec20
add esp, 0x10
push eax
mov eax, dword [esp + 0x78]
push 0x437a28
push ebx
push eax
push esi
call fcn.0040ec20
add esp, 0x10
push eax
push str.expected__s_entries_but_found__s
push 0x463420
call fcn.004238b7
push 0x4474ac
push 0x463420
call fcn.00412ca0
add esp, 0x18
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x9c
ret
mov eax, dword [0x4475d4]
push eax
jmp 0x41e4a3
push ebp
push str.could_not_find_split:
call fcn.00412ca0
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
add esp, 0x9c
ret
mov ecx, dword [0x4475d4]
push ecx
push str.reading_archive:
call fcn.00412ca0
add esp, 8
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov edx, dword [0x4475d0]
push edx
call fcn.004245b6
mov dword [0x4475d0], ebx
push ebp
push str.unable_to_seek_in_input_file
call fcn.00412ca0
add esp, 0xc
mov eax, 0xb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov eax, dword [0x4475f0]
mov ecx, dword [0x4475f4]
sub eax, 4
push 0x437a28
sbb ecx, ebx
push ebx
push ecx
push eax
call fcn.0040ec20
mov edx, dword [0x4475e8]
push eax
push edx
push str.unexpected_signature_on_disk__lu_at__s_n
push 0x463420
call fcn.004238b7
push 0x4474ac
push 0x463420
call fcn.00412ca0
push ebp
push str.archive_not_in_correct_format:
call fcn.00412ca0
push 0x4474ac
push str._try__F_to_attempt_recovery_
call fcn.00412ca0
mov eax, dword [0x4475d0]
push eax
call fcn.004245b6
add esp, 0x3c
mov dword [0x4475d0], ebx
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
mov ecx, dword [0x4475d0]
pop edi
pop esi
pop ebp
mov eax, dword [ecx + 0xc]
pop ebx
and al, 0x20
neg al
sbb eax, eax
and eax, 9
add eax, 2
add esp, 0x9c
ret
push 0x4474ac
push str.reading_central_directory
call fcn.00412ca0
add esp, 8
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
push 0x4474ac
push str.could_not_allocate_memory:_scanzipf_reg
call fcn.00412ca0
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0x9c
ret
mov edx, dword [0x4475d0]
pop edi
pop esi
pop ebp
mov eax, dword [edx + 0xc]
pop ebx
and al, 0x20
neg al
sbb eax, eax
and eax, 9
add eax, 2
add esp, 0x9c
ret