Considering Asher was a mole and had been betraying all of his friends for months, pretty much everyone had an incentive to kill him on How to Get Away with Murder. However, after last Thursday's episode, "We're Not Getting Away With It," it's looking more and more likely that Frank is Asher's killer. He was acting shady before and after Asher's death, which could signify his guilt.
Throughout the episode, we saw where Asher went and who he saw during the final few hours of his life. He visited Bonnie, who immediately suspected him as being the mole. She, in turn, told Frank, who not only drove Asher home, but walked him up to his apartment. After he left, Asher destroyed his phone, regretted the decision, and knocked on Gabriel’s door moments later, offering him $64,000 in exchange for his phone. None of this outright proves that Frank did the deed — particularly considering that, as far as what we were shown, Gabriel was the last person to see Asher alive — but he was definitely giving off some threatening vibes to his time alone with Asher.
In fact, even Bonnie was skeptical of Frank's innocence. When she asked at the end of the episode if he did it, he replied that he would never be "that stupid." But let's face it, Frank isn't exactly inexperienced when it comes to murder. He hasn't minded getting his hands dirty in the past, and it seems doubtful that Asher would be an exception to that rule, especially if it meant protecting himself, Bonnie, and Annalise from serving jail time.
Of course, HTGAWM is known for its red herrings, so Frank’s shady behavior could just as well be a clue that he isn't the killer, since it would be way too obvious at this point. But what if that's exactly what the writers are banking on? Is it really that improbable that the person who has the skill and experience to have killed Asher without leaving behind a trace, you know, did it? The show may just be trying to throw us off by putting all the evidence in plain sight.