Function at 0x140047200
Capabilities:
Read file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], 0xfffffffffffffffe
mov r14, qword [rbp + 0x88]
mov rdi, qword [rdx + 0x58]
test rdi, rdi
je 0x140047269
mov rbx, r9
mov r13, r8
mov r12, rdx
mov rcx, qword [rdx + 8]
cmp rdi, 0x101cf
jg 0x14004727d
xor edx, edx
xor r8d, r8d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fseeki64]
mov esi, eax
test esi, esi
je 0x14004729b
lea rax, str.Unexpected_problem_seeking_central_directory.
mov qword [r14], rax
jmp 0x1400473a1
lea rax, str.Empty_zip_file
mov qword [r14], rax
mov esi, 0xffffffff
jmp 0x1400473a1
mov rdx, 0xfffffffffffefe30
mov r8d, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fseeki64]
mov esi, eax
mov edi, 0x101d0
test esi, esi
jne 0x14004725a
mov qword [r14], 0
mov rcx, qword [r12 + 8]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__ftelli64]
mov qword [rbp - 8], rax
mov rax, rdi
shl rax, 0x20
movsxd rsi, edi
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0
je 0x1400472f8
js 0x1400475d0
movabs rcx, 0xfff00000001
cmp rax, rcx
jb 0x140047300
lea rcx, [rsi + 0x27]
call fcn.140117ae8
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x14004730b
xor r14d, r14d
xor r15d, r15d
jmp 0x140047328
mov rcx, rsi
call fcn.140117ae8
mov r15, rax
mov qword [rbp - 0x20], r15
lea r14, [r15 + rsi]
mov qword [rbp - 0x10], r14
mov rcx, r15
xor edx, edx
mov r8, rsi
call fcn.1400af920
mov qword [rbp - 0x18], r14
mov r9, qword [r12 + 8]
mov edx, 1
mov rcx, r15
mov r8, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rdi, rax
cmp rax, rsi
jne 0x1400473b7
lea rcx, [r15 + rdi]
add rcx, 0xfffffffffffffffc
lea rax, str.Couldnt_find_end_of_central_directory
cmp rcx, r15
jae 0x1400473d8
mov rcx, qword [rbp + 0x88]
mov qword [rcx], rax
mov esi, 1
test r15, r15
je 0x1400473a1
sub r14, r15
cmp r14, 0x1000
jb 0x140047396
mov rax, qword [r15 - 8]
add r15, 0xfffffffffffffff8
sub r15, rax
cmp r15, 0x20
jae 0x1400475d5
add r14, 0x27
mov r15, rax
mov rcx, r15
mov rdx, r14
call fcn.140117b2c
mov eax, esi
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, str.ZipFileRead
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
lea rcx, [r15 + rdi]
add rcx, 0xfffffffffffffffc
lea rax, str.Couldnt_find_end_of_central_directory
cmp rcx, r15
jb 0x14004735a
mov qword [rbp], r13
mov rcx, qword [rbp + 0x80]
lea r13, [rdi + r15]
add r13, 0x12
mov rdx, qword [rbp - 8]
add rdx, rdi
add rdx, 0xfffffffffffffffd
jmp 0x140047417
lea r8, [r13 - 1]
dec rdx
add r13, 0xffffffffffffffe9
cmp r13, r15
mov r13, r8
jb 0x14004735a
cmp byte [r13 - 0x16], 0x50
jne 0x140047400
cmp byte [r13 - 0x15], 0x4b
jne 0x140047400
cmp byte [r13 - 0x14], 5
jne 0x140047400
cmp byte [r13 - 0x13], 6
jne 0x140047400
test rdx, rdx
je 0x14004735a
cmp dword [r13 - 0x16], 0x6054b50
jne 0x1400474ad
movzx eax, word [r13 - 0x12]
cmp ax, word [r13 - 0x10]
jne 0x1400474b9
movzx esi, word [r13 - 0xc]
mov eax, dword [r13 - 0xa]
mov dword [rbp + 0xc], eax
mov edi, dword [r13 - 6]
movzx eax, word [r13 - 2]
test ax, ax
je 0x140047478
movzx r8d, ax
mov rdx, r13
call fcn.140008e70
movzx eax, si
mov rcx, qword [rbp]
mov qword [rcx], rdi
mov dword [rbx], eax
cmp ax, 0xffff
je 0x1400474c5
cmp dword [rbp + 0xc], 0xffffffff
je 0x1400474c5
xor esi, esi
cmp edi, 0xffffffff
je 0x1400474c5
mov rax, qword [rbp + 0x88]
cmp qword [rax], 0
jne 0x140047364
jmp 0x140047369
lea rax, str.Problem_parsing_Central_Directory_End_record.
jmp 0x14004735a
lea rax, str.Multidisk_ZIPs_arent_supported
jmp 0x14004735a
lea rax, str.Cant_find_Zip64_central_directory_record.
cmp byte [r13 - 0x2a], 0x50
jne 0x14004735a
cmp byte [r13 - 0x29], 0x4b
jne 0x14004735a
cmp byte [r13 - 0x28], 6
jne 0x14004735a
cmp byte [r13 - 0x27], 7
jne 0x14004735a
cmp dword [r13 - 0x2a], 0x7064b50
jne 0x140047559
cmp dword [r13 - 0x26], 0
lea rax, str.Split_or_spanned_ZIP_files_arent_supported
jne 0x14004735a
cmp dword [r13 - 0x1a], 1
ja 0x14004735a
mov r13, qword [r13 - 0x22]
mov rdx, r13
sub rdx, qword [rbp - 8]
jge 0x140047565
mov rcx, qword [r12 + 8]
mov rdx, r13
xor r8d, r8d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fseeki64]
test eax, eax
je 0x140047591
mov esi, eax
lea rax, str.Unexpected_problem_finding_offset_to_zip64_end.
mov rcx, qword [rbp + 0x88]
mov qword [rcx], rax
jmp 0x140047497
lea rax, str.Problem_parsing_Zip64_end_locator_record.
jmp 0x14004735a
add rdx, r15
lea rcx, [rbp - 0x60]
mov r8, qword [rbp + 0x88]
call fcn.1400482a0
xor esi, esi
test eax, eax
jne 0x140047497
mov eax, dword [rbp - 0x38]
mov dword [rbx], eax
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp]
jmp 0x1400475af
mov rcx, qword [r12 + 8]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__ftelli64]
cmp rax, r13
jge 0x1400475b9
lea rax, str.Invalid_Zip64_end_of_dir_offset
mov rcx, qword [rbp + 0x88]
mov qword [rcx], rax
xor esi, esi
jmp 0x140047497
mov rdx, qword [r12 + 8]
lea rcx, [rbp - 0x60]
mov r8, qword [rbp + 0x88]
call fcn.140048000
jmp 0x140047578
call fcn.140048780
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3