Function at 0x40289c
Capabilities:
Create process on windows

Disassembly:
push ebx
push esi
add esp, 0xfffff9f8
mov esi, eax
xor ebx, ebx
mov eax, esi
call fcn.00402810
cmp al, 1
jne 0x402b31
push 1
call sub.kernel32.dll_Sleep
call sub.kernel32.dll_GetCurrentProcessId
call sub.kernel32.dll_GetCurrentProcess
push 4
lea eax, [esp + 4]
push eax
call sub.kernel32.dll_RtlZeroMemory
push 0
call sub.kernel32.dll_CloseHandle
push esp
push 0x402b3c
lea eax, [esp + 0xc]
push eax
call sub.user32.dll_wvsprintfA
call sub.kernel32.dll_GetCurrentProcess
mov eax, esi
call fcn.00402838
push esp
push 0x402b3c
lea eax, [esp + 0xc]
push eax
call sub.user32.dll_wvsprintfA
push 0
call sub.kernel32.dll_CloseHandle
push 1
call sub.kernel32.dll_Sleep
call sub.kernel32.dll_GetCurrentProcess
push esp
push 0x402b3c
lea eax, [esp + 0xc]
push eax
call sub.user32.dll_wvsprintfA
call sub.kernel32.dll_GetCurrentProcessId
mov eax, esi
call fcn.00402838
push 4
lea eax, [esp + 4]
push eax
call sub.kernel32.dll_RtlZeroMemory
call sub.kernel32.dll_GetTickCount
mov eax, esi
call fcn.00402838
push 1
call sub.kernel32.dll_Sleep
call sub.kernel32.dll_GetTickCount
push 4
lea eax, [esp + 4]
push eax
call sub.kernel32.dll_RtlZeroMemory
push 1
call sub.kernel32.dll_Sleep
call sub.kernel32.dll_GetCurrentProcessId
push 0x402b40
lea eax, [esp + 8]
push eax
call sub.kernel32.dll_lstrcatA
call sub.kernel32.dll_GetCurrentProcessId
push 1
call sub.kernel32.dll_Sleep
call sub.kernel32.dll_GetCurrentProcess
call sub.kernel32.dll_GetTickCount
call sub.kernel32.dll_GetCurrentProcess
push 0x402b40
lea eax, [esp + 8]
push eax
call sub.kernel32.dll_lstrcatA
lea eax, [esp + 4]
push eax
call sub.kernel32.dll_lstrlenA
push 1
call sub.kernel32.dll_Sleep
push esp
push 0x402b3c
lea eax, [esp + 0xc]
push eax
call sub.user32.dll_wvsprintfA
call sub.kernel32.dll_GetCurrentProcessId
call sub.kernel32.dll_GetCurrentProcess
mov eax, esi
call fcn.00402838
call sub.user32.dll_GetForegroundWindow
push 4
lea eax, [esp + 4]
push eax
call sub.kernel32.dll_RtlZeroMemory
push 0x402b40
lea eax, [esp + 8]
push eax
call sub.kernel32.dll_lstrcmpiA
call sub.user32.dll_GetForegroundWindow
push 0x402b44
lea eax, [esp + 0x108]
push eax
call sub.kernel32.dll_lstrcpyA
call sub.kernel32.dll_GetTickCount
mov dword [esp], eax
push esp
push 0x402b3c
lea eax, [esp + 0xc]
push eax
call sub.user32.dll_wvsprintfA
lea eax, [esp + 4]
push eax
lea eax, [esp + 0x108]
push eax
call sub.kernel32.dll_lstrcatA
push 0x402b4c
lea eax, [esp + 0x108]
push eax
call sub.kernel32.dll_lstrcatA
lea eax, [esp + 0x104]
call fcn.00402870
cmp al, 1
jne 0x402b31
push 0x402b54
lea eax, [esp + 0x20c]
push eax
call sub.kernel32.dll_lstrcpyA
push 0x402b60
lea eax, [esp + 0x20c]
push eax
call sub.kernel32.dll_lstrcatA
push 0x402b68
lea eax, [esp + 0x20c]
push eax
call sub.kernel32.dll_lstrcatA
push esi
lea eax, [esp + 0x20c]
push eax
call sub.kernel32.dll_lstrcatA
push 0x402b74
lea eax, [esp + 0x20c]
push eax
call sub.kernel32.dll_lstrcatA
push esi
lea eax, [esp + 0x20c]
push eax
call sub.kernel32.dll_lstrcatA
push 0x402b8c
lea eax, [esp + 0x20c]
push eax
call sub.kernel32.dll_lstrcatA
push esi
lea eax, [esp + 0x20c]
push eax
call sub.kernel32.dll_lstrcatA
push 0x402b9c
lea eax, [esp + 0x20c]
push eax
call sub.kernel32.dll_lstrcatA
push 0
push 1
lea eax, [esp + 0x210]
push eax
call sub.kernel32.dll_lstrlenA
mov ecx, eax
lea edx, [esp + 0x210]
lea eax, [esp + 0x10c]
call fcn.00402bdc
push 0
lea eax, [esp + 0x108]
push eax
call sub.kernel32.dll_WinExec
mov bl, 1
mov eax, ebx
add esp, 0x608
pop esi
pop ebx
ret