Function at 0x140026e00
Capabilities:
Read file on windows

Disassembly:
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov rbx, rcx
mov r15, r8
mov rdi, rdx
add rcx, 8
mov r8d, 0x40
mov rdx, qword [rbx]
call fcn.14001e170
mov rdx, qword [rbx + 0x30]
lea r8, [rsp + 0x68]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
imul r14, rdi, 0x78
mov rdx, qword [r14 + rdx + 0x38]
mov qword [rsp + 0x68], rdx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rcx, qword [rbx + 0x30]
add rcx, r14
mov eax, dword [rcx + 0x10]
test eax, eax
jne 0x140026ee1
mov ecx, dword [rcx + 8]
lea edx, [rax + 1]
add ecx, 0x100
call fcn.1402deebc
mov rsi, rax
xor edi, edi
mov rax, qword [rbx + 0x30]
mov r8, qword [r14 + rax + 8]
test r8, r8
je 0x140026ea1
mov dword [rsp + 0x68], edi
test r8d, r8d
je 0x140026ea1
mov rcx, qword [rbx + 0x10]
lea r9, [rsp + 0x68]
mov rdx, rsi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x140026eb4
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x10], rdi
mov r8, qword [rbx + 0x30]
mov rdx, rsi
mov rcx, r15
mov r8, qword [r14 + r8 + 8]
call fcn.1402d15b0
mov rcx, rsi
call fcn.1402d83b4
mov eax, 1
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret
cmp eax, 1
jne 0x140026f84
mov ecx, dword [rcx]
mov edx, eax
add ecx, 0x100
call fcn.1402deebc
mov rcx, qword [rbx + 0x30]
xor edi, edi
mov rsi, rax
mov r8, qword [r14 + rcx]
test r8, r8
je 0x140026f2b
mov dword [rsp + 0x68], edi
test r8d, r8d
je 0x140026f2b
mov rcx, qword [rbx + 0x10]
lea r9, [rsp + 0x68]
mov rdx, rax
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x140026f3e
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x10], rdi
mov rax, qword [rbx + 0x30]
lea r9, [rsp + 0x68]
mov r8, r15
mov ecx, dword [r14 + rax + 0x14]
xor dword [rsi], ecx
mov rcx, rsi
mov rdx, qword [rbx + 0x30]
mov eax, dword [rdx + r14 + 8]
mov rdx, qword [rdx + r14]
mov qword [rsp + 0x68], rax
call fcn.140033e50
mov rcx, rsi
call fcn.1402d83b4
mov eax, 1
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret
xor edi, edi
mov qword [rsp + 0x70], rbp
mov ebp, edi
cmp qword [rcx + 8], rdi
jbe 0x140027044
nop word [rax + rax]
mov rcx, qword [rbx + 0x10]
lea r9, [rsp + 0x68]
mov r8d, 4
mov dword [rsp + 0x68], edi
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [rsp + 0x60]
mov edx, 1
add ecx, 0x100
call fcn.1402deebc
mov r8d, dword [rsp + 0x60]
mov rsi, rax
mov dword [rsp + 0x68], edi
test r8d, r8d
je 0x140026fff
mov rcx, qword [rbx + 0x10]
lea r9, [rsp + 0x68]
mov rdx, rax
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, qword [rbx + 0x30]
lea r9, [rsp + 0x68]
mov r8, r15
mov eax, dword [r14 + rcx + 8]
mov qword [rsp + 0x68], rax
mov eax, dword [r14 + rcx + 0x14]
mov rcx, rsi
xor dword [rsi], eax
mov edx, dword [rsp + 0x60]
call fcn.140033e50
add rbp, qword [rsp + 0x68]
mov rcx, rsi
call fcn.1402d83b4
mov rax, qword [rbx + 0x30]
cmp rbp, qword [r14 + rax + 8]
jb 0x140026fa0
mov rcx, qword [rbx + 0x10]
mov rbp, qword [rsp + 0x70]
test rcx, rcx
je 0x14002705c
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x10], rdi
mov eax, 1
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret