а зачем резервировать стек больше 4х, если все аргументы после 4х и так в стеке передаются а резервирование собственно и ставит задачу, сохранить первые 4 аргумента передаваемые через регистры в стек, в случае необходимости их использование при вызове ф-ии внутри ф-ии
в случае передачи 1-4 аргументов они передаются в регтстры, в самой процедуре эти регистры (в которых хранятся параметры) могут использоваться для каких то целей(требование самих инструкций например). для этого и резервирубт (на всякий случай) это место для параметров. если знаешь что параметр в работе функции ты будешь использовать 1 раз и в начале, то можешь не сохранять параметр в теневую часть. если на протяжении всей функции у тя обращение к параметрам происходит не по 1 разу, то лучше сохранять и не занимать регистры параметрамт