Function at 0x180012910
Capabilities:
Connect pipe
Create pipe
Read pipe
Write pipe

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rdi
sub rsp, 0x70
mov dword [rsp + 0x50], 0x353f
lea rbp, [section..data]
mov dword [rsp + 0x64], 0x3673
xor edx, edx
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x68], 0x30f9
mov dword [rsp + 0x6c], edx
mov dword [rsp + 0x5c], 0x3bc7
mov dword [rsp + 0x58], 0x30f9
mov dword [rsp + 0x54], 0x3bc7
mov ecx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x60]
xor ecx, 0x7ce
cmp eax, ecx
jg 0x180012e67
mov ecx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x58]
add ecx, 0x4e4
cmp eax, ecx
je 0x180012e67
mov ecx, dword [rsp + 0x5c]
mov eax, dword [rsp + 0x6c]
add ecx, 0xfffff065
cmp eax, ecx
jge 0x180012bdc
mov dword [0x18002306c], edx
mov dword [0x18002307c], edx
mov dword [0x1800230cc], edx
mov dword [0x180023108], edx
mov dword [0x18002311c], edx
mov edx, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x54]
sub edx, 0x554
mov r9d, dword [rsp + 0x60]
add r8d, 0x42
mov r10d, dword [rsp + 0x54]
add r9d, 0x353f
mov ecx, dword [rsp + 0x64]
sub r10d, 0x554
mov eax, dword [rsp + 0x60]
xor ecx, 0x1aae
add eax, 0x334a
mov dword [0x180023008], 5
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
mov rcx, rbp
mov qword [0x180023020], 1
mov dword [0x180023028], 1
mov dword [0x180023048], 1
mov dword [0x18002304c], 0x5b
mov dword [0x18002305c], 1
mov dword [0x180023070], 1
mov dword [0x180023074], 0x43
mov dword [0x180023090], 6
mov dword [0x1800230a8], 0xb
mov dword [0x1800230c0], 0x1d
mov dword [0x1800230dc], 1
mov qword [0x1800230ec], 1
mov qword [0x1800230f8], 1
mov dword [0x180023110], 0x12
mov dword [0x180023040], 0x16843f
mov dword [rsp + 0x20], r10d
call fcn.180001670
mov dword [rsp + 0x58], eax
imul eax, dword [0x18002305c], 0x19f97b
mov dword [0x18002305c], eax
mov eax, dword [0x180023018]
xor eax, dword [0x1800230cc]
xor eax, 0x18f414
mov dword [0x180023018], eax
add dword [rsp + 0x50], 0xfffff908
mov ecx, dword [rsp + 0x50]
mov edx, dword [rsp + 0x6c]
add ecx, 0x2b2
mov r8d, dword [rsp + 0x50]
add edx, 0x2e47
mov ebx, dword [rsp + 0x68]
add r8d, 0xe60
mov r11d, dword [rsp + 0x50]
add ebx, 0x446
mov r10d, dword [rsp + 0x54]
add r11d, 0x978
mov r9d, dword [rsp + 0x54]
xor r10d, 0x760
mov eax, dword [rsp + 0x54]
xor r9d, 0x1580
sub eax, 0xe69
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], r9d
mov r9, rbp
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x20], ebx
call fcn.180011650
mov ecx, dword [0x18002311c]
xor ecx, dword [0x180023008]
mov dword [rsp + 0x58], eax
mov eax, 0xffffe991
sub eax, ecx
mov ecx, dword [rsp + 0x68]
mov edx, dword [rsp + 0x50]
add ecx, 0x446
add dword [0x180023058], eax
sub edx, 0x1d1
mov r9d, dword [rsp + 0x68]
xor r9d, 0x68a
mov r10d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x60]
add r10d, 0x796
mov eax, dword [rsp + 0x64]
add r8d, 0x2c76
xor eax, 0x3ae
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r8d
mov r8, rbp
mov dword [rsp + 0x20], r10d
call fcn.1800119f0
mov dword [rsp + 0x50], eax
jmp 0x180012e67
mov eax, dword [0x18002310c]
sub eax, dword [0x18002302c]
xor eax, 0x2e77
cmp dword [0x180023080], eax
jbe 0x180012e67
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x60]
mov edx, dword [rsp + 0x50]
sub ecx, eax
mov r8d, dword [rsp + 0x64]
mov r9d, dword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebx, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x54]
mov eax, dword [0x1800230c0]
or eax, dword [0x180023024]
sub ebx, dword [0x180023090]
and edx, eax
mov eax, dword [rsp + 0x5c]
xor r11d, eax
mov eax, dword [rsp + 0x50]
mov r10d, dword [0x18002311c]
xor edi, dword [0x180023108]
or r10d, 0x35dd
imul r8d, dword [0x180023060]
sub r10d, eax
and r9d, dword [0x180023024]
mov eax, r10d
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], ebx
movsxd rcx, ecx
mov dword [rsp + 0x20], edi
mov qword [rsp + 0x80], rsi
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x58]
or ecx, dword [0x180023104]
sub ecx, eax
mov qword [rsp + 0x48], rbp
mov eax, dword [0x180023074]
imul eax, ecx
mov ecx, dword [rsp + 0x58]
mov dword [0x180023074], eax
mov eax, dword [rsp + 0x60]
and ecx, eax
mov eax, dword [rsp + 0x64]
sub ecx, eax
mov r9d, dword [rsp + 0x68]
mov eax, dword [rsp + 0x64]
and r9d, eax
mov edi, dword [rsp + 0x54]
mov r11d, dword [rsp + 0x5c]
mov r10d, dword [rsp + 0x6c]
imul r10d, dword [0x180023114]
mov eax, dword [0x180023060]
xor r11d, dword [0x180023048]
add eax, 0x2e77
or eax, dword [0x18002303c]
add r11d, 0x2e77
mov edx, dword [0x180023070]
xor r10d, dword [0x18002311c]
mov r8d, dword [0x1800230e8]
mov ebx, dword [0x180023030]
or edi, dword [0x1800230f4]
xor ebx, 0x2e09
or edx, dword [0x180023024]
add edi, 0x35dd
add r8d, dword [0x180023070]
xor edx, 0x334a
mov dword [rsp + 0x40], eax
and r8d, 0x37bf
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], edi
call fcn.1800015b0
mov dword [rsp + 0x58], eax
mov eax, dword [0x180023024]
and eax, 0x2e09
xor dword [0x1800230e0], eax
mov eax, dword [rsp + 0x60]
mov ecx, dword [0x180023050]
mov edx, dword [rsp + 0x64]
sub ecx, eax
imul edx, ecx
mov r8d, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x50]
imul r8d, dword [0x18002304c]
add ecx, dword [0x1800230f4]
mov eax, dword [0x18002311c]
or eax, dword [0x1800230f8]
or eax, dword [0x180023048]
mov r9d, dword [0x1800230dc]
mov dword [rsp + 0x30], eax
xor r9d, 0x1089
mov dword [rsp + 0x28], ecx
or r9d, 0x2c76
mov dword [rsp + 0x20], r8d
mov rcx, rbp
xor r8d, r8d
call fcn.180001670
mov ecx, dword [0x180023038]
imul ecx, dword [0x1800230f0]
mov dword [rsp + 0x60], eax
add ecx, 0x35dd
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov eax, dword [rsp + 0x54]
imul eax, dword [0x18002304c]
mov r8d, dword [rsp + 0x58]
mov edx, dword [0x180023090]
add edx, dword [0x180023048]
xor r8d, dword [0x1800230d0]
and edx, 0x2aa1
sub r8d, dword [0x1800230f8]
imul ecx, eax, 0x2e09
mov eax, dword [rsp + 0x68]
mov r10d, dword [rsp + 0x6c]
sub eax, eax
imul r10d, dword [0x180023050]
movsxd r9, eax
mov eax, dword [rsp + 0x58]
and eax, 0x3ca7
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
mov rsi, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x5c]
mov eax, dword [rsp + 0x50]
add ecx, 0xfffff065
cmp eax, ecx
jl 0x180012f6d
mov ecx, dword [rsp + 0x64]
mov edx, dword [rsp + 0x5c]
sub ecx, 0x82c
mov r8d, dword [rsp + 0x5c]
xor edx, 0x172a
mov r9d, dword [rsp + 0x54]
add r8d, 0xe0
mov eax, dword [rsp + 0x5c]
sub r9d, 0x688
add dword [0x180023058], 0xdad85
add eax, 0x11a
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], eax
call fcn.1800125e0
mov dword [rsp + 0x54], eax
mov ecx, dword [rsp + 0x50]
mov edx, dword [rsp + 0x64]
sub ecx, 0x4e8
mov r8d, dword [rsp + 0x58]
xor edx, 0x1804
mov r9d, dword [rsp + 0x58]
sub r8d, 0x67
mov r11d, dword [rsp + 0x60]
add r9d, 0x10
mov r10d, dword [rsp + 0x54]
add r11d, 0x37bf
mov eax, dword [rsp + 0x68]
add r10d, 0xbf
xor eax, 0x1ef0
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r11d
call fcn.180003ab0
mov dword [rsp + 0x5c], eax
mov rax, qword [0x1800230b8]
mov qword [0x180023088], rax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x58], eax
xor dword [rsp + 0x60], 0x2e47
call qword [0x180023088]
mov dword [0x180023124], eax
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
mov ecx, dword [0x180023020]
sub ecx, dword [0x1800230a4]
mov eax, dword [rsp + 0x50]
cmp eax, ecx
jne 0x18001303f
mov ecx, dword [rsp + 0x64]
imul ecx, dword [0x1800230e8]
mov eax, dword [rsp + 0x50]
sub ecx, 0x3673
cmp eax, ecx
je 0x18001303f
mov edi, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
mov eax, dword [rsp + 0x6c]
or r8d, eax
mov ecx, dword [rsp + 0x54]
add r8d, 0x37bf
mov eax, dword [rsp + 0x5c]
add ecx, eax
mov r10d, dword [rsp + 0x5c]
add edi, dword [0x18002305c]
mov eax, dword [0x180023050]
and edi, 0x3ce1
imul edx, dword [0x1800230c0]
xor eax, 0x2d5e
imul ebx, eax, 0x2cdd
mov eax, dword [rsp + 0x6c]
sub r10d, eax
mov eax, dword [rsp + 0x6c]
and eax, 0x37bf
movsxd r11, r10d
mov dword [rsp + 0x30], eax
movsxd r9, ecx
mov ecx, edi
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], ebx
call qword [sym.imp.KERNEL32.dll_CallNamedPipeA]
mov edx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x50]
mov ecx, dword [0x180023060]
add eax, 0x35dd
sub ecx, dword [0x18002306c]
add edx, eax
movsxd rdx, edx
call qword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov eax, dword [0x180023124]
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret