As Scottish detective Bruce Robertson, James McAvoy is a volcano of perversions in full eruption. Snorting coke, bashing gays, extorting a 14-year-old for a blow job, Bruce still aspires to the rank of inspector. Which means cutting down his rivals, including by-the-book Drummond (Imogen Poots) and rookie Lennox (Jamie Bell), while trying to retain his tenuous hold on reality. Filth, directed by Jon S. Baird from a 1998 bestseller by Trainspotting wild man Irvine Welsh, is wired to explode. Even when the film falls to pieces, McAvoy's bonkers brilliance will blow you away.