93 {
94 int num =
value >> 31;
95 if ((
value & -64) == (num & -64))
96 {
97 int num2 = ((
value & 0x3F) << 1) | (num & 1);
98 writer.WriteByte((
byte)num2);
99 }
100 else if ((
value & -8192) == (num & -8192))
101 {
102 int num3 = ((
value & 0x1FFF) << 1) | (num & 1);
103 writer.WriteUInt16BE((ushort)(0x8000u | (uint)num3));
104 }
105 else if ((
value & -268435456) == (num & -268435456))
106 {
107 int num4 = ((
value & 0xFFFFFFF) << 1) | (num & 1);
108 writer.WriteUInt32BE(0xC0000000u | (uint)num4);
109 }
110 else
111 {
112 Throw.ValueArgumentOutOfRange();
113 }
114 }