The Watch

In the town of Glenview, Ohio, Evan Trautwig (Ben Stiller) is an active participant in the community and senior manager of the local Costco store. His life is disrupted when the store's night security guard is murdered. The local police have no leads, and show no interest in investigating further. Determined to find the killer and bring him to justice, Evan decides to form a neighborhood watch. However, he only manages to recruit Bob (Vince Vaughn), a construction worker and loving father; Franklin (Jonah Hill), a high school dropout who dreams of being a police officer but failed the written, physical, and mental-health tests; and Jamarcus (Richard Ayoade), a recent divorce.
The watch members use the group as an excuse to drink and have fun (much to Evan's annoyance). While driving on patrol, they accidentally hit something. They discover a strange metallic orb that acts as a highly-destructive weapon, and deduce that it is of alien origin. Meanwhile, several more townspeople are mysteriously killed. The watch responds to the murders and encounters an alien, which attacks them. Evan (apparently) kills it with a lawn gnome before the group returns with the creature to Bob's house. The creature regains consciousness and escapes, stealing the metallic orb and warning them that the aliens have already infiltrated the town. The watch theorizes that the aliens are stealing their victims' skin and disguising themselves as humans, so anyone in Glenview could be an alien. Bob confides to Evan that he is worried about his daughter Chelsea (Erin Moriarty), and does not trust her boyfriend Jason (Nicholas Braun). Evan admits that he has been avoiding his wife Abby (Rosemarie DeWitt) because he is infertile, and revealing that to her may cause her to leave.
Evan suspects that one of his neighbors is an alien (due to his strange, stiff way of speaking and because he always seems to be watching him). As the watch scouts the neighbor's house, Bob learns that Chelsea is at an unsupervised party with Jason. Bob disobeys Evan's orders, and rushes to the party with Franklin. Bob prevents Jason from raping Chelsea, but Jason beats him until Franklin intervenes. Evan and Jamarcus investigate the odd neighbor alone, discovering that he (only) hosts orgies in his basement. When Bob returns, he and Evan argue over his putting his daughter above the watch. Bob is fired from the watch after saying Evan has no friends because he tries to control everything. Evan goes home and admits his infertility to Abby, who accepts the news and tells him they will work things out.
Evan then receives an urgent call from Jamarcus, who confesses that he is one of the aliens but has decided to side with humanity after experiencing human culture (and oral sex). He warns the group that the aliens are building a transmitter (beneath the Costco store) which will summon their armada to destroy the earth, and is expelled from the watch for his deception. Bob, Franklin, Evan and Abby arm themselves and infiltrate the Costco to destroy the transmitter. Bob encounters Jason who reveals that he is also an alien, and they fight. Evan and Franklin attempt to disable the transmitter, but are surrounded by aliens. Jamarcus arrives and saves the pair, revealing that the aliens' brains are located in their crotch; Bob kills Jason by ripping off his penis. Evan discovers that the transmitter is powered by the metallic orb and removes it, disabling the machine. More aliens arrive, forcing the group to flee. The watch uses the metallic orb to destroy the Costco building, killing all of the aliens inside.
In the epilogue, Evan and Abby rekindle their passion and adopt a daughter. Bob is closer to Chelsea and accepts her new boyfriend (who is intimidated by stories of how Bob killed Jason). Franklin is finally accepted by the Glenview Police Department, and Jamarcus continues participating in the secret neighborhood orgies. The group maintains the watch, continuing to protect Glenview from criminals (and aliens).

Question: Who prevented Jason from raping Chelsea?
Answer: Bob