Function at 0x100031e0
Capabilities:
Create process on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004384e
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xac
mov eax, dword [0x10059070]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
push 0x44
lea eax, [ebp - 0x78]
push 0
push eax
call fcn.10024780
add esp, 0xc
mov dword [ebp - 0x78], 0x44
xor eax, eax
mov dword [ebp - 0x4c], 1
xorps xmm0, xmm0
mov word [ebp - 0x48], ax
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x8c], 0xf
push 0x20
push str.c:windows_system32_rundll32.exe
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x90], eax
mov byte [ebp - 0xa0], al
call fcn.10006bd0
push 0x100530e0
lea edx, [ebp - 0xa0]
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xb8]
call fcn.1000a080
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call fcn.1000a080
add esp, 4
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0xa4]
cmp eax, 0x10
jb 0x100032fe
mov ecx, dword [ebp - 0xb8]
inc eax
cmp eax, 0x1000
jb 0x100032f5
test cl, 0x1f
je 0x100032d1
call fcn.10028657
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x100032dd
call fcn.10028657
sub ecx, eax
cmp ecx, 4
jae 0x100032e9
call fcn.10028657
cmp ecx, 0x23
jbe 0x100032f3
call fcn.10028657
mov ecx, eax
push ecx
call fcn.10021dd2
add esp, 4
mov dword [ebp - 0xa4], 0xf
mov dword [ebp - 0xa8], 0
mov byte [ebp - 0xb8], 0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x8c]
cmp eax, 0x10
jb 0x1000336d
mov ecx, dword [ebp - 0xa0]
inc eax
cmp eax, 0x1000
jb 0x10003364
test cl, 0x1f
je 0x10003340
call fcn.10028657
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x1000334c
call fcn.10028657
sub ecx, eax
cmp ecx, 4
jae 0x10003358
call fcn.10028657
cmp ecx, 0x23
jbe 0x10003362
call fcn.10028657
mov ecx, eax
push ecx
call fcn.10021dd2
add esp, 4
cmp dword [ebp - 0x18], 0x10
lea ecx, [ebp - 0x88]
push ecx
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x8c], 0xf
push ecx
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x90], 0
cmovae eax, dword [ebp - 0x2c]
push 0
push eax
push 0
mov byte [ebp - 0xa0], 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x100033e6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ecx
mov edx, str.CreateProcess_failed__
mov ecx, 0x1005aca0
call fcn.100094c0
add esp, 4
mov ecx, eax
call fcn.10004f90
mov edx, 0x100530e4
mov ecx, eax
call fcn.100094c0
jmp 0x1000340a
push 0xffffffffffffffff
push dword [ebp - 0x88]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [ebp - 0x88]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x84]
call esi
mov eax, dword [ebp - 0x18]
cmp eax, 0x10
jb 0x10003454
mov ecx, dword [ebp - 0x2c]
inc eax
cmp eax, 0x1000
jb 0x1000344b
test cl, 0x1f
je 0x10003427
call fcn.10028657
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x10003433
call fcn.10028657
sub ecx, eax
cmp ecx, 4
jae 0x1000343f
call fcn.10028657
cmp ecx, 0x23
jbe 0x10003449
call fcn.10028657
mov ecx, eax
push ecx
call fcn.10021dd2
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1002181d
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret