Function at 0x403930
Capabilities:
Create pipe
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x43a004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push edi
xor edi, edi
mov dword [ebp - 0x110], ecx
push 0xfffffffffffffff6
mov dword [ebp - 0x10c], edi
call esi
push 0xfffffffffffffff5
mov dword [ebp - 0x11c], eax
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
xor esi, esi
mov dword [ebp - 0x120], eax
jmp 0x403986
mov edi, dword [ebp - 0x10c]
cmp esi, 0x3e
jg 0x403b04
push 0
push 0
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
je 0x403af3
push 1
push 1
push dword [ebp - 0x114]
call dword [sym.imp.KERNEL32.dll_SetHandleInformation]
push dword [ebp - 0x114]
mov eax, dword [sym.imp.KERNEL32.dll_SetStdHandle]
push 0xfffffffffffffff5
call eax
mov ecx, dword [ebp - 0x110]
mov ecx, dword [ecx]
call fcn.004037d0
push dword [ebp - 0x114]
mov dword [ebp + esi*4 - 0x108], eax
call ebx
test edi, edi
je 0x4039f1
push edi
call ebx
push 1
push 1
push dword [ebp - 0x118]
call dword [sym.imp.KERNEL32.dll_SetHandleInformation]
push dword [ebp - 0x118]
mov edi, dword [sym.imp.KERNEL32.dll_SetStdHandle]
push 0xfffffffffffffff6
call edi
cmp dword [ebp + esi*4 - 0x108], 0
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x10c], eax
je 0x403b2e
mov eax, dword [ebp - 0x110]
inc esi
mov edi, esi
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
cmp byte [eax + 0xc], 6
je 0x403980
push dword [ebp - 0x120]
mov eax, dword [sym.imp.KERNEL32.dll_SetStdHandle]
push 0xfffffffffffffff5
call eax
mov ecx, dword [ebp - 0x110]
call fcn.004037d0
mov dword [ebp + esi*4 - 0x108], eax
test eax, eax
je 0x403b22
push dword [ebp - 0x10c]
inc esi
call ebx
push dword [ebp - 0x11c]
push 0xfffffffffffffff6
call dword [sym.imp.KERNEL32.dll_SetStdHandle]
push 0x44a1e0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0xffffffffffffffff
push 1
lea eax, [ebp - 0x108]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
push 0x44a1e0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [ebp - 0x124]
push eax
push dword [ebp + esi*4 - 0x10c]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov eax, dword [ebp - 0x124]
mov dword [0x43bbd4], eax
test edi, edi
js 0x403b76
nop dword [eax + eax]
push dword [ebp + edi*4 - 0x108]
call ebx
sub edi, 1
jns 0x403ae0
jmp 0x403b71
mov edx, 0x6e
mov ecx, 0x44a020
call fcn.0041cc00
jmp 0x403b18
push 0x436cd4
push 0x66
push 0x44a020
call fcn.0041cd80
add esp, 0xc
mov dword [0x43bbd4], 1
mov eax, dword [ebp - 0x10c]
mov edi, dword [sym.imp.KERNEL32.dll_SetStdHandle]
test eax, eax
je 0x403b35
push eax
call ebx
sub esi, 1
js 0x403b5d
nop word [eax + eax]
push 0
push dword [ebp + esi*4 - 0x108]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push dword [ebp + esi*4 - 0x108]
call ebx
sub esi, 1
jns 0x403b40
push dword [ebp - 0x11c]
push 0xfffffffffffffff6
call edi
push dword [ebp - 0x120]
push 0xfffffffffffffff5
call edi
mov eax, dword [0x43bbd4]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041d22b
mov esp, ebp
pop ebp
ret