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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rax, rcx
xor edi, edi
and qword [r11 - 0x60], rdi
lea rcx, [rbp - 0x1c]
and dword [rbp - 0x20], edi
mov r15, r9
and dword [rbp - 0x1c], edi
mov r13, r8
mov qword [r11 - 0x68], rcx
xor r12d, r12d
mov rcx, rax
mov qword [rbp - 0x10], r12
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor r14d, r14d
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
je 0x1800239c7
mov rsi, qword [rbp + 0x60]
mov eax, dword [rbp - 0x1c]
mov dword [rbp - 0x18], eax
test eax, eax
je 0x1800239f3
mov qword [rbp - 8], rdi
test rsi, rsi
je 0x180023895
mov rbx, qword [rsi]
jmp 0x180023897
xor ebx, ebx
inc rax
mov ecx, r14d
add rcx, rax
add rcx, rbx
call fcn.180053730
mov rdi, rax
test rax, rax
je 0x18002399b
test rbx, rbx
je 0x1800238d7
mov rdx, qword [r15]
mov r8, rbx
mov rcx, rax
call fcn.180045f30
mov rcx, qword [r15]
call fcn.180053728
and qword [r15], 0
and qword [rsi], 0
test r14d, r14d
je 0x1800238f4
lea rcx, [rbx + rdi]
mov r8d, r14d
mov rdx, r12
call fcn.180045f30
mov rcx, qword [rbp - 8]
call fcn.180053728
mov r8d, dword [rbp - 0x18]
lea r9, [rbp - 0x20]
mov rcx, qword [rbp + 0x40]
and dword [rbp - 0x20], 0
and qword [rsp + 0x20], 0
mov edx, r14d
add rdx, rbx
add rdx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1800239a6
mov eax, dword [rbp - 0x20]
test eax, eax
je 0x1800239a6
mov r9, qword [rbp + 0x48]
lea r8, [rbp - 0x10]
mov edx, r14d
mov rcx, rdi
add rax, rdx
mov qword [rsp + 0x20], r13
add rax, rbx
add ebx, r14d
mov byte [rax + rdi], 0
mov edx, dword [rbp - 0x20]
add edx, ebx
call fcn.180023eac
mov r14d, dword [rbp - 0x20]
add r14d, ebx
sub r14d, eax
jne 0x180023968
mov rcx, rdi
call fcn.180053728
xor edi, edi
and qword [rsp + 0x28], 0
lea rax, [rbp - 0x1c]
mov rcx, qword [rbp + 0x40]
xor r9d, r9d
and dword [rbp - 0x1c], 0
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
mov r12, qword [rbp - 0x10]
test eax, eax
jne 0x180023879
jmp 0x1800239a6
mov ecx, 8
call qword [sym.imp.KERNEL32.dll_SetLastError]
test r14d, r14d
je 0x1800239ba
test r13, r13
je 0x1800239ba
mov rcx, qword [rbp + 0x48]
mov rdx, r12
call r13
test rdi, rdi
je 0x1800239c7
mov rcx, rdi
call fcn.180053728
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x1800239d9
cmp eax, 0xe8
jne 0x180023a22
xor eax, eax
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test r13, r13
je 0x180023a72
test r14d, r14d
je 0x180023a72
test r15, r15
je 0x180023a72
mov rdi, qword [rsi]
lea rcx, [rdi + 1]
add rcx, r14
call fcn.180053730
mov rbx, rax
test rax, rax
jne 0x180023a27
lea ecx, [rax + 8]
call qword [sym.imp.KERNEL32.dll_SetLastError]
or eax, 0xffffffff
jmp 0x1800239db
lea r8, [rdi + 1]
xor edx, edx
add r8, r14
mov rcx, rbx
call fcn.180046390
mov rax, qword [rsi]
test rax, rax
je 0x180023a59
mov rdx, qword [r15]
mov r8, rax
mov rcx, rbx
call fcn.180045f30
mov rcx, qword [r15]
call fcn.180053728
mov rax, qword [rsi]
lea rcx, [rax + rbx]
mov r8, r14
mov rdx, r12
call fcn.180045f30
lea rax, [rdi + r14]
mov qword [r15], rbx
mov qword [rsi], rax
mov eax, 1
jmp 0x1800239db