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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1010decd
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x10132018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push dword [0x10133188]
call fcn.1004f1d0
push str.Soul__Lua__CharacterSystem__CharacterCreateCape.lua
mov ecx, 0x10133184
call fcn.1003d690
mov esi, dword [0x10133188]
lea ecx, [ebp - 0x28]
push 9
mov dword [ebp - 0x28], 0
push str.CapeStack
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.1000cb50
push ecx
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0
push eax
push esi
lea ecx, [ebp - 0x30]
call fcn.10012fb0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x10012d01
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10012cf7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10012f9d
push edx
push ecx
call fcn.100830b7
add esp, 8
cmp dword [0x1013b94c], 0x10
lea ecx, [ebp - 0x20]
mov esi, dword [ebp - 0x30]
mov eax, 0x1013b938
cmovae eax, dword [0x1013b938]
push ecx
push eax
push esi
mov dword [ebp - 0x20], 0x10125100
mov dword [ebp - 0x1c], 0x100137e0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
call fcn.100879b0
add esp, 0xc
push 0xfffffffffffffffe
push esi
call fcn.100856a0
lea ecx, [ebp - 0x30]
call fcn.10013910
sub esp, 8
lea ecx, [ebp - 0x30]
call fcn.10013b80
sub esp, 8
lea ecx, [ebp - 0x30]
call fcn.10013df0
sub esp, 8
lea ecx, [ebp - 0x30]
call fcn.10014060
push dword [0x10133188]
call fcn.1003e460
mov ecx, dword [0x10133188]
call fcn.10051380
push 2
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
push 0x10124fe0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.1000cb50
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 1
push eax
push dword [0x10133188]
lea ecx, [ebp - 0x4c]
call fcn.10007f20
sub esp, 8
mov byte [ebp - 4], 2
mov ecx, eax
call fcn.10013590
mov edx, dword [ebp - 0x34]
cmp edx, 0x10
jb 0x10012e0b
mov ecx, dword [ebp - 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10012e01
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10012fa2
push edx
push ecx
call fcn.100830b7
add esp, 8
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
cmp edx, 0x10
jb 0x10012e51
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10012e47
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10012fa2
push edx
push ecx
call fcn.100830b7
add esp, 8
push 0x100124a0
push 0x57232e
push 0xe9
call fcn.10069bf0
add esp, 0xc
push 0x10012550
push 0x5757d4
push 0xe9
call fcn.10069bf0
add esp, 0xc
push 0x100125c0
push 0x574667
push 0xe9
call fcn.10069bf0
add esp, 0xc
push 0x10012630
push 0x5750fb
push 0xe9
call fcn.10069bf0
add esp, 0xc
push 0x10012710
push 0x5fa844
push 0xe9
call fcn.10069bf0
add esp, 0xc
push 0x10012870
push 0x5658b6
push 0xe9
call fcn.10069bf0
add esp, 0xc
push 0x10012940
push 0x8362a2
push 0xe9
call fcn.10069bf0
add esp, 0xc
push 0x10012990
push 0x83640e
push 0xe9
call fcn.10069bf0
add esp, 0xc
push 0x100129e0
push 0x57605b
push 0xe9
call fcn.10069bf0
add esp, 0xc
push 0x10012a20
push 0x576144
push 0xe9
call fcn.10069bf0
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x2c]
add esp, 0xc
push eax
push 0x40
push 6
push 0x51ec76
call esi
mov eax, 0x51ec76
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x2c]
push 6
push 0x51ec76
call esi
push 0x10012a90
push 0x51ec76
push 0xe9
call fcn.10069bf0
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10082d8f
mov esp, ebp
pop ebp
ret
call fcn.100e2859
call fcn.100e2859
int3