Function at 0x140107680
Capabilities:
Hash data using fnv

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rcx, qword [rcx + 0x30]
test rcx, rcx
je 0x1400893dc
mov rax, qword [rcx]
add rdx, rdx
mov r8, qword [rax + 0x20]
mov rax, qword [rbx]
mov rdx, qword [rax + rdx*8]
call r8
cmp eax, 0xffffffff
je 0x1400893dc
mov rcx, qword [rbx + 0x30]
movsxd rdx, eax
add rsp, 0x20
pop rbx
jmp 0x140107680
mov eax, 0x7d0
add rsp, 0x20
pop rbx
ret
mov rax, rsp
mov qword [rax + 0x10], rdx
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x90
mov qword [rbp - 0x29], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rdi, rdx
mov rsi, rcx
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp rdi, rax
jae 0x140107a45
cmp qword [0x140e33548], 0
jne 0x1401076d4
mov eax, 0x3e8
jmp 0x140107a22
movzx edx, dil
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs rcx, 0x100000001b3
imul rdx, rcx
movzx eax, byte [rbp + 0x70]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rbp + 0x71]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rbp + 0x72]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rbp + 0x73]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rbp + 0x74]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rbp + 0x75]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rbp + 0x76]
xor rdx, rax
imul rdx, rcx
mov rcx, qword [rsi + 0x78]
and rcx, rdx
shl rcx, 4
mov r11, qword [rsi + 0x60]
mov r10, qword [r11 + rcx]
mov rax, r10
lea rbx, [rcx + 8]
mov r9, qword [rsi + 0x50]
nop
cmp r10, r9
jne 0x14010776a
mov rcx, r9
jmp 0x140107771
mov rcx, qword [rbx + r11]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x1401077ad
cmp qword [rax + 0x10], rdi
je 0x140107781
mov rax, qword [rax]
jmp 0x140107760
mov r8, rax
mov rcx, rax
cmp r10, r9
jne 0x140107791
mov rdx, r9
jmp 0x140107798
mov rdx, qword [rbx + r11]
mov rdx, qword [rdx]
cmp rax, rdx
je 0x1401077a8
cmp rdi, qword [rax + 0x10]
jne 0x1401077a8
mov rax, qword [rax]
jmp 0x140107787
cmp r8, rax
jne 0x1401077b3
mov rcx, r9
mov rax, r9
xor edx, edx
cmp rcx, rax
je 0x1401077d4
nop word [rax + rax]
inc rdx
mov rcx, qword [rcx]
cmp rcx, rax
jne 0x1401077c0
test rdx, rdx
jne 0x140107a20
lea r8, [rbp + 0x6f]
mov edx, 0x988
lea rcx, [rbp - 0x11]
call fcn.1400705f0
nop
mov rax, qword [rbp - 0x11]
mov byte [rax + 1], 1
lea rbx, [rsi + 0x88]
mov qword [rbp + 0x6f], rbx
mov rcx, rbx
call fcn.140124cb0
test eax, eax
je 0x14010780e
mov ecx, eax
call fcn.140125314
nop
mov r9, qword [rbp - 9]
mov r8, qword [rbp - 0x11]
sub r9, r8
imul r15, rdi, 0x318
mov rax, qword [rsi + 0x10]
mov edx, 0x208020ca
mov rcx, qword [rax + r15 + 0x2d8]
call qword [0x140e33548]
mov r14d, eax
cmp eax, 0x3e7
jne 0x140107878
lea r8, [rbp - 0x11]
mov edx, 0x984
lea rcx, [rbp - 0x11]
call fcn.1400924b0
mov r9, qword [rbp - 9]
mov r8, qword [rbp - 0x11]
sub r9, r8
mov rax, qword [rsi + 0x10]
mov edx, 0x208020ca
mov rcx, qword [rax + r15 + 0x2d8]
call qword [0x140e33548]
mov r14d, eax
mov rcx, rbx
call fcn.140124d10
test eax, eax
je 0x14010788c
mov ecx, eax
call fcn.140125314
nop
test r14d, r14d
je 0x140107986
mov qword [rbp + 7], 0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xf], xmm0
mov qword [rbp + 0x1f], rdi
lea rdx, [rbp + 7]
lea rcx, [rbp + 0x27]
call fcn.140055a10
nop
movzx r9d, byte [rbp + 0x6f]
lea r8, [rbp + 0x1f]
lea rdx, [rbp - 0x21]
lea rcx, [rsi + 0x48]
call fcn.1400fe320
nop
mov rcx, qword [rbp + 0x27]
test rcx, rcx
je 0x140107909
mov rdx, qword [rbp + 0x37]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140107903
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140107a66
call fcn.140143924
nop
mov rcx, qword [rbp + 7]
test rcx, rcx
je 0x140107944
mov rdx, qword [rbp + 0x17]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14010793e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140107a6c
call fcn.140143924
nop
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x14010797e
mov rdx, qword [rbp - 1]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140107979
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140107a72
call fcn.140143924
mov eax, r14d
jmp 0x140107a22
mov qword [rbp + 0x1f], rdi
lea rdx, [rbp - 0x11]
lea rcx, [rbp + 0x27]
call fcn.140055a10
nop
movzx r9d, byte [rbp + 0x6f]
lea r8, [rbp + 0x1f]
lea rdx, [rbp - 0x21]
lea rcx, [rsi + 0x48]
call fcn.1400fe320
nop
mov rcx, qword [rbp + 0x27]
test rcx, rcx
je 0x1401079ea
mov rdx, qword [rbp + 0x37]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401079e4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140107a78
call fcn.140143924
nop
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x140107a20
mov rdx, qword [rbp - 1]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140107a1b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140107a3f
call fcn.140143924
xor eax, eax
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.140165594
int3
lea rdx, str.bad_device_index
lea rcx, [rbp + 7]
call fcn.1400331f0
lea rdx, [0x14029fcc0]
lea rcx, [rbp + 7]
call fcn.140161c00
nop
call fcn.140165594
nop
call fcn.140165594
nop
call fcn.140165594
nop
call fcn.140165594
int3