Function at 0x40f631
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x414
mov eax, dword [0x5025d0]
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.004a8c80
add esp, 0xc
mov edi, 0x103
push edi
lea eax, [ebp - 0x10f]
push ebx
push eax
mov byte [ebp - 0x110], bl
call fcn.004a8c80
add esp, 0xc
push edi
lea eax, [ebp - 0x217]
push ebx
push eax
mov byte [ebp - 0x218], bl
call fcn.004a8c80
mov edx, dword [ebp - 0x3ac]
add esp, 0xc
call fcn.00477a16
test eax, eax
je 0x40f6e7
xor eax, eax
jmp 0x40f944
cmp esi, ebx
jne 0x40f712
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 0x40f726
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.00477a48
pop ecx
push eax
call fcn.004a7f30
cmp byte [ebp + eax - 0x111], 0x2e
mov eax, esi
pop ecx
lea esi, [ebp - 0x110]
jne 0x40f75f
push 0x4ca010
jmp 0x40f764
push str..exe
call fcn.00477b18
pop ecx
lea edi, [ebp - 0x110]
call fcn.00419e19
test eax, eax
je 0x40f838
push 0x7f
lea eax, [ebp - 0x297]
push ebx
push eax
mov byte [ebp - 0x298], bl
call fcn.004a8c80
add esp, 0xc
mov eax, edi
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.004a8050
pop ecx
pop ecx
lea esi, [ebp - 0x218]
call fcn.00477d45
lea eax, [ebp - 0x298]
push 0xa
push eax
call fcn.004a913c
mov ecx, 0x8ae
cdq
mov esi, ecx
idiv esi
add edx, ecx
push edx
call fcn.004a9bd1
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.0047909b
add esp, 0x14
lea eax, [ebp - 0x218]
push 1
push eax
mov ecx, edi
call fcn.00418fb0
test eax, eax
pop ecx
pop ecx
jne 0x40f838
push 0x4b0
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x218]
push 1
push eax
mov ecx, edi
call fcn.00418fb0
test eax, eax
pop ecx
pop ecx
jne 0x40f838
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.00477a16
test eax, eax
jne 0x40f913
push 0x103
lea eax, [ebp - 0x39f]
push ebx
push eax
mov byte [ebp - 0x3a0], bl
call fcn.004a8c80
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x3a0]
push eax
call fcn.004a8050
lea eax, [ebp - 0x3a0]
call fcn.00477d88
lea esi, [ebp - 0x110]
call fcn.00477d45
lea esi, [ebp - 0x218]
call fcn.00477d45
lea edx, [ebp - 0x3a0]
mov ecx, esi
call fcn.00477fd2
lea eax, [ebp - 0x110]
push 1
push eax
mov ecx, esi
call fcn.00418fb0
add esp, 0x10
test eax, eax
jne 0x40f913
push 0x2ee
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x110]
push 1
push eax
mov ecx, esi
call fcn.00418fb0
pop ecx
pop ecx
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea eax, [ebp - 0x3c4]
cmp dword [ebp - 0x3a4], eax
jne 0x40f93e
mov esi, dword [ebp - 0x3c0]
call fcn.0041c426
mov esi, dword [ebp - 0x3c4]
call fcn.0041c426
mov eax, dword [ebp - 0x3a8]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004a8565
leave
ret