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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov rsi, rdx
mov rcx, qword [0x180206460]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb8]
call r8
mov rcx, qword [rax]
mov r8, qword [rcx + 0x20]
mov rcx, rax
call r8
movss xmm0, dword [0x180205078]
comiss xmm0, dword [rax]
ja 0x18002c6ee
mov rdi, qword [0x180205050]
mov ecx, dword [0x180206288]
mov rax, qword gs:[0x58]
mov r12d, 4
mov rbx, qword [rax + rcx*8]
mov eax, dword [rbx + r12]
cmp dword [0x1802064a0], eax
jle 0x18002c453
lea rcx, [0x1802064a0]
call fcn.1800e45f8
cmp dword [0x1802064a0], 0xffffffff
jne 0x18002c453
mov rax, qword [0x180206338]
mov qword [0x180206498], rax
lea rcx, [0x1802064a0]
call fcn.1800e458c
mov rax, qword [0x180206498]
test rax, rax
je 0x18002c6ee
mov rdx, rdi
mov rcx, rsi
call rax
mov rdi, rax
test rax, rax
je 0x18002c6ee
mov eax, dword [0x18020507c]
xor r15d, r15d
test eax, eax
jne 0x18002c653
mov r14, qword [0x180205048]
mov edx, dword [rbx + r12]
cmp dword [0x1802064a0], edx
jle 0x18002c4ca
lea rcx, [0x1802064a0]
call fcn.1800e45f8
cmp dword [0x1802064a0], 0xffffffff
jne 0x18002c4ca
mov rax, qword [0x180206338]
mov qword [0x180206498], rax
lea rcx, [0x1802064a0]
call fcn.1800e458c
mov rax, qword [0x180206498]
test rax, rax
jne 0x18002c4e9
mov r9, rsi
xor r8d, r8d
mov rdx, rdi
call fcn.18002c710
jmp 0x18002c6e0
mov rdx, r14
mov rcx, rsi
call rax
mov r14, rax
mov r9, rsi
mov r8, rax
mov rdx, rdi
call fcn.18002c710
test r14, r14
je 0x18002c6e0
mov rcx, r14
call fcn.180025420
mov r8, rax
lea rdx, [rbp - 0x49]
lea rcx, [0x180207e50]
call fcn.18000f860
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x18]
call rdx
movabs rdx, 0xcbf29ce484222325
movzx ecx, byte [rax]
test cl, cl
je 0x18002c6e0
movabs r8, 0x100000001b3
nop word [rax + rax]
movsx rcx, cl
lea rax, [rax + 1]
xor rdx, rcx
imul rdx, r8
movzx ecx, byte [rax]
test cl, cl
jne 0x18002c560
movabs rax, 0x1ed44347ed03755e
cmp rdx, rax
jne 0x18002c6e0
mov rcx, rdi
call fcn.180025bb0
mov r8, rax
lea rdx, [rbp + 0x67]
lea rcx, [0x180205138]
call fcn.18002ddd0
mov rbx, qword [rbp + 0x67]
cmp rbx, qword [0x180205140]
je 0x18002c6e0
lea rcx, [rbx + 0x30]
lea rdx, [0x180205058]
cmp rcx, rdx
je 0x18002c5e1
cmp qword [0x180205070], 0xf
cmova rdx, qword [0x180205058]
mov r8, qword [0x180205068]
call fcn.18000cb30
lea rax, [rbp - 0x49]
mov qword [rbp + 0x67], rax
mov dword [rbp - 0x3d], r15d
mov qword [rbp - 0x39], 0xb
mov qword [rbp - 0x31], 0xf
movsd xmm0, qword [str.nametag_add]
movsd qword [rbp - 0x49], xmm0
movzx eax, word [0x180124fb0]
mov word [rbp - 0x41], ax
movzx eax, byte [0x180124fb2]
mov byte [rbp - 0x3f], al
mov byte [rbp - 0x3e], r15b
lea rdx, [rbx + 0x18]
lea rcx, [rbp - 0x29]
call fcn.180007740
nop
lea r9, [rbp - 0x49]
xor r8d, r8d
mov rdx, rax
call fcn.1800287a0
mov r8, rdi
mov rdx, rsi
call fcn.180029320
mov r8, r14
jmp 0x18002c6d8
cmp eax, 1
jne 0x18002c6e0
mov rcx, rdi
call fcn.180025bb0
mov r8, rax
lea rdx, [rbp + 0x67]
lea rcx, [0x180205138]
call fcn.18002ddd0
mov rdx, qword [rbp + 0x67]
cmp rdx, qword [0x180205140]
je 0x18002c6e0
lea rax, [rdx + 0x30]
mov qword [rax + 0x10], r15
cmp qword [rax + 0x18], 0xf
jbe 0x18002c696
mov rax, qword [rax]
mov byte [rax], r15b
lea rax, [rbp - 0x49]
mov qword [rbp + 0x67], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
mov qword [rbp - 0x39], r15
mov qword [rbp - 0x31], 0xf
mov byte [rbp - 0x49], r15b
add rdx, 0x18
lea rcx, [rbp - 0x29]
call fcn.180007740
nop
lea r9, [rbp - 0x49]
xor r8d, r8d
mov rdx, rax
call fcn.1800287a0
mov r8, rdi
mov rdx, rsi
call fcn.180029320
mov qword [0x180205050], r15
mov qword [0x180205048], r15
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret