Function at 0x4012e0
Capabilities:
Connect pipe
Create pipe

Disassembly:
sub esp, 0x20
mov eax, dword [0x4160e0]
push ebx
push ebp
push esi
push edi
push str._nCreateNamedPipes_StdOut_StdIn_and_StdErr__Starts_n
push str.DEBUG
push eax
call fcn.00401100
add esp, 0xc
xor eax, eax
push 1
lea ecx, [esp + 0x20]
push ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
push 0
push 0
push 1
lea edx, [esp + 0x28]
push edx
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
or dword [esi + 0x2c], 0x100
or ebp, 0xffffffff
mov dword [esi + 0x3c], ebp
mov dword [esi + 0x38], ebp
mov dword [esi + 0x40], ebp
mov ecx, dword [edi + 0x220c]
push ecx
lea ebx, [edi + 0x2210]
push ebx
push str.RemCom_stdout
lea eax, [esp + 0x28]
push str..pipe_s_s_d
push 0x4160e8
mov dword [esp + 0x24], 0xc
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 1
call fcn.00402c93
mov edx, dword [edi + 0x220c]
push edx
push ebx
push str.RemCom_stdin
push str..pipe_s_s_d
push 0x4162f0
call fcn.00402c93
mov eax, dword [edi + 0x220c]
push eax
push ebx
push str.RemCom_stderr
push str..pipe_s_s_d
push 0x4164f8
call fcn.00402c93
mov ecx, dword [0x4160e0]
push 0x4164f8
push 0x4160e8
push 0x4162f0
push str.PIPE_NAMES__nStdIn_:__ws__n_StdOut_:__ws__n_StdErr:__ws_n
push str.DEBUG
push ecx
call fcn.00401100
mov edi, dword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
add esp, 0x54
lea edx, [esp + 0x10]
push edx
push ebp
push 0
push 0
push 0xff
push 4
push 2
push 0x4160e8
call edi
cmp eax, ebp
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0x3c], eax
jne 0x40142c
call ebx
push eax
mov eax, dword [0x4160e0]
push str.CreateNamedPipe_Stdout__::__d_n
push str.NORMAL
push eax
call fcn.00401100
add esp, 0x10
lea ecx, [esp + 0x10]
push ecx
push ebp
push 0
push 0
push 0xff
push 4
push 2
push 0x4164f8
call edi
cmp eax, ebp
mov dword [esi + 0x40], eax
jne 0x401469
call ebx
mov edx, dword [0x4160e0]
push eax
push str.CreateNamedPipe_StdErr__::__d_n
push str.NORMAL
push edx
call fcn.00401100
add esp, 0x10
lea eax, [esp + 0x10]
push eax
push ebp
push 0
push 0
push 0xff
push 4
push 1
push 0x4162f0
call edi
cmp eax, ebp
mov dword [esi + 0x38], eax
jne 0x4014a6
call ebx
mov ecx, dword [0x4160e0]
push eax
push str.CreateNamedPipe_StdIn__::__d_n
push str.NORMAL
push ecx
call fcn.00401100
add esp, 0x10
mov eax, dword [esi + 0x3c]
cmp eax, ebp
je 0x401513
cmp dword [esi + 0x40], ebp
je 0x401513
cmp dword [esi + 0x38], ebp
je 0x401513
mov edx, dword [0x4160e0]
push str.CreateNamedPipes_StdOut_StdIn_and_StrErr__Success._Waiting_for_Client_to_Connect_n
push str.DEBUG
push edx
call fcn.00401100
mov eax, dword [esi + 0x3c]
mov edi, dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
add esp, 0xc
push 0
push eax
call edi
mov ecx, dword [esi + 0x38]
push 0
push ecx
call edi
mov edx, dword [esi + 0x40]
push 0
push edx
call edi
mov eax, dword [0x4160e0]
push str.CreateNamedPipes_Ends_n_n
push str.DEBUG
push eax
call fcn.00401100
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x20
ret
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call edi
mov ecx, dword [esi + 0x40]
push ecx
call edi
mov edx, dword [esi + 0x38]
push edx
call edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret