•With FPO
•
•
•FunctionParameters!arithmetic:
•mov eax,[esp+0x8] ; address of b
•test eax,eax ; &b == 0 ?
•jnz FunctionParameters!arithmetic+0xb
(0040100b)
•xor al,al ; return value false (0)
•ret
•0040100b:
•mov edx,[eax] ; edx := [b] (in
C: *b)
•mov ecx,[esp+0x4] ; ecx := [a]
•add edx,ecx
•inc ecx
•imul edx,ecx
•mov [eax],edx ; [b] := edx
•mov al,0x1 ; return value true (1)
•ret
•