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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101196a5
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x1013c018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [0x10149034], 0
je 0x10010944
push 2
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x2c]
push 0x1012f0ec
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.10008db0
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0
push eax
push dword [0x1013d00c]
lea ecx, [ebp - 0x48]
call fcn.10009070
push 0x10010530
push str.SetPetSize
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.10010ca0
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x10010624
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001061a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001095e
push edx
push ecx
call fcn.1008bb02
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 0x10010671
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10010667
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001095e
push edx
push ecx
call fcn.1008bb02
add esp, 8
push 2
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x2c]
push 0x1012f0ec
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.10008db0
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 2
push eax
push dword [0x1013d00c]
lea ecx, [ebp - 0x48]
call fcn.10009070
push 0x10010310
push str.SetMaxCharacter
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.10010f10
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x100106ff
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100106f5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10010963
push edx
push ecx
call fcn.1008bb02
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 0x1001074c
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10010742
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10010963
push edx
push ecx
call fcn.1008bb02
add esp, 8
push 2
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x2c]
push 0x1012f0ec
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.10008db0
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 4
push eax
push dword [0x1013d00c]
lea ecx, [ebp - 0x48]
call fcn.10009070
push 0x10010300
push str.CheckCreateCharacterWindow
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.1000eb50
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x100107da
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100107d0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10010968
push edx
push ecx
call fcn.1008bb02
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 0x10010827
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001081d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10010968
push edx
push ecx
call fcn.1008bb02
add esp, 8
push dword [0x1013d00c]
mov ecx, 0x1013d000
call fcn.10040690
push dword [0x1013d00c]
mov ecx, 0x1013d001
call fcn.1004cb40
push dword [0x1013d00c]
call fcn.100513e0
push dword [0x1013d00c]
mov ecx, 0x1013d003
call fcn.10049160
push dword [0x1013d00c]
call fcn.10051d90
push str.Data__Aox__Lua__CharacterSystem__CharacterList.lua
mov ecx, 0x1013d008
call fcn.1003aa40
push 0x10010970
push 0x4d6c3e
push 0xe8
call fcn.100866a0
add esp, 0xc
push fcn.10010990
push 0x663e8c
push 0xe8
call fcn.100866a0
add esp, 0xc
push 0x10010c40
push 0x4d9e23
push 0xe8
call fcn.100866a0
add esp, 0xc
push 0x10010c70
push 0x4d75cb
push 0xe8
call fcn.100866a0
add esp, 0xc
push 0x10010c00
push 0x663e9d
push 0xe8
call fcn.100866a0
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.1008b7da
mov esp, ebp
pop ebp
ret
call fcn.100ee6bd
call fcn.100ee6bd
call fcn.100ee6bd
int3