Function at 0x14007e500
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x40
mov rax, qword [rcx + 0x40]
mov rbp, rcx
xor r13d, r13d
mov qword [rsp + 0x30], rax
mov rax, qword [rcx + 0x48]
lea r14, [0x14007e740]
mov qword [rsp + 0x38], rax
nop word [rax + rax]
xor r8d, r8d
lea rdx, [rsp + 0x30]
or r9d, 0xffffffff
lea ecx, [r8 + 2]
mov dword [rsp + 0x20], 1
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjectsEx]
test eax, eax
je 0x14007e725
cmp eax, 1
jne 0x14007e540
cmp qword [rbp + 0xc0], r13
je 0x14007e540
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [rbp + 0xb8]
mov r11, qword [rbp + 0x90]
mov r12, qword [rax]
test r11, r11
jne 0x14007e59e
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov r11, r13
jmp 0x14007e5a1
mov r11, qword [r11]
cmp r12, qword [r11 + 0x28]
jne 0x14007e5ad
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov rax, qword [rbp + 0xb8]
mov r11, qword [rbp + 0x90]
mov r12, qword [r12 + 0x10]
mov rbx, qword [rax]
test r11, r11
jne 0x14007e5d3
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov r11, r13
jmp 0x14007e5d6
mov r11, qword [r11]
cmp rbx, qword [r11 + 0x28]
jne 0x14007e5e2
call qword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp rbx, qword [rbp + 0xb8]
je 0x14007e60f
mov rdx, qword [rbx + 8]
mov rax, qword [rbx]
mov rcx, rbx
mov qword [rdx], rax
mov rdx, qword [rbx]
mov rax, qword [rbx + 8]
mov qword [rdx + 8], rax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void____ptr64_
dec qword [rbp + 0xc0]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rdx, qword [r12 + 0x10]
mov rcx, qword [r12 + 0x40]
lea r8, [rsp + 0x70]
xor r9d, r9d
mov dword [rsp + 0x70], r13d
call qword [sym.imp.KERNEL32.dll_GetOverlappedResult]
test eax, eax
je 0x14007e713
mov rcx, rbp
mov qword [rsp + 0x78], r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rsi, qword [rbp + 0xf0]
lea r9, [rsp + 0x78]
mov r8, qword [rsi + 8]
lea rcx, [rbp + 0xc8]
mov rdx, rsi
call fcn.14007ec20
lea rcx, [rbp + 0xc8]
mov edx, 1
mov rbx, rax
call fcn.14007ec90
mov qword [rsi + 8], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rbx
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r9, qword [r12 + 0x10]
mov r8d, dword [r12 + 0x470]
mov rdx, qword [r12 + 0x460]
mov rcx, qword [r12 + 0x40]
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_ReadFileEx]
test eax, eax
jne 0x14007e713
mov rcx, qword [r12 + 0x40]
cmp rcx, 0xffffffffffffffff
je 0x14007e6eb
call qword [sym.imp.KERNEL32.dll_CancelIo]
mov rcx, qword [r12 + 0x40]
call qword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
mov rcx, qword [r12 + 0x40]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [r12 + 0x40], 0xffffffffffffffff
mov rax, qword [r12 + 0x10]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14007e708
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r11, qword [r12 + 0x10]
mov qword [r11 + 0x18], r13
mov rdx, r12
mov rcx, rbp
call fcn.14007ea40
cmp qword [rbp + 0xc0], r13
jne 0x14007e574
jmp 0x14007e540
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret