4. ... c4 - The opening was a little rough, why did you play this?
11. ... Nxc4 - looks promising.
12. ... Nxc4 - there ya go! Good job!
13. ... Qa5! - nice move, it forks the B and N. For additional fun, play Qb5 instead as this also threatens mate if he chooses to move his N on a4. In other words, he can't move the N so you get to kill the piece that's defending his K.
14. ... Qxa3 - good one.
17. ... Nf2+ - Generally a good move. However, you have to remember your Q is hanging. This move was probably premature. Perhaps Qf6 to attack the Q side instead as any mate possibility seems to have dried up. You need those rooks and that B sitting on your back row into the game. Your attack ran out of steam because your material advanatage in the combat zone go nullified as his R, N, and B got into play. Or rather, you shoved his King into his pieces ;-)
21. ... O-O - it's rarely too late to castle! Good job. This is also the fastest way to activate the R. If you don't use your pieces, you aren't really ahead in material.
27. ... Nxc2+ - I hope he enjoyed munching those pawns...
42. ... gxh6 - be careful eating those pawns - it is possible that a clever opponent will engineer a stalemate when you have that much material on the board. I made this mistake in a high school chess match!
I won here, but I know that there are mistakes, so please help!