I don't know if a decompiler exists for the Arduino. Most of Arduino C++ isn't standard C++ so it would have to be Arduino (or AVR) specific.
And of course the decompiler can't possibly know the original variable names and there are no comments in the machine code, and you might not get the exact same overall program structure, you'd just get something that's functionally the same. And if you used any additional libraries, the decompiled code would probably be done without libraries.
It's often hard-enough to figure-out somebody else's code that uses logical variable names and is well documented/commented...