Simplest would have been 9.......Nxc3 10 dxc O-O with a big edge. Later on 11......e4 would have been a winning move ,ie; 12 Bxe4, Nxe4 and if 13 Qxe4, R-e8 winning.
Instead of 20......Nb5, would be more advantageous to simplify the position with 20 ......Ne2+ 21 K any, Ng3 22 R(h)-e1 Nf5 trading knights. As long as White does not gain position, simplifying pieces brings Black closer to the win.
39.......Bxg4 is a winning shot, as the Black Rook attacks the horse on e7. If that horse moves to safety, then simplifying Rooks off the Board with R-e2+ makes the win easy. For same reasons 41......Bxg4 would be a very good move. 46 h6 was a great move ! taking advantage of Black's poor technique
i'm white.