Function at 0x1002d5d0
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 0x10111325
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3c
mov eax, dword [0x10130018]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push dword [0x102f6804]
call fcn.1003c1c0
mov ecx, dword [0x102f6804]
call fcn.1004ffb0
push dword [0x102f6804]
call fcn.10043590
push 2
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push 0x10123154
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.1000cdc0
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0
push eax
push dword [0x102f6804]
lea ecx, [ebp - 0x4c]
call fcn.10007e90
sub esp, 8
mov byte [ebp - 4], 1
mov ecx, eax
call fcn.1002e070
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x1002d6b1
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002d6a7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002df0d
push ecx
push edx
call fcn.10081bcf
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 0x1002d6fe
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002d6f4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002df0d
push ecx
push edx
call fcn.10081bcf
add esp, 8
push 2
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push 0x10123154
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.1000cdc0
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 2
push eax
push dword [0x102f6804]
lea ecx, [ebp - 0x4c]
call fcn.10007e90
push 0x1002ba10
push str.SetEffectHelper
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.100222e0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x1002d788
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002d77e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002df12
push ecx
push edx
call fcn.10081bcf
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 0x1002d7d5
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002d7cb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002df12
push ecx
push edx
call fcn.10081bcf
add esp, 8
push 2
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push 0x10123154
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.1000cdc0
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 4
push eax
push dword [0x102f6804]
lea ecx, [ebp - 0x4c]
call fcn.10007e90
push 0x1002ba10
push str.SetEffectHelperMiniature
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.100222e0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x1002d85f
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002d855
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002df17
push ecx
push edx
call fcn.10081bcf
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 0x1002d8ac
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002d8a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002df17
push ecx
push edx
call fcn.10081bcf
add esp, 8
push 2
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push 0x10123154
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.1000cdc0
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 6
push eax
push dword [0x102f6804]
lea ecx, [ebp - 0x4c]
call fcn.10007e90
push 0x1002bbc0
push str.CheckModelById
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.1000aad0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x1002d936
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002d92c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002df1c
push ecx
push edx
call fcn.10081bcf
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 0x1002d983
mov edx, dword [ebp - 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002d979
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002df1c
push ecx
push edx
call fcn.10081bcf
add esp, 8
push str.MCustoms__Lua__CharacterSystem__CharacterHelper.lua
mov ecx, 0x102f6800
call fcn.1003b3b0
push 0x101232cc
push str.LoadHelpers
push 0x102f6800
call fcn.1003b570
add esp, 0xc
push 0x1002ad30
push 0x4d7348
push 0xe8
call fcn.10067c50
add esp, 0xc
push 0x1002ad30
push 0x4d7a98
push 0xe8
call fcn.10067c50
add esp, 0xc
push 0x1002ad30
push 0x4d9a65
push 0xe8
call fcn.10067c50
add esp, 0xc
push 0x1002ae90
push 0x4d6ea5
push 0xe8
call fcn.10067c50
add esp, 0xc
push 0x1002ae90
push 0x4d7787
push 0xe8
call fcn.10067c50
add esp, 0xc
push 0x1002ae90
push 0x4d9568
push 0xe8
call fcn.10067c50
add esp, 0xc
push 0x1002bf60
push 0x8363d9
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c0c0
push 0x835e80
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c120
push 0x7dfe51
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c1b0
push 0x4d72eb
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c200
push 0x534c65
push 0xe8
call fcn.10067c50
add esp, 0xc
push 0x1002c340
push 0x54eac8
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c3f0
push 0x54ed55
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c440
push 0x54ec8f
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c490
push 0x54ed43
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c4e0
push 0x54f8ea
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c530
push 0x54fc7d
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c580
push 0x550706
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c5d0
push 0x54fe28
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c640
push 0x54fcd8
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c690
push 0x5506c2
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c6e0
push 0x5a383a
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c780
push 0x5517a4
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c7e0
push 0x551916
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c830
push 0x551b3f
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c8a0
push 0x551b09
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002c9b0
push 0x55273e
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002ca20
push 0x552995
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002ca70
push 0x5528de
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002caf0
push 0x552777
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002cb40
push 0x564c9c
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002cba0
push 0x564ba2
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002cbf0
push 0x564c1c
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002cc40
push 0x564e6e
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002cc90
push 0x56f688
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002cd00
push 0x57e108
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002cd50
push 0x5b53ff
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002cdf0
push 0x59b656
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002ce90
push 0x5a3817
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002cf30
push 0x63edc8
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002cf80
push 0x640a89
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002cfd0
push 0x640dcf
push 0xe9
call fcn.10067c50
add esp, 0xc
cmp byte [0x10137b8d], 0
jne 0x1002dda6
push 0x1002d020
push 0x813f5a
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002d0c0
push 0x5b5411
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002d160
push 0x54fd0e
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002d210
push 0x644520
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002d2e0
push 0x648daf
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002d330
push 0x648dd3
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002d3d0
push 0x5ae1e0
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002d420
push 0x5ae201
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002d4c0
push 0x54ed07
push 0xe9
call fcn.10067c50
add esp, 0xc
push 0x1002d4e0
push 0x5af273
push 0xe9
call fcn.10067c50
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x18]
add esp, 0xc
push eax
push 0x40
push 6
push 0x8140cf
call esi
mov eax, 0x8140cf
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 6
push 0x8140cf
call esi
push 0x1002d530
push 0x8140cf
push 0xe9
call fcn.10067c50
add esp, 0xc
lea eax, [ebp - 0x18]
push eax
push 0x40
push 6
push 0x59c7e5
call esi
mov eax, 0x59c7e5
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
push 6
push 0x59c7e5
call esi
push 0x1002d580
push 0x59c7e5
push 0xe9
call fcn.10067c50
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100818a7
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.100e4eb1
call fcn.100e4eb1
call fcn.100e4eb1
call fcn.100e4eb1
int3