One thing it displays is a goto out of 2 loops. If we had a 'break' it would only jump out of 1 loop. This way, it gets out of 2 loops if LLocal2 is 0.
In: if ((Global_98 >= 0)) it is probably a carry check, so this is a signed char. What it means is, that if the carry overflows, we increment the hi-byte (Global_99).
void tirnanog.usub_a207.txt() { Global_47688 = Global_98; Global_47689 = Global_99; Global_47690 = (0 C:+ Global_224); Global_47691 = Global_225; Global_96 = 76; Global_97 = 186; LLocal2 = Global_47690; do { do { LLocal1 = (Global_47691 - 1); do { *Global_96[LLocal1] = *Global_98[LLocal1]; LLocal1 = (LLocal1 - 1); } while (LLocal1 >= 0);//LoopEndWh A234 LLocal2 = (LLocal2 - 1); if (LLocal2 == 0) goto Label_0; Global_98 = (Global_98 + 64); if ((Global_98 >= 0)) { Global_99 = (Global_99 + 1); }//EndIF; A242 Global_96 = (Global_96 + Global_47691); } while (! Global_96);//LoopEndWh A24C Global_97 = (Global_97 + 1); }//LoopEnd A250 Label_0:; Global_98 = Global_47688; Global_99 = Global_47689; return();// A25D };