Function at 0x10031850
Capabilities:
Create process on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x90
mov esi, ecx
mov eax, dword [0x10063040]
xor eax, esp
mov dword [esp + 0x8c], eax
cmp dword [ecx + 0x10], 0
sete byte [esp + 0x2f]
mov ecx, 0x385f37af
mov eax, 0x427c0257
lea ebx, [esp + 0x48]
lea ebp, [esp + 0x38]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x100318a0
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov ecx, 0xc3edc891
mov eax, 0xc3456542
nop
cmp ecx, 0xc744211
jle 0x10031900
cmp ecx, 0x385f37ae
jle 0x10031940
cmp ecx, 0x51ed30f6
jle 0x100319de
cmp ecx, 0x51ed30f7
je 0x10031aae
cmp ecx, 0x592807d8
je 0x10031aca
cmp ecx, 0x77bee599
jne 0x100318a0
mov ecx, dword [esp + 0x28]
cmp ecx, 0x523d062d
mov ecx, 0x592807d8
mov edx, 0x2a070a03
cmovl ecx, edx
jmp 0x100318a0
cmp ecx, 0xb2fc3314
jg 0x100319b0
cmp ecx, 0x9e2ed4a4
jg 0x10031a12
cmp ecx, 0x89f209fc
je 0x10031ae6
cmp ecx, 0x8a64834e
jne 0x10031be1
mov ecx, 0xc3edc891
jmp 0x100318a0
cmp ecx, 0x269e0ccb
jg 0x10031a46
cmp ecx, 0xc744212
je 0x10031af0
cmp ecx, 0x24b49932
jne 0x100318a0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 8
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call edi
sub esp, 4
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call edi
sub esp, 4
mov ecx, 0xc3edc891
mov eax, 0xba5a051
jmp 0x100318a0
cmp ecx, 0xdac89426
jg 0x10031a7a
cmp ecx, 0xb2fc3315
je 0x10031b7f
cmp ecx, 0xc3edc891
jne 0x100318a0
mov ecx, 0x385f37af
jmp 0x100318a0
cmp ecx, 0x385f37af
je 0x10031b9b
cmp ecx, 0x3ff2922d
jne 0x100318a0
mov ecx, dword [esp + 0x28]
cmp ecx, 0x5851fd36
mov ecx, 0x89f209fc
mov edx, 0x24b49932
cmove ecx, edx
jmp 0x100318a0
cmp ecx, 0x9e2ed4a5
je 0x1003188d
cmp ecx, 0xacc76416
jne 0x100318a0
mov ecx, dword [esp + 0x28]
cmp ecx, 0x427c0257
mov ecx, 0x77bee599
mov edx, 0x269e0ccc
cmovl ecx, edx
jmp 0x100318a0
cmp ecx, 0x269e0ccc
je 0x10031ba9
cmp ecx, 0x2a070a03
jne 0x100318a0
mov ecx, dword [esp + 0x28]
cmp ecx, 0x427c0257
mov ecx, 0x89f209fc
mov edx, 0xe5662ba9
cmove ecx, edx
jmp 0x100318a0
cmp ecx, 0xdac89427
je 0x10031bc5
cmp ecx, 0xe5662ba9
jne 0x100318a0
cmp byte [esp + 0x2f], 0
mov eax, 0x523d062d
mov ecx, 0xc3456542
cmovne eax, ecx
mov ecx, 0xc3edc891
jmp 0x100318a0
mov ecx, dword [esp + 0x28]
cmp ecx, 0x523d062d
mov ecx, 0x89f209fc
mov edx, 0xc744212
cmove ecx, edx
jmp 0x100318a0
mov ecx, dword [esp + 0x28]
cmp ecx, 0x5851fd36
mov ecx, 0x3ff2922d
mov edx, 0x51ed30f7
cmovl ecx, edx
jmp 0x100318a0
mov ecx, 0x8a64834e
jmp 0x100318a0
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x30]
xorps xmm0, xmm0
movups xmmword [eax + 0x30], xmm0
movups xmmword [eax + 0x20], xmm0
movups xmmword [eax + 0x10], xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x40], 0
mov dword [esp + 0x34], ebp
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
movups xmmword [eax], xmm0
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x10031b2e
mov eax, dword [esi]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebx
movaps xmm0, xmmword [0x1005f970]
movups xmmword [esp + 8], xmm0
mov dword [esp + 4], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
sub esp, 0x28
test eax, eax
mov eax, 0x5851fd36
mov ecx, 0xba5a051
cmove eax, ecx
mov ecx, 0xc3edc891
jmp 0x100318a0
mov ecx, dword [esp + 0x28]
cmp ecx, 0xc3456542
mov ecx, 0x89f209fc
mov edx, 0x81d2a1cb
cmove ecx, edx
jmp 0x100318a0
mov dword [esp + 0x28], eax
mov ecx, 0xacc76416
jmp 0x100318a0
mov ecx, dword [esp + 0x28]
cmp ecx, 0xba5a051
mov ecx, 0xdac89427
mov edx, 0xb2fc3315
cmovl ecx, edx
jmp 0x100318a0
mov ecx, dword [esp + 0x28]
cmp ecx, 0xba5a051
mov ecx, 0x89f209fc
mov edx, 0x9e2ed4a5
cmove ecx, edx
jmp 0x100318a0
cmp ecx, 0x81d2a1cb
jne 0x100318a0
mov ecx, dword [esp + 0x8c]
xor ecx, esp
call fcn.10050a3a
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret