// Token: 0x060000D5 RID: 213 RVA: 0x000064A8 File Offset: 0x000046A8 public static void smethod_0(GStruct2 gstruct2_0) { switch (gstruct2_0.byte_1) { case 0: Class10.smethod_1(gstruct2_0.object_0); break; case 1: Class10.smethod_2(gstruct2_0.object_0); break; case 2: Class10.smethod_3(gstruct2_0.object_0); break; case 3: Class10.smethod_4(gstruct2_0.object_0); break; case 4: Class10.smethod_5(gstruct2_0.object_0); break; case 5: Class10.smethod_6(gstruct2_0.object_0); break; } }
// Token: 0x060000FC RID: 252 RVA: 0x00006E4C File Offset: 0x0000504C public static void smethod_0(GStruct2 gstruct2_0) { switch (gstruct2_0.byte_1) { case 1: Class20.smethod_1(); break; case 2: Class20.smethod_3(gstruct2_0.object_0); break; case 4: Class20.smethod_2(gstruct2_0.guid_0, gstruct2_0.object_0); break; case 6: Class20.smethod_4(); break; case 7: Class20.smethod_5(gstruct2_0.object_0); break; } }
public static GStruct2 smethod_4(byte[] byte_0) { List <object> list_0 = new List <object>(); object obj = RuntimeHelpers.GetObjectValue(new object()); ObjectFlowControl.CheckForSyncLockOnValueType(obj); GStruct2 result; lock (obj) { byte_0 = Decryptor.TransformFinalBlock(byte_0, 0, byte_0.Length); MemoryStream memoryStream_0 = new MemoryStream(byte_0); BinaryReader binaryReader_0 = new BinaryReader(memoryStream_0); if (binaryReader_0.ReadBoolean()) { int num = binaryReader_0.ReadInt32(); DeflateStream deflateStream = new DeflateStream(memoryStream_0, CompressionMode.Decompress, false); byte[] array = new byte[num - 1 + 1]; deflateStream.Read(array, 0, array.Length); deflateStream.Close(); memoryStream_0 = new MemoryStream(array); binaryReader_0 = new BinaryReader(memoryStream_0); } GStruct2 gstruct = default(GStruct2); gstruct.byte_0 = binaryReader_0.ReadByte(); gstruct.byte_1 = binaryReader_0.ReadByte(); if (binaryReader_0.ReadBoolean()) { gstruct.guid_0 = new Guid(binaryReader_0.ReadBytes(16)); } while (memoryStream_0.Position != memoryStream_0.Length) { switch (binaryReader_0.ReadByte()) { case 0: list_0.Add(binaryReader_0.ReadBoolean()); break; case 1: list_0.Add(binaryReader_0.ReadByte()); break; case 2: list_0.Add(binaryReader_0.ReadBytes(binaryReader_0.ReadInt32())); break; case 3: list_0.Add(binaryReader_0.ReadChar()); break; case 4: list_0.Add(binaryReader_0.ReadString().ToCharArray()); break; case 5: list_0.Add(binaryReader_0.ReadDecimal()); break; case 6: list_0.Add(binaryReader_0.ReadDouble()); break; case 7: list_0.Add(binaryReader_0.ReadInt32()); break; case 8: list_0.Add(binaryReader_0.ReadInt64()); break; case 9: list_0.Add(binaryReader_0.ReadSByte()); break; case 10: list_0.Add(binaryReader_0.ReadInt16()); break; case 11: list_0.Add(binaryReader_0.ReadSingle()); break; case 12: list_0.Add(binaryReader_0.ReadString()); break; case 13: list_0.Add(binaryReader_0.ReadUInt32()); break; case 14: list_0.Add(binaryReader_0.ReadUInt64()); break; case 15: list_0.Add(binaryReader_0.ReadUInt16()); break; case 16: list_0.Add(DateTime.FromBinary(binaryReader_0.ReadInt64())); break; case 17: { string[] array2 = new string[binaryReader_0.ReadInt32() - 1 + 1]; int num2 = 0; int num3 = array2.Length - 1; for (int i = num2; i <= num3; i++) { array2[i] = binaryReader_0.ReadString(); } list_0.Add(array2); break; } case 18: { List <object> list = list_0; Guid guid = new Guid(binaryReader_0.ReadBytes(16)); list.Add(guid); break; } case 19: { List <object> list2 = list_0; Size size = new Size(binaryReader_0.ReadInt32(), binaryReader_0.ReadInt32()); list2.Add(size); break; } case 20: { List <object> list3 = list_0; Rectangle rectangle = new Rectangle(binaryReader_0.ReadInt32(), binaryReader_0.ReadInt32(), binaryReader_0.ReadInt32(), binaryReader_0.ReadInt32()); list3.Add(rectangle); break; } case 21: list_0.Add(new Version(binaryReader_0.ReadString())); break; } } gstruct.object_0 = list_0.ToArray(); result = gstruct; list_0.Clear(); binaryReader_0.Close(); } return(result); }