in cs/src/core/io/IntegerHelper.cs [267:327]
public static ulong DecodeVarUInt64(byte[] data, ref int index)
{
var i = index;
// byte 0
ulong result = data[i++];
if (0x80u <= result)
{
// byte 1
ulong raw = data[i++];
result = (result & 0x7Fu) | ((raw & 0x7Fu) << 7);
if (0x80u <= raw)
{
// byte 2
raw = data[i++];
result |= (raw & 0x7Fu) << 14;
if (0x80u <= raw)
{
// byte 3
raw = data[i++];
result |= (raw & 0x7Fu) << 21;
if (0x80u <= raw)
{
// byte 4
raw = data[i++];
result |= (raw & 0x7Fu) << 28;
if (0x80u <= raw)
{
// byte 5
raw = data[i++];
result |= (raw & 0x7Fu) << 35;
if (0x80u <= raw)
{
// byte 6
raw = data[i++];
result |= (raw & 0x7Fu) << 42;
if (0x80u <= raw)
{
// byte 7
raw = data[i++];
result |= (raw & 0x7Fu) << 49;
if (0x80u <= raw)
{
// byte 8
raw = data[i++];
result |= raw << 56;
if (0x80u <= raw)
{
// byte 9
i++;
}
}
}
}
}
}
}
}
}
index = i;
return result;
}