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++; } }
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); } } }
internal void method_1(Stream A_0, Class938 A_1) { int num = 11; if (A_0 == null) { throw new ArgumentNullException(BookmarkStart.b("䈰䜲䜴制堸嘺", num)); } int count = this.list_0.Count; int[] numArray = A_1.method_28(); int index = 0; while (true) { if ((index >= count) || (index >= 0x6d)) { break; } numArray[index] = this.list_0[index]; index++; } while (index < 0x6d) { numArray[index] = -1; index++; } if (this.list_1.Count > 0) { A_1.method_25(this.list_1[0]); A_1.method_27(this.list_1.Count); } byte[] dst = new byte[A_1.method_5()]; int num9 = A_1.method_5(); int num10 = (num9 / 4) - 1; int num4 = 0; int num11 = this.list_1.Count; while (num4 < num11) { int num5 = this.list_1[num4]; long num6 = A_1.method_30(num5); int num7 = 0; for (int i = 0; num7 < num10; i += 4) { int num13 = (index < count) ? this.list_0[index] : -1; Buffer.BlockCopy(BitConverter.GetBytes(num13), 0, dst, i, 4); num7++; index++; } int num12 = (num4 == (num11 - 1)) ? -2 : this.list_1[num4 + 1]; Buffer.BlockCopy(BitConverter.GetBytes(num12), 0, dst, num9 - 4, 4); A_0.Position = num6; A_0.Write(dst, 0, num9); num4++; } }
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); }
void IDisposable.Dispose() { if (this.class1069_0 != null) { this.class1069_0.System.IDisposable.Dispose(); this.class1069_0 = null; this.stream_0.Dispose(); this.stream_0 = null; this.class938_0 = null; this.class939_0 = null; this.class1003_0 = null; } }
private void method_8() { this.class1003_0 = new Class1003(); this.class1069_0 = new Class1069(this, BookmarkStart.b("紮帰尲䄴᜶簸唺䤼䴾㡀", 9), 0); this.stream_0.SetLength(0x200L); this.class938_0 = new Class938(); this.class357_0 = new Class357(); Class297 class2 = this.class1069_0.Interface59.imethod_0(); class2.method_3(Class297.EntryType.Root); this.class1003_0.method_2(class2); this.class939_0 = new Class939(this.stream_0, this.class938_0.method_9(), 0x200); }
public void method_7(Stream A_0) { int num = 0x12; if (A_0 == null) { throw new ArgumentNullException(BookmarkStart.b("䬷丹主嬽ℿ⽁", num)); } long position = A_0.Position; int capacity = (int)(A_0.Length - position); MemoryStream stream = new MemoryStream(capacity); stream.SetLength((long)capacity); A_0.Read(stream.GetBuffer(), 0, capacity); stream.Position = 0L; this.stream_0 = stream; this.class938_0 = new Class938(this.stream_0); this.class357_0 = new Class357(this.stream_0, this.class938_0); this.class939_0 = new Class939(this, this.stream_0, this.class357_0, this.class938_0); byte[] buffer = this.class939_0.method_1(this.stream_0, this.class938_0.method_16(), this); this.class1003_0 = new Class1003(buffer); Class297 class2 = this.class1003_0.method_0()[0]; this.class1069_0 = new Class1069(this, class2); int num2 = class2.method_20(); if (num2 >= 0) { this.stream_1 = new MemoryStream(this.class939_0.method_1(this.stream_0, num2, this)); if (this.class938_0.method_20() >= 0) { this.stream_2 = new MemoryStream(this.class939_0.method_1(this.stream_0, this.class938_0.method_20(), this)); this.class939_1 = new Class939(this.stream_1, this.class938_0.method_10(), this.stream_2, 0); } this.class939_0.method_3(num2); if (this.class938_0.method_20() >= 0) { this.class939_0.method_3(this.class938_0.method_20()); } } }
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++; } }
public static bool smethod_6(Stream A_0) { return(Class938.smethod_0(A_0)); }