private void WriteTextSection()
{
WriteIAT();
WriteCLIHeader();
if (Diag.DiagOn)
Console.WriteLine("Writing code at " + Hex.Long(Seek(0,SeekOrigin.Current)));
metaData.WriteByteCodes(this);
if (Diag.DiagOn)
Console.WriteLine("Finished writing code at " + Hex.Long(Seek(0,SeekOrigin.Current)));
//largeStrings = metaData.LargeStringsIndex();
//largeGUID = metaData.LargeGUIDIndex();
//largeUS = metaData.LargeUSIndex();
//largeBlob = metaData.LargeBlobIndex();
WriteDebugInfo();
//Console.WriteLine("Should be at " + Hex.Long(metaDataOffset + text.Offset()));
metaData.WriteMetaData(this);
//Console.WriteLine("Finished writing metaData at " + Hex.Long(Seek(0,SeekOrigin.Current)));
//Console.WriteLine("Should be at " + Hex.Long(resourcesOffset + text.Offset()));
metaData.WriteResources(this);
WriteImportTables();
WriteZeros(entryPointPadding);
Write((ushort)0x25FF);
Write(FileImage.ImageBase + text.RVA());
WriteZeros(text.Padding());
}