Normal is 5.e4, but 5.Bf4 is playable. After 5...d6, 6.h3 is played to allow the bishop to retreat.
8.g3 may be OK, but 8.Bg5 looks stronger, followed by 9.O-O.
Rather than 8...e5, Black should play 8...Nxf4 and 9...c5 for a better game and giving White doubled pawns.
11...g5 might not be the best. Perhaps 11...Nc5 instead.
But White did not have to play 12.Rg1. White could also try 12.Nd2, threatening 13.Qxh5, or try 12.Qc2, threatening 13.Bxh7+.
There is no rush for 12...gxh4. Again, 12...Nc5 and 13...Bg4 or 13...gxh4 now.
Yes, 15.Rxd1 looks better for White, and Black would follow it up with 15...Be6.
15...Bh3?! is not as good as 15...Nd3+ and 16...Nxb2, winning a pawn with the better game.
16...e4?! may not be as good as 16...Be6 or 16...Bf5 since it weakens Black's center and allows for a target. The pawn is a target and when the White knight moves, the Black knight on h5 is a target.
17...Rfe8? is wrong. Perhaps best is 17...Nd3+ and 18...c5, or 18...Nxb2, with the position still favoring Black.
21...Nxb2 may be too slow. Black needs to defend. Perhaps 21...Re8 and 22...Kf7.
23...c5?! looks weak as it allows White to penetrate with his knights. Perhaps 23...Nxc4 or 23...Rc8, protecting the c7 pawn from the knight. After 23...c5 24.Ne6 threatens 25.Nxg7.
24...Rg8? looks bad. Perhaps 24...Bh8 to try and avoid the exchange or pressure on the open g-file.
25.Ndf4 looks OK, but 25.Rhg3 looks stronger for White, with the threat of 26.Rxg7+.
Now 26.Rhg3 wins.
one of my games, any help would be great.