private void method_12() { int sectionStartPosition1 = (int)Class653.smethod_0(this.int_0); int num1 = sectionStartPosition1 + (int)this.memoryStream_0.Length; int sectionStartPosition2 = num1 + (int)this.memoryStream_4.Length; int sectionStartPosition3 = sectionStartPosition2 + (int)this.memoryStream_1.Length; int sectionStartPosition4 = sectionStartPosition3 + (int)this.memoryStream_2.Length + (int)this.memoryStream_3.Length + (int)this.memoryStream_5.Length; int sectionStartPosition5 = sectionStartPosition4 + (int)this.memoryStream_6.Length + (int)this.memoryStream_7.Length; MemoryStream memoryStream = new MemoryStream(); Interface29 streamWriter = Class724.Create(this.dxfVersion_0, (Stream)memoryStream, Encodings.GetEncoding((int)this.dxfModel_0.Header.DrawingCodePage)); streamWriter.imethod_13(Encodings.Ascii.GetBytes(this.dxfModel_0.Header.AcadVersionString), 0, 6); Interface29 nterface29 = streamWriter; byte[] numArray = new byte[7]; numArray[5] = (byte)15; numArray[6] = (byte)1; byte[] bytes = numArray; nterface29.imethod_12(bytes); streamWriter.imethod_19(num1); streamWriter.imethod_11((byte)27); streamWriter.imethod_11((byte)25); int num2 = (int)Class952.smethod_1(this.dxfModel_0.Header.DrawingCodePage); streamWriter.imethod_13(LittleEndianBitConverter.GetBytes((short)num2), 0, 2); streamWriter.imethod_13(LittleEndianBitConverter.GetBytes(this.int_0), 0, 4); long position = this.stream_0.Position; this.method_13(streamWriter, (byte)0, sectionStartPosition2, (int)this.memoryStream_1.Length); this.method_13(streamWriter, (byte)1, sectionStartPosition3, (int)this.memoryStream_2.Length); this.method_13(streamWriter, (byte)2, sectionStartPosition4, (int)this.memoryStream_6.Length); this.method_13(streamWriter, (byte)3, 0, 0); this.method_13(streamWriter, (byte)4, sectionStartPosition5, (int)this.memoryStream_9.Length); this.method_13(streamWriter, (byte)5, sectionStartPosition1, (int)this.memoryStream_0.Length); streamWriter.Flush(); ushort num3 = Stream1.smethod_1((ushort)49345, memoryStream.GetBuffer(), 0L, memoryStream.Length); streamWriter.imethod_18((short)num3); streamWriter.imethod_13(Class800.byte_4, 0, Class800.byte_4.Length); this.stream_0.Write(memoryStream.GetBuffer(), 0, (int)memoryStream.Length); }
public static void smethod_2(PagedMemoryStream from, Interface29 to) { int length1 = (int)from.Length; for (int index = 0; index < from.Pages.Count; ++index) { int length2 = System.Math.Min(length1, from.PageSize); to.imethod_13(from.Pages[index], 0, length2); length1 -= length2; if (length1 <= 0) { break; } } }
private void method_14(Interface29 w, Stream stream, long dataSizeInBits) { int length1 = (int)(dataSizeInBits >> 3); int num1 = (int)dataSizeInBits & 7; PagedMemoryStream pagedMemoryStream = stream as PagedMemoryStream; if (pagedMemoryStream != null) { int val2 = length1; foreach (byte[] page in pagedMemoryStream.Pages) { int length2 = System.Math.Min(page.Length, val2); if (length2 > 0) { w.imethod_13(page, 0, length2); } val2 -= length2; if (val2 <= 0) { break; } } } else { MemoryStream memoryStream = stream as MemoryStream; if (memoryStream != null) { w.imethod_13(memoryStream.GetBuffer(), 0, length1); } else { byte[] numArray = new byte[1024]; int num2 = length1 / 1024; for (int index = 0; index < num2; ++index) { stream.Read(numArray, 0, 1024); w.imethod_13(numArray, 0, 1024); } int num3 = length1 % 1024; if (num3 > 0) { stream.Read(numArray, 0, num3); w.imethod_13(numArray, 0, num3); } } } if (num1 == 0) { return; } stream.Position = (long)length1; int num4 = stream.ReadByte(); for (; num1 > 0; --num1) { w.imethod_14((num4 & 128) != 0); num4 <<= 1; } stream.Position = 0L; }