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

Disassembly:
mov rdx, qword [rcx + 0x10]
mov r9, rcx
add rdx, 1
mov r8, qword [rcx + 0x38]
vxorps xmm0, xmm0, xmm0
js 0x1800e732c
vcvtsi2ss xmm0, xmm0, rdx
jmp 0x1800e7341
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm0, xmm0, dword [rcx]
vxorps xmm1, xmm1, xmm1
vroundss xmm1, xmm1, xmm0, 2
vmovss xmm0, dword [0x18020a620]
xor ecx, ecx
vcomiss xmm1, xmm0
jb 0x1800e7376
vsubss xmm1, xmm1, xmm0
vcomiss xmm1, xmm0
jae 0x1800e7376
movabs rax, 0x8000000000000000
mov rcx, rax
vcvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp r8, rcx
jae 0x1800e73a8
cmp r8, 0x200
jae 0x1800e73a5
lea r8, [r8*8]
cmp r8, rcx
jae 0x1800e73a8
mov r8, rcx
mov rdx, r8
mov rcx, r9
jmp 0x1800e7730
mov qword [rsp + 8], rcx
push rdi
push r13
sub rsp, 0x38
movabs rax, 0xfffffffffffffff
mov edi, 1
bsr rax, rax
mov r13, rcx
shlx rax, rdi, rax
cmp rdx, rax
jbe 0x1800e776a
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
mov qword [rsp + 0x58], rbx
lea rax, [rdx - 1]
mov rdx, qword [r13 + 0x20]
or rax, rdi
bsr rcx, rax
mov qword [rsp + 0x60], rbp
mov rbp, qword [r13 + 8]
inc ecx
mov qword [rsp + 0x68], rsi
shlx rsi, rdi, rcx
mov rdi, qword [r13 + 0x18]
mov rcx, rdx
sub rcx, rdi
mov qword [rsp + 0x30], r12
mov rax, rcx
sar rax, 3
lea rbx, [rsi + rsi]
cmp rax, rbx
jae 0x1800e7887
movabs rax, 0x1fffffffffffffff
cmp rbx, rax
ja 0x1800e7a9a
lea rbx, [rbx*8]
xor r12d, r12d
cmp rbx, 0x1000
jb 0x1800e7806
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x1800e7a9a
call fcn.180184d74
test rax, rax
je 0x1800e7880
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1800e781b
test rbx, rbx
je 0x1800e7818
mov rcx, rbx
call fcn.180184d74
mov rdi, rax
jmp 0x1800e781b
mov rdi, r12
mov rcx, qword [r13 + 0x18]
mov rax, qword [r13 + 0x28]
sub rax, rcx
sar rax, 3
test rax, rax
je 0x1800e785d
lea rdx, [rax*8]
cmp rdx, 0x1000
jb 0x1800e7858
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800e7880
mov rcx, r8
call fcn.180184c4c
lea rax, [rbx + rdi]
mov qword [r13 + 0x18], rdi
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rax
cmp rdi, rax
je 0x1800e78a4
mov qword [rdi], rbp
add rdi, 8
cmp rdi, rax
jne 0x1800e7872
jmp 0x1800e78a4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
add rcx, 7
xor r12d, r12d
shr rcx, 3
cmp rdi, rdx
cmova rcx, r12
test rcx, rcx
je 0x1800e78a4
mov rax, rbp
rep stosq qword [rdi], rax
mov qword [r13 + 0x38], rsi
lea rax, [rsi - 1]
mov qword [r13 + 0x30], rax
mov rbx, qword [r13 + 8]
mov rbx, qword [rbx]
mov rsi, rbx
cmp rbx, rbp
je 0x1800e7a58
mov qword [rsp + 0x28], r14
movabs rax, 0xcbf29ce484222325
mov qword [rsp + 0x20], r15
movabs r9, 0x100000001b3
mov r8, qword [rbx + 0x28]
lea rdi, [rbx + 0x10]
mov rsi, qword [rsi]
mov r15, qword [rbx + 0x20]
cmp r8, 0xf
jbe 0x1800e78fa
mov rdi, qword [rbx + 0x10]
mov rdx, rax
mov rcx, r12
test r15, r15
je 0x1800e7923
nop word [rax + rax]
movzx eax, byte [rcx + rdi]
inc rcx
xor rdx, rax
imul rdx, r9
cmp rcx, r15
jb 0x1800e7910
mov rcx, qword [r13 + 0x30]
mov r13, qword [r13 + 0x18]
and rcx, rdx
shl rcx, 4
add r13, rcx
mov r12, qword [r13]
cmp r12, rbp
jne 0x1800e794b
mov qword [r13], rbx
mov qword [r13 + 8], rbx
jmp 0x1800e7a2d
mov rdi, qword [r13 + 8]
cmp qword [rdi + 0x28], 0xf
lea rdx, [rdi + 0x10]
mov rax, qword [rdx + 0x10]
jbe 0x1800e7961
mov rdx, qword [rdx]
lea rcx, [rbx + 0x10]
cmp r8, 0xf
jbe 0x1800e796f
mov rcx, qword [rbx + 0x10]
cmp r15, rax
jne 0x1800e79b3
mov r8, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1800e79af
mov rdi, qword [rdi]
cmp rdi, rbx
je 0x1800e79a9
mov rdx, qword [rbx + 8]
mov qword [rdx], rsi
mov rcx, qword [rsi + 8]
mov qword [rcx], rdi
mov rax, qword [rdi + 8]
mov qword [rax], rbx
mov qword [rdi + 8], rcx
mov qword [rsi + 8], rdx
mov qword [rbx + 8], rax
mov qword [r13 + 8], rbx
jmp 0x1800e7a23
mov r8, qword [rbx + 0x28]
cmp r12, rdi
je 0x1800e79fe
nop dword [rax + rax]
mov rdi, qword [rdi + 8]
cmp qword [rdi + 0x28], 0xf
lea rdx, [rdi + 0x10]
mov rax, qword [rdx + 0x10]
jbe 0x1800e79d6
mov rdx, qword [rdx]
lea rcx, [rbx + 0x10]
cmp r8, 0xf
jbe 0x1800e79e4
mov rcx, qword [rbx + 0x10]
cmp r15, rax
jne 0x1800e79f9
mov r8, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1800e7a74
mov r8, qword [rbx + 0x28]
cmp r12, rdi
jne 0x1800e79c0
mov rdx, qword [rbx + 8]
mov qword [rdx], rsi
mov rcx, qword [rsi + 8]
mov qword [rcx], rdi
mov rax, qword [rdi + 8]
mov qword [rax], rbx
mov qword [rdi + 8], rcx
mov qword [rsi + 8], rdx
mov qword [rbx + 8], rax
mov qword [r13], rbx
movabs r9, 0x100000001b3
mov r13, qword [rsp + 0x50]
mov rbx, rsi
movabs rax, 0xcbf29ce484222325
mov r12d, 0
cmp rsi, rbp
jne 0x1800e78e1
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
mov r12, qword [rsp + 0x30]
add rsp, 0x38
pop r13
pop rdi
ret
mov rdi, qword [rdi]
mov rdx, qword [rbx + 8]
mov qword [rdx], rsi
mov rcx, qword [rsi + 8]
mov qword [rcx], rdi
mov rax, qword [rdi + 8]
mov qword [rax], rbx
mov qword [rdi + 8], rcx
mov qword [rsi + 8], rdx
mov qword [rbx + 8], rax
jmp 0x1800e7a23
call fcn.18006c340
int3