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

Disassembly:
cmp rdx, r8
je 0x18000ab45
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov r13, r8
mov rsi, rdx
mov rbp, rcx
xor r15d, r15d
movabs rdi, 0x222222222222222
movabs r9, 0x100000001b3
movabs rax, 0xcbf29ce484222325
mov r8, qword [rsi + 0x10]
mov rdx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x18000a8f0
mov rdx, qword [rsi]
mov rbx, rax
add r8, r8
mov rcx, r15
je 0x18000a913
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
xor rbx, rax
imul rbx, r9
inc rcx
cmp rcx, r8
jb 0x18000a900
mov r9, rbx
mov r8, rsi
lea rdx, [rsp + 0x40]
mov rcx, rbp
call fcn.180006d50
cmp qword [rsp + 0x48], 0
jne 0x18000ab1b
cmp qword [rbp + 0x10], rdi
je 0x18000ab46
lea r12, [rbp + 8]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r15
mov ecx, 0x78
call fcn.180028dc0
mov r14, rax
mov qword [rsp + 0x38], rax
lea rdi, [rax + 0x10]
mov qword [rsp + 0x88], rdi
mov rdx, rsi
mov rcx, rdi
call fcn.180012000
nop
lea rcx, [rdi + 0x20]
lea rdx, [rsi + 0x20]
call fcn.180012200
nop
mov rdx, qword [rbp + 0x10]
add rdx, 1
xorps xmm0, xmm0
js 0x18000a996
cvtsi2ss xmm0, rdx
jmp 0x18000a9ae
mov rcx, rdx
shr rcx, 1
mov rax, rdx
and eax, 1
or rcx, rax
cvtsi2ss xmm0, rcx
addss xmm0, xmm0
mov rcx, qword [rbp + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x18000a9c1
cvtsi2ss xmm1, rcx
jmp 0x18000a9d6
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [rbp]
seta al
mov rcx, rbp
test al, al
je 0x18000aabc
call fcn.180019050
mov rdx, rax
mov rcx, rbp
call fcn.1800190f0
mov rcx, qword [rbp + 0x30]
and rcx, rbx
mov rdx, qword [rbp + 0x18]
mov rax, rcx
add rax, rax
mov r9, qword [rdx + rax*8 + 8]
mov rax, qword [r12]
cmp r9, rax
jne 0x18000aa25
mov qword [rsp + 0x20], rax
jmp 0x18000aaa9
add rcx, rcx
mov r11, qword [rdx + rcx*8]
mov r15, qword [rdi + 0x18]
mov r10, qword [rdi + 0x10]
nop dword [rax]
nop dword [rax + rax]
lea rcx, [r9 + 0x10]
mov rax, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 7
jbe 0x18000aa52
mov rcx, qword [rcx]
mov r8, rdi
cmp r15, 7
jbe 0x18000aa5e
mov r8, qword [rdi]
cmp r10, rax
jne 0x18000aa96
mov rdx, r10
test r10, r10
je 0x18000aa84
sub r8, rcx
nop
movzx eax, word [r8 + rcx]
cmp ax, word [rcx]
jne 0x18000aa96
add rcx, 2
sub rdx, 1
jne 0x18000aa70
mov rax, qword [r9]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r9
xor r15d, r15d
jmp 0x18000aaae
cmp r9, r11
je 0x18000aaa1
mov r9, qword [r9 + 8]
jmp 0x18000aa40
mov qword [rsp + 0x20], r9
xor r15d, r15d
mov qword [rsp + 0x28], r15
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x40], xmm0
mov rcx, rbp
mov qword [rsp + 0x38], r15
mov rdx, qword [rsp + 0x40]
mov r8, qword [rdx + 8]
inc qword [rbp + 0x10]
mov qword [r14], rdx
mov qword [r14 + 8], r8
mov qword [r8], r14
mov qword [rdx + 8], r14
mov rcx, qword [rcx + 0x18]
mov rax, qword [rbp + 0x30]
and rax, rbx
add rax, rax
mov r9, qword [rcx + rax*8]
cmp r9, qword [r12]
jne 0x18000aafa
mov qword [rcx + rax*8], r14
jmp 0x18000ab0c
cmp r9, rdx
jne 0x18000ab05
mov qword [rcx + rax*8], r14
jmp 0x18000ab11
cmp qword [rcx + rax*8 + 8], r8
jne 0x18000ab11
mov qword [rcx + rax*8 + 8], r14
movabs rdi, 0x222222222222222
add rsi, 0x68
cmp rsi, r13
jne 0x18000a8cb
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, str.unordered_map_set_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3