The __fastcall calling convention specifies that arguments to functions are to be passed in registers, when possible. The following list shows the implementation of this calling convention.
Caller clean-up
In these conventions the caller cleans the arguments from the stack, which allows for variable argument lists, eg. printf().