Function at 0x14006fc00
Capabilities:
Check if file exists
Connect pipe
Create pipe

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x150
movaps xmmword [rsp + 0x140], xmm6
mov rsi, rcx
mov rax, qword [0x140327038]
xor rax, rsp
mov qword [rsp + 0x138], rax
xor r14d, r14d
mov dword [rcx], r14d
mov qword [rcx + 8], r14
mov dword [rcx + 0x10], r14d
mov qword [rcx + 0x18], r14
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x78], r14d
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x68], r14d
mov qword [rsp + 0x70], r14
lea rdi, [rsp + 0x120]
mov qword [rdi + 0x10], rax
movaps xmm6, xmmword [0x1402e6d80]
movaps xmmword [rdi], xmm6
lea rbx, [rsp + 0xf0]
mov qword [rbx], rax
mov edx, 8
mov rcx, rbx
call fcn.1400662c0
mov r15, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov qword [rsp + 0x20], r15
lea rdx, str..pipeLOCALmojo._lu._lu._I64u
mov rcx, rdi
mov r8d, eax
mov r9d, ebx
call fcn.1400fd510
cmp byte [rdi + 0x17], 0
jns 0x14006fcd2
mov rdi, qword [rsp + 0x120]
mov qword [rsp + 0x38], r14
mov eax, 0x1000
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x30], 0x1388
mov rcx, rdi
mov edx, 0x40080003
xor r8d, r8d
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov qword [rsp + 0x118], r14
test rax, rax
je 0x14006fd4f
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsp + 0x118]
inc rax
cmp rax, 2
jae 0x140070361
lea rax, [rdi + 1]
cmp rax, 2
jb 0x14006fd47
mov qword [rsp + 0x118], rdi
call fcn.1400a6030
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rdi, [rsp + 0xf0]
lea rdx, [rsp + 0x118]
mov rcx, rdi
call fcn.1400bb852
mov eax, dword [rdi]
mov dword [rsp + 0x78], eax
mov dword [rdi], 0
mov r14, qword [rdi + 8]
mov qword [rdi + 8], 0
lea r15, [r14 + 1]
cmp r15, 2
jb 0x14006fd8e
call fcn.1400a6030
cmp qword [rsp + 0x80], r14
je 0x14006fdd0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [rsp + 0x80]
inc rax
cmp rax, 2
jae 0x1400703a8
cmp r15, 2
jb 0x14006fdc8
mov qword [rsp + 0x80], r14
call fcn.1400a6030
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rsp + 0xf8]
inc rax
cmp rax, 2
jae 0x1400702dd
mov rax, qword [rsp + 0x80]
inc rax
cmp rax, 1
jbe 0x1400703e1
mov rax, qword [0x1402f8448]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [0x1402f8438]
movaps xmmword [rsp + 0xd0], xmm0
cmp byte [rsp + 0x137], 0
js 0x14006fe2c
lea rcx, [rsp + 0x120]
jmp 0x14006fe34
mov rcx, qword [rsp + 0x120]
xor ebx, ebx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x40100000
mov dword [rsp + 0x20], 3
lea r9, [rsp + 0xd0]
mov edx, 0xc0000000
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0xc8], rbx
test rax, rax
je 0x14006fe94
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp rdi, 0xffffffffffffffff
je 0x14006fe8c
mov qword [rsp + 0xc8], rdi
call fcn.1400a6030
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rbx, [rsp + 0xf0]
lea rdx, [rsp + 0xc8]
mov rcx, rbx
call fcn.1400bb852
mov eax, dword [rbx]
mov dword [rsp + 0x68], eax
mov dword [rbx], 0
mov rdi, qword [rbx + 8]
mov qword [rbx + 8], 0
cmp rdi, 0xffffffffffffffff
je 0x14006fed8
test rdi, rdi
je 0x14007014d
call fcn.1400a6030
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rax, [rdi + 1]
cmp rax, 2
jb 0x140070146
mov qword [rsp + 0x70], rdi
call fcn.1400a6030
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rsp + 0xf8]
inc rax
cmp rax, 2
jae 0x140070318
xor eax, eax
mov dword [rsp + 0xc4], eax
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0xbc], eax
mov dword [rsp + 0xb8], eax
lea r15, [rdi + 1]
cmp r15, 1
jbe 0x1400704d3
inc rdi
cmp rdi, 1
jbe 0x14007042c
lea rcx, [rsp + 0xc4]
call fcn.1400b5b70
lea rcx, [rsp + 0xc0]
call fcn.1400b5b70
lea rcx, [rsp + 0xbc]
call fcn.1400b5b70
lea rcx, [rsp + 0xb8]
call fcn.1400b5b70
lea rcx, [rsp + 0x120]
call fcn.1400b5b70
mov rcx, qword [rsp + 0x80]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
test eax, eax
jne 0x1400702da
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x217
jne 0x140070477
cmp byte [rsp + 0x137], 0
jns 0x14006ffcf
mov rcx, qword [rsp + 0x120]
call fcn.14013a6ac
lea rdi, [rsp + 0x58]
lea rdx, [rsp + 0x78]
mov rcx, rdi
call fcn.1400b76e2
lea rbx, [rsp + 0xf0]
mov rcx, rbx
mov rdx, rdi
call fcn.1400d4fb8
mov eax, dword [rbx]
mov dword [rsi], eax
mov dword [rbx], 0
mov r14, qword [rbx + 8]
mov qword [rbx + 8], 0
lea r15, [r14 + 1]
cmp r15, 2
jb 0x140070019
call fcn.1400a6030
cmp qword [rsi + 8], r14
je 0x14007004f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [rsi + 8]
inc rax
cmp rax, 2
jae 0x140070246
cmp r15, 2
jb 0x140070047
mov qword [rsi + 8], r14
call fcn.1400a6030
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rsp + 0xf8]
inc rax
cmp rax, 2
jae 0x1400701b6
lea rdi, [rsp + 0x48]
lea rdx, [rsp + 0x68]
mov rcx, rdi
call fcn.1400b76e2
lea rbx, [rsp + 0xf0]
mov rcx, rbx
mov rdx, rdi
call fcn.1400d4fb8
mov eax, dword [rbx]
mov dword [rsi + 0x10], eax
mov dword [rbx], 0
mov r14, qword [rbx + 8]
mov qword [rbx + 8], 0
lea r15, [r14 + 1]
cmp r15, 2
jb 0x1400700af
call fcn.1400a6030
cmp qword [rsi + 0x18], r14
je 0x1400700e5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rax, qword [rsi + 0x18]
inc rax
cmp rax, 2
jae 0x140070215
cmp r15, 2
jb 0x1400700dd
mov qword [rsi + 0x18], r14
call fcn.1400a6030
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rsp + 0xf8]
inc rax
cmp rax, 2
jae 0x140070154
mov rax, qword [rsp + 0x70]
inc rax
cmp rax, 2
jae 0x1400701e7
mov rax, qword [rsp + 0x80]
inc rax
cmp rax, 2
jae 0x140070185
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.14013d520
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x140]
add rsp, 0x150
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
xor edi, edi
jmp 0x14006fef8
xor edi, edi
jmp 0x14006ff00
call fcn.1400a6030
mov rdi, qword [rsp + 0xf8]
mov rcx, qword [0x14033c3e8]
test rcx, rcx
je 0x140070277
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rdi
call qword [case.0x14017aab5.0]
jmp 0x1400700f6
call fcn.1400a6030
mov rdi, qword [rsp + 0x80]
mov rcx, qword [0x14033c3e8]
test rcx, rcx
je 0x1400702c9
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rdi
call qword [case.0x14017aab5.0]
jmp 0x140070119
call fcn.1400a6030
mov rdi, qword [rsp + 0xf8]
mov rcx, qword [0x14033c3e8]
test rcx, rcx
je 0x1400702b8
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rdi
call qword [case.0x14017aab5.0]
jmp 0x140070064
call fcn.1400a6030
mov rdi, qword [rsp + 0x70]
mov rcx, qword [0x14033c3e8]
test rcx, rcx
je 0x140070288
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rdi
call qword [case.0x14017aab5.0]
jmp 0x140070108
call fcn.1400a6030
mov rbx, qword [rsi + 0x18]
mov rcx, qword [0x14033c3e8]
test rcx, rcx
je 0x1400702a7
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rbx
call qword [case.0x14017aab5.0]
mov qword [rsi + 0x18], 0
jmp 0x1400700ce
call fcn.1400a6030
mov rbx, qword [rsi + 8]
mov rcx, qword [0x14033c3e8]
test rcx, rcx
je 0x140070299
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rbx
call qword [case.0x14017aab5.0]
mov qword [rsi + 8], 0
jmp 0x140070038
call fcn.1400515d0
mov rcx, qword [0x14033c3e8]
jmp 0x140070171
call fcn.1400515d0
mov rcx, qword [0x14033c3e8]
jmp 0x140070201
call fcn.1400515d0
mov rcx, qword [0x14033c3e8]
jmp 0x14007025b
call fcn.1400515d0
mov rcx, qword [0x14033c3e8]
jmp 0x14007022a
call fcn.1400515d0
mov rcx, qword [0x14033c3e8]
jmp 0x1400701d3
call fcn.1400515d0
mov rcx, qword [0x14033c3e8]
jmp 0x1400701a2
int3
call fcn.1400a6030
mov rdi, qword [rsp + 0xf8]
mov rcx, qword [0x14033c3e8]
test rcx, rcx
je 0x14007030a
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rdi
call qword [case.0x14017aab5.0]
jmp 0x14006fde5
call fcn.1400515d0
mov rcx, qword [0x14033c3e8]
jmp 0x1400702f6
call fcn.1400a6030
mov rbx, qword [rsp + 0xf8]
mov rcx, qword [0x14033c3e8]
test rcx, rcx
je 0x140070345
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rbx
call qword [case.0x14017aab5.0]
jmp 0x14006ff15
call fcn.1400515d0
mov rcx, qword [0x14033c3e8]
jmp 0x140070331
call fcn.1400515d0
mov rcx, qword [0x14033c3e8]
jmp 0x14007037a
call fcn.1400a6030
mov r14, qword [rsp + 0x118]
mov rcx, qword [0x14033c3e8]
test rcx, rcx
je 0x140070353
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r14
call qword [case.0x14017aab5.0]
mov qword [rsp + 0x118], 0
jmp 0x14006fd30
call fcn.1400515d0
mov rcx, qword [0x14033c3e8]
jmp 0x1400703c1
call fcn.1400a6030
mov rbx, qword [rsp + 0x80]
mov rcx, qword [0x14033c3e8]
test rcx, rcx
je 0x14007039a
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rbx
call qword [case.0x14017aab5.0]
mov qword [rsp + 0x80], 0
jmp 0x14006fdb5
lea rdx, str.CreateChannel
lea r8, str.....mojopubliccppplatformplatform_channel.cc
lea rdi, [rsp + 0xf0]
mov rcx, rdi
mov r9d, 0x60
call fcn.1400b5b90
lea rdx, [0x1402e7b24]
lea rbx, [rsp + 0x110]
mov rcx, rbx
mov r8, rdi
call fcn.1401ffd60
mov rcx, rbx
call fcn.1401ffe30
jmp 0x14006fdfa
lea rdx, str.CreateChannel
lea r8, str.....mojopubliccppplatformplatform_channel.cc
lea rdi, [rsp + 0xf0]
mov rcx, rdi
mov r9d, 0x98
call fcn.1400b5b90
lea rdx, [0x1402e7b24]
lea rbx, [rsp + 0xa0]
mov rcx, rbx
mov r8, rdi
call fcn.1401ffd60
mov rcx, rbx
call fcn.1401ffe30
jmp 0x14006ff4e
lea rdx, str.CreateChannel
lea r8, str.....mojopubliccppplatformplatform_channel.cc
lea rdi, [rsp + 0xf0]
mov rcx, rdi
mov r9d, 0xa4
call fcn.1400b5b90
lea rdx, [0x1402e7b24]
lea rbx, [rsp + 0x90]
mov rcx, rbx
mov r8, rdi
call fcn.1401ffd60
mov rcx, rbx
call fcn.1401ffe30
jmp 0x14006ffb8
call fcn.1400515d0
mov rcx, qword [0x14033c3e8]
jmp 0x1400705aa
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xe7
jne 0x14006ff41
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
test eax, eax
jne 0x140070508
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0xc4], eax
jmp 0x14006ff41
lea rbx, [rsp + 0xa0]
movaps xmmword [rbx], xmm6
mov rcx, rbx
xor edx, edx
mov r8d, 1
call fcn.1400b57d0
xorps xmm0, xmm0
lea r14, [rsp + 0xf0]
movaps xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
mov rax, qword [rbx]
mov qword [r14 + 0x18], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [rsp + 0x80]
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
test eax, eax
jne 0x14007056b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x1400705be
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0xa0]
inc rax
cmp rax, 2
jb 0x14006ff41
call fcn.1400a6030
mov rbx, qword [rsp + 0xa0]
mov rcx, qword [0x14033c3e8]
test rcx, rcx
je 0x1400704c2
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rbx
call qword [case.0x14017aab5.0]
jmp 0x14006ff41
cmp byte [rsp + 0x137], 0
jns 0x1400705d2
mov rcx, qword [rsp + 0x120]
jmp 0x1400705da
lea rcx, [rsp + 0x120]
xor r14d, r14d
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x40100000
mov dword [rsp + 0x20], 3
lea r9, [rsp + 0xd0]
mov edx, 0xc0000000
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x88], r14
test rax, rax
je 0x14007063b
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
cmp rbx, 0xffffffffffffffff
je 0x140070633
mov qword [rsp + 0x88], rbx
call fcn.1400a6030
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rbx, [rsp + 0x90]
lea rdx, [rsp + 0x88]
mov rcx, rbx
call fcn.1400bb852
mov eax, dword [rbx]
mov dword [rsp + 0x68], eax
mov dword [rbx], 0
mov r14, qword [rbx + 8]
mov qword [rbx + 8], 0
lea r12, [r14 + 1]
cmp r12, 2
jb 0x14007067a
call fcn.1400a6030
cmp rdi, r14
je 0x1400706ac
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
cmp r15, 2
jae 0x140070754
cmp r12, 2
jb 0x1400706a4
mov qword [rsp + 0x70], r14
call fcn.1400a6030
mov rdi, r14
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rsp + 0x98]
inc rax
cmp rax, 2
jae 0x140070792
lea rax, [rdi + 1]
cmp rax, 2
jae 0x140070720
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xe7
jne 0x140070578
lea rcx, str.Microsoft.Mojo.PlatformChannel.PipeBusyMitigation
xor edx, edx
mov r8d, 4
call fcn.140090bd0
mov rcx, qword [rsp + 0x80]
lea rdx, [rsp + 0xbc]
call qword [sym.imp.KERNEL32.dll_GetNamedPipeClientProcessId]
test eax, eax
jne 0x140070578
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0xb8], eax
jmp 0x140070578
mov rcx, qword [rsp + 0xa0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x1400707cd
lea rcx, str.Microsoft.Mojo.PlatformChannel.PipeBusyMitigation
mov edx, 3
mov r8d, 4
call fcn.140090bd0
jmp 0x140070578
call fcn.1400a6030
mov rcx, qword [0x14033c3e8]
test rcx, rcx
je 0x140070784
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rdi
call qword [case.0x14017aab5.0]
mov qword [rsp + 0x70], 0
xor edi, edi
jmp 0x140070691
call fcn.1400515d0
mov rcx, qword [0x14033c3e8]
jmp 0x140070765
call fcn.1400a6030
mov rbx, qword [rsp + 0x98]
mov rcx, qword [0x14033c3e8]
test rcx, rcx
je 0x1400707bf
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rbx
call qword [case.0x14017aab5.0]
jmp 0x1400706c1
call fcn.1400515d0
mov rcx, qword [0x14033c3e8]
jmp 0x1400707ab
int3