К тому, что семь – число магическое, все вроде бы привыкли. А почему четыре? А потому, что согласно “__fastcall” calling convention , первые четыре аргумента функции передаются через регистры, а не через stack . То есть вызов функции int __fastcall fooArg4(