Function at 0x14002df90
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 0x14002dfd7
mov r15d, r12d
mov qword [rbp - 0x49], r12
jmp 0x14002e009
lea rbx, [r10 + r10*4]
mov r8d, 0x10
shl rbx, 3
mov rdx, rbx
call fcn.14001b250
mov qword [rbp - 0x49], rax
mov r15, rax
test rax, rax
je 0x14002e006
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.140119350
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 0x14002e5de
lea rdi, [rax + 0x10]
mov ecx, 0x1000
test word [rdi - 2], cx
je 0x14002e04a
lea rcx, [rdi - 0x10]
jmp 0x14002e051
mov rcx, qword [rdi - 8]
and rcx, rbx
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.140121044
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 0x14002e138
mov rcx, qword [rcx]
cmp r9, qword [rax + 0x10]
je 0x14002e12f
nop
cmp rax, rcx
je 0x14002e138
mov rax, qword [rax + 8]
cmp r9, qword [rax + 0x10]
jne 0x14002e120
test rax, rax
jne 0x14002e50d
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.140015670
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 0x14002e1b0
add rax, 0x10
jmp 0x14002e1c1
xorps xmm0, xmm0
lea rax, [0x140201b48]
movups xmmword [0x140201b48], 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.140015670
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 0x14002e21d
add rax, 0x10
jmp 0x14002e22e
xorps xmm0, xmm0
lea rax, [0x140201b48]
movups xmmword [0x140201b48], 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.140015670
and rbx, qword [rdi + 8]
mov ecx, dword [rdi]
shl rcx, 5
add rbx, rcx
cmp qword [rbp - 0x31], rbx
je 0x14002e435
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.140015670
cmp qword [rbp - 0x29], rbx
je 0x14002e435
mov r8d, 0x40
mov rdx, r14
mov rcx, r13
call fcn.14001b250
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.140015670
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 0x14002e364
add rax, 0x10
jmp 0x14002e37c
xorps xmm0, xmm0
lea rax, [0x140201b48]
movups xmmword [0x140201b48], 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.140015670
movabs rax, 0xffffffffffff
mov ecx, r14d
and rbx, rax
shl rcx, 5
mov rax, qword [rbp - 0x19]
add rcx, rbx
cmp rax, rcx
je 0x14002e3eb
add rax, 0x10
jmp 0x14002e3fc
xorps xmm0, xmm0
lea rax, [0x140201b48]
movups xmmword [0x140201b48], xmm0
mov r9, qword [rax]
lea rax, [r9 + r12]
cmp rax, qword [rbp + 0x7f]
ja 0x14002e58e
mov rdx, qword [rsi + 0x18]
mov rcx, r15
mov r8, qword [rbp + 0x77]
add r8, r12
shr rdx, 2
call fcn.140042000
test al, al
je 0x14002e53e
mov r12, qword [rbp - 0x51]
jmp 0x14002e4c1
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.140015670
mov rax, qword [rbp - 0x11]
cmp rax, rbx
je 0x14002e486
lea rdx, [rax + 0x10]
jmp 0x14002e497
xorps xmm0, xmm0
lea rdx, [0x140201b48]
movups xmmword [0x140201b48], xmm0
mov eax, 0x1000
test word [rdx + 0xe], ax
jne 0x14002e4b3
mov rax, qword [rdx + 8]
movabs rdx, 0xffffffffffff
and rdx, rax
mov r8, r14
mov rcx, r13
call fcn.14001b830
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.140017c40
mov rdx, qword [rbp + 0x5f]
mov r8, rsi
mov rcx, r14
mov r9, qword [rax]
add r9, 0x18
call rbx
test al, al
je 0x14002e5da
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 0x14002e5de
mov r15, qword [rbp - 0x49]
jmp 0x14002e039
mov edx, dword [0x140203bf0]
mov rax, qword gs:[0x58]
mov ecx, 8
mov rax, qword [rax + rdx*8]
cmp dword [rcx + rax], 2
jg 0x14002e5da
lea rdx, str.Invalid_varint_format._n
mov ecx, 2
call fcn.14001c200
test al, al
jne 0x14002e5da
mov ecx, 2
call fcn.140121190
lea rdx, str.Fossilize_ERROR:_Invalid_varint_format._n
mov rcx, rax
call fcn.1400020d0
xor al, al
jmp 0x14002e5ec
mov edx, dword [0x140203bf0]
mov rax, qword gs:[0x58]
mov ecx, 8
mov rax, qword [rax + rdx*8]
cmp dword [rcx + rax], 2
jg 0x14002e5da
lea rdx, str.Binary_varint_buffer_overflows_payload._n
mov ecx, 2
call fcn.14001c200
test al, al
jne 0x14002e5da
mov ecx, 2
call fcn.140121190
lea rdx, str.Fossilize_ERROR:_Binary_varint_buffer_overflows_payload._n
mov rcx, rax
call fcn.1400020d0
xor al, al
jmp 0x14002e5ec
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x80]
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