I'm not going to comment too much on the game but take a look at the position after 32. b3. You played your bishop back to a6, see if you cannot find something even better to do.
After 36. bxc4 you played Ba5. This is not a bad move in itself but could there be something better you can do? There are a lot of general principles in chess for all sorts of situations, do you know what you are supposed to do when ahead in material?
Let's say for example that you start the game with rook odds, that is your opponent has removed one frook from the board. Which of the following two goals would you think gives you the best chance of winning:
1. Play tactically difficult positions and tricky moves hoping that your opponent makes the big mistake rather than you.
2. Play as simple as possible making fair trades as often as possible to be left with an extra rook in the end against his lone king.
If you said #2 you would be right. Why give yourself chances to go wrong in complicated positions if you can just trade everything down and win with the extra material? This is the idea behind the general principle "when ahead - trade pieces but not neccessarely pawns". (Ahead in this case means about a piece or more, if it's only a single pawn it might not be enough to be winning and then maybe you need some tactics to win. And trading pawns left and right can sometimes give you a position where you would win if you could queen a pawn but there are no more pawns to queen so always be careful with the last few pawns.) See if you can apply this principle to the position in your game and find a better continuation.
After writing all that I noticed you did actually play this idea later on, why did you not play it at once?
After 36. bxc4 you played Ba5. This is not a bad move in itself but could there be something better you can do? There are a lot of general principles in chess for all sorts of situations, do you know what you are supposed to do when ahead in material?
Let's say for example that you start the game with rook odds, that is your opponent has removed one frook from the board. Which of the following two goals would you think gives you the best chance of winning:
1. Play tactically difficult positions and tricky moves hoping that your opponent makes the big mistake rather than you.
2. Play as simple as possible making fair trades as often as possible to be left with an extra rook in the end against his lone king.
If you said #2 you would be right. Why give yourself chances to go wrong in complicated positions if you can just trade everything down and win with the extra material? This is the idea behind the general principle "when ahead - trade pieces but not neccessarely pawns". (Ahead in this case means about a piece or more, if it's only a single pawn it might not be enough to be winning and then maybe you need some tactics to win. And trading pawns left and right can sometimes give you a position where you would win if you could queen a pawn but there are no more pawns to queen so always be careful with the last few pawns.) See if you can apply this principle to the position in your game and find a better continuation.
After writing all that I noticed you did actually play this idea later on, why did you not play it at once?