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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.NxCharacter.2.8.1.dll
call esi
add eax, 0xcd0d
push str.NxCharacter.2.8.1.dll
mov dword [0x10019160], eax
call esi
add eax, 0xcde0
lea ecx, [eax + 6]
mov dword [0x1001a5d4], ecx
mov ecx, dword [0x10019160]
lea edx, [ecx + 6]
mov dword [0x10017f08], eax
mov dword [0x1001ae90], edx
test ecx, ecx
je 0x1000ac86
test eax, eax
je 0x1000ac86
push ebx
push edi
mov edi, dword [0x1001aeb0]
mov ecx, dword [edi + 0x10]
cmp dword [ecx], 0
jbe 0x1000ab03
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea edx, [ebp - 4]
push edx
push 0x40
push 6
push eax
mov esi, eax
call edi
mov edx, dword [ebp - 4]
lea ecx, [ebp - 8]
push ecx
mov eax, 0x1000aa00
push edx
sub eax, esi
sub eax, 5
push 6
mov byte [esi], 0xe9
mov dword [esi + 1], eax
mov bl, 0x90
push esi
mov byte [esi + 5], bl
call edi
mov esi, dword [0x10019160]
lea eax, [ebp - 4]
push eax
push 0x40
push 6
push esi
call edi
mov eax, dword [ebp - 4]
lea edx, [ebp - 8]
push edx
mov ecx, 0x1000a9e0
push eax
sub ecx, esi
sub ecx, 5
push 6
mov byte [esi], 0xe9
mov dword [esi + 1], ecx
push esi
mov byte [esi + 5], bl
call edi
mov edi, dword [0x1001aeb0]
mov ebx, 1
cmp dword [0x1001af88], ebx
jne 0x1000ac19
push str.SPACE____Untuk_Menaikan_Badan_nCTRL____Untuk_Menurunkan_Badan
push 0xffffff00
push 0xf0
mov ecx, 0x140
call fcn.100078c0
add esp, 0xc
mov edi, ebx
lea esi, [ebx + 0x1f]
call fcn.10001510
test bl, al
je 0x1000ab4f
mov eax, 0x10019158
fld qword [eax - 4]
fadd qword [0x10013fd8]
fstp qword [eax - 4]
mov esi, 0x11
call fcn.10001510
test bl, al
je 0x1000ab6e
mov eax, 0x10019158
fld qword [eax - 4]
fsub qword [0x10013fd8]
fstp qword [eax - 4]
cmp dword [0x1001af88], 0
jne 0x1000ab87
mov ecx, 0x1001a1d0
fld qword [ecx - 4]
mov edx, 0x10019158
fstp qword [edx - 4]
mov edi, dword [0x1001aeb0]
mov eax, dword [edi + 0x10]
cmp dword [eax], 0
jbe 0x1000abdf
mov ecx, dword [edi + 8]
mov edx, dword [ecx]
mov eax, dword [edi + 0x34]
mov eax, dword [edx + eax]
push eax
call fcn.10004d40
add esp, 4
cmp eax, 2
jne 0x1000abdf
cmp dword [0x10019158], 0
mov eax, 0x1001a1d0
fld qword [eax - 4]
mov ecx, 0x10019158
fstp qword [0x10019008]
fld qword [ecx - 4]
fstp qword [0x10018820]
jne 0x1000abd9
fld qword [eax - 4]
fstp qword [ecx - 4]
mov dword [0x1001af88], ebx
mov ecx, dword [edi + 0x10]
cmp dword [ecx], 0
jbe 0x1000ac00
mov edx, dword [edi + 8]
mov eax, dword [edx]
mov ecx, dword [edi + 0x34]
mov eax, dword [eax + ecx]
push eax
call fcn.10004d40
add esp, 4
cmp eax, 3
jne 0x1000ac19
cmp dword [0x10019158], 0
je 0x1000ac13
mov dword [0x10019158], 0
mov dword [0x1001a5d0], ebx
cmp dword [0x1001afe8], ebx
jne 0x1000ac54
cmp dword [0x1001a5cc], 0
je 0x1000ac84
cmp dword [0x1001871c], 0
je 0x1000ac84
mov dword [0x1001af88], ebx
mov edi, dword [edi + 0xe4]
push 0x10013b08
mov esi, ebx
call fcn.100010b0
mov edi, dword [0x1001aeb0]
add esp, 4
cmp dword [0x1001afe8], 0
jne 0x1000ac84
cmp dword [0x1001a5cc], 0
je 0x1000ac84
cmp dword [0x1001871c], 0
je 0x1000ac84
mov edi, dword [edi + 0xe4]
push 0x10013b0c
mov esi, ebx
call fcn.100010b0
add esp, 4
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret