Function at 0x4ae660
Capabilities:
Hash data using fnv

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4aeede
push rbp
mov rbp, rsp
sub rsp, 0x10
mov qword [rsp + 0x20], rax
xor ecx, ecx
movabs rdx, 0xcbf29ce484222325
jmp 0x4ae68f
lea rax, [rsi + 0x10]
inc rcx
mov rdx, rdi
cmp rbx, rcx
jle 0x4aea3b
mov rsi, rax
mov rdi, qword [rax]
nop
test rdi, rdi
je 0x4aea68
mov r8d, dword [rdi + 0x10]
mov r9, qword [rax + 8]
cmp r8d, 0x854f63b7
ja 0x4ae880
nop
cmp r8d, 0x5272f85c
ja 0x4ae787
cmp r8d, 0x7e34ced
ja 0x4ae72b
cmp r8d, 0x778cdb8
jne 0x4ae700
lea rax, [0x0056e8c0]
cmp rdi, rax
jne 0x4aea68
mov rdi, qword [r9]
mov r8, qword [r9 + 8]
xor r9d, r9d
jmp 0x4aeec0
cmp r8d, 0x7e34ced
jne 0x4aea68
lea r8, [0x0056c740]
cmp rdi, r8
jne 0x4aea68
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x4aee56
cmp r8d, 0x38dfc0a9
jne 0x4ae760
lea r8, [0x0056c880]
nop dword [rax + rax]
cmp rdi, r8
jne 0x4aea68
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x4aee08
cmp r8d, 0x5272f85c
jne 0x4aea68
lea r8, [0x0056eb80]
cmp rdi, r8
jne 0x4aea68
mov rdi, qword [r9]
xor eax, eax
jmp 0x4aede1
cmp r8d, 0x6bed3cfa
ja 0x4ae7e7
cmp r8d, 0x64fd0d3c
jne 0x4ae7c0
lea r8, [0x0056ec40]
cmp rdi, r8
jne 0x4aea68
mov rdi, qword [r9]
xor eax, eax
jmp 0x4aeda1
cmp r8d, 0x6bed3cfa
jne 0x4aea68
lea r8, [0x0056eac0]
cmp rdi, r8
jne 0x4aea68
mov edi, dword [r9]
xor eax, eax
jmp 0x4aed64
cmp r8d, 0x6d0f0857
jne 0x4ae820
lea r8, [0x0056cf40]
nop word [rax + rax]
cmp rdi, r8
jne 0x4aea68
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x4aecfa
cmp r8d, 0x81044065
jne 0x4ae847
lea r8, [0x0056c780]
cmp rdi, r8
jne 0x4aea68
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x4aecd9
cmp r8d, 0x854f63b7
jne 0x4aea68
lea r8, [0x0056ca80]
nop dword [rax + rax]
cmp rdi, r8
jne 0x4aea68
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x4aec74
cmp r8d, 0x99d6dd43
ja 0x4ae953
cmp r8d, 0x95738979
ja 0x4ae900
cmp r8d, 0x8fc52ddb
jne 0x4ae8c0
lea r8, [0x0056ecc0]
cmp rdi, r8
jne 0x4aea68
mov rdi, qword [r9]
xor eax, eax
jmp 0x4aec52
cmp r8d, 0x95738979
jne 0x4aea68
lea r8, [0x0056ec00]
cmp rdi, r8
jne 0x4aea68
movzx edi, byte [r9]
xor rdi, rdx
nop
movabs rdx, 0x100000001b3
imul rdi, rdx
jmp 0x4ae685
cmp r8d, 0x99777383
jne 0x4ae927
lea r8, [0x0056d0c0]
cmp rdi, r8
jne 0x4aea68
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x4aebeb
cmp r8d, 0x99d6dd43
jne 0x4aea68
lea r8, [0x0056eb00]
nop dword [rax + rax]
cmp rdi, r8
jne 0x4aea68
mov rdi, qword [r9]
xor eax, eax
jmp 0x4aebc9
cmp r8d, 0xcb735792
ja 0x4ae9b3
nop dword [rax]
cmp r8d, 0xbe66ff1c
jne 0x4ae987
lea r8, [0x0056d080]
cmp rdi, r8
jne 0x4aea68
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x4aeb62
cmp r8d, 0xcb735792
jne 0x4aea68
lea r8, [0x0056ea40]
nop dword [rax + rax]
cmp rdi, r8
jne 0x4aea68
mov rdi, qword [r9]
xor eax, eax
jmp 0x4aeb40
cmp r8d, 0xd83fe3b3
jne 0x4ae9e0
lea r8, [0x0056c7c0]
cmp rdi, r8
jne 0x4aea68
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x4aead2
cmp r8d, 0xe8fe0eb5
jne 0x4aea05
lea r8, [0x0056d000]
cmp rdi, r8
jne 0x4aea68
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
nop
jmp 0x4aea82
cmp r8d, 0xe927f9e3
jne 0x4aea68
lea r8, [0x0056ebc0]
cmp rdi, r8
jne 0x4aea68
mov edi, dword [r9]
xor eax, eax
nop
jmp 0x4aea60
lea r8, [0x0056ec00]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x4ae685
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 0x4aea44
jmp 0x4aea22
lea rax, [0x0056e8c0]
lea rbx, [0x005feb60]
call sym.runtime.gopanic
lea rdi, [r10 + 0x10]
inc rax
cmp rax, r9
jge 0x4aea96
mov r10, rdi
mov r11, qword [rdi]
mov rdi, qword [rdi + 8]
xor r12d, r12d
jmp 0x4aeac8
lea r8, [0x0056ec00]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x4ae685
movzx r13d, byte [r12 + r11]
xor rdx, r13
inc r12
movabs r13, 0x100000001b3
imul rdx, r13
cmp r12, rdi
jl 0x4aeaaf
jmp 0x4aea7b
inc rax
cmp rax, r9
jge 0x4aeae2
mov r10d, dword [rdi + rax*4]
xor r11d, r11d
nop
jmp 0x4aeb17
lea r8, [0x0056ec00]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x4ae685
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10d, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 4
jl 0x4aeafb
jmp 0x4aeacf
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 0x4aeb1f
lea r8, [0x0056ec00]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x4ae685
inc rax
cmp rax, r9
jge 0x4aeb70
mov r10, qword [rdi + rax*8]
xor r11d, r11d
jmp 0x4aeba5
lea r8, [0x0056ec00]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x4ae685
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 8
jl 0x4aeb89
jmp 0x4aeb5f
movzx r9d, dil
xor rdx, r9
inc rax
shr rdi, 8
movabs r9, 0x100000001b3
imul rdx, r9
cmp rax, 8
jl 0x4aebad
lea r8, [0x0056ec00]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x4ae685
inc rax
cmp rax, r9
jge 0x4aebf9
mov r10, qword [rdi + rax*8]
xor r11d, r11d
jmp 0x4aec2e
lea r8, [0x0056ec00]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x4ae685
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 8
jl 0x4aec12
jmp 0x4aebe8
movzx r9d, dil
xor rdx, r9
inc rax
shr rdi, 8
movabs r9, 0x100000001b3
imul rdx, r9
cmp rax, 8
jl 0x4aec36
lea r8, [0x0056ec00]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x4ae685
inc rax
cmp rax, r9
jge 0x4aec82
mov r10, qword [rdi + rax*8]
xor r11d, r11d
jmp 0x4aecb7
lea r8, [0x0056ec00]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x4ae685
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 8
jl 0x4aec9b
jmp 0x4aec71
movzx r10d, byte [rax + rdi]
xor rdx, r10
inc rax
nop
movabs r10, 0x100000001b3
imul rdx, r10
cmp rax, r9
jl 0x4aecbf
lea r8, [0x0056ec00]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x4ae685
inc rax
cmp rax, r9
jge 0x4aed08
mov r10, qword [rdi + rax*8]
xor r11d, r11d
jmp 0x4aed41
lea r8, [0x0056ec00]
mov rdi, rdx
movabs rdx, 0x100000001b3
nop dword [rax]
jmp 0x4ae685
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 8
jl 0x4aed25
jmp 0x4aecf7
movzx r9d, dil
xor rdx, r9
inc rax
shr edi, 8
movabs r9, 0x100000001b3
imul rdx, r9
cmp rax, 4
jl 0x4aed49
lea r8, [0x0056ec00]
mov rdi, rdx
movabs rdx, 0x100000001b3
nop
jmp 0x4ae685
movzx r9d, dil
xor rdx, r9
inc rax
shr rdi, 8
movabs r9, 0x100000001b3
imul rdx, r9
cmp rax, 8
jl 0x4aed85
lea r8, [0x0056ec00]
mov rdi, rdx
movabs rdx, 0x100000001b3
nop dword [rax + rax]
jmp 0x4ae685
movzx r9d, dil
xor rdx, r9
inc rax
shr rdi, 8
movabs r9, 0x100000001b3
imul rdx, r9
cmp rax, 8
jl 0x4aedc5
lea r8, [0x0056ec00]
mov rdi, rdx
movabs rdx, 0x100000001b3
nop dword [rax + rax]
jmp 0x4ae685
inc rax
cmp rax, r9
jge 0x4aee16
mov r10d, dword [rdi + rax*4]
xor r11d, r11d
jmp 0x4aee4b
lea r8, [0x0056ec00]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x4ae685
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10d, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 4
jl 0x4aee2f
jmp 0x4aee05
inc rax
cmp rax, r9
jge 0x4aee64
mov r10, qword [rdi + rax*8]
xor r11d, r11d
jmp 0x4aee99
lea r8, [0x0056ec00]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x4ae685
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 8
jl 0x4aee7d
nop
jmp 0x4aee53
movzx r10d, byte [r9 + rdi]
xor rdx, r10
inc r9
movabs r10, 0x100000001b3
imul rdx, r10
nop dword [rax + rax]
cmp r9, r8
jl 0x4aeea2
lea r8, [0x0056ec00]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x4ae685
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