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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x140
movaps xmmword [rax - 0x38], xmm6
xor r12d, r12d
movaps xmmword [rax - 0x48], xmm7
mov r15, r9
movaps xmmword [rax - 0x58], xmm8
mov r14, r8
movaps xmmword [rax - 0x68], xmm9
mov rsi, rdx
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm13
mov rax, qword [0x1800bbba8]
test rax, rax
je 0x180095ee9
movss xmm8, dword [rax + 0x14]
lea rcx, [rsp + 0x48]
addss xmm8, dword [0x1800b46ec]
movss xmm9, dword [rax + 0x10]
movss xmm6, dword [0x1800b3fe8]
mov dword [rsp + 0x40], 0x41200000
mov dword [rsp + 0x44], 0x41200000
call qword [0x1800bbb28]
cmp qword [0x1800bbba0], r12
lea ebx, [r12 + 1]
mov r11, qword [0x1800bbb98]
jne 0x1800959d7
mov r10b, bl
test r11, r11
je 0x1800959da
mov r10b, r12b
mov rdx, r12
cmp byte [rsi], r12b
je 0x1800959eb
add rdx, rbx
cmp byte [rsi + rdx], r12b
jne 0x1800959e2
movabs rcx, 0xcbf29ce484222325
mov r9, r12
mov r8, rcx
movabs r13, 0x100000001b3
test rdx, rdx
je 0x180095a1e
movsx rax, byte [rsi + r9]
add r9, rbx
imul r8, r13
xor r8, rax
cmp r9, rdx
jb 0x180095a0a
movss xmm3, dword [0x1800bbae8]
movaps xmm7, xmm9
cmp r11, r8
addss xmm7, xmm6
movaps xmm1, xmm8
sete al
addss xmm1, xmm6
comiss xmm3, xmm9
movaps xmm0, xmm7
addss xmm0, dword [rsp + 0x48]
jb 0x180095ab7
movss xmm2, dword [0x1800bbaec]
comiss xmm2, xmm8
jb 0x180095ab7
comiss xmm3, xmm0
ja 0x180095ab7
comiss xmm2, xmm1
ja 0x180095ab7
mov dil, bl
test al, al
jne 0x180095abe
test r10b, r10b
je 0x180095ad7
cmp byte [0x1800bbaf0], r12b
je 0x180095ad7
cmp byte [0x1800bbaf1], r12b
jne 0x180095ad7
mov rdx, r12
cmp byte [rsi], r12b
je 0x180095a92
add rdx, rbx
cmp byte [rsi + rdx], r12b
jne 0x180095a89
mov r8, r12
test rdx, rdx
je 0x180095aae
movsx rax, byte [rsi + r8]
add r8, rbx
imul rcx, r13
xor rcx, rax
cmp r8, rdx
jb 0x180095a9a
mov qword [0x1800bbb98], rcx
jmp 0x180095ad7
mov dil, r12b
test al, al
je 0x180095ad7
cmp byte [0x1800bbaf0], r12b
jne 0x180095ad7
mov qword [0x1800bbb98], r12
cmp byte [r14], r12b
sete al
mov byte [r14], al
movdqa xmm0, xmmword [0x1800b5400]
lea r8, [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
movaps xmm1, xmm9
movaps xmm0, xmm6
unpcklps xmm1, xmm8
unpcklps xmm0, xmm6
xorps xmm3, xmm3
movq rdx, xmm0
movq rcx, xmm1
call qword [0x1800bbb18]
movsd xmm10, qword [rsp + 0x40]
unpcklps xmm9, xmm8
cmp byte [r14], r12b
je 0x180095c06
movups xmm6, xmmword [0x1800bbc88]
lea r8, [rbp - 0x70]
mov edx, 0xffffffce
movss xmm1, dword [0x1800b53e8]
mov eax, edx
movss xmm4, dword [0x1800b40fc]
movaps xmm0, xmm6
mulss xmm0, xmm1
movaps xmmword [rbp - 0x70], xmm6
movaps xmmword [rbp - 0x60], xmm6
cvttss2si ecx, xmm0
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
sub eax, ecx
mulss xmm0, xmm1
mov ecx, edx
movd xmm5, eax
cvttss2si eax, xmm0
movaps xmm0, xmm6
shufps xmm0, xmm6, 0xaa
sub ecx, eax
mulss xmm0, xmm1
cvtdq2ps xmm5, xmm5
movd xmm3, ecx
movq rcx, xmm9
cvttss2si eax, xmm0
mulss xmm5, xmm4
movaps xmm0, xmm6
sub edx, eax
shufps xmm0, xmm6, 0xff
mulss xmm0, dword [0x1800b3fec]
movd xmm2, edx
movq rdx, xmm10
cvtdq2ps xmm3, xmm3
cvttss2si eax, xmm0
mulss xmm3, xmm4
cvtdq2ps xmm2, xmm2
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm2, xmm4
mulss xmm1, xmm4
movss dword [rsp + 0x70], xmm5
movss dword [rsp + 0x74], xmm3
movss dword [rsp + 0x7c], xmm1
movss dword [rbp - 0x74], xmm1
movss dword [rsp + 0x78], xmm2
movups xmm0, xmmword [rsp + 0x70]
movss dword [rbp - 0x80], xmm5
movss dword [rbp - 0x7c], xmm3
movss dword [rbp - 0x78], xmm2
movups xmm1, xmmword [rbp - 0x80]
movaps xmmword [rbp - 0x50], xmm0
movaps xmmword [rbp - 0x40], xmm1
call qword [0x1800bbb38]
movups xmm0, xmmword [0x1800bb350]
lea r8, [rsp + 0x30]
xorps xmm3, xmm3
movq rdx, xmm10
movq rcx, xmm9
movdqa xmmword [rsp + 0x30], xmm0
call qword [0x1800bbb10]
mov r10, qword [0x1800bbb20]
cmp byte [r14], r12b
je 0x180095c40
lea rax, [0x1800bb360]
jmp 0x180095c55
test dil, dil
lea rax, [0x1800bbcc8]
lea rcx, [0x1800bbcd8]
cmove rax, rcx
movss xmm0, dword [rsp + 0x4c]
lea r8, [rsp + 0x30]
addss xmm7, dword [0x1800b50bc]
movss xmm9, dword [0x1800b4100]
xor r9d, r9d
movss xmm6, dword [0x1800b4774]
mov rdx, rsi
mulss xmm0, xmm9
movaps xmm1, xmm6
subss xmm1, xmm0
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x30], xmm0
addss xmm1, xmm8
movaps xmm0, xmm7
unpcklps xmm0, xmm1
movq rcx, xmm0
call r10
cmp byte [r15 + 8], r12b
je 0x180095ec2
movss xmm0, dword [rsp + 0x4c]
lea rdx, [0x1800b544c]
addss xmm7, dword [rsp + 0x48]
movss xmm13, dword [0x1800b4678]
lea rcx, [rsp + 0x40]
mulss xmm0, xmm9
addss xmm7, xmm13
subss xmm6, xmm0
addss xmm6, xmm8
call qword [0x1800bbb28]
movss xmm3, dword [0x1800bbae8]
movaps xmm1, xmm7
comiss xmm3, xmm7
movss xmm0, dword [rsp + 0x44]
addss xmm1, dword [rsp + 0x40]
addss xmm0, xmm6
jb 0x180095d2b
movss xmm2, dword [0x1800bbaec]
comiss xmm2, xmm6
jb 0x180095d2b
comiss xmm3, xmm1
ja 0x180095d2b
comiss xmm2, xmm0
ja 0x180095d2b
movups xmm0, xmmword [0x1800bbcf8]
jmp 0x180095d35
movups xmm0, xmmword [0x1800bbce8]
mov bl, r12b
mov rax, qword [0x1800bbb20]
lea r8, [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [0x1800b544c]
movaps xmm0, xmm7
mov edi, 4
unpcklps xmm0, xmm6
mov r9d, edi
movq rcx, xmm0
call rax
test bl, bl
je 0x180095ec2
cmp qword [0x1800bbb98], r12
jne 0x180095ec2
movss xmm11, dword [rsp + 0x40]
lea rcx, [rsp + 0x30]
movss xmm10, dword [rsp + 0x44]
addss xmm11, xmm7
mov rax, qword [0x1800bbb28]
addss xmm10, xmm6
mov rdx, qword [r15]
call rax
movdqa xmm0, xmmword [0x1800b53f0]
lea rbx, [0x1800bbb58]
movaps xmm6, xmm11
movss dword [rsp + 0x20], xmm13
unpcklps xmm6, xmm10
lea r9, [rsp + 0x30]
movss xmm9, dword [rax]
movq rdx, xmm6
movss xmm7, dword [rax + 4]
mov rcx, rbx
addss xmm9, dword [0x1800b477c]
addss xmm7, dword [0x1800b477c]
movdqa xmmword [rsp + 0x30], xmm0
movaps xmm8, xmm9
unpcklps xmm8, xmm7
movq r8, xmm8
call fcn.180098428
movups xmm0, xmmword [0x1800bb360]
mov r8, qword [r15]
lea r9, [rsp + 0x30]
movaps xmm2, xmm11
mov dword [rsp + 0x20], edi
addss xmm2, dword [0x1800b46c0]
movaps xmm1, xmm10
movdqa xmmword [rsp + 0x30], xmm0
addss xmm1, dword [0x1800b46c0]
mov rcx, rbx
unpcklps xmm2, xmm1
movq rdx, xmm2
call fcn.18009bc64
subss xmm9, dword [0x1800b46ec]
addss xmm11, dword [0x1800b4104]
subss xmm7, dword [0x1800b46ec]
addss xmm10, dword [0x1800b4104]
movdqa xmm0, xmmword [0x1800b5400]
lea r9, [rsp + 0x30]
mov rcx, rbx
movss dword [rsp + 0x20], xmm13
movdqa xmmword [rsp + 0x30], xmm0
unpcklps xmm9, xmm7
unpcklps xmm11, xmm10
movq r8, xmm9
movq rdx, xmm11
call fcn.18009aa30
movups xmm0, xmmword [0x1800bb350]
lea r9, [rsp + 0x30]
mov rcx, rbx
movq r8, xmm8
movss dword [rsp + 0x20], xmm13
movq rdx, xmm6
movdqa xmmword [rsp + 0x30], xmm0
call fcn.18009aa30
movss xmm0, dword [rsp + 0x4c]
subss xmm0, dword [0x1800b4104]
mov rax, qword [0x1800bbba8]
maxss xmm0, dword [0x1800b45b8]
addss xmm0, dword [rax + 0x14]
movss dword [rax + 0x14], xmm0
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm13, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret