We present a Las Vegas polynomial-time algorithm that takes as input a subgroup of GL(d, Fq) and, subject to the existence of certain oracles, determines its composition factors, provided that none of those factors is isomorphic to one of 2 B2(2 2k+1 ), 2 F4(2 2k+1 ), 3 D4(2 k ), or 2 G2(3 2k+1 ), for any k.