Function at 0x18012beac
Capabilities:
Hash data using fnv

Disassembly:
push rdi
dec di
adc cx, 0x5759
sub rsp, 0x20
sbb al, 0xb2
movsx rax, dx
movabs rax, 0xfffffffffffffff
add cl, r14b
mov edi, 1
bsr rcx, rax
sub eax, 0x1a2b0a2b
sbb al, r11b
mov eax, edi
test r13w, 0x5f88
shl rax, cl
test r12w, sp
cmp rbp, 0x35921b59
cmp rdx, rax
ja 0x18012c2ca
lea rax, [rdx - 1]
cdq
add ch, dl
mov qword [rsp + 0x30], rbx
bt cx, si
movzx edx, r12w
mov rbx, qword [0x180089f78]
add edx, r15d
xor cl, r15b
or rax, rdi
sal edx, cl
rcr ch, 0xa0
movzx rdx, r8w
bsr rcx, rax
movzx r8w, bl
dec dh
mov r8, rbx
inc ecx
sar dl, 0xe4
inc dl
sbb dl, r9b
shl rdi, cl
xchg ch, ch
movsx edx, r13w
lea rcx, [0x180089f88]
xchg dx, dx
movsxd rdx, r14d
lea rdx, [rdi + rdi]
jmp 0x18012bf61
call fcn.1800aeedc
mov rcx, qword [0x180089f78]
bt dx, si
sal r9b, cl
lea r9, [rdi - 1]
and dx, di
mov qword [0x180089fa0], r9
movsx edx, ax
mov qword [0x180089fa8], rdi
mov rcx, qword [rcx]
shr dl, 0x81
bswap dx
rcl rdx, 0x84
mov rdx, rcx
cmp rcx, rbx
je 0x18012c2b6
mov qword [rsp + 0x40], rsi
rcl di, cl
add r10w, 0x10f
bt r11d, 0xe
movabs rdi, 0x100000001b3
xadd r11b, al
mov al, spl
rol r11b, cl
movabs rsi, 0xcbf29ce484222325
nop word [rax + rax]
rcr r10, 0x5b
cbw
movzx eax, byte [rcx + 0x11]
xchg r11b, r10b
movzx r11d, byte [rcx + 0x10]
mov rdx, qword [rdx]
shl r10b, 0x7c
movsxd r10, r8d
xor r11, rsi
sal r10b, cl
add r10b, cl
test r12d, ebp
imul r11, rdi
rcr r10w, cl
xor r11, rax
movzx eax, byte [rcx + 0x12]
btc r10d, edx
movsxd r10, esp
imul r11, rdi
ror r10w, 0xe1
jmp 0x18012c02e
xor r11, rax
shr ax, 0x5b
movzx eax, byte [rcx + 0x13]
imul r11, rdi
bt r10, 0x57
movzx r10w, r11b
xor r11, rax
stc
mov rax, 0x3348776b
xadd r10d, r10d
movzx eax, byte [rcx + 0x14]
clc
movsx r10d, r13w
and r10b, al
imul r11, rdi
or r10b, r11b
xor r11, rax
movzx eax, byte [rcx + 0x15]
sub r10, r13
xor r10b, dil
imul r11, rdi
dec r10w
sbb r10b, 0x6b
xor r11, rax
movsx ax, al
shld r10w, bp, 0x2e
movzx eax, byte [rcx + 0x16]
sar r10w, 0xe8
imul r11, rdi
movsxd r10, ebp
not r10b
bt r10, rbp
xor r11, rax
movzx eax, byte [rcx + 0x17]
sar r10d, cl
movzx r10, r13w
dec r10b
imul r11, rdi
xor r11, rax
and r10b, r9b
imul r11, rdi
and r11, r9
btr r10d, 0x7b
cmp rdi, 0x4f6302f0
shl r11, 4
and r10, 0x78d75477
add r11, qword [0x180089f88]
cmc
mov r10, qword [r11]
cmp r10, rbx
jmp 0x18012c0f2
jne 0x18012c10e
mov qword [r11], rcx
jmp 0x18012c100
mov qword [r11 + 8], rcx
jmp 0x18012c109
jmp 0x18012c23b
mov rax, qword [r11 + 8]
ror r9w, cl
or r9, 0x3da32019
bts r9d, ebp
mov r9, qword [rcx + 0x10]
cmp ax, sp
cmp r12b, 0x3f
cmp r9, qword [rax + 0x10]
jne 0x18012c199
mov r10, qword [rax]
test bpl, 0xe1
clc
cmp r10, rcx
je 0x18012c190
mov r9, qword [rcx + 8]
movsx r8w, sil
mov rax, 0x78312c84
mov qword [r9], rdx
movzx r8w, al
mov r8, qword [rdx + 8]
mov al, spl
mov qword [r8], r10
mov rax, qword [r10 + 8]
jmp 0x18012c172
mov qword [rax], rcx
jmp 0x18012c17a
mov qword [r10 + 8], r8
jmp 0x18012c183
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
jmp 0x18012c190
mov qword [r11 + 8], rcx
jmp 0x18012c23b
mov r8, rax
clc
cmc
cmp r15, r9
cmp r10, rax
jmp 0x18012c1a9
je 0x18012c1d8
mov rax, qword [rax + 8]
sar r8d, cl
sets r8b
mov r8, rax
cmp edi, ebp
clc
cmp r9, qword [rax + 0x10]
jmp 0x18012c1c9
je 0x18012c258
cmp r10, rax
jne 0x18012c1af
mov r10, qword [rcx + 8]
cdqe
mov qword [r10], rdx
xchg r9, rax
lahf
mov r9, qword [rdx + 8]
setg al
movsxd rax, esp
btr eax, r8d
mov qword [r9], r8
bts rax, r14
shrd ax, r8w, 0xbd
sal al, 0xb9
mov rax, qword [r8 + 8]
cmp r10d, 0x54f148a9
test esi, esi
mov qword [rax], rcx
cmp rdi, 0x240f2df5
cmc
mov qword [r8 + 8], r9
jmp 0x18012c223
mov qword [rdx + 8], r10
mov qword [rcx + 8], rax
stc
mov qword [r11], rcx
test ch, 0x4e
movsx cx, r12b
shl rcx, 0x76
mov rcx, rdx
cmp dx, 0x54c5
cmp rdx, rbx
je 0x18012c2b1
mov r9, qword [0x180089fa0]
jmp 0x18012bfe5
mov r10, qword [rax]
not al
mov r9, qword [rcx + 8]
jmp 0x18012c269
mov qword [r9], rdx
xchg r8, rax
cbw
mov r8, qword [rdx + 8]
jmp 0x18012c279
mov qword [r8], r10
cmovne eax, r13d
jmp 0x18012c285
mov rax, qword [r10 + 8]
jmp 0x18012c28e
mov qword [rax], rcx
mov qword [r10 + 8], r8
jmp 0x18012c29a
mov qword [rdx + 8], r9
jmp 0x18012c2a3
mov qword [rcx + 8], rax
jmp 0x18012c2ac
jmp 0x18012c23b
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
test r13w, r12w
add rsp, 0x20
pop rdi
jmp 0x18012c2c9
ret
lea rcx, str.invalid_hash_bucket_count
jmp 0x18012c2d6
call fcn.18012d0e9
jmp 0x18006057c