Allderdice83: Dang! I had it all up until 27. b3!!. I saw a line where Black would play Bc5 and White would later play b3 trapping the queen. But I didn't see that here, 27 ... Qc5 28. Nxe6+ also wins the queen. I had 27. Nxe6+ which looks like it still wins. After 27 ... Kc6, White has a couple options. Either
28. N2d4+ Kb6 29. Qxd7 Nf2 30. Bd8+ Rxd8 31. Qxd8+ Kb7 32. Qxf8 Qf1+ 33. Kd2 Qd1+ 34. Ke3 Ng4+ 35. Kf4 -- this is a bit hairy, as White is almost mated, but not quite, while at the end White is threatening mate and is up a piece and 3 pawns. But it's less hairy than the other option.
28. Nxf8 Qxe2 29. Qxd7+ Kb6 30. Bd8+ Rxd8 31. Qxd8+ Ka7! (else White takes the d pawn with check and then the knight) 32. Qc7+ Ka8 33. Qc6+ Ka7 and White must play very carefully here, eg.
34. Qxd5?? Ne3! 35. Qc5+ Kb7 36. b3?? (loses, White must play for a perpetual check here starting with possibly 36. Qb4+) Qe1+ 37. Kb2 Nd1+ 38. Ka1 Nc3+ 39. Kb2 Qb1#
34. Nd7? looks good on the surface. It threatens 35. Qb6+ or 35. Qc7+ and 36. Qb8#. However, Black has 34 ... Qe3+!! and anything White does leads to a perpetual check, eg.,
35. Kxd1 Qg1+ followed by 36 ... Qxg2+ and then 37 ... Qe4+
35. Kb1 Nc3+! 36. bxc3 Qe1+ 37. Kb2 Qxc3+, etc.
So the only winning line for White is 34. Qc5+! Kb8 35. Nd7+ Kb7 36. Qxd5+ Kc7 37. Qxd1 Qxd1+ 38. Kxd1 Kxd7, and White's up 4 pawns and wins easily.