Function at 0x1801a7d80
Capabilities:
Create pipe

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
mov qword [rbp - 0x31], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1804610b0]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r12d, r8d
mov rbx, rdx
mov rsi, rcx
lea rdx, str..pipe_
lea rcx, [rbp - 9]
call fcn.180033860
nop
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1801a7ddb
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
lea rcx, [rbp - 9]
call fcn.180033c20
test r12b, 1
je 0x1801a7f28
xor eax, eax
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x21], xmm0
xor ebx, ebx
mov r15d, ebx
xor r9d, r9d
lea r8, [rbp + 0x1f]
lea edx, [rax + 1]
lea rcx, str.S:_ML_____LW_D:_A_OICI_GA___WD__A_OICI_GA___s_1_15_2_1_
call qword [sym.imp.ADVAPI32.dll_ConvertStringSecurityDescriptorToSecurityDescriptorW]
test eax, eax
je 0x1801a7e32
lea r15, [rbp + 0x17]
mov edi, ebx
mov eax, ebx
mov r14, qword [rbp - 0x19]
jmp 0x1801a7ea7
lea rdx, [0x180488a90]
mov ecx, 8
call fcn.180299940
mov qword [rbp - 0x11], rax
test rax, rax
je 0x1801a7e56
mov rcx, rax
call fcn.1801efc60
jmp 0x1801a7e59
mov rax, rbx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x49], xmm0
mov rdx, rax
lea rcx, [rbp - 0x49]
call fcn.1801a9960
nop
mov rcx, qword [rbp - 0x49]
mov qword [rbp - 0x39], rcx
mov qword [rbp - 0x49], rbx
mov qword [rbp - 0x21], rcx
mov rax, qword [rbp - 0x41]
mov qword [rbp - 0x41], rbx
mov r14, rax
mov qword [rbp - 0x19], rax
mov rdi, rax
test rcx, rcx
je 0x1801a7ea7
mov r15, qword [rcx]
cmp qword [r15], 0
je 0x1801a7ea4
add r15, 0x10
jmp 0x1801a7ea7
mov r15, rbx
lea rcx, [rbp - 9]
cmp qword [rbp + 0xf], 8
jb 0x1801a7eb9
mov rcx, qword [rbp - 9]
mov rdi, rax
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], 0x1388
mov dword [rsp + 0x28], 0x1000
mov dword [rsp + 0x20], 0x1000
mov r9d, 1
xor r8d, r8d
mov edx, 0x40080003
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov qword [rsi + 0x70], rax
test rdi, rdi
je 0x1801a7f26
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [r14 + 8], eax
cmp eax, 1
jne 0x1801a7f26
mov rbx, qword [rbp - 0x19]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1801a7f26
mov rcx, qword [rbp - 0x19]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x1801a7f68
test r12b, 2
je 0x1801a7f68
lea rcx, [rbp - 9]
cmp qword [rbp + 0xf], 8
cmovae rcx, qword [rbp - 9]
xor ebx, ebx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x40000000
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsi + 0x70], rax
mov rax, qword [rsi + 0x70]
dec rax
cmp rax, 0xfffffffffffffffd
setbe al
test al, al
je 0x1801a80cc
call fcn.1802983d8
mov rbx, rax
call fcn.1802983bc
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rsi + 0x1120], rdx
test r12b, 2
je 0x1801a7fd5
mov qword [rsi + 0x1118], rdx
mov ecx, 0x70
call fcn.1802994e4
mov rbx, rax
mov qword [rbp - 0x39], rax
xor edx, edx
lea r8d, [rdx + 0x70]
mov rcx, rax
call fcn.18029c350
mov edx, 0xfffffffe
mov r8d, 0xffff
mov rcx, rbx
call fcn.1801a3840
mov r14, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rbp - 0x29], eax
mov r8d, 4
lea rdx, [rbp - 0x29]
mov rcx, r14
call fcn.1801a35e0
mov dword [rbp - 0x11], 0xa0de88ca
mov r8d, 4
lea rdx, [rbp - 0x11]
mov rcx, r14
call fcn.1801a35e0
lea rbx, [rsi + 0xa0]
mov rcx, qword [rbx + 0x20]
movzx eax, cl
add al, byte [rbx + 0x18]
test al, 1
jne 0x1801a8068
lea rax, [rcx + 2]
shr rax, 1
cmp qword [rbx + 0x10], rax
ja 0x1801a8068
mov rcx, rbx
call fcn.1801a9230
mov rax, qword [rbx + 0x10]
lea rax, [rax*2 - 1]
and qword [rbx + 0x18], rax
mov rdi, qword [rbx + 0x18]
add rdi, qword [rbx + 0x20]
mov rcx, qword [rbx + 0x10]
dec rcx
mov rax, rdi
shr rax, 1
and rcx, rax
lea rsi, [rcx*8]
mov rax, qword [rbx + 8]
cmp qword [rsi + rax], 0
jne 0x1801a80b9
mov ecx, 0x10
call fcn.1802994e4
mov rcx, qword [rbx + 8]
mov qword [rsi + rcx], rax
mov rax, qword [rbx + 8]
and edi, 1
mov rax, qword [rsi + rax]
mov qword [rax + rdi*8], r14
inc qword [rbx + 0x20]
mov bl, 1
jmp 0x1801a80ce
xor bl, bl
lea rcx, [rbp - 9]
call fcn.180033840
movzx eax, bl
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.1802994c0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret