Hm, yesterday my chess software told me that it was a checkmate in four, but today it doesn't. Ah well, from this position white can win very easily, and depending after black's response to white's move white can promote that pawn. I'll post the spoilers now so you can check.
click to show
23.Qxf2!! Bxf2 24.Rxd5 Qxh4+ 25.Bxh4 Bxh4 26.Nxc7+ Kf8 27.Rf5+ Bf6 28.Rd5 a6 29.Rd7 Nb4 30.Rf7+ Kg8 31.Rxf6! Nc6 32.Rf7 g6 33.e7! Black resigns.
That spoiler was how the rest of the game played out, blacks alternate possibility which would lead to his demise is.
23.Qxf2 Qxf2 24.Nxc7+ Kf8 25.e7+ Kg8 26.e8=Q+, which is an easy win for white.