Function at 0x4025d7
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push ebx
xor ebx, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], ebx
cmp dword [0x4f1064], ebx
jne 0x402619
call fcn.0040103e
mov dword [0x4f1064], eax
cmp eax, ebx
jne 0x402619
push 4
pop eax
jmp 0x402d5d
mov eax, dword [0x424f80]
cmp eax, ebx
je 0x40265e
cmp dword [0x42501c], ebx
je 0x40265e
xor ecx, ecx
cmp dword [0x424fa0], ebx
push ebx
sete cl
push eax
mov dword [0x425018], ecx
call fcn.00409972
pop ecx
pop ecx
cmp eax, 0x200
jle 0x40265e
xor ecx, ecx
cmp eax, 0xa00
sete cl
lea eax, [ecx + ecx + 2]
jmp 0x402d5d
push esi
mov esi, dword [0x425008]
push edi
cmp esi, ebx
jbe 0x402689
mov eax, esi
shl eax, 2
push eax
call fcn.0040a6cc
mov edi, eax
pop ecx
mov dword [ebp - 0x24], edi
cmp edi, ebx
je 0x402689
cmp esi, ebx
jbe 0x402689
mov ecx, esi
xor eax, eax
rep stosd dword es:[edi], eax
mov esi, dword [0x42500c]
cmp esi, ebx
jbe 0x4026b2
mov eax, esi
shl eax, 2
push eax
call fcn.0040a6cc
mov edi, eax
pop ecx
mov dword [ebp - 0x18], edi
cmp edi, ebx
je 0x4026b2
cmp esi, ebx
jbe 0x4026b2
mov ecx, esi
xor eax, eax
rep stosd dword es:[edi], eax
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x30], ebx
mov esi, 0x4e5064
mov edi, 0x424f80
and dword [ebp - 0x14], 0
and dword [ebp - 0x20], 0
mov ebx, 0x4f11c8
mov dword [ebp - 0x1c], 0x425060
mov eax, dword [ebp - 0x1c]
push 4
push 0x425050
mov dword [0x4e5060], eax
call fcn.00403132
pop ecx
pop ecx
test eax, eax
je 0x402877
push 4
push section..data
push 0x425050
call fcn.0040b80b
add esp, 0xc
test eax, eax
jne 0x402883
call fcn.004072bc
test eax, eax
jne 0x402901
movzx eax, word [0x4f1112]
push 2
push eax
call fcn.00403979
pop ecx
pop ecx
test eax, eax
je 0x402749
cmp eax, dword [ebp - 4]
jle 0x402740
mov dword [ebp - 4], eax
cmp eax, 1
jg 0x402909
movzx eax, word [0x4f1114]
push 3
push eax
call fcn.00403979
pop ecx
pop ecx
test eax, eax
je 0x40276f
cmp eax, dword [ebp - 4]
jle 0x402766
mov dword [ebp - 4], eax
cmp eax, 1
jg 0x402937
movzx eax, word [0x4f1116]
push 0
push eax
call fcn.00403979
pop ecx
pop ecx
test eax, eax
je 0x402795
cmp eax, dword [ebp - 4]
jle 0x40278c
mov dword [ebp - 4], eax
cmp eax, 1
jg 0x40295c
cmp dword [0x425010], 0
jne 0x40282f
mov eax, dword [0x425008]
test eax, eax
je 0x4027f6
and dword [ebp - 8], 0
test eax, eax
je 0x40285d
push dword [0x424f98]
mov eax, dword [0x425048]
mov ecx, dword [ebp - 8]
push dword [eax + ecx*4]
push ebx
call fcn.0040599d
add esp, 0xc
test eax, eax
jne 0x4027e5
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [0x425008]
jb 0x4027b7
jmp 0x40285d
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4027f6
mov ecx, dword [ebp - 8]
mov dword [eax + ecx*4], 1
and dword [ebp - 8], 0
cmp dword [0x42500c], 0
jbe 0x40282f
push dword [0x424f98]
mov eax, dword [0x42504c]
mov ecx, dword [ebp - 8]
push dword [eax + ecx*4]
push ebx
call fcn.0040599d
add esp, 0xc
test eax, eax
jne 0x402845
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [0x42500c]
jb 0x402803
call fcn.00401530
test eax, eax
je 0x40285a
inc dword [ebp - 0x14]
add dword [ebp - 0x20], 0x30
add dword [ebp - 0x1c], 0x30
jmp 0x40285d
cmp dword [ebp - 0x18], 0
je 0x40285d
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
mov dword [eax + ecx*4], 1
jmp 0x40285d
inc dword [ebp - 0x10]
add dword [ebp - 0x3c], 1
adc dword [ebp - 0x38], 0
cmp dword [ebp - 0x20], 0xc0000
jb 0x4026dc
jmp 0x402993
mov dword [ebp - 4], 0x33
jmp 0x40298c
xor ecx, ecx
cmp dword [0x4f1140], ecx
je 0x402894
or ecx, 0xffffffff
mov eax, ecx
jmp 0x402899
mov eax, 0xffff
and eax, dword [ebp - 0x3c]
and ecx, dword [ebp - 0x38]
cmp eax, dword [0x4f1130]
jne 0x4028b3
cmp ecx, dword [0x4f1134]
je 0x40298c
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov ebx, 0x401
push ebx
lea eax, [eax + ecx + 1]
push eax
push 0x41e1b0
push esi
call fcn.0040ab01
add esp, 0xc
push eax
push esi
push edi
call dword [0x4f1380]
add esp, 0x10
push ebx
push 0x41e288
push esi
call fcn.0040ab01
pop ecx
pop ecx
push eax
push esi
push edi
call dword [0x4f1380]
mov dword [ebp - 4], 3
jmp 0x402989
mov dword [ebp - 4], eax
jmp 0x40298c
push 0x401
push str.central
push 0x2000
push 0x4e9064
push ebx
call fcn.0040141c
add esp, 0xc
push eax
push str._s:__bad_filename_length___s__n
push esi
call fcn.0040ab01
add esp, 0x10
jmp 0x402980
push 0x401
push str.central
push 0x2000
push 0x4e9064
push ebx
call fcn.0040141c
add esp, 0xc
push eax
push str._s:__bad_extra_field_length___s__n
jmp 0x40292c
push 0x421
push 0x2000
push 0x4e9064
push ebx
call fcn.0040141c
push eax
push str._s:__bad_file_comment_length_n
push esi
call fcn.0040ab01
add esp, 0x18
push eax
push esi
push edi
call dword [0x4f1380]
add esp, 0x10
mov dword [ebp - 0xc], 1
mov eax, dword [0x4f10a0]
push dword [ebp - 4]
mov ebx, dword [0x4f1070]
mov dword [ebp - 0x44], eax
mov eax, dword [0x4f10a4]
mov dword [ebp - 0x40], eax
mov eax, dword [0x4f1074]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x14]
call fcn.00401cab
add esp, 0x18
test eax, eax
je 0x4029ea
cmp eax, dword [ebp - 4]
jle 0x4029db
mov dword [ebp - 4], eax
cmp dword [0x4f1198], 1
jg 0x402a42
cmp dword [ebp - 4], 0x50
je 0x402a42
push 0
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push dword [0x4f1090]
call fcn.0040cde4
push 0x2000
push dword [0x4f106c]
mov dword [0x4f10a0], eax
push dword [0x4f1090]
mov dword [0x4f10a4], edx
call fcn.00419c37
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x30], 0x4000
add esp, 0x1c
cmp dword [ebp - 0xc], 0
mov dword [0x4f1070], ebx
mov dword [0x4f1074], eax
je 0x4026c8
jmp 0x402a46
and dword [ebp - 0xc], 0
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x402b74
mov eax, ebx
shl eax, 2
push eax
call fcn.0040a6cc
pop ecx
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x402a99
push 0x401
push str.warning:__cannot_alloc_memory_to_sort_dir_times_perms_etc._n
push esi
call fcn.0040ab01
pop ecx
pop ecx
push eax
push esi
push edi
call dword [0x4f1380]
mov ebx, dword [ebp - 0x2c]
add esp, 0x10
jmp 0x402a90
push ebx
mov ebx, dword [ebx]
call fcn.0040a760
pop ecx
test ebx, ebx
jne 0x402a87
jmp 0x402b74
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
cmp ebx, 1
jne 0x402aad
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
jmp 0x402ad4
cmp ebx, ecx
jbe 0x402ac1
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x20]
mov dword [edx + ecx*4], eax
mov eax, dword [eax]
inc ecx
cmp ecx, ebx
jb 0x402ab4
push 0x401514
push 4
push ebx
push dword [ebp - 0x20]
call fcn.0040d020
add esp, 0x10
and dword [ebp - 8], 0
test ebx, ebx
je 0x402b36
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 8]
mov ebx, dword [eax + ecx*4]
push ebx
call fcn.0040885b
pop ecx
mov dword [ebp - 0x30], eax
test eax, eax
je 0x402b24
inc dword [ebp - 0x1c]
push 0x201
push dword [ebx + 4]
push str.warning:__set_times_attribs_failed_for__s_n
push esi
call fcn.0040ab01
add esp, 0xc
push eax
push esi
push edi
call dword [0x4f1380]
add esp, 0x10
cmp dword [ebp - 4], 0
jne 0x402b24
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
push ebx
call fcn.0040a760
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
pop ecx
cmp eax, dword [ebp - 0x34]
jb 0x402adc
push dword [ebp - 0x20]
call fcn.0040a760
xor eax, eax
pop ecx
cmp dword [0x424fc8], eax
jne 0x402b74
cmp dword [0x424fbc], eax
jne 0x402b74
cmp dword [ebp - 0x1c], eax
jbe 0x402b74
push eax
push dword [ebp - 0x1c]
push str._____failed_setting_times_attribs_for__lu_dir_entries
push esi
call fcn.0040ab01
add esp, 0xc
push eax
push esi
push edi
call dword [0x4f1380]
add esp, 0x10
cmp dword [ebp - 0x24], 0
je 0x402bd6
cmp dword [ebp - 0xc], 0
je 0x402bcd
xor ebx, ebx
cmp dword [0x425008], ebx
jbe 0x402bcd
mov eax, dword [ebp - 0x24]
cmp dword [eax + ebx*4], 0
jne 0x402bc4
mov eax, dword [0x425048]
push 1
push dword [eax + ebx*4]
push 0x41e234
push esi
call fcn.0040ab01
add esp, 0xc
push eax
push esi
push edi
call dword [0x4f1380]
add esp, 0x10
cmp dword [ebp - 4], 1
jg 0x402bc4
mov dword [ebp - 4], 0xb
inc ebx
cmp ebx, dword [0x425008]
jb 0x402b8a
push dword [ebp - 0x24]
call fcn.0040a760
pop ecx
cmp dword [ebp - 0x18], 0
je 0x402c2e
cmp dword [ebp - 0xc], 0
je 0x402c25
xor ebx, ebx
cmp dword [0x42500c], ebx
jbe 0x402c25
mov eax, dword [ebp - 0x18]
cmp dword [eax + ebx*4], 0
jne 0x402c1c
mov eax, dword [0x42504c]
push 0x401
push dword [eax + ebx*4]
push 0x41e258
push esi
call fcn.0040ab01
add esp, 0xc
push eax
push esi
push edi
call dword [0x4f1380]
add esp, 0x10
inc ebx
cmp ebx, dword [0x42500c]
jb 0x402bec
push dword [ebp - 0x18]
call fcn.0040a760
pop ecx
cmp dword [ebp - 0xc], 0
jne 0x402c3c
mov eax, dword [ebp - 4]
jmp 0x402d5b
cmp dword [0x424fc8], 0
je 0x402d30
cmp dword [0x424fbc], 2
jge 0x402d30
xor eax, eax
mov ebx, 0x41d965
cmp dword [ebp - 4], eax
je 0x402c88
cmp dword [ebp - 4], 1
mov eax, str.warning_
je 0x402c6f
mov eax, ebx
push 0
push dword [0x4f108c]
push eax
push str.At_least_one__serror_was_detected_in__s._n
push esi
call fcn.0040ab01
add esp, 0x10
jmp 0x402cf1
cmp dword [ebp - 0x28], eax
jne 0x402ca5
push 0
push dword [0x4f108c]
push str.Caution:__zero_files_tested_in__s._n
push esi
call fcn.0040ab01
add esp, 0xc
jmp 0x402cf1
cmp dword [0x425010], eax
je 0x402cca
cmp dword [ebp - 0x10], eax
jne 0x402cca
push 0
push dword [0x4f108c]
push str.No_errors_detected_in_compressed_data_of__s._n
push esi
call fcn.0040ab01
add esp, 0xc
jmp 0x402d24
cmp dword [ebp - 0x28], 1
mov eax, ebx
je 0x402cd7
mov eax, 0x41d994
push 0
push eax
push dword [ebp - 0x28]
push dword [0x4f108c]
push str.No_errors_detected_in__s_for_the__lu_file_s_tested._n
push esi
call fcn.0040ab01
add esp, 0x14
push eax
push esi
push edi
call dword [0x4f1380]
add esp, 0x10
cmp dword [ebp - 0x10], 0
jbe 0x402d30
cmp dword [ebp - 0x10], 1
mov eax, ebx
je 0x402d10
mov eax, 0x41d994
push 0
push eax
push dword [ebp - 0x10]
push str._lu_file_s_skipped_because_of_unsupported_compression_or_encoding._n
push esi
call fcn.0040ab01
add esp, 0x10
push eax
push esi
push edi
call dword [0x4f1380]
add esp, 0x10
cmp dword [ebp - 0x28], 0
mov eax, dword [ebp - 4]
jne 0x402d4d
cmp eax, 1
jg 0x402d4d
xor eax, eax
cmp eax, dword [ebp - 0x10]
sbb eax, eax
and eax, 0x46
add eax, 0xb
jmp 0x402d5b
cmp dword [ebp - 0x10], 0
jbe 0x402d5b
cmp eax, 1
jg 0x402d5b
push 0x51
pop eax
pop edi
pop esi
pop ebx
leave
ret