// Token: 0x060020A6 RID: 8358 RVA: 0x0006DCD8 File Offset: 0x0006BED8 public static void smethod_2(Class321 pd, BinaryWriter write_stream, uint offset_orig, uint offset_new, Stream stream_orig, Stream stream_new) { using (Stream3 stream = new Stream3(stream_orig)) { using (Stream3 stream2 = new Stream3(stream_new)) { uint num; uint num2; Class132.smethod_3(stream, out num, out num2); uint num3; uint num4; Class132.smethod_3(stream2, out num3, out num4); using (Stream3 stream3 = new Stream3(stream, 0L, (long)((ulong)num))) { using (Stream3 stream4 = new Stream3(stream2, 0L, (long)((ulong)num3))) { Class292.smethod_12(pd, Enum81.const_0, write_stream, offset_orig, offset_new, stream3, stream4); } } using (Stream3 stream5 = new Stream3(stream, (long)((ulong)num), (long)((ulong)(num + num2)))) { using (Stream3 stream6 = new Stream3(stream2, (long)((ulong)num3), (long)((ulong)(num3 + num4)))) { Class136.smethod_0(pd, write_stream, offset_orig + num, offset_new + num3, stream5, stream6); } } } } }
// Token: 0x060020A5 RID: 8357 RVA: 0x0006DCA4 File Offset: 0x0006BEA4 public static bool smethod_1(Stream file_stream1, Stream file_stream2) { byte[] enumeration; int num; byte[] enumeration2; int num2; return(Class132.smethod_0(file_stream1, out enumeration, out num) && Class132.smethod_0(file_stream2, out enumeration2, out num2) && enumeration.smethod_9(enumeration2) && num == num2); }
// Token: 0x060020A9 RID: 8361 RVA: 0x0006E0CC File Offset: 0x0006C2CC private void method_7(Stream file_stream, BinaryReader reader, bool loadIcon, bool populateData) { Encoding encoding = Encoding.GetEncoding(1252); int num = reader.ReadInt32(); if (num != 1) { throw new InvalidFileVersion <int>(1, 1, num); } decimal num2 = reader.ReadDecimal(); decimal d = reader.ReadDecimal(); int num3 = (int)Math.Floor(num2); this.MinimumVersion = new Version(num3, (int)((num2 - num3) * 100m), (int)(d * 100m), 0); this.Name = Class132.smethod_4(reader, encoding); this.Description = Class132.smethod_4(reader, encoding); this.Author = Class132.smethod_4(reader, encoding); this.PasswordHash = new Struct43(Class132.smethod_4(reader, encoding)); if (Struct43.smethod_5(this.PasswordHash, Class132.struct43_0)) { this.PasswordHash = Struct43.struct43_0; } Class132.smethod_4(reader, encoding); string text = Class132.smethod_4(reader, encoding); if (!string.IsNullOrEmpty(text)) { this.ObsoleteDownloadURL = new Uri(text); } string text2 = Class132.smethod_4(reader, encoding); if (!string.IsNullOrEmpty(text2)) { this.UpdateUri = new Uri(text2); } this.ID = new Guid(Class132.smethod_4(reader, encoding)); this.DataHash = new Struct43(Class132.smethod_4(reader, encoding)); int num4 = reader.ReadInt32(); if (num4 > 0) { if (loadIcon) { using (Stream3 stream = new Stream3(file_stream, file_stream.Position, file_stream.Position + (long)num4)) { this.memoryStream_0 = new MemoryStream(); stream.CopyTo(this.memoryStream_0); this.Icon = (Bitmap)Image.FromStream(this.memoryStream_0); goto IL_1AC; } } file_stream.Position += (long)num4; } IL_1AC: this.LoaderPack = reader.ReadBoolean(); if (this.LoaderPack) { this.DataHash = Struct43.struct43_0; } if (this.LoaderPack) { if (populateData) { this.Data = new Class136(); return; } } else { int num5 = reader.ReadInt32(); for (int i = 0; i < num5; i++) { this.ItemIndex.Add(Class132.smethod_4(reader, encoding), new Struct43(Class132.smethod_4(reader, encoding))); } int num6 = reader.ReadInt32(); if (populateData) { using (Stream3 stream2 = new Stream3(file_stream, file_stream.Position, file_stream.Position + (long)num6)) { this.Data = new Class136(stream2); this.Data.method_12(); return; } } file_stream.Position += (long)num6; } }