internal Section(PEReader input) { Contract.Requires(input != null); name = new char[8]; for (int i = 0; i < name.Length; i++) name[i] = (char)input.ReadByte(); nameString = new String(name); loadedSize = input.ReadUInt32(); loadedRVA = input.ReadUInt32(); sizeOnDisk = input.ReadUInt32(); fileOffset = input.ReadUInt32(); relocRVA = input.ReadUInt32(); lineRVA = input.ReadUInt32(); numRelocs = input.ReadUInt16(); numLineNums = input.ReadUInt16(); flags = input.ReadUInt32(); if (Diag.DiagOn) { Console.WriteLine(" " + nameString + " RVA = " + Hex.Int(loadedRVA) + " vSize = " + Hex.Int(loadedSize)); Console.WriteLine(" FileOffset = " + Hex.Int(fileOffset) + " aSize = " + Hex.Int(sizeOnDisk)); } }