// Token: 0x06000FD0 RID: 4048 RVA: 0x0004AF73 File Offset: 0x00049173
 public static void CheckBounds(int pos, int posMax, int sizeNeeded)
 {
     if (!ParseSerialize.CheckOffsetLength(posMax, pos, sizeNeeded))
     {
         throw new BufferTooSmallException("Request would overflow buffer");
     }
 }
 // Token: 0x06000FD1 RID: 4049 RVA: 0x0004AF8A File Offset: 0x0004918A
 public static void CheckBounds(int pos, byte[] buffer, int sizeNeeded)
 {
     if (buffer != null)
     {
         ParseSerialize.CheckBounds(pos, buffer.Length, sizeNeeded);
     }
 }
        // Token: 0x06000FAD RID: 4013 RVA: 0x0004A944 File Offset: 0x00048B44
        public static DateTime ParseFileTime(byte[] buffer, int offset)
        {
            DateTime result;

            ParseSerialize.TryParseFileTime(buffer, offset, out result);
            return(result);
        }
 // Token: 0x06000FCF RID: 4047 RVA: 0x0004AF44 File Offset: 0x00049144
 public static void SetMVBinary(byte[] buff, ref int pos, byte[][] values)
 {
     ParseSerialize.SetDword(buff, ref pos, values.Length);
     for (int i = 0; i < values.Length; i++)
     {
         ParseSerialize.SetByteArray(buff, ref pos, values[i]);
     }
 }
        // Token: 0x06000FE5 RID: 4069 RVA: 0x0004B3A0 File Offset: 0x000495A0
        public static string GetStringFromUnicode(byte[] buff, ref int pos, int posMax, int byteCount)
        {
            ParseSerialize.CheckBounds(pos, posMax, byteCount);
            string @string = Encoding.Unicode.GetString(buff, pos, byteCount - 2);

            pos += byteCount;
            return(@string);
        }
        // Token: 0x06000FDB RID: 4059 RVA: 0x0004B0FC File Offset: 0x000492FC
        public static Guid GetGuid(byte[] buff, ref int pos, int posMax)
        {
            ParseSerialize.CheckBounds(pos, posMax, 16);
            Guid result = ParseSerialize.ParseGuid(buff, pos);

            pos += 16;
            return(result);
        }
        // Token: 0x06000FE9 RID: 4073 RVA: 0x0004B460 File Offset: 0x00049660
        public static string GetStringFromASCIINoNull(byte[] buff, ref int pos, int posMax, int charCount)
        {
            ParseSerialize.CheckBounds(pos, posMax, charCount);
            string @string = CTSGlobals.AsciiEncoding.GetString(buff, pos, charCount);

            pos += charCount;
            return(@string);
        }
        // Token: 0x06000FD8 RID: 4056 RVA: 0x0004B09C File Offset: 0x0004929C
        public static double GetDouble(byte[] buff, ref int pos, int posMax)
        {
            ParseSerialize.CheckBounds(pos, posMax, 8);
            double result = ParseSerialize.ParseDouble(buff, pos);

            pos += 8;
            return(result);
        }
        // Token: 0x06000FD6 RID: 4054 RVA: 0x0004B04C File Offset: 0x0004924C
        public static float GetFloat(byte[] buff, ref int pos, int posMax)
        {
            ParseSerialize.CheckBounds(pos, posMax, 4);
            float result = ParseSerialize.ParseSingle(buff, pos);

            pos += 4;
            return(result);
        }
        // Token: 0x06000FD5 RID: 4053 RVA: 0x0004B024 File Offset: 0x00049224
        public static ushort GetWord(byte[] buff, ref int pos, int posMax)
        {
            ParseSerialize.CheckBounds(pos, posMax, 2);
            ushort result = (ushort)ParseSerialize.ParseInt16(buff, pos);

            pos += 2;
            return(result);
        }
        // Token: 0x06000FD3 RID: 4051 RVA: 0x0004AFD8 File Offset: 0x000491D8
        public static byte GetByte(byte[] buff, ref int pos, int posMax)
        {
            ParseSerialize.CheckBounds(pos, posMax, 1);
            byte result = buff[pos];

            pos++;
            return(result);
        }
        // Token: 0x06000FD4 RID: 4052 RVA: 0x0004AFFC File Offset: 0x000491FC
        public static uint GetDword(byte[] buff, ref int pos, int posMax)
        {
            ParseSerialize.CheckBounds(pos, posMax, 4);
            uint result = (uint)ParseSerialize.ParseInt32(buff, pos);

            pos += 4;
            return(result);
        }
 // Token: 0x06000FCE RID: 4046 RVA: 0x0004AF14 File Offset: 0x00049114
 public static void SetMVUnicode(byte[] buff, ref int pos, string[] values)
 {
     ParseSerialize.SetDword(buff, ref pos, values.Length);
     for (int i = 0; i < values.Length; i++)
     {
         ParseSerialize.SetUnicodeString(buff, ref pos, values[i]);
     }
 }
        // Token: 0x06000FD7 RID: 4055 RVA: 0x0004B074 File Offset: 0x00049274
        public static ulong GetQword(byte[] buff, ref int pos, int posMax)
        {
            ParseSerialize.CheckBounds(pos, posMax, 8);
            ulong result = (ulong)ParseSerialize.ParseInt64(buff, pos);

            pos += 8;
            return(result);
        }
        // Token: 0x06000FD9 RID: 4057 RVA: 0x0004B0C4 File Offset: 0x000492C4
        public static DateTime GetSysTime(byte[] buff, ref int pos, int posMax)
        {
            ParseSerialize.CheckBounds(pos, posMax, 8);
            DateTime result = ParseSerialize.ParseFileTime(buff, pos);

            pos += 8;
            return(result);
        }
 // Token: 0x06000FBB RID: 4027 RVA: 0x0004AABE File Offset: 0x00048CBE
 public static void SetDword(byte[] buff, ref int pos, int dw)
 {
     ParseSerialize.CheckBounds(pos, buff, 4);
     if (buff != null)
     {
         ParseSerialize.SerializeInt32(dw, buff, pos);
     }
     pos += 4;
 }
 // Token: 0x06000FC0 RID: 4032 RVA: 0x0004AB32 File Offset: 0x00048D32
 public static void SetByte(byte[] buff, ref int pos, byte b)
 {
     ParseSerialize.CheckBounds(pos, buff, 1);
     if (buff != null)
     {
         buff[pos] = b;
     }
     pos++;
 }
 // Token: 0x06000FBD RID: 4029 RVA: 0x0004AAE6 File Offset: 0x00048CE6
 public static void SetQword(byte[] buff, ref int pos, long qw)
 {
     ParseSerialize.CheckBounds(pos, buff, 8);
     if (buff != null)
     {
         ParseSerialize.SerializeInt64(qw, buff, pos);
     }
     pos += 8;
 }
 // Token: 0x06000FB9 RID: 4025 RVA: 0x0004AA96 File Offset: 0x00048C96
 public static void SetWord(byte[] buff, ref int pos, short w)
 {
     ParseSerialize.CheckBounds(pos, buff, 2);
     if (buff != null)
     {
         ParseSerialize.SerializeInt16(w, buff, pos);
     }
     pos += 2;
 }
 // Token: 0x06000FC6 RID: 4038 RVA: 0x0004AC77 File Offset: 0x00048E77
 public static void SetGuid(byte[] buff, ref int pos, Guid guid)
 {
     ParseSerialize.CheckBounds(pos, buff, 16);
     if (buff != null)
     {
         ParseSerialize.SerializeGuid(guid, buff, pos);
     }
     pos += 16;
 }
 // Token: 0x06000FC5 RID: 4037 RVA: 0x0004AC59 File Offset: 0x00048E59
 public static void SetDouble(byte[] buff, ref int pos, double dbl)
 {
     ParseSerialize.CheckBounds(pos, buff, 8);
     if (buff != null)
     {
         ParseSerialize.SerializeDouble(dbl, buff, pos);
     }
     pos += 8;
 }
 // Token: 0x06000FC4 RID: 4036 RVA: 0x0004AC3B File Offset: 0x00048E3B
 public static void SetFloat(byte[] buff, ref int pos, float fl)
 {
     ParseSerialize.CheckBounds(pos, buff, 4);
     if (buff != null)
     {
         ParseSerialize.SerializeSingle(fl, buff, pos);
     }
     pos += 4;
 }
        // Token: 0x06000FEB RID: 4075 RVA: 0x0004B4D0 File Offset: 0x000496D0
        public static byte[] GetByteArray(byte[] buff, ref int pos, int posMax)
        {
            int word = (int)ParseSerialize.GetWord(buff, ref pos, posMax);

            ParseSerialize.CheckBounds(pos, posMax, word);
            byte[] result = ParseSerialize.ParseBinary(buff, pos, word);
            pos += word;
            return(result);
        }
 // Token: 0x06000FBE RID: 4030 RVA: 0x0004AB04 File Offset: 0x00048D04
 public static void SetSysTime(byte[] buff, ref int pos, DateTime value)
 {
     ParseSerialize.CheckBounds(pos, buff, 8);
     if (buff != null)
     {
         ParseSerialize.SerializeFileTime(value, buff, pos);
     }
     pos += 8;
 }
 // Token: 0x06000FC2 RID: 4034 RVA: 0x0004ABB4 File Offset: 0x00048DB4
 public static void SetASCIIString(byte[] buff, ref int pos, string str)
 {
     ParseSerialize.CheckBounds(pos, buff, str.Length + 1);
     if (buff != null)
     {
         CTSGlobals.AsciiEncoding.GetBytes(str, 0, str.Length, buff, pos);
         buff[pos + str.Length] = 0;
     }
     pos += str.Length + 1;
 }
 // Token: 0x06000FC3 RID: 4035 RVA: 0x0004AC03 File Offset: 0x00048E03
 public static void SetByteArray(byte[] buff, ref int pos, byte[] byteArray)
 {
     ParseSerialize.CheckBounds(pos, buff, 2 + byteArray.Length);
     if (buff != null)
     {
         ParseSerialize.SerializeInt16((short)byteArray.Length, buff, pos);
         Buffer.BlockCopy(byteArray, 0, buff, pos + 2, byteArray.Length);
     }
     pos += 2 + byteArray.Length;
 }
 // Token: 0x06000FC1 RID: 4033 RVA: 0x0004AB4C File Offset: 0x00048D4C
 public static void SetUnicodeString(byte[] buff, ref int pos, string str)
 {
     ParseSerialize.CheckBounds(pos, buff, (str.Length + 1) * 2);
     if (buff != null)
     {
         Encoding.Unicode.GetBytes(str, 0, str.Length, buff, pos);
         buff[pos + str.Length * 2]     = 0;
         buff[pos + str.Length * 2 + 1] = 0;
     }
     pos += (str.Length + 1) * 2;
 }
        // Token: 0x06000FE4 RID: 4068 RVA: 0x0004B358 File Offset: 0x00049558
        public static string GetStringFromUnicode(byte[] buff, ref int pos, int posMax)
        {
            int num = 0;

            ParseSerialize.CheckBounds(pos, posMax, 2);
            while (buff[pos + num] != 0 || buff[pos + num + 1] != 0)
            {
                num += 2;
                ParseSerialize.CheckBounds(pos + num, posMax, 2);
            }
            return(ParseSerialize.GetStringFromUnicode(buff, ref pos, posMax, num + 2));
        }
 // Token: 0x06000FCC RID: 4044 RVA: 0x0004AE50 File Offset: 0x00049050
 public static void SetMVGuid(byte[] buff, ref int pos, Guid[] values)
 {
     ParseSerialize.CheckBounds(pos, buff, 4 + values.Length * 16);
     if (buff != null)
     {
         ParseSerialize.SerializeInt32(values.Length, buff, pos);
         for (int i = 0; i < values.Length; i++)
         {
             ParseSerialize.SerializeGuid(values[i], buff, pos + 4 + i * 16);
         }
     }
     pos += 4 + values.Length * 16;
 }
 // Token: 0x06000FCD RID: 4045 RVA: 0x0004AEB4 File Offset: 0x000490B4
 public static void SetMVSystime(byte[] buff, ref int pos, DateTime[] values)
 {
     ParseSerialize.CheckBounds(pos, buff, 4 + values.Length * 8);
     if (buff != null)
     {
         ParseSerialize.SerializeInt32(values.Length, buff, pos);
         for (int i = 0; i < values.Length; i++)
         {
             ParseSerialize.SerializeFileTime(values[i], buff, pos + 4 + i * 8);
         }
     }
     pos += 4 + values.Length * 8;
 }