Function at 0x40e954
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x414
mov eax, dword [0x5005d0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3ac], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x3a8], eax
mov eax, dword [ebp + 0x10]
push ebx
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp + 0x14]
push esi
push edi
mov dword [ebp - 0x3a4], eax
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x3c4], ebx
lea edi, [ebp - 0x3c0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x40
stosd dword es:[edi], eax
lea eax, [ebp - 0x40c]
mov esi, ecx
push ebx
push eax
mov dword [ebp - 0x3b0], esi
mov dword [ebp - 0x410], ebx
call fcn.004a7110
add esp, 0xc
mov edi, 0x103
push edi
lea eax, [ebp - 0x10f]
push ebx
push eax
mov byte [ebp - 0x110], bl
call fcn.004a7110
add esp, 0xc
push edi
lea eax, [ebp - 0x217]
push ebx
push eax
mov byte [ebp - 0x218], bl
call fcn.004a7110
mov edx, dword [ebp - 0x3ac]
add esp, 0xc
call fcn.00475851
test eax, eax
je 0x40ea0a
xor eax, eax
jmp 0x40ec67
cmp esi, ebx
jne 0x40ea35
lea eax, [ebp - 0x410]
mov dword [ebp - 0x410], 0x44
mov dword [ebp - 0x3e4], 1
mov word [ebp - 0x3e0], bx
mov dword [ebp - 0x3b0], eax
cmp dword [ebp - 0x3a4], ebx
jne 0x40ea49
lea eax, [ebp - 0x3c4]
mov dword [ebp - 0x3a4], eax
push dword [ebp - 0x3ac]
mov esi, 0x104
mov ecx, esi
lea eax, [ebp - 0x110]
call fcn.00475883
pop ecx
push eax
call fcn.004a63c0
cmp byte [ebp + eax - 0x111], 0x2e
mov eax, esi
pop ecx
lea esi, [ebp - 0x110]
jne 0x40ea82
push 0x4c7f80
jmp 0x40ea87
push str..exe
call fcn.00475953
pop ecx
lea edi, [ebp - 0x110]
call fcn.00418e6b
test eax, eax
je 0x40eb5b
push 0x7f
lea eax, [ebp - 0x297]
push ebx
push eax
mov byte [ebp - 0x298], bl
call fcn.004a7110
add esp, 0xc
mov eax, edi
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.004a64e0
pop ecx
pop ecx
lea esi, [ebp - 0x218]
call fcn.00475b80
lea eax, [ebp - 0x298]
push 0xa
push eax
call fcn.004a75cc
mov ecx, 0x8ae
cdq
mov esi, ecx
idiv esi
add edx, ecx
push edx
call fcn.004a7a6f
add esp, 0xc
push ebx
lea eax, [ebp - 0x298]
push eax
push str..exe
lea eax, [ebp - 0x218]
push 0x104
push eax
mov byte [ebp - 0x293], bl
call fcn.00476ed6
add esp, 0x14
lea eax, [ebp - 0x218]
push 1
push eax
mov ecx, edi
call fcn.00418002
test eax, eax
pop ecx
pop ecx
jne 0x40eb5b
push 0x4b0
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x218]
push 1
push eax
mov ecx, edi
call fcn.00418002
test eax, eax
pop ecx
pop ecx
jne 0x40eb5b
mov byte [ebp - 0x218], bl
push dword [ebp - 0x3a4]
push dword [ebp - 0x3b0]
push dword [ebp - 0x3b4]
push ebx
push 0x28
push ebx
push ebx
push ebx
push dword [ebp - 0x3a8]
push dword [ebp - 0x3ac]
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
mov dword [ebp - 0x3a8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp - 0x218]
mov edi, eax
call fcn.00475851
test eax, eax
jne 0x40ec36
push 0x103
lea eax, [ebp - 0x39f]
push ebx
push eax
mov byte [ebp - 0x3a0], bl
call fcn.004a7110
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x3a0]
push eax
call fcn.004a64e0
lea eax, [ebp - 0x3a0]
call fcn.00475bc3
lea esi, [ebp - 0x110]
call fcn.00475b80
lea esi, [ebp - 0x218]
call fcn.00475b80
lea edx, [ebp - 0x3a0]
mov ecx, esi
call fcn.00475e0d
lea eax, [ebp - 0x110]
push 1
push eax
mov ecx, esi
call fcn.00418002
add esp, 0x10
test eax, eax
jne 0x40ec36
push 0x2ee
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x110]
push 1
push eax
mov ecx, esi
call fcn.00418002
pop ecx
pop ecx
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea eax, [ebp - 0x3c4]
cmp dword [ebp - 0x3a4], eax
jne 0x40ec61
mov esi, dword [ebp - 0x3c0]
call fcn.0041b138
mov esi, dword [ebp - 0x3c4]
call fcn.0041b138
mov eax, dword [ebp - 0x3a8]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004a69f5
leave
ret