Function at 0x4039a0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x34
mov eax, dword [0x4292bc]
push ebx
push ebp
xor ebx, ebx
xor ebp, ebp
cmp eax, ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0xc], ebx
mov dword [0x429b00], 0x429300
mov dword [0x4292d4], 1
mov dword [0x439bd4], ebx
jbe 0x403a20
shl eax, 2
push eax
call fcn.00413274
add esp, 4
cmp eax, ebx
mov dword [esp + 0x2c], eax
je 0x403a20
mov edx, dword [0x4292bc]
xor ecx, ecx
cmp edx, ebx
jbe 0x403a20
mov dword [eax], ebx
mov edx, dword [0x4292bc]
inc ecx
add eax, 4
cmp ecx, edx
jb 0x403a10
mov eax, dword [0x4292c0]
cmp eax, ebx
jbe 0x403a5d
lea ecx, [eax*4]
push ecx
call fcn.00413274
add esp, 4
cmp eax, ebx
mov dword [esp + 0x24], eax
je 0x403a5d
mov edx, dword [0x4292c0]
xor ecx, ecx
cmp edx, ebx
jbe 0x403a5d
mov dword [eax], ebx
mov edx, dword [0x4292c0]
inc ecx
add eax, 4
cmp ecx, edx
jb 0x403a4d
push esi
push edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x30], ebx
mov esi, 1
mov dword [esp + 0x18], ebx
mov edi, 0x429300
jmp 0x403a96
xor ebx, ebx
mov esi, 1
mov dword [esp + 0x18], ebx
mov edi, 0x429300
jmp 0x403a96
mov esi, 1
push 4
push 0x4292f0
mov dword [0x429b00], edi
call fcn.004068d0
add esp, 8
test eax, eax
je 0x403c45
push 4
push 0x425198
push 0x4292f0
call fcn.00412a00
add esp, 0xc
test eax, eax
jne 0x403c4f
call fcn.0040b510
cmp eax, ebx
jne 0x403ced
mov edx, dword [0x439b7c]
push 2
and edx, 0xffff
push edx
call fcn.00407860
add esp, 8
cmp eax, ebx
je 0x403b05
cmp eax, ebp
jle 0x403afd
mov ebp, eax
cmp eax, esi
jg 0x403cf4
xor eax, eax
push 3
mov ax, word [0x439b7e]
push eax
call fcn.00407860
add esp, 8
cmp eax, ebx
je 0x403b2a
cmp eax, ebp
jle 0x403b22
mov ebp, eax
cmp eax, esi
jg 0x403d25
mov ecx, dword [0x439b80]
push ebx
and ecx, 0xffff
push ecx
call fcn.00407860
add esp, 8
cmp eax, ebx
je 0x403b52
cmp eax, ebp
jle 0x403b4a
mov ebp, eax
cmp eax, esi
jg 0x403d56
cmp dword [0x4292c4], ebx
je 0x403b78
call fcn.00404340
test eax, eax
je 0x403c27
mov ecx, dword [esp + 0x18]
inc ecx
add edi, 0x20
mov dword [esp + 0x18], ecx
jmp 0x403c2b
mov eax, dword [0x4292bc]
cmp eax, ebx
je 0x403bc7
xor esi, esi
cmp eax, ebx
jbe 0x403c2b
mov eax, dword [0x4292e8]
mov edx, dword [0x429254]
push edx
mov ecx, dword [eax + esi*4]
push ecx
push 0x439c08
call fcn.00409fb0
add esp, 0xc
test eax, eax
jne 0x403bb8
mov eax, dword [0x4292bc]
inc esi
cmp esi, eax
jb 0x403b8b
jmp 0x403c2b
mov eax, dword [esp + 0x34]
cmp eax, ebx
je 0x403bc7
mov dword [eax + esi*4], 1
mov eax, dword [0x4292c0]
xor esi, esi
cmp eax, ebx
jbe 0x403bfd
mov eax, dword [0x4292ec]
mov edx, dword [0x429254]
push edx
mov ecx, dword [eax + esi*4]
push ecx
push 0x439c08
call fcn.00409fb0
add esp, 0xc
test eax, eax
jne 0x403c14
mov eax, dword [0x4292c0]
inc esi
cmp esi, eax
jb 0x403bd2
call fcn.00404340
test eax, eax
je 0x403c27
mov ecx, dword [esp + 0x18]
inc ecx
add edi, 0x20
mov dword [esp + 0x18], ecx
jmp 0x403c2b
mov eax, dword [esp + 0x2c]
cmp eax, ebx
je 0x403c2b
mov edx, eax
mov dword [edx + esi*4], 1
jmp 0x403c2b
inc dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
inc ecx
cmp edi, 0x429b00
mov dword [esp + 0x28], ecx
jb 0x403a91
jmp 0x403d95
mov ebp, 0x33
jmp 0x403d91
mov ax, word [esp + 0x28]
cmp ax, word [0x439b96]
jne 0x403c80
push 4
push 0x4251a0
push 0x4292f0
call fcn.00412a00
add esp, 0xc
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x3c], eax
jmp 0x403d91
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
push 0x401
lea eax, [ecx + edx + 1]
push eax
push str.error:__expected_central_file_header_signature_not_found__file__lu_._n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
push 0x401
push str.___please_check_that_you_have_transferred_or_created_the_zipfile_in_the_n__appropriate_BINARY_mode_and_that_you_have_compiled_UnZip_properly__n
push 0x429b04
call fcn.00412920
add esp, 8
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
mov ebp, 3
jmp 0x403d91
mov ebp, eax
jmp 0x403d91
push 0x401
push 0x425090
push 0x431b04
push 0x439c08
call fcn.00406640
add esp, 8
push eax
push str._s:__bad_filename_length___s__n
push 0x429b04
call fcn.00412920
add esp, 0x10
jmp 0x403d7d
push 0x401
push 0x425090
push 0x431b04
push 0x439c08
call fcn.00406640
add esp, 8
push eax
push str._s:__bad_extra_field_length___s__n
push 0x429b04
call fcn.00412920
add esp, 0x10
jmp 0x403d7d
push 0x421
push 0x431b04
push 0x439c08
call fcn.00406640
push eax
push str._s:__bad_file_comment_length_n
push 0x429b04
call fcn.00412920
add esp, 0x14
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
mov dword [esp + 0x10], esi
mov esi, dword [0x439b38]
mov edi, dword [0x439b10]
mov ebx, dword [0x439b14]
lea ecx, [esp + 0x14]
push ebp
lea edx, [esp + 0x24]
push ecx
lea eax, [esp + 0x48]
push edx
lea ecx, [esp + 0x30]
push eax
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x48]
push ecx
push edx
push eax
call fcn.004046f0
add esp, 0x1c
test eax, eax
je 0x403de6
cmp eax, ebp
jle 0x403dd8
mov ebp, eax
cmp dword [0x439bd8], 1
jg 0x403e3d
cmp ebp, 0x50
je 0x403e3d
mov ecx, dword [0x439b30]
push 0
push esi
push ecx
call fcn.0041908b
mov edx, dword [0x439b0c]
mov dword [0x439b38], eax
mov eax, dword [0x439b30]
push 0x2000
push edx
push eax
call fcn.0041b5e5
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x28]
add esp, 0x18
add ecx, 0x40
test eax, eax
mov dword [0x439b10], edi
mov dword [0x439b14], ebx
mov dword [esp + 0x30], ecx
je 0x403a7f
mov dword [esp + 0x18], ebp
jmp 0x403e49
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x20]
test eax, eax
jbe 0x403fda
lea ecx, [eax*4]
push ecx
call fcn.00413274
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x30], edi
jne 0x403ec2
push 0x401
push str.warning:__cannot_alloc_memory_to_sort_dir_times_perms_etc._n
push 0x429b04
call fcn.00412920
add esp, 8
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov eax, dword [esp + 0x24]
add esp, 0x10
test eax, eax
je 0x403fda
mov edx, dword [eax]
push eax
mov dword [esp + 0x18], edx
call fcn.00413326
mov eax, dword [esp + 0x18]
add esp, 4
test eax, eax
jne 0x403ea6
jmp 0x403fda
mov esi, dword [esp + 0x20]
mov dword [esp + 0x28], 0
cmp esi, 1
jne 0x403edb
mov eax, dword [esp + 0x14]
mov dword [edi], eax
jmp 0x403f10
xor eax, eax
test esi, esi
jbe 0x403eff
mov edx, dword [esp + 0x14]
mov ecx, edi
mov dword [ecx], edx
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
inc eax
mov edx, dword [edx]
add ecx, 4
cmp eax, esi
mov dword [esp + 0x14], edx
jb 0x403ee7
push 0x4066a0
push 4
push esi
push edi
call fcn.00413404
add esp, 0x10
mov eax, dword [esp + 0x20]
xor ebp, ebp
test eax, eax
jbe 0x403f88
mov ebx, dword [esp + 0x30]
mov esi, dword [ebx]
push esi
call fcn.0040ff00
mov edi, eax
add esp, 4
test edi, edi
je 0x403f73
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x28]
push 0x201
push eax
inc ecx
push str.warning:__set_times_attribs_failed_for__s_n
push 0x429b04
mov dword [esp + 0x38], ecx
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov eax, dword [esp + 0x28]
add esp, 0x10
test eax, eax
jne 0x403f73
mov dword [esp + 0x18], edi
push esi
call fcn.00413326
mov eax, dword [esp + 0x24]
add esp, 4
inc ebp
add ebx, 4
cmp ebp, eax
jb 0x403f1e
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00413326
mov eax, dword [0x429280]
add esp, 4
test eax, eax
jne 0x403fda
mov eax, dword [0x429274]
test eax, eax
jne 0x403fda
mov eax, dword [esp + 0x28]
test eax, eax
jbe 0x403fda
mov edx, eax
push 0
push edx
push str._____failed_setting_attrib_times_for__lu_dir_entries
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
mov edi, dword [esp + 0x34]
test edi, edi
je 0x40405e
mov ebp, dword [esp + 0x10]
test ebp, ebp
je 0x40404f
mov eax, dword [0x4292bc]
xor esi, esi
test eax, eax
jbe 0x40404f
mov ebx, dword [esp + 0x18]
cmp dword [edi + esi*4], 0
jne 0x40403a
mov eax, dword [0x4292e8]
push 1
mov ecx, dword [eax + esi*4]
push ecx
push str.caution:_filename_not_matched:___s_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
cmp ebx, 1
jg 0x40403a
mov ebx, 0xb
mov eax, dword [0x4292bc]
inc esi
cmp esi, eax
jb 0x403ff9
push edi
call fcn.00413326
add esp, 4
jmp 0x404066
mov ebx, dword [esp + 0x18]
push edi
call fcn.00413326
add esp, 4
jmp 0x404066
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x4040cb
test ebp, ebp
je 0x4040c2
mov eax, dword [0x4292c0]
xor esi, esi
test eax, eax
jbe 0x4040c2
cmp dword [edi + esi*4], 0
jne 0x4040b8
mov edx, dword [0x4292ec]
push 0x401
mov eax, dword [edx + esi*4]
push eax
push str.caution:_excluded_filename_not_matched:___s_n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
mov eax, dword [0x4292c0]
inc esi
cmp esi, eax
jb 0x40407d
push edi
call fcn.00413326
add esp, 4
pop edi
pop esi
test ebp, ebp
je 0x404330
mov eax, dword [esp + 0x34]
test eax, eax
je 0x40413c
push 0x401
push str._nnote:__didnt_find_end_of_central_dir_signature_at_end_of_central_dir._n
push 0x429b04
call fcn.00412920
add esp, 8
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
push 0x401
push str.___please_check_that_you_have_transferred_or_created_the_zipfile_in_the_n__appropriate_BINARY_mode_and_that_you_have_compiled_UnZip_properly__n
push 0x429b04
call fcn.00412920
add esp, 8
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
test ebx, ebx
jne 0x40413c
mov ebx, 1
mov eax, dword [0x429280]
test eax, eax
je 0x4042cc
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
mov edx, dword [0x429274]
sub eax, ecx
cmp edx, 2
jge 0x404292
test ebx, ebx
je 0x404193
cmp ebx, 1
mov eax, 0x425084
je 0x404175
mov eax, 0x428d60
mov ecx, dword [0x439b2c]
push 0
push ecx
push eax
push str.At_least_one__serror_was_detected_in__s._n
push 0x429b04
call fcn.00412920
add esp, 0x10
jmp 0x40420e
test eax, eax
jne 0x4041b3
mov edx, dword [0x439b2c]
push eax
push edx
push str.Caution:__zero_files_tested_in__s._n
push 0x429b04
call fcn.00412920
add esp, 0xc
jmp 0x40420e
mov edx, dword [0x4292c4]
test edx, edx
je 0x4041e2
mov edx, dword [esp + 0x14]
add ecx, edx
test ecx, ecx
jne 0x4041e2
mov eax, dword [0x439b2c]
push ecx
push eax
push str.No_errors_detected_in_compressed_data_of__s._n
push 0x429b04
call fcn.00412920
add esp, 0xc
jmp 0x40420e
cmp eax, 1
mov ecx, 0x428d60
je 0x4041f1
mov ecx, 0x425080
push 0
push ecx
mov ecx, dword [0x439b2c]
push eax
push ecx
push str.No_errors_detected_in__s_for_the__lu_file_s_tested._n
push 0x429b04
call fcn.00412920
add esp, 0x14
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
mov ecx, dword [esp + 0x24]
add esp, 0x10
test ecx, ecx
jbe 0x404263
cmp ecx, 1
mov eax, 0x428d60
je 0x404239
mov eax, 0x425080
push 0
push eax
push ecx
push str._lu_file_s_skipped_because_of_unsupported_compression_or_encoding._n
push 0x429b04
call fcn.00412920
add esp, 0x10
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jbe 0x4042d0
cmp ecx, 1
mov eax, 0x428d60
je 0x40427a
mov eax, 0x425080
push 0
push eax
push ecx
push str._lu_file_s_skipped_because_of_incorrect_password._n
push 0x429b04
call fcn.00412920
add esp, 0x10
jmp 0x4042b8
test edx, edx
jne 0x4042d0
test ebx, ebx
jne 0x4042d0
test eax, eax
jne 0x4042d0
mov edx, dword [0x439b2c]
push eax
push edx
push str.Caution:__zero_files_tested_in__s._n
push 0x429b04
call fcn.00412920
add esp, 0xc
push eax
push 0x429b04
push 0x429240
call dword [int.00439d6c]
add esp, 0x10
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x4042f3
cmp ebx, 1
jg 0x4042f3
mov edx, dword [esp + 0x14]
pop ebp
cmp eax, edx
sbb ebx, ebx
and ebx, 0x46
add ebx, 0xb
mov eax, ebx
pop ebx
add esp, 0x34
ret
cmp eax, ecx
jne 0x404309
cmp ebx, 1
jg 0x404309
mov ebx, 0x52
pop ebp
mov eax, ebx
pop ebx
add esp, 0x34
ret
mov eax, dword [esp + 0x14]
test eax, eax
jbe 0x404323
cmp ebx, 1
jg 0x404323
mov ebx, 0x51
pop ebp
mov eax, ebx
pop ebx
add esp, 0x34
ret
test ecx, ecx
jbe 0x404330
test ebx, ebx
jne 0x404330
mov ebx, 1
mov eax, ebx
pop ebp
pop ebx
add esp, 0x34
ret