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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf70]
mov eax, 0x1070
call fcn.14026d3b0
sub rsp, rax
mov rax, qword [0x140332240]
xor rax, rsp
mov qword [rbp + 0xf68], rax
mov r13, r8
mov rsi, rdx
mov rdi, rcx
mov qword [rbp + 0xf60], 0
mov r8, rdx
lea rdx, [rbp + 0xf60]
call fcn.1401c89c0
movabs rbx, 0x6666666666666667
mov rcx, qword [rbp + 0xf60]
cmp rcx, qword [rdi + 8]
je 0x1401c8b81
sub rcx, qword [rdi]
mov rax, rbx
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rdi + 0x18]
lea rax, [rax + rdx*8]
jmp 0x1401c8b85
mov rax, qword [rdi + 0x20]
cmp rax, qword [rdi + 0x20]
jne 0x1401c8e06
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm1
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1401c8bad
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
lea rcx, [rsp + 0x38]
call fcn.140016990
mov r9, qword [rsi + 0x10]
mov r8, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x1401c8bcc
mov r8, qword [rsi]
mov edx, 0xcbf29ce4
xor ecx, ecx
test r9, r9
je 0x1401c8bf7
nop dword [rax + rax]
movsx rax, byte [r8 + rcx]
xor rax, rdx
imul rdx, rax, 0x1000193
inc rcx
cmp rcx, r9
jb 0x1401c8be0
mov qword [rsp + 0x58], rdx
mov rax, qword [rdi + 8]
cmp rax, qword [rdi + 0x10]
je 0x1401c8c35
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [rax + 0x10], xmm1
movdqa xmm0, xmmword [0x1402f3460]
movdqu xmmword [rsp + 0x48], xmm0
mov byte [rsp + 0x38], 0
mov qword [rax + 0x20], rdx
add qword [rdi + 8], 0x28
jmp 0x1401c8c46
lea r8, [rsp + 0x38]
mov rdx, rax
mov rcx, rdi
call fcn.1401cb690
nop
lea rcx, [rsp + 0x38]
call fcn.140016e20
mov r12, qword [rdi + 8]
mov r15, qword [rdi]
mov rcx, r12
sub rcx, r15
mov rax, rbx
imul rcx
mov r14, rdx
sar r14, 4
mov rax, r14
shr rax, 0x3f
add r14, rax
cmp r14, 0x20
jg 0x1401c8c8a
mov rdx, r12
mov rcx, r15
call fcn.1401cb1b0
jmp 0x1401c8d4d
mov rax, r14
cqo
sub rax, rdx
sar rax, 1
mov rbx, r14
sub rbx, rax
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmovl rax, rbx
cmp rbx, 0x66
jbe 0x1401c8d05
mov rbx, rax
movabs rcx, 0x666666666666666
cmp rax, rcx
ja 0x1401c8cf5
test rax, rax
jle 0x1401c8cf5
nop dword [rax]
lea rcx, [rbx + rbx*4]
shl rcx, 3
lea rdx, [0x1402d643c]
call fcn.14026d310
mov r9, rax
test rax, rax
jne 0x1401c8db7
shr rbx, 1
jne 0x1401c8cd0
xor r9d, r9d
mov rcx, r9
call fcn.14026cc54
mov ebx, 0x66
lea r9, [rsp + 0x70]
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x68], rbx
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], rbx
mov r8, r14
mov rdx, r12
mov rcx, r15
call fcn.1401cb310
nop
cmp qword [rsp + 0x68], 0x66
jbe 0x1401c8d43
mov rcx, qword [rsp + 0x60]
call fcn.14026cc54
movabs rbx, 0x6666666666666667
mov qword [rbp + 0xf60], 0
mov r8, rsi
lea rdx, [rbp + 0xf60]
mov rcx, rdi
call fcn.1401c89c0
mov rcx, qword [rbp + 0xf60]
cmp rcx, qword [rdi + 8]
je 0x1401c8e06
sub rcx, qword [rdi]
mov rax, rbx
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rdi + 0x18]
lea r9, [rax + rdx*8]
mov rcx, qword [rdi + 0x20]
cmp rcx, qword [rdi + 0x28]
je 0x1401c8df7
mov r8, qword [r13]
cmp r9, rcx
jne 0x1401c8dcb
mov qword [rcx], r8
add qword [rdi + 0x20], 8
jmp 0x1401c8e06
cmp rbx, 0x66
jbe 0x1401c8cf8
mov qword [rsp + 0x60], rax
jmp 0x1401c8d0f
lea rdx, [rcx - 8]
mov rax, qword [rdx]
mov qword [rcx], rax
add qword [rdi + 0x20], 8
cmp rdx, r9
je 0x1401c8df2
nop
mov rcx, rdx
sub rdx, 8
mov rax, qword [rdx]
mov qword [rcx], rax
cmp rdx, r9
jne 0x1401c8de0
mov qword [r9], r8
jmp 0x1401c8e06
mov r8, r13
mov rdx, r9
lea rcx, [rdi + 0x18]
call fcn.1401c4ff0
mov rcx, qword [rbp + 0xf68]
xor rcx, rsp
call fcn.14026cac0
mov rbx, qword [rsp + 0x10c0]
add rsp, 0x1070
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret