Function at 0x14004e784
Capabilities:
Connect pipe
Create pipe

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x110
mov qword [rbp - 0x58], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x1401a0e90]
xor rax, rsp
mov qword [rbp], rax
mov r13, rdx
mov r12, rcx
lea rcx, [rsp + 0x70]
call fcn.14004e70c
movups xmm0, xmmword [rax]
movdqu xmmword [rbp - 0x10], xmm0
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x30]
call fcn.14004e5d8
nop
lea r8, [rbp - 0x30]
lea rcx, [rbp - 0x50]
call fcn.140050cb8
nop
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
xor ebx, ebx
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], ebx
mov eax, 0x2000
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
lea esi, [rbx + 1]
mov r9d, esi
xor r8d, r8d
mov edx, 0x40000001
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov r14, rax
mov rdi, rax
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x14004e87b
lea rax, str.Failure_to_create_pipes_0
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.1400c0448
nop
lea rax, vtable.CRSimpleIPCException.0
mov qword [rsp + 0x70], rax
lea rax, vtable.CRSimpleIPCExceptionServerException.0
mov qword [rsp + 0x70], rax
lea rdx, [0x14016be78]
lea rcx, [rsp + 0x70]
call fcn.1400c4e98
int3
mov qword [rbp - 0x78], rbx
xor eax, eax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
xor r9d, r9d
xor r8d, r8d
mov edx, esi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov r15, rax
mov qword [rsp + 0x70], rax
call fcn.14004e140
mov ecx, dword [0x1401aab9c]
mov edx, 0x85ae205b
test al, al
cmove ecx, edx
mov dword [0x1401aab9c], ecx
mov qword [rbp - 0x60], r15
mov ecx, dword [0x1401a8d80]
imul ecx, ecx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub ecx, eax
cmp ecx, 0x12
jne 0x14004e912
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r8d, eax
mov eax, 0xcccccccd
mul r8d
shr edx, 6
lea ecx, [rdx + rdx*4]
shl ecx, 4
sub r8d, ecx
lea eax, [r8 + 1]
mov dword [0x1401a8d80], eax
test r15, r15
jne 0x14004e95d
lea rax, str.Failure_to_create_pipes_1
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x50]
call fcn.1400c0448
nop
lea rax, vtable.CRSimpleIPCException.0
mov qword [rsp + 0x50], rax
lea rax, vtable.CRSimpleIPCExceptionServerException.0
mov qword [rsp + 0x50], rax
lea rdx, [0x14016be78]
lea rcx, [rsp + 0x50]
call fcn.1400c4e98
int3
lea rdx, [rbp - 0x78]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
test eax, eax
jne 0x14004eb72
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x14004eb72
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
mov qword [rsp + 0x30], rbx
mov edx, 0x40000000
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
mov rbx, rax
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x14004ea09
lea rax, str.Failure_to_create_pipes_3
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.1400c0448
nop
lea rax, vtable.CRSimpleIPCException.0
mov qword [rsp + 0x50], rax
lea rax, vtable.CRSimpleIPCExceptionServerException.0
mov qword [rsp + 0x50], rax
lea rdx, [0x14016be78]
lea rcx, [rsp + 0x50]
call fcn.1400c4e98
int3
mov edx, 0x7d0
mov rcx, qword [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x14004ea62
lea rax, str.Failure_to_create_pipes_4
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.1400c0448
nop
lea rax, vtable.CRSimpleIPCException.0
mov qword [rsp + 0x50], rax
lea rax, vtable.CRSimpleIPCExceptionServerException.0
mov qword [rsp + 0x50], rax
lea rdx, [0x14016be78]
lea rcx, [rsp + 0x50]
call fcn.1400c4e98
int3
lea rax, [rsp + 0x40]
cmp r12, rax
je 0x14004ea91
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov rcx, qword [r12]
cmp rsi, rcx
je 0x14004ea91
test rcx, rcx
je 0x14004ea8d
cmp rcx, 0xffffffffffffffff
je 0x14004ea8d
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [r12], rsi
lea rax, [rsp + 0x68]
xor esi, esi
cmp r13, rax
je 0x14004eac2
mov edi, esi
mov qword [rsp + 0x68], rsi
mov rcx, qword [r13]
cmp r14, rcx
je 0x14004eac2
test rcx, rcx
je 0x14004eabe
cmp rcx, 0xffffffffffffffff
je 0x14004eabe
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [r13], r14
mov ecx, dword [0x1401a8d80]
imul ecx, ecx
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
cmp ecx, 5
jne 0x14004eafb
mov edx, 0xbf
lea r8d, [rdx + 1]
lea rcx, str._d__d_n
call fcn.1400bd8cc
nop
lea rax, [rbx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x14004eb0f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
cmp r15, 0xffffffffffffffff
je 0x14004eb1f
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rax, [rdi - 1]
cmp rax, 0xfffffffffffffffd
ja 0x14004eb33
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
cmp qword [rbp - 0x38], 8
jb 0x14004eb43
mov rcx, qword [rbp - 0x50]
call fcn.1400bcfa4
mov ebx, 7
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x40], rsi
mov word [rbp - 0x50], si
cmp qword [rbp - 0x18], 8
jb 0x14004eb64
mov rcx, qword [rbp - 0x30]
call fcn.1400bcfa4
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x20], rsi
mov word [rbp - 0x30], si
jmp 0x14004ebb8
lea rax, str.Failure_to_create_pipes_2
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.1400c0448
nop
lea rax, vtable.CRSimpleIPCException.0
mov qword [rsp + 0x50], rax
lea rax, vtable.CRSimpleIPCExceptionServerException.0
mov qword [rsp + 0x50], rax
lea rdx, [0x14016be78]
lea rcx, [rsp + 0x50]
call fcn.1400c4e98
nop
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1400bcfc0
mov rbx, qword [rsp + 0x160]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret