Function at 0x100b2090
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
cmp dword [0x101f47b8], 2
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 0x10], ebx
jne 0x100b20b6
movss xmm1, dword [0x1013ccdc]
movss dword [ebp - 8], xmm1
jmp 0x100b20c3
movss xmm0, dword [0x1013cc74]
movss dword [ebp - 8], xmm0
cmp dword [0x102c1460], 0
movss xmm0, dword [0x1013cd04]
movss dword [ebp - 4], xmm0
movss xmm0, dword [0x1013cecc]
movss dword [ebp - 0xc], xmm0
jne 0x100b2134
mov eax, dword [0xe61e58]
cmp eax, 0x500
jle 0x100b2109
movss xmm0, dword [0x1013ccf0]
movss dword [ebp - 4], xmm0
movss xmm0, dword [0x1013ce14]
jmp 0x100b212f
jne 0x100b211a
movss xmm0, dword [0x1013cd44]
movss dword [ebp - 4], xmm0
jmp 0x100b2134
movss xmm0, dword [0x1013cd1c]
movss dword [ebp - 4], xmm0
movss xmm0, dword [0x1013cea8]
movss dword [ebp - 0xc], xmm0
mov edi, 0x861110
call edi
mov edx, 0x861260
mov ecx, eax
call edx
mov eax, dword [eax + 0x28]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1013d6c0]
cvtpd2ps xmm0, xmm0
addss xmm0, dword [ebp - 8]
cvttss2si esi, xmm0
call edi
mov ecx, eax
mov eax, 0x861260
call eax
push 0x12
push 0x12
push esi
mov eax, dword [eax + 0x24]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1013d6c0]
cvtpd2ps xmm0, xmm0
addss xmm0, dword [ebp - 4]
cvttss2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
add esp, 0x10
mov esi, 0x83c080
mov ecx, 0x791070
test al, al
je 0x100b21f8
push 1
call ecx
add esp, 4
test eax, eax
je 0x100b21f8
lea eax, [ebp - 4]
push eax
push 0x40
push 1
push 0x83703d
call edi
lea eax, [ebp - 4]
mov byte [0x83703d], 0xc
push eax
push dword [ebp - 4]
push 1
push 0x83703d
call edi
mov dword [0x10549c60], 0
call esi
mov eax, 0x861110
call eax
mov ecx, eax
mov eax, 0x861260
call eax
mov eax, dword [eax + 0x28]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1013d6c0]
mov eax, 0x861110
cvtpd2ps xmm0, xmm0
addss xmm0, dword [ebp - 8]
cvttss2si esi, xmm0
call eax
mov ecx, eax
mov eax, 0x861260
call eax
push 0x12
push 0x12
push esi
mov eax, dword [eax + 0x24]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1013d6c0]
cvtpd2ps xmm0, xmm0
addss xmm0, dword [ebp - 0xc]
cvttss2si eax, xmm0
push eax
mov eax, 0x790b10
call eax
add esp, 0x10
test al, al
je 0x100b22bb
push 1
mov eax, 0x791070
call eax
add esp, 4
test eax, eax
je 0x100b22bb
lea eax, [ebp - 0xc]
push eax
push 0x40
push 1
push 0x83703d
call edi
lea eax, [ebp - 0xc]
mov byte [0x83703d], 9
push eax
push dword [ebp - 0xc]
push 1
push 0x83703d
call edi
mov eax, 0x83c080
mov dword [0x10549c60], 1
call eax
cmp dword [0x10549c60], 0
je 0x100b2396
mov dword [ebx + 0x11c], 0xffffffff
mov ecx, 0x405230
xor ebx, ebx
mov dword [ebp - 0xc], ebx
nop dword [eax]
cmp ebx, 5
jne 0x100b22f8
mov eax, dword [0x7bc4f04]
movzx eax, byte [eax + 0x13]
push eax
call ecx
add esp, 4
cmp al, 6
je 0x100b2361
lea esi, [ebx*8]
mov eax, 0x861110
sub esi, ebx
shl esi, 2
mov dword [ebp - 8], esi
mov edi, dword [esi + 0x10549c78]
mov ebx, dword [esi + 0x10549c74]
call eax
mov ecx, eax
mov eax, 0x861260
call eax
mov esi, dword [esi + 0x10549c70]
mov eax, dword [eax + 0x28]
add esi, eax
mov eax, 0x861110
call eax
mov ecx, eax
mov eax, 0x861260
call eax
mov ecx, dword [ebp - 8]
push edi
push ebx
mov eax, dword [eax + 0x24]
mov ecx, dword [ecx + 0x10549c6c]
add ecx, eax
mov eax, 0x790b10
push esi
push ecx
call eax
add esp, 0x10
test al, al
jne 0x100b237c
mov ebx, dword [ebp - 0xc]
inc ebx
mov ecx, 0x405230
mov dword [ebp - 0xc], ebx
cmp ebx, 9
jl 0x100b22e0
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
pop edi
add eax, 0xf0
pop esi
mov dword [ecx + 0x11c], eax
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret