The villain of this movie is called Steve Rogers. The once likeable hero is now replaced with an arrogant, vain, violent and self-righteous bastard, who is willing to mow across anything and anyone, without even an ounce of doubt or conscience or regret. Fuck the world, he'll do whatever he wants and he's gonna save his old buddy just because. At the end when he throws down the shield and walks out in his imagined moral superiority, I really looked for the ceiling to collapse on him.
Okay, Bucky was a victim here, even when he murdered the Starks, and Tony still wanted to kill him, which is wrong. But Rogers isn't anything better, and his faults have actually lead to a lot of innocent people dying.
The only somewhat plausible explanation is that if his character was more human and actually conflicted, then it would have made him practically perfect, and the one person that did the right thing. But even if that's the case, the movie went too far.