Fortunately, Axe DOES do better with data handling
in fact, it reserves a .data section where all data is stored soon after the last Return. Everything in the .data section would then be easily distinguishable -- though only as raw data and not in forms of strings, etc. Unless you go through the program and literally see how the program handles all of the data byte by byte, and that wouldn't be near perfect still. If someone does try to attempt one (maybe I will after the contest...) I think it should decompile to multiple programs, one for each .section.