private void method_14(Stream A_0, int A_1, Stream A_2, Class939 A_3) { int num3; int num = 3; if (A_2 == null) { throw new ArgumentNullException(BookmarkStart.b("娨弪弬䨮倰帲", num)); } long num2 = A_3.method_16(A_1); int count = A_3.method_0(); byte[] buffer = new byte[count]; long position = A_2.Position; A_2.Position = 0L; while ((num3 = A_2.Read(buffer, 0, count)) > 0) { A_0.Position = num2; A_0.Write(buffer, 0, num3); A_1 = A_3.method_2(A_1); if (A_1 < 0) { break; } num2 = A_3.method_16(A_1); } A_2.Position = position; }
internal void method_2(int A_0, Class939 A_1) { int num = A_0 - 0x6d; if (num > 0) { int num2 = (int)Math.Ceiling((double)(((double)(num * 4)) / ((double)(A_1.method_0() - 4)))); this.method_3(num2, A_1); } }