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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101113b5
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3c
mov eax, dword [0x10135018]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push str.CCharacterList::Init
call dword [sym.imp.VMProtectSDK32.dll_VMProtectBegin]
cmp byte [0x1013cb7c], 0
je 0x1000d522
push 2
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push 0x10127b80
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.1000cba0
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0
push eax
push dword [0x10136064]
lea ecx, [ebp - 0x4c]
call fcn.10007c80
push 0x1000d100
push str.SetPetSize
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.1000d8b0
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x1000d20f
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d205
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000d545
push ecx
push edx
call fcn.10081a67
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
cmp ecx, 0x10
jb 0x1000d25c
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d252
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000d545
push ecx
push edx
call fcn.10081a67
add esp, 8
push 2
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push 0x10127b80
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.1000cba0
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 2
push eax
push dword [0x10136064]
lea ecx, [ebp - 0x4c]
call fcn.10007c80
push 0x1000cee0
push str.SetMaxCharacter
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.1000db60
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x1000d2e6
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d2dc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000d54a
push ecx
push edx
call fcn.10081a67
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
cmp ecx, 0x10
jb 0x1000d333
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d329
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000d54a
push ecx
push edx
call fcn.10081a67
add esp, 8
push 2
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push 0x10127b80
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.1000cba0
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 4
push eax
push dword [0x10136064]
lea ecx, [ebp - 0x4c]
call fcn.10007c80
push 0x1000ced0
push str.CheckCreateCharacterWindow
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.1000ae00
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x1000d3bd
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d3b3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000d54f
push ecx
push edx
call fcn.10081a67
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
cmp ecx, 0x10
jb 0x1000d40a
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000d400
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000d54f
push ecx
push edx
call fcn.10081a67
add esp, 8
push dword [0x10136064]
mov ecx, 0x10136058
call fcn.100415f0
push dword [0x10136064]
call fcn.10049fd0
push dword [0x10136064]
call fcn.1004dba0
push dword [0x10136064]
mov ecx, 0x1013605b
call fcn.10045f70
push dword [0x10136064]
call fcn.1004e5a0
push str.OgocX__Lua__CharacterSystem__CharacterList.lua
mov ecx, 0x10136060
call fcn.1003b560
push 0x1000d560
push 0x4d6c3e
push 0xe8
call fcn.100671e0
add esp, 0xc
push fcn.1000d580
push 0x663e8c
push 0xe8
call fcn.100671e0
add esp, 0xc
push 0x1000d850
push 0x4d9e23
push 0xe8
call fcn.100671e0
add esp, 0xc
push 0x1000d880
push 0x4d75cb
push 0xe8
call fcn.100671e0
add esp, 0xc
push 0x1000d810
push 0x663e9d
push 0xe8
call fcn.100671e0
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x18]
add esp, 0xc
push eax
push 0x40
push 4
push 0x4d6c73
call esi
lea eax, [ebp - 0x18]
mov dword [0x4d6c73], 0
push eax
push dword [ebp - 0x18]
push 4
push 0x4d6c73
call esi
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push 0x402106
call esi
lea eax, [ebp - 0x18]
mov byte [0x402106], 0
push eax
push dword [ebp - 0x18]
push 1
push 0x402106
call esi
call dword [sym.imp.VMProtectSDK32.dll_VMProtectEnd]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1008173f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.100e4ebd
call fcn.100e4ebd
call fcn.100e4ebd
int3