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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov cl, byte [0x101ef19f]
mov eax, dword [0x101ef0a8]
mov dword [0x10545720], 0
cmp cl, 1
jne 0x100ace7d
mov dword [0x1054571c], 1
cmp eax, 2
je 0x100ace53
mov dword [0x10545708], 0x75
mov dword [0x1054570c], 0x57
jmp 0x100ace9b
mov dword [0x10545708], 0x8c
mov dword [0x1054570c], 0xc5
mov dword [0x10545710], 0x22
mov dword [0x10545714], 0x22
jmp 0x100aceaf
mov dword [0x10545708], 0x38
mov dword [0x1054570c], 0x2c
mov dword [0x1054571c], 0
mov dword [0x10545714], 0x16
mov dword [0x10545710], 0x16
cmp byte [0x101ef1a0], 1
mov dword [0x10545728], 0x73
mov dword [0x1054572c], 0x16
mov dword [0x10545730], 0x16
mov dword [0x1054573c], 0
jne 0x100acefb
mov dword [0x10545738], 1
cmp eax, 2
jne 0x100acf05
mov dword [0x10545724], 0x37
jmp 0x100acf0f
mov dword [0x10545738], 0
mov dword [0x10545724], 0x38
cmp dword [0x101ef198], 2
jne 0x100acf48
mov dword [0x10545754], 1
cmp eax, 2
jne 0x100acf52
mov dword [0x10545758], 0
cmp cl, 1
jne 0x100acf3f
movaps xmm0, xmmword [0x10139420]
jmp 0x100acf63
movaps xmm0, xmmword [0x10139490]
jmp 0x100acf63
mov dword [0x10545754], 0
movaps xmm0, xmmword [0x10139400]
mov dword [0x10545758], 0
cmp byte [0x101ef1a1], 1
movaps xmmword [0x10545740], xmm0
mov dword [0x10545760], 0x73
mov dword [0x10545764], 0x16
mov dword [0x10545768], 0x16
mov dword [0x10545774], 0
jne 0x100acfb6
mov dword [0x10545770], 1
cmp eax, 2
jne 0x100acfc0
mov dword [0x1054575c], 0x74
jmp 0x100acfca
mov dword [0x10545770], 0
mov dword [0x1054575c], 0x75
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 4]
push eax
push 0x40
push 0xd
push 0x83503c
call esi
mov eax, 0x83503c
mov dword [eax], 0x90909090
mov dword [eax + 4], 0x90909090
mov dword [eax + 8], 0x90909090
mov byte [eax + 0xc], 0x90
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 0xd
push 0x83503c
call esi
push 0x100ad2d0
push 0x83503c
push 0xe9
call fcn.100caf90
push 0x100ad450
push 0x8373a0
push 0xe9
call fcn.100caf90
push 0x100ad7c0
push 0x8373c0
push 0xe9
call fcn.100caf90
add esp, 0x24
lea eax, [ebp - 4]
push eax
push 0x40
push 6
push 0x83b879
call esi
mov eax, 0x83b879
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 6
push 0x83b879
call esi
push 0x100ad910
push 0x83b879
push 0xe9
call fcn.100caf90
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 0x40
push 7
push 0x8353d9
call esi
mov eax, 0x8353d9
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
mov byte [eax + 6], cl
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 7
push 0x8353d9
call esi
push 0x100adce0
push 0x8353d9
push 0xe9
call fcn.100caf90
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 0x40
push 7
push 0x833b26
call esi
mov eax, 0x833b26
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
mov byte [eax + 6], cl
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 7
push 0x833b26
call esi
push 0x100ade00
push 0x833b26
push 0xe9
call fcn.100caf90
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 0x40
push 6
push 0x8380da
call esi
mov eax, 0x8380da
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 6
push 0x8380da
call esi
push 0x100adfc0
push 0x8380da
push 0xe9
call fcn.100caf90
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 0x40
push 7
push 0x7dd2c6
call esi
mov eax, 0x7dd2c6
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
mov byte [eax + 6], cl
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 7
push 0x7dd2c6
call esi
push 0x100ae200
push 0x7dd2c6
push 0xe9
call fcn.100caf90
add esp, 0xc
lea eax, [ebp - 4]
push eax
push 0x40
push 6
push 0x837b4f
call esi
mov eax, 0x837b4f
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push 6
push 0x837b4f
call esi
push 0x100ae290
push 0x837b4f
push 0xe9
call fcn.100caf90
add esp, 0xc
pop esi
mov esp, ebp
pop ebp
ret