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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x40
call fcn.14024eae0
sub rsp, rax
mov rdi, r8
mov rsi, rdx
mov rbp, rcx
lea r13, [rcx + 8]
mov qword [rsp + 0x30], r13
xor r15d, r15d
mov qword [rsp + 0x38], r15
lea ecx, [rax - 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
jne 0x1401f4377
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_alloc_void_]
int3
mov qword [rsp + 0x38], rbx
lea r14, [rax + 0x10]
mov rdx, qword [rdi]
mov qword [r14], r15
mov qword [r14 + 0x10], r15
mov qword [r14 + 0x18], 7
mov rcx, r14
call fcn.14000ae4c
mov eax, dword [rdi + 8]
mov dword [r14 + 0x20], eax
mov rdx, qword [r14 + 0x10]
mov r8, r14
mov r15d, 8
cmp qword [r14 + 0x18], r15
jb 0x1401f43b7
mov r8, qword [r14]
xor ecx, ecx
movabs r12, 0xcbf29ce484222325
add rdx, rdx
je 0x1401f43e6
movzx eax, byte [rcx + r8]
xor r12, rax
movabs r9, 0x100000001b3
imul r12, r9
inc rcx
cmp rcx, rdx
jb 0x1401f43c8
mov r9, r12
mov r8, r14
lea rdx, [rsp + 0x20]
mov rcx, rbp
call fcn.1400d4240
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x1401f4420
mov qword [rsi], rdx
mov byte [rsi + 8], 0
mov rcx, r14
call fcn.14000ac30
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x1401f4579
mov rcx, qword [rbp + 0x10]
movabs rax, 0x492492492492492
cmp rcx, rax
jne 0x1401f4441
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
add rcx, 1
xorps xmm0, xmm0
js 0x1401f4451
cvtsi2ss xmm0, rcx
jmp 0x1401f4466
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rdi, qword [rbp + 0x38]
xorps xmm2, xmm2
test rdi, rdi
js 0x1401f4479
cvtsi2ss xmm2, rdi
jmp 0x1401f4491
mov rcx, rdi
shr rcx, 1
mov rax, rdi
and eax, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm1, xmm0
divss xmm1, xmm2
comiss xmm1, dword [rbp]
seta al
test al, al
je 0x1401f4522
divss xmm0, dword [rbp]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
xor ecx, ecx
movss xmm1, dword [0x14031bb90]
comiss xmm0, xmm1
jb 0x1401f44d2
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x1401f44d2
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
cmp rax, r15
cmova r15, rax
cmp rdi, r15
jae 0x1401f44fb
cmp rdi, 0x200
jae 0x1401f44f8
shl rdi, 3
cmp rdi, r15
jae 0x1401f44fb
mov rdi, r15
mov rdx, rdi
mov rcx, rbp
call fcn.1401f3900
mov r9, r12
mov r8, r14
lea rdx, [rsp + 0x30]
mov rcx, rbp
call fcn.1400d4240
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0x20], xmm0
mov rdx, qword [rsp + 0x20]
mov r8, qword [rdx + 8]
inc qword [rbp + 0x10]
mov qword [rbx], rdx
mov qword [rbx + 8], r8
mov qword [r8], rbx
mov qword [rdx + 8], rbx
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x30]
and rax, r12
add rax, rax
mov r9, qword [rcx + rax*8]
cmp r9, qword [r13]
jne 0x1401f455b
mov qword [rcx + rax*8], rbx
jmp 0x1401f456d
cmp r9, rdx
jne 0x1401f4566
mov qword [rcx + rax*8], rbx
jmp 0x1401f4572
cmp qword [rcx + rax*8 + 8], r8
jne 0x1401f4572
mov qword [rcx + rax*8 + 8], rbx
mov qword [rsi], rbx
mov byte [rsi + 8], 1
mov rax, rsi
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret