wwall: Perhaps best is 18...Ng4.
If 19...Rd8, then 20.Qf2 Nd7 (20...Ng4 21.Bxg4 Bxg4 22.Qxf7+ Kh7 23.Bxc5) 21.Nd5 Bxd5 22.Bxd5 Nxe5 23.Bxa8 Rxa8 24.Bxc5 looks good for White.
Perhaps better is 20...Rxa8, but after 20...Bxe5, Black threatens 21...Nxe3 22.Qxe3 Bd4.
If 21...Rd8, then 22.Bxe6 Rxd2 23.Bxf7+ Kg7 24.Bxd2 Bxh2+ (or 24...Bd4+ 25.Kh1 Nf2+ 26.Rxf2 Bxf2 27.Be6 Qb6 28.Bg4) 25.Kh1 Qd8 26.Be6 Qh8 27.Bg4 (or 27.Rf7+ Kg8 28.Rf3+ Kg7 29.Bxg4) 27...Bf4 28.Bh3 Bxd2 29.Rc2 Bxc3 30.Rxc3 Qh5 31.Rfc1 should win for White.
If 22...Nxf1, then 23.Rxf1 fxe6 24.Qh6 Bd4+ 25.Kh1 Bf6 26.Qxg6+ Kh8 27.Rf3, threatening 28.Rh3 and mate.
If 23...Bf6, then 24.Ne4 Nxf1 25.Nxf6 exf6 26.Qxf6 fxe6 27.Qxg6 Kf8 28.Qf6+ Kg8 29.Qxe6+ Kh8 30.Rxc5, threatening 31.Rh5+ Kg7 32.Rg5+ Kh8 33.Qh3 mate. Or 23...Bf6 24.Bxf7+ Kf8 (24...Kxf7 25.Qxe3 and 26.Ne4) 25.Bxg6 Nxf1 26.Kxf1 and White is winning. Also bad is 23...Nxf1 24.Qxf7+ Kh8 25.Qxg6, threatening 26.Qh6 mate.
If 26...Kh7, then 27.Nd5 looks strong.
If 27...Qxa2, then 28.Rxf5 gxf5 29.Qxe7+ Kg6 30.Qg5+ Kf7 31.Qxf5+ Ke7 32.Re1 Be3 33.Qf6+ Kd7 34.Rd1+ wins.
After 27...Qc7, Black threatens 28...Qxh2+ 29.Kxh2 Rh8 mate.
Best may be 28...Qd6
After 29.Qxf5, if 29...gxf5 or 29...Rxf5, then 30.Ne6+ and 31.Nxc7.