While playing the trumpet in a burning room, the protagonist's voice is heard in narration. His story begins with him posing as "Danny Parker", a speed freak addicted to methamphetamine, who hangs out with friends while indulging in drugs. He also moonlights as an informant for two corrupt cops, Gus Morgan (Doug Hutchison) and Al Garcetti (Anthony LaPaglia). He is trying to set up a large meth score with notorious drug dealer Pooh Bear (D'Onofrio), an eccentric psychopath who lost his nose to excessive snorting of "Gak" (meth), while also attempting to set up a sting operation for Morgan and Garcetti.
When he returns home, Danny sheds his clothes and his personality, and basks in his past life as trumpet player "Tom Van Allen". He reveals to an abused neighbor named Colette (Deborah Kara Unger) that he was once happily married, only to watch as his wife was gunned down by masked thieves during a stopover at the Salton Sea.
When meeting with Pooh Bear, Danny becomes fearful of Pooh Bear's displays of bizarre homicidal behavior, so he tapes a gun to the bottom of a table.
Danny's parents-in-law track him down, believing he has sunk into depression after his wife's death, but he tells them he doesn't want their help. As the deal approaches, it becomes known that Danny is not only working for the police but FBI agents working to take down Morgan and Garcetti, who have committed multiple murders. It is also revealed that they were the men who killed his wife and wounded him as they robbed a drug dealer. Danny had started his own investigation when he found out who Morgan was and delved into the drug underworld to become a believable junkie.
On the night of the deal, Danny, with the help of his best friend Jimmy (Peter Sarsgaard), leads the FBI to the wrong location. Meanwhile, Danny arrives at Pooh Bear's house. At the dinner table, surrounded by Pooh Bear's armed friends, tensions rise and one of Pooh Bear's men tries to kill Danny, who retrieves the gun he stashed earlier and shoots the rest of the gang. Shot in the chest by Pooh Bear, Danny collapses to the floor.
Pooh Bear, wounded in the leg, goes to take a shot of meth while mumbling incoherently. Morgan and Garcetti arrive, find the massacre, and Garcetti kills Pooh Bear, whose drug-filled hypo drops to the floor. Garcetti is then killed by Danny, whose life was saved by a bulletproof vest. Morgan is shot twice by Danny, who reveals to Morgan that he knows he murdered his wife. Morgan manages to snatch Danny's gun away, but finds it empty. Danny finds Pooh Bear's syringe on the floor and plunges it into Morgan's neck, then picks up a pistol and briefly contemplates suicide, but then shoots Morgan several times and flees.
Back in his apartment, he dons his Tom Van Allen identity again, but is shot by Colette's "boyfriend" (Luis Guzman), who is in fact an agent tasked with exacting vengeance for the Mexicali Boys, a leader of whom Danny turned in to the police before the events of the film's present day timeline. Collette says she was forced to betray Danny because her daughter was being held hostage. The room catches fire, and Danny plays one more tune on his trumpet before passing out.
He regains consciousness to find that Jimmy has saved him from the fire and taken him to a hospital. After he recovers, he leaves the city, and the identities of Danny and Tom, behind.

Question: What does Morgan find out about the gun Danny is holding?
Answer: It is empty.