protected override object DoDeserializeComplicatedType(Type type, byte[] buff, ref int offset)
        {
            int    num  = ByteConverter.Parse <int>(buff, ref offset);
            object obj2 = null;

            if (num > -1)
            {
                obj2 = Activator.CreateInstance(type);
                Class137 class2 = this.xrxcLalgu3(type);
                for (int i = 0; i < class2.method_1().Length; i++)
                {
                    object obj3 = base.DoDeserialize(class2.method_1()[i].PropertyType, buff, ref offset);
                    this.method_0(type, class2.method_0(), obj2, class2.method_1()[i].Name, obj3);
                }
            }
            return(obj2);
        }
 protected override void DoSerializeComplicatedType(Type type, object obj, MemoryStream stream)
 {
     if (obj == null)
     {
         byte[] buffer3 = ByteConverter.ToBytes <int>(-1);
         stream.Write(buffer3, 0, buffer3.Length);
     }
     else
     {
         Class137     class2  = this.xrxcLalgu3(type);
         MemoryStream stream2 = new MemoryStream();
         for (int i = 0; i < class2.method_1().Length; i++)
         {
             object obj2 = class2.method_0().GetValue(obj, class2.method_1()[i].Name);
             base.DoSerialize(stream2, class2.method_1()[i].PropertyType, obj2);
         }
         byte[] buffer  = stream2.ToArray();
         byte[] buffer2 = ByteConverter.ToBytes <int>(buffer.Length);
         stream.Write(buffer2, 0, buffer2.Length);
         stream.Write(buffer, 0, buffer.Length);
     }
 }