I have no idea what the hell it's supposed to be used for or why it's so weirdly obfuscated, but it's quite simple
The string is in 6 character chunks:
00 1000
01 0964
02 0953
03 0942
04 0931
05 0920
06 0909
07 0898
08 0887
09 0880
10 0880
The loop just multiplies the first bit by 1000 and if it's greater than DX (whatever that is) divides the second bit by 1000. It makes no sense at all out of context, so I can't really explain any more
Also, is this language really case-insensitive with variables? Ewww.