Function at 0x180064230
Capabilities:
Read file on windows

Disassembly:
push rsi
push r12
push r13
sub rsp, 0x30
cmp dword [rcx + 0x70], 0
mov r13, r9
mov esi, r8d
mov eax, edx
mov r12, rcx
jne 0x180062ddd
add rcx, 0xfffffffffffffff8
add rsp, 0x30
pop r13
pop r12
pop rsi
jmp 0x180064230
mov qword [rsp + 0x50], rbx
xor edx, edx
mov qword [rsp + 0x58], rbp
div dword [rcx + 0x36c]
mov qword [rsp + 0x60], rdi
xor ebx, ebx
mov qword [rsp + 0x68], r14
mov edi, eax
test r8d, r8d
je 0x180062e55
nop word [rax + rax]
mov ebp, dword [r12 + 0x36c]
mov ecx, esi
mov r8d, edx
sub ecx, ebx
sub ebp, edx
mov edx, edi
cmp ecx, ebp
cmovb ebp, ecx
mov ecx, ebx
shl ecx, 9
mov r9d, ebp
add rcx, r13
mov qword [rsp + 0x20], rcx
lea rcx, [r12 - 8]
call fcn.1800644b0
test eax, eax
js 0x180062e57
cmp eax, 1
je 0x180062e57
add ebx, ebp
inc edi
xor edx, edx
cmp ebx, esi
jb 0x180062e10
xor eax, eax
mov rdi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x68]
add rsp, 0x30
pop r13
pop r12
pop rsi
ret
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x50
mov r12d, r8d
mov ebp, edx
mov r13, rcx
shl r8d, 9
xor edx, edx
mov rcx, r9
call fcn.18006cf60
mov rax, qword [r13 + 0x3c8]
mov rsi, qword [r13 + 0x3a0]
mov rbx, qword [rax]
mov r15d, r12d
mov qword [rsp + 0x48], r14
mov rdi, qword [r13 + 0x3c8]
test rsi, rsi
je 0x180064295
cmp rsi, qword [r13 + 0x3a0]
je 0x18006429a
call fcn.18006aa4c
cmp rbx, rdi
je 0x180064490
test r15d, r15d
jle 0x180064490
test rsi, rsi
jne 0x1800642bb
call fcn.18006aa4c
xor r11d, r11d
jmp 0x1800642be
mov r11, qword [rsi]
cmp rbx, qword [r11 + 0x28]
jne 0x1800642c9
call fcn.18006aa4c
mov ecx, dword [rbx + 0x10]
lea r14d, [rbp + r12]
cmp ecx, r14d
jae 0x180064464
mov r8d, dword [rbx + 0x14]
add r8d, ecx
cmp r8d, ebp
jbe 0x180064464
mov eax, dword [rbx + 0x18]
cmp ecx, ebp
mov edx, ebp
cmova edx, ecx
cmp r8d, r14d
cmovb r14d, r8d
sub eax, ecx
sub r14d, edx
lea ecx, [rdx + rax]
sub edx, ebp
mov rbp, qword [r13 + 0x70]
shl edx, 9
shl rcx, 9
mov edi, r14d
mov r12d, edx
mov qword [rsp + 0x38], rcx
add r12, qword [rsp + 0xa8]
shl edi, 9
test edi, edi
je 0x18006444a
cmp rbp, 0xffffffffffffffff
je 0x180064489
test r12, r12
je 0x180064489
mov rax, rcx
cqo
and edx, 0x1ff
add rax, rdx
and eax, 0x1ff
cmp rax, rdx
jne 0x180064420
test edi, 0x1ff
jne 0x180064420
mov rdx, rcx
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x180064389
call fcn.180003180
jmp 0x180064441
xor eax, eax
lea r9, [rsp + 0x30]
mov r8d, edi
mov rdx, r12
mov rcx, rbp
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x18006444a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6f8
je 0x1800643d2
cmp eax, 0x3e6
je 0x1800643d2
test eax, eax
jle 0x180064441
movzx eax, ax
or eax, 0x80070000
jmp 0x180064441
lea rcx, [r13 + 0x10]
mov edx, edi
call fcn.180003da0
test eax, eax
js 0x180064441
cmp eax, 1
je 0x180064441
mov rdx, qword [r13 + 0x10]
lea r9, [rsp + 0x30]
mov r8d, edi
mov rcx, rbp
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x18006440f
call fcn.180003180
jmp 0x180064441
mov rdx, qword [r13 + 0x10]
mov r8d, edi
mov rcx, r12
call fcn.18006c2d0
jmp 0x18006444a
lea r8, [rsp + 0x38]
lea rcx, [r13 + 0x10]
mov r9, r12
mov rdx, rbp
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], edi
call fcn.180003e10
test eax, eax
js 0x180064492
cmp eax, 1
je 0x180064492
mov r13, qword [rsp + 0x90]
mov ebp, dword [rsp + 0x98]
mov r12d, dword [rsp + 0xa0]
sub r15d, r14d
test rsi, rsi
jne 0x180064473
call fcn.18006aa4c
xor r11d, r11d
jmp 0x180064476
mov r11, qword [rsi]
cmp rbx, qword [r11 + 0x28]
jne 0x180064481
call fcn.18006aa4c
mov rbx, qword [rbx]
jmp 0x180064280
mov eax, 0x80070057
jmp 0x180064492
xor eax, eax
mov r14, qword [rsp + 0x48]
add rsp, 0x50
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret