I am writing a program in NASM, and I do not want to link it with the CRT, and so I will specify the entry point (which will be the Win32 entry point). This is the program s
As described in my answer to the proposed duplicate, you shouldn't return from the Win32 entry point at all, in which case there is obviously no need for you to preserve any registers. The way your question is phrased vaguely suggests that you were worried that you night need to restore registers before calling ExitProcess but this is definitely not the case; calling ExitProcess does not cause you to return from the entry point, it just stops running your code. (See also here for an update, and this may also be of interest.)
Should you ignore that advice and return from the entry point anyway, well, in practice the answer is the same: you don't actually need to have preserved any registers. To the best of my knowledge this behaviour is not documented, however, so if you wanted to be cautious you might choose to strictly follow the stdcall convention.