Function at 0x10013b70
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 [0x100b029c]
mov byte [0x100b029d], al
test al, al
je 0x10013eeb
cmp byte [0x100b0420], 0
je 0x10013eeb
mov eax, dword [0x100cab48]
lea ecx, [ebp - 8]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
add eax, 0x8c657
push edi
push ecx
push 0x40
push 5
push eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 5
call esi
mov eax, dword [ebp - 0x10]
mov byte [eax], 0xe8
mov ecx, dword [0x100b003c]
mov eax, dword [ebp - 0x10]
sub ecx, eax
sub ecx, 5
mov dword [eax + 1], ecx
mov eax, dword [0x100b003c]
mov byte [eax], 0xe8
mov eax, 0x100526c0
mov ecx, dword [0x100b003c]
add ecx, 5
sub eax, ecx
mov dword [0x100b003c], ecx
mov dword [ecx - 4], eax
mov eax, dword [0x100b003c]
mov byte [eax], 0xbf
mov ecx, dword [0x100b003c]
mov eax, dword [0x100cab48]
inc ecx
add eax, 0xb8f18
mov dword [0x100b003c], ecx
mov dword [ecx], eax
mov eax, dword [0x100b003c]
add eax, 4
mov dword [0x100b003c], eax
mov byte [eax], 0xc3
lea eax, [ebp - 8]
inc dword [0x100b003c]
push eax
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
call esi
mov eax, dword [0x100cab48]
lea ecx, [ebp - 8]
push ecx
push 0x40
add eax, 0x503ca
mov dword [ebp - 0xc], 5
push 5
push eax
mov dword [ebp - 0x10], eax
call esi
mov eax, dword [ebp - 0x10]
mov edi, 0xffe9
mov word [eax], di
mov ecx, dword [0x100b003c]
mov eax, dword [ebp - 0x10]
sub ecx, eax
sub ecx, 5
mov dword [eax + 1], ecx
mov ecx, dword [0x100b003c]
movups xmm0, xmmword [0x1009dda8]
movups xmmword [ecx], xmm0
movq xmm0, qword [0x1009ddb8]
movq qword [ecx + 0x10], xmm0
mov eax, dword [0x1009ddc0]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x100b003c]
mov eax, dword [0x100cab48]
sub eax, ecx
add eax, 0x503ce
mov dword [ecx + 5], eax
mov eax, dword [0x100cab48]
mov ecx, dword [0x100b003c]
sub eax, ecx
add eax, 0x50348
mov dword [ecx + 0xe], eax
mov ecx, dword [0x100b003c]
mov eax, dword [0x100cab48]
sub eax, ecx
add eax, 0x50380
mov dword [ecx + 0x17], eax
mov ecx, dword [0x100b003c]
mov eax, dword [0x100cab48]
add ecx, 0x20
sub eax, ecx
mov dword [0x100b003c], ecx
add eax, 0x503cf
mov dword [ecx - 4], eax
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
call esi
mov eax, dword [0x100cab48]
lea ecx, [ebp - 8]
push ecx
push 0x40
add eax, 0x50859
mov dword [ebp - 0xc], 5
push 5
push eax
mov dword [ebp - 0x10], eax
call esi
mov eax, dword [ebp - 0x10]
mov word [eax], di
mov ecx, dword [0x100b003c]
mov eax, dword [ebp - 0x10]
sub ecx, eax
sub ecx, 5
mov dword [eax + 1], ecx
mov ecx, dword [0x100b003c]
movups xmm0, xmmword [0x1009de5c]
movups xmmword [ecx], xmm0
movq xmm0, qword [0x1009de6c]
movq qword [ecx + 0x10], xmm0
mov eax, dword [0x1009de74]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x100b003c]
mov eax, dword [0x100cab48]
sub eax, ecx
add eax, 0x50869
mov dword [ecx + 5], eax
mov ecx, dword [0x100b003c]
mov eax, dword [0x100cab48]
sub eax, ecx
add eax, 0x507e9
mov dword [ecx + 0xe], eax
mov ecx, dword [0x100b003c]
mov eax, dword [0x100cab48]
sub eax, ecx
add eax, 0x50816
mov dword [ecx + 0x17], eax
mov ecx, dword [0x100b003c]
mov eax, dword [0x100cab48]
add ecx, 0x20
sub eax, ecx
mov dword [0x100b003c], ecx
add eax, 0x5085e
mov dword [ecx - 4], eax
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
call esi
mov eax, dword [0x100cab48]
lea ecx, [ebp - 8]
push ecx
push 0x40
add eax, 0x50e55
mov dword [ebp - 0xc], 6
push 6
push eax
mov dword [ebp - 0x10], eax
call esi
mov eax, dword [ebp - 0x10]
mov ecx, 0xe990
mov word [eax], cx
mov ecx, dword [0x100b003c]
mov eax, dword [ebp - 0x10]
sub ecx, eax
sub ecx, 6
mov dword [eax + 2], ecx
mov ecx, dword [0x100b003c]
movups xmm0, xmmword [0x1009df20]
movups xmmword [ecx], xmm0
movzx eax, byte [0x1009df30]
mov byte [ecx + 0x10], al
mov ecx, dword [0x100b003c]
mov eax, dword [0x100cab48]
add ecx, 0x15
mov dword [0x100b003c], ecx
sub eax, ecx
add eax, 0x50e5b
mov dword [ecx - 4], eax
mov edx, dword [0x100cab48]
mov ecx, dword [0x100b003c]
movups xmm0, xmmword [edx + 0x50e68]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [edx + 0x50e78]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [edx + 0x50e88]
movups xmmword [ecx + 0x20], xmm0
movq xmm0, qword [edx + 0x50e98]
movq qword [ecx + 0x30], xmm0
mov ax, word [edx + 0x50ea0]
mov word [ecx + 0x38], ax
movzx eax, byte [edx + 0x50ea2]
mov byte [ecx + 0x3a], al
mov eax, 0x1005c6d0
mov ecx, dword [0x100b003c]
add ecx, 0x3f
sub eax, ecx
mov dword [0x100b003c], ecx
mov dword [ecx - 4], eax
mov eax, dword [0x100b003c]
mov dword [eax], 0xe934c483
mov ecx, dword [0x100b003c]
mov eax, dword [0x100cab48]
add ecx, 8
sub eax, ecx
mov dword [0x100b003c], ecx
add eax, 0x50f9e
mov dword [ecx - 4], eax
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
call esi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007491a
mov esp, ebp
pop ebp
ret