If the code was created in the arduino environment and compiled and uploaded to atom. The result code is already uploaded, understandable only by the target device processor. It is possible to read such a program from the device and decompile it into C, but the decompiled code may be unreadable to you (It still be functional). During compilation, all descriptive names of variables and names of called functions are lost and converted to specific addresses in memory and program jumps to a specific address. You just write your source code in arduino. You save a copy of it on your PC / laptop. When uploading to the device, the code is compiled and uploaded where necessary. There is no need to rip it back from the device (see description above). You simply make the changes you need to your saved source code and compile and upload your changed code again back to the device.