Function at 0x140020488
Capabilities:
Create pipe

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
and qword [rbp + 0x48], 0
xor eax, eax
and qword [rbp + 0x40], rax
mov r12d, edx
mov qword [rbp - 0x20], rax
mov rdi, rcx
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
or rax, 0xffffffffffffffff
mov rsi, rax
mov r14, rax
lea r15d, [rax + 2]
test edx, edx
jne 0x140020561
xor r9d, r9d
lea r8, [rbp + 0x48]
mov edx, r15d
lea rcx, str.D:_A__GA___SY__A__GA___BA__A__GRGW0x00100000___WD_
call sub.ADVAPI32.dll_ConvertStringSecurityDescriptorToSecurityDescriptorW
test eax, eax
jne 0x14002054e
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
mov edi, 0x107
or ebx, 0x80070000
lea rcx, str.d:_awixwix_src_burnenginepipe.cpp
test eax, eax
mov edx, edi
cmovle ebx, eax
mov eax, 0x80004005
test ebx, ebx
cmovns ebx, eax
mov r8d, ebx
call fcn.1400012b0
lea rax, str.Failed_to_create_the_security_descriptor_for_the_connection_event_and_pipe.
mov edx, edi
mov qword [rsp + 0x28], rax
lea r9d, [rdi - 7]
lea r8d, [r12 + 5]
mov dword [rsp + 0x20], ebx
lea rcx, str.d:_awixwix_src_burnenginepipe.cpp
call fcn.1400012b4
jmp 0x140020814
mov rax, qword [rbp + 0x48]
and dword [rbp - 0x10], 0
mov qword [rbp - 0x18], rax
mov dword [rbp - 0x20], 0x18
mov r8, qword [rdi]
lea rdx, str..pipe_ls
lea rcx, [rbp + 0x40]
call fcn.1400031dc
mov ebx, eax
test eax, eax
jns 0x1400205b4
mov rcx, qword [rdi]
lea rax, str.Failed_to_allocate_full_name_of_pipe:__ls
mov qword [rsp + 0x30], rcx
mov edx, 0x111
mov qword [rsp + 0x28], rax
lea rcx, str.d:_awixwix_src_burnenginepipe.cpp
mov r8d, 5
mov dword [rsp + 0x20], ebx
mov r9d, 0x100
call fcn.1400012b4
jmp 0x140020814
mov rax, qword [rbp + 0x48]
mov r9d, r15d
neg rax
mov edx, 0x80003
lea rax, [rbp - 0x20]
sbb rcx, rcx
xor r8d, r8d
and rcx, rax
mov eax, 0x10000
mov qword [rsp + 0x38], rcx
mov rcx, qword [rbp + 0x40]
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x140020645
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
mov edi, 0x117
or ebx, 0x80070000
lea rcx, str.d:_awixwix_src_burnenginepipe.cpp
test eax, eax
mov edx, edi
cmovle ebx, eax
mov eax, 0x80004005
test ebx, ebx
cmovns ebx, eax
mov r8d, ebx
call fcn.1400012b0
mov rax, qword [rbp + 0x40]
mov edx, edi
mov qword [rsp + 0x30], rax
lea rax, str.Failed_to_create_pipe:__ls
jmp 0x14002058e
test r12d, r12d
je 0x140020808
mov r8, qword [rdi]
lea rdx, str..pipe_ls.Cache
lea rcx, [rbp + 0x40]
call fcn.1400031dc
mov ebx, eax
test eax, eax
jns 0x1400206a1
mov rax, qword [rdi]
mov edx, 0x11e
mov qword [rsp + 0x30], rax
lea rax, str.Failed_to_allocate_full_name_of_cache_pipe:__ls
mov qword [rsp + 0x28], rax
lea rcx, str.d:_awixwix_src_burnenginepipe.cpp
mov r8d, 5
mov dword [rsp + 0x20], ebx
mov r9d, 0x100
call fcn.1400012b4
jmp 0x1400207fd
and qword [rsp + 0x38], 0
mov r14d, 1
mov rcx, qword [rbp + 0x40]
mov r12d, 0x10000
mov dword [rsp + 0x30], r14d
mov r9d, r14d
mov dword [rsp + 0x28], r12d
xor r8d, r8d
mov edx, 0x80003
mov dword [rsp + 0x20], r12d
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x14002072b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
mov edi, 0x123
or ebx, 0x80070000
lea rcx, str.d:_awixwix_src_burnenginepipe.cpp
test eax, eax
mov edx, edi
cmovle ebx, eax
mov eax, 0x80004005
test ebx, ebx
cmovns ebx, eax
mov r8d, ebx
call fcn.1400012b0
mov rax, qword [rbp + 0x40]
mov edx, edi
mov qword [rsp + 0x30], rax
lea rax, str.Failed_to_create_cache_pipe:__ls
jmp 0x14002067b
mov r8, qword [rdi]
lea rdx, str..pipe_ls.Log
lea rcx, [rbp + 0x40]
call fcn.1400031dc
mov ebx, eax
test eax, eax
jns 0x14002075a
mov rax, qword [rdi]
mov edx, 0x128
mov qword [rsp + 0x30], rax
lea rax, str.Failed_to_allocate_full_name_of_logging_pipe:__ls
jmp 0x1400207d3
and qword [rsp + 0x38], 0
mov r9d, r14d
mov rcx, qword [rbp + 0x40]
xor r8d, r8d
mov dword [rsp + 0x30], r14d
mov edx, 0x80003
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x140020808
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
mov edi, 0x12d
or ebx, 0x80070000
lea rcx, str.d:_awixwix_src_burnenginepipe.cpp
test eax, eax
mov edx, edi
cmovle ebx, eax
mov eax, 0x80004005
test ebx, ebx
cmovns ebx, eax
mov r8d, ebx
call fcn.1400012b0
mov rax, qword [rbp + 0x40]
mov edx, edi
mov qword [rsp + 0x30], rax
lea rax, str.Failed_to_create_logging_pipe:__ls
mov qword [rsp + 0x28], rax
lea rcx, str.d:_awixwix_src_burnenginepipe.cpp
mov r9d, 0x100
mov dword [rsp + 0x20], ebx
mov r8d, 5
call fcn.1400012b4
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140020814
mov qword [rdi + 0x30], r14
mov qword [rdi + 0x28], rsi
mov qword [rdi + 0x20], r15
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x140020822
call fcn.140004278
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x140020831
call qword [sym.imp.KERNEL32.dll_LocalFree]
lea r11, [rsp + 0x60]
mov eax, ebx
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret