Tournament win


I analyzed the position after 18... f5!? a bit and now consider it a mistake:
19. exf6 e5 20. fxe7!, and White have an advantage:
20... Bxg4 21. exd8=Q Raxd8 22. Bxg6 Bxf3 23. fxe5, White a piece and pawn ahead.
20... Qxe7 21. Qxg6 Rxf3 22. Qh7+ Kf8 23. Qh8+ Kf7 24. Bg6+ Kf6 25. Bxh6 with a very strong attack (or 24... Ke6 25. Qg8+ Kd6 (25... Kf6 26. Qxd5 Bb7 27. Qxb5, several pawns ahead) 26. dxe5+ Qxe5 27. Bf4 Rxf4 28. gxf4 Qxf4 29. Qd8+ Kc6 (29... Ke6(e5) 30. Rae1+) 30. Be8+ Kb7 31. Qxd5+, then forcing a Queen exchange and remaining a whole rook ahead (26... Kxe5 27. Re1+, winning the Queen).
20... Nxe7 21. Qh4 Rxf3 22. dxe5, with a clear positional advantage.

Well, first I wanted to give the move a question mark because after 19. exf6 two black knights are en prise. Then I saw 19... e5 and, having no time to analyze the position then, decided to annotate the move as 18... f5!?
Another interesting point is on the 33rd move. What would Black achieve if he played 33... Nh3+ with intention to win back the exchange?