This is the version using the Native API and works from Windows 2003 onwards. The Native API is needed for Windows 2003 because we have to impersonate a thread of Winlogon.exe in order to be allowed to access and duplicate its token. This does not happen in later Windows versions.
While I have used the Masm32 SDK, some libs will need to be updated (see comments in the source). There is also a structure that is wrong in Windows.inc causing a fail that took me some time to figure out.