While traversing, find jump destinations and mark them as "Locations". These may be inside functions but should still have renamability in the same way as functions/strings.
After traversing, parse again to find missed functions and mark them as code.
Implement a recursive descent disassembly instead of a flat sweep to improve the accuracy and brevity of disassembled data.