Function at 0x471d20
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 0x471dc3
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 0x471dcd
test eax, eax
je 0x471db4
cmp eax, 0xffffffff
je 0x471db4
push eax
call esi
mov dword [ebp - 8], 0xffffffff
mov eax, dword [ebp - 4]
test eax, eax
je 0x471dc3
cmp eax, 0xffffffff
je 0x471dc3
push eax
call esi
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
test eax, eax
je 0x471de0
cmp eax, 0xffffffff
je 0x471de0
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 0x471dc3
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 0x471e8d
mov eax, dword [ebp - 8]
test eax, eax
je 0x471e40
cmp eax, 0xffffffff
je 0x471e40
push eax
call esi
mov dword [ebp - 8], 0xffffffff
mov eax, dword [ebp - 4]
test eax, eax
je 0x471e56
cmp eax, 0xffffffff
je 0x471e56
push eax
call esi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x471e6c
cmp eax, 0xffffffff
je 0x471e6c
push eax
call esi
mov dword [ebp - 0xc], 0xffffffff
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x471dc3
cmp eax, 0xffffffff
je 0x471dc3
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 0x471ea3
cmp eax, 0xffffffff
je 0x471ea3
push eax
call esi
mov dword [ebp - 0x14], 0xffffffff
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
call fcn.00471f90
test eax, eax
jne 0x471f17
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x471eca
cmp eax, 0xffffffff
je 0x471eca
push eax
call esi
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 4]
test eax, eax
je 0x471ee0
cmp eax, 0xffffffff
je 0x471ee0
push eax
call esi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x471ef6
cmp eax, 0xffffffff
je 0x471ef6
push eax
call esi
mov dword [ebp - 0xc], 0xffffffff
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x471dc3
cmp eax, 0xffffffff
je 0x471dc3
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.00472080
mov ecx, dword [ebp - 0x10]
mov edi, eax
test ecx, ecx
je 0x471f40
cmp ecx, 0xffffffff
je 0x471f40
push ecx
call esi
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 4]
test eax, eax
je 0x471f56
cmp eax, 0xffffffff
je 0x471f56
push eax
call esi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x471f6c
cmp eax, 0xffffffff
je 0x471f6c
push eax
call esi
mov dword [ebp - 0xc], 0xffffffff
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x471f7b
cmp eax, 0xffffffff
je 0x471f7b
push eax
call esi
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4