Figure 10- 44 Pseudo IDA graph view
From a macro point of view, this conditional branch is actually the 14th data source, right? I
bet you’ve realized that the above pseudo code can be rewritten as below:
R5 = iMessageIsAvailable;
If you can understand this, then our next task is to keep tracing back to analyze every
branch we meet. If different branches result in writing different values into R5, we need to
figure out what’s the branch condition, and this condition is our target data source. Let’s head to
figure 10-45 and start from here.
Figure 10- 45 Branch
If the process branches left, R5 is possibly to be set 0. Since the branch condition is the