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

Disassembly:
push 0xb0
mov eax, 0x1003e572
call fcn.1001d244
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xac], ecx
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xbc], eax
push 2
pop eax
mov dword [ebp - 4], eax
call fcn.100156e1
push 0x44
xor ebx, ebx
lea eax, [ebp - 0xa8]
pop edi
push edi
push ebx
push eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], ebx
call fcn.1001e5b0
mov dword [ebp - 0xa8], edi
xor eax, eax
lea edi, [ebp - 0x48]
add esp, 0xc
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
test esi, esi
je 0x10017755
mov esi, dword [sym.imp.KERNEL32.dll_CreatePipe]
lea eax, [ebp - 0x54]
push ebx
push eax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x54], 0xc
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x4c], 1
push eax
mov dword [ebp - 0x50], ebx
call esi
test eax, eax
je 0x10017830
push ebx
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x34]
push eax
call esi
test eax, eax
je 0x10017830
push ebx
push 1
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_SetHandleInformation]
test eax, eax
je 0x10017830
mov eax, dword [ebp - 0x30]
or dword [ebp - 0x7c], 0x100
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x70], eax
push 0x10047010
lea ecx, [ebp - 0x28]
call fcn.10002cb9
mov byte [ebp - 4], 3
xor ecx, ecx
mov eax, dword [ebp + 0x54]
push 2
inc eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1001c95c
pop ecx
mov esi, eax
lea ecx, [ebp + 0x44]
mov eax, dword [ebp + 0x54]
push 7
pop edi
cmp dword [ebp + 0x58], edi
lea eax, [eax*2 + 2]
cmova ecx, dword [ebp + 0x44]
push eax
push ecx
push esi
call fcn.1001e010
add esp, 4
lea ecx, [ebp + 0x14]
call fcn.10011a9b
cmp eax, 0xffffffff
je 0x1001781e
push ecx
push ecx
lea ecx, [ebp + 0x14]
call fcn.10011a9b
push eax
push ebx
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 0x14]
call fcn.10011a46
push eax
lea ecx, [ebp - 0x28]
call fcn.10002c4b
lea ecx, [ebp - 0x60]
call fcn.1000200e
push 0xffffffffffffffff
push ecx
push ecx
lea ecx, [ebp + 0x14]
call fcn.10011a9b
inc eax
lea ecx, [ebp + 0x14]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.10011a46
push eax
lea ecx, [ebp + 0x14]
call fcn.10002c4b
lea ecx, [ebp - 0x60]
call fcn.1000200e
lea ecx, [ebp - 0x28]
call fcn.10011b94
test al, al
je 0x1001781e
push ebx
push 0x10047010
lea ecx, [ebp - 0x28]
call fcn.10006b18
cmp dword [ebp - 0x18], 0
je 0x1001783a
cmp dword [ebp - 0x14], edi
lea edx, [ebp - 0x28]
cmova edx, dword [ebp - 0x28]
jmp 0x1001783c
call fcn.10011775
jmp 0x10017985
mov edx, ebx
cmp dword [ebp + 0x28], edi
lea ecx, [ebp + 0x14]
lea eax, [ebp + 0x2c]
cmova ecx, dword [ebp + 0x14]
cmp dword [ebp + 0x40], edi
lea edi, [ebp - 0x48]
push edi
cmova eax, dword [ebp + 0x2c]
lea edi, [ebp - 0xa8]
push edi
mov edi, dword [ebp - 0xac]
push ecx
push ecx
push edi
push esi
push ecx
push 1
push eax
call fcn.10014f69
add esp, 0x24
test eax, eax
jne 0x1001791f
cmp dword [ebp - 0x18], eax
je 0x1001788b
cmp dword [ebp - 0x14], 7
lea edx, [ebp - 0x28]
cmova edx, dword [ebp - 0x28]
jmp 0x1001788d
mov edx, ebx
cmp dword [ebp + 0x28], 7
lea edi, [ebp - 0x48]
push edi
lea edi, [ebp - 0xa8]
push edi
mov edi, dword [ebp - 0xac]
lea ecx, [ebp + 0x14]
cmova ecx, dword [ebp + 0x14]
lea eax, [ebp + 0x2c]
cmp dword [ebp + 0x40], 7
push ecx
cmova eax, dword [ebp + 0x2c]
push ecx
push edi
push esi
push ecx
push 2
push eax
call fcn.10014f69
add esp, 0x24
test eax, eax
jne 0x1001791f
cmp dword [ebp - 0x18], eax
je 0x100178da
cmp dword [ebp - 0x14], 7
lea edx, [ebp - 0x28]
cmova edx, dword [ebp - 0x28]
jmp 0x100178dc
mov edx, ebx
cmp dword [ebp + 0x40], 7
lea eax, [ebp + 0x2c]
lea edi, [ebp - 0x48]
cmova eax, dword [ebp + 0x2c]
lea ecx, [ebp + 0x14]
cmp dword [ebp + 0x28], 7
push edi
cmova ecx, dword [ebp + 0x14]
lea edi, [ebp - 0xa8]
push edi
mov edi, dword [ebp - 0xac]
push ecx
push ecx
push edi
push esi
push ecx
push ebx
push eax
call fcn.10014f69
add esp, 0x24
test eax, eax
jne 0x1001791f
push esi
call fcn.1001c957
pop ecx
jmp 0x10017978
push esi
call fcn.1001c957
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
pop ecx
mov ecx, dword [ebp - 0xb0]
test ecx, ecx
je 0x1001793d
mov eax, dword [ebp - 0x48]
mov dword [ecx], eax
jmp 0x10017942
push dword [ebp - 0x48]
call esi
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
je 0x10017953
mov eax, dword [ebp - 0x44]
mov dword [ecx], eax
jmp 0x10017958
push dword [ebp - 0x44]
call esi
mov ecx, dword [ebp - 0xb8]
test ecx, ecx
je 0x10017967
mov eax, dword [ebp - 0x2c]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
je 0x10017976
mov eax, dword [ebp - 0x38]
mov dword [ecx], eax
mov bl, 1
call fcn.10011775
lea ecx, [ebp - 0x28]
call fcn.1000200e
lea ecx, [ebp + 0x14]
call fcn.1000200e
lea ecx, [ebp + 0x2c]
call fcn.1000200e
lea ecx, [ebp + 0x44]
call fcn.1000200e
mov al, bl
call fcn.1001d1f3
ret