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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10117225
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x1013c00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [0x1014b19c], 0
je 0x1000ce44
push 2
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x2c]
push 0x1012e040
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.10007410
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0
push eax
push dword [0x1013d0b4]
lea ecx, [ebp - 0x48]
call fcn.10007cf0
push 0x1000ca30
push str.SetPetSize
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.1000d210
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x1000cb24
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000cb1a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ce5e
push edx
push ecx
call fcn.10076b91
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp edx, 0x10
jb 0x1000cb71
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000cb67
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ce5e
push edx
push ecx
call fcn.10076b91
add esp, 8
push 2
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x2c]
push 0x1012e040
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.10007410
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 2
push eax
push dword [0x1013d0b4]
lea ecx, [ebp - 0x48]
call fcn.10007cf0
push 0x1000c810
push str.SetMaxCharacter
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.1000d480
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x1000cbff
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000cbf5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ce63
push edx
push ecx
call fcn.10076b91
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp edx, 0x10
jb 0x1000cc4c
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000cc42
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ce63
push edx
push ecx
call fcn.10076b91
add esp, 8
push 2
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x2c]
push 0x1012e040
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.10007410
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 4
push eax
push dword [0x1013d0b4]
lea ecx, [ebp - 0x48]
call fcn.10007cf0
push 0x1000c800
push str.CheckCreateCharacterWindow
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.1000af60
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x1000ccda
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000ccd0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ce68
push edx
push ecx
call fcn.10076b91
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
cmp edx, 0x10
jb 0x1000cd27
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000cd1d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000ce68
push edx
push ecx
call fcn.10076b91
add esp, 8
push dword [0x1013d0b4]
mov ecx, 0x1013d0a8
call fcn.100444e0
push dword [0x1013d0b4]
mov ecx, 0x1013d0a9
call fcn.1004caa0
push dword [0x1013d0b4]
call fcn.10050730
push dword [0x1013d0b4]
mov ecx, 0x1013d0ab
call fcn.10048d00
push dword [0x1013d0b4]
call fcn.10051180
push str.Ice__Lua__CharacterSystem__CharacterList.lua
mov ecx, 0x1013d0b0
call fcn.1003e850
push 0x1000ce70
push 0x4d6c3e
push 0xe8
call fcn.10073d60
add esp, 0xc
push fcn.1000ce90
push 0x663e8c
push 0xe8
call fcn.10073d60
add esp, 0xc
push 0x1000d1b0
push 0x4d9e23
push 0xe8
call fcn.10073d60
add esp, 0xc
push 0x1000d1e0
push 0x4d75cb
push 0xe8
call fcn.10073d60
add esp, 0xc
push 0x1000d170
push 0x663e9d
push 0xe8
call fcn.10073d60
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x14]
add esp, 0xc
push eax
push 0x40
push 4
push 0x4d6c73
call esi
lea eax, [ebp - 0x14]
mov dword [0x4d6c73], 0
push eax
push dword [ebp - 0x14]
push 4
push 0x4d6c73
call esi
lea eax, [ebp - 0x14]
push eax
push 0x40
push 1
push 0x402106
call esi
lea eax, [ebp - 0x14]
mov byte [0x402106], 0
push eax
push dword [ebp - 0x14]
push 1
push 0x402106
call esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10076869
mov esp, ebp
pop ebp
ret
call fcn.100ebbd9
call fcn.100ebbd9
call fcn.100ebbd9
int3