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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xc8]
sub rsp, 0x1c8
mov r15, r9
mov rdi, r8
mov r14, rdx
xor ecx, ecx
test byte [0x18026d514], 0x20
jne 0x18015050a
mov rcx, rdx
call fcn.1800a0370
nop
mov rcx, rdi
call fcn.1800a0370
nop
mov rcx, r15
call fcn.1800a0370
nop
mov rcx, qword [rbp + 0x130]
jmp 0x18015085d
mov rsi, qword [r8 + 0x18]
cmp rsi, 0xf
jbe 0x180150517
mov r8, qword [r8]
mov ebx, 0x811c9dc5
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [r8 + rdx], 0
jne 0x180150523
test rdx, rdx
je 0x180150555
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rcx + r8]
xor eax, ebx
imul ebx, eax, 0x1000193
inc rcx
cmp rcx, rdx
jb 0x180150540
mov edx, 0xc40bf6cc
lea rcx, [0x180232dc9]
call fcn.1800f5960
lea rdx, [0x18023364c]
lea r12, str.from
mov rcx, r12
cmp ebx, eax
cmove rcx, rdx
lea rax, str._tag___
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 0xf
mov rdx, rdi
cmp rsi, 0xf
jbe 0x18015059e
mov rdx, qword [rdi]
mov rax, qword [rdi + 0x10]
mov qword [rbp - 0x80], rdx
mov qword [rbp - 0x78], rax
movabs r13, 0xc000000000000000
mov qword [rsp + 0x60], r13
mov rsi, qword [rbp + 0x130]
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1801505cd
mov rdx, qword [rsi]
mov rax, qword [rsi + 0x10]
mov qword [rbp - 0x70], rdx
mov qword [rbp - 0x68], rax
movabs rax, 0xc000000000000010
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x60], rcx
movabs rax, 0xb000000000000020
mov qword [rsp + 0x70], rax
mov rcx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x180150608
mov rcx, qword [r14]
mov rax, qword [r14 + 0x10]
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], rax
movabs rax, 0xc000000000000028
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x30], 4
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
vmovups xmm0, xmmword [rsp + 0x30]
vmovdqa xmmword [rsp + 0x30], xmm0
vmovups xmm1, xmmword [rsp + 0x40]
vmovdqa xmmword [rsp + 0x40], xmm1
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x60]
call fcn.1800b7a90
nop
mov edx, 0xc40bf6cc
lea rcx, [0x180232dc9]
call fcn.1800f5960
cmp ebx, eax
lea rax, [0x18023364c]
cmove r12, rax
lea rax, str._tag_
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0x14
mov rcx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1801506a2
mov rcx, qword [rdi]
mov rax, qword [rdi + 0x10]
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x48], r13
mov rcx, r15
cmp qword [r15 + 0x18], 0xf
jbe 0x1801506bf
mov rcx, qword [r15]
mov rax, qword [r15 + 0x10]
mov qword [rbp - 8], rcx
mov qword [rbp], rax
movabs rax, 0xc000000000000010
mov qword [rbp - 0x40], rax
mov rcx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1801506e6
mov rcx, qword [rsi]
mov rax, qword [rsi + 0x10]
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rax
movabs rax, 0xc000000000000020
mov qword [rbp - 0x38], rax
mov qword [rbp + 0x18], r12
movabs rax, 0xb000000000000030
mov qword [rbp - 0x30], rax
lea rax, str._aC8A900
cmp qword [0x1802612f0], 0xf
cmova rax, qword [str._aC8A900]
mov qword [rbp + 0x20], rax
mov rax, qword [0x1802612e8]
mov qword [rbp + 0x28], rax
movabs rax, 0xc000000000000038
mov qword [rbp - 0x28], rax
mov rcx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x180150753
mov rcx, qword [r14]
mov rax, qword [r14 + 0x10]
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], rax
movabs rax, 0xc000000000000048
mov qword [rbp - 0x20], rax
mov qword [rsp + 0x40], 6
lea rax, [rbp - 0x48]
mov qword [rsp + 0x48], rax
vmovups xmm0, xmmword [rsp + 0x40]
vmovdqa xmmword [rsp + 0x40], xmm0
vmovups xmm1, xmmword [rsp + 0x30]
vmovdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x40]
call fcn.1800b7a90
nop
lea rax, [rbp + 0x80]
mov qword [rbp + 0x110], rax
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.18009ffe0
mov rbx, rax
lea rax, [rbp + 0xa0]
mov qword [rsp + 0x30], rax
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0xa0]
call fcn.18009ffe0
nop
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 4
mov qword [rsp + 0x58], 0xf
mov dword [rsp + 0x40], 0x73676154
mov byte [rsp + 0x44], 0
mov qword [rsp + 0x20], rbx
mov r9, rax
lea r8, [rsp + 0x40]
mov edx, dword [0x18026d794]
call fcn.18014dbb0
nop
lea rcx, [rbp + 0x40]
call fcn.1800a0370
nop
lea rcx, [rbp + 0x60]
call fcn.1800a0370
nop
mov rcx, r14
call fcn.1800a0370
nop
mov rcx, rdi
call fcn.1800a0370
nop
mov rcx, r15
call fcn.1800a0370
nop
mov rcx, rsi
call fcn.1800a0370
add rsp, 0x1c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret