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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
movss xmm0, dword [0x18009ab18]
mov rdi, rdx
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
mov qword [rbp + 0x6f], r9
movss xmm13, dword [rbp + 0x6f]
comiss xmm13, xmm0
mov qword [rsp + 0x20], r8
movaps xmmword [rsp + 0x70], xmm14
movss xmm14, dword [rbp + 0x73]
jbe 0x18007cb28
movaps xmm13, xmm0
movss xmm0, dword [0x18009ab1c]
comiss xmm14, xmm0
jbe 0x18007cb3a
movaps xmm14, xmm0
xor r14d, r14d
mov ecx, r14d
cmp byte [rdx], r14b
je 0x18007cb4e
inc rcx
cmp byte [rdx + rcx], r14b
jne 0x18007cb45
movabs rsi, 0xcbf29ce484222325
mov r8, r14
mov rdx, rsi
movabs r12, 0x100000001b3
test rcx, rcx
je 0x18007cb81
movsx rax, byte [rdi + r8]
inc r8
imul rdx, r12
xor rdx, rax
cmp r8, rcx
jb 0x18007cb6d
mov rax, qword [0x18009ab40]
mov rcx, qword [0x18009ab48]
movss xmm7, dword [rsp + 0x24]
movss xmm6, dword [rsp + 0x20]
movss xmm8, dword [0x180095bf4]
movss xmm9, dword [0x1800961e8]
jmp 0x18007cbbc
mov rbx, qword [rax]
cmp qword [rbx + 0x38], rdx
je 0x18007cbc3
add rax, 8
cmp rax, rcx
jne 0x18007cbaf
jmp 0x18007cbcc
test rbx, rbx
jne 0x18007ccc8
mov ecx, 0x60
call fcn.18003ee28
mov rbx, rax
test rax, rax
je 0x18007cc11
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 0x60]
call fcn.18003f930
mov qword [rbx], r14
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r14
mov qword [rbx + 0x20], r14
mov dword [rbx + 0x28], r14d
mov qword [rbx + 0x48], r14
mov qword [rbx + 0x50], r14
mov qword [rbx + 0x58], r14
jmp 0x18007cc14
mov rbx, r14
mov rcx, r14
mov qword [rbp + 0x6f], rbx
cmp byte [rdi], r14b
je 0x18007cc29
inc rcx
cmp byte [rdi + rcx], r14b
jne 0x18007cc20
mov rdx, r14
test rcx, rcx
je 0x18007cc45
movsx rax, byte [rdi + rdx]
inc rdx
imul rsi, r12
xor rsi, rax
cmp rdx, rcx
jb 0x18007cc31
mov qword [rbx + 0x38], rsi
movaps xmm0, xmm6
mov dword [rbx + 0x20], r14d
movaps xmm1, xmm7
mov qword [rbx + 0x30], rdi
addss xmm0, dword [0x18009ab10]
addss xmm1, dword [0x18009ab14]
unpcklps xmm0, xmm1
movsd qword [rbx], xmm0
movss dword [rbx + 8], xmm13
movss dword [rbx + 0xc], xmm14
movss xmm1, dword [rbx]
movss xmm0, dword [rbx + 4]
addss xmm1, xmm8
addss xmm0, xmm9
movss dword [rbx + 0x10], xmm1
movss dword [rbx + 0x14], xmm0
mov rdx, qword [0x18009ab48]
cmp rdx, qword [0x18009ab50]
je 0x18007ccb4
mov qword [rdx], rbx
add qword [0x18009ab48], 8
jmp 0x18007ccc8
lea r8, [rbp + 0x6f]
lea rcx, [0x18009ab40]
call fcn.180016ed0
mov rbx, qword [rbp + 0x6f]
addss xmm6, dword [0x18009ab10]
addss xmm7, dword [0x18009ab14]
unpcklps xmm6, xmm7
movsd qword [rbx], xmm6
movss dword [rbx + 8], xmm13
movss dword [rbx + 0xc], xmm14
movss xmm1, dword [rbx]
movss xmm0, dword [rbx + 4]
addss xmm1, xmm8
addss xmm0, xmm9
movss dword [rbx + 0x10], xmm1
movss dword [rbx + 0x14], xmm0
movss xmm0, dword [rbx + 4]
addss xmm0, dword [rbx + 0xc]
movss xmm1, dword [rbx + 0x1c]
comiss xmm1, xmm0
jbe 0x18007cd53
cvttss2si eax, dword [rbx + 4]
movss xmm2, dword [rbx + 0x14]
cvttss2si ecx, xmm1
sub ecx, eax
cvttss2si eax, dword [rbx + 0xc]
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rbx + 0x20]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm2, xmm1
movss dword [rbx + 0x14], xmm2
movaps xmm0, xmmword [0x180096260]
lea r8, [rsp + 0x30]
movss xmm3, dword [rbx]
movaps xmm1, xmm0
movss xmm12, dword [0x180094ca4]
movaps xmm6, xmm13
subss xmm6, dword [0x180095284]
movss xmm2, dword [rbx + 4]
addss xmm3, xmm12
movss xmm10, dword [0x18009528c]
addss xmm2, xmm12
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rbp - 0x79], xmm0
movaps xmm0, xmmword [0x180096250]
movaps xmmword [rbp - 0x69], xmm0
movaps xmm1, xmm0
movaps xmmword [rbp - 0x59], xmm0
movaps xmm0, xmm6
unpcklps xmm0, xmm10
unpcklps xmm3, xmm2
movq rdx, xmm0
movq rcx, xmm3
call qword [0x18009aac8]
movss xmm2, dword [rbx]
lea r8, [rsp + 0x20]
addss xmm2, dword [0x180095d5c]
movaps xmm0, xmmword [0x180096340]
xor r9d, r9d
movss xmm1, dword [rbx + 4]
mov rdx, rdi
addss xmm1, dword [0x180095320]
movq qword [rsp + 0x20], xmm0
psrldq xmm0, 8
movq qword [rsp + 0x28], xmm0
unpcklps xmm2, xmm1
movq rcx, xmm2
call qword [0x18009aab0]
movaps xmm0, xmmword [0x180096250]
lea r8, [rsp + 0x20]
movss xmm1, dword [rbx]
movaps xmm4, xmm14
movss xmm2, dword [rbx + 4]
addss xmm1, xmm12
subss xmm4, dword [0x180095e14]
movq qword [rsp + 0x20], xmm0
addss xmm2, xmm10
psrldq xmm0, 8
xorps xmm3, xmm3
movq qword [rsp + 0x28], xmm0
movaps xmm0, xmm6
unpcklps xmm0, xmm4
unpcklps xmm1, xmm2
movq rdx, xmm0
movq rcx, xmm1
call qword [0x18009aaa8]
movss xmm9, dword [0x180095260]
movaps xmm5, xmm13
movss xmm0, dword [0x18009a310]
movss xmm8, dword [0x180094c9c]
mulss xmm5, dword [0x180094ca0]
movss xmm2, dword [rbx + 4]
mulss xmm0, xmm9
addss xmm2, xmm10
movaps xmm3, xmm5
addss xmm3, dword [rbx]
cvttss2si eax, xmm0
movss xmm0, dword [0x18009a314]
mulss xmm0, xmm9
movd xmm7, eax
cvttss2si eax, xmm0
movss xmm0, dword [0x18009a318]
mulss xmm0, xmm9
cvtdq2ps xmm7, xmm7
movd xmm6, eax
cvttss2si eax, xmm0
cvtdq2ps xmm6, xmm6
movd xmm4, eax
cvtdq2ps xmm4, xmm4
mulss xmm7, xmm8
mulss xmm4, xmm8
mulss xmm6, xmm8
movaps xmm0, xmmword [0x180096280]
lea r8, [rsp + 0x30]
and dword [rbp - 0x7d], r14d
movaps xmm1, xmm0
and dword [rbp - 0x4d], r14d
movaps xmmword [rbp - 0x79], xmm0
movaps xmmword [rbp - 0x69], xmm0
movaps xmm0, xmm5
unpcklps xmm0, xmm12
unpcklps xmm3, xmm2
movq rdx, xmm0
movq rcx, xmm3
movss dword [rsp + 0x30], xmm7
movss dword [rsp + 0x34], xmm6
movss dword [rsp + 0x38], xmm4
movss dword [rbp - 0x59], xmm7
movss dword [rbp - 0x55], xmm6
movss dword [rbp - 0x51], xmm4
call qword [0x18009aac8]
movss xmm0, dword [0x18009a310]
lea r8, [rsp + 0x30]
movss xmm3, dword [rbx + 4]
and dword [rbp - 0x6d], r14d
addss xmm3, xmm10
and dword [rbp - 0x5d], r14d
mulss xmm0, xmm9
cvttss2si eax, xmm0
movss xmm0, dword [0x18009a314]
mulss xmm0, xmm9
movd xmm4, eax
cvttss2si eax, xmm0
movss xmm0, dword [0x18009a318]
mulss xmm0, xmm9
cvtdq2ps xmm4, xmm4
movd xmm2, eax
cvtdq2ps xmm2, xmm2
cvttss2si eax, xmm0
movaps xmm0, xmmword [0x180096280]
mulss xmm2, xmm8
mulss xmm4, xmm8
movss dword [rbp - 0x75], xmm2
movss dword [rbp - 0x65], xmm2
movss xmm2, dword [rbx]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
unpcklps xmm2, xmm3
mulss xmm1, xmm8
movq rcx, xmm2
movss dword [rbp - 0x79], xmm4
movss dword [rbp - 0x69], xmm4
movss dword [rbp - 0x71], xmm1
movss dword [rbp - 0x61], xmm1
movaps xmm1, xmm13
unpcklps xmm1, xmm12
movq rdx, xmm1
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rbp - 0x59], xmm0
call qword [0x18009aac8]
movaps xmm0, xmmword [0x180096300]
lea r8, [rsp + 0x20]
movss xmm3, dword [0x180095218]
mov rcx, qword [rbx]
movq qword [rsp + 0x20], xmm0
psrldq xmm0, 8
movq qword [rsp + 0x28], xmm0
movaps xmm0, xmm13
unpcklps xmm0, xmm14
movq rdx, xmm0
call qword [0x18009aaa0]
movss xmm2, dword [rbx + 4]
mov r8b, 1
movss xmm0, dword [rbx]
movaps xmm1, xmm2
addss xmm1, dword [rbx + 0xc]
addss xmm0, dword [rbx + 8]
addss xmm2, dword [0x180095e14]
subss xmm1, xmm12
addss xmm0, dword [0x1800961cc]
unpcklps xmm0, xmm1
movss xmm1, dword [rbx]
movq rdx, xmm0
unpcklps xmm1, xmm2
movq rcx, xmm1
call qword [0x18009aad0]
lea r11, [rsp + 0xf0]
mov qword [0x18009ab38], rbx
movaps xmm6, xmmword [r11 - 0x10]
mov rax, rbx
mov rbx, qword [r11 + 0x30]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm12, xmmword [r11 - 0x60]
movaps xmm13, xmmword [r11 - 0x70]
movaps xmm14, xmmword [r11 - 0x80]
mov rsp, r11
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret