Bret Easton Ellis's dark and violent satire of America in the 1980s is brought to the screen in this unsettling drama with blackly comic overtones. Patrick Bateman (Christian Bale), the son of a wealthy Wall Street financier, is pursuing his own lucrative career with his father's firm. Bateman is the prototypical yuppie, obsessed with success, fashion, and style. He is also a serial killer who murders, rapes, and mutilates both strangers and acquaintances without provocation or reason. Donald Kimble (Willem Dafoe), a police detective, questions Bateman about the disappearance of Paul Allen (Jared Leto), whom Patrick murdered several days earlier. As Kimble stays on Bateman's trail, Bateman's mask of studied, distant cool begins to fall apart. American Psycho also features Reese Witherspoon as Bateman's girlfriend, as well as Samantha Mathis, Chloe Sevigny, and Guinevere Turner; the latter also co-authored the screenplay. Controversy followed the production from the start, when speculation that Leonardo Di Caprio would play Bateman sparked concerns that he would lure preteens to an R-rated movie. Di Caprio soon bowed out of the project, and original leading man Bale was reinstated. Later, a group of Toronto residents attempted to block filming in that city after Canadian serial killer Paul Bernardo claimed that Ellis's novel inspired his murder spree.