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); }