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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov r15, rcx
mov rbx, r8
mov ecx, 0x50
mov r14, rdx
call fcn.1400ce7d0
mov rdx, rbx
mov rsi, rax
lea rcx, [rax + 0x10]
call fcn.14000d710
cmp qword [rsi + 0x28], 0x10
lea r8, [rsi + 0x10]
jb 0x14000f8c1
mov r8, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x20]
xor ecx, ecx
movabs rbp, 0xcbf29ce484222325
test rdx, rdx
je 0x14000f8f4
movabs r9, 0x100000001b3
movzx eax, byte [rcx + r8]
inc rcx
xor rbp, rax
imul rbp, r9
cmp rcx, rdx
jb 0x14000f8e0
mov r9, rbp
lea r8, [rsi + 0x10]
lea rdx, [rsp + 0x20]
mov rcx, r15
call fcn.14000f540
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14000f93e
mov qword [r14], rax
mov byte [r14 + 8], 0
test rsi, rsi
je 0x14000facd
lea rcx, [rsi + 0x10]
call fcn.140010020
mov edx, 0x50
mov rcx, rsi
call fcn.1400ce80c
jmp 0x14000facd
mov rdx, qword [r15 + 0x10]
movabs rax, 0x333333333333333
cmp rdx, rax
je 0x14000fae1
lea rcx, [rdx + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x14000f968
cvtsi2ss xmm0, rcx
jmp 0x14000f97d
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [r15 + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x14000f990
cvtsi2ss xmm1, rcx
jmp 0x14000f9a5
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [r15]
jbe 0x14000fa71
mov rcx, r15
call fcn.140012950
mov rax, qword [r15 + 0x30]
mov rdx, qword [r15 + 0x18]
and rax, rbp
mov rcx, qword [r15 + 8]
add rax, rax
mov rbx, qword [rdx + rax*8 + 8]
cmp rbx, rcx
jne 0x14000f9e7
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], 0
jmp 0x14000fa62
mov qword [rsp + 0x60], r12
mov r12, qword [rsi + 0x20]
mov qword [rsp + 0x68], r13
mov r13, qword [rdx + rax*8]
nop dword [rax]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
jb 0x14000fa0f
mov rdx, qword [rbx + 0x10]
cmp qword [rsi + 0x28], 0x10
lea rcx, [rsi + 0x10]
jb 0x14000fa1e
mov rcx, qword [rsi + 0x10]
cmp r12, qword [rbx + 0x20]
jne 0x14000fa30
mov r8, r12
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14000fa3b
cmp rbx, r13
je 0x14000fa4a
mov rbx, qword [rbx + 8]
jmp 0x14000fa00
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
jmp 0x14000fa58
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], 0
mov r12, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
movaps xmm0, xmmword [rsp + 0x20]
mov rdx, qword [r15 + 0x10]
movdqa xmmword [rsp + 0x20], xmm0
mov r8, qword [rsp + 0x20]
lea rax, [rdx + 1]
mov r9, qword [r8 + 8]
mov qword [r15 + 0x10], rax
mov qword [rsi], r8
mov qword [rsi + 8], r9
mov qword [r9], rsi
mov qword [r8 + 8], rsi
mov rax, qword [r15 + 0x30]
mov rcx, qword [r15 + 0x18]
and rax, rbp
add rax, rax
mov rdx, qword [rcx + rax*8]
cmp rdx, qword [r15 + 8]
jne 0x14000faae
mov qword [rcx + rax*8], rsi
jmp 0x14000fac0
cmp rdx, r8
jne 0x14000fab9
mov qword [rcx + rax*8], rsi
jmp 0x14000fac5
cmp qword [rcx + rax*8 + 8], r9
jne 0x14000fac5
mov qword [rcx + rax*8 + 8], rsi
mov qword [r14], rsi
mov byte [r14 + 8], 1
mov rbx, qword [rsp + 0x70]
mov rax, r14
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.unordered_map_set_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3