private static ReadingContext CreateDataDirectoryContext(ReadingContext context, int directoryIndex)
{
var application = context.Assembly;
var dataDirectories = application.NtHeaders.OptionalHeader.DataDirectories;
if (directoryIndex >= 0 && directoryIndex < dataDirectories.Count)
{
var dataDirectory = dataDirectories[directoryIndex];
if (dataDirectory.VirtualAddress != 0)
return context.CreateSubContext(application.RvaToFileOffset(dataDirectory.VirtualAddress));
}
return null;
}