[pgn]1. e4 e5 2. Nf3 Nc6 3. Nc3 Bc5 4. Nxe5 {if the knight recaptures, d5 wins the piece back} Bxf2+ 5. Kxf2 Nxe5 6. d4 Qf6+ 7. Kg1 {actually a pretty common move here is Ke3, believe it or not} Ng6 8. e5 Qb6 9. Nd5 {I should've just gotten on with development here, this doesn't do much} Qc6 10. c4 N8e7 11. Qf3 Nxd5 12. cxd5 Qb6 13. Qe4 {better here is Qc3 but I thought this would be a more aggressive square. Equal-ish according to engine}
O-O 14. Bd3
{okay, at least I've got a threat now}
Re8 15. Be3
{here I had an idea to sacrifice a couple of pawns to draw the queen offside, where it can't defend Black's kingside}
Qxb2 16. Rb1 Qxa2 17. h4
{threatening to chase the knight away from blocking h7}
h5
{after this the engine prefers white with Rf1 for reasons I don't totally understand, but I continue the crude attack with... }
g4 d6 19. gxh5 Nxe5
{f5 would have maintained equality. Now it's a forced mate in 7}
20. Qh7+ Kf8 21. Qh8+ Ke7 22. Bg5+ Kd7 23. Bf5+ Re6 24. Qd8# 1-0[/pgn]