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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x101a306c]
xor eax, ebp
mov dword [ebp - 4], eax
mov cl, byte [0x1025045f]
mov eax, dword [0x10250368]
mov dword [0x105a7ef8], 0
cmp cl, 1
jne 0x100ac28b
mov dword [0x105a7ef4], 1
cmp eax, 2
je 0x100ac282
movaps xmm0, xmmword [0x10196880]
jmp 0x100ac29c
movaps xmm0, xmmword [0x10196930]
jmp 0x100ac29c
movaps xmm0, xmmword [0x10196870]
mov dword [0x105a7ef4], 0
cmp byte [0x10250460], 1
movups xmmword [0x105a7ee0], xmm0
mov dword [0x105a7f14], 0
jne 0x100ac2ce
mov dword [0x105a7f10], 1
cmp eax, 2
jne 0x100ac2d8
movaps xmm0, xmmword [0x10196890]
jmp 0x100ac2df
mov dword [0x105a7f10], 0
movaps xmm0, xmmword [0x101968a0]
cmp dword [0x10250458], 2
movups xmmword [0x105a7efc], xmm0
jne 0x100ac31f
mov dword [0x105a7f2c], 1
cmp eax, 2
jne 0x100ac329
mov dword [0x105a7f30], 0
cmp cl, 1
jne 0x100ac316
movaps xmm0, xmmword [0x101968d0]
jmp 0x100ac33a
movaps xmm0, xmmword [0x10196930]
jmp 0x100ac33a
mov dword [0x105a7f2c], 0
movaps xmm0, xmmword [0x10196870]
mov dword [0x105a7f30], 0
cmp byte [0x10250461], 1
movups xmmword [0x105a7f18], xmm0
mov dword [0x105a7f4c], 0
jne 0x100ac36c
mov dword [0x105a7f48], 1
cmp eax, 2
jne 0x100ac376
movaps xmm0, xmmword [0x101968b0]
jmp 0x100ac37d
mov dword [0x105a7f48], 0
movaps xmm0, xmmword [0x101968c0]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 8]
push eax
push 0x40
push 0xd
push 0x83503c
movups xmmword [0x105a7f34], xmm0
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 - 8]
push eax
push dword [ebp - 8]
push 0xd
push 0x83503c
call esi
push 0x100ac690
push 0x83503c
push 0xe9
call fcn.100c9b20
push 0x100ac810
push 0x8373a0
push 0xe9
call fcn.100c9b20
push 0x100acbb0
push 0x8373c0
push 0xe9
call fcn.100c9b20
add esp, 0x24
lea eax, [ebp - 8]
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 - 8]
push eax
push dword [ebp - 8]
push 6
push 0x83b879
call esi
push 0x100acd00
push 0x83b879
push 0xe9
call fcn.100c9b20
add esp, 0xc
lea eax, [ebp - 8]
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 - 8]
push eax
push dword [ebp - 8]
push 7
push 0x8353d9
call esi
push 0x100ad0d0
push 0x8353d9
push 0xe9
call fcn.100c9b20
add esp, 0xc
lea eax, [ebp - 8]
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 - 8]
push eax
push dword [ebp - 8]
push 7
push 0x833b26
call esi
push 0x100ad1f0
push 0x833b26
push 0xe9
call fcn.100c9b20
add esp, 0xc
lea eax, [ebp - 8]
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 - 8]
push eax
push dword [ebp - 8]
push 6
push 0x8380da
call esi
push 0x100ad410
push 0x8380da
push 0xe9
call fcn.100c9b20
add esp, 0xc
lea eax, [ebp - 8]
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 - 8]
push eax
push dword [ebp - 8]
push 7
push 0x7dd2c6
call esi
push 0x100ad600
push 0x7dd2c6
push 0xe9
call fcn.100c9b20
add esp, 0xc
lea eax, [ebp - 8]
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 - 8]
push eax
push dword [ebp - 8]
push 6
push 0x837b4f
call esi
push 0x100ad6d0
push 0x837b4f
push 0xe9
call fcn.100c9b20
add esp, 0xc
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.100ed713
mov esp, ebp
pop ebp
ret