It looks won to me ... white king attacks pawn one tempo before black plays Bf1. Meanwhile, black K is cut off.
Can You Help Me Solve This?

But when I play against Stockfish it gets stuck like the following after 52. Be2 g3 53. Bf3 Kd7 54. b6 Ba6 55. Kf4:
1... Kd6 2. Bg2 Be2 3. Kxg3 Kd7 4. Kf4 Kd6 5. Be4 Ba6 6. Bf3 Bc4 7. Kg5 Bb3 8. Bh1 Bc4 9. Be4 Bb3 10. Kf4 Bd1 11. Ba8 Bb3 12. Kg4 Ba4 13. Bg2 Bd1+ 14. Kg5 Be2 15. Kf6 Bc4 16. Bf3 Bb3 17. Bg4 e5 18. dxe5+ Kc6 19. Ke7 Kxb6 20. Kd6 Kb5 21. Bf3 Kb4 22. Bd5 Bd1 23. e6 Kc3 24. Be4 Kd4 25. Bg6 Ba4 26. e7 Bb5 27. Bf7 Ba4 28. Bh5 Bb5 29. Bg6 Ba4 30. Bf7 Bb5
= (#0*) Depth=49/64 0:00:18 48 MN
Here is a game that I've recently drawn with black. I thought white was winning until 52. Kf4? which draws the game, note that I had to find the tricky 54. ... e5+! to get the draw. When I put this to Stockfish, it brags that 52. Be2! g3 53. Bf3 Kd7 54. b6 Ba6 and only then 55. Kf4! wins. However, I'm unable to see how exactly white wins now. I'm wondering if this position is a theoretical draw or not. Can you give me some insight about this position? You can go through the game using the diagram below: