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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10113c05
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x10138018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [0x101463b0], 1
jne 0x10012a6e
push 2
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x2c]
push 0x1012a560
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.100102b0
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0
push eax
push dword [0x1013a418]
lea ecx, [ebp - 0x48]
call fcn.1000d740
push 0x10012570
push str.SetPetSize
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.10012d20
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x100126c4
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100126ba
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10012a88
push edx
push ecx
call fcn.100858b9
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 0x10012711
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10012707
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10012a88
push edx
push ecx
call fcn.100858b9
add esp, 8
push 2
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x2c]
push 0x1012a560
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.100102b0
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 2
push eax
push dword [0x1013a418]
lea ecx, [ebp - 0x48]
call fcn.1000d740
push 0x10012350
push str.SetMaxCharacter
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.10012f70
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x1001279f
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10012795
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10012a8d
push edx
push ecx
call fcn.100858b9
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 0x100127ec
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100127e2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10012a8d
push edx
push ecx
call fcn.100858b9
add esp, 8
push dword [0x1013a418]
mov ecx, 0x1013a410
call fcn.10043640
push dword [0x1013a418]
call fcn.10049160
push dword [0x1013a418]
call fcn.10051430
push str.Data__Local__General__Lua__CharacterSystem__CharacterList.lua
mov ecx, 0x1013a414
call fcn.10041da0
push fcn.10012aa0
push 0x663e8c
push 0xe8
call fcn.1007e590
push 0x10012cb0
push 0x663e9d
push 0xe8
call fcn.1007e590
push 0x100125a0
push 0x4d712a
push 0xe8
call fcn.1007e590
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x14]
add esp, 0x24
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
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x4053a3
call esi
lea eax, [ebp - 0x14]
mov dword [0x4053a3], 0xe35fb
push eax
push dword [ebp - 0x14]
push 4
push 0x4053a3
call esi
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x401d30
call esi
lea eax, [ebp - 0x14]
mov dword [0x401d30], 0xe35fb
push eax
push dword [ebp - 0x14]
push 4
push 0x401d30
call esi
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x4d7530
call esi
lea eax, [ebp - 0x14]
mov dword [0x4d7530], 0xe35fb
push eax
push dword [ebp - 0x14]
push 4
push 0x4d7530
call esi
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x4d7564
call esi
lea eax, [ebp - 0x14]
mov dword [0x4d7564], 0xe35fb
push eax
push dword [ebp - 0x14]
push 4
push 0x4d7564
call esi
lea eax, [ebp - 0x14]
push eax
push 0x40
push 0x20d
push 0x405380
call esi
push 0x20d
push 0x90
push 0x405380
call fcn.100d37e0
add esp, 0xc
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x14]
push 0x20d
push 0x405380
call esi
lea eax, [ebp - 0x14]
push eax
push 0x40
push 5
push 0x4d74ce
call esi
mov eax, 0x4d74ce
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x14]
push 5
push 0x4d74ce
call esi
lea eax, [ebp - 0x14]
push eax
push 0x40
push 5
push 0x4d7568
call esi
mov eax, 0x4d7568
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x14]
push 5
push 0x4d7568
call esi
lea eax, [ebp - 0x14]
push eax
push 0x40
push 5
push 0x4d7465
call esi
mov eax, 0x4d7465
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x14]
push 5
push 0x4d7465
call esi
lea eax, [ebp - 0x14]
push eax
push 0x40
push 1
push 0x4d7183
call esi
lea eax, [ebp - 0x14]
mov byte [0x4d7183], 0
push eax
push dword [ebp - 0x14]
push 1
push 0x4d7183
call esi
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push 0x4d7179
call esi
lea eax, [ebp - 0x14]
mov dword [0x4d7179], 0x1e0
push eax
push dword [ebp - 0x14]
push 4
push 0x4d7179
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.1008550c
mov esp, ebp
pop ebp
ret
call fcn.100e88be
call fcn.100e88be
int3