Function at 0x1012724
Capabilities:
Create process on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x22c
mov eax, dword [0x101908c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp + 0x14]
xor ebx, ebx
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x214], esi
mov dword [ebp - 0x224], eax
test esi, esi
je 0x10127b2
push esi
call fcn.0100dc42
test eax, eax
je 0x10127b2
test edi, edi
je 0x10127b2
xor eax, eax
cmp ax, word [edi]
je 0x10127b2
cmp dword [ebp - 0x220], eax
je 0x10127b2
push 0x1005b24
push edi
call fcn.01010b11
mov dword [ebp - 0x21c], eax
test eax, eax
je 0x10127ae
push 0x1005b10
push edi
call fcn.01010b11
mov dword [ebp - 0x210], eax
test eax, eax
je 0x101277f
mov edi, 0x1005afc
push edi
push eax
push esi
call fcn.01011607
cmp eax, 1
jne 0x101275c
mov esi, 0x1005ae8
push esi
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call fcn.01011607
cmp eax, 1
jne 0x1012755
push ebx
push edi
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call fcn.01011388
push ebx
push esi
push dword [ebp - 0x210]
mov edi, eax
push dword [ebp - 0x214]
call fcn.01011388
mov dword [ebp - 0x22c], eax
cmp edi, eax
ja 0x1012755
mov dword [ebp - 0x218], edi
cmp ebx, 0x30000e
je 0x101277f
mov eax, dword [ebp - 0x22c]
cmp dword [ebp - 0x218], eax
ja 0x101277f
xor edi, edi
push 0x204
lea eax, [ebp - 0x208]
push edi
push eax
mov dword [ebp - 0x20c], edi
call fcn.0100d6ea
push dword [ebp - 0x218]
lea eax, [ebp - 0x20c]
push 0x1005ae0
push 0x104
push eax
call fcn.0100edf4
mov ebx, eax
add esp, 0x1c
cmp ebx, edi
jl 0x1012745
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x210]
push dword [ebp - 0x214]
call fcn.0101169b
mov dword [ebp - 0x228], eax
cmp eax, edi
je 0x1012740
push eax
push dword [ebp - 0x21c]
call fcn.01010b11
mov esi, eax
cmp esi, edi
je 0x10126f7
push dword [ebp - 0x224]
push esi
push dword [ebp - 0x214]
call dword [ebp - 0x220]
push esi
push edi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x101272a
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp eax, edi
jle 0x101270f
and eax, 0xffff
or eax, 0x80070000
cmp eax, edi
jge 0x1012725
call esi
cmp eax, edi
jle 0x1012721
and eax, 0xffff
or eax, 0x80070000
mov ebx, eax
jmp 0x101272a
mov ebx, 0x80004005
push dword [ebp - 0x228]
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1012745
mov ebx, 0x80300010
inc dword [ebp - 0x218]
cmp ebx, edi
jge 0x1012638
jmp 0x101277f
mov ebx, 0x80300010
jmp 0x101277f
push 0x1005ae8
push dword [ebp - 0x210]
push esi
call fcn.01011607
mov ebx, eax
neg ebx
sbb ebx, ebx
and ebx, 0x80000001
add ebx, 0x30000f
push dword [ebp - 0x21c]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push 0
call edi
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
push eax
call esi
cmp dword [ebp - 0x210], 0
je 0x10127ae
push dword [ebp - 0x210]
push 0
call edi
push eax
call esi
mov eax, ebx
jmp 0x10127b7
mov eax, 0x80070057
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0100d691
leave
ret 0x10