-while (p[0]) {
-p[-1]+=1;
-p[0]+=255;
-p[1]+=p[113];
-p[8]=p[113];
-p[113]=p[1];
+if (p[0]) {
+p[-1]=p[0];
p[1]=0;
-p[8]+=1;
-p[9]=1;
-p[113]=p[8];
p[8]=0;
+p[9]=1;
+p[113]+=p[0];
+p[0]=0;
}
Note that it also figured out through other code that p[-1] must be 0 at entry. This happened several hundred lines before.
if (p[0]) { while (p[0]) {
p[-1]=p[0]; p[-1]+=1;
p[1]=0; p[0]+=255;
p[8]=0; p[1]+=p[113];
p[9]=1; p[8]=p[113];
p[113]+=p[0]; p[113]=p[1];
p[0]=0; p[1]=0;
} p[8]+=1;
p[9]=1;
p[113]=p[8];
p[8]=0;
}