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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r12, r8
mov r14, rdx
mov r15, rcx
movabs rdi, 0xcbf29ce484222325
mov rdx, rdi
xor ecx, ecx
movabs r8, 0x100000001b3
movzx eax, byte [r12 + rcx]
xor rdx, rax
imul rdx, r8
inc rcx
cmp rcx, 8
jb 0x1400227a6
xor ecx, ecx
movzx eax, byte [r12 + rcx + 8]
xor rdi, rax
imul rdi, r8
inc rcx
cmp rcx, 8
jb 0x1400227bd
xor rdi, rdx
mov rax, rdi
and rax, qword [r15 + 0x30]
add rax, rax
mov rcx, qword [r15 + 0x18]
mov rbx, qword [rcx + rax*8 + 8]
lea r13, [r15 + 8]
mov rbp, qword [r13]
cmp rbx, rbp
jne 0x140022817
mov rbx, rbp
movabs rax, 0x666666666666666
cmp qword [r15 + 0x10], rax
jne 0x14002285d
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
mov rdx, qword [rcx + rax*8]
mov rcx, qword [r12]
cmp rcx, qword [rbx + 0x10]
jne 0x140022830
mov rax, qword [rbx + 0x18]
cmp qword [r12 + 8], rax
je 0x14002283b
cmp rbx, rdx
je 0x140022846
mov rbx, qword [rbx + 8]
jmp 0x14002281f
mov rbp, qword [rbx]
mov rax, rbx
mov rbx, rbp
jmp 0x14002284b
mov rbp, rbx
xor eax, eax
test rax, rax
je 0x1400227f9
mov qword [r14], rax
mov byte [r14 + 8], 0
jmp 0x1400229b5
mov qword [rsp + 0x20], r13
and qword [rsp + 0x28], 0
mov ecx, 0x28
call fcn.140063328
mov rsi, rax
mov qword [rsp + 0x28], rax
movups xmm0, xmmword [r12]
movdqu xmmword [rax + 0x10], xmm0
xor r12d, r12d
mov dword [rax + 0x20], r12d
mov rcx, qword [r15 + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x14002289f
cvtsi2ss xmm0, rcx
jmp 0x1400228b4
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [r15 + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1400228c7
cvtsi2ss xmm1, rcx
jmp 0x1400228dc
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [r15]
seta al
test al, al
je 0x140022965
mov rcx, r15
call fcn.140022c4c
mov rax, rdi
and rax, qword [r15 + 0x30]
add rax, rax
mov rdx, qword [r15 + 0x18]
mov rcx, qword [rdx + rax*8 + 8]
mov rbx, qword [r13]
cmp rcx, rbx
jne 0x140022916
mov qword [rsp + 0x20], rbx
jmp 0x140022950
mov r8, qword [rdx + rax*8]
mov rdx, qword [rsi + 0x10]
mov rbx, rcx
cmp rdx, qword [rcx + 0x10]
jne 0x140022931
mov rax, qword [rcx + 0x18]
cmp qword [rsi + 0x18], rax
je 0x14002293c
cmp rcx, r8
je 0x14002294b
mov rcx, qword [rcx + 8]
jmp 0x14002291e
mov rbx, qword [rcx]
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rcx
jmp 0x140022955
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], r12
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
mov rbp, qword [rsp + 0x20]
mov rcx, qword [rbx + 8]
inc qword [r15 + 0x10]
mov qword [rsi], rbp
mov qword [rsi + 8], rcx
mov qword [rcx], rsi
mov qword [rbx + 8], rsi
mov rax, qword [r15 + 0x18]
and rdi, qword [r15 + 0x30]
add rdi, rdi
mov rdx, qword [rax + rdi*8]
cmp rdx, qword [r13]
jne 0x140022996
mov qword [rax + rdi*8], rsi
jmp 0x1400229a8
cmp rdx, rbp
jne 0x1400229a1
mov qword [rax + rdi*8], rsi
jmp 0x1400229ad
cmp qword [rax + rdi*8 + 8], rcx
jne 0x1400229ad
mov qword [rax + rdi*8 + 8], rsi
mov qword [r14], rsi
mov byte [r14 + 8], 1
mov rax, r14
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret