crt: Document all 32-bit x86 kernel32.dll symbols

Reorder symbols in mingw-w64-crt/lib32/kernel32.def file and document in
which Windows version was each symbol introduced.

Symbols are now grouped by Windows version, starting from the oldest
Windows version and the newest is at the end of file. It covers all 32-bit
x86 kernel32.dll versions in Win32s releases, Windows 9x releases and
Windows NT releases starting from the first Windows NT 3.1 up to the last
released Windows 11 2024 Update (Hudson Valley / 24H2). In future new
symbols from new Windows releases should be added into new section at the
end of def file.

This grouping can be very useful to check if the particular Windows version
already has symbol X or in which version was symbol X introduced, to ensure
that produced PE binary can be loaded on specified Windows version or not.

This is just documentation change and does not add or remove any symbol in
32-bit x86 libkernel32.a import library.

Newly documented symbols which were missing in the def file were added as
comments. Symbols which are not available in any Windows versions were
moved to the end of file and are there as is. In future changes missing
symbols could be enabled or non-existent symbols could be removed.

The fact that this does not change list of symbols can be verified by
comparing lines of kernel32.def file before and after this change that are
same when trimming comments and skipping empty lines. E.g. by command:

    sed 's/\s*;.*//;/^$/d' mingw-w64-crt/lib32/kernel32.def | LC_ALL=C sort

Signed-off-by: Martin Storsjö <martin@martin.st>
diff --git a/mingw-w64-crt/lib32/kernel32.def b/mingw-w64-crt/lib32/kernel32.def
index 51582f2..f0d3e27 100644
--- a/mingw-w64-crt/lib32/kernel32.def
+++ b/mingw-w64-crt/lib32/kernel32.def
@@ -1,391 +1,100 @@
-;
-; Definition file of KERNEL32.dll
-; Automatic generated by gendef
-; written by Kai Tietz 2008
-;
 LIBRARY "KERNEL32.dll"
 EXPORTS
-BaseThreadInitThunk@4
-InterlockedPushListSList@8
-AcquireSRWLockExclusive@4
-AcquireSRWLockShared@4
-ActivateActCtx@8
-ActivateActCtxWorker@8
-ActivatePackageVirtualizationContext@8
+
+; This file is a comprehensive documentation for 32-bit x86 kernel32.dll symbols.
+; It covers all 3 platforms Win32s, Win9x and WinNT and contains information
+; from native kernel32.dll libraries on 32-bit Windows systems and also from
+; 32-bit WoW64 kernel32.dll libraries on 64-bit Windows systems. Symbols in this
+; file are ordered by increasing Windows version in which they were introduced.
+; For example symbols added in Windows 98 (which is version 4.10) are before
+; Windows NT 4.0 symbols. Note that some symbols are available in Windows NT 3.1,
+; missing in Windows 98 (4.10), but are again available in Windows 2000 (5.0).
+; This is always mentioned in the header of section which lists symbols.
+;
+; BEWARE that this file contains only information about symbol availability and
+; whether it is possible to load application or library which references symbol.
+; It does not contain information if the particular Windows version supports and
+; implements corresponding API function. Lot of -W functions are unimplemented
+; on Win32s and Win9x platforms and simply signals ERROR_CALL_NOT_IMPLEMENTED.
+
+; This is list of symbols available in all Windows versions (Win32s since Win32s 1.1; Win9x since Windows 95; WinNT since Windows NT 3.1)
 AddAtomA@4
 AddAtomW@4
-AddConsoleAliasA@12
-AddConsoleAliasW@12
-AddDllDirectory@4
-AddIntegrityLabelToBoundaryDescriptor@8
-AddLocalAlternateComputerNameA@8
-AddLocalAlternateComputerNameW@8
-AddRefActCtx@4
-AddRefActCtxWorker@4
-AddResourceAttributeAce@28
-AddSIDToBoundaryDescriptor@8
-AddScopedPolicyIDAce@20
-AddSecureMemoryCacheCallback@4
-AddVectoredContinueHandler@8
-AddVectoredExceptionHandler@8
-AdjustCalendarDate@12
 AllocConsole@0
-AllocConsoleWithOptions@8
-AllocateUserPhysicalPages@12
-AllocateUserPhysicalPagesNuma@16
-AppPolicyGetClrCompat@8
-AppPolicyGetCreateFileAccess@8
-AppPolicyGetLifecycleManagement@8
-AppPolicyGetMediaFoundationCodecLoading@8
-AppPolicyGetProcessTerminationMethod@8
-AppPolicyGetShowDeveloperDiagnostic@8
-AppPolicyGetThreadInitializationType@8
-AppPolicyGetWindowingModel@8
-AppXGetOSMaxVersionTested@8
-ApplicationRecoveryFinished@4
-ApplicationRecoveryInProgress@4
-AreFileApisANSI@0
-AreShortNamesEnabled@8
-AssignProcessToJobObject@8
-AttachConsole@4
 BackupRead@28
 BackupSeek@24
 BackupWrite@28
-BaseAttachCompleteThunk@0
-BaseCheckAppcompatCache@16
-BaseCheckAppcompatCacheEx@24
-BaseCheckAppcompatCacheExWorker@36
-BaseCheckAppcompatCacheWorker@16
-BaseCheckElevation@48
-BaseCheckRunApp@52
-BaseCleanupAppcompatCacheSupport@4
-BaseDllReadWriteIniFile@32
-BaseDumpAppcompatCache@0
-BaseDumpAppcompatCacheWorker@0
-BaseElevationPostProcessing@12
-BaseFlushAppcompatCache@0
-BaseFlushAppcompatCacheWorker@0
-BaseFormatObjectAttributes@16
-BaseFormatTimeOut@8
-BaseFreeAppCompatDataForProcessWorker@4
-BaseGenerateAppCompatData@24
-BaseGetNamedObjectDirectory@4
-BaseInitAppcompatCacheSupport@0
-BaseInitAppcompatCacheSupportWorker@0
-BaseIsAppcompatInfrastructureDisabled@0
-BaseIsAppcompatInfrastructureDisabledWorker@0
-BaseIsDosApplication@8
-BaseQueryModuleData@28
-BaseReadAppCompatDataForProcessWorker@12
-BaseSetLastNTError@4
-BaseUpdateAppcompatCache@12
-BaseUpdateAppcompatCacheWorker@12
-BaseUpdateVDMEntry@16
-BaseVerifyUnicodeString@4
-BaseWriteErrorElevationRequiredEvent@0
-Basep8BitStringToDynamicUnicodeString@8
-BasepAllocateActivationContextActivationBlock@16
-BasepAnsiStringToDynamicUnicodeString@8
-BasepAppContainerEnvironmentExtension@12
-BasepAppXExtension@24
-BasepCheckAppCompat@16
-BasepCheckBadapp@56
-BasepCheckWebBladeHashes@4
-BasepCheckWinSaferRestrictions@28
-BasepConstructSxsCreateProcessMessage@80
-BasepCopyEncryption@12
-BasepFreeActivationContextActivationBlock@4
-BasepFreeAppCompatData@12
-BasepGetAppCompatData@60
-BasepGetComputerNameFromNtPath@16
-BasepGetExeArchType@12
-BasepInitAppCompatData@12
-BasepIsProcessAllowed@4
-BasepMapModuleHandle@8
-BasepNotifyLoadStringResource@16
-BasepPostSuccessAppXExtension@8
-BasepProcessInvalidImage@84
-BasepQueryAppCompat@72
-BasepQueryModuleChpeSettings@40
-BasepReleaseAppXContext@4
-BasepReleaseSxsCreateProcessUtilityStruct@4
-BasepReportFault@8
-BasepSetFileEncryptionCompression@32
 Beep@8
 BeginUpdateResourceA@8
 BeginUpdateResourceW@8
-BindIoCompletionCallback@12
 BuildCommDCBA@8
 BuildCommDCBAndTimeoutsA@12
 BuildCommDCBAndTimeoutsW@12
 BuildCommDCBW@8
-BuildIoRingCancelRequest@20
-BuildIoRingFlushFile@24
-BuildIoRingReadFile@44
-BuildIoRingReadFileScatter@40
-BuildIoRingRegisterBuffers@16
-BuildIoRingRegisterFileHandles@16
-BuildIoRingWriteFile@48
-BuildIoRingWriteFileGather@44
 CallNamedPipeA@28
 CallNamedPipeW@28
-CallbackMayRunLong@4
-CancelDeviceWakeupRequest@4
-CancelIo@4
-CancelIoEx@8
-CancelSynchronousIo@4
-CancelThreadpoolIo@4
-CancelTimerQueueTimer@8
-CancelWaitableTimer@4
-CeipIsOptedIn@0
-ChangeTimerQueueTimer@16
-CheckAllowDecryptedRemoteDestinationPolicy@0
-CheckElevation@20
-CheckElevationEnabled@4
-CheckForReadOnlyResource@8
-CheckForReadOnlyResourceFilter@4
-CheckNameLegalDOS8Dot3A@20
-CheckNameLegalDOS8Dot3W@20
-CheckRemoteDebuggerPresent@8
-CheckTokenCapability@12
-CheckTokenMembershipEx@16
 ClearCommBreak@4
 ClearCommError@12
-CloseConsoleHandle@4
 CloseHandle@4
-CloseIoRing@4
-ClosePackageInfo@4
-ClosePrivateNamespace@8
 CloseProfileUserMapping@0
-ClosePseudoConsole@4
-CloseState@4
-CloseThreadpool@4
-CloseThreadpoolCleanupGroup@4
-CloseThreadpoolCleanupGroupMembers@12
-CloseThreadpoolIo@4
-CloseThreadpoolTimer@4
-CloseThreadpoolWait@4
-CloseThreadpoolWork@4
-CmdBatNotification@4
-CommConfigDialogA@12
-CommConfigDialogW@12
-CompareCalendarDates@12
 CompareFileTime@8
-CompareStringA@24
-CompareStringEx@36
-CompareStringOrdinal@20
 CompareStringW@24
 ConnectNamedPipe@8
-ConsoleIMERoutine@4
-ConsoleMenuControl@12
 ContinueDebugEvent@12
-ConvertCalDateTimeToSystemTime@8
-ConvertDefaultLocale@4
-ConvertFiberToThread@0
-ConvertNLSDayOfWeekToWin32DayOfWeek@4
-ConvertSystemTimeToCalDateTime@12
-ConvertThreadToFiber@4
-ConvertThreadToFiberEx@8
-ConvertToGlobalHandle@4
-CopyContext@12
-CopyFile2@12
 CopyFileA@12
-CopyFileExA@24
-CopyFileExW@24
-CopyFileTransactedA@28
-CopyFileTransactedW@28
 CopyFileW@12
-CopyLZFile@8
-CreateActCtxA@4
-CreateActCtxW@4
-CreateActCtxWWorker@4
-CreateBoundaryDescriptorA@8
-CreateBoundaryDescriptorW@8
 CreateConsoleScreenBuffer@20
 CreateDirectoryA@8
 CreateDirectoryExA@12
 CreateDirectoryExW@12
-CreateDirectoryTransactedA@16
-CreateDirectoryTransactedW@16
 CreateDirectoryW@8
-CreateEnclave@32
 CreateEventA@16
-CreateEventExA@16
-CreateEventExW@16
 CreateEventW@16
-CreateFiber@12
-CreateFiberEx@20
-CreateFile2@20
 CreateFileA@28
 CreateFileMappingA@24
-CreateFileMappingFromApp@24
-CreateFileMappingNumaA@28
-CreateFileMappingNumaW@28
 CreateFileMappingW@24
-CreateFileTransactedA@40
-CreateFileTransactedW@40
 CreateFileW@28
-CreateHardLinkA@12
-CreateHardLinkTransactedA@16
-CreateHardLinkTransactedW@16
-CreateHardLinkW@12
-CreateIoCompletionPort@16
-CreateIoRing@24
-CreateJobObjectA@8
-CreateJobObjectW@8
-CreateJobSet@12
 CreateMailslotA@16
 CreateMailslotW@16
-CreateMemoryResourceNotification@4
 CreateMutexA@12
-CreateMutexExA@16
-CreateMutexExW@16
 CreateMutexW@12
 CreateNamedPipeA@32
 CreateNamedPipeW@32
-CreatePackageVirtualizationContext@8
 CreatePipe@16
-CreatePrivateNamespaceA@12
-CreatePrivateNamespaceW@12
 CreateProcessA@40
-; MSDN says these are exported from ADVAPI32.DLL.
-; CreateProcessAsUserA@44
-; CreateProcessAsUserW@44
-CreateProcessInternalA@48
-CreateProcessInternalW@48
 CreateProcessW@40
-CreatePseudoConsole@20
 CreateRemoteThread@28
-CreateRemoteThreadEx@32
 CreateSemaphoreA@16
-CreateSemaphoreExA@24
-CreateSemaphoreExW@24
 CreateSemaphoreW@16
-CreateSocketHandle@0
-CreateSymbolicLinkA@12
-CreateSymbolicLinkTransactedA@16
-CreateSymbolicLinkTransactedW@16
-CreateSymbolicLinkW@12
 CreateTapePartition@16
 CreateThread@24
-CreateThreadpool@4
-CreateThreadpoolCleanupGroup@0
-CreateThreadpoolIo@16
-CreateThreadpoolTimer@12
-CreateThreadpoolWait@12
-CreateThreadpoolWork@12
-CreateTimerQueue@0
-CreateTimerQueueTimer@28
-CreateToolhelp32Snapshot@8
-CreateVirtualBuffer@12
-CreateWaitableTimerA@12
-CreateWaitableTimerExA@16
-CreateWaitableTimerExW@16
-CreateWaitableTimerW@12
-CtrlRoutine@4
-DeactivateActCtx@8
-DeactivateActCtxWorker@8
-DeactivatePackageVirtualizationContext@4
 DebugActiveProcess@4
-DebugActiveProcessStop@4
 DebugBreak@0
-DebugBreakProcess@4
-DebugSetProcessKillOnExit@4
-DecodePointer@4
-DecodeSystemPointer@4
 DefineDosDeviceA@12
 DefineDosDeviceW@12
-DelayLoadFailureHook@8
 DeleteAtom@4
-DeleteBoundaryDescriptor@4
 DeleteCriticalSection@4
-DeleteFiber@4
 DeleteFileA@4
-DeleteFileTransactedA@8
-DeleteFileTransactedW@8
 DeleteFileW@4
-DeleteProcThreadAttributeList@4
-DeleteSynchronizationBarrier@4
-DeleteTimerQueue@4
-DeleteTimerQueueEx@8
-DeleteTimerQueueTimer@12
-DeleteVolumeMountPointA@4
-DeleteVolumeMountPointW@4
 DeviceIoControl@32
-DisableThreadLibraryCalls@4
-DisableThreadProfiling@4
-DisassociateCurrentThreadFromCallback@4
-DiscardVirtualMemory@8
 DisconnectNamedPipe@4
-DnsHostnameToComputerNameA@12
-DnsHostnameToComputerNameExW@12
-DnsHostnameToComputerNameW@12
 DosDateTimeToFileTime@12
-DosPathToSessionPathA@12
-DosPathToSessionPathW@12
-DuplicateConsoleHandle@16
-DuplicateEncryptionInfoFileExt@20
 DuplicateHandle@28
-DuplicatePackageVirtualizationContext@8
-EnableProcessOptionalXStateFeatures@8
-EnableThreadProfiling@20
-EncodePointer@4
-EncodeSystemPointer@4
 EndUpdateResourceA@8
 EndUpdateResourceW@8
 EnterCriticalSection@4
-EnterSynchronizationBarrier@8
-EnumCalendarInfoA@16
-EnumCalendarInfoExA@16
-EnumCalendarInfoExEx@24
-EnumCalendarInfoExW@16
-EnumCalendarInfoW@16
-EnumDateFormatsA@12
-EnumDateFormatsExA@12
-EnumDateFormatsExEx@16
-EnumDateFormatsExW@12
-EnumDateFormatsW@12
-EnumLanguageGroupLocalesA@16
-EnumLanguageGroupLocalesW@16
 EnumResourceLanguagesA@20
-EnumResourceLanguagesExA@28
-EnumResourceLanguagesExW@28
 EnumResourceLanguagesW@20
 EnumResourceNamesA@16
-EnumResourceNamesExA@24
-EnumResourceNamesExW@24
 EnumResourceNamesW@16
 EnumResourceTypesA@12
-EnumResourceTypesExA@20
-EnumResourceTypesExW@20
 EnumResourceTypesW@12
-EnumSystemCodePagesA@8
-EnumSystemCodePagesW@8
-EnumSystemFirmwareTables@12
-EnumSystemGeoID@12
-EnumSystemGeoNames@12
-EnumSystemLanguageGroupsA@12
-EnumSystemLanguageGroupsW@12
-EnumSystemLocalesA@8
-EnumSystemLocalesEx@16
-EnumSystemLocalesW@8
-EnumTimeFormatsA@12
-EnumTimeFormatsEx@16
-EnumTimeFormatsW@12
-EnumUILanguagesA@12
-EnumUILanguagesW@12
-EnumerateLocalComputerNamesA@16
-EnumerateLocalComputerNamesW@16
 EraseTape@12
 EscapeCommFunction@8
 ExitProcess@4
 ExitThread@4
-ExitVDM@8
 ExpandEnvironmentStringsA@12
 ExpandEnvironmentStringsW@12
-ExpungeConsoleCommandHistoryA@4
-ExpungeConsoleCommandHistoryW@4
-ExtendVirtualBuffer@8
 FatalAppExitA@8
 FatalAppExitW@8
 FatalExit@4
@@ -395,11 +104,6 @@
 FillConsoleOutputAttribute@20
 FillConsoleOutputCharacterA@20
 FillConsoleOutputCharacterW@20
-FindActCtxSectionGuid@20
-FindActCtxSectionGuidWorker@20
-FindActCtxSectionStringA@20
-FindActCtxSectionStringW@20
-FindActCtxSectionStringWWorker@20
 FindAtomA@4
 FindAtomW@4
 FindClose@4
@@ -407,96 +111,29 @@
 FindFirstChangeNotificationA@12
 FindFirstChangeNotificationW@12
 FindFirstFileA@8
-FindFirstFileExA@24
-FindFirstFileExW@24
-FindFirstFileNameTransactedW@20
-FindFirstFileNameW@16
-FindFirstFileTransactedA@28
-FindFirstFileTransactedW@28
 FindFirstFileW@8
-FindFirstStreamTransactedW@20
-FindFirstStreamW@16
-FindFirstVolumeA@8
-FindFirstVolumeMountPointA@12
-FindFirstVolumeMountPointW@12
-FindFirstVolumeW@8
-FindNLSString@28
-FindNLSStringEx@40
 FindNextChangeNotification@4
 FindNextFileA@8
-FindNextFileNameW@12
 FindNextFileW@8
-FindNextStreamW@8
-FindNextVolumeA@12
-FindNextVolumeMountPointA@12
-FindNextVolumeMountPointW@12
-FindNextVolumeW@12
-FindPackagesByPackageFamily@28
 FindResourceA@12
 FindResourceExA@16
 FindResourceExW@16
 FindResourceW@12
-FindStringOrdinal@24
-FindVolumeClose@4
-FindVolumeMountPointClose@4
-FlsAlloc@4
-FlsFree@4
-FlsGetValue2@4
-FlsGetValue@4
-FlsSetValue@8
 FlushConsoleInputBuffer@4
 FlushFileBuffers@4
 FlushInstructionCache@12
-FlushProcessWriteBuffers@0
 FlushViewOfFile@8
-FoldStringA@20
 FoldStringW@20
-FormatApplicationUserModelId@16
 FormatMessageA@28
 FormatMessageW@28
 FreeConsole@0
-FreeEnvironmentStringsA@4
-FreeEnvironmentStringsW@4
 FreeLibrary@4
-FreeLibraryAndExitThread@8
-FreeLibraryWhenCallbackReturns@8
-FreeMemoryJobObject@4
 FreeResource@4
-FreeUserPhysicalPages@12
-FreeVirtualBuffer@4
 GenerateConsoleCtrlEvent@8
 GetACP@0
-GetActiveProcessorCount@4
-GetActiveProcessorGroupCount@0
-GetAppContainerAce@16
-GetAppContainerNamedObjectPath@20
-GetApplicationRecoveryCallback@20
-GetApplicationRecoveryCallbackWorker@20
-GetApplicationRestartSettings@16
-GetApplicationRestartSettingsWorker@16
-GetApplicationUserModelId@12
 GetAtomNameA@12
 GetAtomNameW@12
-GetBinaryType@8
-GetBinaryTypeA@8
-GetBinaryTypeW@8
-GetCPFileNameFromRegistry@12
 GetCPInfo@8
-GetCPInfoExA@12
-GetCPInfoExW@12
-GetCachedSigningLevel@24
-GetCalendarDateFormat@24
-GetCalendarDateFormatEx@24
-GetCalendarDaysInMonth@16
-GetCalendarDifferenceInDays@12
-GetCalendarInfoA@24
-GetCalendarInfoEx@28
-GetCalendarInfoW@24
-GetCalendarMonthsInYear@12
-GetCalendarSupportedDateRange@12
-GetCalendarWeekNumber@16
-GetComPlusPackageInstallStatus@0
-GetCommConfig@12
 GetCommMask@8
 GetCommModemStatus@8
 GetCommProperties@8
@@ -504,295 +141,85 @@
 GetCommTimeouts@8
 GetCommandLineA@0
 GetCommandLineW@0
-GetCompressedFileSizeA@8
-GetCompressedFileSizeTransactedA@12
-GetCompressedFileSizeTransactedW@12
-GetCompressedFileSizeW@8
 GetComputerNameA@8
-GetComputerNameExA@12
-GetComputerNameExW@12
 GetComputerNameW@8
-GetConsoleAliasA@16
-GetConsoleAliasExesA@8
-GetConsoleAliasExesLengthA@0
-GetConsoleAliasExesLengthW@0
-GetConsoleAliasExesW@8
-GetConsoleAliasW@16
-GetConsoleAliasesA@12
-GetConsoleAliasesLengthA@4
-GetConsoleAliasesLengthW@4
-GetConsoleAliasesW@12
 GetConsoleCP@0
-GetConsoleCharType@12
-GetConsoleCommandHistoryA@12
-GetConsoleCommandHistoryLengthA@4
-GetConsoleCommandHistoryLengthW@4
-GetConsoleCommandHistoryW@12
 GetConsoleCursorInfo@8
-GetConsoleCursorMode@12
-GetConsoleDisplayMode@4
-GetConsoleFontInfo@16
-GetConsoleFontSize@8
-GetConsoleHardwareState@12
-GetConsoleHistoryInfo@4
-GetConsoleInputExeNameA@8
-GetConsoleInputExeNameW@8
-GetConsoleInputWaitHandle@0
-GetConsoleKeyboardLayoutNameA@4
-GetConsoleKeyboardLayoutNameW@4
 GetConsoleMode@8
-GetConsoleNlsMode@8
-GetConsoleOriginalTitleA@8
-GetConsoleOriginalTitleW@8
 GetConsoleOutputCP@0
-GetConsoleProcessList@8
 GetConsoleScreenBufferInfo@8
-GetConsoleScreenBufferInfoEx@8
-GetConsoleSelectionInfo@4
 GetConsoleTitleA@8
 GetConsoleTitleW@8
-GetConsoleWindow@0
-GetCurrencyFormatA@24
-GetCurrencyFormatEx@24
-GetCurrencyFormatW@24
-GetCurrentActCtx@4
-GetCurrentActCtxWorker@4
-GetCurrentApplicationUserModelId@8
-GetCurrentConsoleFont@12
-GetCurrentConsoleFontEx@12
 GetCurrentDirectoryA@8
 GetCurrentDirectoryW@8
-GetCurrentPackageFamilyName@8
-GetCurrentPackageFullName@8
-GetCurrentPackageId@8
-GetCurrentPackageInfo@16
-GetCurrentPackagePath@8
-GetCurrentPackageVirtualizationContext@0
 GetCurrentProcess@0
 GetCurrentProcessId@0
-GetCurrentProcessorNumber@0
-GetCurrentProcessorNumberEx@4
 GetCurrentThread@0
 GetCurrentThreadId@0
-GetCurrentThreadStackLimits@8
-GetDateFormatA@24
-GetDateFormatAWorker@28
-GetDateFormatEx@28
 GetDateFormatW@24
-GetDateFormatWWorker@28
-GetDefaultCommConfigA@12
-GetDefaultCommConfigW@12
-GetDevicePowerState@8
 GetDiskFreeSpaceA@20
-GetDiskFreeSpaceExA@16
-GetDiskFreeSpaceExW@16
 GetDiskFreeSpaceW@20
-GetDiskSpaceInformationA@8
-GetDiskSpaceInformationW@8
-GetDllDirectoryA@8
-GetDllDirectoryW@8
 GetDriveTypeA@4
 GetDriveTypeW@4
-GetDurationFormat@32
-GetDurationFormatEx@32
-GetDynamicTimeZoneInformation@4
-GetEnabledXStateFeatures@0
-GetEncryptedFileVersionExt@8
 GetEnvironmentStrings@0
-GetEnvironmentStringsA@0
-GetEnvironmentStringsW@0
 GetEnvironmentVariableA@12
 GetEnvironmentVariableW@12
-GetEraNameCountedString@16
-GetErrorMode@0
 GetExitCodeProcess@8
 GetExitCodeThread@8
-GetExpandedNameA@8
-GetExpandedNameW@8
 GetFileAttributesA@4
-GetFileAttributesExA@12
-GetFileAttributesExW@12
-GetFileAttributesTransactedA@16
-GetFileAttributesTransactedW@16
 GetFileAttributesW@4
-GetFileBandwidthReservation@24
 GetFileInformationByHandle@8
-GetFileInformationByHandleEx@16
-GetFileInformationByName@16
-GetFileMUIInfo@16
-GetFileMUIPath@28
 GetFileSize@8
-GetFileSizeEx@8
 GetFileTime@16
 GetFileType@4
-GetFinalPathNameByHandleA@16
-GetFinalPathNameByHandleW@16
-GetFirmwareEnvironmentVariableA@16
-GetFirmwareEnvironmentVariableExA@20
-GetFirmwareEnvironmentVariableExW@20
-GetFirmwareEnvironmentVariableW@16
-GetFirmwareType@4
 GetFullPathNameA@16
-GetFullPathNameTransactedA@20
-GetFullPathNameTransactedW@20
 GetFullPathNameW@16
-GetGeoInfoA@20
-GetGeoInfoEx@16
-GetGeoInfoW@20
-GetHandleContext@4
-GetHandleInformation@8
-GetIoRingInfo@8
-GetLargePageMinimum@0
 GetLargestConsoleWindowSize@4
 GetLastError@0
 GetLocalTime@4
-GetLocaleInfoA@16
-GetLocaleInfoEx@16
 GetLocaleInfoW@16
 GetLogicalDriveStringsA@8
 GetLogicalDriveStringsW@8
 GetLogicalDrives@0
-GetLogicalProcessorInformation@8
-GetLogicalProcessorInformationEx@12
-GetLongPathNameA@12
-GetLongPathNameTransactedA@16
-GetLongPathNameTransactedW@16
-GetLongPathNameW@12
-GetMachineTypeAttributes@8
 GetMailslotInfo@20
-GetMaximumProcessorCount@4
-GetMaximumProcessorGroupCount@0
-GetMemoryErrorHandlingCapabilities@4
 GetModuleFileNameA@12
 GetModuleFileNameW@12
 GetModuleHandleA@4
-GetModuleHandleExA@12
-GetModuleHandleExW@12
 GetModuleHandleW@4
-GetNLSVersion@12
-GetNLSVersionEx@12
-GetNamedPipeAttribute@20
-GetNamedPipeClientComputerNameA@12
-GetNamedPipeClientComputerNameW@12
-GetNamedPipeClientProcessId@8
-GetNamedPipeClientSessionId@8
 GetNamedPipeHandleStateA@28
 GetNamedPipeHandleStateW@28
 GetNamedPipeInfo@20
-GetNamedPipeServerProcessId@8
-GetNamedPipeServerSessionId@8
-GetNativeSystemInfo@4
-GetNextVDMCommand@4
-GetNumaAvailableMemoryNode@8
-GetNumaAvailableMemoryNodeEx@8
-GetNumaHighestNodeNumber@4
-GetNumaNodeNumberFromHandle@8
-GetNumaNodeProcessorMask2@16
-GetNumaNodeProcessorMask@8
-GetNumaNodeProcessorMaskEx@8
-GetNumaProcessorNode@8
-GetNumaProcessorNodeEx@8
-GetNumaProximityNode@8
-GetNumaProximityNodeEx@8
-GetNumberFormatA@24
-GetNumberFormatEx@24
-GetNumberFormatW@24
-GetNumberOfConsoleFonts@0
 GetNumberOfConsoleInputEvents@8
 GetNumberOfConsoleMouseButtons@4
 GetOEMCP@0
 GetOverlappedResult@16
-GetOverlappedResultEx@20
-GetPackageApplicationIds@16
-GetPackageFamilyName@12
-GetPackageFullName@12
-GetPackageId@12
-GetPackageInfo@20
-GetPackagePath@16
-GetPackagePathByFullName@12
-GetPackagesByPackageFamily@20
-GetPhysicallyInstalledSystemMemory@4
 GetPriorityClass@4
 GetPrivateProfileIntA@16
 GetPrivateProfileIntW@16
 GetPrivateProfileSectionA@16
-GetPrivateProfileSectionNamesA@12
-GetPrivateProfileSectionNamesW@12
 GetPrivateProfileSectionW@16
 GetPrivateProfileStringA@24
 GetPrivateProfileStringW@24
-GetPrivateProfileStructA@20
-GetPrivateProfileStructW@20
 GetProcAddress@8
-GetProcessAffinityMask@12
-GetProcessDEPPolicy@12
-GetProcessDefaultCpuSetMasks@16
-GetProcessDefaultCpuSets@16
-GetProcessGroupAffinity@12
-GetProcessHandleCount@8
 GetProcessHeap@0
-GetProcessHeaps@8
-GetProcessId@4
-GetProcessIdOfThread@4
-GetProcessInformation@16
-GetProcessIoCounters@8
-GetProcessMitigationPolicy@16
-GetProcessPreferredUILanguages@16
-GetProcessPriorityBoost@8
 GetProcessShutdownParameters@8
 GetProcessTimes@20
-GetProcessUserModeExceptionPolicy@4
-GetProcessVersion@4
-GetProcessWorkingSetSize@12
-GetProcessWorkingSetSizeEx@16
-GetProcessesInVirtualizationContext@12
-GetProcessorSystemCycleTime@12
-GetProductInfo@20
-GetProductName@8
 GetProfileIntA@12
 GetProfileIntW@12
 GetProfileSectionA@12
 GetProfileSectionW@12
 GetProfileStringA@20
 GetProfileStringW@20
-GetQueuedCompletionStatus@20
-GetQueuedCompletionStatusEx@24
-GetShortPathNameA@12
-GetShortPathNameW@12
-GetStagedPackagePathByFullName@12
 GetStartupInfoA@4
 GetStartupInfoW@4
-GetStateFolder@16
 GetStdHandle@4
-GetStringScripts@20
-GetStringTypeA@20
-GetStringTypeExA@20
-GetStringTypeExW@20
 GetStringTypeW@16
-GetSystemAppDataKey@16
-GetSystemCpuSetInformation@20
-GetSystemDEPPolicy@0
 GetSystemDefaultLCID@0
 GetSystemDefaultLangID@0
-GetSystemDefaultLocaleName@8
-GetSystemDefaultUILanguage@0
 GetSystemDirectoryA@8
 GetSystemDirectoryW@8
-GetSystemFileCacheSize@12
-GetSystemFirmwareTable@16
 GetSystemInfo@4
-GetSystemPowerStatus@4
-GetSystemPreferredUILanguages@16
-GetSystemRegistryQuota@8
 GetSystemTime@4
-GetSystemTimeAdjustment@12
-GetSystemTimeAsFileTime@4
-GetSystemTimePreciseAsFileTime@4
-GetSystemTimes@12
-GetSystemWindowsDirectoryA@8
-GetSystemWindowsDirectoryW@8
-GetSystemWow64DirectoryA@8
-GetSystemWow64DirectoryW@8
 GetTapeParameters@16
 GetTapePosition@20
 GetTapeStatus@4
@@ -800,63 +227,22 @@
 GetTempFileNameW@16
 GetTempPathA@8
 GetTempPathW@8
-GetTempPath2A@8
-GetTempPath2W@8
+GetTickCount@0
 GetThreadContext@8
-GetThreadDescription@8
-GetThreadEnabledXStateFeatures@0
-GetThreadErrorMode@0
-GetThreadGroupAffinity@8
-GetThreadIOPendingFlag@8
-GetThreadId@4
-GetThreadIdealProcessorEx@8
-GetThreadInformation@16
 GetThreadLocale@0
-GetThreadPreferredUILanguages@16
 GetThreadPriority@4
-GetThreadPriorityBoost@8
-GetThreadSelectedCpuSetMasks@16
-GetThreadSelectedCpuSets@16
 GetThreadSelectorEntry@12
 GetThreadTimes@20
-GetThreadUILanguage@0
-GetTickCount64@0
-GetTickCount@0
-GetTimeFormatA@24
-GetTimeFormatAWorker@28
-GetTimeFormatEx@24
 GetTimeFormatW@24
-GetTimeFormatWWorker@24
 GetTimeZoneInformation@4
-GetTimeZoneInformationForYear@12
-GetUILanguageInfo@20
-GetUserDefaultGeoName@8
 GetUserDefaultLCID@0
 GetUserDefaultLangID@0
-GetUserDefaultLocaleName@8
-GetUserDefaultUILanguage@0
-GetUserGeoID@4
-GetUserPreferredUILanguages@16
-GetVDMCurrentDirectories@8
 GetVersion@0
-GetVersionExA@4
-GetVersionExW@4
 GetVolumeInformationA@32
-GetVolumeInformationByHandleW@32
 GetVolumeInformationW@32
-GetVolumeNameForVolumeMountPointA@12
-GetVolumeNameForVolumeMountPointW@12
-GetVolumePathNameA@12
-GetVolumePathNameW@12
-GetVolumePathNamesForVolumeNameA@16
-GetVolumePathNamesForVolumeNameW@16
 GetWindowsDirectoryA@8
 GetWindowsDirectoryW@8
-GetWriteWatch@24
-GetXStateFeaturesMask@8
 GlobalAddAtomA@4
-GlobalAddAtomExA@8
-GlobalAddAtomExW@8
 GlobalAddAtomW@4
 GlobalAlloc@8
 GlobalCompact@4
@@ -871,67 +257,23 @@
 GlobalHandle@4
 GlobalLock@4
 GlobalMemoryStatus@4
-GlobalMemoryStatusEx@4
-GlobalMemoryStatusVlm@4
 GlobalReAlloc@12
 GlobalSize@4
 GlobalUnWire@4
 GlobalUnfix@4
 GlobalUnlock@4
 GlobalWire@4
-Heap32First@12
-Heap32ListFirst@8
-Heap32ListNext@8
-Heap32Next@4
 HeapAlloc@12
-HeapCompact@8
 HeapCreate@12
-HeapCreateTagsW@16
 HeapDestroy@4
-HeapExtend@16
 HeapFree@12
-HeapLock@4
-HeapQueryInformation@20
-HeapQueryTagW@20
 HeapReAlloc@16
-HeapSetInformation@16
 HeapSize@12
-HeapSummary@12
-HeapUnlock@4
-HeapUsage@20
-HeapValidate@12
-HeapWalk@8
-IdnToAscii@20
-IdnToNameprepUnicode@20
-IdnToUnicode@20
 InitAtomTable@4
 InitializeCriticalSection@4
-InitOnceBeginInitialize@16
-InitOnceComplete@12
-InitOnceExecuteOnce@16
-InitOnceInitialize@4
-InitializeConditionVariable@4
-InitializeContext2@24
-InitializeContext@16
-InitializeCriticalSectionAndSpinCount@8
-InitializeCriticalSectionEx@12
-InitializeEnclave@20
-InitializeProcThreadAttributeList@16
-InitializeSListHead@4
-InitializeSRWLock@4
-InitializeSynchronizationBarrier@12
-InstallELAMCertificateInfo@4
-InterlockedCompareExchange64@20 DATA ; FIXME: this is for Vista+. forwards to NTDLL.RtlInterlockedCompareExchange64@20
-InterlockedCompareExchange@12 DATA
-InterlockedDecrement@4 DATA
-InterlockedExchange@8 DATA
-InterlockedExchangeAdd@8 DATA
-InterlockedFlushSList@4
-InterlockedIncrement@4 DATA
-InterlockedPopEntrySList@4
-InterlockedPushEntrySList@8
-InterlockedPushListSListEx@16
-InvalidateConsoleDIBits@8
+InterlockedDecrement@4 DATA ; FIXME: why is decorated stdcall function symbol disabled?
+InterlockedExchange@8 DATA ; FIXME: why is decorated stdcall function symbol disabled?
+InterlockedIncrement@4 DATA ; FIXME: why is decorated stdcall function symbol disabled?
 IsBadCodePtr@4
 IsBadHugeReadPtr@8
 IsBadHugeWritePtr@8
@@ -939,34 +281,1425 @@
 IsBadStringPtrA@8
 IsBadStringPtrW@8
 IsBadWritePtr@8
+IsDBCSLeadByte@4
+IsValidCodePage@4
+LCMapStringW@24
+LeaveCriticalSection@4
+LoadLibraryA@4
+LoadLibraryExA@12
+LoadLibraryExW@12
+LoadLibraryW@4
+LoadModule@8
+LoadResource@8
+LocalAlloc@8
+LocalCompact@4
+LocalFileTimeToFileTime@8
+LocalFlags@4
+LocalFree@4
+LocalHandle@4
+LocalLock@4
+LocalReAlloc@12
+LocalShrink@8
+LocalSize@4
+LocalUnlock@4
+LockFile@20
+LockFileEx@24
+LockResource@4
+MapViewOfFile@20
+MapViewOfFileEx@24
+MoveFileA@8
+MoveFileExA@12
+MoveFileExW@12
+MoveFileW@8
+MulDiv@12
+MultiByteToWideChar@24
+OpenEventA@12
+OpenEventW@12
+OpenFile@12
+OpenFileMappingA@12
+OpenFileMappingW@12
+OpenMutexA@12
+OpenMutexW@12
+OpenProcess@12
+OpenProfileUserMapping@0
+OpenSemaphoreA@12
+OpenSemaphoreW@12
+OutputDebugStringA@4
+OutputDebugStringW@4
+PeekConsoleInputA@16
+PeekConsoleInputW@16
+PeekNamedPipe@24
+PrepareTape@12
+PulseEvent@4
+PurgeComm@8
+QueryDosDeviceA@12
+QueryDosDeviceW@12
+QueryPerformanceCounter@4
+QueryPerformanceFrequency@4
+RaiseException@16
+ReadConsoleA@20
+ReadConsoleInputA@16
+ReadConsoleInputW@16
+ReadConsoleOutputA@20
+ReadConsoleOutputAttribute@20
+ReadConsoleOutputCharacterA@20
+ReadConsoleOutputCharacterW@20
+ReadConsoleOutputW@20
+ReadConsoleW@20
+ReadFile@20
+ReadFileEx@20
+ReadProcessMemory@20
+ReleaseMutex@4
+ReleaseSemaphore@12
+RemoveDirectoryA@4
+RemoveDirectoryW@4
+ResetEvent@4
+ResumeThread@4
+RtlMoveMemory@12
+RtlUnwind@16
+RtlZeroMemory@8
+ScrollConsoleScreenBufferA@20
+ScrollConsoleScreenBufferW@20
+SearchPathA@24
+SearchPathW@24
+SetCommBreak@4
+SetCommMask@8
+SetCommState@8
+SetCommTimeouts@8
+SetComputerNameA@4
+SetComputerNameW@4
+SetConsoleActiveScreenBuffer@4
+SetConsoleCP@4
+SetConsoleCtrlHandler@8
+SetConsoleCursorInfo@8
+SetConsoleCursorPosition@8
+SetConsoleMode@8
+SetConsoleOutputCP@4
+SetConsoleScreenBufferSize@8
+SetConsoleTextAttribute@8
+SetConsoleTitleA@4
+SetConsoleTitleW@4
+SetConsoleWindowInfo@12
+SetCurrentDirectoryA@4
+SetCurrentDirectoryW@4
+SetEndOfFile@4
+SetEnvironmentVariableA@8
+SetEnvironmentVariableW@8
+SetErrorMode@4
+SetEvent@4
+SetFileApisToOEM@0
+SetFileAttributesA@8
+SetFileAttributesW@8
+SetFilePointer@16
+SetFileTime@16
+SetHandleCount@4
+SetLastError@4
+SetLocalTime@4
+SetMailslotInfo@8
+SetNamedPipeHandleState@16
+SetPriorityClass@8
+SetProcessShutdownParameters@8
+SetStdHandle@8
+SetSystemTime@4
+SetTapeParameters@12
+SetTapePosition@24
+SetThreadContext@8
+SetThreadLocale@4
+SetThreadPriority@8
+SetTimeZoneInformation@4
+SetUnhandledExceptionFilter@4
+SetVolumeLabelA@8
+SetVolumeLabelW@8
+SetupComm@12
+SizeofResource@8
+Sleep@4
+SleepEx@8
+SuspendThread@4
+SystemTimeToFileTime@8
+TerminateProcess@8
+TerminateThread@8
+TlsAlloc@0
+TlsFree@4
+TlsGetValue@4
+TlsSetValue@8
+TransactNamedPipe@28
+TransmitCommChar@8
+UnhandledExceptionFilter@4
+UnlockFile@20
+UnlockFileEx@20
+UnmapViewOfFile@4
+UpdateResourceA@24
+UpdateResourceW@24
+VerLanguageNameA@12
+VerLanguageNameW@12
+VirtualAlloc@16
+VirtualFree@12
+VirtualLock@8
+VirtualProtect@16
+VirtualProtectEx@20
+VirtualQuery@12
+VirtualQueryEx@16
+VirtualUnlock@8
+WaitCommEvent@12
+WaitForDebugEvent@8
+WaitForMultipleObjects@16
+WaitForMultipleObjectsEx@20
+WaitForSingleObject@8
+WaitForSingleObjectEx@12
+WaitNamedPipeA@8
+WaitNamedPipeW@8
+WideCharToMultiByte@32
+WinExec@8
+WriteConsoleA@20
+WriteConsoleInputA@16
+WriteConsoleInputW@16
+WriteConsoleOutputA@20
+WriteConsoleOutputAttribute@20
+WriteConsoleOutputCharacterA@20
+WriteConsoleOutputCharacterW@20
+WriteConsoleOutputW@20
+WriteConsoleW@20
+WriteFile@20
+WriteFileEx@20
+WritePrivateProfileSectionA@12
+WritePrivateProfileSectionW@12
+WritePrivateProfileStringA@16
+WritePrivateProfileStringW@16
+WriteProcessMemory@20
+WriteProfileSectionA@8
+WriteProfileSectionW@8
+WriteProfileStringA@12
+WriteProfileStringW@12
+WriteTapemark@16
+_hread@12
+_hwrite@12
+_lclose@4
+_lcreat@8
+_llseek@12
+_lopen@8
+_lread@12
+_lwrite@12
+lstrcatA@8
+lstrcatW@8
+lstrcmpA@8
+lstrcmpW@8
+lstrcmpiA@8
+lstrcmpiW@8
+lstrcpyA@8
+lstrcpyW@8
+lstrlenA@4
+lstrlenW@4
+
+; This is list of symbols available only in Win32s (not available in Win9x and WinNT)
+; BaseRtlAllocateHandle@4
+; BaseRtlDestroyHandleTable@4
+; BaseRtlFreeHandle@8
+; BaseRtlInitializeHandleTable@8
+; Free32bDLLCbEntries@8
+; Get16DLLAddress@8
+; GetDOSFileHandle@4
+; GetUserNameA@8 ; MSDN says this is exported from advapi32.dll
+; GetUserNameW@8 ; MSDN says this is exported from advapi32.dll
+; OpenThread@4 ; Win32s OpenThread takes one DWORD threadid argument, Windows ME and Windows 2000+ contain "OpenThread" symbol but ABI is "OpenThread@12"
+; PrivateFreeLibrary@4
+; PrivateLoadLibrary@4
+; RtlCreateHeap@24 ; MSDN says this is exported from ntdll.dll
+; RtlDestroyHeap@4 ; MSDN says this is exported from ntdll.dll
+; RtlExAllocateHeap@12 ; MSDN says this is exported from ntdll.dll
+; RtlExFreeHeap@12 ; MSDN says this is exported from ntdll.dll
+; RtlExReAllocateHeap@16 ; MSDN says this is exported from ntdll.dll
+; RtlExSizeHeap@12 ; MSDN says this is exported from ntdll.dll
+; SetLastErrorEx@8 ; MSDN says this is exported from user32.dll
+
+; This is list of symbols available in all Win32s and Win9x versions and since Windows 2000
+UTRegister@28
+UTUnRegister@4
+
+; This is list of symbols added in Win32s 1.15, available in all Win9x versions and since Windows NT 3.5
+; Note that Win32s 1.15 and all later versions merged advapi32.dll, gdi32.dll,
+; kernel32.dll, ntdll.dll, user32.dll (and Win32s 1.25a and later also mpr.dll)
+; libraries into one big w32scomb.dll library and made those libraries as alias
+; to w32scomb.dll, which effectively means that every symbol from every library
+; is available also from kernel32.dll (aliased to w32scomb.dll). Below are only
+; those Win32s symbols which are available in some Win9x or WinNT version of
+; kernel32.dll or logically belongs to kernel32.dll.
+CompareStringA@24
+ConvertDefaultLocale@4
+EnumCalendarInfoA@16
+EnumCalendarInfoW@16
+EnumDateFormatsA@12
+EnumDateFormatsW@12
+EnumSystemCodePagesA@8
+EnumSystemCodePagesW@8
+EnumSystemLocalesA@8
+EnumSystemLocalesW@8
+EnumTimeFormatsA@12
+EnumTimeFormatsW@12
+GetCurrencyFormatA@24
+GetCurrencyFormatW@24
+GetDateFormatA@24
+GetLocaleInfoA@16
+GetNumberFormatA@24
+GetNumberFormatW@24
+GetTimeFormatA@24
+GetVersionExA@4
+GetVersionExW@4
+HeapValidate@12
+IsValidLocale@8
+LCMapStringA@24
+SetLocaleInfoA@12
+SetLocaleInfoW@12
+lstrcpynA@12
+lstrcpynW@12
+
+; This is list of symbols added in Win32s 1.15 and available only in Win32s (not available in Win9x and WinNT)
+; Insert16hInWin32s@4
+; PrivateGetModuleUsage@4
+
+; This is list of symbols added in Win32s 1.20, available in all Win9x versions and since Windows NT 3.1
+GetBinaryType@8
+RtlFillMemory@12
+lstrcat@8
+lstrcmp@8
+lstrcmpi@8
+lstrcpy@8
+lstrlen@4
+
+; This is list of symbols added in Win32s 1.20, available since Windows NT 3.1, but not available in Win9x
+AddConsoleAliasW@12
+BaseAttachCompleteThunk@0 ; FIXME: All WinNT versions have ABI "BaseAttachCompleteThunk@16", removed in Windows XP
+; BasepDebugDump@4 ; removed in Windows NT 3.51
+CloseConsoleHandle@4
+CmdBatNotification@4
+ConsoleMenuControl@12
+; ConsoleSubst@16 ; removed in Windows NT 3.51
+CreateVirtualBuffer@12 ; removed in Windows Server 2003 SP1
+DuplicateConsoleHandle@16
+ExitVDM@8
+ExpungeConsoleCommandHistoryA@4
+ExpungeConsoleCommandHistoryW@4
+ExtendVirtualBuffer@8 ; removed in Windows Server 2003 SP1
+FreeVirtualBuffer@4 ; removed in Windows Server 2003 SP1
+GetConsoleAliasA@16
+GetConsoleAliasExesA@8
+GetConsoleAliasExesLengthA@0
+GetConsoleAliasExesLengthW@0
+GetConsoleAliasExesW@8
+GetConsoleAliasW@16
+GetConsoleAliasesA@12
+GetConsoleAliasesLengthA@4
+GetConsoleAliasesLengthW@4
+GetConsoleAliasesW@12
+GetConsoleCommandHistoryA@12
+GetConsoleCommandHistoryLengthA@4
+GetConsoleCommandHistoryLengthW@4
+GetConsoleCommandHistoryW@12
+GetConsoleDisplayMode@4
+GetConsoleFontInfo@16
+GetConsoleFontSize@8
+GetConsoleHardwareState@12
+GetConsoleInputWaitHandle@0
+GetCurrentConsoleFont@12
+GetNextVDMCommand@4
+GetNumberOfConsoleFonts@0
+GetVDMCurrentDirectories@8
+InvalidateConsoleDIBits@8
+OpenConsoleW@16
+QueryWin31IniFilesMappedToRegistry@16 ; removed in Windows Server 2003
+RegisterConsoleVDM@44
+RegisterWaitForInputIdle@4
+SetConsoleCommandHistoryMode@4 ; removed in Windows Vista
+SetConsoleCursor@8
+SetConsoleDisplayMode@12
+SetConsoleFont@8
+SetConsoleHardwareState@12
+SetConsoleKeyShortcuts@16
+SetConsoleMaximumWindowSize@8
+SetConsoleMenuClose@4
+SetConsoleNumberOfCommandsA@8
+SetConsoleNumberOfCommandsW@8
+SetConsolePalette@12
+SetLastConsoleEventActive@0
+SetVDMCurrentDirectories@8
+ShowConsoleCursor@8
+TrimVirtualBuffer@4 ; removed in Windows Server 2003 SP1
+VDMConsoleOperation@8
+VDMOperationStarted@4
+VerifyConsoleIoHandle@4
+VirtualBufferExceptionHandler@12 ; removed in Windows Server 2003 SP1
+WriteConsoleInputVDMA@16
+WriteConsoleInputVDMW@16
+
+; This is list of symbols added in Win32s 1.20, available in all Win9x versions and since Windows NT 3.5
+CommConfigDialogA@12
+CommConfigDialogW@12
+CreateIoCompletionPort@16
+DisableThreadLibraryCalls@4
+FoldStringA@20
+FreeEnvironmentStringsA@4
+FreeEnvironmentStringsW@4
+FreeLibraryAndExitThread@8
+GetBinaryTypeA@8
+GetBinaryTypeW@8
+GetCommConfig@12
+GetCompressedFileSizeA@8
+GetCompressedFileSizeW@8
+GetDefaultCommConfigA@12
+GetDefaultCommConfigW@12
+GetEnvironmentStringsA@0
+GetEnvironmentStringsW@0
+GetHandleInformation@8
+GetProcessAffinityMask@12
+GetProcessWorkingSetSize@12
+GetQueuedCompletionStatus@20
+GetShortPathNameA@12
+GetShortPathNameW@12
+GetStringTypeA@20
+GetStringTypeExA@20
+GetStringTypeExW@20
+GetSystemTimeAdjustment@12
+IsDBCSLeadByteEx@8
+SetCommConfig@12
+SetDefaultCommConfigA@12
+SetDefaultCommConfigW@12
+SetHandleInformation@12
+SetProcessWorkingSetSize@12
+SetSystemTimeAdjustment@8
+SetThreadAffinityMask@8
+SystemTimeToTzSpecificLocalTime@12
+lstrcpyn@12
+
+; This is list of symbols added in Win32s 1.20, available since Windows NT 3.5, but not available in Win9x
+RegisterWowBaseHandlers@4
+RegisterWowExec@4
+
+; This is list of symbols added in Win32s 1.25, available in all Win9x versions and since Windows NT 3.5
+AreFileApisANSI@0
+GetProcessHeaps@8
+SetFileApisToANSI@0
+
+; This is list of symbols added in Win32s 1.25, available in all Win9x versions and since Windows NT 3.51
+GetPrivateProfileSectionNamesA@12
+GetPrivateProfileSectionNamesW@12
+GetPrivateProfileStructA@20
+GetPrivateProfileStructW@20
+GetSystemPowerStatus@4
+
+; This is list of symbols added in Win32s 1.25, available since Windows NT 3.1, but not available in Win9x
+AddConsoleAliasA@12
+
+; This is list of symbols added in Win32s 1.25, available since Windows 2000, but not available in Win9x
+GetConsoleCharType@12
+GetConsoleCursorMode@12
+GetConsoleNlsMode@8
+SetConsoleCursorMode@12
+SetConsoleLocalEUDC@16
+SetConsoleNlsMode@8
+
+; This is list of symbols added in Win32s 1.25 and available only in Win32s (not available in Win9x and WinNT)
+; TlsCleanEntries@4
+
+; This is list of symbols added in Win32s 1.30, available in all Win9x versions and since Windows NT 3.5
+HeapCompact@8
+HeapLock@4
+HeapUnlock@4
+HeapWalk@8
+
+; This is list of symbols added in Win32s 1.30, available in all Win9x versions and since Windows NT 3.51
+GetProcessVersion@4
+GetSystemTimeAsFileTime@4
+PostQueuedCompletionStatus@16
+SetSystemPowerState@8
+WritePrivateProfileStructA@20
+WritePrivateProfileStructW@20
+
+; This is list of symbols added in Win32s 1.30, available since Windows 98 and since Windows NT 3.51
+IsDebuggerPresent@0
+
+; This is list of symbols added in Win32s 1.30, available since Windows NT 3.51, but not available in Win9x
+HeapCreateTagsW@16 ; removed in Windows Vista
+HeapExtend@16 ; removed in Windows Vista
+HeapQueryTagW@20 ; removed in Windows Vista
+HeapSummary@12
+HeapUsage@20 ; removed in Windows Vista
+
+;; This is end of Win32s symbols ;;
+
+
+; This is list of symbols available only in Windows NT 3.1, not available in Win32s and Win9x
+; ValidateLCID@8 ; removed in Windows NT 3.5
+
+;; This is end of Windows NT 3.1 symbols ;;
+
+
+; This is list of symbols added in Windows NT 3.51 SP3 and Windows 98, but not available in Win32s
+ConvertThreadToFiber@4
+CreateFiber@12
+DeleteFiber@4
+ReadDirectoryChangesW@32
+SwitchToFiber@4
+
+;; This is end of Windows NT 3.51 symbols ;;
+
+
+; This is list of symbols added in Windows NT 4.0 and available also in all Win9x versions, but not available in Win32s
+QueueUserAPC@12
+
+; This is list of symbols added in Windows NT 4.0 and Windows 95 OSR2, but not available in Win32s
+GetDiskFreeSpaceExA@16
+GetDiskFreeSpaceExW@16
+
+; This is list of symbols added in Windows NT 4.0 and Windows 98, but not available in Win32s
+CancelIo@4
+CancelWaitableTimer@4
+CopyFileExA@24
+CopyFileExW@24
+CreateWaitableTimerA@12
+CreateWaitableTimerW@12
+FindFirstFileExA@24
+FindFirstFileExW@24
+GetFileAttributesExA@12
+GetFileAttributesExW@12
+GetProcessPriorityBoost@8
+GetThreadPriorityBoost@8
+InterlockedCompareExchange@12 DATA ; FIXME: why is decorated stdcall function symbol disabled?
+InterlockedExchangeAdd@8 DATA ; FIXME: why is decorated stdcall function symbol disabled?
+IsProcessorFeaturePresent@4
+OpenWaitableTimerA@12
+OpenWaitableTimerW@12
+SetProcessAffinityMask@8
+SetProcessPriorityBoost@8
+SetThreadIdealProcessor@8
+SetThreadPriorityBoost@8
+SetWaitableTimer@24
+SignalObjectAndWait@16
+SwitchToThread@0
+TryEnterCriticalSection@4
+VirtualAllocEx@20
+VirtualFreeEx@16
+
+; This is list of symbols added in Windows NT 4.0, but not available in Win9x and Win32s
+GetConsoleInputExeNameA@8
+GetConsoleInputExeNameW@8
+GetConsoleKeyboardLayoutNameA@4
+GetConsoleKeyboardLayoutNameW@4
+ReadConsoleInputExA@20
+ReadConsoleInputExW@20
+SetConsoleIcon@4
+SetConsoleInputExeNameA@4
+SetConsoleInputExeNameW@4
+
+; This is list of symbols added in Windows NT 4.0 SP2 and Windows 98, but not available in Win32s
+ReadFileScatter@20
+WriteFileGather@20
+
+; This is list of symbols added in Windows NT 4.0 SP3 and Windows 98, but not available in Win32s
+InitializeCriticalSectionAndSpinCount@8
+SetCriticalSectionSpinCount@8
+
+; This is list of symbols added in Windows NT 4.0 SP4, but not available in Win32s and Win9x
+VerifyVersionInfoA@16
+VerifyVersionInfoW@16
+
+;; This is end of Windows NT 4.0 symbols ;;
+
+
+; This is list of symbols available in all Win9x versions and also since Windows 2000, but not available in Win32s
+CreateToolhelp32Snapshot@8
+Heap32First@12
+Heap32ListFirst@8
+Heap32ListNext@8
+Heap32Next@4
+Module32First@8
+Module32Next@8
+Process32First@8
+Process32Next@8
+Thread32First@8
+Thread32Next@8
+Toolhelp32ReadProcessMemory@20
+
+; This is list of symbols available in all Win9x versions and also since Windows XP, but not available in Win32s
+CreateSocketHandle@0
+GetHandleContext@4
+SetHandleContext@8
+
+; This is list of symbols available in all Win9x versions and also since Windows Vista, but not available in Win32s
+GetErrorMode@0
+
+; This is list of ordinal-only symbols available in all Win9x versions, but not available in Win32s and WinNT
+; Symbol names are taken from:
+; https://www.geoffchappell.com/studies/windows/win32/kernel32/history/ords40.htm
+; VxDCall0@4 @1 NONAME ; stdcall+regs
+; VxDCall1@8 @2 NONAME ; stdcall+regs
+; VxDCall2@12 @3 NONAME ; stdcall+regs
+; VxDCall3@16 @4 NONAME ; stdcall+regs
+; VxDCall4@20 @5 NONAME ; stdcall+regs
+; VxDCall5@24 @6 NONAME ; stdcall+regs
+; VxDCall6@28 @7 NONAME ; stdcall+regs
+; VxDCall7@32 @8 NONAME ; stdcall+regs
+; VxDCall8@36 @9 NONAME ; stdcall+regs
+; k32CharToOemA@8 @10 NONAME
+; k32CharToOemBuffA@12 @11 NONAME
+; k32OemToCharA@8 @12 NONAME
+; k32OemToCharBuffA@12 @13 NONAME
+; k32LoadStringA@16 @14 NONAME
+; k32wsprintfA @15 NONAME ; cdecl/varargs
+; k32wvsprintfA@12 @16 NONAME
+; CommonUnimpStub @17 NONAME ; regs
+; GetProcessDword@8 @18 NONAME
+; ThunkTheTemplateHandle@4 @19 NONAME
+; DosFileHandleToWin32Handle@4 @20 NONAME
+; Win32HandleToDosFileHandle@4 @21 NONAME
+; DisposeLZ32Handle@4 @22 NONAME
+; GDIReallyCares@4 @23 NONAME
+; GlobalAlloc16@8 @24 NONAME
+; GlobalLock16@4 @25 NONAME
+; GlobalUnlock16@4 @26 NONAME
+; GlobalFix16@4 @27 NONAME
+; GlobalUnfix16@4 @28 NONAME
+; GlobalWire16@4 @29 NONAME
+; GlobalUnWire16@4 @30 NONAME
+; GlobalFree16@4 @31 NONAME
+; GlobalSize16@4 @32 NONAME
+; HouseCleanLogicallyDeadHandles@0 @33 NONAME
+; GetWin16DOSEnv@0 @34 NONAME
+; LoadLibrary16@4 @35 NONAME
+; FreeLibrary16@4 @36 NONAME
+; GetProcAddress16@8 @37 NONAME
+; AllocMappedBuffer @38 NONAME ; regs
+; FreeMappedBuffer @39 NONAME ; regs
+; OT_32ThkLSF @40 NONAME ; regs
+; ThunkInitLSF@20 @41 NONAME
+; LogApiThkLSF@4 @42 NONAME
+; ThunkInitLS@20 @43 NONAME
+; LogApiThkSL@4 @44 NONAME
+; Common32ThkLS @45 NONAME ; regs+stack
+; ThunkInitSL@20 @46 NONAME
+; LogCBThkSL@4 @47 NONAME
+; ReleaseThunkLock@4 @48 NONAME
+; RestoreThunkLock@4 @49 NONAME
+; AddAtomA@4 @50 ; Ordinal 50 is exported also with symbol name AddAtomA
+; W32S_BackTo32 @51 NONAME ; regs+stack
+; GetThunkBuff@0 @52 NONAME
+; GetThunkStuff@8 @53 NONAME
+; WOWCallback16@8 @54 NONAME ; MSDN says this is exported from wow32.dll
+; WOWCallback16Ex@20 @55 NONAME ; MSDN says this is exported from wow32.dll
+; WOWGetVDMPointer@12 @56 NONAME ; MSDN says this is exported from wow32.dll
+; WOWHandle32@8 @57 NONAME ; MSDN says this is exported from wow32.dll
+; WOWHandle16@8 @58 NONAME ; MSDN says this is exported from wow32.dll
+; WOWGlobalAlloc16@8 @59 NONAME ; MSDN says this is exported from wow32.dll
+; WOWGlobalLock16@4 @60 NONAME ; MSDN says this is exported from wow32.dll
+; WOWGlobalUnlock16@4 @61 NONAME ; MSDN says this is exported from wow32.dll
+; WOWGlobalFree16@4 @62 NONAME ; MSDN says this is exported from wow32.dll
+; WOWGlobalAllocLock16@12 @63 NONAME ; MSDN says this is exported from wow32.dll
+; WOWGlobalUnlockFree16@4 @64 NONAME ; MSDN says this is exported from wow32.dll
+; WOWGlobalLockSize16@8 @65 NONAME ; MSDN says this is exported from wow32.dll
+; WOWYield16@0 @66 NONAME ; MSDN says this is exported from wow32.dll
+; WOWDirectedYield16@4 @67 NONAME ; MSDN says this is exported from wow32.dll
+; WOWGetVDMPointerFix@12 @68 NONAME ; MSDN says this is exported from wow32.dll
+; WOWGetVDMPointerUnfix@4 @69 NONAME ; MSDN says this is exported from wow32.dll
+; WOWGetDescriptor@8 @70 NONAME ; MSDN says this is exported from wow32.dll
+; IsThreadId@4 @71 NONAME
+; RtlLargeIntegerAdd@16 @72 NONAME ; MSDN says this is exported from ntdll.dll
+; RtlEnlargedIntegerMultiply@8 @73 NONAME ; MSDN says this is exported from ntdll.dll
+; RtlEnlargedUnsignedMultiply@8 @74 NONAME ; MSDN says this is exported from ntdll.dll
+; RtlEnlargedUnsignedDivide@16 @75 NONAME ; MSDN says this is exported from ntdll.dll
+; RtlEnlargedIntegerDivide@16 @76 NONAME ; MSDN says this is exported from ntdll.dll
+; RtlExtendedMagicDivide@20 @77 NONAME ; MSDN says this is exported from ntdll.dll
+; RtlExtendedIntegerMultiply@12 @78 NONAME ; MSDN says this is exported from ntdll.dll
+; RtlLargeIntegerShiftLeft@12 @79 NONAME ; MSDN says this is exported from ntdll.dll
+; RtlLargeIntegerShiftRight@12 @80 NONAME ; MSDN says this is exported from ntdll.dll
+; RtlLargeIntegerArithmeticShift@12 @81 NONAME ; MSDN says this is exported from ntdll.dll
+; RtlLargeIntegerNegate@8 @82 NONAME ; MSDN says this is exported from ntdll.dll
+; RtlLargeIntegerSubtract@16 @83 NONAME ; MSDN says this is exported from ntdll.dll
+; RtlConvertLongToLargeInteger@4 @84 NONAME ; MSDN says this is exported from ntdll.dll
+; RtlConvertUlongToLargeInteger@4 @85 NONAME ; MSDN says this is exported from ntdll.dll
+; _LeaveSysLevel_NoThk@4 @86 NONAME
+; SSOnBigStack@0 @87 NONAME
+; SSCall @88 NONAME ; cdecl/varargs
+; FT_PrologPrime @89 NONAME ; regs+stack
+; QT_ThunkPrime @90 NONAME ; regs+stack
+; PK16FNF@4 @91 NONAME
+; GetPK16SysVar@0 @92 NONAME
+; GetpWin16Lock@4 @93 NONAME
+; _CheckNotSysLevel@4 @94 NONAME
+; _ConfirmSysLevel@4 @95 NONAME
+; _ConfirmWin16Lock@0 @96 NONAME
+; _EnterSysLevel@4 @97 NONAME ; really stdcall @4; gendef detects it incorrectly
+; _LeaveSysLevel@4 @98 NONAME
+; RefreshDaylightInformation@4 @99 NONAME
+; TerminateThreadEx@12 @100 NONAME
+; BoostFileCache@4 @101 NONAME
+
+; This is list of symbols available in all Win9x versions, but not available in Win32s and WinNT
+; AllocLSCallback@8
+; AllocSLCallback@8
+; Callback12@12
+; Callback16@16
+; Callback20@20
+; Callback24@24
+; Callback28@28
+; Callback32@32
+; Callback36@36
+; Callback40@40
+; Callback44@44
+; Callback48@48
+; Callback4@4
+; Callback52@52
+; Callback56@56
+; Callback60@60
+; Callback64@64
+; Callback8@8
+; CloseSystemHandle@4
+ConvertToGlobalHandle@4
+; CreateKernelThread@24
+; FT_Exit0 ; no stdcall decoration in msvc thunk32.lib
+; FT_Exit12 ; no stdcall decoration in msvc thunk32.lib
+; FT_Exit16 ; no stdcall decoration in msvc thunk32.lib
+; FT_Exit20 ; no stdcall decoration in msvc thunk32.lib
+; FT_Exit24 ; no stdcall decoration in msvc thunk32.lib
+; FT_Exit28 ; no stdcall decoration in msvc thunk32.lib
+; FT_Exit32 ; no stdcall decoration in msvc thunk32.lib
+; FT_Exit36 ; no stdcall decoration in msvc thunk32.lib
+; FT_Exit4 ; no stdcall decoration in msvc thunk32.lib
+; FT_Exit40 ; no stdcall decoration in msvc thunk32.lib
+; FT_Exit44 ; no stdcall decoration in msvc thunk32.lib
+; FT_Exit48 ; no stdcall decoration in msvc thunk32.lib
+; FT_Exit52 ; no stdcall decoration in msvc thunk32.lib
+; FT_Exit56 ; no stdcall decoration in msvc thunk32.lib
+; FT_Exit8 ; no stdcall decoration in msvc thunk32.lib
+; FT_Prolog ; no stdcall decoration in msvc thunk32.lib
+; FT_Thunk ; no stdcall decoration in msvc thunk32.lib
+; FreeLSCallback@4
+; FreeSLCallback@4
+; GetDaylightFlag@0
+; GetLSCallbackTarget@4
+; GetLSCallbackTemplate@4
+; GetProcessFlags@4
+GetProductName@8
+; GetSLCallbackTarget@4
+; GetSLCallbackTemplate@4
+; HeapSetFlags@8
+; InvalidateNLSCache@0
+; IsLSCallback@4
+; IsSLCallback@4
+; K32Thk1632Epilog@0
+; K32Thk1632Prolog@0
+; MakeCriticalSectionGlobal@4
+; MapHInstLS ; no stdcall decoration in msvc thunk32.lib
+; MapHInstLS_PN ; no stdcall decoration in msvc thunk32.lib
+; MapHInstSL ; no stdcall decoration in msvc thunk32.lib
+; MapHInstSL_PN ; no stdcall decoration in msvc thunk32.lib
+; MapHModuleLS@4
+; MapHModuleSL@4
+; MapLS@4
+; MapSL@4
+; MapSLFix@4
+; NotifyNLSUserCache@12
+; OpenVxDHandle@4
+; QT_Thunk ; no stdcall decoration in msvc thunk32.lib
+; QueryNumberOfEventLogRecords@8
+; QueryOldestEventLogRecord@8
+; RegisterServiceProcess@8
+; ReinitializeCriticalSection@4
+; SMapLS ; no stdcall decoration in msvc thunk32.lib
+; SMapLS_IP_EBP_12 ; no stdcall decoration in msvc thunk32.lib
+; SMapLS_IP_EBP_16 ; no stdcall decoration in msvc thunk32.lib
+; SMapLS_IP_EBP_20 ; no stdcall decoration in msvc thunk32.lib
+; SMapLS_IP_EBP_24 ; no stdcall decoration in msvc thunk32.lib
+; SMapLS_IP_EBP_28 ; no stdcall decoration in msvc thunk32.lib
+; SMapLS_IP_EBP_32 ; no stdcall decoration in msvc thunk32.lib
+; SMapLS_IP_EBP_36 ; no stdcall decoration in msvc thunk32.lib
+; SMapLS_IP_EBP_40 ; no stdcall decoration in msvc thunk32.lib
+; SMapLS_IP_EBP_8 ; no stdcall decoration in msvc thunk32.lib
+; SUnMapLS ; no stdcall decoration in msvc thunk32.lib
+; SUnMapLS_IP_EBP_12 ; no stdcall decoration in msvc thunk32.lib
+; SUnMapLS_IP_EBP_16 ; no stdcall decoration in msvc thunk32.lib
+; SUnMapLS_IP_EBP_20 ; no stdcall decoration in msvc thunk32.lib
+; SUnMapLS_IP_EBP_24 ; no stdcall decoration in msvc thunk32.lib
+; SUnMapLS_IP_EBP_28 ; no stdcall decoration in msvc thunk32.lib
+; SUnMapLS_IP_EBP_32 ; no stdcall decoration in msvc thunk32.lib
+; SUnMapLS_IP_EBP_36 ; no stdcall decoration in msvc thunk32.lib
+; SUnMapLS_IP_EBP_40 ; no stdcall decoration in msvc thunk32.lib
+; SUnMapLS_IP_EBP_8 ; no stdcall decoration in msvc thunk32.lib
+; SetDaylightFlag@4
+; ThunkConnect32@24
+; TlsAllocInternal@0
+; TlsFreeInternal@4
+; UnMapLS@4
+; UnMapSLFixArray@8
+; UninitializeCriticalSection@4
+; _DebugOut
+; _DebugPrintf
+; dprintf
+
+; This is list of ordinal-only symbols added in Windows 98, but not available in Win32s and WinNT
+; Symbol names are taken from:
+; https://www.geoffchappell.com/studies/windows/win32/kernel32/history/ords410.htm
+; TlsAllocGlobal@0 @102 NONAME
+; TlsFreeGlobal@4 @103 NONAME
+; RPCHACKORAMA@0 @104 NONAME
+; lstrtolW@12 @105 NONAME
+; k32wcsicmp@8 @106 NONAME
+; k32wcsupr@4 @107 NONAME
+; lstrchrA@8 @108 NONAME
+; lstrcspnA@8 @109 NONAME
+; lstrncpyA@12 @110 NONAME
+; lstrrchrA@8 @111 NONAME
+; lstrstrA@8 @112 NONAME
+; lstrchrW@8 @113 NONAME
+; k32wcscmp@8 @114 NONAME
+; k32wcsncmp@12 @115 NONAME
+; lstrncpyW@12 @116 NONAME
+; k32iswctype@8 @117 NONAME
+; AddAtomW@4 @118 ; Ordinal 118 is exported also with symbol name AddAtomW, Windows 95 exports AddAtomW with ordinal 102
+; k32towupper@4 @119 NONAME
+; GetCryptApiExponentValue@0 @120 NONAME
+; ThunkConnect32NonLocking@24 @121 NONAME
+; SetTaskmonControl@8 @122 NONAME
+
+; This is list of symbols added in Windows 98, but not available in Win32s and WinNT
+; K32_NtCreateFile@44
+; K32_RtlNtStatusToDosError@4
+; RegisterSysMsgHandler@20
+; ResetNLSUserInfoCache@0
+; SignalSysMsgHandlers@16
+
+; This is list of symbols added in Windows 98 and also since Windows 2000, but not available in Win32s
+CancelDeviceWakeupRequest@4
+EnumCalendarInfoExA@16
+EnumCalendarInfoExW@16
+EnumDateFormatsExA@12
+EnumDateFormatsExW@12
+GetCPInfoExA@12
+GetCPInfoExW@12
+GetCalendarInfoA@24
+GetCalendarInfoW@24
+GetDevicePowerState@8
+GetLongPathNameA@12
+GetLongPathNameW@12
+GetWriteWatch@24
+IsSystemResumeAutomatic@0
+RequestDeviceWakeup@4
+RequestWakeupLatency@4
+ResetWriteWatch@8
+SetCalendarInfoA@16
+SetCalendarInfoW@16
+SetMessageWaitingIndicator@8
+SetThreadExecutionState@4
+
+; This is list of ordinal-only symbols added in Windows ME, but not available in Win32s and WinNT
+; Symbol names are taken from:
+; https://www.geoffchappell.com/studies/windows/win32/kernel32/history/ords490.htm
+; GetModuleNameFromProc@16 @123 NONAME
+
+; This is list of symbols added in Windows ME and also since Windows 2000, but not available in Win32s
+EnumLanguageGroupLocalesA@16
+EnumLanguageGroupLocalesW@16
+EnumSystemLanguageGroupsA@12
+EnumSystemLanguageGroupsW@12
+EnumUILanguagesA@12
+EnumUILanguagesW@12
+GetSystemDefaultUILanguage@0
+GetUserDefaultUILanguage@0
+IsValidLanguageGroup@8
+OpenThread@12 ; Win32s contains "OpenThread" symbol but ABI is "OpenThread@4"
+
+; This is list of symbols added in Windows ME and also since Windows XP, but not available in Win32s
+EnumSystemGeoID@12
+GetGeoInfoA@20
+GetGeoInfoW@20
+GetUserGeoID@4
+SetUserGeoID@4
+
+;; This is end of Win9x symbols ;;
+
+
+; This is list of symbols added in Windows 2000
+AllocateUserPhysicalPages@12
+AssignProcessToJobObject@8
+BindIoCompletionCallback@12
+CancelTimerQueueTimer@8
+ChangeTimerQueueTimer@16
+CreateHardLinkA@12
+CreateHardLinkW@12
+CreateJobObjectA@8
+CreateJobObjectW@8
+CreateTimerQueue@0
+CreateTimerQueueTimer@28
+DelayLoadFailureHook@8
+DeleteTimerQueue@4
+DeleteTimerQueueEx@8
+DeleteTimerQueueTimer@12
+DeleteVolumeMountPointA@4
+DeleteVolumeMountPointW@4
+DnsHostnameToComputerNameA@12
+DnsHostnameToComputerNameW@12
+DosPathToSessionPathA@12
+DosPathToSessionPathW@12
+FindFirstVolumeA@8
+FindFirstVolumeMountPointA@12
+FindFirstVolumeMountPointW@12
+FindFirstVolumeW@8
+FindNextVolumeA@12
+FindNextVolumeMountPointA@12
+FindNextVolumeMountPointW@12
+FindNextVolumeW@12
+FindVolumeClose@4
+FindVolumeMountPointClose@4
+FreeUserPhysicalPages@12
+GetComputerNameExA@12
+GetComputerNameExW@12
+GetConsoleWindow@0
+; GetDefaultSortkeySize@4 ; removed in Windows Vista
+GetFileSizeEx@8
+; GetLinguistLangSize@4 ; removed in Windows Vista
+; GetNlsSectionName@24 ; FIXME: Windows 2000 and Windows XP prior SP1 has ABI "GetNlsSectionName@20", Windows XP SP1 and new has ABI "GetNlsSectionName@24", removed in Windows Vista
+GetProcessIoCounters@8
+GetSystemWindowsDirectoryA@8
+GetSystemWindowsDirectoryW@8
+GetVolumeNameForVolumeMountPointA@12
+GetVolumeNameForVolumeMountPointW@12
+GetVolumePathNameA@12
+GetVolumePathNameW@12
+GlobalMemoryStatusEx@4
+MapUserPhysicalPages@12
+MapUserPhysicalPagesScatter@12
+Module32FirstW@8
+Module32NextW@8
+MoveFileWithProgressA@20
+MoveFileWithProgressW@20
+NlsConvertIntegerToString@20 ; removed in Windows 7
+NlsGetCacheUpdateCount@0
+; NlsResetProcessLocale@0 ; removed in Windows Vista
+; OpenDataFile@8 ; removed in Windows Vista
+OpenJobObjectA@12
+OpenJobObjectW@12
+PrivCopyFileExW@24
+PrivMoveFileIdentityW@12
+Process32FirstW@8
+Process32NextW@8
+ProcessIdToSessionId@8
+QueryInformationJobObject@20
+QueueUserWorkItem@12
+RegisterConsoleIME@8
+RegisterConsoleOS2@4
+RegisterWaitForSingleObject@24
+RegisterWaitForSingleObjectEx@20
+ReplaceFile@24
+ReplaceFileA@24
+ReplaceFileW@24
+; SetCPGlobal@4 ; removed in Windows Vista
+SetComputerNameExA@8
+SetComputerNameExW@8
+SetConsoleOS2OemFormat@4
+SetFilePointerEx@20
+SetInformationJobObject@16
+SetTermsrvAppInstallMode@4
+SetTimerQueueTimer@24
+SetVolumeMountPointA@8
+SetVolumeMountPointW@8
+TerminateJobObject@8
+TermsrvAppInstallMode@0
+UnregisterConsoleIME@0
+UnregisterWait@4
+UnregisterWaitEx@8
+; ValidateLCType@16 ; removed in Windows Vista
+; ValidateLocale@4 ; removed in Windows Vista
+VerSetConditionMask@16
+
+; In Windows 2000 SP1 was not added any new symbol
+
+; In Windows 2000 SP2 was not added any new symbol
+
+; This is list of symbols added in Windows 2000 SP3
+CreateFiberEx@20
+CreateProcessInternalA@48 ; FIXME: Windows 2000 SP3 and SP4 has ABI "CreateProcessInternalA@44", Windows XP and new has ABI "CreateProcessInternalA@48"
+CreateProcessInternalW@48 ; FIXME: Windows 2000 SP3 and SP4 has ABI "CreateProcessInternalW@44", Windows XP and new has ABI "CreateProcessInternalW@48"
+
+; This is list of symbols added in Windows 2000 SP4
+; CreateProcessInternalWSecure@0 ; CreateProcessInternalWSecure is not available in Windows XP prior SP2, removed in Windows Server 2003
+
+; This is list of symbols added in Windows XP
+ActivateActCtx@8
+AddLocalAlternateComputerNameA@8
+AddLocalAlternateComputerNameW@8
+AddRefActCtx@4
+AddVectoredExceptionHandler@8
+AttachConsole@4
+BaseCheckAppcompatCache@16
+; BaseCleanupAppcompatCache@0 ; removed in Windows Server 2003
+BaseCleanupAppcompatCacheSupport@4
+BaseDumpAppcompatCache@0
+BaseFlushAppcompatCache@0
+; BaseInitAppcompatCache@0 ; removed in Windows Server 2003
+BaseInitAppcompatCacheSupport@0
+; BaseProcessInitPostImport@0 ; removed in Windows Vista
+BaseUpdateAppcompatCache@12
+ConvertFiberToThread@0
+CopyLZFile@8 ; FIXME: MSDN says this is exported from lz32.dll
+CreateActCtxA@4
+CreateActCtxW@4
+CreateJobSet@12
+CreateMemoryResourceNotification@4
+DeactivateActCtx@8
+DebugActiveProcessStop@4
+DebugBreakProcess@4
+DebugSetProcessKillOnExit@4
+EnumerateLocalComputerNamesA@16
+EnumerateLocalComputerNamesW@16
+FindActCtxSectionGuid@20
+FindActCtxSectionStringA@20
+FindActCtxSectionStringW@20
+GetComPlusPackageInstallStatus@0
+GetConsoleProcessList@8
+GetConsoleSelectionInfo@4
+GetCurrentActCtx@4
+GetExpandedNameA@8 ; FIXME: MSDN says this is exported from lz32.dll
+GetExpandedNameW@8 ; FIXME: MSDN says this is exported from lz32.dll
+GetFirmwareEnvironmentVariableA@16
+GetFirmwareEnvironmentVariableW@16
+GetModuleHandleExA@12
+GetModuleHandleExW@12
+GetNativeSystemInfo@4
+; GetNumaAvailableMemory@12 ; removed in Windows Server 2003
+GetNumaAvailableMemoryNode@8
+GetNumaHighestNodeNumber@4
+GetNumaNodeProcessorMask@8
+; GetNumaProcessorMap@12 ; removed in Windows Server 2003
+GetNumaProcessorNode@8
+GetSystemWow64DirectoryA@8
+GetSystemWow64DirectoryW@8
+GetVolumePathNamesForVolumeNameA@16
+GetVolumePathNamesForVolumeNameW@16
+HeapQueryInformation@20
+HeapSetInformation@16
+InitializeSListHead@4
+InterlockedFlushSList@4
+InterlockedPopEntrySList@4
+InterlockedPushEntrySList@8
+IsProcessInJob@12
+; IsValidUILanguage@4 ; removed in Windows Vista
+IsWow64Process@8
+LZClose@4 ; FIXME: MSDN says this is exported from lz32.dll
+LZCloseFile@4 ; FIXME: MSDN says this is exported from lz32.dll
+LZCopy@8 ; FIXME: MSDN says this is exported from lz32.dll
+LZCreateFileW@20 ; FIXME: MSDN says this is exported from lz32.dll
+LZDone@0 ; FIXME: MSDN says this is exported from lz32.dll
+LZInit@4 ; FIXME: MSDN says this is exported from lz32.dll
+LZOpenFileA@12 ; FIXME: MSDN says this is exported from lz32.dll
+LZOpenFileW@12 ; FIXME: MSDN says this is exported from lz32.dll
+LZRead@12 ; FIXME: MSDN says this is exported from lz32.dll
+LZSeek@12 ; FIXME: MSDN says this is exported from lz32.dll
+LZStart@0 ; FIXME: MSDN says this is exported from lz32.dll
+; NumaVirtualQueryNode@16 ; removed in Windows Server 2003
+QueryActCtxW@28
+QueryDepthSList@4
+QueryMemoryResourceNotification@8
+ReleaseActCtx@4
+RemoveLocalAlternateComputerNameA@8
+RemoveLocalAlternateComputerNameW@8
+RemoveVectoredExceptionHandler@4
+RestoreLastError@4
+RtlCaptureContext@4
+RtlCaptureStackBackTrace@16
+SetClientTimeZoneInformation@4 ; removed in Windows 8
+SetComPlusPackageInstallStatus@4
+SetFileShortNameA@8
+SetFileShortNameW@8
+SetFileValidData@12
+SetFirmwareEnvironmentVariableA@16
+SetFirmwareEnvironmentVariableW@16
+SetLocalPrimaryComputerNameA@8
+SetLocalPrimaryComputerNameW@8
+SetThreadUILanguage@4
+TzSpecificLocalTimeToSystemTime@12
+WTSGetActiveConsoleSessionId@0
+ZombifyActCtx@4
+
+; This is list of symbols added in Windows XP SP1
+CheckNameLegalDOS8Dot3A@20
+CheckNameLegalDOS8Dot3W@20
+CheckRemoteDebuggerPresent@8
+; CreateNlsSecurityDescriptor@12 ; removed in Windows Vista
+GetCPFileNameFromRegistry@12 ; removed in Windows 7
+GetDllDirectoryA@8
+GetDllDirectoryW@8
+GetProcessHandleCount@8
+GetProcessId@4
+GetSystemRegistryQuota@8
+GetSystemTimes@12
+GetThreadIOPendingFlag@8
+SetDllDirectoryA@4
+SetDllDirectoryW@4
+
+; This is list of symbols added in Windows XP SP2 and Windows Server 2003 SP1 (not available in Server 2003 without SP1)
+BaseQueryModuleData@28 ; FIXME: Windows XP and Server 2003 has ABI "BaseQueryModuleData@20", Windows Vista and new has ABI "BaseQueryModuleData@28"
+BasepCheckWinSaferRestrictions@28 ; FIXME: Windows XP and Server 2003 has ABI "BasepCheckWinSaferRestrictions@24", Windows Vista has ABI "BasepCheckWinSaferRestrictions@28", Windows 7 has ABI "BasepCheckWinSaferRestrictions@12", Windows 8 and new has ABI "BasepCheckWinSaferRestrictions@16"
+DecodePointer@4
+DecodeSystemPointer@4
+EncodePointer@4
+EncodeSystemPointer@4
+
+; This is list of symbols added in Windows XP SP3
+GetLogicalProcessorInformation@8
+
+; This is list of symbols added in Windows XP SP3 and Windows Vista SP1 (not available in any version of Windows Server 2003, not available in Windows Vista without SP1)
+GetProcessDEPPolicy@12
+GetSystemDEPPolicy@0
+SetProcessDEPPolicy@4
+
+; This is list of symbols added in Windows Server 2003
+BaseIsAppcompatInfrastructureDisabled@0
+ConvertThreadToFiberEx@8
+FindFirstStreamW@16
+FindNextStreamW@8
+FlsAlloc@4
+FlsFree@4
+FlsGetValue@4
+FlsSetValue@8
+GetCurrentProcessorNumber@0
+GetLargePageMinimum@0
+GetNLSVersion@12
+GetProcessIdOfThread@4
+GetProcessWorkingSetSizeEx@16
+GetThreadId@4
+InterlockedCompareExchange64@20 DATA ; FIXME: why is decorated stdcall function symbol disabled?
+IsNLSDefinedString@20
+IsTimeZoneRedirectionEnabled@0 ; removed in Windows 8
+NeedCurrentDirectoryForExePathA@4
+NeedCurrentDirectoryForExePathW@4
+ReOpenFile@16
+SetEnvironmentStringsA@4
+SetEnvironmentStringsW@4
+SetProcessWorkingSetSizeEx@16
+Wow64EnableWow64FsRedirection@4
+
+; This is list of symbols added in Windows Server 2003 SP1 and Windows XP x64 SP1 (WoW64 version)
+AddVectoredContinueHandler@8
+BaseCheckRunApp@52 ; FIXME: Windows Server 2003 has ABI "BaseCheckRunApp@40", Windows Vista and 7 has ABI "BaseCheckRunApp@52", Windows 8 has ABI "BaseCheckRunApp@56", Windows 8.1 has ABI "BaseCheckRunApp@60" ; removed in Windows 10
+; BaseProcessStartThunk@0 ; available only in 32-bit WoW64 version on 64-bit system ; removed in Windows Vista
+; BaseThreadStartThunk@0 ; available only in 32-bit WoW64 version on 64-bit system ; removed in Windows Vista
+BasepCheckBadapp@56 ; FIXME: Windows Server 2003 has ABI "BasepCheckBadapp@36", Windows Vista has ABI "BasepCheckBadapp@56", Windows 7 has ABI "BasepCheckBadapp@60", Windows 8 and Windows 8.1 has ABI "BasepCheckBadapp@72" ; removed in Windows 10
+BasepFreeAppCompatData@12 ; FIXME: Windows Server 2003 has ABI "BasepFreeAppCompatData@8", Windows Vista and new has ABI "BasepFreeAppCompatData@12"
+ConsoleIMERoutine@4 ; available only in 32-bit WoW64 version on 64-bit system
+CtrlRoutine@4 ; available only in 32-bit WoW64 version on 64-bit system, since Windows 7 available also on 32-bit system
+EnumSystemFirmwareTables@12
+GetSystemFileCacheSize@12
+GetSystemFirmwareTable@16
+RemoveVectoredContinueHandler@4
+SetSystemFileCacheSize@12
+SetThreadStackGuarantee@4
+Wow64DisableWow64FsRedirection@4
+Wow64RevertWow64FsRedirection@4
+
+; This is list of symbols added in Windows Server 2003 SP2 and Windows XP x64 SP2 (WoW64 version)
+SetFileCompletionNotificationModes@8
+
+; This is list of symbols added in Windows Vista
+AcquireSRWLockExclusive@4
+AcquireSRWLockShared@4
+AddSIDToBoundaryDescriptor@8
+AdjustCalendarDate@12
+AllocateUserPhysicalPagesNuma@16
+ApplicationRecoveryFinished@4
+ApplicationRecoveryInProgress@4
+BaseGenerateAppCompatData@24
+BaseThreadInitThunk@4 ; FIXME: Windows Vista has ABI "BaseThreadInitThunk@8", Windows Vista WoW64 has ABI "BaseThreadInitThunk@4", Windows Vista SP1 has ABI "BaseThreadInitThunk@16", Windows Vista SP2 has ABI "BaseThreadInitThunk@20", Windows 7 has ABI "BaseThreadInitThunk@8", Windows 8 and new has ABI "BaseThreadInitThunk@4"
+CallbackMayRunLong@4
+CancelIoEx@8
+CancelSynchronousIo@4
+CancelThreadpoolIo@4
+CheckElevation@20
+CheckElevationEnabled@4
+CheckForReadOnlyResource@8
+ClosePrivateNamespace@8
+CloseThreadpool@4
+CloseThreadpoolCleanupGroup@4
+CloseThreadpoolCleanupGroupMembers@12
+CloseThreadpoolIo@4
+CloseThreadpoolTimer@4
+CloseThreadpoolWait@4
+CloseThreadpoolWork@4
+CompareCalendarDates@12
+CompareStringEx@36
+CompareStringOrdinal@20
+ConvertCalDateTimeToSystemTime@8
+ConvertNLSDayOfWeekToWin32DayOfWeek@4
+ConvertSystemTimeToCalDateTime@12
+CopyFileTransactedA@28
+CopyFileTransactedW@28
+CreateBoundaryDescriptorA@8
+CreateBoundaryDescriptorW@8
+CreateDirectoryTransactedA@16
+CreateDirectoryTransactedW@16
+CreateEventExA@16
+CreateEventExW@16
+CreateFileMappingNumaA@28
+CreateFileMappingNumaW@28
+CreateFileTransactedA@40
+CreateFileTransactedW@40
+CreateHardLinkTransactedA@16
+CreateHardLinkTransactedW@16
+CreateMutexExA@16
+CreateMutexExW@16
+CreatePrivateNamespaceA@12
+CreatePrivateNamespaceW@12
+CreateSemaphoreExA@24
+CreateSemaphoreExW@24
+CreateSymbolicLinkA@12
+CreateSymbolicLinkTransactedA@16
+CreateSymbolicLinkTransactedW@16
+CreateSymbolicLinkW@12
+CreateThreadpool@4
+CreateThreadpoolCleanupGroup@0
+CreateThreadpoolIo@16
+CreateThreadpoolTimer@12
+CreateThreadpoolWait@12
+CreateThreadpoolWork@12
+CreateWaitableTimerExA@16
+CreateWaitableTimerExW@16
+DeleteBoundaryDescriptor@4
+DeleteFileTransactedA@8
+DeleteFileTransactedW@8
+DeleteProcThreadAttributeList@4
+DisassociateCurrentThreadFromCallback@4
+EnumCalendarInfoExEx@24
+EnumDateFormatsExEx@16
+EnumResourceLanguagesExA@28
+EnumResourceLanguagesExW@28
+EnumResourceNamesExA@24
+EnumResourceNamesExW@24
+EnumResourceTypesExA@20
+EnumResourceTypesExW@20
+EnumSystemLocalesEx@16
+EnumTimeFormatsEx@16
+FindFirstFileNameTransactedW@20
+FindFirstFileNameW@16
+FindFirstFileTransactedA@28
+FindFirstFileTransactedW@28
+FindFirstStreamTransactedW@20
+FindNLSString@28
+FindNLSStringEx@40
+FindNextFileNameW@12
+FlushProcessWriteBuffers@0
+FreeLibraryWhenCallbackReturns@8
+GetApplicationRecoveryCallback@20
+GetApplicationRestartSettings@16
+GetCalendarDateFormat@24
+GetCalendarDateFormatEx@24
+GetCalendarDaysInMonth@16
+GetCalendarDifferenceInDays@12
+GetCalendarInfoEx@28
+GetCalendarMonthsInYear@12
+GetCalendarSupportedDateRange@12
+GetCalendarWeekNumber@16
+GetCompressedFileSizeTransactedA@12
+GetCompressedFileSizeTransactedW@12
+GetConsoleHistoryInfo@4
+GetConsoleOriginalTitleA@8
+GetConsoleOriginalTitleW@8
+GetConsoleScreenBufferInfoEx@8
+GetCurrencyFormatEx@24
+GetCurrentConsoleFontEx@12
+GetDateFormatEx@28
+GetDurationFormat@32
+GetDurationFormatEx@32
+GetDynamicTimeZoneInformation@4
+GetFileAttributesTransactedA@16
+GetFileAttributesTransactedW@16
+GetFileBandwidthReservation@24
+GetFileInformationByHandleEx@16
+GetFileMUIInfo@16
+GetFileMUIPath@28
+GetFinalPathNameByHandleA@16
+GetFinalPathNameByHandleW@16
+GetFullPathNameTransactedA@20
+GetFullPathNameTransactedW@20
+GetLocaleInfoEx@16
+GetLongPathNameTransactedA@16
+GetLongPathNameTransactedW@16
+GetNLSVersionEx@12
+GetNamedPipeAttribute@20
+GetNamedPipeClientComputerNameA@12
+GetNamedPipeClientComputerNameW@12
+GetNamedPipeClientProcessId@8
+GetNamedPipeClientSessionId@8
+GetNamedPipeServerProcessId@8
+GetNamedPipeServerSessionId@8
+GetNumaProximityNode@8
+GetNumberFormatEx@24
+GetProductInfo@20
+GetQueuedCompletionStatusEx@24
+GetStringScripts@20
+GetSystemDefaultLocaleName@8
+GetSystemPreferredUILanguages@16
+GetThreadPreferredUILanguages@16
+GetThreadUILanguage@0
+GetTickCount64@0
+GetTimeFormatEx@24
+GetUILanguageInfo@20
+GetUserDefaultLocaleName@8
+GetUserPreferredUILanguages@16
+GetVolumeInformationByHandleW@32
+IdnToAscii@20
+IdnToNameprepUnicode@20
+IdnToUnicode@20
+InitOnceBeginInitialize@16
+InitOnceComplete@12
+InitOnceExecuteOnce@16
+InitOnceInitialize@4
+InitializeConditionVariable@4
+InitializeCriticalSectionEx@12
+InitializeProcThreadAttributeList@16
+InitializeSRWLock@4
+InterlockedPushListSList@8
 IsCalendarLeapDay@20
 IsCalendarLeapMonth@16
 IsCalendarLeapYear@12
-IsDBCSLeadByte@4
-IsDBCSLeadByteEx@8
-IsDebuggerPresent@0
-IsEnclaveTypeSupported@4
-IsIoRingOpSupported@8
-IsNLSDefinedString@20
-IsNativeVhdBoot@4
 IsNormalizedString@12
-IsProcessCritical@8
-IsProcessInJob@12
-IsProcessorFeaturePresent@4
-IsSystemResumeAutomatic@0
 IsThreadAFiber@0
 IsThreadpoolTimerSet@4
-IsTimeZoneRedirectionEnabled@0
-IsUserCetAvailableInEnvironment@4
 IsValidCalDateTime@8
-IsValidCodePage@4
-IsValidLanguageGroup@8
-IsValidLocale@8
 IsValidLocaleName@4
-IsValidNLSVersion@12
-IsWow64GuestMachineSupported@8
-IsWow64Process2@12
-IsWow64Process@8
+LCIDToLocaleName@16
+LCMapStringEx@36
+LeaveCriticalSectionWhenCallbackReturns@8
+LoadStringBaseExW@20
+LoadStringBaseW@16
+LocaleNameToLCID@8
+MapViewOfFileExNuma@28
+MoveFileTransactedA@24
+MoveFileTransactedW@24
+NlsCheckPolicy@8
+NlsEventDataDescCreate@16 ; removed in Windows 10 May 2020 Update (20H1)
+NlsUpdateLocale@8
+NlsUpdateSystemLocale@8
+NlsWriteEtwEvent@20 ; removed in Windows 10 May 2020 Update (20H1)
+NormalizeString@20
+NotifyUILanguageChange@20
+OpenFileById@24
+OpenPrivateNamespaceA@8
+OpenPrivateNamespaceW@8
+QueryActCtxSettingsW@28
+QueryFullProcessImageNameA@16
+QueryFullProcessImageNameW@16
+QueryIdleProcessorCycleTime@8
+QueryProcessCycleTime@8
+QueryThreadCycleTime@8
+RegisterApplicationRecoveryCallback@16
+RegisterApplicationRestart@8
+ReleaseMutexWhenCallbackReturns@8
+ReleaseSRWLockExclusive@4
+ReleaseSRWLockShared@4
+ReleaseSemaphoreWhenCallbackReturns@12
+RemoveDirectoryTransactedA@8
+RemoveDirectoryTransactedW@8
+SetConsoleHistoryInfo@4
+SetConsoleScreenBufferInfoEx@8
+SetCurrentConsoleFontEx@12
+SetDynamicTimeZoneInformation@4
+SetEventWhenCallbackReturns@8
+SetFileAttributesTransactedA@12
+SetFileAttributesTransactedW@12
+SetFileBandwidthReservation@24
+SetFileInformationByHandle@16
+SetFileIoOverlappedRange@12
+SetNamedPipeAttribute@20
+SetStdHandleEx@12
+SetThreadPreferredUILanguages@12
+SetThreadpoolThreadMaximum@8
+SetThreadpoolThreadMinimum@8
+SetThreadpoolTimer@16
+SetThreadpoolWait@12
+SleepConditionVariableCS@12
+SleepConditionVariableSRW@16
+StartThreadpoolIo@4
+SubmitThreadpoolWork@4
+TrySubmitThreadpoolCallback@12
+UnregisterApplicationRecoveryCallback@0
+UnregisterApplicationRestart@0
+UpdateCalendarDayOfWeek@4
+UpdateProcThreadAttribute@28
+VerifyScripts@20
+VirtualAllocExNuma@24
+WaitForThreadpoolIoCallbacks@8
+WaitForThreadpoolTimerCallbacks@8
+WaitForThreadpoolWaitCallbacks@8
+WaitForThreadpoolWorkCallbacks@8
+WakeAllConditionVariable@4
+WakeConditionVariable@4
+WerGetFlags@8
+WerRegisterFile@12
+WerRegisterMemoryBlock@8
+WerSetFlags@4
+WerUnregisterFile@4
+WerUnregisterMemoryBlock@4
+WerpCleanupMessageMapping@0 ; removed in Windows 10 Fall Creators Update (Redstone 3)
+WerpInitiateRemoteRecovery@4
+WerpNotifyLoadStringResource@16 ; removed in Windows 10 Fall Creators Update (Redstone 3)
+WerpNotifyLoadStringResourceEx@20 ; removed in Windows 10 Fall Creators Update (Redstone 3)
+WerpNotifyUseStringResource@4 ; removed in Windows 10 Fall Creators Update (Redstone 3)
+WerpStringLookup@8 ; removed in Windows 10 Fall Creators Update (Redstone 3)
+Wow64GetThreadContext@8
+Wow64SetThreadContext@8
+Wow64SuspendThread@4
+
+; This is list of symbols added in Windows Vista SP1
+AddSecureMemoryCacheCallback@4
+GetPhysicallyInstalledSystemMemory@4
+GetTimeZoneInformationForYear@12
+QueryProcessAffinityUpdateMode@8
+RemoveSecureMemoryCacheCallback@4
+ReplacePartitionUnit@12
+SetProcessAffinityUpdateMode@8
+
+; This is list of symbols added in Windows Vista SP2
+SetSearchPathMode@4
+
+; This is list of symbols added in Windows 7
+AddIntegrityLabelToBoundaryDescriptor@8
+BaseCheckAppcompatCacheEx@24 ; FIXME: Windows 7 has ABI "BaseCheckAppcompatCacheEx@24", Windows 8 has ABI "BaseCheckAppcompatCacheEx@32"
+BaseDllReadWriteIniFile@32
+BaseFormatObjectAttributes@16
+BaseFormatTimeOut@8
+BaseGetNamedObjectDirectory@4
+BaseSetLastNTError@4
+BaseVerifyUnicodeString@4 ; removed in Windows 11 2024 Update (Hudson Valley / 24H2) (WoW64 version)
+Basep8BitStringToDynamicUnicodeString@8
+BasepAllocateActivationContextActivationBlock@16
+BasepAnsiStringToDynamicUnicodeString@8
+BasepCheckAppCompat@16
+BasepFreeActivationContextActivationBlock@4
+BasepMapModuleHandle@8
+; CopyExtendedContext@12 ; removed in Windows 7 SP1
+; CreateProcessAsUserW@44 ; MSDN says this is exported from advapi32.dll
+CreateRemoteThreadEx@32
+DisableThreadProfiling@4
+EnableThreadProfiling@20
+FindStringOrdinal@24
+GetActiveProcessorCount@4
+GetActiveProcessorGroupCount@0
+GetCurrentProcessorNumberEx@4
+; GetEnabledExtendedFeatures@8 ; removed in Windows 7 SP1
+GetEraNameCountedString@16
+; GetExtendedContextLength@8 ; removed in Windows 7 SP1
+; GetExtendedFeaturesMask@4 ; removed in Windows 7 SP1
+GetLogicalProcessorInformationEx@12
+GetMaximumProcessorCount@4
+GetMaximumProcessorGroupCount@0
+GetNumaAvailableMemoryNodeEx@8
+GetNumaNodeNumberFromHandle@8
+GetNumaNodeProcessorMaskEx@8
+GetNumaProcessorNodeEx@8
+GetNumaProximityNodeEx@8
+GetProcessGroupAffinity@12
+GetProcessPreferredUILanguages@16
+GetProcessorSystemCycleTime@12
+GetThreadErrorMode@0
+GetThreadGroupAffinity@8
+GetThreadIdealProcessorEx@8
+; InitializeExtendedContext@12 ; removed in Windows 7 SP1
 K32EmptyWorkingSet@4
 K32EnumDeviceDrivers@12
 K32EnumPageFilesA@8
@@ -994,517 +1727,272 @@
 K32InitializeProcessForWsWatch@4
 K32QueryWorkingSet@12
 K32QueryWorkingSetEx@12
-LCIDToLocaleName@16
-LCMapStringA@24
-LCMapStringEx@36
-LCMapStringW@24
-LZClose@4
-LZCloseFile@4
-LZCopy@8
-LZCreateFileW@20
-LZDone@0
-LZInit@4
-LZOpenFileA@12
-LZOpenFileW@12
-LZRead@12
-LZSeek@12
-LZStart@0
-LeaveCriticalSection@4
-LeaveCriticalSectionWhenCallbackReturns@8
 LoadAppInitDlls@0
-LoadEnclaveData@36
-LoadLibraryA@4
-LoadLibraryExA@12
-LoadLibraryExW@12
-LoadLibraryW@4
-LoadModule@8
-LoadPackagedLibrary@8
-LoadResource@8
-LoadStringBaseExW@20
-LoadStringBaseW@16
-LocalAlloc@8
-LocalCompact@4
-LocalFileTimeToFileTime@8
-LocalFileTimeToLocalSystemTime@12
-LocalFlags@4
-LocalFree@4
-LocalHandle@4
-LocalLock@4
-LocalReAlloc@12
-LocalShrink@8
-LocalSize@4
-LocalSystemTimeToLocalFileTime@12
-LocalUnlock@4
-LocaleNameToLCID@8
-LocateXStateFeature@12
-LockFile@20
-LockFileEx@24
-LockResource@4
-MapUserPhysicalPages@12
-MapUserPhysicalPagesScatter@12
-MapViewOfFile@20
-MapViewOfFileEx@24
-MapViewOfFileExNuma@28
-MapViewOfFileVlm@28
-MapViewOfFileFromApp@20
-Module32First@8
-Module32FirstW@8
-Module32Next@8
-Module32NextW@8
-MoveFileA@8
-MoveFileExA@12
-MoveFileExW@12
-MoveFileTransactedA@24
-MoveFileTransactedW@24
-MoveFileW@8
-MoveFileWithProgressA@20
-MoveFileWithProgressW@20
-MulDiv@12
-MultiByteToWideChar@24
-NeedCurrentDirectoryForExePathA@4
-NeedCurrentDirectoryForExePathW@4
-NlsCheckPolicy@8
-NlsConvertIntegerToString@20
-NlsEventDataDescCreate@16
-NlsGetCacheUpdateCount@0
-NlsUpdateLocale@8
-NlsUpdateSystemLocale@8
-NlsWriteEtwEvent@20
-NormalizeString@20
+; LocateExtendedFeature@12 ; removed in Windows 7 SP1
+; LocateLegacyContext@8 ; removed in Windows 7 SP1
 NotifyMountMgr@12
-NotifyUILanguageChange@20
+; OpenProcessToken@12 ; MSDN says this is exported from advapi32.dll
+; OpenThreadToken@16 ; MSDN says this is exported from advapi32.dll
+PowerClearRequest@8
+PowerCreateRequest@4
+PowerSetRequest@8
+QueryIdleProcessorCycleTimeEx@12
+QueryThreadProfiling@8
+QueryThreadpoolStackInformation@8
+QueryUnbiasedInterruptTime@4
+RaiseFailFastException@12
+ReadThreadProfilingData@12
+; RegCloseKey@4 ; MSDN says this is exported from advapi32.dll
+; RegCreateKeyExA@36 ; MSDN says this is exported from advapi32.dll
+; RegCreateKeyExW@36 ; MSDN says this is exported from advapi32.dll
+; RegDeleteKeyExA@16 ; MSDN says this is exported from advapi32.dll
+; RegDeleteKeyExW@16 ; MSDN says this is exported from advapi32.dll
+; RegDeleteTreeA@8 ; MSDN says this is exported from advapi32.dll
+; RegDeleteTreeW@8 ; MSDN says this is exported from advapi32.dll
+; RegDeleteValueA@8 ; MSDN says this is exported from advapi32.dll
+; RegDeleteValueW@8 ; MSDN says this is exported from advapi32.dll
+; RegDisablePredefinedCacheEx@0 ; MSDN says this is exported from advapi32.dll
+; RegEnumKeyExA@32 ; MSDN says this is exported from advapi32.dll
+; RegEnumKeyExW@32 ; MSDN says this is exported from advapi32.dll
+; RegEnumValueA@32 ; MSDN says this is exported from advapi32.dll
+; RegEnumValueW@32 ; MSDN says this is exported from advapi32.dll
+; RegFlushKey@4 ; MSDN says this is exported from advapi32.dll
+; RegGetKeySecurity@16 ; MSDN says this is exported from advapi32.dll
+; RegGetValueA@28 ; MSDN says this is exported from advapi32.dll
+; RegGetValueW@28 ; MSDN says this is exported from advapi32.dll
+; RegKrnGetGlobalState@0 ; removed in Windows 8
+; RegKrnInitialize@12 ; removed in Windows 8
+; RegLoadKeyA@12 ; MSDN says this is exported from advapi32.dll
+; RegLoadKeyW@12 ; MSDN says this is exported from advapi32.dll
+; RegLoadMUIStringA@28 ; MSDN says this is exported from advapi32.dll
+; RegLoadMUIStringW@28 ; MSDN says this is exported from advapi32.dll
+; RegNotifyChangeKeyValue@20 ; MSDN says this is exported from advapi32.dll
+; RegOpenCurrentUser@8 ; MSDN says this is exported from advapi32.dll
+; RegOpenKeyExA@20 ; MSDN says this is exported from advapi32.dll
+; RegOpenKeyExW@20 ; MSDN says this is exported from advapi32.dll
+; RegOpenUserClassesRoot@16 ; MSDN says this is exported from advapi32.dll
+; RegQueryInfoKeyA@48 ; MSDN says this is exported from advapi32.dll
+; RegQueryInfoKeyW@48 ; MSDN says this is exported from advapi32.dll
+; RegQueryValueExA@24 ; MSDN says this is exported from advapi32.dll
+; RegQueryValueExW@24 ; MSDN says this is exported from advapi32.dll
+; RegRestoreKeyA@12 ; MSDN says this is exported from advapi32.dll
+; RegRestoreKeyW@12 ; MSDN says this is exported from advapi32.dll
+; RegSaveKeyExA@16 ; MSDN says this is exported from advapi32.dll
+; RegSaveKeyExW@16 ; MSDN says this is exported from advapi32.dll
+; RegSetKeySecurity@12 ; MSDN says this is exported from advapi32.dll
+; RegSetValueExA@24 ; MSDN says this is exported from advapi32.dll
+; RegSetValueExW@24 ; MSDN says this is exported from advapi32.dll
+; RegUnLoadKeyA@8 ; MSDN says this is exported from advapi32.dll
+; RegUnLoadKeyW@8 ; MSDN says this is exported from advapi32.dll
+ResolveLocaleName@12
+; SetExtendedFeaturesMask@12 ; removed in Windows 7 SP1
+SetProcessPreferredUILanguages@12
+SetThreadErrorMode@8
+SetThreadGroupAffinity@12
+SetThreadIdealProcessorEx@12
+; SetThreadToken@8 ; MSDN says this is exported from advapi32.dll
+SetThreadpoolStackInformation@8
+SetWaitableTimerEx@28
+SortCloseHandle@4
+SortGetHandle@12
+TryAcquireSRWLockExclusive@4
+TryAcquireSRWLockShared@4
+WerRegisterRuntimeExceptionModule@8
+WerUnregisterRuntimeExceptionModule@8
+Wow64GetThreadSelectorEntry@12
+
+; This is list of symbols added in Windows 7 SP1
+CopyContext@12
+GetEnabledXStateFeatures@0
+GetProcessUserModeExceptionPolicy@4 ; removed in Windows 8
+GetXStateFeaturesMask@8
+InitializeContext@16
+LocateXStateFeature@12
+SetProcessUserModeExceptionPolicy@4 ; removed in Windows 8
+SetXStateFeaturesMask@12
+
+; This is list of symbols added in Windows 8
+; AcquireStateLock@12 ; removed in Windows 8.1
+ActivateActCtxWorker@8
+AddDllDirectory@4
+AddRefActCtxWorker@4
+AddResourceAttributeAce@28
+AddScopedPolicyIDAce@20
+; AppContainerDeriveSidFromMoniker@8 ; removed in Windows 8.1
+; AppContainerFreeMemory@4 ; removed in Windows 8.1
+; AppContainerLookupDisplayNameMrtReference@8 ; removed in Windows 8.1
+; AppContainerLookupMoniker@8 ; removed in Windows 8.1
+; AppContainerRegisterSid@12 ; removed in Windows 8.1
+; AppContainerUnregisterSid@4 ; removed in Windows 8.1
+; AppXFreeMemory@4 ; removed in Windows 8.1
+; AppXGetApplicationData@32 ; removed in Windows 8.1
+; AppXGetDevelopmentMode@8 ; removed in Windows 8.1
+AppXGetOSMaxVersionTested@8
+; AppXGetOSMinVersion@8 ; removed in Windows 8.1
+; AppXGetPackageCapabilities@16 ; removed in Windows 8.1
+; AppXGetPackageSid@8 ; removed in Windows 8.1
+; AppXGetPackageState@8 ; removed in Windows 8.1
+; AppXLookupDisplayName@8 ; removed in Windows 8.1
+; AppXLookupMoniker@8 ; removed in Windows 8.1
+; AppXSetPackageState@12 ; removed in Windows 8.1
+BaseCheckAppcompatCacheExWorker@36 ; FIXME: Windows 8 and Windows 8.1 has ABI "BaseCheckAppcompatCacheExWorker@32", Windows 10 has ABI "BaseCheckAppcompatCacheExWorker@36"
+BaseCheckAppcompatCacheWorker@16
+BaseCheckElevation@48
+; BaseCleanupAppcompatCacheSupportWorker@4
+; BaseDestroyVDMEnvironment@8
+BaseDumpAppcompatCacheWorker@0
+BaseElevationPostProcessing@12
+BaseFlushAppcompatCacheWorker@0
+BaseInitAppcompatCacheSupportWorker@0
+BaseIsAppcompatInfrastructureDisabledWorker@0
+BaseIsDosApplication@8
+BaseUpdateAppcompatCacheWorker@12
+BaseUpdateVDMEntry@16
+BaseWriteErrorElevationRequiredEvent@0
+; BasepAppCompatHookDLL@8 ; removed in Windows 8.1
+BasepAppContainerEnvironmentExtension@12
+BasepAppXExtension@24
+BasepCheckWebBladeHashes@4
+BasepConstructSxsCreateProcessMessage@80 ; FIXME: Windows 8 has ABI "BasepConstructSxsCreateProcessMessage@80", Windows 8.1 and Windows 10 has ABI "BasepConstructSxsCreateProcessMessage@84", Windows 10 Creators Update (Redstone 2) has ABI "BasepConstructSxsCreateProcessMessage@80"
+BasepCopyEncryption@12 ; FIXME: Windows 8, Windows 8.1 and Windows 10 has ABI "BasepCopyEncryption@56", Windows 10 November Update (Threshold 2) has ABI "BasepCopyEncryption@12"
+BasepGetAppCompatData@60 ; FIXME: Windows 8 and Windows 8.1 has ABI "BasepGetAppCompatData@80", Windows 10 has ABI "BasepGetAppCompatData@84", Windows 10 Creators Update (Redstone 2) has ABI "BasepGetAppCompatData@56", Windows 10 May 2019 Update (19H1) has ABI "BasepGetAppCompatData@60"
+BasepGetComputerNameFromNtPath@16
+BasepGetExeArchType@12
+BasepIsProcessAllowed@4
+BasepNotifyLoadStringResource@16
+BasepPostSuccessAppXExtension@8
+BasepProcessInvalidImage@84
+BasepQueryAppCompat@72 ; FIXME: Windows 8 and Windows 8.1 has ABI BasepQueryAppCompat@80, Windows 10 has ABI "BasepQueryAppCompat@84", Windows 10 Creators Update (Redstone 2) has ABI "BasepQueryAppCompat@72"
+BasepReleaseAppXContext@4
+BasepReleaseSxsCreateProcessUtilityStruct@4
+BasepReportFault@8
+BasepSetFileEncryptionCompression@32 ; FIXME: Windows 8 has ABI "BasepSetFileEncryptionCompression@28", Windows 8.1 has ABI "BasepSetFileEncryptionCompression@32"
+CeipIsOptedIn@0
+CheckAllowDecryptedRemoteDestinationPolicy@0
+CheckForReadOnlyResourceFilter@4
+CheckTokenCapability@12
+CheckTokenMembershipEx@16
+ClosePackageInfo@4
+CloseState@4
+; CloseStateAtom@4 ; removed in Windows 8.1
+; CloseStateChangeNotification@4 ; removed in Windows 8.1
+; CloseStateContainer@4 ; removed in Windows 8.1
+; CloseStateLock@4 ; removed in Windows 8.1
+; CommitStateAtom@12 ; removed in Windows 8.1
+CopyFile2@12
+CreateActCtxWWorker@4
+CreateFile2@20
+CreateFileMappingFromApp@24
+; CreateStateAtom@0 ; removed in Windows 8.1
+; CreateStateChangeNotification@4 ; removed in Windows 8.1
+; CreateStateContainer@16 ; removed in Windows 8.1
+; CreateStateLock@4 ; removed in Windows 8.1
+; CreateStateSubcontainer@12 ; removed in Windows 8.1
+DeactivateActCtxWorker@8
+; DeleteStateAtomValue@8 ; removed in Windows 8.1
+; DeleteStateContainer@8 ; removed in Windows 8.1
+; DeleteStateContainerValue@8 ; removed in Windows 8.1
+DuplicateEncryptionInfoFileExt@20
+; DuplicateStateContainerHandle@4 ; removed in Windows 8.1
+; EnumerateStateAtomValues@12 ; removed in Windows 8.1
+; EnumerateStateContainerItems@16 ; removed in Windows 8.1
+FindActCtxSectionGuidWorker@20
+FindActCtxSectionStringWWorker@20
+GetAppContainerAce@16
+GetAppContainerNamedObjectPath@20
+GetApplicationRecoveryCallbackWorker@20
+GetApplicationRestartSettingsWorker@16
+GetApplicationUserModelId@12
+GetCachedSigningLevel@24
+GetCurrentActCtxWorker@4
+GetCurrentApplicationUserModelId@8
+GetCurrentPackageFamilyName@8
+GetCurrentPackageFullName@8
+GetCurrentPackageId@8
+GetCurrentPackageInfo@16
+GetCurrentPackagePath@8
+GetCurrentThreadStackLimits@8
+GetDateFormatAWorker@28
+GetDateFormatWWorker@28
+GetFirmwareEnvironmentVariableExA@20
+GetFirmwareEnvironmentVariableExW@20
+GetFirmwareType@4
+; GetHivePath@16 ; removed in Windows 8.1
+GetMemoryErrorHandlingCapabilities@4
+GetOverlappedResultEx@20
+GetPackageFamilyName@12
+GetPackageFullName@12
+GetPackageId@12
+GetPackageInfo@20
+GetPackagePath@16
+GetPackagesByPackageFamily@20
+GetProcessInformation@16
+GetProcessMitigationPolicy@16
+; GetRoamingLastObservedChangeTime@8 ; removed in Windows 8.1
+; GetSerializedAtomBytes@12 ; removed in Windows 8.1
+; GetStateContainerDepth@8 ; removed in Windows 8.1
+GetStateFolder@16
+; GetStateRootFolder@12 ; removed in Windows 8.1
+; GetStateSettingsFolder@12 ; removed in Windows 8.1
+; GetStateVersion@12 ; removed in Windows 8.1
+; GetSystemAppDataFolder@12 ; removed in Windows 8.1
+GetSystemAppDataKey@16
+GetSystemTimePreciseAsFileTime@4
+GetThreadInformation@16
+GetTimeFormatAWorker@28
+GetTimeFormatWWorker@24
+GlobalAddAtomExA@8
+GlobalAddAtomExW@8
+InterlockedPushListSListEx@16
+IsNativeVhdBoot@4
+IsValidNLSVersion@12
+LoadPackagedLibrary@8
+MapViewOfFileFromApp@20
 NtVdm64CreateProcessInternalW@48
-OOBEComplete@4
-OfferVirtualMemory@12
-OpenConsoleW@16
 OpenConsoleWStub@16
-OpenEventA@12
-OpenEventW@12
-OpenFile@12
-OpenFileById@24
-OpenFileMappingA@12
-OpenFileMappingW@12
-OpenJobObjectA@12
-OpenJobObjectW@12
-OpenMutexA@12
-OpenMutexW@12
 OpenPackageInfoByFullName@12
-OpenPrivateNamespaceA@8
-OpenPrivateNamespaceW@8
-OpenProcess@12
-; MSDN says OpenProcessToken is from Advapi32.dll, not Kernel32.dll
-; OpenProcessToken@12
-OpenProfileUserMapping@0
-OpenSemaphoreA@12
-OpenSemaphoreW@12
 OpenState@0
+; OpenStateAtom@8 ; removed in Windows 8.1
 OpenStateExplicit@8
-OpenThread@12
-; MSDN says this is exported from ADVAPI32.DLL.
-; OpenThreadToken@16
-OpenWaitableTimerA@12
-OpenWaitableTimerW@12
-OutputDebugStringA@4
-OutputDebugStringW@4
+; OverrideRoamingDataModificationTimesInRange@16 ; removed in Windows 8.1
 PackageFamilyNameFromFullName@12
 PackageFamilyNameFromId@12
 PackageFullNameFromId@12
 PackageIdFromFullName@16
 PackageNameAndPublisherIdFromFamilyName@20
-ParseApplicationUserModelId@20
-PeekConsoleInputA@16
-PeekConsoleInputW@16
-PeekNamedPipe@24
-PopIoRingCompletion@8
-PostQueuedCompletionStatus@16
-PowerClearRequest@8
-PowerCreateRequest@4
-PowerSetRequest@8
 PrefetchVirtualMemory@16
-PrepareTape@12
-PrivCopyFileExW@24
-PrivMoveFileIdentityW@12
-Process32First@8
-Process32FirstW@8
-Process32Next@8
-Process32NextW@8
-ProcessIdToSessionId@8
-PssCaptureSnapshot@16
-PssDuplicateSnapshot@20
-PssFreeSnapshot@8
-PssQuerySnapshot@16
-PssWalkMarkerCreate@8
-PssWalkMarkerFree@4
-PssWalkMarkerGetPosition@8
-PssWalkMarkerRewind@4
-PssWalkMarkerSeek@8
-PssWalkMarkerSeekToBeginning@4
-PssWalkMarkerSetPosition@8
-PssWalkMarkerTell@8
-PssWalkSnapshot@20
-PulseEvent@4
-PurgeComm@8
-QueryActCtxSettingsW@28
+; PublishStateChangeNotification@4 ; removed in Windows 8.1
 QueryActCtxSettingsWWorker@28
-QueryActCtxW@28
 QueryActCtxWWorker@28
-QueryDepthSList@4
-QueryDosDeviceA@12
-QueryDosDeviceW@12
-QueryFullProcessImageNameA@16
-QueryFullProcessImageNameW@16
-QueryIdleProcessorCycleTime@8
-QueryIdleProcessorCycleTimeEx@12
-QueryInformationJobObject@20
-QueryIoRateControlInformationJobObject@16
-QueryIoRingCapabilities@4
-QueryMemoryResourceNotification@8
-QueryPerformanceCounter@4
-QueryPerformanceFrequency@4
-QueryProcessAffinityUpdateMode@8
-QueryProcessCycleTime@8
-QueryProtectedPolicy@8
-QueryThreadCycleTime@8
-QueryThreadProfiling@8
-QueryThreadpoolStackInformation@8
-QueryUnbiasedInterruptTime@4
-QueueUserAPC2@16
-QueueUserAPC@12
-QueueUserWorkItem@12
-QueryWin31IniFilesMappedToRegistry@16
-QuirkGetData2Worker@8
-QuirkGetDataWorker@8
-QuirkIsEnabled2Worker@12
-QuirkIsEnabled3Worker@8
-QuirkIsEnabledForPackage2Worker@24
-QuirkIsEnabledForPackage3Worker@20
-QuirkIsEnabledForPackage4Worker@20
-QuirkIsEnabledForPackageWorker@16
-QuirkIsEnabledForProcessWorker@12
-QuirkIsEnabledWorker@4
-RaiseException@16
-RaiseFailFastException@12
+; QueryStateAtomValueInfo@12 ; removed in Windows 8.1
+; QueryStateContainerItemInfo@12 ; removed in Windows 8.1
 RaiseInvalid16BitExeError@4
-ReOpenFile@16
-ReclaimVirtualMemory@8
-ReadConsoleA@20
-ReadConsoleInputA@16
-ReadConsoleInputExA@20
-ReadConsoleInputExW@20
-ReadConsoleInputW@16
-ReadConsoleOutputA@20
-ReadConsoleOutputAttribute@20
-ReadConsoleOutputCharacterA@20
-ReadConsoleOutputCharacterW@20
-ReadConsoleOutputW@20
-ReadConsoleW@20
-ReadDirectoryChangesExW@36
-ReadDirectoryChangesW@32
-ReadFile@20
-ReadFileEx@20
-ReadFileScatter@20
-ReadFileVlm@20
-ReadProcessMemory@20
-ReadThreadProfilingData@12
-;
-; MSDN says these functions are exported
-; from advapi32.dll. Commented out for
-; compatibility with older versions of
-; Windows.
-;
-; RegKrnGetGlobalState and RegKrnInitialize
-; are known exceptions.
-;
-;RegCloseKey@4
-;RegCopyTreeW@12
-;RegCreateKeyExA@36
-;RegCreateKeyExW@36
-;RegDeleteKeyExA@16
-;RegDeleteKeyExW@16
-;RegDeleteTreeA@8
-;RegDeleteTreeW@8
-;RegDeleteValueA@8
-;RegDeleteValueW@8
-;RegDisablePredefinedCacheEx@0
-;RegEnumKeyExA@32
-;RegEnumKeyExW@32
-;RegEnumValueA@32
-;RegEnumValueW@32
-;RegFlushKey@4
-;RegGetKeySecurity@16
-;RegGetValueA@28
-;RegGetValueW@28
-;RegLoadKeyA@12
-;RegLoadKeyW@12
-;RegLoadMUIStringA@28
-;RegLoadMUIStringW@28
-;RegNotifyChangeKeyValue@20
-;RegOpenCurrentUser@8
-;RegOpenKeyExA@20
-;RegOpenKeyExW@20
-;RegOpenUserClassesRoot@16
-;RegQueryInfoKeyA@48
-;RegQueryInfoKeyW@48
-;RegQueryValueExA@24
-;RegQueryValueExW@24
-;RegRestoreKeyA@12
-;RegRestoreKeyW@12
-;RegSaveKeyExA@16
-;RegSaveKeyExW@16
-;RegSetKeySecurity@12
-;RegSetValueExA@24
-;RegSetValueExW@24
-;RegUnLoadKeyA@8
-;RegUnLoadKeyW@8
-RegisterApplicationRecoveryCallback@16
-RegisterApplicationRestart@8
+; ReadStateAtomValue@20 ; removed in Windows 8.1
+; ReadStateContainerValue@20 ; removed in Windows 8.1
+; RegCopyTreeW@12 ; MSDN says this function is exported from advapi32.dll
 RegisterBadMemoryNotification@4
-RegisterConsoleIME@8
-RegisterConsoleOS2@4
-RegisterConsoleVDM@44
-RegisterWaitForInputIdle@4
-RegisterWaitForSingleObject@24
-RegisterWaitForSingleObjectEx@20
-RegisterWaitUntilOOBECompleted@12
-RegisterWowBaseHandlers@4
-RegisterWowExec@4
-ReleaseActCtx@4
+; RegisterStateChangeNotification@8 ; removed in Windows 8.1
+; RegisterStateLock@4 ; removed in Windows 8.1
 ReleaseActCtxWorker@4
-ReleaseMutex@4
-ReleaseMutexWhenCallbackReturns@8
-ReleasePackageVirtualizationContext@4
-ReleasePseudoConsole@4
-ReleaseSRWLockExclusive@4
-ReleaseSRWLockShared@4
-ReleaseSemaphore@12
-ReleaseSemaphoreWhenCallbackReturns@12
-ResolveLocaleName@12
-RemoveDirectoryA@4
-RemoveDirectoryTransactedA@8
-RemoveDirectoryTransactedW@8
-RemoveDirectoryW@4
+; ReleaseStateLock@4 ; removed in Windows 8.1
 RemoveDllDirectory@4
-RemoveLocalAlternateComputerNameA@8
-RemoveLocalAlternateComputerNameW@8
-RemoveSecureMemoryCacheCallback@4
-RemoveVectoredContinueHandler@4
-RemoveVectoredExceptionHandler@4
-ReplaceFile@24
-ReplaceFileA@24
-ReplaceFileW@24
-ReplacePartitionUnit@12
-RequestDeviceWakeup@4
-RequestWakeupLatency@4
-ResetEvent@4
-ResetWriteWatch@8
-ResizePseudoConsole@8
+; ResetState@4 ; removed in Windows 8.1
 ResolveDelayLoadedAPI@24
 ResolveDelayLoadsFromDll@12
-RestoreLastError@4
-ResumeThread@4
-RtlCaptureContext@4
-RtlCaptureStackBackTrace@16
-RtlFillMemory@12
-RtlMoveMemory@12
-RtlPcToFileHeader@8
-RtlUnwind@16
-RtlZeroMemory@8
-ScrollConsoleScreenBufferA@20
-ScrollConsoleScreenBufferW@20
-SearchPathA@24
-SearchPathW@24
 SetCachedSigningLevel@16
-SetCalendarInfoA@16
-SetCalendarInfoW@16
-SetClientTimeZoneInformation@4
-SetComPlusPackageInstallStatus@4
-SetCommBreak@4
-SetCommConfig@12
-SetCommMask@8
-SetCommState@8
-SetCommTimeouts@8
-SetComputerNameA@4
-SetComputerNameEx2W@12
-SetComputerNameExA@8
-SetComputerNameExW@8
-SetComputerNameW@4
-SetConsoleActiveScreenBuffer@4
-SetConsoleCP@4
-SetConsoleCommandHistoryMode@4
-SetConsoleCtrlHandler@8
-SetConsoleCursor@8
-SetConsoleCursorInfo@8
-SetConsoleCursorMode@12
-SetConsoleCursorPosition@8
-SetConsoleDisplayMode@12
-SetConsoleFont@8
-SetConsoleHardwareState@12
-SetConsoleHistoryInfo@4
-SetConsoleIcon@4
-SetConsoleInputExeNameA@4
-SetConsoleInputExeNameW@4
-SetConsoleKeyShortcuts@16
-SetConsoleLocalEUDC@16
-SetConsoleMaximumWindowSize@8
-SetConsoleMenuClose@4
-SetConsoleMode@8
-SetConsoleNlsMode@8
-SetConsoleNumberOfCommandsA@8
-SetConsoleNumberOfCommandsW@8
-SetConsoleOS2OemFormat@4
-SetConsoleOutputCP@4
-SetConsolePalette@12
-SetConsoleScreenBufferInfoEx@8
-SetConsoleScreenBufferSize@8
-SetConsoleTextAttribute@8
-SetConsoleTitleA@4
-SetConsoleTitleW@4
-SetConsoleWindowInfo@12
-SetCriticalSectionSpinCount@8
-SetCurrentConsoleFontEx@12
-SetCurrentDirectoryA@4
-SetCurrentDirectoryW@4
-SetDefaultCommConfigA@12
-SetDefaultCommConfigW@12
 SetDefaultDllDirectories@4
-SetDllDirectoryA@4
-SetDllDirectoryW@4
-SetDynamicTimeZoneInformation@4
-SetEndOfFile@4
-SetEnvironmentStringsA@4
-SetEnvironmentStringsW@4
-SetEnvironmentVariableA@8
-SetEnvironmentVariableW@8
-SetErrorMode@4
-SetEvent@4
-SetEventWhenCallbackReturns@8
-SetFileApisToANSI@0
-SetFileApisToOEM@0
-SetFileAttributesA@8
-SetFileAttributesTransactedA@12
-SetFileAttributesTransactedW@12
-SetFileAttributesW@8
-SetFileBandwidthReservation@24
-SetFileCompletionNotificationModes@8
-SetFileInformationByHandle@16
-SetFileIoOverlappedRange@12
-SetFilePointer@16
-SetFilePointerEx@20
-SetFileShortNameA@8
-SetFileShortNameW@8
-SetFileTime@16
-SetFileValidData@12
-SetFirmwareEnvironmentVariableA@16
 SetFirmwareEnvironmentVariableExA@20
 SetFirmwareEnvironmentVariableExW@20
-SetFirmwareEnvironmentVariableW@16
-SetHandleContext@8
-SetHandleCount@4
-SetHandleInformation@12
-SetInformationJobObject@16
-SetIoRateControlInformationJobObject@8
-SetIoRingCompletionEvent@8
-SetLastConsoleEventActive@0
-SetLastError@4
-SetLocalPrimaryComputerNameA@8
-SetLocalPrimaryComputerNameW@8
-SetLocalTime@4
-SetLocaleInfoA@12
-SetLocaleInfoW@12
-SetMailslotInfo@8
-SetMessageWaitingIndicator@8
-SetNamedPipeAttribute@20
-SetNamedPipeHandleState@16
-SetPriorityClass@8
-SetProcessAffinityMask@8
-SetProcessAffinityUpdateMode@8
-SetProcessDEPPolicy@4
-SetProcessDefaultCpuSetMasks@12
-SetProcessDefaultCpuSets@12
-SetProcessDynamicEHContinuationTargets@12
-SetProcessDynamicEnforcedCetCompatibleRanges@12
 SetProcessInformation@16
 SetProcessMitigationPolicy@12
-SetProcessPreferredUILanguages@12
-SetProcessPriorityBoost@8
-SetProcessShutdownParameters@8
-SetProcessUserModeExceptionPolicy@4
-SetProcessWorkingSetSize@12
-SetProcessWorkingSetSizeEx@16
-SetProtectedPolicy@12
-SetSearchPathMode@4
-SetStdHandle@8
-SetStdHandleEx@12
-SetSystemFileCacheSize@12
-SetSystemPowerState@8
-SetSystemTime@4
-SetSystemTimeAdjustment@8
-SetTapeParameters@12
-SetTapePosition@24
-SetTermsrvAppInstallMode@4
-SetThreadAffinityMask@8
-SetThreadContext@8
-SetThreadDescription@8
-SetThreadErrorMode@8
-SetThreadExecutionState@4
-SetThreadGroupAffinity@12
-SetThreadIdealProcessor@8
-SetThreadIdealProcessorEx@12
+; SetRoamingLastObservedChangeTime@8 ; removed in Windows 8.1
+; SetStateVersion@8 ; removed in Windows 8.1
 SetThreadInformation@16
-SetThreadLocale@4
-SetThreadPreferredUILanguages@12
-SetThreadPriority@8
-SetThreadPriorityBoost@8
-SetThreadSelectedCpuSetMasks@12
-SetThreadSelectedCpuSets@12
-SetThreadStackGuarantee@4
-; MSDN says this is exported from ADVAPI32.DLL.
-; SetThreadToken@8
-SetThreadUILanguage@4
-SetThreadpoolStackInformation@8
-SetThreadpoolThreadMaximum@8
-SetThreadpoolThreadMinimum@8
-SetThreadpoolTimer@16
 SetThreadpoolTimerEx@16
-SetThreadpoolWait@12
 SetThreadpoolWaitEx@16
-SetTimeZoneInformation@4
-SetTimerQueueTimer@24
-SetUnhandledExceptionFilter@4
-SetUserGeoID@4
-SetUserGeoName@4
-SetVDMCurrentDirectories@8
-SetVolumeLabelA@8
-SetVolumeLabelW@8
-SetVolumeMountPointA@8
-SetVolumeMountPointW@8
 SetVolumeMountPointWStub@8
-SetWaitableTimer@24
-SetWaitableTimerEx@28
-SetXStateFeaturesMask@12
-SetupComm@12
-ShowConsoleCursor@8
-SignalObjectAndWait@16
-SizeofResource@8
-Sleep@4
-SleepConditionVariableCS@12
-SleepConditionVariableSRW@16
-SleepEx@8
-SortCloseHandle@4
-SortGetHandle@12
-StartThreadpoolIo@4
-SubmitIoRing@16
-SubmitThreadpoolWork@4
-SuspendThread@4
-SwitchToFiber@4
-SwitchToThread@0
-SystemTimeToFileTime@8
-SystemTimeToTzSpecificLocalTime@12
+; SubscribeStateChangeNotification@12 ; removed in Windows 8.1
 SystemTimeToTzSpecificLocalTimeEx@12
-TerminateJobObject@8
-TerminateProcess@8
-TerminateThread@8
-TermsrvAppInstallMode@0
 TermsrvConvertSysRootToUserDir@8
 TermsrvCreateRegEntry@20
 TermsrvDeleteKey@4
@@ -1518,187 +2006,235 @@
 TermsrvSetKeySecurity@12
 TermsrvSetValueKey@24
 TermsrvSyncUserIniFileExt@4
-Thread32First@8
-Thread32Next@8
-TlsAlloc@0
-TlsFree@4
-TlsGetValue2@4
-TlsGetValue@4
-TlsSetValue@8
-Toolhelp32ReadProcessMemory@20
-TransactNamedPipe@28
-TransmitCommChar@8
-TrimVirtualBuffer@4
-TryAcquireSRWLockExclusive@4
-TryAcquireSRWLockShared@4
-TryEnterCriticalSection@4
-TrySubmitThreadpoolCallback@12
-TzSpecificLocalTimeToSystemTime@12
 TzSpecificLocalTimeToSystemTimeEx@12
-UTRegister@28
-UTUnRegister@4
-UnhandledExceptionFilter@4
-UnlockFile@20
-UnlockFileEx@20
-UnmapViewOfFile@4
 UnmapViewOfFileEx@8
-UnmapViewOfFileVlm@4
-UnregisterApplicationRecoveryCallback@0
-UnregisterApplicationRestart@0
 UnregisterBadMemoryNotification@4
-UnregisterConsoleIME@0
-UnregisterWait@4
-UnregisterWaitEx@8
+; UnregisterStateChangeNotification@4 ; removed in Windows 8.1
+; UnregisterStateLock@8 ; removed in Windows 8.1
+; UnsubscribeStateChangeNotification@4 ; removed in Windows 8.1
+WerRegisterFileWorker@12
+WerRegisterMemoryBlockWorker@8
+WerRegisterRuntimeExceptionModuleWorker@8
+WerUnregisterFileWorker@4
+WerUnregisterMemoryBlockWorker@4
+WerUnregisterRuntimeExceptionModuleWorker@8
+WerpGetDebugger@8 ; FIXME: Windows 8 and Windows 8.1 has ABI WerpGetDebugger@20, Windows 10 has ABI WerpGetDebugger@8
+; WerpLaunchAeDebug@24
+; WerpNotifyLoadStringResourceWorker@16
+; WerpNotifyUseStringResourceWorker@4
+; WriteStateAtomValue@20 ; removed in Windows 8.1
+; WriteStateContainerValue@24 ; removed in Windows 8.1
+ZombifyActCtxWorker@4
+; timeBeginPeriod@4 ; MSDN says this is exported from winmm.dll
+; timeEndPeriod@4 ; MSDN says this is exported from winmm.dll
+; timeGetDevCaps@8 ; MSDN says this is exported from winmm.dll
+; timeGetSystemTime@8 ; MSDN says this is exported from winmm.dll
+; timeGetTime@0 ; MSDN says this is exported from winmm.dll
+
+; This is list of symbols added in Windows 8.1
+BaseFreeAppCompatDataForProcessWorker@4
+BaseReadAppCompatDataForProcessWorker@12
+; CalloutOnFiberStack@12 ; removed in Windows 10 November Update (Threshold 2)
+DeleteSynchronizationBarrier@4
+DnsHostnameToComputerNameExW@12
+EnterSynchronizationBarrier@8
+FindPackagesByPackageFamily@28
+FormatApplicationUserModelId@16
+GetEncryptedFileVersionExt@8
+GetPackageApplicationIds@16
+GetPackagePathByFullName@12
+GetStagedPackagePathByFullName@12
+InitializeSynchronizationBarrier@12
+InstallELAMCertificateInfo@4
+IsProcessCritical@8
+OOBEComplete@4
+ParseApplicationUserModelId@20
+PssCaptureSnapshot@16
+PssDuplicateSnapshot@20
+PssFreeSnapshot@8
+PssQuerySnapshot@16
+PssWalkMarkerCreate@8
+PssWalkMarkerFree@4
+PssWalkMarkerGetPosition@8
+PssWalkMarkerRewind@4
+PssWalkMarkerSeek@8
+PssWalkMarkerSeekToBeginning@4
+PssWalkMarkerSetPosition@8
+PssWalkMarkerTell@8
+PssWalkSnapshot@20
+QuirkGetData2Worker@8
+QuirkGetDataWorker@8
+QuirkIsEnabled2Worker@12
+QuirkIsEnabled3Worker@8
+QuirkIsEnabledForPackage2Worker@24
+QuirkIsEnabledForPackageWorker@16
+QuirkIsEnabledForProcessWorker@12
+QuirkIsEnabledWorker@4
+RegisterWaitUntilOOBECompleted@12
+SetComputerNameEx2W@12
 UnregisterWaitUntilOOBECompleted@4
-UpdateCalendarDayOfWeek@4
-UpdateProcThreadAttribute@28
-UpdateResourceA@24
-UpdateResourceW@24
-VDMConsoleOperation@8
-VDMOperationStarted@4
-VerLanguageNameA@12
-VerLanguageNameW@12
-VerSetConditionMask@16
-VerifyConsoleIoHandle@4
-VerifyScripts@20
-VerifyVersionInfoA@16
-VerifyVersionInfoW@16
-VirtualAlloc@16
-VirtualAllocEx@20
-VirtualAllocExNuma@24
-VirtualAllocVlm@24
-VirtualBufferExceptionHandler@12
-VirtualFree@12
-VirtualFreeEx@16
-VirtualFreeVlm@20
-VirtualLock@8
-VirtualProtect@16
-VirtualProtectEx@20
-VirtualProtectVlm@24
-VirtualQuery@12
-VirtualQueryEx@16
-VirtualQueryVlm@16
-VirtualUnlock@8
-WTSGetActiveConsoleSessionId@0
-WaitCommEvent@12
-WaitForDebugEvent@8
+
+; This is list of symbols added in Windows 10 (Threshold / 1507)
+; CreateProcessAsUserA@44 ; MSDN says this is exported from advapi32.dll
+DiscardVirtualMemory@8
+FreeMemoryJobObject@4
+GetProcessDefaultCpuSets@16
+GetSystemCpuSetInformation@20
+GetThreadSelectedCpuSets@16
+OfferVirtualMemory@12
+QueryIoRateControlInformationJobObject@16
+QueryProtectedPolicy@8
+QuirkIsEnabledForPackage3Worker@20
+QuirkIsEnabledForPackage4Worker@20
+ReclaimVirtualMemory@8
+RtlPcToFileHeader@8
+SetIoRateControlInformationJobObject@8
+SetProcessDefaultCpuSets@12
+SetProtectedPolicy@12
+SetThreadSelectedCpuSets@12
 WaitForDebugEventEx@8
-WaitForMultipleObjects@16
-WaitForMultipleObjectsEx@20
-WaitForSingleObject@8
-WaitForSingleObjectEx@12
-WaitForThreadpoolIoCallbacks@8
-WaitForThreadpoolTimerCallbacks@8
-WaitForThreadpoolWaitCallbacks@8
-WaitForThreadpoolWorkCallbacks@8
-WaitNamedPipeA@8
-WaitNamedPipeW@8
-WakeAllConditionVariable@4
-WakeConditionVariable@4
-WerGetFlags@8
 WerGetFlagsWorker@8
+WerSetFlagsWorker@4
+
+; This is list of symbols added in Windows 10 November Update (Threshold 2 / 1511)
+CreateEnclave@32
+InitializeEnclave@20
+IsEnclaveTypeSupported@4
+LoadEnclaveData@36
+
+; This is list of symbols added in Windows 10 Anniversary Update (Redstone / 1607)
+AppPolicyGetClrCompat@8
+AppPolicyGetCreateFileAccess@8
+AppPolicyGetLifecycleManagement@8
+AppPolicyGetMediaFoundationCodecLoading@8
+AppPolicyGetProcessTerminationMethod@8
+AppPolicyGetShowDeveloperDiagnostic@8
+AppPolicyGetThreadInitializationType@8
+AppPolicyGetWindowingModel@8
+; Wow64Transition DATA ; available only in 32-bit WoW64 version on 64-bit system
+
+; This is list of symbols added in Windows 10 Creators Update (Redstone 2 / 1703)
+BasepInitAppCompatData@12
+GetThreadDescription@8
+SetThreadDescription@8
 WerRegisterAdditionalProcess@8
-WerRegisterAppLocalDump@4
 WerRegisterCustomMetadata@8
 WerRegisterExcludedMemoryBlock@8
-WerRegisterFile@12
-WerRegisterFileWorker@12
-WerRegisterMemoryBlock@8
-WerRegisterMemoryBlockWorker@8
-WerRegisterRuntimeExceptionModule@8
-WerRegisterRuntimeExceptionModuleWorker@8
-WerSetFlags@4
-WerSetFlagsWorker@4
 WerUnregisterAdditionalProcess@4
-WerUnregisterAppLocalDump@0
 WerUnregisterCustomMetadata@4
 WerUnregisterExcludedMemoryBlock@4
-WerUnregisterFile@4
-WerUnregisterFileWorker@4
-WerUnregisterMemoryBlock@4
-WerUnregisterMemoryBlockWorker@4
-WerUnregisterRuntimeExceptionModule@8
-WerUnregisterRuntimeExceptionModuleWorker@8
-WerpCleanupMessageMapping@0
-WerpGetDebugger@8
-WerpInitiateRemoteRecovery@4
-WerpNotifyLoadStringResource@16
-WerpNotifyLoadStringResourceEx@20
-WerpNotifyUseStringResource@4
-WerpStringLookup@8
-WideCharToMultiByte@32
-WinExec@8
-Wow64DisableWow64FsRedirection@4
-Wow64EnableWow64FsRedirection@4
-Wow64GetThreadContext@8
-Wow64GetThreadSelectorEntry@12
-Wow64RevertWow64FsRedirection@4
-Wow64SetThreadContext@8
-Wow64SuspendThread@4
-WriteConsoleA@20
-WriteConsoleInputA@16
-WriteConsoleInputVDMA@16
-WriteConsoleInputVDMW@16
-WriteConsoleInputW@16
-WriteConsoleOutputA@20
-WriteConsoleOutputAttribute@20
-WriteConsoleOutputCharacterA@20
-WriteConsoleOutputCharacterW@20
-WriteConsoleOutputW@20
-WriteConsoleW@20
-WriteFile@20
-WriteFileEx@20
-WriteFileGather@20
+
+; This is list of symbols added in Windows 10 Fall Creators Update (Redstone 3 / 1709)
+BasepQueryModuleChpeSettings@40 ; FIXME: Windows 11 2024 Update (Hudson Valley / 24H2) (WoW64 version) changed ABI to "BasepQueryModuleChpeSettings@44"
+EnumSystemGeoNames@12
+GetGeoInfoEx@16
+GetUserDefaultGeoName@8
+IsWow64GuestMachineSupported@8
+IsWow64Process2@12
+ReadDirectoryChangesExW@36
+SetUserGeoName@4
+WerRegisterAppLocalDump@4
+WerUnregisterAppLocalDump@0
+
+; In Windows 10 April 2018 Update (Redstone 4 / 1803) was not added any new symbol
+
+; This is list of symbols added in Windows 10 October 2018 Update (Redstone 5 / 1809)
+ClosePseudoConsole@4
+CreatePseudoConsole@20
+GetDiskSpaceInformationA@8
+GetDiskSpaceInformationW@8
+InitializeContext2@24
+LocalFileTimeToLocalSystemTime@12
+LocalSystemTimeToLocalFileTime@12
+ResizePseudoConsole@8
+
+; In Windows 10 May 2019 Update (19H1 / 1903) was not added any new symbol
+
+; In Windows 10 November 2019 Update (19H2 /1909) was not added any new symbol
+
+; This is list of symbols added in Windows 10 May 2020 Update (20H1 / 2004)
+; BasepFinishPackageActivationForSxS@24
+; BasepGetPackageActivationTokenForSxS@12
+IsUserCetAvailableInEnvironment@4
+SetProcessDynamicEHContinuationTargets@12
+
+; In Windows 10 October 2020 Update (20H2) was not added any new symbol
+
+; This is list of symbols added in Windows 10 May 2021 Update (21H1)
+; CheckIsMSIXPackage@8 ; removed in Windows 11 (Sun Valley / 21H2) (WoW64 version)
+SetProcessDynamicEnforcedCetCompatibleRanges@12
+
+; In Windows 10 November 2021 Update (21H2) was not added any new symbol
+
+; In Windows 10 2022 Update (22H2) was not added any new symbol
+
+; This is list of symbols added in Windows 11 (Sun Valley / 21H2) (WoW64 version)
+ActivatePackageVirtualizationContext@8
+AreShortNamesEnabled@8
+; BasepFinishPackageActivation@28
+; BasepGetPackageActivationTokenForFilePath@12
+; BasepGetPackagedAppInfoForFile@16
+; BasepReleasePackagedAppInfo@4
+CreatePackageVirtualizationContext@8
+DeactivatePackageVirtualizationContext@4
+DuplicatePackageVirtualizationContext@8
+EnableProcessOptionalXStateFeatures@8
+GetCurrentPackageVirtualizationContext@0
+GetMachineTypeAttributes@8
+GetNumaNodeProcessorMask2@16
+GetProcessDefaultCpuSetMasks@16
+GetProcessesInVirtualizationContext@12
+GetTempPath2A@8
+GetTempPath2W@8
+GetThreadEnabledXStateFeatures@0
+GetThreadSelectedCpuSetMasks@16
+QueueUserAPC2@16
+ReleasePackageVirtualizationContext@4
+SetProcessDefaultCpuSetMasks@12
+SetThreadSelectedCpuSetMasks@12
+
+; This is list of symbols added in Windows 11 2022 Update (Sun Valley 2 / 22H2) (WoW64 version)
+BuildIoRingCancelRequest@20
+BuildIoRingFlushFile@24
+BuildIoRingReadFile@44
+BuildIoRingRegisterBuffers@16
+BuildIoRingRegisterFileHandles@16
+BuildIoRingWriteFile@48
+CloseIoRing@4
+CreateIoRing@24
+GetIoRingInfo@8
+IsIoRingOpSupported@8
+PopIoRingCompletion@8
+QueryIoRingCapabilities@4
+SetIoRingCompletionEvent@8
+SubmitIoRing@16
+
+; In Windows 11 2023 Update (Sun Valley 3 / 23H2) (WoW64 version) was not added any new symbol
+
+; This is list of symbols added in Windows 11 2024 Update (Hudson Valley / 24H2) (WoW64 version)
+AllocConsoleWithOptions@8
+; BackupReadEx@24
+; BackupWriteEx@24
+; BasepCheckPplSupport@8
+; BasepFreeActivationTokenInfo@4
+; BasepGetPackageActivationTokenForFilePath2@12
+; BasepGetPackageActivationTokenForSxS2@12
+BuildIoRingReadFileScatter@40
+BuildIoRingWriteFileGather@44
+FlsGetValue2@4
+GetFileInformationByName@16
+; LogUnexpectedCodepath@4
+ReleasePseudoConsole@4
+TlsGetValue2@4
+
+; FIXME these symbols are not available in any 32-bit x86 version of kernel32.dll
+GlobalMemoryStatusVlm@4
+MapViewOfFileVlm@28
+ReadFileVlm@20
+UnmapViewOfFileVlm@4
+VirtualAllocVlm@24
+VirtualFreeVlm@20
+VirtualProtectVlm@24
+VirtualQueryVlm@16
 WriteFileVlm@20
-WritePrivateProfileSectionA@12
-WritePrivateProfileSectionW@12
-WritePrivateProfileStringA@16
-WritePrivateProfileStringW@16
-WritePrivateProfileStructA@20
-WritePrivateProfileStructW@20
-WriteProcessMemory@20
 WriteProcessMemoryVlm@20
-WriteProfileSectionA@8
-WriteProfileSectionW@8
-WriteProfileStringA@12
-WriteProfileStringW@12
-WriteTapemark@16
-ZombifyActCtx@4
-ZombifyActCtxWorker@4
-_hread@12
-_hwrite@12
-_lclose@4
-_lcreat@8
-_llseek@12
-_lopen@8
-_lread@12
-_lwrite@12
-lstrcat@8
-lstrcatA@8
-lstrcatW@8
-lstrcmp@8
-lstrcmpA@8
-lstrcmpW@8
-lstrcmpi@8
-lstrcmpiA@8
-lstrcmpiW@8
-lstrcpy@8
-lstrcpyA@8
-lstrcpyW@8
-lstrcpyn@12
-lstrcpynA@12
-lstrcpynW@12
-lstrlen@4
-lstrlenA@4
-lstrlenW@4
-;
-; MSDN says these functions are exported
-; from winmm.dll. Commented out for
-; compatibility with older versions of
-; Windows.
-;
-;timeBeginPeriod@4
-;timeEndPeriod@4
-;timeGetDevCaps@8
-;timeGetSystemTime@8
-;timeGetTime@0