Seeking Justice

In New Orleans, Will Gerard (Nicolas Cage) is a humble English teacher at Rampart High School. Will's best friend Jimmy (Harold Perrineau) also works at the school. Will's wife Laura (January Jones) is a musician who is in a local orchestra. One night, after a performance, Laura is beaten and brutally raped by a stranger named Hodge (Alex Van).
At the hospital, while Will is waiting for news about Laura's condition, Jimmy tells a distraught Will that he's confident that the rapist will be found. A stranger who calls himself Simon (Guy Pearce) tells Will that he represents an organization that deals with criminals the justice system has not. Simon describes his group as "a few citizens seeking justice." He says Hodge has raped other women before, and was paroled three weeks prior to his attack on Laura.
Simon proposes an intriguing offer; in exchange for a favor from Will to be determined later, Simon will arrange to have a complete stranger make Hodge pay for Laura's rape. This would spare Will and Laura a drawn-out trial, which would make Laura suffer even more than she already has by repeatedly forcing her to relive the rape, and to be traumatized by defense attorneys. Distraught and grief-stricken, Will consents to the deal. Hodge is killed, and a picture of Hodge's body, along with a medallion that Hodge took from Laura during the rape, are sent to Will as proof. The organization's code phrase is: "The hungry rabbit jumps."
Six months later, Simon returns. He wants Will to follow a woman and her two children to the zoo and to look out for a man. If Will sees this man, he must call a number attached to a picture. Will agrees, hoping this will fulfill his debt. Simon, however, continues to call Will, asking him to continue what he's doing, claiming the man is a sex offender. Having no choice, as Simon promises to exact revenge if he doesn't obey, a reluctant Will agrees. He is instructed to kill the man on a pedestrian walkway that's under a high overpass by "accidentally" bumping him off it to his death, making it look like suicide.
Instead of killing the man, Will decides to see if the man has any knowledge of Simon. The man, already paranoid, becomes suspicious that Will is there to kill him. He throws his bicycle at Will. As they struggle, the man falls off the walkway despite Will's efforts to save him. The man lands and is hit by a truck. Will goes home, where Detective Rudeski (Joe Chrest) and Detective Green (Marcus Lyle Brown) arrest him for murdering the man, whose name is Alan Marsh. At the station, Will can't get Green and Rudeski to believe anything he says.
The detectives' boss, Lieutenant Durgan (Xander Berkeley), wants to talk to Will alone. Durgan wants to play a game, asking Will to complete sentences. After a few rounds, Durgan asks, "A hungry rabbit..." to which Will responds "jumps. A hungry rabbit jumps", signifying his connection to Simon's organization. Durgan lets Will free, giving him 24 hours to get out of the city before Simon and his henchmen Scar (Irone Singleton) and Cancer (Wayne PÃ©re) come looking for him.
Will runs, but he's looking for answers. He goes to a memorial for Alan, finding the man is not a sex offender but actually an award-winning investigative reporter for the New Orleans Post who was investigating the vigilante organization. Will now knows why Simon wanted Alan dead. Simon, Scar, and Cancer suddenly turn up. Scar chases Will out onto a busy street, but is killed by a SUV that hits and drags him.
Will goes to a storage facility that Alan used and finds a DVD describing some of the people in the group, along with their missions. Will explains what's happening to Laura, who says she would've done the same had their situations been reversed. Will then tells Laura his whereabouts, advising her to stay away from the cops and anyone else who's asking questions.
Will learns that Simon's real name is Eugene Cook and that Jimmy joined the organization years ago, after his brother was murdered, when the cops were unable to find the killer. Will sends Cook a copy of the DVD, outraged at its implications. Cook agrees to a trade where Will would receive security camera footage proving his innocence in Alan's death, as he was acting out of self-defense, in exchange for the DVD. Will agrees, and they agree to meet at the Louisiana Superdome, during a monster truck show.
At the dome, Will is told Laura has been kidnapped as an extra incentive to make him give up the DVD. Jimmy, Cancer, and a man called Sideburns (Dikran Tulaine) are holding Laura. They go to a nearby mall, abandoned since Hurricane Katrina. Will gives up the DVD, but Cook reneges on the deal, saying that Will and Laura will both be killed to remove all threats to the organization. He orders them to be shot.
Cancer is about to pull the trigger on Laura when he is fatally shot by Jimmy, after which Will forces Sideburns down an inactive escalator, then through the glass at the bottom of the escalator. Sideburns is killed when a chunk of the glass becomes impaled in his neck.
Jimmy says that they didn't get into the organization to kill innocent people. Cook and Jimmy exchange gunfire, until Cook kills him with two shots to the chest. Laura flees with a gun in her hand. Cook throws her into a glass display case, causing her to drop the gun. Will arrives and begins beating up Cook, but both fall onto another escalator, rolling to the bottom. Laura, who has grabbed the gun that Cook forced her to drop, shoots Cook six times, killing him.
Happy to be alive, Will and Laura walk back up the escalator. Durgan arrives, asking who killed Cook. Will responds that it was him, but Durgan says that the way he sees it, the dead guys killed each other. There was no one else there.
With both DVDs in hand, Will clears his name. He decides to follow up on Alan's work by giving the DVD to Gibbs (Mike Pniewski), another reporter. Thanking him, Gibbs says, "The hungry rabbit jumps, eh?" indicating to a surprised Will that Gibbs knows about or is also in the organization.

Question: Who kills Jimmy?
Answer: Cook