Assassination of a High School President

Bobby Funke (Reece Thompson) is a less than popular high school sophomore with a dream to get into Northwestern University's summer journalism program. Although Bobby claims he's a great writer, he's never finished an article for St. Donovan's School Newspaper. The editor-in-chief Clara, (Melonie Diaz), assigns Bobby to do an article on Paul Moore, the student body president. Bobby attempts to get an interview, but is unable to get a story out of Paul and is bullied by Paul's friends. Paul is the star of the basketball team and on a game night, Paul takes a fall and injures his knee. The next morning Principal Kirkpatrick (Bruce Willis) discovers the SATs have been stolen from a safe in his office. Kirkpatrick rounds up his "usual suspects" of high school misfits along with Bobby to question them. The group is innocent but Kirkpatrick warns them all to watch their step.
When senior Francesca Facchini (Mischa Barton) solicits Bobby's help tracking down the set of stolen SATs,[3] Funke uncovers a story. He sets on a large scale investigation and links Paul Moore to the crime. He writes an article pointing the finger at Paul. Kirkpatrick forces Paul to open his locker and the SATs fall out. As a result of his sleuthing, Funke becomes one of the most popular kids at St. Donovan's. Clara decides to submit Funke's article to Northwestern which earns Bobby a scholarship to the summer program. Funke wins the respect of everyone from Principal Kirkpatrick to the kid that farts on him in Spanish class and Francesca takes Funke to homecoming. As Funke's popularity grows so do his suspicions. Paul confronts Bobby, proclaiming his innocence, stating that he got into Cornell but decided to take the test again to see if he could get a better score. Funke begins to wonder if the president really stole the SATs or if he's just a pawn in a conspiracy.
Funke investigates even deeper into the lives of Paul's shady friends, all members of the Student Council. He discovers their involvement with drug dealing. The Student Council had actually stolen the SATs along with other tests throughout the year, modifying the marks of the best students to make them doubt their test-taking abilities and turn to the Student Council for speed-like "study drugs". Funke says that while Paul wasn't a part of the scam, group ringleader Marlon Piazza (Luke Grimes) has Paul framed to avoid being caught. Funke also finds out that Francesca led him along the entire time to keep him from finding out the truth. Francesca and Marlon, step-siblings, are revealed as lovers.
Funke confronts the group in the principal's office. Marlon threatens to have Funke thrown out the window and frame it as a suicide, but his threat and confession are heard on the school's intercom system. When Funke entered the room, he secretly turned on the microphone; Funke's friends save him from being thrown out the window and Kirkpatrick rushes into the office, followed by the student body and Francesca. Francesca attempts to gain Funke's trust again, only to be shut down and left to deal with Kirkpatrick's punishment.

Question: Who does Francesca take to homecoming?
Answer: Funke