private Types.UInt64 ReadUInt64() { uint _loc3_ = 0; Types.UInt64 _loc2_ = new Types.UInt64(); uint _loc4_ = 0; while (true) { _loc3_ = ReadByte(); if (_loc4_ == 28) { break; } if (_loc3_ >= 128) { _loc2_.low = (uint)(_loc2_.low) | (byte)((_loc3_ & 127) << (byte)_loc4_); _loc4_ = _loc4_ + 7; continue; } _loc2_.low = (uint)_loc2_.low | (byte)((byte)_loc3_ << (byte)_loc4_); return(_loc2_); } if (_loc3_ >= 128) { _loc3_ = _loc3_ & 127; _loc2_.low = (uint)_loc2_.low | (byte)((byte)_loc3_ << (byte)_loc4_); _loc2_.high = (int)(_loc3_ >> 4); _loc4_ = 3; while (true) { _loc3_ = ReadByte(); if (_loc4_ < 32) { if (_loc3_ >= 128) { _loc2_.high = (int)((uint)_loc2_.high | (uint)((byte)(_loc3_ & 127) << (byte)_loc4_)); } else { break; } } _loc4_ = _loc4_ + 7; } _loc2_.high = _loc2_.high | (byte)_loc3_ << (byte)_loc4_; return(_loc2_); } _loc2_.low = (uint)_loc2_.low | (uint)((byte)_loc3_ << (byte)_loc4_); _loc2_.high = (int)(_loc3_ >> 4); return(_loc2_); }