public static ulong ReadVarInt(BinaryReader br)
{
ulong ret = 0;
byte size = br.ReadByte();
if (size < 0xFD)
ret = (ulong)size;
else
{
switch (size)
{
case 0xFD:
ret = (ulong)br.ReadUInt16();
break;
case 0xFE:
ret = (ulong)br.ReadUInt32();
break;
case 0xFF:
ret = br.ReadUInt64();
break;
}
}
return ret;
}