LLMs are trained on source code, so that's what they can (barely) write. Decompiling is a -lossy- action which means that training directly on the output would have much less information and would be a nightmare if one (human or llm) needs to debug.