Decompiled ARM code: void usub_9000() { int BLocal1; puts("Hello, world!"); puts("Hello, world 2!"); if ((rand() == 20)) { BLocal1 = 1; } else { BLocal1 = 2; }//EndIF; 92DC printf("Arg1:%d Arg2:%d",BLocal1); *Var-16 = 0; do { printf("frotz%d",*Var-16); *Var-16 = (*Var-16 + 1); } while (*Var-16 <= 19);//LoopEndWh 9318 return(0); }; Original ARM code: #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { puts("Hello, world!"); puts("Hello, world 2!"); int blocal; if (rand() == 20) blocal = 1; else blocal = 2; printf("Arg1:%d Arg2:%d",blocal); long i; for (i = 0; i < 20; i++) { printf("frotz%d",i); } return 0; }