Function at 0x14000e7d0
Capabilities:
Read file on windows
Read pipe

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x30
xor r14d, r14d
mov rsi, r9
mov rdi, r8
mov rbp, rdx
mov rbx, rcx
mov dword [rsp + 0x60], r14d
cmp qword [rcx + 0x20], r14
jne 0x14000e889
cmp byte [rcx + 0x10], r14b
je 0x14000e889
mov rcx, qword [rcx + 8]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], r14
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
jne 0x14000e869
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14000e843
mov eax, r14d
mov qword [rsi], r14
add rsp, 0x30
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x1117e
mov qword [rsi], r14
add eax, 0xafc80
cmp eax, 0xafced
cmove eax, edx
add rsp, 0x30
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, dword [rsp + 0x70]
test eax, eax
jne 0x14000e884
mov qword [rsi], r14
mov eax, ioctlsocket
add rsp, 0x30
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp edi, eax
cmova edi, eax
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14000e8b3
cmp byte [rbx + 0x10], r14b
jne 0x14000e8b3
mov eax, dword [rbx + 0x80]
mov dword [rcx + 0x10], eax
mov rcx, qword [rbx + 0x80]
mov rax, qword [rbx + 0x18]
sar rcx, 0x20
mov dword [rax + 0x14], ecx
mov rax, qword [rbx + 0x18]
lea r9, [rsp + 0x60]
mov rcx, qword [rbx + 8]
mov r8d, edi
mov rdx, rbp
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14000e8dd
mov edx, r14d
jmp 0x14000e9e5
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14000e8ef
mov edx, r14d
jmp 0x14000e9e5
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [rax + 0xafc80]
cmp edx, 0xb0065
jne 0x14000e9ca
mov qword [rsp + 0x68], r15
mov ebp, 0xffffffff
movabs r15, 0x20c49ba5e353f7cf
nop dword [rax + rax]
mov rcx, qword [rbx + 0x20]
test rcx, rcx
jle 0x14000e93f
mov rax, r15
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
jmp 0x14000e949
cmp rcx, 0xffffffffffffffff
mov edx, r14d
cmove edx, ebp
mov rcx, qword [rbx + 0x18]
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, eax
cmp eax, 0x80
je 0x14000e920
mov r15, qword [rsp + 0x68]
test eax, eax
je 0x14000e973
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CancelIo]
mov rdx, qword [rbx + 0x18]
lea r8, [rsp + 0x60]
mov rcx, qword [rbx + 8]
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_GetOverlappedResult]
test eax, eax
je 0x14000e995
mov edx, r14d
jmp 0x14000e9e5
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14000e9a4
mov edx, r14d
jmp 0x14000e9e5
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [rax + 0xafc80]
lea eax, [rdx - 0xb0063]
cmp eax, 1
ja 0x14000e9ca
cmp edi, 0x102
jne 0x14000e9ca
mov edx, 0x11177
jmp 0x14000ea03
cmp edx, 0xafced
jne 0x14000e9d9
mov edx, 0x1117e
jmp 0x14000ea03
cmp edx, 0xafca6
je 0x14000e9d2
test edx, edx
jne 0x14000ea03
cmp dword [rsp + 0x60], r14d
je 0x14000e9d2
cmp qword [rbx + 0x18], r14
je 0x14000ea03
cmp byte [rbx + 0x10], r14b
jne 0x14000ea03
mov ecx, dword [rsp + 0x60]
add qword [rbx + 0x80], rcx
mov ecx, dword [rsp + 0x60]
mov eax, edx
mov qword [rsi], rcx
add rsp, 0x30
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret