Function at 0x466424
Capabilities:
Accept command line arguments
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 6
push 0
push 0
dec ecx
jne 0x46642c
push ecx
push ebx
push esi
push edi
mov eax, 0x466214
call fcn.004062d0
xor eax, eax
push ebp
push 0x4666fa
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetCommandLineA_1
mov edx, eax
mov eax, 0x469c30
call fcn.00404614
lea edx, [ebp - 0x14]
mov eax, dword [0x469c30]
call fcn.004081d4
mov edx, dword [ebp - 0x14]
mov eax, 0x466714
call fcn.00404a20
mov esi, eax
push 0x469c30
mov eax, dword [0x469c30]
call fcn.004046dc
mov ecx, eax
mov edx, esi
mov eax, dword [0x469c30]
call fcn.0040493c
lea edx, [ebp - 0x1c]
mov eax, 1
call fcn.00402e04
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
call fcn.004081d4
mov edx, dword [ebp - 0x18]
mov eax, 0x466714
call fcn.00404a20
dec eax
jne 0x466518
push 5
push 0x46671c
mov eax, dword [0x469c30]
call fcn.004048dc
push eax
lea edx, [ebp - 0x24]
mov eax, dword [0x468220]
mov eax, dword [eax]
call fcn.0046193c
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x20]
call fcn.00408bfc
lea eax, [ebp - 0x20]
mov edx, 0x466728
call fcn.004046e4
mov eax, dword [ebp - 0x20]
call fcn.004048dc
push eax
push 0x466740
call sub.user32.dll_GetDesktopWindow
push eax
call sub.shell32.dll_ShellExecuteA
jmp 0x4666df
push 0x466748
call sub.user32.dll_RegisterWindowMessageA
mov edi, eax
push 0x46675c
push 0
push 0
call fcn.00406568
mov ebx, eax
test ebx, ebx
je 0x4666df
push 0x1388
push ebx
call sub.kernel32.dll_WaitForSingleObject
sub eax, 1
jb 0x466565
sub eax, 0x7f
je 0x46662f
sub eax, 0x82
je 0x46662f
jmp 0x46663c
mov eax, dword [0x46803c]
mov eax, dword [eax]
call fcn.0046615c
test eax, eax
je 0x466599
push ebx
call sub.kernel32.dll_ReleaseMutex
push 0
push 0
push edi
push 0xffff
call sub.user32.dll_PostMessageA
push 0x3e8
call sub.kernel32.dll_Sleep_1
jmp 0x46663c
lea edx, [ebp - 0x2c]
mov eax, 1
call fcn.00402e04
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x28]
call fcn.004081d4
mov eax, dword [ebp - 0x28]
mov edx, 0x46677c
call fcn.00404828
jne 0x4665d1
mov eax, dword [0x46803c]
mov eax, dword [eax]
mov edx, 1
call fcn.00466164
push ebx
call sub.kernel32.dll_ReleaseMutex
lea edx, [ebp - 0x34]
mov eax, 1
call fcn.00402e04
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x30]
call fcn.004081d4
mov eax, dword [ebp - 0x30]
mov edx, 0x46677c
call fcn.00404828
jne 0x46663c
mov esi, 0x258
push 0x3e8
call sub.kernel32.dll_Sleep_1
push 1
push edi
push edi
push 0
push 0x469c14
call sub.user32.dll_PeekMessageA
test eax, eax
je 0x46662a
mov byte [0x467f14], 1
jmp 0x46663c
dec esi
jne 0x466603
jmp 0x46663c
push ebx
call sub.kernel32.dll_CloseHandle
mov byte [0x467f14], 1
push ebx
call sub.kernel32.dll_CloseHandle
push 0x466780
push 0xffffffffffffffff
push 0
call fcn.00406568
mov edx, dword [0x468138]
mov dword [edx], eax
call sub.kernel32.dll_GetLastError
cmp eax, 0xb7
je 0x4666df
cmp byte [0x467f14], 0
jne 0x4666df
mov eax, dword [0x468220]
mov eax, dword [eax]
call fcn.004611e4
mov ecx, dword [0x46812c]
mov eax, dword [0x468220]
mov eax, dword [eax]
mov edx, dword [0x464430]
call fcn.004611fc
mov eax, dword [0x468220]
mov eax, dword [eax]
mov byte [eax + 0x5b], 0
mov eax, dword [0x46812c]
mov eax, dword [eax]
call fcn.00464d38
test al, al
jne 0x4666ba
mov eax, dword [0x46812c]
mov eax, dword [eax]
call fcn.0045db80
jmp 0x4666d3
mov eax, dword [0x468220]
mov eax, dword [eax]
mov byte [eax + 0x5b], 1
mov eax, dword [0x46812c]
mov eax, dword [eax]
mov dl, 1
call fcn.00465a54
mov eax, dword [0x468220]
mov eax, dword [eax]
call fcn.0046127c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x466701
lea eax, [ebp - 0x34]
mov edx, 9
call fcn.00404440
ret