Function at 0x51af40
Capabilities:
Hash data using fnv

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x51b7be
push rbp
mov rbp, rsp
sub rsp, 0x10
mov qword [rsp + 0x20], rax
xor ecx, ecx
movabs rdx, 0xcbf29ce484222325
jmp 0x51af6f
lea rax, [rsi + 0x10]
inc rcx
mov rdx, rdi
cmp rbx, rcx
jle 0x51b31b
mov rsi, rax
mov rdi, qword [rax]
nop
test rdi, rdi
je 0x51b348
mov r8d, dword [rdi + 0x10]
mov r9, qword [rax + 8]
cmp r8d, 0x854f63b7
ja 0x51b160
nop
cmp r8d, 0x5272f85c
ja 0x51b067
cmp r8d, 0x7e34ced
ja 0x51b00b
cmp r8d, 0x778cdb8
jne 0x51afe0
lea rax, [0x00531720]
cmp rdi, rax
jne 0x51b348
mov rdi, qword [r9]
mov r8, qword [r9 + 8]
xor r9d, r9d
jmp 0x51b7a0
cmp r8d, 0x7e34ced
jne 0x51b348
lea r8, [0x005301a0]
cmp rdi, r8
jne 0x51b348
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x51b736
cmp r8d, 0x38dfc0a9
jne 0x51b040
lea r8, [0x005302e0]
nop dword [rax + rax]
cmp rdi, r8
jne 0x51b348
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x51b6e8
cmp r8d, 0x5272f85c
jne 0x51b348
lea r8, [0x005319e0]
cmp rdi, r8
jne 0x51b348
mov rdi, qword [r9]
xor eax, eax
jmp 0x51b6c1
cmp r8d, 0x6bed3cfa
ja 0x51b0c7
cmp r8d, 0x64fd0d3c
jne 0x51b0a0
lea r8, [0x00531aa0]
cmp rdi, r8
jne 0x51b348
mov rdi, qword [r9]
xor eax, eax
jmp 0x51b681
cmp r8d, 0x6bed3cfa
jne 0x51b348
lea r8, [0x00531920]
cmp rdi, r8
jne 0x51b348
mov edi, dword [r9]
xor eax, eax
jmp 0x51b644
cmp r8d, 0x6d0f0857
jne 0x51b100
lea r8, [0x00530920]
nop word [rax + rax]
cmp rdi, r8
jne 0x51b348
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x51b5da
cmp r8d, 0x81044065
jne 0x51b127
lea r8, [0x005301e0]
cmp rdi, r8
jne 0x51b348
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x51b5b9
cmp r8d, 0x854f63b7
jne 0x51b348
lea r8, [0x005304a0]
nop dword [rax + rax]
cmp rdi, r8
jne 0x51b348
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x51b554
cmp r8d, 0x99d6dd43
ja 0x51b233
cmp r8d, 0x95738979
ja 0x51b1e0
cmp r8d, 0x8fc52ddb
jne 0x51b1a0
lea r8, [0x00531b20]
cmp rdi, r8
jne 0x51b348
mov rdi, qword [r9]
xor eax, eax
jmp 0x51b532
cmp r8d, 0x95738979
jne 0x51b348
lea r8, [0x00531a60]
cmp rdi, r8
jne 0x51b348
movzx edi, byte [r9]
xor rdi, rdx
nop
movabs rdx, 0x100000001b3
imul rdi, rdx
jmp 0x51af65
cmp r8d, 0x99777383
jne 0x51b207
lea r8, [0x00530a60]
cmp rdi, r8
jne 0x51b348
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x51b4cb
cmp r8d, 0x99d6dd43
jne 0x51b348
lea r8, [0x00531960]
nop dword [rax + rax]
cmp rdi, r8
jne 0x51b348
mov rdi, qword [r9]
xor eax, eax
jmp 0x51b4a9
cmp r8d, 0xcb735792
ja 0x51b293
nop dword [rax]
cmp r8d, 0xbe66ff1c
jne 0x51b267
lea r8, [0x00530a20]
cmp rdi, r8
jne 0x51b348
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x51b442
cmp r8d, 0xcb735792
jne 0x51b348
lea r8, [0x005318a0]
nop dword [rax + rax]
cmp rdi, r8
jne 0x51b348
mov rdi, qword [r9]
xor eax, eax
jmp 0x51b420
cmp r8d, 0xd83fe3b3
jne 0x51b2c0
lea r8, [0x00530220]
cmp rdi, r8
jne 0x51b348
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x51b3b2
cmp r8d, 0xe8fe0eb5
jne 0x51b2e5
lea r8, [0x005309a0]
cmp rdi, r8
jne 0x51b348
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
nop
jmp 0x51b362
cmp r8d, 0xe927f9e3
jne 0x51b348
lea r8, [0x00531a20]
cmp rdi, r8
jne 0x51b348
mov edi, dword [r9]
xor eax, eax
nop
jmp 0x51b340
lea r8, [0x00531a60]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x51af65
mov rax, rdx
add rsp, 0x10
pop rbp
ret
movzx r9d, dil
xor rdx, r9
inc rax
shr edi, 8
movabs r9, 0x100000001b3
imul rdx, r9
nop
cmp rax, 4
jl 0x51b324
jmp 0x51b302
lea rax, [0x00531720]
lea rbx, [0x0058ef50]
call sym.runtime.gopanic
lea rdi, [r10 + 0x10]
inc rax
cmp rax, r9
jge 0x51b376
mov r10, rdi
mov r11, qword [rdi]
mov rdi, qword [rdi + 8]
xor r12d, r12d
jmp 0x51b3a8
lea r8, [0x00531a60]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x51af65
movzx r13d, byte [r12 + r11]
xor rdx, r13
inc r12
movabs r13, 0x100000001b3
imul rdx, r13
cmp r12, rdi
jl 0x51b38f
jmp 0x51b35b
inc rax
cmp rax, r9
jge 0x51b3c2
mov r10d, dword [rdi + rax*4]
xor r11d, r11d
nop
jmp 0x51b3f7
lea r8, [0x00531a60]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x51af65
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10d, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 4
jl 0x51b3db
jmp 0x51b3af
movzx r9d, dil
xor rdx, r9
inc rax
shr rdi, 8
movabs r9, 0x100000001b3
imul rdx, r9
nop dword [rax + rax]
cmp rax, 8
jl 0x51b3ff
lea r8, [0x00531a60]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x51af65
inc rax
cmp rax, r9
jge 0x51b450
mov r10, qword [rdi + rax*8]
xor r11d, r11d
jmp 0x51b485
lea r8, [0x00531a60]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x51af65
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 8
jl 0x51b469
jmp 0x51b43f
movzx r9d, dil
xor rdx, r9
inc rax
shr rdi, 8
movabs r9, 0x100000001b3
imul rdx, r9
cmp rax, 8
jl 0x51b48d
lea r8, [0x00531a60]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x51af65
inc rax
cmp rax, r9
jge 0x51b4d9
mov r10, qword [rdi + rax*8]
xor r11d, r11d
jmp 0x51b50e
lea r8, [0x00531a60]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x51af65
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 8
jl 0x51b4f2
jmp 0x51b4c8
movzx r9d, dil
xor rdx, r9
inc rax
shr rdi, 8
movabs r9, 0x100000001b3
imul rdx, r9
cmp rax, 8
jl 0x51b516
lea r8, [0x00531a60]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x51af65
inc rax
cmp rax, r9
jge 0x51b562
mov r10, qword [rdi + rax*8]
xor r11d, r11d
jmp 0x51b597
lea r8, [0x00531a60]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x51af65
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 8
jl 0x51b57b
jmp 0x51b551
movzx r10d, byte [rax + rdi]
xor rdx, r10
inc rax
nop
movabs r10, 0x100000001b3
imul rdx, r10
cmp rax, r9
jl 0x51b59f
lea r8, [0x00531a60]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x51af65
inc rax
cmp rax, r9
jge 0x51b5e8
mov r10, qword [rdi + rax*8]
xor r11d, r11d
jmp 0x51b621
lea r8, [0x00531a60]
mov rdi, rdx
movabs rdx, 0x100000001b3
nop dword [rax]
jmp 0x51af65
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 8
jl 0x51b605
jmp 0x51b5d7
movzx r9d, dil
xor rdx, r9
inc rax
shr edi, 8
movabs r9, 0x100000001b3
imul rdx, r9
cmp rax, 4
jl 0x51b629
lea r8, [0x00531a60]
mov rdi, rdx
movabs rdx, 0x100000001b3
nop
jmp 0x51af65
movzx r9d, dil
xor rdx, r9
inc rax
shr rdi, 8
movabs r9, 0x100000001b3
imul rdx, r9
cmp rax, 8
jl 0x51b665
lea r8, [0x00531a60]
mov rdi, rdx
movabs rdx, 0x100000001b3
nop dword [rax + rax]
jmp 0x51af65
movzx r9d, dil
xor rdx, r9
inc rax
shr rdi, 8
movabs r9, 0x100000001b3
imul rdx, r9
cmp rax, 8
jl 0x51b6a5
lea r8, [0x00531a60]
mov rdi, rdx
movabs rdx, 0x100000001b3
nop dword [rax + rax]
jmp 0x51af65
inc rax
cmp rax, r9
jge 0x51b6f6
mov r10d, dword [rdi + rax*4]
xor r11d, r11d
jmp 0x51b72b
lea r8, [0x00531a60]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x51af65
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10d, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 4
jl 0x51b70f
jmp 0x51b6e5
inc rax
cmp rax, r9
jge 0x51b744
mov r10, qword [rdi + rax*8]
xor r11d, r11d
jmp 0x51b779
lea r8, [0x00531a60]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x51af65
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 8
jl 0x51b75d
nop
jmp 0x51b733
movzx r10d, byte [r9 + rdi]
xor rdx, r10
inc r9
movabs r10, 0x100000001b3
imul rdx, r10
nop dword [rax + rax]
cmp r9, r8
jl 0x51b782
lea r8, [0x00531a60]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x51af65
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp sym.internal_bisect.Hash