public Class357(Stream A_0, Class938 A_1) { this.list_1 = new List <int>(); int num = A_1.method_26(); int count = A_1.method_5(); ushort num3 = A_1.method_9(); int capacity = 0x6d + ((num * (count - 4)) / 4); this.list_0 = new List <int>(capacity); this.list_0.AddRange(A_1.method_28()); if (num > 0) { int num5 = A_1.method_24(); A_1.method_9(); byte[] buffer = new byte[count]; int[] dst = new int[(count / 4) - 1]; while (num5 >= 0) { long num6 = Class1004.smethod_4(num5, num3); this.list_1.Add(num5); A_0.Position = num6; A_0.Read(buffer, 0, count); Buffer.BlockCopy(buffer, 0, dst, 0, count - 4); this.list_0.AddRange(dst); num5 = BitConverter.ToInt32(buffer, count - 4); } } }
public void method_10(Stream A_0, Class357 A_1, Class938 A_2) { int count = this.list_0.Count; int num2 = A_2.method_5(); ushort num3 = A_2.method_9(); int num4 = this.method_0() / 4; int num5 = num4 - 1; double num6 = (num5 * count) - 109.0; double num7 = (num5 * num5) - 1.0; int num8 = (int)Math.Ceiling((double)(num6 / num7)); A_2.method_15(num8); byte[] buffer = new byte[num2]; A_1.method_2(num8, this); this.method_11(num8, A_1); List <int> list = A_1.method_0(); int num9 = 0; int num10 = 0; while (num9 < num8) { num10 = this.method_12(num10, buffer); int num11 = list[num9]; long offset = Class1004.smethod_4(num11, num3); A_0.Seek(offset, SeekOrigin.Begin); A_0.Write(buffer, 0, num2); num9++; } }
internal void method_9(byte[] A_0, int A_1, int A_2, Class938 A_3) { ushort num = A_3.method_9(); int count = A_3.method_5(); long num3 = smethod_4(A_2, num); this.stream_0.Position = num3; this.stream_0.Read(A_0, A_1, count); }
public Class939(Class1004 A_0, Stream A_1, Class357 A_2, Class938 A_3) { int num5 = 3; this.list_0 = new List <int>(); this.list_1 = new List <int>(); if (A_0 == null) { throw new ArgumentNullException(BookmarkStart.b("伨䈪䄬䨮", num5)); } if (A_1 == null) { throw new ArgumentNullException(BookmarkStart.b("娨弪弬䨮倰帲", num5)); } this.stream_0 = A_0.method_4(); List <int> list = A_2.method_0(); int count = A_3.method_5(); this.ushort_0 = A_3.method_9(); byte[] buffer = new byte[count]; int[] dst = new int[count >> 2]; this.int_0 = 0x200; int num2 = 0; int num3 = list.Count; while (num2 < num3) { int num4 = list[num2]; if (num4 >= 0) { A_0.method_9(buffer, 0, num4, A_3); Buffer.BlockCopy(buffer, 0, dst, 0, count); this.list_0.AddRange(dst); } num2++; } }