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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r12, rdx
mov r14, rcx
call fcn.1400f8e80
mov r15, rax
xor r13d, r13d
mov qword [rsp + 0x90], r13
lea rdx, [rsp + 0x90]
mov rcx, r14
call fcn.1400f7e60
test al, al
je 0x1400f8ae6
cmp qword [rsp + 0x90], r13
jne 0x1400f8ae6
mov qword [r12], r15
mov al, 1
jmp 0x1400f8d4e
call fcn.1400f8db0
mov rbx, rax
mov rcx, rax
call fcn.14010e230
test eax, eax
jne 0x1400f8d7c
mov eax, dword [rbx + 0x4c]
cmp eax, 0x7fffffff
je 0x1400f8d87
mov rdi, qword [0x14018e700]
test rdi, rdi
je 0x1400f8ba3
mov r8, qword [r14 + 0x10]
mov rdx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x1400f8b2d
mov rdx, qword [r14]
movabs r9, 0xcbf29ce484222325
mov rcx, r13
test r8, r8
je 0x1400f8b63
movabs r10, 0x100000001b3
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x1400f8b50
mov r8, r14
lea rdx, [rsp + 0x28]
mov rcx, rdi
call fcn.1400f8420
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1400f8ba3
cmp rcx, qword [rdi + 8]
je 0x1400f8ba3
mov rax, qword [rcx + 0x30]
mov qword [r12], rax
cmp qword [rcx + 0x30], r15
setne dil
mov rcx, rbx
call fcn.14010e238
movzx eax, dil
jmp 0x1400f8d4e
mov rcx, rbx
call fcn.14010e238
mov ecx, 0x28
call fcn.14010e8d0
mov rbp, rax
mov qword [rsp + 0x98], rax
test rax, rax
je 0x1400f8be0
mov rdx, r14
mov rcx, rax
call fcn.140002520
nop
lea rcx, [rbp + 0x20]
mov rdx, rbp
call fcn.1400f9360
nop
jmp 0x1400f8be3
mov rbp, r13
mov rbx, rbp
mov qword [rsp + 0x98], rbx
call fcn.1400f8db0
mov rdi, rax
mov qword [rsp + 0x20], rax
mov rcx, rax
call fcn.14010e230
test eax, eax
jne 0x1400f8d97
mov eax, dword [rdi + 0x4c]
cmp eax, 0x7fffffff
je 0x1400f8d66
mov rsi, qword [0x14018e700]
test rsi, rsi
jne 0x1400f8c9a
lea ecx, [rsi + 0x40]
call fcn.14010e8d0
mov rsi, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x1400f8c90
mov dword [rax], r13d
mov qword [rax + 8], r13
mov qword [rax + 0x10], r13
mov ecx, 0x38
call fcn.14010e8d0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsi + 8], rax
lea rcx, [rsi + 0x18]
mov qword [rcx], r13
mov qword [rcx + 8], r13
mov qword [rcx + 0x10], r13
mov qword [rsi + 0x30], 7
mov qword [rsi + 0x38], 8
mov dword [rsi], 0x3f800000
mov r8, qword [rsi + 8]
mov edx, 0x10
call fcn.1400f8f60
nop
jmp 0x1400f8c93
mov rsi, r13
mov qword [0x14018e700], rsi
mov r8, r14
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.1400f8590
mov rcx, qword [rax]
mov rax, qword [rcx + 0x30]
test rax, rax
jne 0x1400f8ccb
cmp qword [rbp + 0x20], rax
je 0x1400f8cc4
mov rbx, r13
mov rax, rbp
jmp 0x1400f8cc7
mov rax, r15
mov qword [rcx + 0x30], rax
mov qword [r12], rax
cmp qword [rcx + 0x30], r15
setne sil
mov rcx, rdi
call fcn.14010e238
nop
test rbx, rbx
je 0x1400f8d4a
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x1400f8cf8
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x1400f8d2e
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x1400f8d29
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400f8d76
mov rcx, r8
call fcn.14010e90c
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov edx, 0x28
mov rcx, rbx
call fcn.14010e90c
movzx eax, sil
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
dec eax
mov dword [rdi + 0x4c], eax
mov ecx, 6
call fcn.14010e4ac
nop
call fcn.140115aac
int3
mov ecx, 5
call fcn.14010e4ac
int3
dec eax
mov dword [rbx + 0x4c], eax
mov ecx, 6
call fcn.14010e4ac
nop
mov ecx, 5
call fcn.14010e4ac
int3