public uint ReadVariableUInt32() { int num1 = 0; int num2 = 0; while (true) { byte num3 = this.ReadByte(); num1 |= (num3 & 0x7f) << num2; num2 += 7; if ((num3 & 0x80) == 0) return (uint)num1; } }