Function at 0x180058180
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf8]
sub rsp, 0x1f8
mov r15, rcx
xor esi, esi
mov dword [rbp + 0x148], esi
mov dword [rbp + 0x150], esi
mov rdx, qword [0x1800b0d88]
mov rax, qword [rdx + 0x38]
mov r14d, 1
cmp dword [rax + 0x20], esi
jle 0x1800592d7
xor r15d, r15d
mov qword [rbp - 8], r15
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdx + 0x38]
mov rcx, qword [rax + 0x18]
lea r13, [rcx + r15*8]
mov qword [rbp - 0x60], r13
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
xor ecx, ecx
mov qword [rbp - 0x10], rcx
mov qword [rsp + 0x70], rcx
xor edi, edi
mov rax, qword [r13]
mov r12, qword [rsp + 0x68]
cmp dword [rax + 0xc0], ecx
jle 0x18005826e
xor ebx, ebx
nop dword [rax]
mov r8, qword [rax + 0xb8]
add r8, rbx
cmp r12, rcx
je 0x180058241
mov eax, dword [r8]
mov dword [r12], eax
add r12, 4
mov qword [rsp + 0x68], r12
jmp 0x180058258
mov rdx, r12
lea rcx, [rsp + 0x60]
call fcn.1800506f0
mov rcx, qword [rsp + 0x70]
mov r12, qword [rsp + 0x68]
inc edi
add rbx, 0x18
mov rax, qword [r13]
cmp edi, dword [rax + 0xc0]
jl 0x180058220
mov qword [rbp - 0x10], rcx
mov qword [rbp - 0x18], r12
mov r8, r12
mov rbx, qword [rsp + 0x60]
mov qword [rbp + 0xc0], rbx
sub r8, rbx
sar r8, 2
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov rdx, r12
mov rcx, rbx
call fcn.180059620
xor eax, eax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
mov ecx, 0x48
call fcn.18005c9c8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp - 0x30], rax
mov rdi, rbx
mov qword [rbp - 0x58], rbx
cmp rbx, r12
je 0x180059247
mov ecx, dword [rdi]
lea r9, [rsp + 0x75]
test ecx, ecx
jns 0x180058330
neg ecx
nop dword [rax]
nop word [rax + rax]
dec r9
mov eax, 0xcccccccd
mul ecx
shr edx, 3
movzx eax, dl
shl al, 2
lea r8d, [rax + rdx]
add r8b, r8b
sub cl, r8b
add cl, 0x30
mov byte [r9], cl
mov ecx, edx
test edx, edx
jne 0x1800582f0
dec r9
mov byte [r9], 0x2d
jmp 0x180058359
dec r9
mov eax, 0xcccccccd
mul ecx
shr edx, 3
movzx eax, dl
shl al, 2
lea r8d, [rax + rdx]
add r8b, r8b
sub cl, r8b
add cl, 0x30
mov byte [r9], cl
mov ecx, edx
test edx, edx
jne 0x180058330
lea r8, [rsp + 0x75]
mov rdx, r9
lea rcx, [rsp + 0x30]
call fcn.180011e10
mov rax, qword [r13]
mov rbx, qword [rax + 8]
xor r15d, r15d
mov qword [rbp + 0x48], r15
mov ecx, 0x30
call fcn.18005c9c8
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x50], 0x20
mov qword [rbp + 0x58], 0x2f
movups xmm0, xmmword [str.game_character_skin_displayname_]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x18009e7d0]
movups xmmword [rax + 0x10], xmm1
mov byte [rax + 0x20], r15b
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rbx + r8], r15b
jne 0x1800583c0
mov rdx, rbx
lea rcx, [rbp + 0x40]
call fcn.18000a520
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x38], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x30], xmm1
mov qword [rax + 0x18], 0xf
mov qword [rax + 0x10], r15
mov byte [rax], r15b
mov r8, r14
lea rdx, [0x18009e7b8]
lea rcx, [rbp + 0x20]
call fcn.18000a520
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xa0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xb0], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
lea r9, [rsp + 0x30]
lea r8, [rbp + 0xa0]
lea rcx, [rbp]
call fcn.18000eb80
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0xf
jbe 0x18005848f
inc rdx
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005848a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005958b
call fcn.18005c9c0
mov rdx, qword [rbp + 0x38]
cmp rdx, 0xf
jbe 0x1800584ca
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800584c5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005958b
call fcn.18005c9c0
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], r15b
mov rdx, qword [rbp + 0x58]
cmp rdx, 0xf
jbe 0x180058515
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180058510
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005958b
call fcn.18005c9c0
mov qword [rbp + 0x50], r15
mov qword [rbp + 0x58], 0xf
mov byte [rbp + 0x40], r15b
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x180058562
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005855d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005958b
call fcn.18005c9c0
cmp dword [rdi], r15d
jle 0x1800585d1
mov rax, qword [0x1800b0d88]
mov rdx, qword [rax + 0x50]
lea rcx, [rbp]
cmp qword [rbp + 0x18], 0xf
cmova rcx, qword [rbp]
or esi, 1
mov dword [rbp + 0x148], esi
call rdx
xorps xmm0, xmm0
movups xmmword [rbp + 0xc8], xmm0
mov qword [rbp + 0xd8], r15
mov qword [rbp + 0xe0], r15
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], r15b
jne 0x1800585b0
mov rdx, rax
lea rcx, [rbp + 0xc8]
call fcn.18000d1c0
lea rax, [rbp + 0xc8]
jmp 0x180058618
or esi, 2
mov dword [rbp + 0x148], esi
mov rax, qword [r13]
mov rdx, qword [rax + 8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], r15
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], r15b
jne 0x180058600
lea rcx, [rsp + 0x60]
call fcn.18000d1c0
lea rax, [rsp + 0x60]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
test sil, 2
je 0x180058682
and esi, 0xfffffffd
mov dword [rbp + 0x148], esi
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x180058682
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005867d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800595a3
call fcn.18005c9c0
test sil, 1
je 0x1800586d2
and esi, 0xfffffffe
mov dword [rbp + 0x148], esi
mov rdx, qword [rbp + 0xe0]
cmp rdx, 0xf
jbe 0x1800586d2
inc rdx
mov rcx, qword [rbp + 0xc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800586cd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800595a3
call fcn.18005c9c0
lea rdx, [rbp]
mov rbx, qword [rbp]
mov rsi, qword [rbp + 0x18]
cmp rsi, 0xf
cmova rdx, rbx
lea rcx, [rbp - 0x80]
mov r12, qword [rbp - 0x80]
mov r13, qword [rbp - 0x68]
cmp r13, 0xf
cmova rcx, r12
mov rdi, qword [rbp - 0x70]
cmp rdi, qword [rbp + 0x10]
jne 0x1800587ac
mov r8, rdi
call fcn.180088460
test eax, eax
jne 0x1800587ac
cmp r13, 0xf
jbe 0x180058758
lea rdx, [r13 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x180058748
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800595a3
mov rcx, r12
call fcn.18005c9c0
mov rsi, qword [rbp + 0x18]
mov rbx, qword [rbp]
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], r15b
cmp rsi, 0xf
jbe 0x18005879f
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x180058797
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800595a3
mov rcx, rbx
call fcn.18005c9c0
mov rdi, qword [rbp - 0x58]
mov r13, qword [rbp - 0x60]
jmp 0x180059220
mov r14, qword [rbp - 0x30]
mov qword [rsp + 0x60], r14
mov rsi, qword [r14 + 8]
mov r15, r14
cmp byte [rsi + 0x19], 0
jne 0x18005882f
mov rbx, rsi
nop word [rax + rax]
lea rcx, [rbx + 0x20]
lea rdx, [rbp - 0x80]
cmp r13, 0xf
cmova rdx, r12
mov r14, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x1800587ee
mov rcx, qword [rcx]
mov r8, r14
cmp rdi, r14
cmovb r8, rdi
call fcn.180088460
test eax, eax
je 0x180058807
jns 0x180058812
mov al, 0xff
jmp 0x180058814
cmp r14, rdi
jae 0x180058810
mov al, 0xff
jmp 0x180058814
jbe 0x18005881e
mov al, 1
test al, al
jns 0x18005881e
mov rbx, qword [rbx + 0x10]
jmp 0x180058824
mov r15, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x1800587d0
mov r14, qword [rsp + 0x60]
cmp byte [r15 + 0x19], 0
jne 0x18005887e
lea rdx, [r15 + 0x20]
mov rbx, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x180058848
mov rdx, qword [rdx]
lea rcx, [rbp - 0x80]
cmp r13, 0xf
cmova rcx, r12
mov r8, rdi
cmp rbx, rdi
cmovb r8, rbx
call fcn.180088460
test eax, eax
je 0x18005886d
jns 0x180058878
mov al, 0xff
jmp 0x18005887a
cmp rdi, rbx
jae 0x180058876
mov al, 0xff
jmp 0x18005887a
jbe 0x180058881
mov al, 1
test al, al
jns 0x180058881
mov r15, r14
cmp r15, r14
jne 0x1800589db
mov qword [rbp - 0x50], rsi
mov dword [rbp - 0x48], 0
mov r15d, 1
cmp byte [rsi + 0x19], 0
jne 0x18005891b
nop dword [rax]
nop word [rax + rax]
mov qword [rbp - 0x50], rsi
lea rcx, [rsi + 0x20]
lea rdx, [rbp - 0x80]
cmp r13, 0xf
cmova rdx, r12
mov rbx, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x1800588d2
mov rcx, qword [rcx]
mov r8, rbx
cmp rdi, rbx
cmovb r8, rdi
call fcn.180088460
test eax, eax
je 0x1800588eb
jns 0x1800588f6
mov al, 0xff
jmp 0x1800588fa
cmp rbx, rdi
jae 0x1800588f4
mov al, 0xff
jmp 0x1800588fa
jbe 0x18005890b
movzx eax, r15b
test al, al
jns 0x18005890b
mov dword [rbp - 0x48], 0
mov rsi, qword [rsi + 0x10]
jmp 0x180058915
mov dword [rbp - 0x48], r15d
mov r14, rsi
mov rsi, qword [rsi]
cmp byte [rsi + 0x19], 0
je 0x1800588b0
cmp byte [r14 + 0x19], 0
jne 0x18005896a
lea rdx, [r14 + 0x20]
mov rbx, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x180058934
mov rdx, qword [rdx]
lea rcx, [rbp - 0x80]
cmp r13, 0xf
cmova rcx, r12
mov r8, rdi
cmp rbx, rdi
cmovb r8, rbx
call fcn.180088460
test eax, eax
je 0x180058959
jns 0x180058964
mov al, 0xff
jmp 0x180058966
cmp rdi, rbx
jae 0x180058962
mov al, 0xff
jmp 0x180058966
jbe 0x1800589d2
mov al, 1
test al, al
jns 0x1800589d2
movabs rax, 0x38e38e38e38e38e
cmp qword [rbp - 0x28], rax
je 0x180059591
mov ecx, 0x48
call fcn.18005c9c8
mov rdi, rax
lea rdx, [rbp - 0x80]
lea rcx, [rax + 0x20]
call fcn.1800088d0
mov dword [rdi + 0x40], 0
mov rax, qword [rsp + 0x60]
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov word [rdi + 0x18], 0
movups xmm0, xmmword [rbp - 0x50]
movaps xmmword [rsp + 0x60], xmm0
mov r8, rdi
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x30]
call fcn.18000e7c0
mov r14, rax
mov dword [r14 + 0x40], r15d
jmp 0x180058bfe
mov r8d, dword [r15 + 0x40]
lea r9, [rsp + 0x75]
test r8d, r8d
jns 0x180058a30
neg r8d
nop dword [rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x1800589f0
dec r9
mov byte [r9], 0x2d
jmp 0x180058a5a
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x180058a30
lea r8, [rsp + 0x75]
mov rdx, r9
lea rcx, [rbp + 0x60]
call fcn.180011e10
mov r8, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x78]
mov rax, rcx
sub rax, r8
cmp rax, 8
jb 0x180058b03
lea rax, [r8 + 8]
mov qword [rbp + 0x70], rax
lea rbx, [rbp + 0x60]
cmp rcx, 0xf
cmova rbx, qword [rbp + 0x60]
lea r14, [0x18009e7f0]
lea rsi, str._Chroma
cmp r14, rbx
jbe 0x180058ac5
lea rax, [r8 + rbx]
cmp rsi, rax
ja 0x180058ac5
cmp rbx, rsi
ja 0x180058abd
xor edi, edi
jmp 0x180058aca
mov rdi, rbx
sub rdi, rsi
jmp 0x180058aca
mov edi, 8
inc r8
lea rcx, [rbx + 8]
mov rdx, rbx
call fcn.180087980
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.180087980
mov r8d, 8
sub r8, rdi
lea rdx, [rdi + r14]
lea rcx, [rbx + rdi]
call fcn.180087980
lea rax, [rbp + 0x60]
jmp 0x180058b26
mov qword [rsp + 0x28], 8
lea rax, str._Chroma
mov qword [rsp + 0x20], rax
mov edx, 8
lea rcx, [rbp + 0x60]
call fcn.1800157d0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xa0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xb0], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rbp + 0xa0]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0xf
cmova rdx, rcx
movq r8, xmm1
lea rcx, [rbp - 0x80]
call fcn.18000a520
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0xf
jbe 0x180058bbf
inc rdx
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180058bba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180059597
call fcn.18005c9c0
mov rdx, qword [rbp + 0x78]
cmp rdx, 0xf
jbe 0x180058bfa
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180058bf5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180059597
call fcn.18005c9c0
inc dword [r15 + 0x40]
mov r13, qword [rbp - 0x60]
mov rax, qword [r13]
mov r8, qword [rax + 8]
movabs rdx, 0xcbf29ce484222325
movabs r13, 0x100000001b3
nop
movsx rcx, byte [r8]
lea r8, [r8 + 1]
xor rdx, rcx
imul rdx, r13
test cl, cl
jne 0x180058c20
mov r13, qword [rbp - 0x60]
mov qword [rbp + 0x158], rdx
lea rdx, [rbp + 0x158]
mov r12, qword [rbp + 0x140]
mov rcx, r12
call fcn.1800528f0
mov rsi, rax
mov rcx, qword [r13]
mov r15, qword [rcx + 8]
mov qword [rsp + 0x30], r15
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov rdi, qword [rbp - 0x70]
lea r14, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova r14, qword [rbp - 0x80]
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x1800595a9
cmp rdi, 0xf
ja 0x180058cb3
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], 0xf
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x38], xmm0
jmp 0x180058d4c
mov rbx, rdi
or rbx, 0xf
cmp rbx, rax
jbe 0x180058cd2
mov rbx, rax
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x180058d02
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x180058cec
xor eax, eax
jmp 0x180058d29
cmp rcx, 0x1000
jb 0x180058d24
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18005959d
mov rcx, rax
call fcn.18005c9c8
mov rcx, rax
test rax, rax
je 0x1800595a3
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180058d29
call fcn.18005c9c8
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rbx
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call fcn.180087980
movups xmm0, xmmword [rsp + 0x38]
mov rdi, qword [rbp - 0x58]
mov eax, dword [rdi]
mov dword [rsp + 0x58], eax
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x180058d7d
mov qword [rdx], r15
xor r15d, r15d
movups xmmword [rdx + 8], xmm0
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rdx + 0x18], xmm0
mov dword [rdx + 0x28], eax
add qword [rsi + 8], 0x30
jmp 0x180058dca
lea r8, [rsp + 0x30]
mov rcx, rsi
call fcn.180059aa0
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x180058dc7
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180058dc2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800595a3
call fcn.18005c9c0
xor r15d, r15d
mov eax, dword [rdi]
cmp eax, 7
jne 0x1800590dc
movabs rax, 0x2f2959b508f215d2
cmp qword [rbp + 0x158], rax
jne 0x180059194
lea rdx, [rbp + 0x158]
mov rcx, r12
call fcn.1800528f0
mov rbx, rax
lea rax, str.LuxAir
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Air_Lux
lea rcx, [rsp + 0x38]
call fcn.180008890
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1800595c0
lea rcx, [rsp + 0x30]
call fcn.18001a090
lea rdx, [rbp + 0x158]
mov rcx, r12
call fcn.1800528f0
mov rbx, rax
lea rax, str.LuxDark
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Dark_Lux
lea rcx, [rsp + 0x38]
call fcn.180008890
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1800595c0
lea rcx, [rsp + 0x30]
call fcn.18001a090
lea rdx, [rbp + 0x158]
mov rcx, r12
call fcn.1800528f0
mov rbx, rax
lea rax, str.LuxFire
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Fire_Lux
lea rcx, [rsp + 0x38]
call fcn.180008890
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1800595c0
lea rcx, [rsp + 0x30]
call fcn.18001a090
lea rdx, [rbp + 0x158]
mov rcx, r12
call fcn.1800528f0
mov rbx, rax
lea rsi, str.LuxIce
mov qword [rsp + 0x30], rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov ecx, 0x20
call fcn.18005c9c8
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], 0x14
mov qword [rsp + 0x50], 0x1f
movups xmm0, xmmword [str.Elementalist_Ice_Lux]
movups xmmword [rax], xmm0
mov ecx, dword [0x18009e870]
mov dword [rax + 0x10], ecx
mov byte [rax + 0x14], 0
mov eax, dword [rdi]
mov dword [rsp + 0x58], eax
mov rdx, qword [rbx + 8]
cmp rdx, qword [rbx + 0x10]
je 0x180058f70
mov qword [rdx], rsi
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rdx + 8], xmm0
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [rdx + 0x18], xmm1
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], 0
mov dword [rdx + 0x28], eax
add qword [rbx + 8], 0x30
jmp 0x180058f7d
lea r8, [rsp + 0x30]
mov rcx, rbx
call fcn.180059aa0
lea rcx, [rsp + 0x30]
call fcn.18001a090
lea rdx, [rbp + 0x158]
mov rcx, r12
call fcn.1800528f0
mov rbx, rax
lea rax, str.LuxMagma
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Magma_Lux
lea rcx, [rsp + 0x38]
call fcn.180008890
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1800595c0
lea rcx, [rsp + 0x30]
call fcn.18001a090
lea rdx, [rbp + 0x158]
mov rcx, r12
call fcn.1800528f0
mov rbx, rax
lea rax, str.LuxMystic
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Mystic_Lux
lea rcx, [rsp + 0x38]
call fcn.180008890
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1800595c0
lea rcx, [rsp + 0x30]
call fcn.18001a090
lea rdx, [rbp + 0x158]
mov rcx, r12
call fcn.1800528f0
mov rbx, rax
lea rax, str.LuxNature
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Nature_Lux
lea rcx, [rsp + 0x38]
call fcn.180008890
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1800595c0
lea rcx, [rsp + 0x30]
call fcn.18001a090
lea rdx, [rbp + 0x158]
mov rcx, r12
call fcn.1800528f0
mov rbx, rax
lea rax, str.LuxStorm
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Storm_Lux
lea rcx, [rsp + 0x38]
call fcn.180008890
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1800595c0
lea rcx, [rsp + 0x30]
call fcn.18001a090
lea rdx, [rbp + 0x158]
mov rcx, r12
call fcn.1800528f0
mov rbx, rax
lea rax, str.LuxWater
lea rdx, str.Elementalist_Water_Lux
jmp 0x180059168
cmp eax, 6
jne 0x180059194
movabs rax, 0xecc3c7c77aebb7ea
cmp qword [rbp + 0x158], rax
jne 0x180059194
lea rdx, [rbp + 0x158]
mov rcx, r12
call fcn.1800528f0
mov rbx, rax
lea rax, str.SonaDJGenre02
mov qword [rsp + 0x30], rax
lea rdx, str.DJ_Sona_2
lea rcx, [rsp + 0x38]
call fcn.180008890
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1800595c0
lea rcx, [rsp + 0x30]
call fcn.18001a090
lea rdx, [rbp + 0x158]
mov rcx, r12
call fcn.1800528f0
mov rbx, rax
lea rax, str.SonaDJGenre03
lea rdx, str.DJ_Sona_3
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x38]
call fcn.180008890
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1800595c0
lea rcx, [rsp + 0x30]
call fcn.18001a090
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x1800591cf
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800591ca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800595a3
call fcn.18005c9c0
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
mov rdx, qword [rbp + 0x18]
cmp rdx, 0xf
jbe 0x18005921a
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180059215
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800595a3
call fcn.18005c9c0
mov r14d, 1
add rdi, 4
mov qword [rbp - 0x58], rdi
cmp rdi, qword [rbp - 0x18]
mov esi, dword [rbp + 0x148]
jne 0x1800582d4
mov rax, qword [rbp - 0x30]
mov rbx, qword [rbp + 0xc0]
mov r15, qword [rbp - 8]
mov r8, qword [rax + 8]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x30]
call fcn.180059e40
mov edx, 0x48
mov rcx, qword [rbp - 0x30]
call fcn.18005c9c0
test rbx, rbx
je 0x1800592a3
mov rdx, qword [rbp - 0x10]
sub rdx, rbx
and rdx, 0xfffffffffffffffc
mov rax, rbx
cmp rdx, 0x1000
jb 0x18005929b
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800595af
mov rcx, rbx
call fcn.18005c9c0
mov r8d, dword [rbp + 0x150]
inc r8d
mov dword [rbp + 0x150], r8d
inc r15
mov qword [rbp - 8], r15
mov rdx, qword [0x1800b0d88]
mov rax, qword [rdx + 0x38]
cmp r8d, dword [rax + 0x20]
jl 0x1800581e0
mov r15, qword [rbp + 0x140]
lea r13, [0x18009e9aa]
lea r12, str.game_character_skin_displayname_SightWard_
mov r8d, r14d
mov dword [rbp + 0x148], r14d
lea r9, [rbp - 0x1b]
nop dword [rax]
nop word [rax + rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x180059300
lea r8, [rbp - 0x1b]
mov rdx, r9
lea rcx, [rbp + 0x80]
call fcn.180011e10
mov r8, qword [rbp + 0x90]
mov rcx, qword [rbp + 0x98]
mov rax, rcx
sub rax, r8
cmp rax, 0x2a
jb 0x1800593dd
lea rax, [r8 + 0x2a]
mov qword [rbp + 0x90], rax
lea rbx, [rbp + 0x80]
cmp rcx, 0xf
cmova rbx, qword [rbp + 0x80]
cmp r13, rbx
jbe 0x180059398
lea rax, [rbx + r8]
cmp r12, rax
ja 0x180059398
cmp rbx, r12
ja 0x180059390
xor edi, edi
jmp 0x18005939d
mov rdi, rbx
sub rdi, r12
jmp 0x18005939d
mov edi, 0x2a
inc r8
lea rcx, [rbx + 0x2a]
mov rdx, rbx
call fcn.180087980
mov r8, rdi
mov rdx, r12
mov rcx, rbx
call fcn.180087980
mov r8d, 0x2a
sub r8, rdi
lea rdx, [r12 + 0x2a]
add rdx, rdi
lea rcx, [rbx + rdi]
call fcn.180087980
lea rax, [rbp + 0x80]
jmp 0x1800593fc
mov qword [rsp + 0x28], 0x2a
mov qword [rsp + 0x20], r12
mov edx, 0x2a
lea rcx, [rbp + 0x80]
call fcn.1800157d0
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xor ecx, ecx
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x38], rcx
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x40], xmm1
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], 0xf
mov byte [rax], cl
mov rdx, qword [rbp + 0x98]
cmp rdx, 0xf
jbe 0x18005946b
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180059466
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005957f
call fcn.18005c9c0
mov rax, qword [0x1800b0d88]
mov rdx, qword [rax + 0x50]
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova rcx, qword [rbp - 0x50]
call rdx
mov rbx, rax
mov qword [rbp + 0x150], rax
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [rax + rdx], 0
jne 0x180059497
lea rcx, [rbp - 0x50]
mov rdi, qword [rbp - 0x50]
mov rsi, qword [rbp - 0x38]
cmp rsi, 0xf
cmova rcx, rdi
mov r8, qword [rbp - 0x40]
cmp r8, rdx
jne 0x1800594c9
mov rdx, rbx
call fcn.180088460
test eax, eax
je 0x180059537
lea rcx, [r15 + 0x10]
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x1800594e5
mov dword [rdx], r14d
mov qword [rdx + 8], rbx
add qword [rcx + 8], 0x10
jmp 0x1800594f8
lea r9, [rbp + 0x150]
lea r8, [rbp + 0x148]
call fcn.180059900
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x18005952f
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005952a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180059585
call fcn.18005c9c0
inc r14d
jmp 0x1800592e5
cmp rsi, 0xf
jbe 0x18005956b
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x180059562
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180059585
mov rcx, rdi
call fcn.18005c9c0
nop
add rsp, 0x1f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.18006b06c
int3
call fcn.18006b06c
int3
call fcn.18006b06c
int3
call fcn.180002100
int3
call fcn.18006b06c
int3
call fcn.180001260
int3
call fcn.18006b06c
int3
call fcn.180001300
int3
call fcn.18006b06c
int3