public interface IPeAnalyzer
{
    /// <summary>
    /// Gets the analyzer name.
    /// </summary>
    string Name { get; }

    /// <summary>
    /// Analyzes a parsed PE image and returns findings.
    /// </summary>
    /// <param name="peInfo">The parsed PE image.</param>
    /// <param name="cancellationToken">A token used to cancel the operation.</param>
    /// <returns>A read-only list of analysis findings.</returns>
    Task<IReadOnlyList<AnalysisFinding>> AnalyzeAsync(PeImageInfo peInfo, CancellationToken cancellationToken);
}