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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [0x100a900c]
xor eax, ebp
mov dword [ebp - 4], eax
mov al, byte [0x100b0474]
mov byte [0x100b0475], al
test al, al
je 0x10011442
mov eax, dword [0x100cab48]
lea ecx, [ebp - 8]
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
add eax, 0x522b
push ecx
push 0x40
push 6
push eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 6
call edi
mov eax, dword [ebp - 0x10]
mov ebx, 0xe890
mov ecx, 0x100645b0
mov word [eax], bx
mov eax, dword [ebp - 0x10]
sub ecx, eax
sub ecx, 6
mov dword [eax + 2], ecx
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
call edi
mov eax, dword [0x100cab48]
lea ecx, [ebp - 8]
push ecx
push 0x40
add eax, 0xe173
mov dword [ebp - 0xc], 0xb
push 0xb
push eax
mov dword [ebp - 0x10], eax
call edi
mov eax, dword [ebp - 0x10]
mov esi, 0x10064610
mov ecx, esi
mov dword [eax], 0x2424448d
mov eax, dword [ebp - 0x10]
mov dword [eax + 4], 0xe89050
mov eax, dword [ebp - 0x10]
sub ecx, eax
sub ecx, 0xb
mov dword [eax + 7], ecx
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
call edi
mov eax, dword [0x100cab48]
lea ecx, [ebp - 8]
push ecx
push 0x40
add eax, 0x521c3
mov dword [ebp - 0xc], 0xb
push 0xb
push eax
mov dword [ebp - 0x10], eax
call edi
mov eax, dword [ebp - 0x10]
mov ecx, esi
mov dword [eax], 0x2424448d
mov eax, dword [ebp - 0x10]
mov dword [eax + 4], 0xe89050
mov eax, dword [ebp - 0x10]
sub ecx, eax
sub ecx, 0xb
mov dword [eax + 7], ecx
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
call edi
mov eax, dword [0x100cab48]
add eax, 0x88ef6
lea ecx, [ebp - 8]
mov dword [ebp - 0x10], eax
push ecx
push 0x40
push 0xb
push eax
mov dword [ebp - 0xc], 0xb
call edi
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x2424448d
mov eax, dword [ebp - 0x10]
mov dword [eax + 4], 0xe89050
mov eax, dword [ebp - 0x10]
sub esi, eax
sub esi, 0xb
mov dword [eax + 7], esi
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
call edi
mov eax, dword [0x100cab48]
lea ecx, [ebp - 8]
push ecx
push 0x40
add eax, 0x29238
mov dword [ebp - 0xc], 0x16
push 0x16
push eax
mov dword [ebp - 0x10], eax
call edi
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov dword [eax], 0x9424b4ff
mov eax, dword [ebp - 0x10]
mov word [eax + 4], cx
mov ecx, 0x10064680
mov eax, dword [ebp - 0x10]
mov dword [eax + 6], 0x1f0f00
mov eax, dword [ebp - 0x10]
mov word [eax + 0x10], bx
mov eax, dword [ebp - 0x10]
sub ecx, eax
sub ecx, 0x16
mov dword [eax + 0x12], ecx
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
call edi
mov eax, dword [0x100cab48]
lea ecx, [ebp - 8]
push ecx
push 0x40
add eax, 0x4dbb5
mov dword [ebp - 0xc], 4
push 4
push eax
mov dword [ebp - 0x10], eax
call edi
mov ecx, dword [0x100b003c]
mov eax, dword [ebp - 0x10]
sub ecx, eax
sub ecx, 4
mov dword [eax], ecx
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
call edi
mov eax, dword [0x100b003c]
mov ecx, 0xe95e
mov word [eax], cx
mov eax, 0x100646f0
mov ecx, dword [0x100b003c]
add ecx, 2
mov dword [0x100b003c], ecx
sub eax, ecx
pop edi
sub eax, 4
pop esi
mov dword [ecx], eax
add dword [0x100b003c], 4
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007491a
mov esp, ebp
pop ebp
ret