Function at 0x418df3
Capabilities:
Create process on windows

Disassembly:
mov eax, 0x4d99e3
call fcn.0046d048
sub esp, 0x8ec
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
cmp edi, ebx
je 0x41913a
cmp byte [edi], bl
je 0x41913a
mov al, byte [ebp + 0xb]
push ebx
lea ecx, [ebp - 0x3c]
mov byte [ebp - 0x3c], al
call fcn.004040fb
push edi
call fcn.0046d440
pop ecx
push eax
push edi
lea ecx, [ebp - 0x3c]
call fcn.00404041
mov al, byte [ebp + 0xb]
push ebx
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], ebx
mov byte [ebp - 0x2c], al
call fcn.004040fb
mov esi, 0x513b84
mov byte [ebp - 4], 1
push esi
call fcn.0046d440
pop ecx
push eax
push ebx
push esi
lea ecx, [ebp - 0x3c]
call fcn.004079a5
cmp eax, ebx
jle 0x418e9e
push eax
lea eax, [ebp - 0x4c]
push ebx
push eax
lea ecx, [ebp - 0x3c]
call fcn.00409297
push dword [0x4e4d0c]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
push ebx
push eax
call fcn.0040539c
push 1
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.004040fb
jmp 0x418eb1
push dword [0x4e4d0c]
lea eax, [ebp - 0x3c]
lea ecx, [ebp - 0x2c]
push ebx
push eax
call fcn.0040539c
lea ecx, [ebp - 0x2c]
call fcn.00409fc6
push 0x5149c8
lea ecx, [ebp - 0x2c]
call fcn.00419186
test eax, eax
jne 0x419101
push SysReAllocStringLen
push 0x5149ac
lea ecx, [ebp - 0x4e8]
call fcn.00405fe0
mov al, byte [ebp + 0xb]
push ebx
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
mov byte [ebp - 0x1c], al
call fcn.004040fb
lea eax, [ebp - 0x8f8]
lea ecx, [ebp - 0x4e8]
push eax
mov eax, 0x521388
push eax
push eax
mov byte [ebp - 4], 4
call fcn.0040591a
test al, al
je 0x4190b1
mov esi, dword [ebp - 0x4ec]
lea eax, [ebp - 0x8f8]
neg esi
sbb esi, esi
not esi
and esi, eax
push esi
call fcn.0046d440
pop ecx
push eax
push esi
lea ecx, [ebp - 0x1c]
call fcn.00404041
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x1c]
push eax
call fcn.00419286
push dword [0x4e4d0c]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
push ebx
push eax
call fcn.0040539c
push 1
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 4
call fcn.004040fb
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x1c]
push eax
call fcn.004191c9
push dword [0x4e4d0c]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 6
push ebx
push eax
call fcn.0040539c
push 1
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 4
call fcn.004040fb
mov al, byte [ebp + 0xb]
sub esp, 0x10
mov esi, esp
mov dword [ebp - 0x60], esp
push ebx
mov ecx, esi
mov byte [esi], al
call fcn.004040fb
push edi
call fcn.0046d440
pop ecx
push eax
push edi
mov ecx, esi
call fcn.00404041
sub esp, 0x10
lea eax, [ebp + 0xb]
mov ecx, esp
mov dword [ebp - 0x64], esp
push eax
push 0x5149a8
mov byte [ebp - 4], 7
call fcn.00419158
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 4
call fcn.004192f1
cmp eax, ebx
jne 0x419012
mov esi, 0x513800
push esi
call fcn.0046d440
pop ecx
push eax
push esi
lea ecx, [ebp - 0x1c]
call fcn.004054d3
push edi
call fcn.0046d440
pop ecx
push eax
push edi
lea ecx, [ebp - 0x1c]
call fcn.004054d3
push 0x44
lea eax, [ebp - 0xa8]
pop esi
push esi
push ebx
push eax
call fcn.0046d250
push 0x10
lea eax, [ebp - 0x4c]
push ebx
push eax
mov dword [ebp - 0xa8], esi
call fcn.0046d250
mov eax, dword [ebp - 0x18]
add esp, 0x18
cmp eax, ebx
jne 0x419044
mov eax, 0x4e4cf8
lea ecx, [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0xa8]
push ecx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x4190b1
push dword [ebp - 0x4c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x48]
call esi
push 1
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call fcn.004040fb
lea ecx, [ebp - 0x4e8]
mov byte [ebp - 4], 1
call fcn.004060b9
push 1
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], bl
call fcn.004040fb
or dword [ebp - 4], 0xffffffff
push 1
lea ecx, [ebp - 0x3c]
call fcn.004040fb
push 0x21
pop eax
jmp 0x41913c
push 1
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call fcn.004040fb
lea ecx, [ebp - 0x4e8]
mov byte [ebp - 4], 1
call fcn.004060b9
push dword [ebp + 0xc]
push ebx
push ebx
push edi
push 0x5146ec
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov esi, eax
push 1
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], bl
call fcn.004040fb
or dword [ebp - 4], 0xffffffff
push 1
lea ecx, [ebp - 0x3c]
call fcn.004040fb
mov eax, esi
jmp 0x41913c
mov eax, dword [ebp - 0x28]
cmp eax, ebx
jne 0x41910d
mov eax, 0x4e4cf8
push eax
call fcn.0046d8c6
mov esi, eax
pop ecx
cmp esi, ebx
je 0x4190ce
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4190ce
push 9
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push 0x21
pop esi
jmp 0x4190e2
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret