Function at 0x14002c9e0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
nop
sub rsp, 8
mov qword [rsp], rsi
sub rsp, 0x20
movabs rax, 0xfffffffffffffff
xchg rcx, rsi
mov rcx, rsi
xchg rcx, rsi
bsr rcx, rax
mov ebx, 1
mov eax, ebx
shl rax, cl
cmp rdx, rax
ja 0x14002cc7e
lea rax, [rdx - 1]
mov qword [rsp + 0x38], rdi
xchg rdi, rbp
mov rbp, qword [rsi + 8]
xchg rbp, rdi
or rax, rbx
bsr rcx, rax
xchg rdx, rdi
mov r8, rdx
xchg rdx, rdi
mov qword [rsp + 0x40], r14
inc ecx
shl rbx, cl
lea rcx, [rsi + 0x18]
lea rdx, [rbx + rbx]
call fcn.14002c160
mov qword [rsi + 0x38], rbx
lea rax, [rbx - 1]
xchg r8, rax
mov qword [rsi + 0x30], r8
xchg r8, rax
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
cmp rcx, rdi
je 0x14002cc0a
xchg rbp, r14
mov qword [rsp + 0x30], r14
xchg rbp, r14
xchg r15, rax
mov r15, rcx
xchg r15, rax
movabs rbp, 0xcbf29ce484222325
movabs rbx, 0x100000001b3
nop dword [rax]
nop dword [rax + rax]
movzx r9d, byte [rax + 0x10]
movzx edx, byte [rax + 0x11]
push r9
xor r9d, ebp
push r9
xor r9, qword [rsp + 8]
shr r9, 0x20
ror rbp, 0x20
xor r9d, ebp
ror rbp, 0x20
shl r9, 0x20
xor r9, qword [rsp]
add rsp, 0x10
mov r11, qword [rsi + 0x30]
mov rcx, qword [rcx]
imul r9, rbx
push r9
xor r9d, edx
push r9
xor r9, qword [rsp + 8]
shr r9, 0x20
ror rdx, 0x20
xor r9d, edx
ror rdx, 0x20
shl r9, 0x20
or r9, qword [rsp]
add rsp, 0x10
imul r9, rbx
and r11, r9
shl r11, 3
shl r11, 1
add r11, qword [rsi + 0x18]
mov r8, qword [r11]
cmp r8, rdi
jne 0x14002cb38
xchg r13, rax
mov qword [r11], r13
xchg r13, rax
mov qword [r11 + 8], rax
jmp 0x14002cbf9
xchg rdx, r8
mov r8, qword [r11 + 8]
xchg rdx, r8
movzx r9d, word [rax + 0x10]
cmp r9w, word [rdx + 0x10]
jne 0x14002cba2
xchg r10, r15
mov r15, qword [rdx]
xchg r15, r10
cmp r10, rax
je 0x14002cb95
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
xchg rdx, r15
mov r15, qword [r10 + 8]
xchg r15, rdx
xchg r12, rax
mov qword [rdx], r12
xchg r12, rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
xchg rdx, rdi
mov qword [rax + 8], rdi
xchg rdx, rdi
xchg rdx, rax
mov qword [r11 + 8], rdx
xchg rdx, rax
jmp 0x14002cbf9
cmp r8, rdx
je 0x14002cbc5
nop
mov rdx, qword [rdx + 8]
cmp r9w, word [rdx + 0x10]
je 0x14002cc3d
cmp r8, rdx
jne 0x14002cbad
mov r10, qword [rax + 8]
xchg rcx, rbp
mov qword [r10], rbp
xchg rcx, rbp
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
xchg r9, r11
mov qword [rdx + 8], r11
xchg r11, r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
xchg rsi, rax
mov qword [r11], rsi
xchg rsi, rax
mov rax, rcx
cmp rcx, rdi
jne 0x14002caa8
mov rbp, qword [rsp + 0x30]
xchg r13, rdi
mov r13, qword [rsp + 0x38]
xchg r13, rdi
mov r14, qword [rsp + 0x40]
xchg rbx, r8
mov r8, qword [rsp + 0x48]
xchg rbx, r8
add rsp, 0x20
push rcx
push rax
push rcx
push rcx
push rax
xchg qword [rsp + 0x28], rsi
pop rax
pop rcx
pop rcx
pop rax
pop rcx
add rsp, 8
ret
mov r10, qword [rdx]
xchg rbx, r9
mov rbx, qword [rax + 8]
xchg rbx, r9
xchg r13, rcx
mov qword [r9], r13
xchg rcx, r13
mov r8, qword [rcx + 8]
xchg r12, r10
mov qword [r8], r12
xchg r10, r12
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
xchg rdx, rdi
mov qword [rax + 8], rdi
xchg rdx, rdi
jmp 0x14002cbf9
lea rcx, [0x140001530]
call fcn.140154cf0
int3