Function at 0x180095940
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 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 0x180095f46
movss xmm8, dword [rax + 0x14]
lea rcx, [rsp + 0x48]
addss xmm8, dword [0x1800b56fc]
movss xmm9, dword [rax + 0x10]
movss xmm6, dword [0x1800b4fe8]
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 0x1800959fb
mov r10b, bl
test r11, r11
je 0x1800959fe
mov r10b, r12b
mov rdx, r12
cmp byte [rdi], r12b
je 0x180095a0f
add rdx, rbx
cmp byte [rdi + rdx], r12b
jne 0x180095a06
movabs rcx, 0xcbf29ce484222325
mov r9, r12
mov r8, rcx
movabs r13, 0x100000001b3
test rdx, rdx
je 0x180095a42
movsx rax, byte [rdi + r9]
add r9, rbx
imul r8, r13
xor r8, rax
cmp r9, rdx
jb 0x180095a2e
movss xmm3, dword [0x1800bcad8]
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 0x180095adb
movss xmm2, dword [0x1800bcadc]
comiss xmm2, xmm8
jb 0x180095adb
comiss xmm3, xmm0
ja 0x180095adb
comiss xmm2, xmm1
ja 0x180095adb
mov r14b, bl
test al, al
jne 0x180095ae2
test r10b, r10b
je 0x180095afa
cmp byte [0x1800bcae0], r12b
je 0x180095afa
cmp byte [0x1800bcae1], r12b
jne 0x180095afa
mov rdx, r12
cmp byte [rdi], r12b
je 0x180095ab6
add rdx, rbx
cmp byte [rdi + rdx], r12b
jne 0x180095aad
mov r8, r12
test rdx, rdx
je 0x180095ad2
movsx rax, byte [rdi + r8]
add r8, rbx
imul rcx, r13
xor rcx, rax
cmp r8, rdx
jb 0x180095abe
mov qword [0x1800bcb88], rcx
jmp 0x180095afa
mov r14b, r12b
test al, al
je 0x180095afa
cmp byte [0x1800bcae0], r12b
jne 0x180095afa
mov qword [0x1800bcb88], r12
cmp byte [rsi], r12b
sete al
mov byte [rsi], al
movaps xmm0, xmmword [0x1800b64d0]
lea r8, [rsp + 0x30]
movq qword [rsp + 0x30], xmm0
movaps xmm1, xmm9
psrldq xmm0, 8
xorps xmm3, xmm3
movq qword [rsp + 0x38], xmm0
movaps xmm0, xmm6
unpcklps xmm0, xmm6
unpcklps xmm1, xmm8
movq rdx, xmm0
movq rcx, xmm1
call qword [0x1800bcb08]
movsd xmm10, qword [rsp + 0x40]
unpcklps xmm9, xmm8
cmp byte [rsi], r12b
je 0x180095c33
movups xmm6, xmmword [0x1800bcc78]
lea r8, [rbp - 0x70]
mov edx, 0xffffffce
movss xmm1, dword [0x1800b64b0]
mov eax, edx
movss xmm4, dword [0x1800b510c]
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 [0x1800b4fec]
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 [0x1800bcb28]
movups xmm0, xmmword [0x1800bc350]
lea r8, [rsp + 0x30]
xorps xmm3, xmm3
movq rdx, xmm10
movq rcx, xmm9
movdqa xmmword [rsp + 0x30], xmm0
call qword [0x1800bcb00]
mov r10, qword [0x1800bcb10]
cmp byte [rsi], r12b
je 0x180095c6d
lea rax, [0x1800bc360]
jmp 0x180095c82
test r14b, r14b
lea rax, [0x1800bccb8]
lea rcx, [0x1800bccc8]
cmove rax, rcx
movss xmm0, dword [rsp + 0x4c]
lea r8, [rsp + 0x30]
addss xmm7, dword [0x1800b6104]
movss xmm9, dword [0x1800b5110]
xor r9d, r9d
movss xmm6, dword [0x1800b5784]
mov rdx, rdi
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 0x180095f1f
movss xmm0, dword [rsp + 0x4c]
lea rdx, [0x1800b651c]
addss xmm7, dword [rsp + 0x48]
movss xmm13, dword [0x1800b5688]
lea rcx, [rsp + 0x40]
mulss xmm0, xmm9
addss xmm7, xmm13
subss xmm6, xmm0
addss xmm6, xmm8
call qword [0x1800bcb18]
movss xmm2, dword [0x1800bcad8]
comiss xmm2, xmm7
jb 0x180095d59
movss xmm1, dword [0x1800bcadc]
comiss xmm1, xmm6
jb 0x180095d59
movss xmm0, dword [rsp + 0x40]
addss xmm0, xmm7
comiss xmm2, xmm0
ja 0x180095d59
movss xmm0, dword [rsp + 0x44]
addss xmm0, xmm6
comiss xmm1, xmm0
ja 0x180095d59
movups xmm0, xmmword [0x1800bcce8]
jmp 0x180095d63
movups xmm0, xmmword [0x1800bccd8]
mov bl, r12b
mov rax, qword [0x1800bcb10]
lea r8, [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [0x1800b651c]
movaps xmm0, xmm7
mov edi, 4
unpcklps xmm0, xmm6
mov r9d, edi
movq rcx, xmm0
call rax
test bl, bl
je 0x180095f1f
cmp qword [0x1800bcb88], r12
jne 0x180095f1f
movss xmm11, dword [rsp + 0x40]
lea rcx, [rsp + 0x30]
movss xmm10, dword [rsp + 0x44]
addss xmm11, xmm7
mov rax, qword [0x1800bcb18]
addss xmm10, xmm6
mov rdx, qword [r15]
call rax
movaps xmm1, xmmword [0x1800b64c0]
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 [0x1800b578c]
movq qword [rsp + 0x30], xmm1
movaps xmm8, xmm6
addss xmm8, dword [0x1800b578c]
psrldq xmm1, 8
movq qword [rsp + 0x38], xmm1
movaps xmm1, xmm11
movaps xmm0, xmm9
unpcklps xmm1, xmm10
movq rdx, xmm1
unpcklps xmm0, xmm8
movq r8, xmm0
call fcn.1800984a0
movups xmm0, xmmword [0x1800bc360]
mov r8, qword [r15]
lea r9, [rsp + 0x30]
movaps xmm2, xmm11
mov dword [rsp + 0x20], edi
addss xmm2, dword [0x1800b56d0]
movaps xmm1, xmm10
movdqa xmmword [rsp + 0x30], xmm0
addss xmm1, dword [0x1800b56d0]
mov rcx, rbx
unpcklps xmm2, xmm1
movq rdx, xmm2
call fcn.18009bd4c
addss xmm7, dword [0x1800b639c]
movaps xmm3, xmmword [0x1800b64d0]
lea r9, [rsp + 0x30]
addss xmm6, dword [0x1800b639c]
movaps xmm1, xmm11
movq qword [rsp + 0x30], xmm3
addss xmm1, dword [0x1800b5114]
movaps xmm2, xmm10
psrldq xmm3, 8
addss xmm2, dword [0x1800b5114]
unpcklps xmm7, xmm6
mov rcx, rbx
movq r8, xmm7
movss dword [rsp + 0x20], xmm13
movq qword [rsp + 0x38], xmm3
unpcklps xmm1, xmm2
movq rdx, xmm1
call fcn.18009ab20
movups xmm0, xmmword [0x1800bc350]
lea r9, [rsp + 0x30]
mov rcx, rbx
movaps xmm1, xmm11
movss dword [rsp + 0x20], xmm13
movdqa xmmword [rsp + 0x30], xmm0
movaps xmm0, xmm9
unpcklps xmm0, xmm8
unpcklps xmm1, xmm10
movq r8, xmm0
movq rdx, xmm1
call fcn.18009ab20
movss xmm0, dword [rsp + 0x4c]
subss xmm0, dword [0x1800b5114]
mov rax, qword [0x1800bcb98]
maxss xmm0, dword [0x1800b55c8]
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