Function at 0x18001a8b0
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 - 0x158]
sub rsp, 0x258
xor r12d, r12d
mov ebx, r12d
mov dword [rbp + 0x1a8], ebx
mov ecx, r12d
mov qword [rbp - 0x10], rcx
mov rax, qword [0x180063cb8]
mov rdx, qword [rax + 0x30]
cmp dword [rdx + 0x20], r12d
jbe 0x18001b740
nop dword [rax + rax]
mov rax, qword [rdx + 0x18]
mov rax, qword [rax + rcx*8]
lea rcx, [rbp + 0x80]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
movups xmm0, xmmword [rax + 0x80]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x90]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0xa0]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0xb0]
movups xmmword [rcx + 0x30], xmm1
mov rax, qword [rax + 0xc0]
mov qword [rcx + 0x40], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
mov rcx, r12
mov qword [rbp - 0x30], rcx
movsxd rdi, dword [rbp + 0x140]
test rdi, rdi
je 0x18001a9e7
mov rbx, qword [rbp + 0x138]
mov rdx, qword [rbp - 0x38]
cmp rdx, rcx
je 0x18001a9c3
mov eax, dword [rbx]
mov dword [rdx], eax
add rdx, 4
mov qword [rbp - 0x38], rdx
jmp 0x18001a9d7
mov r8, rbx
lea rcx, [rbp - 0x40]
call fcn.180016840
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x38]
add rbx, 0x18
sub rdi, 1
jne 0x18001a9b0
mov ebx, dword [rbp + 0x1a8]
mov rsi, qword [rbp - 0x38]
mov r8, rsi
mov rdi, qword [rbp - 0x40]
mov qword [rbp + 0x1b8], rdi
sub r8, rdi
sar r8, 2
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov rdx, rsi
mov rcx, rdi
call fcn.18001bc30
mov qword [rbp - 8], r12
mov qword [rbp], r12
mov ecx, 0x48
call fcn.18001e1a4
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp - 8], rax
cmp rdi, rsi
je 0x18001aef7
mov ecx, dword [rdi]
lea r9, [rbp - 0x13]
test ecx, ecx
jns 0x18001aa90
neg ecx
nop
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 0x18001aa50
dec r9
mov byte [r9], 0x2d
jmp 0x18001aab9
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 0x18001aa90
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
lea rax, [rbp - 0x13]
cmp r9, rax
je 0x18001aae9
lea r8, [rbp - 0x13]
sub r8, r9
mov rdx, r9
lea rcx, [rsp + 0x30]
call fcn.1800085f0
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], 0xf
mov r8d, 0x20
lea rdx, str.game_character_skin_displayname_
lea rcx, [rsp + 0x60]
call fcn.1800085f0
mov r8, 0xffffffffffffffff
mov r13, qword [rbp + 0x88]
inc r8
cmp byte [r8 + r13], 0
jne 0x18001ab21
mov rdx, r13
lea rcx, [rsp + 0x60]
call fcn.180008750
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, 1
lea rdx, [0x18005bd08]
lea rcx, [rbp - 0x60]
call fcn.180008750
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x38], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r9, [rsp + 0x30]
lea r8, [rbp + 0x28]
lea rcx, [rbp + 8]
call fcn.18000be80
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x18001abd7
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001abd2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001b75a
call fcn.18001e19c
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x18001ac12
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001ac0d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001b75a
call fcn.18001e19c
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18001ac5f
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001ac5a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001b75a
call fcn.18001e19c
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x18001acaf
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001acaa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001b75a
call fcn.18001e19c
cmp dword [rdi], 0
jle 0x18001ad12
or ebx, 1
mov dword [rbp + 0x1a8], ebx
lea rcx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rcx, qword [rbp + 8]
mov rax, qword [0x180063cb8]
mov r8, qword [0x180065ee0]
add r8, qword [rax]
call r8
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0xf
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x18001acf6
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.1800085f0
lea rax, [rbp - 0x60]
jmp 0x18001ad51
or ebx, 2
mov dword [rbp + 0x1a8], ebx
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r8 + r13], 0
jne 0x18001ad35
mov rdx, r13
lea rcx, [rsp + 0x30]
call fcn.1800085f0
lea rax, [rsp + 0x30]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
test bl, 2
je 0x18001adba
and ebx, 0xfffffffd
mov dword [rbp + 0x1a8], ebx
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x18001adba
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001adb5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001b766
call fcn.18001e19c
test bl, 1
je 0x18001ae03
and ebx, 0xfffffffe
mov dword [rbp + 0x1a8], ebx
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x18001ae03
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001adfe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001b766
call fcn.18001e19c
lea rdx, [rbp + 8]
mov rbx, qword [rbp + 8]
mov rdi, qword [rbp + 0x20]
cmp rdi, 0x10
cmovae rdx, rbx
lea rcx, [rbp - 0x80]
mov r15, qword [rbp - 0x68]
cmp r15, 0x10
setae r12b
mov r14, qword [rbp - 0x80]
cmovae rcx, r14
mov rsi, qword [rbp - 0x70]
cmp rsi, qword [rbp + 0x18]
jne 0x18001af37
mov r8, rsi
call fcn.180020d10
test eax, eax
jne 0x18001af37
test r12b, r12b
je 0x18001ae8b
lea rdx, [r15 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x18001ae7b
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001b766
mov rcx, r14
call fcn.18001e19c
mov rdi, qword [rbp + 0x20]
mov rbx, qword [rbp + 8]
xor r12d, r12d
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], r12b
cmp rdi, 0x10
jb 0x18001aed5
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x18001aecd
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001b766
mov rcx, rbx
call fcn.18001e19c
mov rdi, qword [rbp + 0x1b8]
add rdi, 4
mov qword [rbp + 0x1b8], rdi
cmp rdi, qword [rbp - 0x38]
mov ebx, dword [rbp + 0x1a8]
jne 0x18001aa43
lea rcx, [rbp - 8]
call fcn.18001b770
lea rcx, [rbp - 0x40]
call fcn.18000cf50
mov rcx, qword [rbp - 0x10]
inc rcx
mov qword [rbp - 0x10], rcx
mov rax, qword [0x180063cb8]
mov rdx, qword [rax + 0x30]
movsxd rax, dword [rdx + 0x20]
cmp rcx, rax
jae 0x18001b740
mov ebx, dword [rbp + 0x1a8]
jmp 0x18001a900
mov r13, qword [rbp - 8]
mov rbx, qword [r13 + 8]
mov r15, r13
cmp byte [rbx + 0x19], 0
jne 0x18001af96
nop dword [rax + rax]
lea rcx, [rbx + 0x20]
lea rdx, [rbp - 0x80]
test r12b, r12b
cmovne rdx, r14
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x18001af6d
mov rcx, qword [rcx]
mov r8, rdi
cmp rsi, rdi
cmovb r8, rsi
call fcn.180020d10
test eax, eax
je 0x18001b07e
js 0x18001b087
mov r15, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x18001af50
cmp byte [r15 + 0x19], 0
jne 0x18001afd7
lea rdx, [r15 + 0x20]
mov rbx, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x18001afaf
mov rdx, qword [rdx]
lea rcx, [rbp - 0x80]
test r12b, r12b
cmovne rcx, r14
mov r8, rsi
cmp rbx, rsi
cmovb r8, rbx
call fcn.180020d10
test eax, eax
je 0x18001b090
jns 0x18001b099
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x68]
lea rcx, [rbp - 8]
call fcn.18001ba50
mov rcx, qword [rax]
mov dword [rcx + 0x40], 1
mov r13, qword [rbp + 0x88]
mov r8, r13
movabs rdx, 0xcbf29ce484222325
movabs r12, 0x100000001b3
movsx rcx, byte [r8]
lea r8, [r8 + 1]
xor rdx, rcx
imul rdx, r12
test cl, cl
jne 0x18001b010
xor r12d, r12d
mov qword [rbp + 0x1b0], rdx
lea rdx, [rbp + 0x1b0]
mov r15, qword [rbp + 0x1a0]
mov rcx, r15
call fcn.180017550
mov rsi, rax
mov qword [rsp + 0x30], r13
mov rdi, qword [rbp - 0x70]
lea r14, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae r14, qword [rbp - 0x80]
cmp rdi, 0x10
jae 0x18001b2e9
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x50], 0xf
jmp 0x18001b36a
cmp rdi, rsi
jae 0x18001af8a
mov rbx, qword [rbx + 0x10]
jmp 0x18001af90
cmp rsi, rbx
jb 0x18001afd7
cmp r15, r13
je 0x18001afd7
mov r8d, dword [r15 + 0x40]
lea r9, [rbp - 0x13]
test r8d, r8d
jns 0x18001b0f0
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 0x18001b0b2
dec r9
mov byte [r9], 0x2d
jmp 0x18001b11a
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 0x18001b0f0
xor r12d, r12d
mov edx, r12d
mov qword [rsp + 0x60], rdx
mov r8d, r12d
mov qword [rsp + 0x70], r12
mov ecx, 0xf
mov qword [rsp + 0x78], rcx
lea rax, [rbp - 0x13]
cmp r9, rax
je 0x18001b163
lea r8, [rbp - 0x13]
sub r8, r9
mov rdx, r9
lea rcx, [rsp + 0x60]
call fcn.1800085f0
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x60]
mov rax, rcx
sub rax, r8
cmp rax, 8
jb 0x18001b1f9
lea rax, [r8 + 8]
mov qword [rsp + 0x70], rax
lea rbx, [rsp + 0x60]
cmp rcx, 0x10
cmovae rbx, rdx
lea rax, [0x18005bd18]
lea rsi, str._Chroma
cmp rax, rbx
jbe 0x18001b1b7
lea rax, [rbx + r8]
cmp rsi, rax
ja 0x18001b1b7
cmp rbx, rsi
ja 0x18001b1af
mov rdi, r12
jmp 0x18001b1bc
mov rdi, rbx
sub rdi, rsi
jmp 0x18001b1bc
mov edi, 8
inc r8
lea rcx, [rbx + 8]
mov rdx, rbx
call fcn.180020440
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.180020440
mov r8d, 8
sub r8, rdi
lea rdx, [rsi + 8]
add rdx, rdi
lea rcx, [rbx + rdi]
call fcn.180020440
lea rax, [rsp + 0x60]
jmp 0x18001b21d
mov qword [rsp + 0x28], 8
lea rax, str._Chroma
mov qword [rsp + 0x20], rax
mov edx, 8
lea rcx, [rsp + 0x60]
call fcn.180011e50
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x58], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rbp + 0x48]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0x10
cmovae rdx, rcx
movq r8, xmm1
lea rcx, [rbp - 0x80]
call fcn.180008750
mov rdx, qword [rbp + 0x60]
cmp rdx, 0x10
jb 0x18001b2a3
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001b29e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001b760
call fcn.18001e19c
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18001b2e0
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001b2db
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001b760
call fcn.18001e19c
inc dword [r15 + 0x40]
jmp 0x18001aff2
mov rbx, rdi
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x18001b33d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18001b754
mov rcx, rax
call fcn.18001e1a4
mov rcx, rax
test rax, rax
je 0x18001b766
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x18001b34c
test rcx, rcx
je 0x18001b349
call fcn.18001e1a4
jmp 0x18001b34c
mov rax, r12
mov qword [rsp + 0x38], rax
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call fcn.180020440
mov qword [rsp + 0x50], rbx
movups xmm0, xmmword [rsp + 0x38]
mov qword [rsp + 0x48], rdi
mov rdi, qword [rbp + 0x1b8]
mov eax, dword [rdi]
mov dword [rsp + 0x58], eax
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x18001b3b3
mov qword [rdx], r13
movups xmmword [rdx + 8], xmm0
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rdx + 0x18], xmm0
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], 0
mov dword [rdx + 0x28], eax
add qword [rsi + 8], 0x30
jmp 0x18001b3c0
lea r8, [rsp + 0x30]
mov rcx, rsi
call fcn.18001b800
lea rcx, [rsp + 0x30]
call fcn.180015fb0
mov eax, dword [rdi]
cmp eax, 7
jne 0x18001b671
movabs rax, 0x2f2959b508f215d2
cmp qword [rbp + 0x1b0], rax
jne 0x18001b729
lea rdx, [rbp + 0x1b0]
mov rcx, r15
call fcn.180017550
mov rbx, rax
lea rax, str.LuxAir
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Air_Lux
lea rcx, [rsp + 0x38]
call fcn.180006840
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18001b7a0
lea rcx, [rsp + 0x30]
call fcn.180015fb0
lea rdx, [rbp + 0x1b0]
mov rcx, r15
call fcn.180017550
mov rbx, rax
lea rax, str.LuxDark
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Dark_Lux
lea rcx, [rsp + 0x38]
call fcn.180006840
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18001b7a0
lea rcx, [rsp + 0x30]
call fcn.180015fb0
lea rdx, [rbp + 0x1b0]
mov rcx, r15
call fcn.180017550
mov rbx, rax
lea rax, str.LuxFire
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Fire_Lux
lea rcx, [rsp + 0x38]
call fcn.180006840
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18001b7a0
lea rcx, [rsp + 0x30]
call fcn.180015fb0
lea rdx, [rbp + 0x1b0]
mov rcx, r15
call fcn.180017550
mov rbx, rax
lea rax, str.LuxIce
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Ice_Lux
lea rcx, [rsp + 0x38]
call fcn.180006840
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18001b7a0
lea rcx, [rsp + 0x30]
call fcn.180015fb0
lea rdx, [rbp + 0x1b0]
mov rcx, r15
call fcn.180017550
mov rbx, rax
lea rax, str.LuxMagma
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Magma_Lux
lea rcx, [rsp + 0x38]
call fcn.180006840
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18001b7a0
lea rcx, [rsp + 0x30]
call fcn.180015fb0
lea rdx, [rbp + 0x1b0]
mov rcx, r15
call fcn.180017550
mov rbx, rax
lea rax, str.LuxMystic
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Mystic_Lux
lea rcx, [rsp + 0x38]
call fcn.180006840
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18001b7a0
lea rcx, [rsp + 0x30]
call fcn.180015fb0
lea rdx, [rbp + 0x1b0]
mov rcx, r15
call fcn.180017550
mov rbx, rax
lea rax, str.LuxNature
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Nature_Lux
lea rcx, [rsp + 0x38]
call fcn.180006840
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18001b7a0
lea rcx, [rsp + 0x30]
call fcn.180015fb0
lea rdx, [rbp + 0x1b0]
mov rcx, r15
call fcn.180017550
mov rbx, rax
lea rax, str.LuxStorm
mov qword [rsp + 0x30], rax
lea rdx, str.Elementalist_Storm_Lux
lea rcx, [rsp + 0x38]
call fcn.180006840
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18001b7a0
lea rcx, [rsp + 0x30]
call fcn.180015fb0
lea rdx, [rbp + 0x1b0]
mov rcx, r15
call fcn.180017550
mov rbx, rax
lea rax, str.LuxWater
lea rdx, str.Elementalist_Water_Lux
jmp 0x18001b6fd
cmp eax, 6
jne 0x18001b729
movabs rax, 0xecc3c7c77aebb7ea
cmp qword [rbp + 0x1b0], rax
jne 0x18001b729
lea rdx, [rbp + 0x1b0]
mov rcx, r15
call fcn.180017550
mov rbx, rax
lea rax, str.SonaDJGenre02
mov qword [rsp + 0x30], rax
lea rdx, str.DJ_Sona_2
lea rcx, [rsp + 0x38]
call fcn.180006840
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18001b7a0
lea rcx, [rsp + 0x30]
call fcn.180015fb0
lea rdx, [rbp + 0x1b0]
mov rcx, r15
call fcn.180017550
mov rbx, rax
lea rax, str.SonaDJGenre03
lea rdx, str.DJ_Sona_3
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x38]
call fcn.180006840
mov ecx, dword [rdi]
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18001b7a0
lea rcx, [rsp + 0x30]
call fcn.180015fb0
lea rcx, [rbp - 0x80]
call fcn.1800067b0
lea rcx, [rbp + 8]
call fcn.1800067b0
jmp 0x18001aedc
add rsp, 0x258
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1800012d0
int3
call fcn.18002c438
int3
call fcn.18002c438
int3
call fcn.18002c438
int3