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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov r14, rcx
and qword [rbp - 0x28], 0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rdx
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
and qword [rbp - 0x30], 0
mov ecx, 0x4027
call fcn.1400032e4
test rax, rax
je 0x140001ca1
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
mov qword [rbp - 0x40], rdi
lea rsi, [rdi + 0x4000]
mov qword [rbp - 0x30], rsi
mov ebx, 0x4000
mov r8d, ebx
xor edx, edx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memset
mov r15, rsi
mov qword [rbp - 0x38], rsi
and dword [rbp + 0x40], 0
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, ebx
mov rdx, rdi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x140001c6b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x140001b1e
cmp eax, 0xea
jne 0x140001c1f
xor ebx, ebx
lea r9d, [rbx + 1]
lea r8, [rbp + 0x38]
lea rdx, [rbp - 0x28]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetOverlappedResult]
test eax, eax
jne 0x140001b41
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov edx, dword [rbp + 0x40]
add edx, dword [rbp + 0x38]
mov dword [rbp + 0x40], edx
cmp ebx, 0xea
jne 0x140001c1b
and dword [rbp + 0x48], 0
and qword [rsp + 0x28], 0
lea rax, [rbp + 0x48]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
je 0x140001c1f
mov eax, dword [rbp + 0x48]
test eax, eax
je 0x140001c1f
mov ecx, dword [rbp + 0x38]
lea ebx, [rcx + rax]
mov eax, 0x4000
cmp rbx, rax
jae 0x140001ba7
lea rax, [rbx + rdi]
mov qword [rbp - 0x38], rax
jmp 0x140001be8
jbe 0x140001be8
mov rax, rsi
sub rax, rdi
cmp rbx, rax
jbe 0x140001bca
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.140002b28
mov rsi, qword [rbp - 0x30]
mov rdi, qword [rbp - 0x40]
jmp 0x140001be5
add rbx, 0xffffffffffffc000
mov r8, rbx
xor edx, edx
mov rcx, r15
call sub.VCRUNTIME140.dll_memset
add r15, rbx
mov qword [rbp - 0x38], r15
mov ecx, dword [rbp + 0x38]
mov r8, rsi
sub r8, rdi
sub r8d, ecx
mov edx, ecx
add rdx, rdi
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x38]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140001c1f
mov edx, dword [rbp + 0x40]
add edx, dword [rbp + 0x38]
mov dword [rbp + 0x40], edx
jmp 0x140001c8d
test ebx, ebx
je 0x140001c8d
xor bl, bl
test rdi, rdi
je 0x140001c55
sub rsi, rdi
mov r8, rdi
cmp rsi, 0x1000
jb 0x140001c4a
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub r8, rdi
add r8, 0xfffffffffffffff8
cmp r8, 0x1f
ja 0x140001ca1
mov rdx, rsi
mov rcx, rdi
call fcn.14000309c
mov al, bl
mov rbx, qword [rsp + 0xa0]
add rsp, 0x70
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov r9d, 1
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x28]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetOverlappedResult]
test eax, eax
je 0x140001c1f
mov edx, dword [rbp + 0x40]
test edx, edx
je 0x140001c1f
cmp dword [rdi], 1
jne 0x140001c1f
mov r8, r14
mov rcx, rdi
call fcn.140001778
mov bl, al
jmp 0x140001c21
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3