Здесь используется push для выделения 4 байтов временного пространства. [ESP]
обычно указывает на отправленный адрес возврата, который мы не можем перезаписать.
ECX
здесь будет перезаписано, однако ECX
, вероятно, является энергозависимым регистром в целевом ABI, поэтому функции не должны сохранять ECX
.
Причиной использования push / pop здесь является оптимизация пространства (и, возможно, скорости).