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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x120
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x1405420e0]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov rax, rdx
mov r15, rcx
lea rdx, [rsp + 0x48]
mov rcx, qword [rax]
call fcn.1401aef64
mov r14, qword [rax]
mov rbx, qword [rax + 8]
xor r10d, r10d
test rbx, rbx
je 0x1401d335a
lock inc dword [rbx + 8]
mov rbx, qword [rax + 8]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], rbx
or r13d, 0xffffffff
mov rdi, qword [rsp + 0x50]
test rdi, rdi
je 0x1401d33ae
mov eax, r13d
lock xadd dword [rdi + 8], eax
add eax, r13d
jne 0x1401d33ae
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax]
call qword [str.p76_]
mov eax, r13d
lock xadd dword [rdi + 0xc], eax
add eax, r13d
jne 0x1401d33ab
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [str.p76_]
xor r10d, r10d
mov rsi, r10
mov rdi, qword [r15]
mov r15, qword [r15 + 8]
jmp 0x1401d347f
mov r8, rdi
lea rdx, [rsp + 0x20]
lea rcx, [r14 + 0x88]
call fcn.14008e6c0
mov rax, qword [rsp + 0x20]
cmp rax, qword [r14 + 0x90]
je 0x1401d34f0
xor r10d, r10d
cmp dword [rax + 0x74], r10d
jl 0x1401d347b
mov rcx, qword [rax + 0x60]
mov r9, qword [rax + 0x58]
movabs rax, 0xcbf29ce484222325
mov r8d, r10d
mov rdx, rcx
sub rdx, r9
cmp r9, rcx
cmova rdx, r10
movabs r11, 0x100000001b3
test rdx, rdx
je 0x1401d3435
movzx ecx, byte [r9 + r8]
xor rax, rcx
imul rax, r11
inc r8
cmp r8, rdx
jne 0x1401d3421
mov qword [rsp + 0x28], rax
movabs rax, 0xcbf29ce484222325
mov rdx, r10
movzx ecx, byte [rsp + rdx + 0x28]
xor rax, rcx
imul rax, r11
inc rdx
cmp rdx, 8
jne 0x1401d3447
mov rcx, rsi
shl rcx, 6
mov rdx, rsi
shr rdx, 2
add rcx, rax
mov eax, 0x9e3779b9
add rax, rdx
add rcx, rax
xor rsi, rcx
add rdi, 0x40
cmp rdi, r15
jne 0x1401d33bd
test rbx, rbx
je 0x1401d34c6
mov eax, r13d
lock xadd dword [rbx + 8], eax
add eax, r13d
jne 0x1401d34c6
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [str.p76_]
mov edx, r13d
lock xadd dword [rbx + 0xc], edx
add edx, r13d
jne 0x1401d34c6
mov rdx, qword [rbx]
mov rcx, rbx
mov rax, qword [rdx + 8]
call qword [str.p76_]
mov rax, rsi
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.140356560
mov rbx, qword [rsp + 0x170]
add rsp, 0x120
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.14008cc40
nop
lea rcx, [rsp + 0x30]
call fcn.14006c7bc
mov rbx, rax
lea rcx, [rsp + 0x70]
call fcn.140249660
mov r8d, eax
mov edx, dword [rbx + 0xc8]
lea rcx, str.mssense.exe
call fcn.140329e3c
lea rdx, [rbx + 0xf8]
lea rcx, [rbp - 0x70]
call fcn.14008cc40
mov rbx, rax
lea r8, [rsp + 0x70]
lea rdx, [0x1403e8c30]
lea rcx, [rbp - 0x50]
call fcn.1400959c0
nop
lea r8, str._is_not_a_part_of_the_key_for_rule
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.140095a6c
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.140095acc
nop
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.1401d32a0
lea rdx, [0x1405143f8]
lea rcx, [rsp + 0x58]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3