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

Disassembly:
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x78], rbx
mov r12, r8
mov r14, rdx
mov rsi, rcx
mov r10, qword [rcx + 8]
test r10, r10
jne 0x14000ff0c
mov edx, dword [rcx + 0x24]
call fcn.14000ed00
mov r10, qword [rsi + 8]
test r10, r10
jne 0x14000ff0c
xor al, al
jmp 0x140010244
mov ecx, 0x811c9dc5
xor r11d, r11d
mov r8d, r11d
mov r9d, dword [r14 + 8]
test r9d, r9d
je 0x14000ff49
mov rdx, qword [r14]
nop word [rax + rax]
movzx eax, word [rdx]
xor rcx, rax
imul rcx, rcx, 0x1000193
inc r8d
add rdx, 2
cmp r8d, r9d
jb 0x14000ff30
imul rcx, rcx, 0x2001
mov rax, rcx
shr rax, 7
xor rax, rcx
lea rbp, [rax + rax*8]
mov rax, rbp
shr rax, 0x11
xor rbp, rax
imul rbp, rbp, 0x21
mov qword [rsp + 0x70], rbp
mov ecx, dword [rsi + 0x20]
mov edx, 1
shl rdx, cl
lea r15, [rdx - 1]
and r15, rbp
mov r13, qword [r10 + r15*8]
test r13, r13
je 0x140010155
mov rdi, r13
mov rbx, r11
nop word [rax + rax]
mov rdx, rdi
mov rcx, r14
call fcn.140013e90
test al, al
je 0x14000ffee
test rbx, rbx
cmove rbx, rdi
mov rbp, qword [rdi + 0x10]
mov r12, qword [r12]
lea rdx, [rbp + 0x10]
lea rcx, [r12 + 0x10]
call fcn.140013e90
test al, al
je 0x14000ffe6
lea rdx, [rbp + 0x40]
lea rcx, [r12 + 0x40]
call fcn.140013e90
test al, al
jne 0x14000ff05
mov r12, qword [rsp + 0x80]
mov eax, dword [rdi + 0x18]
shr eax, 0x1f
test al, 1
jne 0x14000fffe
mov rdi, qword [rdi + 0x28]
jmp 0x14000ffa0
mov ecx, dword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
inc rax
pxor xmm1, xmm1
cvtsi2ss xmm1, rax
movss xmm2, dword [0x14002be8c]
jns 0x14001001f
addss xmm1, xmm2
mov eax, 1
shl rax, cl
pxor xmm0, xmm0
cvtsi2ss xmm0, rax
test rax, rax
jns 0x140010039
addss xmm0, xmm2
mulss xmm0, dword [rsi + 0x30]
comiss xmm1, xmm0
jbe 0x1400100b1
lea edx, [rcx + 1]
mov rcx, rsi
call fcn.14000ed00
mov ecx, dword [rsi + 0x20]
mov r15d, 1
shl r15, cl
dec r15
mov rbp, qword [rsp + 0x70]
and r15, rbp
mov rax, qword [rsi + 8]
mov r13, qword [rax + r15*8]
test r13, r13
je 0x1400101ac
test rbx, rbx
je 0x1400100b6
mov rbx, r13
mov rdx, r13
mov rcx, r14
call fcn.140013e90
test al, al
jne 0x1400100b6
xor edi, edi
nop
mov eax, dword [rbx + 0x18]
shr eax, 0x1f
test al, 1
cmovne rbx, rdi
mov rbx, qword [rbx + 0x28]
mov rdx, rbx
mov rcx, r14
call fcn.140013e90
test al, al
je 0x140010090
jmp 0x1400100b6
mov rbp, qword [rsp + 0x70]
mov ecx, 0x30
call fcn.140018018
mov rdi, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1400100d7
mov rcx, rax
call fcn.140013dd0
jmp 0x1400100da
mov rdi, rax
test rdi, rdi
je 0x14000ff05
mov rdx, r14
mov rcx, rdi
call fcn.140014030
mov r11, qword [r12]
mov qword [rdi + 0x10], r11
mov rax, qword [r13 + 0x20]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], r13
btr ebp, 0x1f
mov dword [rdi + 0x18], ebp
test rbx, rbx
je 0x140010130
cmp rbx, r13
je 0x140010130
mov rax, qword [rbx + 0x20]
mov qword [rax + 0x28], rdi
mov rax, qword [rbx + 0x20]
mov qword [rdi + 0x20], rax
mov qword [rbx + 0x20], rdi
mov qword [rdi + 0x28], rbx
jmp 0x14001023e
mov rax, qword [rsi + 8]
mov qword [rax + r15*8], rdi
cmp r13, qword [rsi + 0x10]
jne 0x140010144
mov qword [rsi + 0x10], rdi
jmp 0x14001014c
mov rax, qword [r13 + 0x20]
mov qword [rax + 0x28], rdi
mov qword [r13 + 0x20], rdi
jmp 0x14001023e
mov rax, qword [rsi + 0x28]
inc rax
pxor xmm1, xmm1
cvtsi2ss xmm1, rax
movss xmm2, dword [0x14002be8c]
jns 0x140010173
addss xmm1, xmm2
pxor xmm0, xmm0
cvtsi2ss xmm0, rdx
test rdx, rdx
jns 0x140010185
addss xmm0, xmm2
mulss xmm0, dword [rsi + 0x30]
comiss xmm1, xmm0
jbe 0x1400101ac
lea edx, [rcx + 1]
mov rcx, rsi
call fcn.14000ed00
mov ecx, dword [rsi + 0x20]
mov r15d, 1
shl r15, cl
dec r15
and r15, rbp
mov ecx, 0x30
call fcn.140018018
mov rbx, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1400101cd
mov rcx, rax
call fcn.140013dd0
jmp 0x1400101d0
mov rbx, rax
test rbx, rbx
je 0x14000ff05
mov rdx, r14
mov rcx, rbx
call fcn.140014030
mov r11, qword [r12]
mov qword [rbx + 0x10], r11
lea rax, [rsi + 0x10]
or rax, 2
mov qword [rbx + 0x20], rax
or dword [rbx + 0x18], 0x80000000
mov ecx, dword [rbx + 0x18]
mov rax, qword [rsi + 0x10]
mov qword [rbx + 0x28], rax
mov eax, ecx
xor eax, ebp
btr eax, 0x1f
xor eax, ecx
mov dword [rbx + 0x18], eax
mov rax, qword [rsi + 8]
mov qword [rax + r15*8], rbx
mov r8, qword [rsi + 0x10]
lea rax, [rsi + 0x18]
or rax, 1
cmp r8, rax
jne 0x140010236
mov qword [rsi + 0x18], rbx
jmp 0x14001023a
mov qword [r8 + 0x20], rbx
mov qword [rsi + 0x10], rbx
inc qword [rsi + 0x28]
mov al, 1
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret