// Token: 0x060019A3 RID: 6563 RVA: 0x0004682C File Offset: 0x00044A2C private void method_5(object sender, EventArgs9 e) { MethodInvoker methodInvoker = null; Installing.Class189 @class = new Installing.Class189(); @class.eventArgs9_0 = e; @class.installing_0 = this; lock (this.object_0) { if (this.int_1 != @class.eventArgs9_0.PercentComplete) { this.int_1 = @class.eventArgs9_0.PercentComplete; if (methodInvoker == null) { methodInvoker = new MethodInvoker(@class.method_0); } this.smethod_4(methodInvoker); } } }
// Token: 0x06001E4A RID: 7754 RVA: 0x000624D8 File Offset: 0x000606D8 public void method_1(Stream stream_orig, Stream stream_patch, Stream stream_dest, uint?overrideExpectedStartingFileLength, Struct43 overrideExpectedStartingHash, uint?overrideExpectedResultingFileLength, Struct43 overrideExpectedResultingHash, bool validate_expected, bool validate_result) { using (Stream3 stream = new Stream3(stream_orig)) { using (Stream3 stream2 = new Stream3(stream_patch)) { using (Stream3 stream3 = new Stream3(stream_dest)) { using (BinaryReader binaryReader = new BinaryReader(stream)) { using (BinaryReader binaryReader2 = new BinaryReader(stream2)) { using (BinaryWriter binaryWriter = new BinaryWriter(stream3)) { binaryReader2.ReadUInt32(); ushort num = binaryReader2.ReadUInt16(); uint num2 = binaryReader2.ReadUInt32(); Struct43 @struct = binaryReader2.BaseStream.smethod_22(); uint num3 = binaryReader2.ReadUInt32(); Struct43 struct2 = binaryReader2.BaseStream.smethod_22(); uint num4 = 0U; if (validate_expected) { if (stream.Length != (long)((ulong)num2) && (overrideExpectedStartingFileLength == null || overrideExpectedStartingFileLength.Value != num2)) { throw new InvalidDataException(string.Format("The starting file size: '{0}' does not match the expected file size: '{1}'.", stream.Length, num2)); } Struct43 struct3 = stream_orig.smethod_2(); if (Struct43.smethod_6(struct3, @struct) && (Struct43.smethod_5(overrideExpectedStartingHash, Struct43.struct43_0) || Struct43.smethod_6(overrideExpectedStartingHash, struct3))) { throw new InvalidDataException(string.Format("The actual starting hash: '{0}' does not match the expected hash: '{1}'.", struct3, @struct)); } } byte[] buffer = new byte[4096]; int num5 = 0; uint num7; uint num10; do { ushort num6 = (ushort)(num7 = (uint)binaryReader2.ReadUInt16()); while (num6 > 0 && !binaryReader2.smethod_3()) { int num8 = binaryReader2.Read(buffer, 0, (int)((num6 > 4096) ? 4096 : num6)); binaryWriter.Write(buffer, 0, num8); num6 -= (ushort)num8; num4 += (uint)((ushort)num8); if (this.eventHandler_0 != null) { int num9 = EventArgs9.smethod_0((long)((ulong)num4), (long)((ulong)num3)); if (num5 != num9) { num5 = num9; this.eventHandler_0(this, new EventArgs9((long)((ulong)num4), (long)((ulong)num3))); } } } num6 = (ushort)(num10 = (uint)binaryReader2.ReadUInt16()); if (num6 > 0) { int num11 = binaryReader2.ReadInt32(); if (num < 2) { binaryReader.BaseStream.Seek((long)num11, SeekOrigin.Begin); } else { binaryReader.BaseStream.Seek((long)num11, SeekOrigin.Current); } while (num6 > 0 && !binaryReader2.smethod_3()) { int num8 = binaryReader.Read(buffer, 0, (int)((num6 > 4096) ? 4096 : num6)); binaryWriter.Write(buffer, 0, num8); num6 -= (ushort)num8; num4 += (uint)((ushort)num8); if (this.eventHandler_0 != null) { int num9 = EventArgs9.smethod_0((long)((ulong)num4), (long)((ulong)num3)); if (num5 != num9) { num5 = num9; this.eventHandler_0(this, new EventArgs9((long)((ulong)num4), (long)((ulong)num3))); } } } } }while (num10 != 0U || num7 != 0U); if (validate_result) { if (stream3.Length != (long)((ulong)num3)) { if (overrideExpectedResultingFileLength != null) { uint?num12 = overrideExpectedResultingFileLength; long length = stream3.Length; if ((ulong)num12.GetValueOrDefault() == (ulong)length && num12 != null) { goto IL_2D7; } } throw new InvalidDataException(string.Format("The resulting file length: '{0}' does not match the expected data length: '{1}'.", stream3.Length, num3)); } IL_2D7: Struct43 struct4 = stream3.smethod_2(); if (Struct43.smethod_6(struct4, struct2) && (Struct43.smethod_5(overrideExpectedResultingHash, Struct43.struct43_0) || Struct43.smethod_6(overrideExpectedResultingHash, struct4))) { throw new InvalidDataException(string.Format("The resulting hash: '{0}' does not match the expected hash: '{1}'.", struct4, struct2)); } } } } } } } } }