Function at 0x180095884
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 - 0x78]
sub rsp, 0x150
movaps xmmword [rax - 0x38], xmm6
xor r12d, r12d
movaps xmmword [rax - 0x48], xmm7
mov r15, r9
movaps xmmword [rax - 0x58], xmm8
mov rsi, r8
movaps xmmword [rax - 0x68], xmm9
mov rdi, rdx
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm13
mov rax, qword [0x1800bcb98]
test rax, rax
je 0x180095e8f
movss xmm7, dword [rax + 0x14]
lea rcx, [rsp + 0x48]
addss xmm7, dword [0x1800b56cc]
movss xmm10, dword [rax + 0x10]
movss xmm6, dword [0x1800b4ff0]
mov dword [rsp + 0x40], 0x41200000
mov dword [rsp + 0x44], 0x41200000
call qword [0x1800bcb18]
cmp qword [0x1800bcb90], r12
lea ebx, [r12 + 1]
mov r11, qword [0x1800bcb88]
jne 0x18009593d
mov r10b, bl
test r11, r11
je 0x180095940
mov r10b, r12b
mov rdx, r12
cmp byte [rdi], r12b
je 0x180095951
add rdx, rbx
cmp byte [rdx + rdi], r12b
jne 0x180095948
movabs rcx, 0xcbf29ce484222325
mov r9, r12
mov r8, rcx
movabs r13, 0x100000001b3
test rdx, rdx
je 0x180095984
movsx rax, byte [r9 + rdi]
add r9, rbx
imul r8, r13
xor r8, rax
cmp r9, rdx
jb 0x180095970
movss xmm3, dword [0x1800bcad8]
cmp r11, r8
movaps xmm0, xmm10
movaps xmm1, xmm7
addss xmm0, xmm6
sete al
comiss xmm3, xmm10
addss xmm0, dword [rsp + 0x48]
addss xmm1, xmm6
jb 0x180095a18
movss xmm2, dword [0x1800bcadc]
comiss xmm2, xmm7
jb 0x180095a18
comiss xmm3, xmm0
ja 0x180095a18
comiss xmm2, xmm1
ja 0x180095a18
mov r14b, bl
test al, al
jne 0x180095a1f
test r10b, r10b
je 0x180095a37
cmp byte [0x1800bcae0], r12b
je 0x180095a37
cmp byte [0x1800bcae1], r12b
jne 0x180095a37
mov rdx, r12
cmp byte [rdi], r12b
je 0x1800959f3
add rdx, rbx
cmp byte [rdx + rdi], r12b
jne 0x1800959ea
mov r8, r12
test rdx, rdx
je 0x180095a0f
movsx rax, byte [r8 + rdi]
add r8, rbx
imul rcx, r13
xor rcx, rax
cmp r8, rdx
jb 0x1800959fb
mov qword [0x1800bcb88], rcx
jmp 0x180095a37
mov r14b, r12b
test al, al
je 0x180095a37
cmp byte [0x1800bcae0], r12b
jne 0x180095a37
mov qword [0x1800bcb88], r12
cmp byte [rsi], r12b
sete al
mov byte [rsi], al
movaps xmm0, xmmword [0x1800b64a0]
lea r8, [rsp + 0x30]
movq qword [rsp + 0x30], xmm0
movaps xmm1, xmm10
psrldq xmm0, 8
xorps xmm3, xmm3
movq qword [rsp + 0x38], xmm0
movaps xmm0, xmm6
unpcklps xmm0, xmm6
unpcklps xmm1, xmm7
movq rdx, xmm0
movq rcx, xmm1
call qword [0x1800bcb08]
movaps xmm8, xmm10
movsd xmm9, qword [rsp + 0x40]
unpcklps xmm8, xmm7
cmp byte [rsi], r12b
je 0x180095b6e
movups xmm6, xmmword [0x1800bcc78]
lea r8, [rbp - 0x60]
mov edx, 0xffffffce
movss xmm1, dword [0x1800b6488]
mov eax, edx
movss xmm4, dword [0x1800b50dc]
movaps xmm0, xmm6
mulss xmm0, xmm1
movaps xmmword [rbp - 0x60], xmm6
movaps xmmword [rbp - 0x50], 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, xmm8
cvttss2si eax, xmm0
mulss xmm5, xmm4
movaps xmm0, xmm6
sub edx, eax
shufps xmm0, xmm6, 0xff
mulss xmm0, dword [0x1800b4ff4]
movd xmm2, edx
movq rdx, xmm9
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 [rbp - 0x80], xmm5
movss dword [rbp - 0x7c], xmm3
movss dword [rbp - 0x74], xmm1
movss dword [rbp - 0x64], xmm1
movss dword [rbp - 0x78], xmm2
movups xmm0, xmmword [rbp - 0x80]
movss dword [rbp - 0x70], xmm5
movss dword [rbp - 0x6c], xmm3
movss dword [rbp - 0x68], xmm2
movups xmm1, xmmword [rbp - 0x70]
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x30], xmm1
call qword [0x1800bcb28]
movups xmm0, xmmword [0x1800bc350]
lea r8, [rsp + 0x30]
xorps xmm3, xmm3
movq rdx, xmm9
movq rcx, xmm8
movdqa xmmword [rsp + 0x30], xmm0
call qword [0x1800bcb00]
mov r10, qword [0x1800bcb10]
cmp byte [rsi], r12b
je 0x180095ba8
lea rax, [0x1800bc360]
jmp 0x180095bbd
test r14b, r14b
lea rax, [0x1800bccb8]
lea rcx, [0x1800bccc8]
cmove rax, rcx
movss xmm0, dword [rsp + 0x4c]
lea r8, [rsp + 0x30]
addss xmm10, dword [0x1800b67f0]
movss xmm6, dword [0x1800b50e0]
xor r9d, r9d
movss xmm11, dword [0x1800b5754]
mov rdx, rdi
mulss xmm0, xmm6
movaps xmm1, xmm11
subss xmm1, xmm0
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x30], xmm0
addss xmm1, xmm7
movaps xmm0, xmm10
unpcklps xmm0, xmm1
movq rcx, xmm0
call r10
cmp byte [r15 + 8], r12b
je 0x180095e68
movss xmm0, dword [rsp + 0x4c]
lea rdx, [0x1800b64ec]
addss xmm10, dword [rsp + 0x48]
movss xmm13, dword [0x1800b5658]
lea rcx, [rsp + 0x40]
mulss xmm0, xmm6
addss xmm10, xmm13
subss xmm11, xmm0
movss dword [rsp + 0x30], xmm10
addss xmm11, xmm7
movss dword [rsp + 0x34], xmm11
call qword [0x1800bcb18]
movss xmm2, dword [0x1800bcad8]
comiss xmm2, xmm10
jb 0x180095c9f
movss xmm1, dword [0x1800bcadc]
comiss xmm1, xmm11
jb 0x180095c9f
movss xmm0, dword [rsp + 0x40]
addss xmm0, xmm10
comiss xmm2, xmm0
ja 0x180095c9f
movss xmm0, dword [rsp + 0x44]
addss xmm0, xmm11
comiss xmm1, xmm0
jbe 0x180095ca2
mov bl, r12b
lea rcx, [0x1800bccd8]
test bl, bl
lea rax, [0x1800bcce8]
mov edi, 4
cmove rax, rcx
lea r8, [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
lea rdx, [0x1800b64ec]
mov r9d, edi
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x50], xmm0
call qword [0x1800bcb10]
test bl, bl
je 0x180095e68
cmp qword [0x1800bcb88], r12
jne 0x180095e68
mov rax, qword [0x1800bcb18]
lea rcx, [rsp + 0x30]
mov rdx, qword [r15]
addss xmm10, dword [rsp + 0x40]
addss xmm11, dword [rsp + 0x44]
call rax
movaps xmm1, xmmword [0x1800b6490]
lea rbx, [0x1800bcb48]
lea r9, [rsp + 0x30]
movss dword [rsp + 0x20], xmm13
mov rcx, rbx
movss xmm7, dword [rax]
movss xmm6, dword [rax + 4]
movaps xmm9, xmm7
addss xmm9, dword [0x1800b575c]
movq qword [rsp + 0x30], xmm1
movaps xmm8, xmm6
addss xmm8, dword [0x1800b575c]
psrldq xmm1, 8
movq qword [rsp + 0x38], xmm1
movaps xmm1, xmm10
movaps xmm0, xmm9
unpcklps xmm1, xmm11
movq rdx, xmm1
unpcklps xmm0, xmm8
movq r8, xmm0
call fcn.180098414
movups xmm0, xmmword [0x1800bc360]
mov r8, qword [r15]
lea r9, [rsp + 0x50]
movaps xmm2, xmm10
mov dword [rsp + 0x20], edi
addss xmm2, dword [0x1800b56a0]
movdqa xmmword [rsp + 0x50], xmm0
movaps xmm1, xmm11
addss xmm1, dword [0x1800b56a0]
mov rcx, rbx
movaps xmm0, xmm2
unpcklps xmm0, xmm1
movq rdx, xmm0
call fcn.18009bd28
movaps xmm3, xmmword [0x1800b64a0]
lea r9, [rsp + 0x30]
addss xmm7, dword [0x1800b636c]
addss xmm6, dword [0x1800b636c]
movaps xmm1, xmm10
movq qword [rsp + 0x30], xmm3
addss xmm1, dword [0x1800b4fe0]
movaps xmm2, xmm11
psrldq xmm3, 8
addss xmm2, dword [0x1800b4fe0]
movaps xmm0, xmm7
movss dword [rsp + 0x20], xmm13
unpcklps xmm0, xmm6
mov rcx, rbx
movq r8, xmm0
movq qword [rsp + 0x38], xmm3
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.18009aad4
movups xmm0, xmmword [0x1800bc350]
lea r9, [rsp + 0x50]
mov rcx, rbx
movaps xmm1, xmm10
movss dword [rsp + 0x20], xmm13
movdqa xmmword [rsp + 0x50], xmm0
movaps xmm0, xmm9
unpcklps xmm0, xmm8
unpcklps xmm1, xmm11
movq r8, xmm0
movq rdx, xmm1
call fcn.18009aad4
movss xmm0, dword [rsp + 0x4c]
subss xmm0, dword [0x1800b4fe0]
mov rax, qword [0x1800bcb98]
maxss xmm0, dword [0x1800b5598]
addss xmm0, dword [rax + 0x14]
movss dword [rax + 0x14], xmm0
lea r11, [rsp + 0x150]
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