Hesam7: <tal lover: I think Ivanchuk missed an easier win with 35.Qxh6>Even before that Ivanchuk makes a number of minor mistakes. Some examples:
(1) 24. h3 just loses a tempo, the immediate 24. Re1 seems better and after 24. ... Qc7 White has 25. Nb5!.
(2) 29. Qf6+ is a mistake, 29. e6! would have won on the spot: 29. ... f6? 30. e7; 29. ... f5 30. Qd4+ Kg8 (30. ... Kh7 31. Qd7+) 31. e7 Re8 32. Re6; 29. ... Rc4 30. Qf6+ Kh7 31. e7 Re8 32. Nd5; Black's best according to engines is: 29. ... Rxc3 30. Qd4+ Kh7 31. Qxc3 which looks hopelessly lost.
(3) 30. Qh4 is another mistake, White should have played Ne4 immediately. Now after 30. ... Kg7 31. Ne4 Rc6 32. Nd6 Rc2 33. Rf2 Qc6+ 34. Kg1 Ng8 35. Rxc2 Qxc2 White still has his attack but with one pair of rooks exchanged and the activation of his Queen Black has some chances.
(4) Finally I don't think 35. Rd6 is weaker than 35. Qxh6, actually it might have ended the game even faster had Ivanchuk played 35. ... Qa5 36. Nd2!
The rook and the knight are under attack he can't save both of them.