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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1011a725
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
push dword [0x10305e60]
call fcn.1003b7e0
mov ecx, dword [0x10305e60]
call fcn.10053540
push dword [0x10305e60]
call fcn.10046aa0
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 [0x10305e60]
lea ecx, [ebp - 0x48]
call fcn.10009070
sub esp, 8
mov byte [ebp - 4], 1
mov ecx, eax
call fcn.10030f90
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x100305f1
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100305e7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030e56
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 0x1003063e
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10030634
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030e56
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 [0x10305e60]
lea ecx, [ebp - 0x48]
call fcn.10009070
push 0x1002ea10
push str.SetEffectHelper
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.10025190
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x100306cc
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100306c2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030e5b
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 0x10030719
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003070f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030e5b
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 [0x10305e60]
lea ecx, [ebp - 0x48]
call fcn.10009070
push 0x1002ea10
push str.SetEffectHelperMiniature
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.10025190
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x100307a7
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003079d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030e60
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 0x100307f4
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100307ea
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030e60
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], 6
push eax
push dword [0x10305e60]
lea ecx, [ebp - 0x48]
call fcn.10009070
push 0x1002ebc0
push str.CheckModelById
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.1000e690
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x10030882
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10030878
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030e65
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 0x100308cf
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100308c5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10030e65
push edx
push ecx
call fcn.1008bb02
add esp, 8
push str.Data__Aox__Lua__CharacterSystem__CharacterHelper.lua
mov ecx, 0x10305e5c
call fcn.1003aa40
push 0x1012f350
push str.LoadHelpers
push 0x10305e5c
call fcn.1003aba0
add esp, 0xc
push 0x1002de70
push 0x4d7348
push 0xe8
call fcn.100866a0
add esp, 0xc
push 0x1002de70
push 0x4d7a98
push 0xe8
call fcn.100866a0
add esp, 0xc
push 0x1002de70
push 0x4d9a65
push 0xe8
call fcn.100866a0
add esp, 0xc
push 0x1002dfd0
push 0x4d6ea5
push 0xe8
call fcn.100866a0
add esp, 0xc
push 0x1002dfd0
push 0x4d7787
push 0xe8
call fcn.100866a0
add esp, 0xc
push 0x1002dfd0
push 0x4d9568
push 0xe8
call fcn.100866a0
add esp, 0xc
push 0x1002efc0
push 0x8363d9
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f100
push 0x835e80
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f160
push 0x7dfe51
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f1f0
push 0x4d72eb
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f240
push 0x534c65
push 0xe8
call fcn.100866a0
add esp, 0xc
push 0x1002f310
push 0x54eac8
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f3c0
push 0x54ed55
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f410
push 0x54ec8f
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f460
push 0x54ed43
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f4b0
push 0x54f8ea
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f500
push 0x54fc7d
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f550
push 0x550706
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f5a0
push 0x54fe28
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f610
push 0x54fcd8
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f660
push 0x5506c2
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f6b0
push 0x5a383a
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f750
push 0x5517a4
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f7b0
push 0x551916
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f800
push 0x551b3f
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f870
push 0x551b09
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f900
push 0x55273e
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f970
push 0x552995
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002f9c0
push 0x5528de
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002fa40
push 0x552777
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002fa90
push 0x564c9c
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002faf0
push 0x564ba2
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002fb40
push 0x564c1c
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002fb90
push 0x564e6e
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002fbe0
push 0x56f688
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002fc50
push 0x57e108
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002fca0
push 0x5b53ff
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002fd40
push 0x59b656
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002fde0
push 0x5a3817
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002fe80
push 0x63edc8
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002fed0
push 0x640a89
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x1002ff20
push 0x640dcf
push 0xe9
call fcn.100866a0
add esp, 0xc
cmp byte [0x10149035], 0
jne 0x10030cf2
push 0x1002ff70
push 0x813f5a
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x10030010
push 0x5b5411
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x100300b0
push 0x54fd0e
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x10030160
push 0x644520
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x10030230
push 0x648daf
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x10030280
push 0x648dd3
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x10030320
push 0x5ae1e0
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x10030370
push 0x5ae201
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x10030410
push 0x54ed07
push 0xe9
call fcn.100866a0
add esp, 0xc
push 0x10030430
push 0x5af273
push 0xe9
call fcn.100866a0
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x14]
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 - 0x14]
push eax
push dword [ebp - 0x14]
push 6
push 0x8140cf
call esi
push 0x10030480
push 0x8140cf
push 0xe9
call fcn.100866a0
add esp, 0xc
lea eax, [ebp - 0x14]
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 - 0x14]
push eax
push dword [ebp - 0x14]
push 6
push 0x59c7e5
call esi
push 0x100304d0
push 0x59c7e5
push 0xe9
call fcn.100866a0
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.1008b7da
mov esp, ebp
pop ebp
ret
call fcn.100ee6bd
call fcn.100ee6bd
call fcn.100ee6bd
call fcn.100ee6bd
int3