Sí es posible la vuelta atrás y hacer legible el programa, pero se pierden los nombres originales de las variables.
Las direcciones de memoria 128 a 141 corresponden a los 14 primeros bytes (7 words de punteros) que quedan grabados en cada archivo BASIC, pero habiendo restado (en pareja) los valores de 128(LO) y 129(HI). Por eso los archivos empiezan con los 2 bytes $00.
Entre esos punteros están el 130 (3er y 4to byte) y el 132 (5to y 6to byte) de la tabla de nombres de variables, usados en la rutina para reemplazar los caracteres de los nombres por el caracter 155 ($9B) y destruir visualmente el listado, pero también está el puntero 134 (7mo y 8vo) que indica dónde está la tabla de valores de las variables, y de ahí se puede sacara de qué tipo es cada variable. Esa tabla usa 8 bytes por variable, y el primer byte de cada grupo indica el tipo de esa variable. Creo que el puntero 136 (9no y 10mo byte) sirve para saber donde ya terminó la tabla, y la reste entre estos 2 punteros dividida por 8 daría la cantidad de variables utilizadas. Revisa el Mapping para los detalles de cada puntero.
Mi recomendación es editar el archivo para poner las variables en su tabla y después cargarlo en memoria.
... o usar un programita que hice para eso hace años...