I think that White was totally lost after he played bxc5. There was no way he could have saved his c5 pawn after the forced exchanges. He could have planted the knight on square d6 on move 32, but still this would not have saved the game. The passed pawn on the a file was decisive. The actual play showed how difficult it was for Black to save the game. His knight could not move and his King was exposed to attack.
After the move 25..c5, White could have taken the a7 pawn with his rook. But I still would have preferred to play Black's position.
While I think I played a good game with several moves that were inferior, but not bad, Fritz has me playing horribly and winning only on the count of my opponents blunders. I'm sure you all have Fritz, so I'll just post what I think:
What do you think?