Function at 0x1400bec80
Capabilities:
Create pipe
Generate random numbers via winapi

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x118
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x80], xmm6
mov qword [rbp + 0x78], 0xfffffffffffffffe
mov byte [rbp + 0x74], r8b
mov qword [rbp + 0x48], rcx
mov byte [rbp + 0x75], dl
movzx eax, dl
mov ecx, 0x40080002
sub ecx, eax
mov dword [rbp + 0x44], ecx
xor r15d, r15d
mov dword [rbp + 0x60], 8
mov dil, 1
xorps xmm6, xmm6
lea r13, [rbp - 0x10]
mov r12, qword [sym.imp.bcrypt.dll_BCryptGenRandom]
xor eax, eax
mov qword [rbp - 0x18], rax
jmp 0x1400becfc
mov r15b, 1
xor edi, edi
mov rsi, qword [rbp + 0x68]
mov rbx, r14
call qword [sym.imp.kernel32.dll_GetCurrentProcessId]
mov dword [rbp + 0x40], eax
jmp 0x1400bed1b
mov rax, qword [rbp - 0x10]
xchg qword [0x14014fcc8], rax
mov rax, qword [0x14014fcc8]
test rax, rax
jne 0x1400bed60
movaps xmmword [rbp - 0x10], xmm6
xor ecx, ecx
mov rdx, r13
mov r8d, 0x10
mov r9d, 2
call r12
test eax, eax
jns 0x1400bed10
mov qword [rbp + 0x58], rsi
mov qword [rbp + 0x50], rbx
mov byte [rbp + 0x77], r15b
mov byte [rbp + 0x76], 1
call fcn.1400cf7c0
jmp 0x1400bed14
mov eax, 1
lock xadd qword [0x14014fcc8], rax
mov qword [rbp - 0x20], rax
lea rax, [rbp + 0x40]
mov qword [rbp + 0x20], rax
lea rax, [0x1400e3a30]
mov qword [rbp + 0x28], rax
lea rax, [rbp - 0x20]
mov qword [rbp + 0x30], rax
lea rax, [fcn.1400e3c80]
mov qword [rbp + 0x38], rax
lea rax, [0x14010beb0]
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], 2
mov qword [rbp + 0x10], 0
lea rax, [rbp + 0x20]
mov qword [rbp], rax
mov qword [rbp + 8], 2
mov qword [rbp + 0x58], rsi
mov qword [rbp + 0x50], rbx
mov byte [rbp + 0x77], r15b
mov byte [rbp + 0x76], 1
lea rcx, [rbp - 0x40]
mov rdx, r13
call fcn.1400de390
mov r14, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x38]
mov r15, qword [rbp - 0x30]
test rsi, rsi
sete al
or dil, al
test dil, 1
jne 0x1400bee11
mov r8d, 1
mov rcx, rbx
mov rdi, rdx
mov rdx, rsi
call fcn.140078bc0
mov rdx, rdi
lea rax, [r14 + r15]
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], rax
mov word [rbp], 0
mov dword [rbp + 8], 1
mov qword [rbp + 0x68], rdx
mov qword [rbp + 0x58], rdx
mov qword [rbp + 0x50], r14
mov byte [rbp + 0x77], 1
mov byte [rbp + 0x76], 1
lea rcx, [rbp + 0x20]
mov rdx, r13
call fcn.1400ce1f0
mov rbx, qword [rbp + 0x20]
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x10000
mov dword [rsp + 0x20], 0x10000
mov rcx, rbx
mov edx, dword [rbp + 0x44]
mov r8d, dword [rbp + 0x60]
mov r9d, 1
call qword [sym.imp.kernel32.dll_CreateNamedPipeW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x1400bef6a
mov rax, qword [rbp - 0x18]
lea edi, [rax + 1]
call qword [sym.imp.kernel32.dll_GetLastError]
cmp edi, 0xa
jge 0x1400beef5
cmp eax, 5
jne 0x1400beec0
mov eax, edi
mov qword [rbp - 0x18], rax
jmp 0x1400beed2
cmp dword [rbp + 0x60], 0
je 0x1400beef5
mov dword [rbp + 0x60], 0
cmp eax, 0x57
jne 0x1400beef5
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x1400becf0
add rdx, rdx
mov r8d, 2
mov rcx, rbx
call fcn.140078bc0
jmp 0x1400becf0
shl rax, 0x20
or rax, 2
mov rdi, qword [rbp + 0x48]
mov qword [rdi + 8], rax
mov qword [rdi], 1
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x1400bef26
add rdx, rdx
mov r8d, 2
mov rcx, rbx
call fcn.140078bc0
mov rdx, qword [rbp + 0x68]
test rdx, rdx
je 0x1400bef3d
mov r8d, 1
mov rcx, r14
call fcn.140078bc0
cmp rsi, 0xffffffffffffffff
je 0x1400bef4c
mov rcx, rsi
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rax, rdi
movaps xmm6, xmmword [rbp + 0x80]
add rsp, 0x118
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x1400bef84
add rdx, rdx
mov r8d, 2
mov rcx, rbx
call fcn.140078bc0
mov dword [rbp - 0x10], 0
mov dword [rbp + 0x10], 0
mov word [rbp + 0x14], 0
movzx eax, byte [rbp + 0x75]
mov byte [rbp + 0x11], al
xor al, 1
mov byte [rbp + 0x10], al
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
movzx eax, byte [rbp + 0x74]
mov dword [rbp + 0x20], 0x18
mov qword [rbp + 0x28], 0
mov dword [rbp + 0x30], eax
lea rax, [rbp + 0x20]
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x50], r14
mov qword [rbp - 0x28], rsi
mov byte [rbp + 0x77], 1
mov byte [rbp + 0x76], 0
lea r8, [rbp - 0x10]
mov rcx, r14
mov rdx, r15
call fcn.1400af320
test rax, rax
je 0x1400bf016
mov rdi, qword [rbp + 0x48]
mov qword [rdi + 8], rdx
mov qword [rdi], 1
mov rdx, qword [rbp + 0x68]
test rdx, rdx
jne 0x1400bef2f
jmp 0x1400bef3d
mov rdi, qword [rbp + 0x48]
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], rdx
mov qword [rdi], 0
mov rdx, qword [rbp + 0x68]
test rdx, rdx
je 0x1400bef4c
mov r8d, 1
mov rcx, r14
call fcn.140078bc0
jmp 0x1400bef4c