Function at 0x1800597b0
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 - 0x98]
sub rsp, 0x198
mov r13, rcx
xor esi, esi
mov dword [rbp + 0xe8], esi
mov rax, qword [0x1800b2cb8]
mov rdx, qword [rax + 0x38]
mov r12, qword [rdx + 0x18]
mov r15, qword [rdx + 0x20]
mov qword [rbp + 0x30], r15
lea edi, [rsi + 1]
cmp r12, r15
mov qword [rbp + 0xf8], r12
je 0x18005a68b
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], 0
xor ebx, ebx
mov rdx, qword [r12]
cmp dword [rdx + 0xf0], ebx
jle 0x180059859
nop dword [rax]
nop word [rax + rax]
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0xe8]
lea rdx, [rax + rcx*8]
lea rcx, [rbp + 0x10]
call fcn.18005a970
inc ebx
mov rdx, qword [r12]
cmp ebx, dword [rdx + 0xf0]
jl 0x180059830
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x78]
call fcn.18005a9e0
lea rcx, [rbp - 0x38]
call fcn.18005a930
mov rbx, qword [rbp + 0x10]
mov qword [rbp + 0x28], rbx
mov r14, rbx
mov qword [rbp - 0x40], rbx
cmp rbx, qword [rbp + 0x18]
je 0x180059d50
mov ecx, dword [r14]
lea r9, [rbp - 0x13]
test ecx, ecx
jns 0x1800598e0
neg ecx
nop dword [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 0x1800598a0
dec r9
mov byte [r9], 0x2d
jmp 0x180059909
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 0x1800598e0
lea r8, [rbp - 0x13]
mov rdx, r9
lea rcx, [rsp + 0x30]
call fcn.180011c50
mov rax, qword [r12]
mov rbx, qword [rax + 8]
mov ecx, 0x30
call fcn.18005e210
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x70], 0x20
mov qword [rbp - 0x68], 0x2f
movups xmm0, xmmword [str.game_character_skin_displayname_]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1800a3c50]
movups xmmword [rax + 0x10], xmm1
mov byte [rax + 0x20], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x180059960
mov rdx, rbx
lea rcx, [rbp - 0x80]
call fcn.18000a720
xor ebx, ebx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
mov r8, rdi
lea rdx, [0x1800a3c64]
lea rcx, [rsp + 0x60]
call fcn.18000a720
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x38], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x48], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
lea r9, [rsp + 0x30]
lea r8, [rbp + 0x38]
lea rcx, [rbp - 0x10]
call fcn.18000ea90
mov rdx, qword [rbp + 0x50]
cmp rdx, 0x10
jb 0x180059a24
inc rdx
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180059a1f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005a869
call fcn.18005e208
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x180059a61
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180059a5c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005a869
call fcn.18005e208
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x180059aaf
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180059aaa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005a869
call fcn.18005e208
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x180059afc
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180059af7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005a869
call fcn.18005e208
cmp dword [r14], 0
jle 0x180059b5e
mov rax, qword [0x1800b2cb8]
mov rdx, qword [rax + 0x58]
lea rcx, [rbp - 0x10]
cmp qword [rbp + 8], 0x10
cmovae rcx, qword [rbp - 0x10]
or esi, 1
mov dword [rbp + 0xe8], esi
call rdx
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180059b40
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.18000cd00
lea rax, [rsp + 0x60]
jmp 0x180059b99
or esi, 2
mov dword [rbp + 0xe8], esi
mov rax, qword [r12]
mov rdx, qword [rax + 8]
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], rbx
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x180059b82
lea rcx, [rbp - 0x80]
call fcn.18000cd00
lea rax, [rbp - 0x80]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
test sil, 2
je 0x180059c01
and esi, 0xfffffffd
mov dword [rbp + 0xe8], esi
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x180059c01
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180059bfc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005a87b
call fcn.18005e208
test sil, 1
je 0x180059c4d
and esi, 0xfffffffe
mov dword [rbp + 0xe8], esi
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x180059c4d
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180059c48
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005a87b
call fcn.18005e208
lea rdx, [rbp - 0x10]
mov rbx, qword [rbp - 0x10]
mov rdi, qword [rbp + 8]
cmp rdi, 0x10
cmovae rdx, rbx
lea rcx, [rbp - 0x60]
mov r15, qword [rbp - 0x48]
cmp r15, 0x10
setae r12b
mov r14, qword [rbp - 0x60]
cmovae rcx, r14
mov rsi, qword [rbp - 0x50]
cmp rsi, qword [rbp]
jne 0x180059db9
mov r8, rsi
call fcn.180061470
test eax, eax
jne 0x180059db9
test r12b, r12b
je 0x180059cd5
lea rdx, [r15 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x180059cc5
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005a87b
mov rcx, r14
call fcn.18005e208
mov rdi, qword [rbp + 8]
mov rbx, qword [rbp - 0x10]
mov qword [rbp - 0x50], 0
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
cmp rdi, 0x10
jb 0x180059d20
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x180059d18
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005a87b
mov rcx, rbx
call fcn.18005e208
mov r12, qword [rbp + 0xf8]
mov r14, qword [rbp - 0x40]
add r14, 4
mov qword [rbp - 0x40], r14
cmp r14, qword [rbp + 0x18]
mov edi, 1
mov esi, dword [rbp + 0xe8]
jne 0x180059890
mov rbx, qword [rbp + 0x28]
mov r15, qword [rbp + 0x30]
mov r8, qword [rbp - 0x38]
mov r8, qword [r8 + 8]
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x38]
call fcn.18005b3d0
mov edx, 0x48
mov rcx, qword [rbp - 0x38]
call fcn.18005e208
test rbx, rbx
je 0x180059db0
mov rdx, qword [rbp + 0x20]
sub rdx, rbx
and rdx, 0xfffffffffffffffc
mov rax, rbx
cmp rdx, 0x1000
jb 0x180059da8
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005a887
mov rcx, rbx
call fcn.18005e208
add r12, 8
jmp 0x1800597f5
mov r13, qword [rbp - 0x38]
mov rbx, qword [r13 + 8]
mov r15, r13
cmp byte [rbx + 0x19], 0
jne 0x180059e29
nop word [rax + rax]
lea rcx, [rbx + 0x20]
lea rdx, [rbp - 0x60]
test r12b, r12b
cmovne rdx, r14
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x180059ded
mov rcx, qword [rcx]
mov r8, rdi
cmp rsi, rdi
cmovb r8, rsi
call fcn.180061470
test eax, eax
je 0x180059e06
jns 0x180059e11
mov al, 0xff
jmp 0x180059e13
cmp rdi, rsi
jae 0x180059e0f
mov al, 0xff
jmp 0x180059e13
jbe 0x180059e1d
mov al, 1
test al, al
jns 0x180059e1d
mov rbx, qword [rbx + 0x10]
jmp 0x180059e23
mov r15, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x180059dd0
cmp byte [r15 + 0x19], 0
jne 0x180059e77
lea rdx, [r15 + 0x20]
mov rbx, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x180059e42
mov rdx, qword [rdx]
lea rcx, [rbp - 0x60]
test r12b, r12b
cmovne rcx, r14
mov r8, rsi
cmp rbx, rsi
cmovb r8, rbx
call fcn.180061470
test eax, eax
je 0x180059e66
jns 0x180059e71
mov al, 0xff
jmp 0x180059e73
cmp rsi, rbx
jae 0x180059e6f
mov al, 0xff
jmp 0x180059e73
jbe 0x180059e7a
mov al, 1
test al, al
jns 0x180059e7a
mov r15, r13
cmp r15, r13
jne 0x180059ea2
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x80]
lea rcx, [rbp - 0x38]
call fcn.18005aa20
mov rcx, qword [rax]
mov dword [rcx + 0x40], 1
jmp 0x18005a0bb
mov r8d, dword [r15 + 0x40]
lea r9, [rbp - 0x13]
test r8d, r8d
jns 0x180059ef0
neg r8d
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 0x180059eb2
dec r9
mov byte [r9], 0x2d
jmp 0x180059f1a
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 0x180059ef0
lea r8, [rbp - 0x13]
mov rdx, r9
lea rcx, [rsp + 0x60]
call fcn.180011c50
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
sub rax, r8
cmp rax, 8
jb 0x180059fcc
lea rax, [r8 + 8]
mov qword [rsp + 0x70], rax
lea rbx, [rsp + 0x60]
cmp rcx, 0x10
cmovae rbx, qword [rsp + 0x60]
lea rax, [0x1800a3c78]
lea rsi, str._Chroma
cmp rax, rbx
jbe 0x180059f8a
lea rax, [rbx + r8]
cmp rsi, rax
ja 0x180059f8a
cmp rbx, rsi
ja 0x180059f82
xor edi, edi
jmp 0x180059f8f
mov rdi, rbx
sub rdi, rsi
jmp 0x180059f8f
mov edi, 8
inc r8
lea rcx, [rbx + 8]
mov rdx, rbx
call fcn.1800609a0
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.1800609a0
mov r8d, 8
sub r8, rdi
lea rdx, [rsi + 8]
add rdx, rdi
lea rcx, [rbx + rdi]
call fcn.1800609a0
lea rax, [rsp + 0x60]
jmp 0x180059ff0
mov qword [rsp + 0x28], 8
lea rax, str._Chroma
mov qword [rsp + 0x20], rax
mov edx, 8
lea rcx, [rsp + 0x60]
call fcn.1800156e0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x68], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rbp + 0x58]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0x10
cmovae rdx, rcx
movq r8, xmm1
lea rcx, [rbp - 0x60]
call fcn.18000a720
mov rdx, qword [rbp + 0x70]
cmp rdx, 0x10
jb 0x18005a07a
inc rdx
mov rcx, qword [rbp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005a075
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005a86f
call fcn.18005e208
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18005a0b7
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005a0b2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005a86f
call fcn.18005e208
inc dword [r15 + 0x40]
mov r12, qword [rbp + 0xf8]
mov rax, qword [r12]
mov r8, qword [rax + 8]
movabs rdx, 0xcbf29ce484222325
movabs r12, 0x100000001b3
nop
movsx rcx, byte [r8]
lea r8, [r8 + 1]
xor rdx, rcx
imul rdx, r12
test cl, cl
jne 0x18005a0e0
mov r12, qword [rbp + 0xf8]
mov qword [rbp + 0xf0], rdx
lea rdx, [rbp + 0xf0]
mov r13, qword [rbp + 0xe0]
mov rcx, r13
call fcn.180054130
mov rsi, rax
mov rcx, qword [r12]
mov r15, qword [rcx + 8]
mov qword [rsp + 0x30], r15
xor eax, eax
mov qword [rsp + 0x38], rax
mov rdi, qword [rbp - 0x50]
lea r14, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae r14, qword [rbp - 0x60]
movabs rcx, 0x7fffffffffffffff
cmp rdi, rcx
ja 0x18005a881
cmp rdi, 0x10
jae 0x18005a175
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], 0xf
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x38], xmm0
jmp 0x18005a20a
mov rbx, rdi
or rbx, 0xf
cmp rbx, rcx
jbe 0x18005a194
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x18005a1bb
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18005a1dd
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18005a875
mov rcx, rax
call fcn.18005e210
mov rcx, rax
test rax, rax
je 0x18005a87b
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18005a1e7
test rcx, rcx
je 0x18005a1e7
call fcn.18005e210
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.1800609a0
movups xmm0, xmmword [rsp + 0x38]
mov r14, qword [rbp - 0x40]
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x18005a243
mov qword [rdx], r15
movups xmmword [rdx + 8], xmm0
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rdx + 0x18], xmm0
mov eax, 0xf
mov byte [rsp + 0x38], 0
mov dword [rdx + 0x28], ecx
add qword [rsi + 8], 0x30
jmp 0x18005a255
lea r8, [rsp + 0x30]
mov rcx, rsi
call fcn.18005b060
mov rax, qword [rsp + 0x50]
cmp rax, 0x10
jb 0x18005a28e
lea rdx, [rax + 1]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005a289
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005a87b
call fcn.18005e208
mov eax, dword [r14]
cmp eax, 7
jne 0x18005a53e
movabs rax, 0x2f2959b508f215d2
cmp qword [rbp + 0xf0], rax
jne 0x18005a5f8
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.180054130
mov rbx, rax
lea rax, str.LuxAir
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Air_Lux
lea rcx, [rsp + 0x38]
call fcn.180008bf0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18005a8d0
lea rcx, [rsp + 0x30]
call fcn.180019c00
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.180054130
mov rbx, rax
lea rax, str.LuxDark
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Dark_Lux
lea rcx, [rsp + 0x38]
call fcn.180008bf0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18005a8d0
lea rcx, [rsp + 0x30]
call fcn.180019c00
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.180054130
mov rbx, rax
lea rax, str.LuxFire
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Fire_Lux
lea rcx, [rsp + 0x38]
call fcn.180008bf0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18005a8d0
lea rcx, [rsp + 0x30]
call fcn.180019c00
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.180054130
mov rbx, rax
lea rax, str.LuxIce
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Ice_Lux
lea rcx, [rsp + 0x38]
call fcn.180008bf0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18005a8d0
lea rcx, [rsp + 0x30]
call fcn.180019c00
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.180054130
mov rbx, rax
lea rax, str.LuxMagma
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Magma_Lux
lea rcx, [rsp + 0x38]
call fcn.180008bf0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18005a8d0
lea rcx, [rsp + 0x30]
call fcn.180019c00
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.180054130
mov rbx, rax
lea rax, str.LuxMystic
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Mystic_Lux
lea rcx, [rsp + 0x38]
call fcn.180008bf0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18005a8d0
lea rcx, [rsp + 0x30]
call fcn.180019c00
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.180054130
mov rbx, rax
lea rax, str.LuxNature
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Nature_Lux
lea rcx, [rsp + 0x38]
call fcn.180008bf0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18005a8d0
lea rcx, [rsp + 0x30]
call fcn.180019c00
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.180054130
mov rbx, rax
lea rax, str.LuxStorm
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Storm_Lux
lea rcx, [rsp + 0x38]
call fcn.180008bf0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18005a8d0
lea rcx, [rsp + 0x30]
call fcn.180019c00
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.180054130
mov rbx, rax
lea rax, str.LuxWater
lea rdx, str.Elementalist_Water_Lux
jmp 0x18005a5cb
cmp eax, 6
jne 0x18005a5f8
movabs rax, 0xecc3c7c77aebb7ea
cmp qword [rbp + 0xf0], rax
jne 0x18005a5f8
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.180054130
mov rbx, rax
lea rax, str.SonaDJGenre02
mov qword [rsp + 0x30], rax
lea rdx, str.DJ_Sona_2
lea rcx, [rsp + 0x38]
call fcn.180008bf0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18005a8d0
lea rcx, [rsp + 0x30]
call fcn.180019c00
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.180054130
mov rbx, rax
lea rax, str.SonaDJGenre03
lea rdx, str.DJ_Sona_3
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x38]
call fcn.180008bf0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18005a8d0
lea rcx, [rsp + 0x30]
call fcn.180019c00
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x18005a633
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005a62e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005a87b
call fcn.18005e208
mov qword [rbp - 0x50], 0
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x180059d2b
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005a681
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005a87b
call fcn.18005e208
jmp 0x180059d2b
mov dword [rbp + 0xe8], edi
lea r14, [0x1800a3e1a]
lea rsi, str.game_character_skin_displayname_SightWard_
nop
lea r9, [rbp - 0x13]
nop dword [rax]
nop dword [rax + rax]
dec r9
mov eax, 0xcccccccd
mul edi
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub dil, cl
add dil, 0x30
mov byte [r9], dil
mov edi, edx
test edx, edx
jne 0x18005a6b0
lea r8, [rbp - 0x13]
mov rdx, r9
lea rcx, [rsp + 0x60]
call fcn.180011c50
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
sub rax, r8
cmp rax, 0x2a
jb 0x18005a778
lea rax, [r8 + 0x2a]
mov qword [rsp + 0x70], rax
lea rbx, [rsp + 0x60]
cmp rcx, 0x10
cmovae rbx, qword [rsp + 0x60]
cmp r14, rbx
jbe 0x18005a736
lea rax, [rbx + r8]
cmp rsi, rax
ja 0x18005a736
cmp rbx, rsi
ja 0x18005a72e
xor edi, edi
jmp 0x18005a73b
mov rdi, rbx
sub rdi, rsi
jmp 0x18005a73b
mov edi, 0x2a
inc r8
lea rcx, [rbx + 0x2a]
mov rdx, rbx
call fcn.1800609a0
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.1800609a0
mov r8d, 0x2a
sub r8, rdi
lea rdx, [rsi + 0x2a]
add rdx, rdi
lea rcx, [rbx + rdi]
call fcn.1800609a0
lea rax, [rsp + 0x60]
jmp 0x18005a795
mov qword [rsp + 0x28], 0x2a
mov qword [rsp + 0x20], rsi
mov edx, 0x2a
lea rcx, [rsp + 0x60]
call fcn.1800156e0
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.180008aa0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18005a7de
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005a7d9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005a863
call fcn.18005e208
mov rax, qword [0x1800b2cb8]
mov rdx, qword [rax + 0x58]
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rcx, qword [rbp - 0x80]
call rdx
mov qword [rbp + 0xf0], rax
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.18005a990
test al, al
jne 0x18005a845
lea rcx, [r13 + 0x10]
lea r8, [rbp + 0xf0]
lea rdx, [rbp + 0xe8]
call fcn.18005a890
lea rcx, [rbp - 0x80]
call fcn.180008a40
mov eax, dword [rbp + 0xe8]
inc eax
mov dword [rbp + 0xe8], eax
mov edi, eax
jmp 0x18005a6a0
lea rcx, [rbp - 0x80]
call fcn.180008a40
nop
add rsp, 0x198
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.18006d3dc
int3
call fcn.18006d3dc
int3
call fcn.18006d3dc
int3
call fcn.180001290
int3
call fcn.18006d3dc
int3
call fcn.180001330
int3
call fcn.18006d3dc
int3