Function at 0x180047c10
Capabilities:
Access peb ldr_data

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rbx
push rsi
push rdi
push r14
sub rsp, 0x70
mov rax, qword [0x180085010]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword gs:[0x58]
xor ebx, ebx
mov edx, dword [0x1800859b4]
mov r14, rcx
mov qword [r11 + 0x18], r15
mov ecx, 4
mov qword [r11 - 0x38], rbx
mov r15, qword [rax + rdx*8]
add r15, rcx
mov qword [r11 - 0x30], rbx
mov eax, dword [r15]
cmp dword [0x1800978e0], eax
jle 0x180047c94
lea rcx, [0x1800978e0]
call fcn.18004ede0
cmp dword [0x1800978e0], 0xffffffff
jne 0x180047c94
mov rax, qword [0x180085d10]
lea rcx, [0x1800978e0]
mov qword [0x1800978d0], rax
call fcn.18004ed80
mov rax, qword [0x1800978d0]
test rax, rax
je 0x180047cae
lea rdx, [rsp + 0x50]
lea rcx, [r14 + 0x90]
call rax
mov eax, dword [r15]
cmp dword [0x1800978e0], eax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbx
jle 0x180047cf2
lea rcx, [0x1800978e0]
call fcn.18004ede0
cmp dword [0x1800978e0], 0xffffffff
jne 0x180047cf2
mov rax, qword [0x180085d10]
lea rcx, [0x1800978e0]
mov qword [0x1800978d0], rax
call fcn.18004ed80
mov rax, qword [0x1800978d0]
test rax, rax
je 0x180047d0c
lea rdx, [rsp + 0x40]
lea rcx, [r14 + 0xa8]
call rax
mov eax, dword [r15]
cmp dword [0x1800978e0], eax
mov r15, qword [rsp + 0xa0]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rbx
jle 0x180047d58
lea rcx, [0x1800978e0]
call fcn.18004ede0
cmp dword [0x1800978e0], 0xffffffff
jne 0x180047d58
mov rax, qword [0x180085d10]
lea rcx, [0x1800978e0]
mov qword [0x1800978d0], rax
call fcn.18004ed80
mov rax, qword [0x1800978d0]
test rax, rax
je 0x180047d72
lea rdx, [rsp + 0x30]
lea rcx, [r14 + 0xb0]
call rax
mov rax, qword [0x180085d68]
cmp dword [rax + 0x60], 1
jne 0x180047dc3
cmp byte [rax + 0x17], bl
je 0x180047dc3
xor edx, edx
call fcn.18004b060
cmp dword [r14 + 0x90], eax
jne 0x180047dc3
mov edx, 1
call fcn.18004b060
mov dword [r14 + 0x90], eax
mov rax, qword [0x180085d68]
cmp byte [rax + 0x19], bl
je 0x180047dc3
xor edx, edx
call fcn.18004b5b0
test eax, eax
jle 0x180047dc3
mov dword [r14 + 0xa8], eax
mov rax, qword [0x180085c80]
mov rcx, qword [0x180085c70]
test rax, rax
je 0x180047ef0
test rcx, rcx
je 0x180047ef0
mov r9, qword [rsp + 0x50]
lea rdx, str.Setting_P_d_as__ws__Skin:__ws___Extra_Moveset:__ws_
mov qword [rsp + 0x98], rbp
lea rbp, [rax + 0x80]
mov rax, rbp
sub rax, r14
neg rax
lea rax, [rcx + 0x80]
sbb ebx, ebx
lea rcx, str.CharacterDefinitionV2::LoadHook
cmp rax, r14
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
jne 0x180047e3f
mov ebx, 1
mov r8d, ebx
call fcn.180045c30
jmp 0x180047e50
mov r8d, ebx
call fcn.180045c30
cmp rbp, r14
jne 0x180047ee8
mov rax, qword [0x180085d68]
cmp dword [rax + 0x60], 0
jne 0x180047ee8
cmp byte [rax + 0x17], 0
je 0x180047e7d
test ebx, ebx
jne 0x180047e7d
xor edx, edx
call fcn.18004b060
test eax, eax
jle 0x180047e7d
mov dword [r14 + 0x90], eax
mov rax, qword [0x180085d68]
cmp byte [rax + 0x18], 0
je 0x180047ea1
cmp ebx, 1
jne 0x180047ea1
mov edx, ebx
call fcn.18004b060
test eax, eax
jle 0x180047ea1
mov dword [r14 + 0x90], eax
mov rax, qword [0x180085d68]
cmp byte [rax + 0x19], 0
je 0x180047ec4
test ebx, ebx
jne 0x180047ec4
xor edx, edx
call fcn.18004b5b0
test eax, eax
jle 0x180047ec4
mov dword [r14 + 0xa8], eax
mov rax, qword [0x180085d68]
cmp byte [rax + 0x1a], 0
je 0x180047ee8
cmp ebx, 1
jne 0x180047ee8
mov edx, ebx
call fcn.18004b5b0
test eax, eax
jle 0x180047ee8
mov dword [r14 + 0xa8], eax
mov rbp, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.18004e500
mov rbx, qword [rsp + 0xa8]
add rsp, 0x70
pop r14
pop rdi
pop rsi
ret