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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x101a306c]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
push 0x10073b10
push 0x968180
push 0xe9
call fcn.100c9b20
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
add esp, 0xc
cmp dword [0x1025033c], 1
mov dword [0x1031e164], 0
mov dword [0x1031e168], 0
mov dword [0x1031e16c], 0
mov dword [0x1031e174], 0
mov dword [0x1031e170], 0
mov dword [0x10327268], 0
mov dword [0x1032726c], 0
mov byte [0x10327270], 0
jne 0x1004714f
push 0x100abad0
push 0x853950
push 0xe9
call fcn.100c9b20
push 0x100abeb0
push 0x8533a0
push 0xe9
call fcn.100c9b20
add esp, 0x18
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x85375b
call edi
mov eax, 0x85375b
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x85375b
call edi
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x85374b
call edi
mov eax, 0x85374b
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x85374b
call edi
push 0x10046ff0
push 0x8350e9
push 0xe8
call fcn.100c9b20
add esp, 0xc
cmp dword [0x10250344], 1
jne 0x1004719a
push 0x1000aee0
push 0x5bafab
push 0xe8
call fcn.100c9b20
push 0x1000ae40
push 0x7c5db0
push 0xe8
call fcn.100c9b20
add esp, 0x18
cmp dword [0x10250340], 1
jne 0x100471c9
lea eax, [ebp - 8]
push eax
push 0x40
push 1
push 0x81c03fa
call edi
lea eax, [ebp - 8]
mov byte [0x81c03fa], 1
push eax
push dword [ebp - 8]
push 1
push 0x81c03fa
call edi
mov dword [0x1034c328], 0x42f6e9df
mov eax, 0x51eb851f
imul dword [0xe61e58]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
movd xmm0, eax
mov eax, 0x1b4e81b5
cvtdq2ps xmm0, xmm0
movss dword [0x1034c32c], xmm0
imul dword [0xe61e5c]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [0x10250354], 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x1034c330], xmm0
jne 0x100472ad
mov byte [0x1031e1d4], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0x100384c0
sub eax, 0x1388
mov byte [0x1031e1dc], 0
push 0x7d2bc0
push 0xe9
mov dword [0x1031e1d8], eax
call fcn.100c9b20
push method.std::codecvt_char__char__struct__Mbstatet_.virtual_12
push 0x80b8e0
push 0xe9
call fcn.100c9b20
push 0x100391a0
push 0x7d26b5
push 0xe9
call fcn.100c9b20
push 0x10039340
push 0x7d2751
push 0xe9
call fcn.100c9b20
push 0x100394e0
push 0x7d27fc
push 0xe9
call fcn.100c9b20
add esp, 0x3c
mov eax, dword [0x1025035c]
sub eax, 1
je 0x10047464
sub eax, 1
je 0x10047391
sub eax, 1
jne 0x1004755a
push 0x100b7260
push 0x848cb6
push 0xe8
mov dword [0x10327114], eax
call fcn.100c9b20
push 0x100b7340
push 0x8491ae
push 0xe8
call fcn.100c9b20
push 0x100b7620
push 0x8491b6
push 0xe8
call fcn.100c9b20
push 0x100b7e60
push 0x8491be
push 0xe8
call fcn.100c9b20
push 0x100b9120
push 0x849087
push 0xe8
call fcn.100c9b20
push 0x100b90a0
push 0x848f07
push 0xe8
call fcn.100c9b20
add esp, 0x48
push 0x100b9020
push 0x848e5d
push 0xe8
call fcn.100c9b20
push 0x100b9060
push 0x848eb2
push 0xe8
call fcn.100c9b20
push 0x100b90e0
push 0x848f4b
push 0xe8
call fcn.100c9b20
add esp, 0x24
jmp 0x1004755a
push 0x1000cfd0
push 0x848cb6
push 0xe8
call fcn.100c9b20
push 0x1000d090
push 0x8491ae
push 0xe8
call fcn.100c9b20
push 0x1000d240
push 0x8491b6
push 0xe8
call fcn.100c9b20
push 0x1000d6d0
push 0x8491be
push 0xe8
call fcn.100c9b20
push method.std::codecvt_wchar_t__char__struct__Mbstatet_.virtual_12
push 0x849087
push 0xe8
call fcn.100c9b20
push 0x1000ebd0
push 0x848f07
push 0xe8
call fcn.100c9b20
add esp, 0x48
push 0x1000eb70
push 0x848e5d
push 0xe8
call fcn.100c9b20
push 0x1000eba0
push 0x848eb2
push 0xe8
call fcn.100c9b20
push method.std::codecvt_wchar_t__char__struct__Mbstatet_.virtual_12
push 0x848f4b
push 0xe8
call fcn.100c9b20
push 0x1000ec10
push 0x8490f5
push 0xe8
call fcn.100c9b20
add esp, 0x30
jmp 0x1004755a
push 0x10054590
push 0x848cb6
push 0xe8
call fcn.100c9b20
push 0x10054650
push 0x8491ae
push 0xe8
call fcn.100c9b20
push 0x10054910
push 0x8491b6
push 0xe8
call fcn.100c9b20
push 0x10054d10
push 0x8491be
push 0xe8
call fcn.100c9b20
push 0x10057280
push 0x849087
push 0xe8
call fcn.100c9b20
push 0x10057220
push 0x848f07
push 0xe8
call fcn.100c9b20
add esp, 0x48
push 0x100571c0
push 0x848e5d
push 0xe8
call fcn.100c9b20
push 0x100571f0
push 0x848eb2
push 0xe8
call fcn.100c9b20
push 0x10057250
push 0x848f4b
push 0xe8
call fcn.100c9b20
push 0x100572b0
push 0x8490f5
push 0xe8
call fcn.100c9b20
push 0x10057310
push 0x772960
push 0xe8
call fcn.100c9b20
push 0x10057330
push 0x7729b3
push 0xe8
call fcn.100c9b20
add esp, 0x48
mov eax, dword [0x10250368]
sub eax, 1
je 0x10047570
sub eax, 1
jne 0x10047575
call fcn.100d60f0
jmp 0x10047575
call fcn.1003a660
mov eax, dword [0x10250398]
push esi
sub eax, 1
je 0x10047625
sub eax, 1
je 0x1004759c
sub eax, 2
jne 0x10047692
call fcn.10040ff0
jmp 0x10047692
push 0x1006f370
push 0x4d7eb1
push 0xe8
call fcn.100c9b20
push 0x1006f180
push 0x4d76fb
push 0xe8
call fcn.100c9b20
push 0x1006f180
push 0x4d79c3
push 0xe8
call fcn.100c9b20
mov esi, dword [0x1025039c]
lea eax, [ebp - 8]
add esp, 0x24
mov dword [ebp - 8], 0
push eax
push 0x40
push 4
push 0x4d75f0
call edi
test eax, eax
je 0x1004761d
mov eax, 0x4d75f0
mov dword [eax], esi
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
mov dword [ebp - 0xc], 0
push 4
push 0x4d75f0
call edi
test eax, eax
jne 0x10047692
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x10047692
push 0x10016f70
push 0x4d76fb
push 0xe8
call fcn.100c9b20
push 0x10016f70
push 0x4d79c3
push 0xe8
call fcn.100c9b20
mov esi, dword [0x1025039c]
lea eax, [ebp - 8]
add esp, 0x18
push eax
push 0x40
push 4
push 0x4d75f0
call edi
lea eax, [ebp - 8]
mov dword [0x4d75f0], esi
push eax
push dword [ebp - 8]
push 4
push 0x4d75f0
call edi
push 0x10017050
push 0x5edda9
push 0xe8
call fcn.100c9b20
add esp, 0xc
mov eax, dword [0x102503a0]
pop esi
sub eax, 1
je 0x100476ba
sub eax, 1
je 0x100476b3
sub eax, 2
jne 0x100476bf
call fcn.10040ff0
call fcn.10042780
jmp 0x100476bf
call fcn.1006ed20
jmp 0x100476bf
call fcn.100174e0
mov eax, dword [0x10250370]
cmp eax, 1
jne 0x10047835
push 0x1003a1d0
push 0x7d2b3d
push 0xe8
call fcn.100c9b20
push 0x1003a180
push 0x789099
push 0xe9
call fcn.100c9b20
push 0x1003a130
push 0x7890e2
push 0xe9
call fcn.100c9b20
push 0x10039c70
push 0x78b0cf
push 0xe8
call fcn.100c9b20
push 0x10039a20
push 0x78b09a
push 0xe8
call fcn.100c9b20
push 0x10039770
push 0x787620
push 0xe8
call fcn.100c9b20
add esp, 0x48
push method.std::codecvt_char__char__struct__Mbstatet_.virtual_12
push 0x787628
push 0xe8
call fcn.100c9b20
push 0x10039970
push 0x787748
push 0xe8
call fcn.100c9b20
push 0x7867b3
push 0x7867a5
push 0xe9
call fcn.100c9b20
add esp, 0x24
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x787c7d
call edi
mov eax, 0x787c7d
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x787c7d
call edi
push 0x10039690
push 0x7864b3
push 0xe8
call fcn.100c9b20
push 0x10039690
push 0x78641e
push 0xe8
call fcn.100c9b20
push 0x10039690
push 0x7863a8
push 0xe8
call fcn.100c9b20
push 0x10039690
push 0x786347
push 0xe8
call fcn.100c9b20
push 0x10039690
push 0x7862e2
push 0xe8
call fcn.100c9b20
push method.std::codecvt_wchar_t__char__struct__Mbstatet_.virtual_12
push 0x78628e
push 0xe8
call fcn.100c9b20
mov eax, dword [0x10250370]
add esp, 0x48
cmp eax, 2
jne 0x100479bb
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x785b44
call edi
mov eax, 0x785b44
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x785b44
call edi
lea eax, [ebp - 8]
push eax
push 0x40
push 5
push 0x787630
call edi
mov eax, 0x787630
mov dword [eax], 0x90909090
mov byte [eax + 4], 0x90
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 5
push 0x787630
call edi
push 0x10032f50
push 0x78adcc
push 0xe8
call fcn.100c9b20
push 0x10032f50
push 0x78ae15
push 0xe8
call fcn.100c9b20
push 0x10032f50
push 0x78ae5e
push 0xe8
call fcn.100c9b20
push 0x10031d60
push 0x78b09a
push 0xe8
call fcn.100c9b20
push 0x10031fb0
push 0x78b0cf
push 0xe8
call fcn.100c9b20
push 0x10032a90
push 0x787620
push 0xe8
call fcn.100c9b20
add esp, 0x48
push 0x10032150
push 0x787628
push 0xe8
call fcn.100c9b20
push 0x10032f00
push 0x787748
push 0xe8
call fcn.100c9b20
push 0x10032df0
push 0x7864b3
push 0xe8
call fcn.100c9b20
push 0x10032df0
push 0x78641e
push 0xe8
call fcn.100c9b20
push 0x10032df0
push 0x7863a8
push 0xe8
call fcn.100c9b20
push 0x10032df0
push 0x786347
push 0xe8
call fcn.100c9b20
add esp, 0x48
push 0x10032df0
push 0x7862e2
push 0xe8
call fcn.100c9b20
push 0x10032df0
push 0x78628e
push 0xe8
call fcn.100c9b20
add esp, 0x18
cmp dword [0x102503b8], 2
jne 0x100479ef
push 0x100d7f70
push 0x7e020c
push 0xe8
call fcn.100c9b20
push 0x100d7f70
push 0x7e0298
push 0xe8
call fcn.100c9b20
add esp, 0x18
call fcn.1003cc90
call fcn.100d5ea0
lea eax, [ebp - 8]
push eax
push 0x40
push 6
push 0x556cc6
call edi
mov eax, 0x556cc6
mov ecx, 0x90909090
mov dword [eax], ecx
mov word [eax + 4], cx
lea eax, [ebp - 8]
push eax
push dword [ebp - 8]
push 6
push 0x556cc6
call edi
push 0x100b7240
push 0x556cc6
push 0xe9
call fcn.100c9b20
add esp, 0xc
mov ecx, 0x1024febc
push str.Data__KGData__Lua__CharacterSystem__SkillCroma.lua
call fcn.100b28b0
push dword [0x1024fec0]
call fcn.100974f0
call fcn.100b3880
cmp byte [0x1025044c], 1
jne 0x10047a92
push 0x100b0e00
push 0x842ac7
push 0xe8
call fcn.100c9b20
push 0x100b0e00
push 0x842b8d
push 0xe8
call fcn.100c9b20
add esp, 0x18
cmp dword [0x10250330], 1
jne 0x10047b06
mov dword [0x105a7d24], 0
call fcn.1006e8d0
cmp dword [0x10250330], 1
jne 0x10047b06
push 0x1006d5e0
push 0x40b5a9
push 0xe8
call fcn.100c9b20
push 0x1006d010
push 0x40b400
push 0xe8
call fcn.100c9b20
push 0x1006d010
push 0x40b44f
push 0xe8
call fcn.100c9b20
push 0x1006e860
push 0x483711
push 0xe8
call fcn.100c9b20
add esp, 0x30
cmp byte [0x10250450], 1
jne 0x10047c32
lea eax, [ebp - 8]
push eax
push 0x40
push 4
push 0x40c98c
call edi
lea eax, [ebp - 8]
mov dword [0x40c98c], 2
push eax
push dword [ebp - 8]
push 4
push 0x40c98c
call edi
push 0x100b2540
push 0x4d7602
push 0xe8
call fcn.100c9b20
push 0x100b2360
push 0x40b331
push 0xe8
call fcn.100c9b20
push 0x100b2190
push 0x40ada2
push 0xe8
call fcn.100c9b20
push 0x100b2260
push 0x40b2e2
push 0xe8
call fcn.100c9b20
push 0x100b2460
push 0x40c3af
push 0xe8
call fcn.100c9b20
push 0x100b2460
push 0x40c40b
push 0xe8
call fcn.100c9b20
add esp, 0x48
push 0x100b2460
push 0x40c45f
push 0xe8
call fcn.100c9b20
push 0x100b2420
push 0x40b422
push 0xe8
call fcn.100c9b20
push 0x100b2420
push 0x40b47c
push 0xe8
call fcn.100c9b20
push 0x100b2380
push 0x40b3f1
push 0xe8
call fcn.100c9b20
push 0x100b2400
push 0x40b515
push 0xe8
call fcn.100c9b20
push 0x100b2520
push 0x40ab50
push 0xe8
call fcn.100c9b20
add esp, 0x48
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop edi
call fcn.100ed713
mov esp, ebp
pop ebp
ret