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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x30
call fcn.14024eae0
sub rsp, rax
mov r15, r8
mov r14, rdx
mov rsi, rcx
mov r12, qword [r8]
mov qword [rsp + 0x60], r12
movabs rbp, 0xcbf29ce484222325
xor ecx, ecx
movzx eax, byte [rsp + rcx + 0x60]
xor rbp, rax
movabs rdx, 0x100000001b3
imul rbp, rdx
inc rcx
cmp rcx, 8
jb 0x1401ea0de
movzx edx, byte [r8 + 0x12]
shl rdx, 0x18
movzx eax, byte [r8 + 0x17]
or rdx, rax
movzx ecx, word [r8 + 0xc]
shl rcx, 0x10
movzx eax, word [r8 + 0xe]
or rcx, rax
xor rdx, rcx
mov eax, dword [r8 + 8]
xor rdx, rax
xor rbp, rdx
mov rax, qword [rsi + 0x30]
and rax, rbp
add rax, rax
mov rcx, qword [rsi + 0x18]
mov rbx, qword [rcx + rax*8 + 8]
lea rdx, [rsi + 8]
mov rdi, qword [rdx]
cmp rbx, rdi
jne 0x1401ea150
xor r13d, r13d
jmp 0x1401ea1a8
mov rdi, qword [rcx + rax*8]
lea rdx, [rbx + 0x18]
mov r8d, 0x10
lea rcx, [r15 + 8]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401ea171
cmp r12, qword [rbx + 0x10]
je 0x1401ea173
mov al, 1
test al, al
je 0x1401ea18d
cmp rbx, rdi
je 0x1401ea182
mov rbx, qword [rbx + 8]
jmp 0x1401ea154
mov rdi, rbx
xor r13d, r13d
mov ebx, r13d
jmp 0x1401ea193
mov rdi, qword [rbx]
xor r13d, r13d
test rbx, rbx
je 0x1401ea1a4
mov qword [r14], rbx
mov byte [r14 + 8], r13b
jmp 0x1401ea369
lea rdx, [rsi + 8]
movabs rax, 0x3ffffffffffffff
cmp qword [rsi + 0x10], rax
jne 0x1401ea1c6
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], r13
mov ecx, 0x40
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
jne 0x1401ea1ea
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_alloc_void_]
int3
mov qword [rsp + 0x28], rbx
movups xmm0, xmmword [r15]
movups xmmword [rax + 0x10], xmm0
movsd xmm1, qword [r15 + 0x10]
movsd qword [rax + 0x20], xmm1
mov rdx, qword [r15 + 0x28]
mov qword [r15 + 0x28], r13
mov rcx, qword [r15 + 0x20]
mov qword [r15 + 0x20], r13
mov rax, qword [r15 + 0x18]
mov qword [r15 + 0x18], r13
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rcx
mov qword [rbx + 0x38], rdx
mov rcx, qword [rsi + 0x10]
add rcx, 1
xorps xmm0, xmm0
js 0x1401ea23a
cvtsi2ss xmm0, rcx
jmp 0x1401ea24f
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [rsi + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x1401ea262
cvtsi2ss xmm1, rcx
jmp 0x1401ea277
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rsi]
seta al
test al, al
je 0x1401ea316
mov rcx, rsi
call fcn.140199c70
mov rax, qword [rsi + 0x30]
and rax, rbp
add rax, rax
mov rdx, qword [rsi + 0x18]
mov rdi, qword [rdx + rax*8 + 8]
mov rcx, qword [rsi + 8]
cmp rdi, rcx
jne 0x1401ea2b9
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], r13
jmp 0x1401ea306
mov r15, qword [rdx + rax*8]
lea rdx, [rdi + 0x18]
mov r8d, 0x10
lea rcx, [rbx + 0x18]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401ea2e1
mov rax, qword [rdi + 0x10]
cmp qword [rbx + 0x10], rax
mov al, r13b
je 0x1401ea2e3
mov al, 1
test al, al
je 0x1401ea2f9
cmp rdi, r15
je 0x1401ea2f2
mov rdi, qword [rdi + 8]
jmp 0x1401ea2bd
mov qword [rsp + 0x20], rdi
jmp 0x1401ea2b2
mov rax, qword [rdi]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdi
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
mov rdi, qword [rsp + 0x20]
mov rdx, qword [rdi + 8]
inc qword [rsi + 0x10]
mov qword [rbx], rdi
mov qword [rbx + 8], rdx
mov qword [rdx], rbx
mov qword [rdi + 8], rbx
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x30]
and rax, rbp
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [rsi + 8]
jne 0x1401ea34a
mov qword [rcx + rax*8], rbx
jmp 0x1401ea35c
cmp r8, rdi
jne 0x1401ea355
mov qword [rcx + rax*8], rbx
jmp 0x1401ea361
cmp qword [rcx + rax*8 + 8], rdx
jne 0x1401ea361
mov qword [rcx + rax*8 + 8], rbx
mov qword [r14], rbx
mov byte [r14 + 8], 1
mov rax, r14
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret