Function at 0x40f89c
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x414
mov eax, dword [0x51f5d0]
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.004c05d0
add esp, 0xc
mov edi, 0x103
push edi
lea eax, [ebp - 0x10f]
push ebx
push eax
mov byte [ebp - 0x110], bl
call fcn.004c05d0
add esp, 0xc
push edi
lea eax, [ebp - 0x217]
push ebx
push eax
mov byte [ebp - 0x218], bl
call fcn.004c05d0
mov edx, dword [ebp - 0x3ac]
add esp, 0xc
call fcn.00485754
test eax, eax
je 0x40f952
xor eax, eax
jmp 0x40fbaf
cmp esi, ebx
jne 0x40f97d
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 0x40f991
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.00485786
pop ecx
push eax
call fcn.004bf880
cmp byte [ebp + eax - 0x111], 0x2e
mov eax, esi
pop ecx
lea esi, [ebp - 0x110]
jne 0x40f9ca
push 0x4e138c
jmp 0x40f9cf
push str..exe
call fcn.00485856
pop ecx
lea edi, [ebp - 0x110]
call fcn.0041a56b
test eax, eax
je 0x40faa3
push 0x7f
lea eax, [ebp - 0x297]
push ebx
push eax
mov byte [ebp - 0x298], bl
call fcn.004c05d0
add esp, 0xc
mov eax, edi
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.004bf9a0
pop ecx
pop ecx
lea esi, [ebp - 0x218]
call fcn.00485a88
lea eax, [ebp - 0x298]
push 0xa
push eax
call fcn.004c0a8c
mov ecx, 0x8ae
cdq
mov esi, ecx
idiv esi
add edx, ecx
push edx
call fcn.004c0d56
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.00486f45
add esp, 0x14
lea eax, [ebp - 0x218]
push 1
push eax
mov ecx, edi
call fcn.00419613
test eax, eax
pop ecx
pop ecx
jne 0x40faa3
push 0x4b0
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x218]
push 1
push eax
mov ecx, edi
call fcn.00419613
test eax, eax
pop ecx
pop ecx
jne 0x40faa3
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.00485754
test eax, eax
jne 0x40fb7e
push 0x103
lea eax, [ebp - 0x39f]
push ebx
push eax
mov byte [ebp - 0x3a0], bl
call fcn.004c05d0
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x3a0]
push eax
call fcn.004bf9a0
lea eax, [ebp - 0x3a0]
call fcn.00485acb
lea esi, [ebp - 0x110]
call fcn.00485a88
lea esi, [ebp - 0x218]
call fcn.00485a88
lea edx, [ebp - 0x3a0]
mov ecx, esi
call fcn.00485d15
lea eax, [ebp - 0x110]
push 1
push eax
mov ecx, esi
call fcn.00419613
add esp, 0x10
test eax, eax
jne 0x40fb7e
push 0x2ee
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x110]
push 1
push eax
mov ecx, esi
call fcn.00419613
pop ecx
pop ecx
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea eax, [ebp - 0x3c4]
cmp dword [ebp - 0x3a4], eax
jne 0x40fba9
mov esi, dword [ebp - 0x3c0]
call fcn.0041cc21
mov esi, dword [ebp - 0x3c4]
call fcn.0041cc21
mov eax, dword [ebp - 0x3a8]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004bfeb5
leave
ret