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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
movabs rax, 0x800000000000001
cmp rdx, rax
jae 0x140033fce
lea r8, [rcx + 0x18]
dec rdx
or rdx, 1
xor eax, eax
lzcnt rax, rdx
neg al
mov edx, 1
mov qword [rsp + 0x28], rcx
shlx rsi, rdx, rax
mov rcx, qword [rsp + 0x28]
mov rdi, qword [rcx + 8]
mov ecx, 2
shlx rdx, rcx, rax
mov qword [rsp + 0x50], r8
mov rcx, r8
mov r8, rdi
call fcn.140033590
lea rax, [rsi - 1]
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x28]
mov qword [rax + 0x38], rsi
mov r8, qword [rsp + 0x28]
mov rax, qword [r8 + 8]
mov r11, qword [rax]
cmp r11, rdi
je 0x140033fbd
mov r9, rdi
movabs r10, 0xcbf29ce484222325
movabs r12, 0x100000001b3
mov qword [rsp + 0x30], rdi
jmp 0x140033e22
mov qword [rax + rcx*8], r13
mov qword [rax + rcx*8 + 8], r13
cmp r11, r9
je 0x140033fbd
mov r13, r11
lea r15, [r11 + 0x10]
mov rdi, qword [r11 + 0x28]
mov rax, r15
cmp rdi, 0x10
jb 0x140033e39
mov rax, qword [r15]
mov r14, qword [r13 + 0x20]
mov rbx, r10
test r14, r14
je 0x140033e66
xor ecx, ecx
mov rdx, r10
nop word [rax + rax]
movzx ebx, byte [rax + rcx]
xor rbx, rdx
imul rbx, r12
inc rcx
mov rdx, rbx
cmp r14, rcx
jne 0x140033e50
mov r11, qword [r13]
and rbx, qword [r8 + 0x30]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
lea rcx, [rbx + rbx]
shl rbx, 4
mov rbp, qword [rax + rbx]
cmp rbp, r9
je 0x140033e10
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x40], rax
mov rsi, qword [rax + rcx*8 + 8]
lea rdx, [rsi + 0x10]
cmp qword [rsi + 0x28], 0x10
mov qword [rsp + 0x48], rcx
jb 0x140033ea9
mov rdx, qword [rdx]
mov rcx, r15
cmp rdi, 0x10
jb 0x140033eb5
mov rcx, qword [r15]
cmp r14, qword [rsi + 0x20]
jne 0x140033ed0
mov r8, r14
call fcn.140219260
test eax, eax
je 0x140033f63
nop dword [rax + rax]
cmp rbp, rsi
je 0x140033f30
mov rsi, qword [rsi + 8]
lea rdx, [rsi + 0x10]
cmp qword [rsi + 0x28], 0x10
jb 0x140033ee7
mov rdx, qword [rdx]
mov rcx, r15
cmp rdi, 0x10
jb 0x140033ef3
mov rcx, qword [r15]
cmp r14, qword [rsi + 0x20]
jne 0x140033ed0
mov r8, r14
call fcn.140219260
test eax, eax
jne 0x140033ed0
mov rax, qword [rsi]
mov rcx, qword [r13 + 8]
mov r11, qword [rsp + 0x38]
mov qword [rcx], r11
mov rdx, qword [r11 + 8]
mov qword [rdx], rax
mov r8, qword [rax + 8]
mov qword [r8], r13
mov qword [rax + 8], rdx
mov qword [r11 + 8], rcx
mov qword [r13 + 8], r8
jmp 0x140033fa0
mov r8, qword [rsp + 0x40]
add r8, rbx
mov rax, qword [r13 + 8]
mov r11, qword [rsp + 0x38]
mov qword [rax], r11
mov rcx, qword [r11 + 8]
mov qword [rcx], rbp
mov rdx, qword [rbp + 8]
mov qword [rdx], r13
mov qword [rbp + 8], rcx
mov qword [r11 + 8], rax
mov qword [r13 + 8], rdx
mov qword [r8], r13
jmp 0x140033fa0
mov rax, qword [rsi]
cmp rax, r13
mov r11, qword [rsp + 0x38]
je 0x140033f91
mov rcx, qword [r13 + 8]
mov qword [rcx], r11
mov rdx, qword [r11 + 8]
mov qword [rdx], rax
mov r8, qword [rax + 8]
mov qword [r8], r13
mov qword [rax + 8], rdx
mov qword [r11 + 8], rcx
mov qword [r13 + 8], r8
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov qword [rax + rcx*8 + 8], r13
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
movabs r10, 0xcbf29ce484222325
cmp r11, r9
jne 0x140033e22
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.invalid_hash_bucket_count
call fcn.1401c778c
int3