It's a twist on the problem of "How to get the MAX row" (DBA.SE link)
- get total and highest vertical per Company in a simple aggregate
- use these to identify the row in the source table
Something like this, untested
SELECT
    t.Company, t.Vertical, m.CompanyCount
FROM
    ( --get total and highest vertical  per Company
    SELECT
        COUNT(*) AS CompanyCount,
        MAX(Vertical) AS CompanyMaxVertical,
        Company
    FROM MyTable
    GROUP BY Company
    ) m
    JOIN --back to get the row for that company with  highest vertical
    MyTable t ON m.Company = t.Company AND m.CompanyMaxVertical = t.Vertical
Edit: this is closer to standard SQL than a ROW_NUMBER because we don't know the platform