Function at 0x14001e6e0
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 rbp, r8
mov r12, rdx
mov r14, rcx
mov r9, qword [rcx + 8]
mov r10, r9
test r9, r9
jne 0x14001e72f
mov edx, dword [rcx + 0x24]
call fcn.140022000
mov r9, qword [r14 + 8]
mov r10, r9
test r9, r9
je 0x14001ea4c
mov r8d, 0x811c9dc5
mov eax, dword [r12 + 8]
test eax, eax
je 0x14001e76a
mov rcx, qword [r12]
mov edx, eax
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [rcx]
xor rax, r8
imul r8, rax, 0x1000193
lea rcx, [rcx + 2]
sub rdx, 1
jne 0x14001e750
mov r10, r9
imul rax, r8, 0x2001
mov rcx, rax
shr rcx, 7
xor rcx, rax
lea rcx, [rcx + rcx*8]
mov rax, rcx
shr rax, 0x11
xor rcx, rax
imul rsi, rcx, 0x21
mov qword [rsp + 0x70], rsi
mov ecx, dword [r14 + 0x20]
mov edx, 1
shl rdx, cl
lea r13, [rdx - 1]
and r13, rsi
mov r15, qword [r10 + r13*8]
test r15, r15
je 0x14001e9b3
mov rdi, r15
xor ebx, ebx
nop word [rax + rax]
mov rdx, rdi
mov rcx, r12
call fcn.140027000
test al, al
je 0x14001e82b
mov rax, rdi
test rbx, rbx
cmovne rax, rbx
mov rbx, rax
mov rsi, qword [rdi + 0x10]
mov rbp, qword [rbp]
movzx eax, byte [rsi + 0x5e]
cmp byte [rbp + 0x5e], al
jne 0x14001e823
lea rdx, [rsi + 0x10]
lea rcx, [rbp + 0x10]
call fcn.140027000
test al, al
je 0x14001e823
lea rdx, [rsi + 0x40]
lea rcx, [rbp + 0x40]
call fcn.140027000
test al, al
je 0x14001e823
mov eax, dword [rsi + 0x60]
cmp dword [rbp + 0x60], eax
jne 0x14001e823
mov eax, dword [rsi + 0x64]
cmp dword [rbp + 0x64], eax
je 0x14001ea4c
mov rbp, qword [rsp + 0x80]
mov eax, dword [rdi + 0x18]
shr eax, 0x1f
test al, al
jne 0x14001e83b
mov rdi, qword [rdi + 0x28]
jmp 0x14001e7c0
mov ecx, dword [r14 + 0x20]
mov rax, qword [r14 + 0x28]
add rax, 1
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
movss xmm2, dword [0x14008c504]
jns 0x14001e85d
addss xmm1, xmm2
mov eax, 1
shl rax, cl
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
test rax, rax
jns 0x14001e876
addss xmm0, xmm2
mulss xmm0, dword [r14 + 0x30]
comiss xmm1, xmm0
jbe 0x14001e8f0
lea edx, [rcx + 1]
mov rcx, r14
call fcn.140022000
mov ecx, dword [r14 + 0x20]
mov r13d, 1
shl r13, cl
dec r13
mov rsi, qword [rsp + 0x70]
and r13, rsi
mov rax, qword [r14 + 8]
mov r15, qword [rax + r13*8]
test r15, r15
je 0x14001ea0b
test rbx, rbx
je 0x14001e8f5
mov rbx, r15
nop dword [rax]
test rbx, rbx
je 0x14001e8d4
mov rdx, rbx
mov rcx, r12
call fcn.140027000
test al, al
jne 0x14001e8f5
mov eax, dword [rbx + 0x18]
shr eax, 0x1f
xor ecx, ecx
test al, al
cmove rcx, rbx
mov rbx, rcx
test rcx, rcx
je 0x14001e8c0
mov rbx, qword [rcx + 0x28]
jmp 0x14001e8c0
mov rsi, qword [rsp + 0x70]
mov ecx, 0x30
call fcn.140027918
mov rdi, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14001e92f
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov rcx, rdi
call fcn.140026d40
jmp 0x14001e931
xor edi, edi
test rdi, rdi
je 0x14001ea4c
mov rdx, r12
mov rcx, rdi
call fcn.140026d90
mov rax, qword [rbp]
mov qword [rdi + 0x10], rax
mov rax, qword [r15 + 0x20]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], r15
btr esi, 0x1f
mov dword [rdi + 0x18], esi
test rbx, rbx
je 0x14001e987
cmp rbx, r15
je 0x14001e987
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 0x14001eaac
mov rax, qword [r14 + 8]
mov qword [rax + r13*8], rdi
cmp r15, qword [r14 + 0x10]
jne 0x14001e9a2
mov qword [r14 + 0x10], rdi
mov qword [r15 + 0x20], rdi
jmp 0x14001eaac
mov rax, qword [r15 + 0x20]
mov qword [rax + 0x28], rdi
mov qword [r15 + 0x20], rdi
jmp 0x14001eaac
mov rax, qword [r14 + 0x28]
add rax, 1
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
movss xmm2, dword [0x14008c504]
jns 0x14001e9d1
addss xmm1, xmm2
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
test rdx, rdx
jns 0x14001e9e2
addss xmm0, xmm2
mulss xmm0, dword [r14 + 0x30]
comiss xmm1, xmm0
jbe 0x14001ea0b
lea edx, [rcx + 1]
mov rcx, r14
call fcn.140022000
mov ecx, dword [r14 + 0x20]
mov r13d, 1
shl r13, cl
dec r13
and r13, rsi
mov ecx, 0x30
call fcn.140027918
mov rbx, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14001ea45
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], rax
mov rcx, rbx
call fcn.140026d40
jmp 0x14001ea47
xor ebx, ebx
test rbx, rbx
jne 0x14001ea50
xor al, al
jmp 0x14001eab2
mov rdx, r12
mov rcx, rbx
call fcn.140026d90
mov rax, qword [rbp]
mov qword [rbx + 0x10], rax
lea rax, [r14 + 0x10]
or rax, 2
mov qword [rbx + 0x20], rax
or dword [rbx + 0x18], 0x80000000
mov rax, qword [r14 + 0x10]
mov qword [rbx + 0x28], rax
bts esi, 0x1f
mov dword [rbx + 0x18], esi
mov rax, qword [r14 + 8]
mov qword [rax + r13*8], rbx
mov r8, qword [r14 + 0x10]
lea rax, [r14 + 0x18]
or rax, 1
cmp r8, rax
jne 0x14001eaa4
mov qword [r14 + 0x18], rbx
jmp 0x14001eaa8
mov qword [r8 + 0x20], rbx
mov qword [r14 + 0x10], rbx
inc qword [r14 + 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