Function at 0x140010450
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.1400d4a10
mov rdx, rbx
mov rsi, rax
lea rcx, [rax + 0x10]
call fcn.14000e430
cmp qword [rsi + 0x28], 0x10
lea r8, [rsi + 0x10]
jb 0x140010491
mov r8, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x20]
xor ecx, ecx
movabs rbp, 0xcbf29ce484222325
test rdx, rdx
je 0x1400104c4
movabs r9, 0x100000001b3
movzx eax, byte [rcx + r8]
inc rcx
xor rbp, rax
imul rbp, r9
cmp rcx, rdx
jb 0x1400104b0
mov r9, rbp
lea r8, [rsi + 0x10]
lea rdx, [rsp + 0x20]
mov rcx, r15
call fcn.140010380
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14001050e
mov qword [r14], rax
mov byte [r14 + 8], 0
test rsi, rsi
je 0x14001069d
lea rcx, [rsi + 0x10]
call fcn.140010e60
mov edx, 0x50
mov rcx, rsi
call fcn.1400d4a4c
jmp 0x14001069d
mov rdx, qword [r15 + 0x10]
movabs rax, 0x333333333333333
cmp rdx, rax
je 0x1400106b1
lea rcx, [rdx + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x140010538
cvtsi2ss xmm0, rcx
jmp 0x14001054d
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 0x140010560
cvtsi2ss xmm1, rcx
jmp 0x140010575
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 0x140010641
mov rcx, r15
call fcn.140013a60
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 0x1400105b7
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], 0
jmp 0x140010632
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 0x1400105df
mov rdx, qword [rbx + 0x10]
cmp qword [rsi + 0x28], 0x10
lea rcx, [rsi + 0x10]
jb 0x1400105ee
mov rcx, qword [rsi + 0x10]
cmp r12, qword [rbx + 0x20]
jne 0x140010600
mov r8, r12
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14001060b
cmp rbx, r13
je 0x14001061a
mov rbx, qword [rbx + 8]
jmp 0x1400105d0
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rbx
jmp 0x140010628
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 0x14001067e
mov qword [rcx + rax*8], rsi
jmp 0x140010690
cmp rdx, r8
jne 0x140010689
mov qword [rcx + rax*8], rsi
jmp 0x140010695
cmp qword [rcx + rax*8 + 8], r9
jne 0x140010695
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