Function at 0x14001de60
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xa0
mov r10d, dword [r8]
xor r12d, r12d
mov qword [rbp - 0x51], r12
mov rsi, r8
mov r14, rdx
mov r13, rcx
test r10, r10
jne 0x14001dea7
mov r15d, r12d
mov qword [rbp - 0x49], r12
jmp 0x14001ded9
lea rbx, [r10 + r10*4]
mov r8d, 0x10
shl rbx, 3
mov rdx, rbx
call fcn.140010970
mov qword [rbp - 0x49], rax
mov r15, rax
test rax, rax
je 0x14001ded6
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.1400eee20
mov r10d, dword [rsi]
mov rax, qword [rsi + 8]
movabs rbx, 0xffffffffffff
and rax, rbx
mov ecx, r10d
shl rcx, 5
add rcx, rax
mov qword [rsp + 0x98], rdi
cmp rax, rcx
je 0x14001e4ae
lea rdi, [rax + 0x10]
mov ecx, 0x1000
test word [rdi - 2], cx
je 0x14001df1a
lea rcx, [rdi - 0x10]
jmp 0x14001df21
mov rcx, qword [rdi - 8]
and rcx, rbx
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.1400f6b50
mov r9, rax
movzx r8d, al
mov qword [rbp + 0x5f], rax
movabs r10, 0x100000001b3
movabs rax, 0xcbf29ce484222325
mov rcx, r9
xor r8, rax
shr rcx, 8
movzx edx, cl
mov rax, r9
shr rax, 0x10
movzx ecx, al
mov rax, r9
imul r8, r10
shr rax, 0x18
xor r8, rdx
imul r8, r10
xor r8, rcx
movzx ecx, al
imul r8, r10
mov rax, r9
xor r8, rcx
shr rax, 0x20
movzx ecx, al
mov rax, r9
shr rax, 0x28
imul r8, r10
xor r8, rcx
movzx ecx, al
imul r8, r10
mov rax, r9
xor r8, rcx
shr rax, 0x30
movzx ecx, al
mov rax, r9
shr rax, 0x38
imul r8, r10
xor rcx, r8
imul rcx, r10
xor rcx, rax
imul rcx, r10
and rcx, qword [r13 + 0xf8]
shl rcx, 4
add rcx, qword [r13 + 0xe0]
mov rax, qword [rcx + 8]
cmp rax, qword [r13 + 0xd0]
je 0x14001e008
mov rcx, qword [rcx]
cmp r9, qword [rax + 0x10]
je 0x14001dfff
nop
cmp rax, rcx
je 0x14001e008
mov rax, qword [rax + 8]
cmp r9, qword [rax + 0x10]
jne 0x14001dff0
test rax, rax
jne 0x14001e3dd
mov eax, r12d
lea r8, [rbp - 0x61]
xorps xmm0, xmm0
lea rdx, [rbp - 0x41]
movups xmmword [rbp - 0x61], xmm0
movabs r14, 0xffff000000000000
mov dword [rbp - 0x61], 5
lea rcx, [rax + rax*4]
lea rsi, [r15 + rcx*8]
mov r15d, 0x405
lea rcx, str.flags
mov dword [rsi], 0x10
mov word [rbp - 0x53], r15w
mov rax, qword [rbp - 0x59]
and rax, r14
or rax, rcx
mov rcx, rdi
mov qword [rbp - 0x59], rax
call fcn.14000af80
mov ecx, dword [rdi]
mov rax, qword [rdi + 8]
and rax, rbx
shl rcx, 5
add rcx, rax
mov rax, qword [rbp - 0x41]
cmp rax, rcx
je 0x14001e080
add rax, 0x10
jmp 0x14001e091
xorps xmm0, xmm0
lea rax, [0x1401bc408]
movups xmmword [0x1401bc408], xmm0
mov eax, dword [rax]
lea rcx, str.codeSize
mov dword [rsi + 0x10], eax
lea r8, [rbp - 0x61]
xorps xmm0, xmm0
lea rdx, [rbp - 0x39]
movups xmmword [rbp - 0x61], xmm0
mov word [rbp - 0x53], r15w
mov rax, qword [rbp - 0x59]
and rax, r14
mov dword [rbp - 0x61], 8
or rax, rcx
mov rcx, rdi
mov qword [rbp - 0x59], rax
call fcn.14000af80
mov ecx, dword [rdi]
mov rax, qword [rdi + 8]
and rax, rbx
shl rcx, 5
add rcx, rax
mov rax, qword [rbp - 0x39]
cmp rax, rcx
je 0x14001e0ed
add rax, 0x10
jmp 0x14001e0fe
xorps xmm0, xmm0
lea rax, [0x1401bc408]
movups xmmword [0x1401bc408], xmm0
mov r14, qword [rax]
lea r8, [rbp - 0x61]
xorps xmm0, xmm0
mov qword [rsi + 0x18], r14
movups xmmword [rbp - 0x61], xmm0
mov word [rbp - 0x53], r15w
lea rdx, [rbp - 0x31]
mov rax, qword [rbp - 0x59]
movabs rcx, 0xffff000000000000
and rax, rcx
mov dword [rbp - 0x61], 0xc
lea rcx, str.varintOffset
or rax, rcx
mov rcx, rdi
mov qword [rbp - 0x59], rax
call fcn.14000af80
and rbx, qword [rdi + 8]
mov ecx, dword [rdi]
shl rcx, 5
add rbx, rcx
cmp qword [rbp - 0x31], rbx
je 0x14001e305
xorps xmm0, xmm0
lea r8, [rbp - 0x61]
movups xmmword [rbp - 0x61], xmm0
mov word [rbp - 0x53], r15w
lea rdx, [rbp - 0x29]
mov rax, qword [rbp - 0x59]
movabs rcx, 0xffff000000000000
and rax, rcx
mov dword [rbp - 0x61], 0xa
lea rcx, str.varintSize
or rax, rcx
mov rcx, rdi
mov qword [rbp - 0x59], rax
call fcn.14000af80
cmp qword [rbp - 0x29], rbx
je 0x14001e305
mov r8d, 0x40
mov rdx, r14
mov rcx, r13
call fcn.140010970
mov r15, rax
lea r8, [rbp - 0x61]
xorps xmm0, xmm0
lea rdx, [rbp - 0x21]
movups xmmword [rbp - 0x61], xmm0
mov eax, 0x405
mov dword [rbp - 0x61], 0xc
mov word [rbp - 0x53], ax
movabs rcx, 0xffff000000000000
mov rax, qword [rbp - 0x59]
and rax, rcx
lea rcx, str.varintOffset
or rax, rcx
mov rcx, rdi
mov qword [rbp - 0x59], rax
call fcn.14000af80
mov r14d, dword [rdi]
movabs rdx, 0xffffffffffff
mov rbx, qword [rdi + 8]
mov ecx, r14d
shl rcx, 5
mov rax, rbx
and rax, rdx
add rcx, rax
mov rax, qword [rbp - 0x21]
cmp rax, rcx
je 0x14001e234
add rax, 0x10
jmp 0x14001e24c
xorps xmm0, xmm0
lea rax, [0x1401bc408]
movups xmmword [0x1401bc408], xmm0
mov r14d, dword [rdi]
mov rbx, qword [rdi + 8]
mov r12, qword [rax]
lea r8, [rbp - 0x61]
xorps xmm0, xmm0
lea rdx, [rbp - 0x19]
movups xmmword [rbp - 0x61], xmm0
mov eax, 0x405
mov dword [rbp - 0x61], 0xa
mov word [rbp - 0x53], ax
movabs rcx, 0xffff000000000000
mov rax, qword [rbp - 0x59]
and rax, rcx
lea rcx, str.varintSize
or rax, rcx
mov rcx, rdi
mov qword [rbp - 0x59], rax
call fcn.14000af80
movabs rax, 0xffffffffffff
mov ecx, r14d
and rbx, rax
shl rcx, 5
mov rax, qword [rbp - 0x19]
add rcx, rbx
cmp rax, rcx
je 0x14001e2bb
add rax, 0x10
jmp 0x14001e2cc
xorps xmm0, xmm0
lea rax, [0x1401bc408]
movups xmmword [0x1401bc408], xmm0
mov r9, qword [rax]
lea rax, [r9 + r12]
cmp rax, qword [rbp + 0x7f]
ja 0x14001e45e
mov rdx, qword [rsi + 0x18]
mov rcx, r15
mov r8, qword [rbp + 0x77]
add r8, r12
shr rdx, 2
call fcn.140031610
test al, al
je 0x14001e40e
mov r12, qword [rbp - 0x51]
jmp 0x14001e391
xorps xmm0, xmm0
lea r8, [rbp - 0x61]
movups xmmword [rbp - 0x61], xmm0
mov word [rbp - 0x53], r15w
lea rdx, [rbp - 0x11]
mov rax, qword [rbp - 0x59]
movabs rcx, 0xffff000000000000
and rax, rcx
mov dword [rbp - 0x61], 4
lea rcx, str.code
or rax, rcx
mov rcx, rdi
mov qword [rbp - 0x59], rax
call fcn.14000af80
mov rax, qword [rbp - 0x11]
cmp rax, rbx
je 0x14001e356
lea rdx, [rax + 0x10]
jmp 0x14001e367
xorps xmm0, xmm0
lea rdx, [0x1401bc408]
movups xmmword [0x1401bc408], xmm0
mov eax, 0x1000
test word [rdx + 0xe], ax
jne 0x14001e383
mov rax, qword [rdx + 8]
movabs rdx, 0xffffffffffff
and rdx, rax
mov r8, r14
mov rcx, r13
call fcn.140010eb0
mov r15, rax
mov qword [rsi + 0x20], r15
lea rcx, [r13 + 0xc8]
mov r14, qword [rbp + 0x67]
lea r8, [rbp + 0x5f]
lea rdx, [rbp - 9]
mov rax, qword [r14]
mov rbx, qword [rax + 0x38]
call fcn.14000d240
mov rdx, qword [rbp + 0x5f]
mov r8, rsi
mov rcx, r14
mov r9, qword [rax]
add r9, 0x18
call rbx
test al, al
je 0x14001e4aa
mov rsi, qword [rbp + 0x6f]
movabs rbx, 0xffffffffffff
mov ecx, dword [rsi]
add rdi, 0x20
mov rax, qword [rsi + 8]
inc r12d
and rax, rbx
shl rcx, 5
add rcx, rax
mov qword [rbp - 0x51], r12
lea rax, [rdi - 0x10]
cmp rax, rcx
je 0x14001e4ae
mov r15, qword [rbp - 0x49]
jmp 0x14001df09
mov edx, dword [0x1401bddc8]
mov rax, qword gs:[0x58]
mov ecx, 8
mov rax, qword [rax + rdx*8]
cmp dword [rcx + rax], 2
jg 0x14001e4aa
lea rdx, str.Invalid_varint_format._n
mov ecx, 2
call fcn.1400112d0
test al, al
jne 0x14001e4aa
mov ecx, 2
call fcn.1400f6cc8
lea rdx, str.Fossilize_ERROR:_Invalid_varint_format._n
mov rcx, rax
call fcn.140002150
xor al, al
jmp 0x14001e4b9
mov edx, dword [0x1401bddc8]
mov rax, qword gs:[0x58]
mov ecx, 8
mov rax, qword [rax + rdx*8]
cmp dword [rcx + rax], 2
jg 0x14001e4aa
lea rdx, str.Binary_varint_buffer_overflows_payload._n
mov ecx, 2
call fcn.1400112d0
test al, al
jne 0x14001e4aa
mov ecx, 2
call fcn.1400f6cc8
lea rdx, str.Fossilize_ERROR:_Binary_varint_buffer_overflows_payload._n
mov rcx, rax
call fcn.140002150
xor al, al
jmp 0x14001e4b9
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x70]
mov al, 1
mov rdi, qword [rsp + 0x98]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbx
pop rbp
ret