•FunctionParameters!arithmetic:
•push    ebp ; establishing stack frame
•mov     ebp,esp ;
•sub     esp,0xc0 ; creating stack frame for locals
•push    ebx ; saving registers that might be used
•push    esi ;   outside
•push    edi ;
•lea     edi,[ebp-0xc0] ; getting lowest address of stack frame
•mov     ecx,0x30 ; filling stack frame with 0xCC
•mov     eax,0xcccccccc ;
•rep     stosd ;
•mov     eax,[ebp+0xc] ; eax := [b]
•add     eax,[ebp+0x8] ; eax += [a]
•mov     [ebp+0xc],eax ; [b] := eax (b = b + a)
•mov     eax,[ebp+0x8] ; eax := [a]
•add     eax,0x1 ; eax := eax + 1
•mov     [ebp+0x8],eax ; [a] := eax (++a)
•mov     eax,[ebp+0x8] ; eax := [a]
•imul    eax,[ebp+0xc] ; eax := eax * [b]
•mov     [ebp+0xc],eax ; [b] := eax (b = a * b)
•mov     eax,[ebp+0xc] ; eax := [b] (return value, b)
•pop     edi ; restoring registers
•pop     esi ; (in reverse order)
•pop     ebx ;
•mov     esp,ebp ; restoring previous stack pointer
•pop     ebp ; restoring previous stack frame
•Ret ; return 0
•