Function at 0x10112f10
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1019e88d
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push esi
push edi
mov eax, dword [0x101f6e00]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
xorps xmm0, xmm0
mov dword [ebp - 0x34], 0
push 8
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
call fcn.1013ca30
lea ecx, [ebp - 0x34]
add esp, 4
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x34], eax
mov eax, dword [str.genie]
mov dword [ebp - 0x30], eax
mov al, byte [0x101dced4]
mov byte [ebp - 0x2c], al
mov eax, dword [edi]
mov dword [ebp - 0x20], 5
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x2b], 0
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 1
mov esi, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
je 0x10112fe4
push 4
push eax
call esi
test eax, eax
jne 0x10112fe4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
test eax, eax
je 0x10112fe4
add eax, 0xff400000
cmp eax, 0x3fffff
ja 0x10112fe4
push 0
lea eax, [ebp - 0x34]
push eax
call dword [0x101d64b0]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100477d0
jmp 0x10112ffa
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
call fcn.100477d0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x34]
push 8
push eax
mov dword [ebp - 0x34], 0
call fcn.1013c8d0
mov eax, dword [ebp - 0x14]
xorps xmm0, xmm0
push 8
mov dword [edi + 4], eax
mov dword [ebp - 0x34], 0
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
call fcn.1013ca30
lea ecx, [ebp - 0x34]
add esp, 0xc
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x34], eax
mov ax, word [0x101dcecc]
mov word [ebp - 0x30], ax
mov al, byte [0x101dcece]
mov byte [ebp - 0x2e], al
mov eax, dword [edi + 4]
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x2d], 0
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 3
test eax, eax
je 0x101130ba
push 4
push eax
call esi
test eax, eax
jne 0x101130ba
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
test eax, eax
je 0x101130ba
add eax, 0xff400000
cmp eax, 0x3fffff
ja 0x101130ba
push 0
lea eax, [ebp - 0x34]
push eax
call dword [0x101d64b0]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100477d0
jmp 0x101130d0
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
call fcn.100477d0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x34]
push 8
push eax
mov dword [ebp - 0x34], 0
call fcn.1013c8d0
mov eax, dword [ebp - 0x14]
xorps xmm0, xmm0
push 8
mov dword [edi + 0x14], eax
mov dword [ebp - 0x34], 0
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
call fcn.1013ca30
lea ecx, [ebp - 0x34]
add esp, 0xc
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x34], eax
mov eax, dword [str.attack]
mov dword [ebp - 0x30], eax
mov ax, word [0x101dcec8]
mov word [ebp - 0x2c], ax
mov eax, dword [edi + 4]
mov dword [ebp - 0x20], 6
mov dword [ebp - 0x1c], 0xf
mov byte [ebp - 0x2a], 0
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 5
test eax, eax
je 0x10113190
push 4
push eax
call esi
test eax, eax
jne 0x10113190
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
test eax, eax
je 0x10113190
add eax, 0xff400000
cmp eax, 0x3fffff
ja 0x10113190
push 0
lea eax, [ebp - 0x34]
push eax
call dword [0x101d64b0]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100477d0
jmp 0x101131a6
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
call fcn.100477d0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x34]
push 8
push eax
mov dword [ebp - 0x34], 0
call fcn.1013c8d0
mov eax, dword [ebp - 0x14]
xorps xmm0, xmm0
mov dword [edi + 8], eax
lea eax, [ebp - 0xd]
push 8
mov dword [ebp - 0x34], 0
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], eax
call fcn.1013ca30
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x18], eax
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x34], eax
push 0x20
mov dword [ebp - 4], 6
call fcn.100490d0
movups xmm0, xmmword [str.btn_basic_attack_off]
mov dword [ebp - 0x30], eax
add esp, 0x10
mov dword [ebp - 0x20], 0x14
mov dword [ebp - 0x1c], 0x1f
movups xmmword [eax], xmm0
mov ecx, dword [0x101dcebc]
mov dword [eax + 0x10], ecx
mov byte [eax + 0x14], 0
mov eax, dword [edi + 8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 7
test eax, eax
je 0x10113281
push 4
push eax
call esi
test eax, eax
jne 0x10113281
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
test eax, eax
je 0x10113281
add eax, 0xff400000
cmp eax, 0x3fffff
ja 0x10113281
push 0
lea eax, [ebp - 0x34]
push eax
call dword [0x101d64b0]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100477d0
jmp 0x10113297
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
call fcn.100477d0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x34]
push 8
push eax
mov dword [ebp - 0x34], 0
call fcn.1013c8d0
mov eax, dword [ebp - 0x14]
xorps xmm0, xmm0
mov dword [edi + 0x20], eax
lea eax, [ebp - 0xd]
push 8
mov dword [ebp - 0x34], 0
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], eax
call fcn.1013ca30
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x18], eax
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x34], eax
push 0x20
mov dword [ebp - 4], 8
call fcn.100490d0
movups xmm0, xmmword [str.btn_auto_r_attack_on]
mov dword [ebp - 0x30], eax
add esp, 0x10
mov dword [ebp - 0x20], 0x14
mov dword [ebp - 0x1c], 0x1f
movups xmmword [eax], xmm0
mov ecx, dword [0x101dcf20]
mov dword [eax + 0x10], ecx
mov byte [eax + 0x14], 0
mov eax, dword [edi + 8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 9
test eax, eax
je 0x10113372
push 4
push eax
call esi
test eax, eax
jne 0x10113372
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
test eax, eax
je 0x10113372
add eax, 0xff400000
cmp eax, 0x3fffff
ja 0x10113372
push 0
lea eax, [ebp - 0x34]
push eax
call dword [0x101d64b0]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100477d0
jmp 0x10113388
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
call fcn.100477d0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x34]
push 8
push eax
mov dword [ebp - 0x34], 0
call fcn.1013c8d0
mov eax, dword [ebp - 0x14]
xorps xmm0, xmm0
mov dword [edi + 0xc], eax
lea eax, [ebp - 0xd]
push 8
mov dword [ebp - 0x34], 0
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], eax
call fcn.1013ca30
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x18], eax
mov dword [eax], ecx
mov dword [eax + 4], 0
mov dword [ebp - 0x34], eax
push 0x20
mov dword [ebp - 4], 0xa
call fcn.100490d0
movups xmm0, xmmword [str.btn_auto_r_attack_off]
mov dword [ebp - 0x30], eax
add esp, 0x10
mov dword [ebp - 0x20], 0x15
mov dword [ebp - 0x1c], 0x1f
movups xmmword [eax], xmm0
mov ecx, dword [0x101dcf08]
mov dword [eax + 0x10], ecx
mov cl, byte [0x101dcf0c]
mov byte [eax + 0x14], cl
mov byte [eax + 0x15], 0
mov eax, dword [edi + 8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0xb
test eax, eax
je 0x1011346b
push 4
push eax
call esi
test eax, eax
jne 0x1011346b
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
test eax, eax
je 0x1011346b
add eax, 0xff400000
cmp eax, 0x3fffff
ja 0x1011346b
push 0
lea eax, [ebp - 0x34]
push eax
call dword [0x101d64b0]
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
mov esi, eax
call fcn.100477d0
jmp 0x1011347c
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
call fcn.100477d0
xor esi, esi
mov eax, dword [ebp - 0x34]
push 8
push eax
mov dword [ebp - 0x34], 0
call fcn.1013c8d0
mov dword [edi + 0x10], esi
sub esp, 0x14
mov esi, esp
xorps xmm0, xmm0
push 8
mov dword [esi], 0
movups xmmword [esi + 4], xmm0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
call fcn.1013ca30
add esp, 4
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [esi], eax
mov dword [esi + 0x14], 0xd
mov dword [esi + 0x18], 0xf
movq xmm0, qword [str.scr_att_range]
movq qword [esi + 4], xmm0
mov eax, dword [0x101dcef0]
mov dword [esi + 0xc], eax
mov al, byte [0x101dcef4]
mov byte [esi + 0x10], al
mov byte [esi + 0x11], 0
mov dword [ebp - 4], 0xffffffff
push dword [edi + 8]
call fcn.100e1620
sub esp, 0x1c
mov dword [edi + 0x28], eax
mov ecx, esp
push str.scr_act_range
call fcn.10046c60
push dword [edi + 8]
call fcn.100e1620
sub esp, 0x1c
mov dword [edi + 0x24], eax
mov ecx, esp
push str.btn_party_leader_on
call fcn.10046c60
push dword [edi + 8]
call fcn.100e1620
sub esp, 0x1c
mov dword [edi + 0x1c], eax
mov ecx, esp
push str.btn_party_leader_off
call fcn.10046c60
push dword [edi + 8]
call fcn.100e1620
sub esp, 0x1c
mov dword [edi + 0x18], eax
mov ecx, esp
push str.assist
call fcn.10046c60
push dword [edi + 4]
call fcn.100e1620
sub esp, 0x1c
mov dword [edi + 0x2c], eax
mov ecx, esp
push str.btn_partyall
call fcn.10046c60
push dword [edi + 0x2c]
call fcn.100e1620
sub esp, 0x1c
mov dword [edi + 0x30], eax
mov ecx, esp
push str.btn_party_friend
call fcn.10046c60
push dword [edi + 0x2c]
call fcn.100e1620
sub esp, 0x1c
mov dword [edi + 0x34], eax
mov ecx, esp
push str.btn_party_clan
call fcn.10046c60
push dword [edi + 0x2c]
call fcn.100e1620
push ecx
mov cl, 1
mov dword [edi + 0x38], eax
mov byte [0x10297e5c], 1
call fcn.10112ad0
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret