// Token: 0x060020A8 RID: 8360 RVA: 0x0006DF14 File Offset: 0x0006C114 private void method_6(Stream file_stream, BinaryReader reader, bool loadIcon, bool populateData) { this.ID = reader.smethod_29(); this.DataHash = reader.smethod_24(); this.LoaderPack = Struct43.smethod_5(this.DataHash, Struct43.struct43_0); this.UpdateUri = reader.smethod_32(); this.Name = reader.ReadString(); this.Author = reader.ReadString(); this.Description = reader.ReadString(); this.Version = reader.smethod_27(); this.MinimumVersion = reader.smethod_27(); this.PasswordHash = reader.smethod_24(); int num = reader.ReadInt32(); if (num > 0) { if (loadIcon) { using (Stream3 stream = new Stream3(file_stream, file_stream.Position, (long)num + file_stream.Position)) { this.memoryStream_0 = new MemoryStream(); stream.CopyTo(this.memoryStream_0); this.Icon = (Bitmap)Image.FromStream(this.memoryStream_0); goto IL_EE; } } file_stream.Position += (long)num; } IL_EE: if (this.LoaderPack) { if (populateData) { this.Data = new Class136(); return; } } else { int num2 = reader.ReadInt32(); for (int i = 0; i < num2; i++) { this.ItemIndex.Add(reader.ReadString(), reader.smethod_24()); } int num3 = reader.ReadInt32(); if (populateData) { using (Stream3 stream2 = new Stream3(file_stream, file_stream.Position, (long)num3 + file_stream.Position)) { this.Data = new Class136(stream2); this.Data.method_12(); return; } } file_stream.Position += (long)num3; } }
// 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; } }