Function at 0x14015f260
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0xa0
xor r13d, r13d
cmp qword [0x140497178], r13
mov edi, r13d
mov dword [rsp + 0x44], r13d
mov esi, r13d
mov qword [rsp + 0x58], r13
mov r12d, r13d
mov qword [rsp + 0x68], r13
mov r15d, r13d
mov dword [rsp + 0xd8], r13d
mov dword [rsp + 0x48], r13d
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x40], r13d
mov qword [rsp + 0x50], r13
jne 0x14015f2d8
call fcn.140163040
mov qword [0x140497178], rax
test rax, rax
jne 0x14015f2d8
lea eax, [r13 + 4]
add rsp, 0xa0
pop r15
pop r13
pop r12
pop rdi
pop rsi
ret
mov rcx, qword [0x1403a7080]
test rcx, rcx
je 0x14015f330
cmp dword [0x1403a7124], esi
je 0x14015f330
mov eax, r13d
cmp dword [0x1403a70a8], eax
sete al
xor edx, edx
mov dword [0x1403a7120], eax
call fcn.14011f4b0
cmp eax, 0x200
jle 0x14015f330
cmp eax, 0xa00
mov ecx, 2
mov edx, 4
cmove ecx, edx
mov eax, ecx
add rsp, 0xa0
pop r15
pop r13
pop r12
pop rdi
pop rsi
ret
lea rax, [0x1403a7170]
mov qword [rsp + 0x98], rbx
mov qword [0x140487170], rax
mov eax, 1
mov dword [0x1403a7128], eax
mov eax, dword [0x1403a7110]
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x88], r14
mov dword [0x1404972d4], r13d
test eax, eax
je 0x14015f3b0
mov ecx, eax
shl rcx, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x58], rax
mov rsi, rax
test rax, rax
je 0x14015f3b0
mov ecx, r13d
cmp dword [0x1403a7110], ecx
jbe 0x14015f3b0
nop word [rax + rax]
mov eax, ecx
inc ecx
mov dword [rsi + rax*4], r13d
cmp ecx, dword [0x1403a7110]
jb 0x14015f3a0
mov eax, dword [0x1403a7114]
test eax, eax
je 0x14015f3f0
mov ecx, eax
shl rcx, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x68], rax
mov r12, rax
test rax, rax
je 0x14015f3f0
mov ecx, r13d
cmp dword [0x1403a7114], ecx
jbe 0x14015f3f0
nop
mov eax, ecx
inc ecx
mov dword [r12 + rax*4], r13d
cmp ecx, dword [0x1403a7114]
jb 0x14015f3e0
mov rbp, r13
mov qword [rsp + 0x60], r13
mov dword [rsp + 0xe8], r13d
mov dword [rsp + 0xd0], r13d
mov dword [rsp + 0xe0], r13d
mov ebx, 2
mov r14d, r13d
mov eax, r14d
mov edx, 4
imul rcx, rax, 0x38
lea rax, [0x1403a7170]
add rcx, rax
mov qword [0x140487170], rcx
lea rcx, [0x1403a7160]
call fcn.14011e860
test eax, eax
je 0x14015f764
mov ecx, dword [0x1403a7160]
cmp ecx, dword [0x1403627cc]
jne 0x14015f688
call fcn.140117f70
test eax, eax
jne 0x14015f681
movzx ecx, word [0x14049724a]
mov edx, ebx
call fcn.14011d360
test eax, eax
je 0x14015f488
cmp eax, edi
cmovg edi, eax
cmp eax, 1
jg 0x14015f5d0
movzx ecx, word [0x14049724c]
mov edx, 3
call fcn.14011d360
test eax, eax
je 0x14015f4ab
cmp eax, edi
cmovg edi, eax
cmp eax, 1
jg 0x14015f628
movzx ecx, word [0x14049724e]
xor edx, edx
call fcn.14011d360
test eax, eax
je 0x14015f4cb
cmp eax, edi
cmovg edi, eax
cmp eax, 1
jg 0x14015f64a
cmp dword [0x1403a7118], r13d
je 0x14015f4ef
call fcn.140160cb0
test eax, eax
je 0x14015f4e2
inc r14d
jmp 0x14015f533
inc r15d
mov dword [rsp + 0xd8], r15d
jmp 0x14015f533
mov eax, dword [0x1403a7110]
test eax, eax
je 0x14015f55b
mov ebx, r13d
nop dword [rax]
mov rdx, qword [0x1403a7150]
lea rcx, [0x14049731c]
mov r8d, dword [0x1403a70a0]
mov eax, ebx
mov rdx, qword [rdx + rax*8]
call fcn.140162b70
test eax, eax
jne 0x14015f54d
inc ebx
cmp ebx, dword [0x1403a7110]
jb 0x14015f500
mov ebx, 2
inc rbp
mov qword [rsp + 0x60], rbp
cmp r14d, 0x4000
jae 0x14015f774
jmp 0x14015f418
test rsi, rsi
je 0x14015f55b
mov eax, ebx
mov dword [rsi + rax*4], 1
mov ebx, r13d
cmp dword [0x1403a7114], ebx
jbe 0x14015f59e
nop word [rax + rax]
mov rdx, qword [0x1403a7158]
lea rcx, [0x14049731c]
mov r8d, dword [0x1403a70a0]
mov eax, ebx
mov rdx, qword [rdx + rax*8]
call fcn.140162b70
test eax, eax
jne 0x14015f5b8
inc ebx
cmp ebx, dword [0x1403a7114]
jb 0x14015f570
call fcn.140160cb0
mov ebx, 2
test eax, eax
je 0x14015f4e2
inc r14d
jmp 0x14015f533
test r12, r12
je 0x14015f52e
mov eax, ebx
mov dword [r12 + rax*4], 1
jmp 0x14015f52e
mov r8d, 0x4000
lea rdx, [0x14048f178]
lea rcx, [0x14049731c]
call fcn.1401608c0
lea rdx, str._s:__bad_filename_length___s__n
lea r9, str.central
mov r8, rax
lea rcx, [0x140487178]
call fcn.1400e1500
mov r9d, 0x401
mov r8d, eax
lea rdx, [0x140487178]
lea rcx, [0x1403a7080]
call qword [0x140497538]
jmp 0x14015f769
mov r8d, 0x4000
lea rdx, [0x14048f178]
lea rcx, [0x14049731c]
call fcn.1401608c0
lea rdx, str._s:__bad_extra_field_length___s__n
jmp 0x14015f5f0
mov r8d, 0x4000
lea rdx, [0x14048f178]
lea rcx, [0x14049731c]
call fcn.1401608c0
mov r8, rax
lea rdx, str._s:__bad_file_comment_length_n
lea rcx, [0x140487178]
call fcn.1400e1500
mov r9d, 0x421
jmp 0x14015f60c
mov edi, eax
jmp 0x14015f769
mov edx, dword [0x140497278]
mov eax, 0xffff
test edx, edx
mov r8, 0xffffffffffffffff
cmovne rax, r8
and rax, rbp
cmp rax, qword [0x140497268]
jne 0x14015f6ef
test edx, edx
lea rax, [0x1403627d0]
lea rdx, [0x1403627d4]
cmovne rax, rdx
cmp ecx, dword [rax]
je 0x14015f6e5
cmp dword [0x14049727c], r13d
jne 0x14015f6e5
cmp ecx, dword [0x1403627d0]
je 0x14015f6e5
mov dword [rsp + 0xe8], 1
jmp 0x14015f769
mov dword [rsp + 0xe8], r13d
jmp 0x14015f769
mov r8d, dword [rsp + 0xe0]
lea rdx, str.error:__expected_central_file_header_signature_not_found__file__lu_._n
inc r8d
lea rcx, [0x140487178]
add r8d, r14d
call fcn.1400e1500
mov r8d, eax
lea rdx, [0x140487178]
mov r9d, 0x401
lea rcx, [0x1403a7080]
call qword [0x140497538]
lea rdx, 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
lea rcx, [0x140487178]
call fcn.1400e1500
mov r8d, eax
lea rdx, [0x140487178]
mov r9d, 0x401
lea rcx, [0x1403a7080]
call qword [0x140497538]
mov edi, 3
jmp 0x14015f769
mov edi, 0x33
mov dword [rsp + 0xd0], 1
mov rbx, qword [0x1404971d0]
lea rax, [rsp + 0x50]
mov rsi, qword [0x140497190]
lea r9, [rsp + 0x70]
mov ebp, dword [0x140497198]
lea r8, [rsp + 0x48]
mov dword [rsp + 0x30], edi
lea rdx, [rsp + 0x44]
mov qword [rsp + 0x28], rax
mov ecx, r14d
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.14015e4b0
test eax, eax
je 0x14015f7ce
cmp eax, edi
cmovg edi, eax
cmp dword [0x1404972d8], 1
jg 0x14015f831
cmp edi, 0x50
je 0x14015f831
mov ecx, dword [0x1404971c0]
xor r8d, r8d
mov rdx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__lseeki64]
mov rdx, qword [0x140497188]
mov r8d, 0x2000
mov ecx, dword [0x1404971c0]
mov qword [0x1404971d0], rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__read]
add dword [rsp + 0xe0], 0x4000
mov qword [0x140497190], rsi
mov dword [0x140497198], ebp
cmp dword [rsp + 0xd0], r13d
jne 0x14015f839
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
jmp 0x14015f410
mov dword [rsp + 0xd0], r13d
mov ebx, dword [rsp + 0x40]
test ebx, ebx
je 0x14015f9ca
lea rcx, [rbx*8]
mov ebp, ebx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r12, rax
test rax, rax
jne 0x14015f8b6
lea rdx, str.warning:__cannot_alloc_memory_to_sort_dir_times_perms_etc._n
lea rcx, [0x140487178]
call fcn.1400e1500
mov r8d, eax
lea rdx, [0x140487178]
mov r9d, 0x401
lea rcx, [0x1403a7080]
call qword [0x140497538]
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x14015f9ca
nop dword [rax + rax]
mov rcx, rbx
mov rbx, qword [rbx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test rbx, rbx
jne 0x14015f8a0
jmp 0x14015f9ca
mov r15d, r13d
cmp ebx, 1
jne 0x14015f8c9
mov rax, qword [rsp + 0x50]
mov qword [r12], rax
jmp 0x14015f90d
test ebx, ebx
je 0x14015f8f0
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
nop word [rax + rax]
mov qword [rax], rcx
lea rax, [rax + 8]
mov rcx, qword [rcx]
sub rdx, 1
jne 0x14015f8e0
lea r9, [0x14015e390]
mov r8d, 8
mov rdx, rbx
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
test ebx, ebx
je 0x14015f972
mov rsi, r12
mov rbx, qword [rsi]
mov rcx, rbx
call fcn.140121320
mov r14d, eax
test eax, eax
je 0x14015f95f
mov r8, qword [rbx + 8]
lea rdx, str.warning:__set_times_attribs_failed_for__s_n
lea rcx, [0x140487178]
inc r15d
call fcn.1400e1500
mov r8d, eax
lea rdx, [0x140487178]
mov r9d, 0x201
lea rcx, [0x1403a7080]
call qword [0x140497538]
test edi, edi
cmove edi, r14d
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add rsi, 8
sub rbp, 1
jne 0x14015f910
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp dword [0x1403a70d0], r13d
jne 0x14015f9c2
cmp dword [0x1403a70c4], r13d
jne 0x14015f9c2
test r15d, r15d
je 0x14015f9c2
mov r8d, r15d
lea rdx, str._____failed_setting_times_attribs_for__lu_dir_entries
lea rcx, [0x140487178]
call fcn.1400e1500
mov r8d, eax
lea rdx, [0x140487178]
xor r9d, r9d
lea rcx, [0x1403a7080]
call qword [0x140497538]
mov r15d, dword [rsp + 0xd8]
mov rsi, qword [rsp + 0x58]
mov r12d, 0xb
mov ebp, dword [rsp + 0xd0]
test rsi, rsi
je 0x14015fa51
test ebp, ebp
je 0x14015fa48
mov ecx, dword [0x1403a7110]
mov ebx, r13d
test ecx, ecx
je 0x14015fa48
mov eax, ebx
cmp dword [rsi + rax*4], r13d
jne 0x14015fa42
mov r8, qword [0x1403a7150]
lea rdx, str.caution:_filename_not_matched:___s_n
lea rcx, [0x140487178]
mov r8, qword [r8 + rax*8]
call fcn.1400e1500
mov r8d, eax
lea rdx, [0x140487178]
mov r9d, 1
lea rcx, [0x1403a7080]
call qword [0x140497538]
mov ecx, dword [0x1403a7110]
cmp edi, 1
cmovle edi, r12d
inc ebx
cmp ebx, ecx
jb 0x14015f9f2
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x14015facb
test ebp, ebp
je 0x14015fac2
mov ecx, dword [0x1403a7114]
test ecx, ecx
je 0x14015fac2
nop dword [rax]
mov eax, r13d
cmp dword [rbx + rax*4], 0
jne 0x14015faba
mov r8, qword [0x1403a7158]
lea rdx, str.caution:_excluded_filename_not_matched:___s_n
lea rcx, [0x140487178]
mov r8, qword [r8 + rax*8]
call fcn.1400e1500
mov r8d, eax
lea rdx, [0x140487178]
mov r9d, 0x401
lea rcx, [0x1403a7080]
call qword [0x140497538]
mov ecx, dword [0x1403a7114]
inc r13d
cmp r13d, ecx
jb 0x14015fa70
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test ebp, ebp
je 0x14015fd0d
mov eax, dword [rsp + 0xe8]
test eax, eax
je 0x14015fb4c
lea rdx, str._nnote:__didnt_find_end_of_central_dir_signature_at_end_of_central_dir._n
lea rcx, [0x140487178]
call fcn.1400e1500
mov r8d, eax
lea rdx, [0x140487178]
mov r9d, 0x401
lea rcx, [0x1403a7080]
call qword [0x140497538]
lea rdx, 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
lea rcx, [0x140487178]
call fcn.1400e1500
mov r8d, eax
lea rdx, [0x140487178]
mov r9d, 0x401
lea rcx, [0x1403a7080]
call qword [0x140497538]
test edi, edi
mov r13d, 1
cmove edi, r13d
jmp 0x14015fb52
mov r13d, 1
cmp dword [0x1403a70d0], 0
mov ebp, dword [rsp + 0x44]
mov ebx, dword [rsp + 0x48]
je 0x14015fcc9
mov r9d, ebp
sub r9d, ebx
cmp dword [0x1403a70c4], 2
jge 0x14015fcc9
lea r14, [0x1402b3878]
lea rsi, [0x14020443c]
test edi, edi
je 0x14015fbb9
mov r9, qword [0x1404971b8]
lea rax, str.warning_
cmp edi, 1
lea rdx, str.At_least_one__serror_was_detected_in__s._n
mov r8, r14
lea rcx, [0x140487178]
cmove r8, rax
call fcn.1400e1500
jmp 0x14015fc31
test r9d, r9d
jne 0x14015fbda
mov r8, qword [0x1404971b8]
lea rdx, str.Caution:__zero_files_tested_in__s._n
lea rcx, [0x140487178]
call fcn.1400e1500
jmp 0x14015fc31
cmp dword [0x1403a7118], 0
je 0x14015fc07
lea eax, [rbx + r15]
test eax, eax
jne 0x14015fc07
mov r8, qword [0x1404971b8]
lea rdx, str.No_errors_detected_in_compressed_data_of__s._n
lea rcx, [0x140487178]
call fcn.1400e1500
jmp 0x14015fc31
mov r8, qword [0x1404971b8]
lea rdx, str.No_errors_detected_in__s_for_the__lu_file_s_tested._n
cmp r9d, 1
lea rcx, [0x140487178]
mov rax, rsi
cmove rax, r14
mov qword [rsp + 0x20], rax
call fcn.1400e1500
xor r9d, r9d
lea rdx, [0x140487178]
mov r8d, eax
lea rcx, [0x1403a7080]
call qword [0x140497538]
test r15d, r15d
je 0x14015fc8b
cmp r15d, 1
lea rdx, str._lu_file_s_skipped_because_of_unsupported_compression_or_encoding._n
mov r9, rsi
lea rcx, [0x140487178]
cmove r9, r14
mov r8d, r15d
call fcn.1400e1500
mov r8d, eax
lea rdx, [0x140487178]
xor r9d, r9d
lea rcx, [0x1403a7080]
call qword [0x140497538]
test ebx, ebx
je 0x14015fcc9
cmp ebx, 1
lea rdx, str._lu_file_s_skipped_because_of_incorrect_password._n
mov r8d, ebx
lea rcx, [0x140487178]
cmove rsi, r14
mov r9, rsi
call fcn.1400e1500
mov r8d, eax
lea rdx, [0x140487178]
xor r9d, r9d
lea rcx, [0x1403a7080]
call qword [0x140497538]
test ebp, ebp
jne 0x14015fce2
cmp edi, 1
jg 0x14015fce2
test r15d, r15d
mov edi, r12d
mov eax, 0x51
cmovne edi, eax
jmp 0x14015fd0d
cmp ebp, ebx
jne 0x14015fcf2
cmp edi, 1
jg 0x14015fcf2
mov edi, 0x52
jmp 0x14015fd0d
test r15d, r15d
je 0x14015fd03
cmp edi, 1
jg 0x14015fd03
mov edi, 0x51
jmp 0x14015fd0d
test ebx, ebx
je 0x14015fd0d
test edi, edi
cmove edi, r13d
mov rbp, qword [rsp + 0x90]
mov eax, edi
mov rbx, qword [rsp + 0x98]
mov r14, qword [rsp + 0x88]
add rsp, 0xa0
pop r15
pop r13
pop r12
pop rdi
pop rsi
ret