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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x1b0
lea rbp, [rsp + 0x40]
and rbp, 0xffffffffffffffe0
mov rcx, qword [0x180189470]
xor r8d, r8d
mov rax, qword [rcx]
mov rax, qword [rax + 0x68]
call qword [0x1800da508]
mov qword [rbp + 0x50], rax
mov r12, rax
test rax, rax
je 0x180097d4f
mov ebx, dword [rax + 0x50c]
movabs rcx, 0xe8355da38021979c
movabs rdx, 0x172e0f4284ae9db7
movabs rax, 0x170c2f26eadbf2d1
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp], rcx
mov rax, qword [rbp]
movabs rax, 0x76436a2ae7ddbd95
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0x9b502ed0e14df4bc
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0xbe7017c599d5d629
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0xd9293169d647d352
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0xcb1478a8b9bbbf09
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0xd9293169d647b63e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, 0xffffffffffffffff
lea edx, [rbx + 1]
mov r9, rax
mov eax, 8
mul rdx
cmovb rax, rcx
xor edx, edx
mov r8, rax
mov rcx, r9
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [r12 + 0x500]
mov r8d, ebx
mov r9, rax
mov qword [rbp + 0x58], rax
mov r13, rax
call fcn.180097f40
cdqe
mov qword [rbp + 0x10], rax
test rax, rax
jle 0x180097d34
xor edi, edi
mov r15d, edi
mov qword [rbp], rdi
nop
mov rax, qword [r13 + r15*8]
test rax, rax
je 0x180097d23
mov r14, qword [rax + 0x10]
test r14, r14
je 0x180097d23
mov rax, qword [r12]
lea rdx, [rbp + 0x18]
mov r8, qword [r14 + 8]
mov rcx, r12
mov rax, qword [rax + 0x10]
call qword [0x1800da508]
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x180097d23
movzx eax, word [rcx + 0x1c]
test ax, ax
je 0x180097d23
mov ebx, edi
cmp di, ax
jge 0x180097d23
movabs r13, 0x100000001b3
movabs r12, 0xe8355da38021979c
movabs r15, 0xcbf29ce484222325
nop word [rax + rax]
mov rsi, qword [rcx + 0x28]
lea rdx, [rbp + 0x40]
mov r8, qword [r14 + 8]
lea rcx, [rbp + 0x60]
movabs rax, 0x172e7c67ba83ee92
mov r9, qword [rsi + rdi]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x40], rax
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov qword [rbp + 0x48], rax
movabs rax, 0x172e0f4284ae9db7
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x20], rax
mov qword [rbp + 8], r12
mov rax, qword [rbp + 8]
mov qword [rbp + 0x28], rax
movdqa xmm0, xmmword [rbp + 0x20]
xorps xmm0, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x40], xmm0
call fcn.180097ed0
cmp byte [rbp + 0x60], 0
lea rax, [rbp + 0x60]
mov rdx, r15
je 0x180097ca0
inc rax
cmp byte [rax], 0
jne 0x180097c98
lea rcx, [rbp + 0x60]
mov r8d, 0
sub rax, rcx
je 0x180097cc5
nop
movsx rcx, byte [rbp + r8 + 0x60]
inc r8
xor rdx, rcx
imul rdx, r13
cmp r8, rax
jb 0x180097cb0
mov rcx, qword [0x1801891f0]
lea r9, [rdi + 0x10]
add r9, rsi
mov qword [rbp + 8], rdx
cmp rcx, qword [0x1801891f8]
je 0x180097cf3
mov qword [rcx], rdx
mov eax, dword [r9]
mov dword [rcx + 8], eax
add qword [0x1801891f0], 0x10
jmp 0x180097cff
lea r8, [rbp + 8]
mov rdx, rcx
call fcn.180097fa0
mov rcx, qword [rbp + 0x18]
inc ebx
add rdi, 0x20
movsx eax, word [rcx + 0x1c]
cmp ebx, eax
jl 0x180097c20
mov r15, qword [rbp]
xor edi, edi
mov r12, qword [rbp + 0x50]
mov r13, qword [rbp + 0x58]
inc r15
mov qword [rbp], r15
cmp r15, qword [rbp + 0x10]
jl 0x180097ba0
test r13, r13
je 0x180097d4d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov al, 1
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret