protected override bool Parse(PEHeader peHeader)
{
#region Sanity checks
if (peHeader == null) throw new ArgumentNullException(nameof(peHeader));
#endregion
Architecture = new Architecture(OS.All, GetCpu(peHeader.FileHeader.Machine));
if (peHeader.Subsystem >= Subsystem.WindowsCui) NeedsTerminal = true;
return peHeader.Is32BitHeader
? (peHeader.OptionalHeader32.CLRRuntimeHeader.VirtualAddress != 0)
: (peHeader.OptionalHeader64.CLRRuntimeHeader.VirtualAddress != 0);
}