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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x468]
sub rsp, 0x568
mov rax, qword [0x1400e5010]
xor rax, rsp
mov qword [rbp + 0x450], rax
mov rbx, r9
mov qword [rsp + 0x50], rbx
mov r14, r8
mov r15, rdx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x60], rdx
xor edi, edi
mov dword [rsp + 0x34], edi
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
call fcn.140077020
lea r8, str.ProcessManagement::ProcessManager::GetOutput
mov rdx, qword [rax]
lea rcx, [rbp]
call fcn.140026d50
nop
xor r12b, r12b
xor sil, sil
mov qword [r15], rdi
mov qword [r15 + 0x10], rdi
mov qword [r15 + 0x18], 0xf
mov byte [r15], sil
mov dword [rsp + 0x34], 1
movzx eax, byte [rbx + 8]
mov byte [rsp + 0x30], al
test al, al
je 0x14002c1ac
mov rbx, qword [rbx]
jmp 0x14002c1b1
mov ebx, 0x7530
call fcn.14007cf78
mov rdi, rax
call fcn.14007cf5c
cmp rdi, 0x989680
jne 0x14002c1cd
imul rax, rax, 0x64
jmp 0x14002c1e8
cqo
idiv rdi
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
add rax, rcx
imul r13, rbx, 0xf4240
add r13, rax
xor edi, edi
call fcn.14007cf78
mov rbx, rax
call fcn.14007cf5c
cmp rbx, 0x989680
jne 0x14002c210
imul rax, rax, 0x64
jmp 0x14002c22b
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp rax, r13
jge 0x14002c69b
test r12b, r12b
jne 0x14002c69b
mov dword [rbp - 0x20], edi
mov qword [rsp + 0x28], rdi
lea rax, [rbp - 0x20]
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 0x14002c755
mov r8d, dword [rbp - 0x20]
test sil, sil
je 0x14002c279
test r8d, r8d
je 0x14002c563
test r8d, r8d
je 0x14002c40f
mov dword [rbp - 0x1c], edi
xorps xmm0, xmm0
mov rbx, r8
movdqu xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], rdi
cmp rbx, 0x1000
jb 0x14002c2cc
lea rcx, [r8 + 0x27]
cmp rcx, rbx
jbe 0x14002c770
lfence
call fcn.140079488
mov rcx, rax
test rax, rax
je 0x14002c77c
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14002c2d7
lfence
mov rcx, rbx
call fcn.140079488
mov qword [rbp - 0x18], rax
lea rdi, [rax + rbx]
mov qword [rbp - 8], rdi
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.14007f9f0
mov qword [rbp - 0x10], rdi
mov r8d, dword [rbp - 0x20]
xor edi, edi
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x1c]
mov rdx, qword [rbp - 0x18]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14002c7a5
mov eax, dword [rbp - 0x1c]
cmp dword [rbp - 0x20], eax
jne 0x14002c782
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], dil
mov rbx, qword [rbp - 0x10]
mov rdi, qword [rbp - 0x18]
mov rdx, rbx
sub rdx, rdi
lea rcx, [rbp - 0x40]
call fcn.14002d830
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp - 0x40]
call fcn.14002e080
nop
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x30]
mov rcx, r15
call fcn.14000d0e0
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x14002c3b5
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002c3b0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002c776
call fcn.140079480
mov byte [rbp - 0x40], 0
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x14002c403
mov rdx, qword [rbp - 8]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002c3ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002c77c
call fcn.140079480
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x18], xmm0
xor edi, edi
mov qword [rbp - 8], rdi
jmp 0x14002c405
xor edi, edi
cmp dword [rbp - 0x20], 0
ja 0x14002c240
test sil, sil
jne 0x14002c1f4
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 8]
mov edx, 0x64
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x14002c4d8
cmp eax, 0x102
je 0x14002c1f4
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x120]
call fcn.14007f9f0
call fcn.140077020
mov rcx, qword [rax]
mov qword [rbp + 0x120], rcx
mov dword [rbp + 0x128], 2
lea rcx, [rbp + 0x130]
call fcn.140018e90
nop
mov rcx, qword [rbp + 0x120]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14001dc6b.0]
cmp dword [rbp + 0x128], eax
setl byte [rbp + 0x228]
jl 0x14002c4cc
lea rcx, [rbp + 0x120]
call fcn.14002dc00
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x38], eax
lea rdx, [rsp + 0x38]
mov rcx, rbx
call fcn.14002a2e0
mov byte [rbp + 0x228], 1
lea rcx, [rbp + 0x120]
call fcn.140026c90
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x230]
call fcn.14007f9f0
call fcn.140077020
mov rcx, qword [rax]
mov qword [rbp + 0x230], rcx
mov dword [rbp + 0x238], edi
lea rcx, [rbp + 0x240]
call fcn.140018e90
nop
mov rcx, qword [rbp + 0x230]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14001dc6b.0]
cmp dword [rbp + 0x238], eax
setl byte [rbp + 0x338]
jl 0x14002c687
lea rdx, str.Process_has_exited_after
lea rcx, [rbp + 0x230]
call fcn.14002dd40
mov rsi, rax
cmp byte [rsp + 0x30], 0
je 0x14002c5f0
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
jmp 0x14002c5f5
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x10]
call fcn.14007f9f0
call fcn.140077020
mov rcx, qword [rax]
mov qword [rbp + 0x10], rcx
mov dword [rbp + 0x18], edi
lea rcx, [rbp + 0x20]
call fcn.140018e90
nop
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14001dc6b.0]
cmp dword [rbp + 0x18], eax
setl byte [rbp + 0x118]
jl 0x14002c5df
lea rcx, [rbp + 0x10]
call fcn.14002dc70
mov rcx, rax
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
call fcn.14002a240
lea rdx, str._bytes_in_total.
mov rcx, rax
call fcn.14002dce0
mov byte [rbp + 0x118], 1
lea rcx, [rbp + 0x10]
call fcn.140026c90
mov r12b, 1
jmp 0x14002c1f4
mov eax, 0x7530
imul rcx, rax, 0xf4240
mov rbx, r13
sub rbx, rcx
call fcn.14007cf78
mov rdi, rax
call fcn.14007cf5c
cmp rdi, 0x989680
jne 0x14002c61e
imul rcx, rax, 0x64
jmp 0x14002c63f
cqo
idiv rdi
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
mov rcx, rax
imul rax, r8, 0x3b9aca00
add rcx, rax
sub rcx, rbx
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rsp + 0x58], rdx
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.14002dda0
lea rdx, [0x1400c5104]
mov rcx, rax
call fcn.140028f60
mov byte [rbp + 0x338], 1
xor edi, edi
lea rcx, [rbp + 0x230]
call fcn.140026c90
mov sil, 1
jmp 0x14002c1f4
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x340]
call fcn.14007f9f0
call fcn.140077020
mov rcx, qword [rax]
mov qword [rbp + 0x340], rcx
mov dword [rbp + 0x348], edi
lea rcx, [rbp + 0x350]
call fcn.140018e90
nop
mov rcx, qword [rbp + 0x340]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14001dc6b.0]
cmp dword [rbp + 0x348], eax
setl byte [rbp + 0x448]
jl 0x14002c719
lea rdx, str.Process_output:
lea rcx, [rbp + 0x340]
call fcn.14002dce0
mov rdx, r15
mov rcx, rax
call fcn.1400275b0
mov byte [rbp + 0x448], 1
lea rcx, [rbp + 0x340]
call fcn.140026c90
nop
lea rcx, [rbp]
call fcn.140026f60
mov rax, r15
mov rcx, qword [rbp + 0x450]
xor rcx, rsp
call fcn.140079460
add rsp, 0x568
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rdx, str.::PeekNamedPipe___failed_while_trying_to_read_stdout_from_process.
lea rcx, [rbp - 0x60]
call fcn.14000a700
nop
lea rcx, [rbp - 0x60]
call fcn.14002bfd0
nop
call fcn.140005510
nop
call fcn.140086b94
nop
call fcn.140086b94
nop
lea rdx, str.Number_of_bytes_read_from_::ReadFile___differed_from_expected_number_of_bytes_available.
lea rcx, [rsp + 0x68]
call fcn.140005640
lea rdx, [0x1400e26d0]
lea rcx, [rsp + 0x68]
call fcn.14007f918
int3
lea rdx, str.::ReadFile___failed_while_trying_to_read_stdout_from_process.
lea rcx, [rbp - 0x80]
call fcn.14000a700
nop
lea rcx, [rbp - 0x80]
call fcn.14002bfd0
int3