Reconstructing C code – Part 2
•[pa]  := address of a  ;  int a, b; int *pa, *pb;
•[pb]  := address of b ;  pa = &a; pb = &b;
•eax   := [pa] ;  *pa = 1;
•[eax] := 1
•eax   := [pb]   ;  *pb = 1;
•[eax] := 1
•eax   := [pb] ;  ecx = *pb;
•ecx   := [eax]
•edx   := [pa] ;  ecx = ecx + *pa;
•ecx   := ecx + [edx]
•eax   := [pb] ;  *pb = ecx;
•[eax] := ecx   
•eax   := [pb] ;  ecx = *pb;
•ecx   := [eax]
•ecx   := ecx * 2 ;  ecx = ecx * 2;
•edx   := [pb]                 ;  *pb = ecx;
•[edx] := ecx                 
•eax   := 0                    ; 0
•