Function at 0x41280c
Capabilities:
Create pipe
Create thread
Create two anonymous pipes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
push edi
mov ecx, 0x41e558
call fcn.00412798
xor edi, edi
mov dword [ebp - 0x24], 0xc
push edi
lea eax, [ebp - 0x24]
mov dword [ebp - 8], edi
push eax
lea eax, [ebp - 4]
mov dword [ebp - 0xc], edi
push eax
lea eax, [ebp - 8]
mov dword [ebp - 4], edi
push eax
mov dword [ebp - 0x10], edi
mov esi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], 1
call dword [sym.imp.KERNEL32.dll_CreatePipe]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x4129b2
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edi, dword [ebp - 4]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 2
push 1
xor ecx, ecx
push ecx
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0xc]
push ecx
push esi
push edi
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
xor edi, edi
test eax, eax
je 0x4129af
push edi
lea eax, [ebp - 0x24]
mov esi, edi
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
je 0x4129b2
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edi, dword [ebp - 8]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 2
xor ecx, ecx
push ecx
push ecx
push 0x41e560
push esi
push edi
push eax
mov dword [ebp - 0x18], ecx
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x4129ad
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edi, dword [ebp - 0x10]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 2
xor ecx, ecx
push ecx
push ecx
push 0x41e564
push esi
push edi
push eax
mov dword [ebp - 0x18], ecx
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x4129ad
cmp dword [ebp - 8], 0
je 0x41291e
push dword [ebp - 8]
call ebx
xor edi, edi
mov dword [ebp - 8], edi
cmp dword [ebp - 0x10], edi
je 0x41292d
push dword [ebp - 0x10]
call ebx
push dword [ebp - 0xc]
lea eax, [ebp + 8]
mov dword [ebp - 0x10], edi
push dword [ebp - 0x14]
mov esi, edi
push dword [ebp - 4]
push ecx
mov ecx, esp
push eax
call fcn.00404656
call fcn.0041254e
test eax, eax
je 0x4129b2
cmp dword [ebp - 4], esi
je 0x41295a
push dword [ebp - 4]
call ebx
mov dword [ebp - 4], edi
cmp dword [ebp - 0x14], esi
je 0x412967
push dword [ebp - 0x14]
call ebx
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0xc], esi
je 0x412974
push dword [ebp - 0xc]
call ebx
push edi
push edi
push 1
push edi
mov dword [ebp - 0xc], edi
call dword [sym.imp.KERNEL32.dll_CreateEventA]
push 0x41e570
push edi
push 0x41e558
push 0x4125ea
push edi
push edi
mov dword [0x41e568], eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x41e56c], eax
test eax, eax
je 0x4129b2
xor esi, esi
inc esi
jmp 0x412a02
xor edi, edi
mov esi, dword [ebp - 0x18]
cmp dword [ebp - 8], 0
je 0x4129bd
push dword [ebp - 8]
call ebx
cmp dword [ebp - 4], 0
mov dword [ebp - 8], edi
je 0x4129cb
push dword [ebp - 4]
call ebx
cmp dword [ebp - 0xc], 0
mov dword [ebp - 4], edi
je 0x4129d9
push dword [ebp - 0xc]
call ebx
cmp dword [ebp - 0x10], 0
mov dword [ebp - 0xc], edi
je 0x4129e7
push dword [ebp - 0x10]
call ebx
cmp dword [ebp - 0x14], 0
mov dword [ebp - 0x10], edi
je 0x4129f5
push dword [ebp - 0x14]
call ebx
mov ecx, 0x41e558
mov dword [ebp - 0x14], edi
call fcn.00412798
mov ecx, dword [ebp + 8]
call fcn.00406f1d
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 4