Я думаю, что он пытается сделать что-то вроде этого:
*(decltype(&anyvalue))((PBYTE)&arg1+8) = anyvalue; // mov [rsp+8+8], anyvalue
Насколько я понимаю, Microsoft заявляет, что вам необходимо выделить достаточно места для вызываемой стороны для хранения четырех регистров (rcx, rdx, r8. r9), даже в функции, которая принимает только один аргумент (в rcx).
Примечание: извините за уродливый код c и кастинг старой школы, смешанный с новымключевое слово decltype