Function at 0x426710
Capabilities:
Connect pipe
Create pipe

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
test r9d, r9d
mov rdi, rcx
mov rsi, rdx
mov rbx, r8
jne 0x426797
mov rcx, qword [rdx + 0x120]
xor r8d, r8d
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x10000
mov r9d, 0xff
mov dword [rsp + 0x20], 0x10000
mov edx, 0x40040003
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
cmp rax, 0xffffffffffffffff
mov qword [rbx + 0x70], rax
je 0x426833
xor r9d, r9d
mov rdx, qword [rdi + 0x38]
mov r8, rsi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
test rax, rax
je 0x42687d
mov rax, qword [rbx + 0x70]
mov qword [rsi + 0x118], rax
lea rdx, [rbx + 0x40]
mov qword [rbx + 0x40], 0
mov qword [rdx + 8], 0
mov qword [rdx + 0x10], 0
mov qword [rdx + 0x18], 0
mov rcx, qword [rbx + 0x70]
call qword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
test eax, eax
je 0x4267e0
add dword [rsi + 0x78], 1
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rbp, qword [sym.imp.KERNEL32.dll_GetLastError]
call rbp
cmp eax, 0x3e5
je 0x4267c9
call rbp
cmp eax, 0x217
jne 0x426852
mov qword [rbx + 0x40], 0
mov qword [rbx + 0x68], 0
mov rax, qword [rdi + 0x48]
test rax, rax
je 0x426870
mov rax, qword [rax + 0x68]
mov qword [rbx + 0x68], rax
mov rax, qword [rdi + 0x48]
mov qword [rax + 0x68], rbx
mov qword [rdi + 0x48], rbx
add dword [rsi + 0x78], 1
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rbp, qword [sym.imp.KERNEL32.dll_GetLastError]
call rbp
test eax, eax
jle 0x42686a
call rbp
movzx eax, ax
or eax, 0x80070000
cdqe
mov qword [rbx + 0x40], rax
jmp 0x426801
mov rcx, qword [rbx + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x70], 0xffffffffffffffff
call rbp
test eax, eax
jg 0x426840
call rbp
cdqe
jmp 0x42684c
mov qword [rbx + 0x68], rbx
mov qword [rdi + 0x48], rbx
jmp 0x4267c9
call fcn.0044a699
nop
nop dword [rax]
nop word cs:[rax + rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rsi, qword [rcx + 0x78]
mov rbp, qword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
mov r12, qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, qword [sym.imp.KERNEL32.dll_GetLastError]
mov rbx, rcx
mov r13, qword [sym.imp.KERNEL32.dll_SwitchToThread]
mov r15, qword [rsi + 8]
nop word [rax + rax]
mov rcx, qword [rsi + 0x120]
mov edx, 0x7530
call rbp
test eax, eax
je 0x426980
mov rdi, qword [rsi + 0x120]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x40000000
mov edx, 0xc0000000
mov dword [rsp + 0x20], 3
mov rcx, rdi
call r12
cmp rax, 0xffffffffffffffff
je 0x426960
mov edx, 0xc000
mov qword [rbx + 0x40], 0
mov qword [rbx + 0x48], rax
mov dword [rbx + 0x50], edx
xor r8d, r8d
xor edx, edx
mov rcx, qword [r15 + 0x38]
lea r9, [rbx + 0x40]
call qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
test eax, eax
je 0x426a29
xor eax, eax
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call r14
cmp eax, 5
je 0x4269a3
call r14
cmp eax, 5
je 0x4269e0
call r13
jmp 0x4268d0
mov rsi, qword [sym.imp.KERNEL32.dll_GetLastError]
call rsi
test eax, eax
jle 0x426a20
call rsi
movzx eax, ax
or eax, 0x80070000
cdqe
mov qword [rbx + 0x40], rax
jmp 0x426931
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x40000000
mov dword [rsp + 0x20], 3
mov edx, 0x80000100
mov rcx, rdi
call r12
cmp rax, 0xffffffffffffffff
je 0x426968
mov edx, 0x4000
jmp 0x426922
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x40000000
mov dword [rsp + 0x20], 3
mov edx, 0x40000080
mov rcx, rdi
call r12
cmp rax, 0xffffffffffffffff
je 0x426970
mov edx, 0x8000
jmp 0x426922
call rsi
cdqe
jmp 0x42699d
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [0x0044e6b0]
mov ecx, eax
call fcn.00416440
nop
nop