Cemoblanca: to be continued...
19...♕xd4 20.♘xd4 ♗d7 21.♘c3! ♘xc3 22.bxc3 ♖dc8 23.♖ac1 ♖c4 24.♖fd1 ♖ac8 25.♘f3? doesn't work because of [25.♖d3 looks ugly. Better was maybe 25.♔h2 or 25.f3]
25...♗e8! 26.♖d4? [Finally black must bite the bullet and accept it's weaknesses with 26.♖d3]
26...♖xc3 27.♖xc3 ♖xc3 28.♖d8 ♔f8! 29.♘d4? We've made it, but unfortunately a bit toooooo late! ;0) [Better was 29.♖d2!]
29...♔e7 [Better was 29...♖c1+! 30.♔h2 ♖a1]
30.♖a8 ♖a3! [30...♖c7 would be too passive]
31.♘f5+! is a wise decision! ;0)
31...♔f6! 32.g4? and the rest was pure routine! [32.♖xe8! ♔xf5 33.♖e7 ♔f6 34.♖e2!]
32...♗d7! 33.♘g3 ♖xa2 34.♖h8 [34.♔f1 or 34.♖b8]
34...b5! 35.♘h5+ ♔e7 36.♖xh7?(?) b4! 37.♖h8 He's late as usual! ;0)
37...b3 38.♖b8 b2 39.♔h2 ♗a4 [It would go faster with 39...♔d6! 40.♔g3 ♔c5! 41.♖xb2]
40.♘f4! White makes his best move(s) in a completely lost position! ;0)
The rest is history and by the way: I'm also too tired! ;0) Cheers!