Function at 0x406730
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x437db0
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x3470
call fcn.00426260
mov eax, dword [0x4493b4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov bl, byte [ebp + 0xc]
mov esi, ecx
mov edi, edx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3428], eax
xor eax, eax
mov dword [ebp - 0x341c], eax
mov dword [ebp - 0x3420], eax
mov dword [ebp - 4], eax
cmp esi, eax
je 0x406af8
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x406794
sub eax, edx
je 0x406af8
test edi, edi
je 0x4067c3
movzx ecx, bl
push ecx
push edi
push esi
push str._RunExecute__Execute_command_____s___Parameter____s___bWait___d
mov ecx, 0x44d258
call fcn.00404e20
add esp, 0x10
jmp 0x4067da
movzx edx, bl
push edx
push esi
push str._RunExecute__Execute_command_____s___Parameter___NULL___bWait___d
mov ecx, 0x44d258
call fcn.00404e20
add esp, 0xc
push 0x44
push 0
lea eax, [ebp - 0x3480]
push eax
call fcn.00423cc0
xor eax, eax
mov dword [ebp - 0x3438], eax
mov dword [ebp - 0x3434], eax
mov dword [ebp - 0x3430], eax
mov dword [ebp - 0x342c], eax
push 0x400
push eax
lea ecx, [ebp - 0x418]
push ecx
call fcn.00423cc0
push 0x1000
push 0
lea edx, [ebp - 0x1418]
push edx
call fcn.00423cc0
push 0x1000
push 0
lea eax, [ebp - 0x3418]
push eax
call fcn.00423cc0
push 0x1000
push 0
lea ecx, [ebp - 0x2418]
push ecx
call fcn.00423cc0
add esp, 0x3c
test edi, edi
je 0x4068f8
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x406860
sub eax, edx
je 0x4068f8
push esi
push 0x400
lea edx, [ebp - 0x418]
push edx
call fcn.00422999
push edi
push 0x1000
lea eax, [ebp - 0x1418]
push eax
call fcn.00422999
push 0x43f4a0
lea ecx, [ebp - 0x418]
call fcn.00406420
mov ecx, 0x43f4a0
lea edx, [ebp - 0x418]
call fcn.004065b0
push 0x43e9c4
lea ecx, [ebp - 0x1418]
call fcn.00406420
mov ecx, 0x43e9c4
lea edx, [ebp - 0x1418]
call fcn.004065b0
lea ecx, [ebp - 0x1418]
push ecx
lea edx, [ebp - 0x418]
push edx
push str.__s___s
lea edx, [ebp - 0x3418]
call fcn.00405380
add esp, 0x2c
jmp 0x40692d
push esi
push 0x1000
lea eax, [ebp - 0x3418]
push eax
call fcn.00422999
push 0x43e9c4
lea ecx, [ebp - 0x3418]
call fcn.00406420
add esp, 0x10
mov ecx, 0x43e9c4
lea edx, [ebp - 0x3418]
call fcn.004065b0
lea ecx, [ebp - 0x3418]
push ecx
push 0x1000
lea edx, [ebp - 0x2418]
push edx
call fcn.00422999
push 0x43f678
lea ecx, [ebp - 0x2418]
call fcn.00406420
mov ecx, 0x43f678
lea edx, [ebp - 0x2418]
call fcn.004065b0
push 0x2e
lea eax, [ebp - 0x2418]
push eax
call fcn.004237e0
add esp, 0x18
xor edi, edi
cmp eax, edi
je 0x4069b4
mov byte [eax], 0
push 0x5c
lea ecx, [ebp - 0x2418]
push ecx
call fcn.00422460
add esp, 8
cmp eax, edi
je 0x4069b4
mov byte [eax], 0
lea esi, [ebp - 0x2418]
mov edx, esi
push edx
push str._RunExecute__Current_Directory____s_
mov ecx, 0x44d258
call fcn.00404e20
add esp, 8
jmp 0x4069c8
xor esi, esi
push str._RunExecute__Current_Directory___NULL_
mov ecx, 0x44d258
call fcn.00404e20
add esp, 4
lea eax, [ebp - 0x3438]
push eax
lea ecx, [ebp - 0x3480]
push ecx
push esi
push edi
push 0x20
push edi
push edi
push edi
lea edx, [ebp - 0x3418]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x406ac3
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
lea esp, [esp]
test bl, bl
je 0x406acf
push 0x3e8
mov eax, dword [ebp - 0x3438]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, edi
je 0x406a4a
cmp eax, 0xffffffff
je 0x406a2d
call esi
mov dword [ebp - 0x341c], eax
jmp 0x406a00
push str._RunExecute__Wait_fail___
call esi
mov ecx, eax
mov edx, 0x44d258
call fcn.00404ce0
add esp, 4
xor bl, bl
mov byte [ebp + 0xc], bl
jmp 0x406a00
lea ecx, [ebp - 0x3420]
push ecx
mov edx, dword [ebp - 0x3438]
push edx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x406a9d
mov eax, dword [ebp - 0x3428]
cmp eax, edi
je 0x406a74
mov ecx, dword [ebp - 0x3420]
mov dword [eax], ecx
mov edx, dword [ebp - 0x3420]
push edx
push str._RunExecute__Process_Exit_Code___d
mov ecx, 0x44d258
call fcn.00404e20
add esp, 8
mov dword [ebp - 0x341c], edi
xor bl, bl
mov byte [ebp + 0xc], bl
jmp 0x406a00
push str._RunExecute__Get_ExitCode_from_Process_FAIL____
call esi
mov ecx, eax
mov edx, 0x44d258
call fcn.00404ce0
add esp, 4
mov dword [ebp - 0x341c], edi
xor bl, bl
mov byte [ebp + 0xc], bl
jmp 0x406a00
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x341c], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x341c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00422383
mov esp, ebp
pop ebp
ret
push str.Fail_____Invalid_Parameter_in_RunExecute____
mov ecx, 0x44d258
call fcn.00404e20
add esp, 4
mov eax, 0x57
jmp 0x406adc