Function at 0x4739c0
Capabilities:
Create pipe
Create two anonymous pipes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push esi
push edi
push 0xfffffffffffffff5
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x28], 0xc
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x24], 0
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 8], 0xffffffff
push eax
lea eax, [ebp - 4]
mov dword [ebp - 4], 0xffffffff
push eax
lea eax, [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
je 0x473a63
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea eax, [ebp - 0x10]
push 2
push 0
push 0
push eax
mov dword [ebp - 0x10], 0xffffffff
call edi
push eax
push dword [ebp - 8]
call edi
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
mov eax, dword [ebp - 8]
jne 0x473a6d
test eax, eax
je 0x473a54
cmp eax, 0xffffffff
je 0x473a54
push eax
call esi
mov dword [ebp - 8], 0xffffffff
mov eax, dword [ebp - 4]
test eax, eax
je 0x473a63
cmp eax, 0xffffffff
je 0x473a63
push eax
call esi
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
test eax, eax
je 0x473a80
cmp eax, 0xffffffff
je 0x473a80
push eax
call esi
mov dword [ebp - 8], 0xffffffff
push 0
lea eax, [ebp - 0x28]
mov dword [ebp - 0xc], 0xffffffff
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0xffffffff
push eax
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
je 0x473a63
push 2
push 0
push 0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0xffffffff
push eax
call edi
push eax
push dword [ebp - 0x14]
call edi
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
jne 0x473b2d
mov eax, dword [ebp - 8]
test eax, eax
je 0x473ae0
cmp eax, 0xffffffff
je 0x473ae0
push eax
call esi
mov dword [ebp - 8], 0xffffffff
mov eax, dword [ebp - 4]
test eax, eax
je 0x473af6
cmp eax, 0xffffffff
je 0x473af6
push eax
call esi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x473b0c
cmp eax, 0xffffffff
je 0x473b0c
push eax
call esi
mov dword [ebp - 0xc], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x473a63
cmp eax, 0xffffffff
je 0x473a63
push eax
call esi
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x473b43
cmp eax, 0xffffffff
je 0x473b43
push eax
call esi
mov dword [ebp - 0x14], 0xffffffff
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
call fcn.00473c30
test eax, eax
jne 0x473bb7
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x473b6a
cmp eax, 0xffffffff
je 0x473b6a
push eax
call esi
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 4]
test eax, eax
je 0x473b80
cmp eax, 0xffffffff
je 0x473b80
push eax
call esi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x473b96
cmp eax, 0xffffffff
je 0x473b96
push eax
call esi
mov dword [ebp - 0xc], 0xffffffff
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x473a63
cmp eax, 0xffffffff
je 0x473a63
push eax
call esi
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
push ecx
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00473d20
mov ecx, dword [ebp - 0x10]
mov edi, eax
test ecx, ecx
je 0x473be0
cmp ecx, 0xffffffff
je 0x473be0
push ecx
call esi
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 4]
test eax, eax
je 0x473bf6
cmp eax, 0xffffffff
je 0x473bf6
push eax
call esi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x473c0c
cmp eax, 0xffffffff
je 0x473c0c
push eax
call esi
mov dword [ebp - 0xc], 0xffffffff
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x473c1b
cmp eax, 0xffffffff
je 0x473c1b
push eax
call esi
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4