Function at 0x180058610
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 [0x1800b1cb8]
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 0x1800594eb
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], 0
xor ebx, ebx
mov rdx, qword [r12]
cmp dword [rdx + 0xc0], ebx
jle 0x1800586b9
nop dword [rax]
nop word [rax + rax]
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0xb8]
lea rdx, [rax + rcx*8]
lea rcx, [rbp + 0x10]
call fcn.1800597d0
inc ebx
mov rdx, qword [r12]
cmp ebx, dword [rdx + 0xc0]
jl 0x180058690
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x78]
call fcn.180059840
lea rcx, [rbp - 0x38]
call fcn.180059790
mov rbx, qword [rbp + 0x10]
mov qword [rbp + 0x28], rbx
mov r14, rbx
mov qword [rbp - 0x40], rbx
cmp rbx, qword [rbp + 0x18]
je 0x180058bb0
mov ecx, dword [r14]
lea r9, [rbp - 0x13]
test ecx, ecx
jns 0x180058740
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 0x180058700
dec r9
mov byte [r9], 0x2d
jmp 0x180058769
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 0x180058740
lea r8, [rbp - 0x13]
mov rdx, r9
lea rcx, [rsp + 0x30]
call fcn.180011c40
mov rax, qword [r12]
mov rbx, qword [rax + 8]
mov ecx, 0x30
call fcn.18005d070
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 [0x1800a2c30]
movups xmmword [rax + 0x10], xmm1
mov byte [rax + 0x20], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x1800587c0
mov rdx, rbx
lea rcx, [rbp - 0x80]
call fcn.18000a710
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, [0x1800a2c44]
lea rcx, [rsp + 0x60]
call fcn.18000a710
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.18000ea80
mov rdx, qword [rbp + 0x50]
cmp rdx, 0x10
jb 0x180058884
inc rdx
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005887f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800596c9
call fcn.18005d068
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1800588c1
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800588bc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800596c9
call fcn.18005d068
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x18005890f
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005890a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800596c9
call fcn.18005d068
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x18005895c
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180058957
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800596c9
call fcn.18005d068
cmp dword [r14], 0
jle 0x1800589be
mov rax, qword [0x1800b1cb8]
mov rdx, qword [rax + 0x50]
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 0x1800589a0
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.18000ccf0
lea rax, [rsp + 0x60]
jmp 0x1800589f9
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 0x1800589e2
lea rcx, [rbp - 0x80]
call fcn.18000ccf0
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 0x180058a61
and esi, 0xfffffffd
mov dword [rbp + 0xe8], esi
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x180058a61
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180058a5c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800596db
call fcn.18005d068
test sil, 1
je 0x180058aad
and esi, 0xfffffffe
mov dword [rbp + 0xe8], esi
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x180058aad
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180058aa8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800596db
call fcn.18005d068
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 0x180058c19
mov r8, rsi
call fcn.1800602d0
test eax, eax
jne 0x180058c19
test r12b, r12b
je 0x180058b35
lea rdx, [r15 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x180058b25
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800596db
mov rcx, r14
call fcn.18005d068
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 0x180058b80
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x180058b78
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800596db
mov rcx, rbx
call fcn.18005d068
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 0x1800586f0
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.18005a230
mov edx, 0x48
mov rcx, qword [rbp - 0x38]
call fcn.18005d068
test rbx, rbx
je 0x180058c10
mov rdx, qword [rbp + 0x20]
sub rdx, rbx
and rdx, 0xfffffffffffffffc
mov rax, rbx
cmp rdx, 0x1000
jb 0x180058c08
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800596e7
mov rcx, rbx
call fcn.18005d068
add r12, 8
jmp 0x180058655
mov r13, qword [rbp - 0x38]
mov rbx, qword [r13 + 8]
mov r15, r13
cmp byte [rbx + 0x19], 0
jne 0x180058c89
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 0x180058c4d
mov rcx, qword [rcx]
mov r8, rdi
cmp rsi, rdi
cmovb r8, rsi
call fcn.1800602d0
test eax, eax
je 0x180058c66
jns 0x180058c71
mov al, 0xff
jmp 0x180058c73
cmp rdi, rsi
jae 0x180058c6f
mov al, 0xff
jmp 0x180058c73
jbe 0x180058c7d
mov al, 1
test al, al
jns 0x180058c7d
mov rbx, qword [rbx + 0x10]
jmp 0x180058c83
mov r15, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x180058c30
cmp byte [r15 + 0x19], 0
jne 0x180058cd7
lea rdx, [r15 + 0x20]
mov rbx, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x180058ca2
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.1800602d0
test eax, eax
je 0x180058cc6
jns 0x180058cd1
mov al, 0xff
jmp 0x180058cd3
cmp rsi, rbx
jae 0x180058ccf
mov al, 0xff
jmp 0x180058cd3
jbe 0x180058cda
mov al, 1
test al, al
jns 0x180058cda
mov r15, r13
cmp r15, r13
jne 0x180058d02
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x80]
lea rcx, [rbp - 0x38]
call fcn.180059880
mov rcx, qword [rax]
mov dword [rcx + 0x40], 1
jmp 0x180058f1b
mov r8d, dword [r15 + 0x40]
lea r9, [rbp - 0x13]
test r8d, r8d
jns 0x180058d50
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 0x180058d12
dec r9
mov byte [r9], 0x2d
jmp 0x180058d7a
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 0x180058d50
lea r8, [rbp - 0x13]
mov rdx, r9
lea rcx, [rsp + 0x60]
call fcn.180011c40
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
sub rax, r8
cmp rax, 8
jb 0x180058e2c
lea rax, [r8 + 8]
mov qword [rsp + 0x70], rax
lea rbx, [rsp + 0x60]
cmp rcx, 0x10
cmovae rbx, qword [rsp + 0x60]
lea rax, [0x1800a2c58]
lea rsi, str._Chroma
cmp rax, rbx
jbe 0x180058dea
lea rax, [rbx + r8]
cmp rsi, rax
ja 0x180058dea
cmp rbx, rsi
ja 0x180058de2
xor edi, edi
jmp 0x180058def
mov rdi, rbx
sub rdi, rsi
jmp 0x180058def
mov edi, 8
inc r8
lea rcx, [rbx + 8]
mov rdx, rbx
call fcn.18005f800
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.18005f800
mov r8d, 8
sub r8, rdi
lea rdx, [rsi + 8]
add rdx, rdi
lea rcx, [rbx + rdi]
call fcn.18005f800
lea rax, [rsp + 0x60]
jmp 0x180058e50
mov qword [rsp + 0x28], 8
lea rax, str._Chroma
mov qword [rsp + 0x20], rax
mov edx, 8
lea rcx, [rsp + 0x60]
call fcn.1800156d0
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.18000a710
mov rdx, qword [rbp + 0x70]
cmp rdx, 0x10
jb 0x180058eda
inc rdx
mov rcx, qword [rbp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180058ed5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800596cf
call fcn.18005d068
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x180058f17
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180058f12
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800596cf
call fcn.18005d068
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 0x180058f40
mov r12, qword [rbp + 0xf8]
mov qword [rbp + 0xf0], rdx
lea rdx, [rbp + 0xf0]
mov r13, qword [rbp + 0xe0]
mov rcx, r13
call fcn.1800530f0
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 0x1800596e1
cmp rdi, 0x10
jae 0x180058fd5
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], 0xf
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x38], xmm0
jmp 0x18005906a
mov rbx, rdi
or rbx, 0xf
cmp rbx, rcx
jbe 0x180058ff4
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x18005901b
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18005903d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800596d5
mov rcx, rax
call fcn.18005d070
mov rcx, rax
test rax, rax
je 0x1800596db
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180059047
test rcx, rcx
je 0x180059047
call fcn.18005d070
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.18005f800
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 0x1800590a3
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 0x1800590b5
lea r8, [rsp + 0x30]
mov rcx, rsi
call fcn.180059ec0
mov rax, qword [rsp + 0x50]
cmp rax, 0x10
jb 0x1800590ee
lea rdx, [rax + 1]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800590e9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800596db
call fcn.18005d068
mov eax, dword [r14]
cmp eax, 7
jne 0x18005939e
movabs rax, 0x2f2959b508f215d2
cmp qword [rbp + 0xf0], rax
jne 0x180059458
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.1800530f0
mov rbx, rax
lea rax, str.LuxAir
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Air_Lux
lea rcx, [rsp + 0x38]
call fcn.180008be0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.180059730
lea rcx, [rsp + 0x30]
call fcn.180019bf0
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.1800530f0
mov rbx, rax
lea rax, str.LuxDark
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Dark_Lux
lea rcx, [rsp + 0x38]
call fcn.180008be0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.180059730
lea rcx, [rsp + 0x30]
call fcn.180019bf0
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.1800530f0
mov rbx, rax
lea rax, str.LuxFire
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Fire_Lux
lea rcx, [rsp + 0x38]
call fcn.180008be0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.180059730
lea rcx, [rsp + 0x30]
call fcn.180019bf0
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.1800530f0
mov rbx, rax
lea rax, str.LuxIce
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Ice_Lux
lea rcx, [rsp + 0x38]
call fcn.180008be0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.180059730
lea rcx, [rsp + 0x30]
call fcn.180019bf0
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.1800530f0
mov rbx, rax
lea rax, str.LuxMagma
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Magma_Lux
lea rcx, [rsp + 0x38]
call fcn.180008be0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.180059730
lea rcx, [rsp + 0x30]
call fcn.180019bf0
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.1800530f0
mov rbx, rax
lea rax, str.LuxMystic
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Mystic_Lux
lea rcx, [rsp + 0x38]
call fcn.180008be0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.180059730
lea rcx, [rsp + 0x30]
call fcn.180019bf0
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.1800530f0
mov rbx, rax
lea rax, str.LuxNature
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Nature_Lux
lea rcx, [rsp + 0x38]
call fcn.180008be0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.180059730
lea rcx, [rsp + 0x30]
call fcn.180019bf0
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.1800530f0
mov rbx, rax
lea rax, str.LuxStorm
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Storm_Lux
lea rcx, [rsp + 0x38]
call fcn.180008be0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.180059730
lea rcx, [rsp + 0x30]
call fcn.180019bf0
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.1800530f0
mov rbx, rax
lea rax, str.LuxWater
lea rdx, str.Elementalist_Water_Lux
jmp 0x18005942b
cmp eax, 6
jne 0x180059458
movabs rax, 0xecc3c7c77aebb7ea
cmp qword [rbp + 0xf0], rax
jne 0x180059458
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.1800530f0
mov rbx, rax
lea rax, str.SonaDJGenre02
mov qword [rsp + 0x30], rax
lea rdx, str.DJ_Sona_2
lea rcx, [rsp + 0x38]
call fcn.180008be0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.180059730
lea rcx, [rsp + 0x30]
call fcn.180019bf0
lea rdx, [rbp + 0xf0]
mov rcx, r13
call fcn.1800530f0
mov rbx, rax
lea rax, str.SonaDJGenre03
lea rdx, str.DJ_Sona_3
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x38]
call fcn.180008be0
mov ecx, dword [r14]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.180059730
lea rcx, [rsp + 0x30]
call fcn.180019bf0
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x180059493
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005948e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800596db
call fcn.18005d068
mov qword [rbp - 0x50], 0
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x180058b8b
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800594e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800596db
call fcn.18005d068
jmp 0x180058b8b
mov dword [rbp + 0xe8], edi
lea r14, [0x1800a2dfa]
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 0x180059510
lea r8, [rbp - 0x13]
mov rdx, r9
lea rcx, [rsp + 0x60]
call fcn.180011c40
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
sub rax, r8
cmp rax, 0x2a
jb 0x1800595d8
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 0x180059596
lea rax, [rbx + r8]
cmp rsi, rax
ja 0x180059596
cmp rbx, rsi
ja 0x18005958e
xor edi, edi
jmp 0x18005959b
mov rdi, rbx
sub rdi, rsi
jmp 0x18005959b
mov edi, 0x2a
inc r8
lea rcx, [rbx + 0x2a]
mov rdx, rbx
call fcn.18005f800
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.18005f800
mov r8d, 0x2a
sub r8, rdi
lea rdx, [rsi + 0x2a]
add rdx, rdi
lea rcx, [rbx + rdi]
call fcn.18005f800
lea rax, [rsp + 0x60]
jmp 0x1800595f5
mov qword [rsp + 0x28], 0x2a
mov qword [rsp + 0x20], rsi
mov edx, 0x2a
lea rcx, [rsp + 0x60]
call fcn.1800156d0
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.180008a90
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18005963e
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180059639
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800596c3
call fcn.18005d068
mov rax, qword [0x1800b1cb8]
mov rdx, qword [rax + 0x50]
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.1800597f0
test al, al
jne 0x1800596a5
lea rcx, [r13 + 0x10]
lea r8, [rbp + 0xf0]
lea rdx, [rbp + 0xe8]
call fcn.1800596f0
lea rcx, [rbp - 0x80]
call fcn.180008a30
mov eax, dword [rbp + 0xe8]
inc eax
mov dword [rbp + 0xe8], eax
mov edi, eax
jmp 0x180059500
lea rcx, [rbp - 0x80]
call fcn.180008a30
nop
add rsp, 0x198
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.18006c23c
int3
call fcn.18006c23c
int3
call fcn.18006c23c
int3
call fcn.180001280
int3
call fcn.18006c23c
int3
call fcn.180001320
int3
call fcn.18006c23c
int3