"But most (decent) disassemblers would at least pick up a hint of that and try to label the location."
My experience is that most disassemblers are not decent. And even a decent assembler recursively follows code branches isn't going to figure out any but the simplest computations addresses. It takes an AI, a brain, and maybe experiments actually running code to infer the semantics of algorithms. Even static analysis to determine whether code will "halt" or run forever is an NP-complete problem ("The Halting Problem"). -- John.