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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x100
mov rax, qword [0x1404fd7f0]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rsi, r8
mov rdi, rdx
mov r10, rcx
mov qword [rsp + 0x30], rdx
mov rdx, qword [r8 + 0x10]
mov r9, r8
cmp qword [r8 + 0x18], 8
jb 0x140089dbb
mov r9, qword [r8]
movabs rbx, 0xcbf29ce484222325
mov r8, rbx
xor r12d, r12d
mov eax, r12d
movabs r11, 0x100000001b3
add rdx, rdx
je 0x140089df4
nop dword [rax]
movzx ecx, byte [rax + r9]
xor r8, rcx
imul r8, r11
inc rax
cmp rax, rdx
jb 0x140089de0
movzx edx, r8b
xor rdx, rbx
imul rdx, r11
mov rax, r8
shr rax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, r11
mov rax, r8
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r11
mov rax, r8
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, r11
mov rax, r8
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, r11
mov rax, r8
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, r11
mov rax, r8
shr rax, 0x30
movzx ecx, al
xor rdx, rcx
imul rdx, r11
mov rax, r8
shr rax, 0x38
xor rdx, rax
imul rdx, r11
and rdx, qword [r10 + 0x30]
shl rdx, 4
add rdx, qword [r10 + 0x18]
mov rbx, qword [rdx + 8]
mov rax, qword [r10 + 8]
cmp rbx, rax
je 0x140089e97
cmp r8, qword [rbx + 0x10]
je 0x140089ed0
cmp rbx, qword [rdx]
jne 0x140089eca
mov qword [rdi], r12
mov qword [rdi + 8], r12
mov rax, rdi
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140156340
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov rbx, qword [rbx + 8]
jmp 0x140089e8c
test rbx, rbx
je 0x140089e97
cmp rbx, rax
je 0x140089e97
lea rdx, [rbp - 0x31]
mov rcx, qword [rbx + 0x18]
call fcn.14008a1c0
mov r9, rax
mov rax, rsi
cmp qword [rsi + 0x18], 8
jb 0x140089ef7
mov rax, qword [rsi]
mov rcx, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 8
jb 0x140089f05
mov r9, qword [r9]
mov r14, rbx
cmp rcx, qword [rsi + 0x10]
jne 0x14008a15f
test rcx, rcx
je 0x140089f43
sub r9, rax
nop word [rax + rax]
movzx edx, word [rax + r9]
cmp dx, word [rax]
jb 0x14008a15f
ja 0x14008a15f
cmp rcx, 1
je 0x140089f43
dec rcx
add rax, 2
jmp 0x140089f20
mov r15b, 1
mov rax, qword [rbp - 0x19]
cmp rax, 8
jb 0x140089f6d
lea rdx, [rax*2 + 2]
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jae 0x140089f9a
call fcn.1401568b4
test r15b, r15b
je 0x140089fbc
mov qword [rdi], r12
mov qword [rdi + 8], r12
mov rax, qword [r14 + 0x20]
test rax, rax
je 0x140089f86
lock inc dword [rax + 8]
mov rcx, qword [rbx + 0x18]
mov qword [rdi], rcx
mov rcx, qword [r14 + 0x20]
mov qword [rdi + 8], rcx
jmp 0x140089e9e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140089f68
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__invalid_parameter_noinfo_noreturn]
nop dword [rax + rax]
int3
mov rdx, rsi
lea rcx, [rbp + 0xf]
call fcn.1400d1224
mov r14, rax
mov rdi, qword [rbx + 0x18]
cmp qword [rdi + 0x30], 0
je 0x14008a167
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x41], xmm0
add rdi, 0x20
mov rsi, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0x10
jb 0x140089ff4
mov rdi, qword [rdi]
cmp rsi, 0x10
jb 0x14008a14b
mov rbx, rsi
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
call fcn.1400daac0
mov qword [rbp - 0x51], rax
lea r8, [rsi + 1]
mov rdx, rdi
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x41], rsi
mov r9d, 0x2f
lea r8, str.hash_collision_in_GenericEtwPropertyDictionary
lea rcx, [rbp - 0x51]
call fcn.1400ea1cc
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x61], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x71], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x61], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], SafeArrayUnlock
mov byte [rax], 0
mov rcx, qword [rbp - 0x61]
mov rdx, qword [rbp - 0x59]
mov rax, rdx
sub rax, rcx
cmp rax, 5
jb 0x14008a18d
lea rax, [rcx + 5]
mov qword [rbp - 0x61], rax
lea rbx, [rbp - 0x71]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x71]
add rbx, rcx
mov r8d, 5
lea rdx, [0x1403bd088]
mov rcx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov byte [rbx + 5], 0
lea rax, [rbp - 0x71]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x11], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 1], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], SafeArrayUnlock
mov byte [rax], 0
mov r9, r14
lea r8, [rbp - 0x11]
lea rcx, [rbp - 0x31]
call fcn.14014ceac
nop
lea rax, [rbp - 0x31]
cmp qword [rbp - 0x19], 0x10
cmovae rax, qword [rbp - 0x31]
lea rcx, vtable.std::exception.0
mov qword [rsp + 0x40], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x38], 1
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x30]
call sub.api_ms_win_crt_private_l1_1_0.dll__o___std_exception_copy
lea rax, vtable.std::range_error.0
mov qword [rsp + 0x40], rax
lea rdx, [0x1404c8980]
lea rcx, [rsp + 0x40]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
nop
movups xmm0, xmmword [rdi]
movups xmmword [rbp - 0x51], xmm0
mov qword [rbp - 0x39], SafeArrayUnlock
jmp 0x14008a036
xor r15b, r15b
jmp 0x140089f46
mov rdx, rdi
lea rcx, [rbp - 0x11]
call fcn.1400d1224
lea rcx, [rdi + 0x20]
mov rdx, rax
call fcn.1400f304c
lea rcx, [rbp - 0x11]
call fcn.1400d0bcc
jmp 0x140089fda
mov qword [rsp + 0x20], 5
lea r9, [0x1403bd088]
mov edx, 5
lea rcx, [rbp - 0x71]
call fcn.14016c750
jmp 0x14008a0c3