Function at 0x300024d2
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x78
push esi
push edi
push dword [ebp + 0xc]
call fcn.30001be6
mov edi, eax
mov eax, dword [ebp + 0x18]
xor esi, esi
cmp eax, esi
mov dword [ebp - 0x18], edi
je 0x30002504
cmp word [eax], si
je 0x30002504
push eax
call fcn.30001be6
mov ecx, eax
inc ecx
inc ecx
mov dword [ebp - 8], ecx
jmp 0x30002509
mov dword [ebp - 8], esi
mov ecx, esi
mov eax, dword [ebp + 0x1c]
cmp eax, esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], esi
je 0x30002525
cmp word [eax], si
mov dword [ebp - 0x1c], 1
jne 0x30002528
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x10], eax
mov eax, 0x7d00
cmp edi, eax
mov dword [ebp - 0xc], esi
ja 0x30002747
mov edx, dword [ebp + 0x14]
cmp edx, eax
ja 0x30002747
cmp ecx, eax
ja 0x30002747
add ecx, edi
lea edi, [ecx + edx + 4]
cmp edi, 0x3fffffff
mov dword [ebp - 0x20], edi
jae 0x30002747
push ebx
lea eax, [edi + edi + 2]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebx, eax
cmp ebx, esi
je 0x30002746
push 0x44
pop esi
push esi
lea eax, [ebp - 0x78]
push eax
call fcn.30001ddb
xor eax, eax
inc eax
mov dword [ebp - 0x4c], eax
mov word [ebp - 0x48], ax
lea eax, [edi + 1]
push eax
push dword [ebp + 0xc]
mov dword [ebp - 0x78], esi
push ebx
call fcn.30002014
push 0x300015f4
push ebx
call fcn.30001f42
mov esi, eax
test esi, esi
jne 0x300025dc
push 0x300015ec
push ebx
call fcn.30001f42
mov esi, eax
test esi, esi
jne 0x300025dc
mov eax, dword [ebp - 0x18]
lea esi, [ebx + eax*2]
cmp word [esi - 2], 0x20
je 0x300025ec
mov word [esi], 0x20
inc esi
inc esi
jmp 0x300025ec
xor eax, eax
cmp word [esi], 0x22
sete al
lea eax, [eax + eax + 2]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 8], 0
je 0x30002668
mov eax, dword [ebp + 0x14]
add eax, 8
push eax
push dword [ebp + 0x18]
call fcn.3000209a
test eax, eax
mov dword [ebp - 4], eax
je 0x30002668
mov eax, dword [ebp + 0x18]
cmp word [eax], 0x22
jne 0x30002625
mov ecx, dword [ebp - 8]
cmp word [eax + ecx*2 - 6], 0x22
jne 0x30002625
mov dword [ebp - 0xc], 1
jmp 0x30002629
and dword [ebp - 0xc], 0
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x30002662
mov ecx, dword [ebp - 8]
lea edi, [ecx + eax + 4]
push edi
push 0x300015e4
push dword [ebp - 4]
call fcn.3000205e
push edi
push dword [ebp + 0x10]
push dword [ebp - 4]
call fcn.3000205e
push edi
push 0x300015e0
push dword [ebp - 4]
call fcn.3000205e
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push esi
push edi
push dword [ebp - 0x18]
push ebx
call fcn.300023e4
test eax, eax
je 0x30002732
push ebx
call fcn.30001be6
lea eax, [ebx + eax*2]
jmp 0x3000269c
add eax, 0xfffffffe
cmp word [eax], 0x20
jne 0x300026a0
and word [eax], 0
cmp eax, ebx
ja 0x3000268f
cmp dword [ebp - 0x1c], 0
je 0x300026ec
mov edi, dword [ebp + 0x1c]
jmp 0x300026e8
cmp word [edi], 0
je 0x300026ec
push 0x20
push edi
call fcn.30001d75
mov esi, eax
sub esi, edi
sar esi, 1
test esi, esi
jle 0x300026ec
push 0
push 0
push esi
push edi
push ebx
call fcn.30001f42
push eax
push dword [ebp - 0x20]
push ebx
call fcn.30001be6
push eax
push ebx
call fcn.300023e4
test eax, eax
je 0x30002732
lea edi, [edi + esi*2 + 2]
test edi, edi
jne 0x300026ab
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_AllowSetForegroundWindow]
xor esi, esi
cmp dword [ebp + 8], esi
je 0x30002732
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x78]
push eax
push esi
push esi
push 0x400
push esi
push esi
push esi
push ebx
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
cmp eax, esi
je 0x30002732
push dword [ebp - 0x34]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x30]
call esi
mov dword [ebp - 0x24], 1
push ebx
call fcn.300034d6
cmp dword [ebp - 4], 0
je 0x30002746
push dword [ebp - 4]
call fcn.300034d6
pop ebx
mov eax, dword [ebp - 0x24]
pop edi
pop esi
leave
ret 0x1c