Function at 0x14004c3f0
Capabilities:
Read pipe
Write pipe

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x190
mov rdi, r8
mov rbx, rdx
mov r14, rcx
mov rax, qword [0x140121038]
xor rax, rsp
mov qword [rsp + 0x188], rax
mov r15, qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp byte [r14 + 0x17], 0
mov rcx, r14
jns 0x14004c42d
mov rcx, qword [r14]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x110000
mov dword [rsp + 0x20], 3
mov edx, 0xc0000000
xor r8d, r8d
xor r9d, r9d
call r15
cmp rax, 0xffffffffffffffff
je 0x14004c4f8
mov rsi, rax
lea rdx, [rsp + 0x44]
mov dword [rdx], 2
mov rcx, rax
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
test eax, eax
je 0x14004c6a2
lea rax, [rsp + 0x40]
mov dword [rax], 0
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x20], 0xc
mov rcx, rsi
mov rdx, rbx
mov r8d, 0x24
mov r9, rdi
call qword [sym.imp.KERNEL32.dll_TransactNamedPipe]
test eax, eax
je 0x14004c63e
mov dil, 1
cmp dword [rsp + 0x40], 0xc
jne 0x14004c689
mov rcx, rsi
call fcn.14004cd50
mov rcx, qword [rsp + 0x188]
xor rcx, rsp
call fcn.140087020
mov eax, edi
add rsp, 0x190
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xe7
jne 0x14004c57d
cmp byte [r14 + 0x17], 0
mov rcx, r14
jns 0x14004c512
mov rcx, qword [r14]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
test eax, eax
jne 0x14004c420
mov ecx, 2
call fcn.140070d70
test al, al
je 0x14004c58b
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, [0x14010cf40]
lea rsi, [rsp + 0x48]
mov rcx, rsi
mov r8d, 0x71
mov r9d, 2
call fcn.1400d8610
lea rcx, [rsp + 0x58]
lea rdx, str.WaitNamedPipe
mov r8d, 0xd
call fcn.1400bc4d0
mov rcx, rsi
call fcn.1400d8690
jmp 0x14004c58b
mov ecx, 2
call fcn.140070d70
test al, al
jne 0x14004c592
xor edi, edi
jmp 0x14004c4d7
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, [0x14010cf40]
lea rsi, [rsp + 0x48]
mov rcx, rsi
mov r8d, 0x6c
mov r9d, 2
call fcn.1400d8610
lea rcx, [rsp + 0x58]
lea rdx, [0x14010cf8a]
mov r8d, 0xa
jmp 0x14004c56e
lea rdx, [0x14010cf40]
lea rdi, [rsp + 0x48]
mov rcx, rdi
mov r8d, 0x8c
mov r9d, 2
call fcn.14003aa70
lea rcx, [rsp + 0x58]
lea rdx, str.TransactNamedPipe:_expected
mov r8d, 0x1c
call fcn.1400bc4d0
mov edx, 0xc
mov rcx, rax
call fcn.140018e10
lea rdx, str.__observed
mov r8d, 0xb
mov rcx, rax
call fcn.1400bc4d0
mov edx, dword [rsp + 0x40]
mov rcx, rax
call fcn.140018bd0
mov rcx, rdi
call fcn.14003b060
jmp 0x14004c69b
mov ecx, 2
call fcn.140070d70
test al, al
je 0x14004c69b
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, [0x14010cf40]
lea rdi, [rsp + 0x48]
mov rcx, rdi
mov r8d, 0x88
mov r9d, 2
call fcn.1400d8610
lea rcx, [rsp + 0x58]
lea rdx, [0x14010cfbb]
mov r8d, 0x11
jmp 0x14004c6eb
mov ecx, 2
call fcn.140070d70
test al, al
jne 0x14004c5cf
xor edi, edi
jmp 0x14004c4cf
mov ecx, 2
call fcn.140070d70
test al, al
je 0x14004c69b
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, [0x14010cf40]
lea rdi, [rsp + 0x48]
mov rcx, rdi
mov r8d, 0x7a
mov r9d, 2
call fcn.1400d8610
lea rcx, [rsp + 0x58]
lea rdx, [0x14010cfa3]
mov r8d, 0x17
call fcn.1400bc4d0
mov rcx, rdi
call fcn.1400d8690
jmp 0x14004c69b