internal static ImageSymbolImport FromReadingContext(ReadingContext context)
{
var reader = context.Reader;
var application = context.Assembly;
var optionalHeader = application.NtHeaders.OptionalHeader;
var import = new ImageSymbolImport(optionalHeader.Magic == OptionalHeaderMagic.Pe32Plus
? reader.ReadUInt64()
: reader.ReadUInt32());
if (import.Lookup == 0)
return import;
import.IsImportByOrdinal = import.Lookup >> (optionalHeader.Magic == OptionalHeaderMagic.Pe32Plus ? 63 : 31) == 1;
if (!import.IsImportByOrdinal)
import.HintName =
HintName.FromReadingContext(context.CreateSubContext(application.RvaToFileOffset(import.HintNameRva)));
return import;
}