Skip to content

Instantly share code, notes, and snippets.

@jthuraisamy
Last active November 24, 2019 22:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jthuraisamy/15625e83ad10ba85eaf544ce4bf78ec0 to your computer and use it in GitHub Desktop.
Save jthuraisamy/15625e83ad10ba85eaf544ce4bf78ec0 to your computer and use it in GitHub Desktop.
AV/EDR Evasion with Direct System Calls (x64)
This file has been truncated, but you can view the full file.
.code
NtAcceptConnectPort PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAcceptConnectPort_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAcceptConnectPort_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAcceptConnectPort_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAcceptConnectPort_Check_10_0_XXXX
jmp NtAcceptConnectPort_SystemCall_Unknown
NtAcceptConnectPort_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAcceptConnectPort_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAcceptConnectPort_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAcceptConnectPort_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAcceptConnectPort_SystemCall_6_3_XXXX
jmp NtAcceptConnectPort_SystemCall_Unknown
NtAcceptConnectPort_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAcceptConnectPort_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAcceptConnectPort_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAcceptConnectPort_SystemCall_6_0_6002
jmp NtAcceptConnectPort_SystemCall_Unknown
NtAcceptConnectPort_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAcceptConnectPort_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAcceptConnectPort_SystemCall_6_1_7601
jmp NtAcceptConnectPort_SystemCall_Unknown
NtAcceptConnectPort_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAcceptConnectPort_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAcceptConnectPort_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAcceptConnectPort_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAcceptConnectPort_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAcceptConnectPort_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAcceptConnectPort_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAcceptConnectPort_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAcceptConnectPort_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAcceptConnectPort_SystemCall_10_0_18363
jmp NtAcceptConnectPort_SystemCall_Unknown
NtAcceptConnectPort_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0060h
jmp NtAcceptConnectPort_Epilogue
NtAcceptConnectPort_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0060h
jmp NtAcceptConnectPort_Epilogue
NtAcceptConnectPort_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0060h
jmp NtAcceptConnectPort_Epilogue
NtAcceptConnectPort_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0060h
jmp NtAcceptConnectPort_Epilogue
NtAcceptConnectPort_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0060h
jmp NtAcceptConnectPort_Epilogue
NtAcceptConnectPort_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0060h
jmp NtAcceptConnectPort_Epilogue
NtAcceptConnectPort_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0061h
jmp NtAcceptConnectPort_Epilogue
NtAcceptConnectPort_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0001h
jmp NtAcceptConnectPort_Epilogue
NtAcceptConnectPort_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0002h
jmp NtAcceptConnectPort_Epilogue
NtAcceptConnectPort_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0002h
jmp NtAcceptConnectPort_Epilogue
NtAcceptConnectPort_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0002h
jmp NtAcceptConnectPort_Epilogue
NtAcceptConnectPort_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0002h
jmp NtAcceptConnectPort_Epilogue
NtAcceptConnectPort_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0002h
jmp NtAcceptConnectPort_Epilogue
NtAcceptConnectPort_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0002h
jmp NtAcceptConnectPort_Epilogue
NtAcceptConnectPort_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0002h
jmp NtAcceptConnectPort_Epilogue
NtAcceptConnectPort_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0002h
jmp NtAcceptConnectPort_Epilogue
NtAcceptConnectPort_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0002h
jmp NtAcceptConnectPort_Epilogue
NtAcceptConnectPort_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAcceptConnectPort_Epilogue:
mov r10, rcx
syscall
ret
NtAcceptConnectPort ENDP
NtAccessCheck PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAccessCheck_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAccessCheck_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAccessCheck_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAccessCheck_Check_10_0_XXXX
jmp NtAccessCheck_SystemCall_Unknown
NtAccessCheck_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAccessCheck_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAccessCheck_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAccessCheck_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAccessCheck_SystemCall_6_3_XXXX
jmp NtAccessCheck_SystemCall_Unknown
NtAccessCheck_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAccessCheck_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAccessCheck_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAccessCheck_SystemCall_6_0_6002
jmp NtAccessCheck_SystemCall_Unknown
NtAccessCheck_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAccessCheck_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAccessCheck_SystemCall_6_1_7601
jmp NtAccessCheck_SystemCall_Unknown
NtAccessCheck_Check_10_0_XXXX: ; Check build number for Windows 10.
jmp NtAccessCheck_SystemCall_Unknown
NtAccessCheck_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0061h
jmp NtAccessCheck_Epilogue
NtAccessCheck_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0061h
jmp NtAccessCheck_Epilogue
NtAccessCheck_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0061h
jmp NtAccessCheck_Epilogue
NtAccessCheck_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0061h
jmp NtAccessCheck_Epilogue
NtAccessCheck_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0061h
jmp NtAccessCheck_Epilogue
NtAccessCheck_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0061h
jmp NtAccessCheck_Epilogue
NtAccessCheck_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0062h
jmp NtAccessCheck_Epilogue
NtAccessCheck_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0062h
jmp NtAccessCheck_Epilogue
NtAccessCheck_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0000h
jmp NtAccessCheck_Epilogue
NtAccessCheck_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0000h
jmp NtAccessCheck_Epilogue
NtAccessCheck_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0000h
jmp NtAccessCheck_Epilogue
NtAccessCheck_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0000h
jmp NtAccessCheck_Epilogue
NtAccessCheck_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0000h
jmp NtAccessCheck_Epilogue
NtAccessCheck_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0000h
jmp NtAccessCheck_Epilogue
NtAccessCheck_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0000h
jmp NtAccessCheck_Epilogue
NtAccessCheck_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0000h
jmp NtAccessCheck_Epilogue
NtAccessCheck_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0000h
jmp NtAccessCheck_Epilogue
NtAccessCheck_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAccessCheck_Epilogue:
mov r10, rcx
syscall
ret
NtAccessCheck ENDP
NtAccessCheckAndAuditAlarm PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAccessCheckAndAuditAlarm_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAccessCheckAndAuditAlarm_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAccessCheckAndAuditAlarm_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAccessCheckAndAuditAlarm_Check_10_0_XXXX
jmp NtAccessCheckAndAuditAlarm_SystemCall_Unknown
NtAccessCheckAndAuditAlarm_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAccessCheckAndAuditAlarm_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAccessCheckAndAuditAlarm_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAccessCheckAndAuditAlarm_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAccessCheckAndAuditAlarm_SystemCall_6_3_XXXX
jmp NtAccessCheckAndAuditAlarm_SystemCall_Unknown
NtAccessCheckAndAuditAlarm_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAccessCheckAndAuditAlarm_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAccessCheckAndAuditAlarm_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAccessCheckAndAuditAlarm_SystemCall_6_0_6002
jmp NtAccessCheckAndAuditAlarm_SystemCall_Unknown
NtAccessCheckAndAuditAlarm_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAccessCheckAndAuditAlarm_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAccessCheckAndAuditAlarm_SystemCall_6_1_7601
jmp NtAccessCheckAndAuditAlarm_SystemCall_Unknown
NtAccessCheckAndAuditAlarm_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAccessCheckAndAuditAlarm_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAccessCheckAndAuditAlarm_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAccessCheckAndAuditAlarm_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAccessCheckAndAuditAlarm_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAccessCheckAndAuditAlarm_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAccessCheckAndAuditAlarm_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAccessCheckAndAuditAlarm_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAccessCheckAndAuditAlarm_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAccessCheckAndAuditAlarm_SystemCall_10_0_18363
jmp NtAccessCheckAndAuditAlarm_SystemCall_Unknown
NtAccessCheckAndAuditAlarm_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0026h
jmp NtAccessCheckAndAuditAlarm_Epilogue
NtAccessCheckAndAuditAlarm_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0026h
jmp NtAccessCheckAndAuditAlarm_Epilogue
NtAccessCheckAndAuditAlarm_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0026h
jmp NtAccessCheckAndAuditAlarm_Epilogue
NtAccessCheckAndAuditAlarm_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0026h
jmp NtAccessCheckAndAuditAlarm_Epilogue
NtAccessCheckAndAuditAlarm_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0026h
jmp NtAccessCheckAndAuditAlarm_Epilogue
NtAccessCheckAndAuditAlarm_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0026h
jmp NtAccessCheckAndAuditAlarm_Epilogue
NtAccessCheckAndAuditAlarm_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0027h
jmp NtAccessCheckAndAuditAlarm_Epilogue
NtAccessCheckAndAuditAlarm_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0028h
jmp NtAccessCheckAndAuditAlarm_Epilogue
NtAccessCheckAndAuditAlarm_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0029h
jmp NtAccessCheckAndAuditAlarm_Epilogue
NtAccessCheckAndAuditAlarm_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0029h
jmp NtAccessCheckAndAuditAlarm_Epilogue
NtAccessCheckAndAuditAlarm_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0029h
jmp NtAccessCheckAndAuditAlarm_Epilogue
NtAccessCheckAndAuditAlarm_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0029h
jmp NtAccessCheckAndAuditAlarm_Epilogue
NtAccessCheckAndAuditAlarm_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0029h
jmp NtAccessCheckAndAuditAlarm_Epilogue
NtAccessCheckAndAuditAlarm_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0029h
jmp NtAccessCheckAndAuditAlarm_Epilogue
NtAccessCheckAndAuditAlarm_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0029h
jmp NtAccessCheckAndAuditAlarm_Epilogue
NtAccessCheckAndAuditAlarm_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0029h
jmp NtAccessCheckAndAuditAlarm_Epilogue
NtAccessCheckAndAuditAlarm_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0029h
jmp NtAccessCheckAndAuditAlarm_Epilogue
NtAccessCheckAndAuditAlarm_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAccessCheckAndAuditAlarm_Epilogue:
mov r10, rcx
syscall
ret
NtAccessCheckAndAuditAlarm ENDP
NtAccessCheckByType PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAccessCheckByType_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAccessCheckByType_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAccessCheckByType_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAccessCheckByType_Check_10_0_XXXX
jmp NtAccessCheckByType_SystemCall_Unknown
NtAccessCheckByType_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAccessCheckByType_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAccessCheckByType_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAccessCheckByType_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAccessCheckByType_SystemCall_6_3_XXXX
jmp NtAccessCheckByType_SystemCall_Unknown
NtAccessCheckByType_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAccessCheckByType_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAccessCheckByType_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAccessCheckByType_SystemCall_6_0_6002
jmp NtAccessCheckByType_SystemCall_Unknown
NtAccessCheckByType_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAccessCheckByType_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAccessCheckByType_SystemCall_6_1_7601
jmp NtAccessCheckByType_SystemCall_Unknown
NtAccessCheckByType_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAccessCheckByType_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAccessCheckByType_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAccessCheckByType_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAccessCheckByType_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAccessCheckByType_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAccessCheckByType_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAccessCheckByType_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAccessCheckByType_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAccessCheckByType_SystemCall_10_0_18363
jmp NtAccessCheckByType_SystemCall_Unknown
NtAccessCheckByType_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0062h
jmp NtAccessCheckByType_Epilogue
NtAccessCheckByType_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0062h
jmp NtAccessCheckByType_Epilogue
NtAccessCheckByType_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0062h
jmp NtAccessCheckByType_Epilogue
NtAccessCheckByType_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0062h
jmp NtAccessCheckByType_Epilogue
NtAccessCheckByType_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0062h
jmp NtAccessCheckByType_Epilogue
NtAccessCheckByType_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0062h
jmp NtAccessCheckByType_Epilogue
NtAccessCheckByType_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0063h
jmp NtAccessCheckByType_Epilogue
NtAccessCheckByType_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0063h
jmp NtAccessCheckByType_Epilogue
NtAccessCheckByType_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0063h
jmp NtAccessCheckByType_Epilogue
NtAccessCheckByType_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0063h
jmp NtAccessCheckByType_Epilogue
NtAccessCheckByType_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0063h
jmp NtAccessCheckByType_Epilogue
NtAccessCheckByType_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0063h
jmp NtAccessCheckByType_Epilogue
NtAccessCheckByType_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0063h
jmp NtAccessCheckByType_Epilogue
NtAccessCheckByType_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0063h
jmp NtAccessCheckByType_Epilogue
NtAccessCheckByType_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0063h
jmp NtAccessCheckByType_Epilogue
NtAccessCheckByType_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0063h
jmp NtAccessCheckByType_Epilogue
NtAccessCheckByType_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0063h
jmp NtAccessCheckByType_Epilogue
NtAccessCheckByType_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAccessCheckByType_Epilogue:
mov r10, rcx
syscall
ret
NtAccessCheckByType ENDP
NtAccessCheckByTypeAndAuditAlarm PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAccessCheckByTypeAndAuditAlarm_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAccessCheckByTypeAndAuditAlarm_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAccessCheckByTypeAndAuditAlarm_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAccessCheckByTypeAndAuditAlarm_Check_10_0_XXXX
jmp NtAccessCheckByTypeAndAuditAlarm_SystemCall_Unknown
NtAccessCheckByTypeAndAuditAlarm_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAccessCheckByTypeAndAuditAlarm_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAccessCheckByTypeAndAuditAlarm_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAccessCheckByTypeAndAuditAlarm_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAccessCheckByTypeAndAuditAlarm_SystemCall_6_3_XXXX
jmp NtAccessCheckByTypeAndAuditAlarm_SystemCall_Unknown
NtAccessCheckByTypeAndAuditAlarm_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAccessCheckByTypeAndAuditAlarm_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAccessCheckByTypeAndAuditAlarm_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAccessCheckByTypeAndAuditAlarm_SystemCall_6_0_6002
jmp NtAccessCheckByTypeAndAuditAlarm_SystemCall_Unknown
NtAccessCheckByTypeAndAuditAlarm_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAccessCheckByTypeAndAuditAlarm_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAccessCheckByTypeAndAuditAlarm_SystemCall_6_1_7601
jmp NtAccessCheckByTypeAndAuditAlarm_SystemCall_Unknown
NtAccessCheckByTypeAndAuditAlarm_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_18363
jmp NtAccessCheckByTypeAndAuditAlarm_SystemCall_Unknown
NtAccessCheckByTypeAndAuditAlarm_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0056h
jmp NtAccessCheckByTypeAndAuditAlarm_Epilogue
NtAccessCheckByTypeAndAuditAlarm_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0056h
jmp NtAccessCheckByTypeAndAuditAlarm_Epilogue
NtAccessCheckByTypeAndAuditAlarm_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0056h
jmp NtAccessCheckByTypeAndAuditAlarm_Epilogue
NtAccessCheckByTypeAndAuditAlarm_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0056h
jmp NtAccessCheckByTypeAndAuditAlarm_Epilogue
NtAccessCheckByTypeAndAuditAlarm_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0056h
jmp NtAccessCheckByTypeAndAuditAlarm_Epilogue
NtAccessCheckByTypeAndAuditAlarm_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0056h
jmp NtAccessCheckByTypeAndAuditAlarm_Epilogue
NtAccessCheckByTypeAndAuditAlarm_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0057h
jmp NtAccessCheckByTypeAndAuditAlarm_Epilogue
NtAccessCheckByTypeAndAuditAlarm_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0058h
jmp NtAccessCheckByTypeAndAuditAlarm_Epilogue
NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0059h
jmp NtAccessCheckByTypeAndAuditAlarm_Epilogue
NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0059h
jmp NtAccessCheckByTypeAndAuditAlarm_Epilogue
NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0059h
jmp NtAccessCheckByTypeAndAuditAlarm_Epilogue
NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0059h
jmp NtAccessCheckByTypeAndAuditAlarm_Epilogue
NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0059h
jmp NtAccessCheckByTypeAndAuditAlarm_Epilogue
NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0059h
jmp NtAccessCheckByTypeAndAuditAlarm_Epilogue
NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0059h
jmp NtAccessCheckByTypeAndAuditAlarm_Epilogue
NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0059h
jmp NtAccessCheckByTypeAndAuditAlarm_Epilogue
NtAccessCheckByTypeAndAuditAlarm_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0059h
jmp NtAccessCheckByTypeAndAuditAlarm_Epilogue
NtAccessCheckByTypeAndAuditAlarm_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAccessCheckByTypeAndAuditAlarm_Epilogue:
mov r10, rcx
syscall
ret
NtAccessCheckByTypeAndAuditAlarm ENDP
NtAccessCheckByTypeResultList PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAccessCheckByTypeResultList_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAccessCheckByTypeResultList_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAccessCheckByTypeResultList_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAccessCheckByTypeResultList_Check_10_0_XXXX
jmp NtAccessCheckByTypeResultList_SystemCall_Unknown
NtAccessCheckByTypeResultList_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAccessCheckByTypeResultList_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAccessCheckByTypeResultList_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAccessCheckByTypeResultList_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAccessCheckByTypeResultList_SystemCall_6_3_XXXX
jmp NtAccessCheckByTypeResultList_SystemCall_Unknown
NtAccessCheckByTypeResultList_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAccessCheckByTypeResultList_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAccessCheckByTypeResultList_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAccessCheckByTypeResultList_SystemCall_6_0_6002
jmp NtAccessCheckByTypeResultList_SystemCall_Unknown
NtAccessCheckByTypeResultList_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAccessCheckByTypeResultList_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAccessCheckByTypeResultList_SystemCall_6_1_7601
jmp NtAccessCheckByTypeResultList_SystemCall_Unknown
NtAccessCheckByTypeResultList_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAccessCheckByTypeResultList_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAccessCheckByTypeResultList_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAccessCheckByTypeResultList_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAccessCheckByTypeResultList_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAccessCheckByTypeResultList_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAccessCheckByTypeResultList_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAccessCheckByTypeResultList_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAccessCheckByTypeResultList_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAccessCheckByTypeResultList_SystemCall_10_0_18363
jmp NtAccessCheckByTypeResultList_SystemCall_Unknown
NtAccessCheckByTypeResultList_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0063h
jmp NtAccessCheckByTypeResultList_Epilogue
NtAccessCheckByTypeResultList_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0063h
jmp NtAccessCheckByTypeResultList_Epilogue
NtAccessCheckByTypeResultList_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0063h
jmp NtAccessCheckByTypeResultList_Epilogue
NtAccessCheckByTypeResultList_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0063h
jmp NtAccessCheckByTypeResultList_Epilogue
NtAccessCheckByTypeResultList_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0063h
jmp NtAccessCheckByTypeResultList_Epilogue
NtAccessCheckByTypeResultList_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0063h
jmp NtAccessCheckByTypeResultList_Epilogue
NtAccessCheckByTypeResultList_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0064h
jmp NtAccessCheckByTypeResultList_Epilogue
NtAccessCheckByTypeResultList_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0064h
jmp NtAccessCheckByTypeResultList_Epilogue
NtAccessCheckByTypeResultList_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0064h
jmp NtAccessCheckByTypeResultList_Epilogue
NtAccessCheckByTypeResultList_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0064h
jmp NtAccessCheckByTypeResultList_Epilogue
NtAccessCheckByTypeResultList_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0064h
jmp NtAccessCheckByTypeResultList_Epilogue
NtAccessCheckByTypeResultList_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0064h
jmp NtAccessCheckByTypeResultList_Epilogue
NtAccessCheckByTypeResultList_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0064h
jmp NtAccessCheckByTypeResultList_Epilogue
NtAccessCheckByTypeResultList_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0064h
jmp NtAccessCheckByTypeResultList_Epilogue
NtAccessCheckByTypeResultList_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0064h
jmp NtAccessCheckByTypeResultList_Epilogue
NtAccessCheckByTypeResultList_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0064h
jmp NtAccessCheckByTypeResultList_Epilogue
NtAccessCheckByTypeResultList_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0064h
jmp NtAccessCheckByTypeResultList_Epilogue
NtAccessCheckByTypeResultList_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAccessCheckByTypeResultList_Epilogue:
mov r10, rcx
syscall
ret
NtAccessCheckByTypeResultList ENDP
NtAccessCheckByTypeResultListAndAuditAlarm PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAccessCheckByTypeResultListAndAuditAlarm_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAccessCheckByTypeResultListAndAuditAlarm_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAccessCheckByTypeResultListAndAuditAlarm_Check_10_0_XXXX
jmp NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_Unknown
NtAccessCheckByTypeResultListAndAuditAlarm_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAccessCheckByTypeResultListAndAuditAlarm_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAccessCheckByTypeResultListAndAuditAlarm_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_6_3_XXXX
jmp NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_Unknown
NtAccessCheckByTypeResultListAndAuditAlarm_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_6_0_6002
jmp NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_Unknown
NtAccessCheckByTypeResultListAndAuditAlarm_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_6_1_7601
jmp NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_Unknown
NtAccessCheckByTypeResultListAndAuditAlarm_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_18363
jmp NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_Unknown
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0064h
jmp NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0064h
jmp NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0064h
jmp NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0064h
jmp NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0064h
jmp NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0064h
jmp NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0065h
jmp NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0065h
jmp NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0065h
jmp NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0065h
jmp NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0065h
jmp NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0065h
jmp NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0065h
jmp NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0065h
jmp NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0065h
jmp NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0065h
jmp NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0065h
jmp NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarm_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAccessCheckByTypeResultListAndAuditAlarm_Epilogue:
mov r10, rcx
syscall
ret
NtAccessCheckByTypeResultListAndAuditAlarm ENDP
NtAccessCheckByTypeResultListAndAuditAlarmByHandle PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Check_10_0_XXXX
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_Unknown
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_6_3_XXXX
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_Unknown
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_6_0_6002
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_Unknown
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_6_1_7601
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_Unknown
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_18363
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_Unknown
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0065h
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0065h
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0065h
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0065h
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0065h
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0065h
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0066h
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0066h
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0066h
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0066h
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0066h
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0066h
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0066h
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0066h
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0066h
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0066h
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0066h
jmp NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAccessCheckByTypeResultListAndAuditAlarmByHandle_Epilogue:
mov r10, rcx
syscall
ret
NtAccessCheckByTypeResultListAndAuditAlarmByHandle ENDP
NtAcquireCMFViewOwnership PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAcquireCMFViewOwnership_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAcquireCMFViewOwnership_Check_6_X_XXXX
jmp NtAcquireCMFViewOwnership_SystemCall_Unknown
NtAcquireCMFViewOwnership_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAcquireCMFViewOwnership_Check_6_0_XXXX
jmp NtAcquireCMFViewOwnership_SystemCall_Unknown
NtAcquireCMFViewOwnership_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAcquireCMFViewOwnership_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAcquireCMFViewOwnership_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAcquireCMFViewOwnership_SystemCall_6_0_6002
jmp NtAcquireCMFViewOwnership_SystemCall_Unknown
NtAcquireCMFViewOwnership_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0066h
jmp NtAcquireCMFViewOwnership_Epilogue
NtAcquireCMFViewOwnership_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0066h
jmp NtAcquireCMFViewOwnership_Epilogue
NtAcquireCMFViewOwnership_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0066h
jmp NtAcquireCMFViewOwnership_Epilogue
NtAcquireCMFViewOwnership_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAcquireCMFViewOwnership_Epilogue:
mov r10, rcx
syscall
ret
NtAcquireCMFViewOwnership ENDP
NtAcquireProcessActivityReference PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAcquireProcessActivityReference_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtAcquireProcessActivityReference_Check_10_0_XXXX
jmp NtAcquireProcessActivityReference_SystemCall_Unknown
NtAcquireProcessActivityReference_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 15063
je NtAcquireProcessActivityReference_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAcquireProcessActivityReference_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAcquireProcessActivityReference_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAcquireProcessActivityReference_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAcquireProcessActivityReference_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAcquireProcessActivityReference_SystemCall_10_0_18363
jmp NtAcquireProcessActivityReference_SystemCall_Unknown
NtAcquireProcessActivityReference_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0067h
jmp NtAcquireProcessActivityReference_Epilogue
NtAcquireProcessActivityReference_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0067h
jmp NtAcquireProcessActivityReference_Epilogue
NtAcquireProcessActivityReference_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0067h
jmp NtAcquireProcessActivityReference_Epilogue
NtAcquireProcessActivityReference_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0067h
jmp NtAcquireProcessActivityReference_Epilogue
NtAcquireProcessActivityReference_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0067h
jmp NtAcquireProcessActivityReference_Epilogue
NtAcquireProcessActivityReference_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0067h
jmp NtAcquireProcessActivityReference_Epilogue
NtAcquireProcessActivityReference_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAcquireProcessActivityReference_Epilogue:
mov r10, rcx
syscall
ret
NtAcquireProcessActivityReference ENDP
NtAddAtom PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAddAtom_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAddAtom_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAddAtom_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAddAtom_Check_10_0_XXXX
jmp NtAddAtom_SystemCall_Unknown
NtAddAtom_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAddAtom_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAddAtom_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAddAtom_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAddAtom_SystemCall_6_3_XXXX
jmp NtAddAtom_SystemCall_Unknown
NtAddAtom_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAddAtom_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAddAtom_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAddAtom_SystemCall_6_0_6002
jmp NtAddAtom_SystemCall_Unknown
NtAddAtom_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAddAtom_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAddAtom_SystemCall_6_1_7601
jmp NtAddAtom_SystemCall_Unknown
NtAddAtom_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAddAtom_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAddAtom_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAddAtom_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAddAtom_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAddAtom_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAddAtom_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAddAtom_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAddAtom_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAddAtom_SystemCall_10_0_18363
jmp NtAddAtom_SystemCall_Unknown
NtAddAtom_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0044h
jmp NtAddAtom_Epilogue
NtAddAtom_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0044h
jmp NtAddAtom_Epilogue
NtAddAtom_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0044h
jmp NtAddAtom_Epilogue
NtAddAtom_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0044h
jmp NtAddAtom_Epilogue
NtAddAtom_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0044h
jmp NtAddAtom_Epilogue
NtAddAtom_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0044h
jmp NtAddAtom_Epilogue
NtAddAtom_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0045h
jmp NtAddAtom_Epilogue
NtAddAtom_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0046h
jmp NtAddAtom_Epilogue
NtAddAtom_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0047h
jmp NtAddAtom_Epilogue
NtAddAtom_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0047h
jmp NtAddAtom_Epilogue
NtAddAtom_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0047h
jmp NtAddAtom_Epilogue
NtAddAtom_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0047h
jmp NtAddAtom_Epilogue
NtAddAtom_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0047h
jmp NtAddAtom_Epilogue
NtAddAtom_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0047h
jmp NtAddAtom_Epilogue
NtAddAtom_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0047h
jmp NtAddAtom_Epilogue
NtAddAtom_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0047h
jmp NtAddAtom_Epilogue
NtAddAtom_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0047h
jmp NtAddAtom_Epilogue
NtAddAtom_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAddAtom_Epilogue:
mov r10, rcx
syscall
ret
NtAddAtom ENDP
NtAddAtomEx PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAddAtomEx_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAddAtomEx_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAddAtomEx_Check_10_0_XXXX
jmp NtAddAtomEx_SystemCall_Unknown
NtAddAtomEx_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtAddAtomEx_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAddAtomEx_SystemCall_6_3_XXXX
jmp NtAddAtomEx_SystemCall_Unknown
NtAddAtomEx_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAddAtomEx_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAddAtomEx_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAddAtomEx_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAddAtomEx_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAddAtomEx_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAddAtomEx_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAddAtomEx_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAddAtomEx_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAddAtomEx_SystemCall_10_0_18363
jmp NtAddAtomEx_SystemCall_Unknown
NtAddAtomEx_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0067h
jmp NtAddAtomEx_Epilogue
NtAddAtomEx_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0067h
jmp NtAddAtomEx_Epilogue
NtAddAtomEx_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0067h
jmp NtAddAtomEx_Epilogue
NtAddAtomEx_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0067h
jmp NtAddAtomEx_Epilogue
NtAddAtomEx_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0067h
jmp NtAddAtomEx_Epilogue
NtAddAtomEx_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0068h
jmp NtAddAtomEx_Epilogue
NtAddAtomEx_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0068h
jmp NtAddAtomEx_Epilogue
NtAddAtomEx_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0068h
jmp NtAddAtomEx_Epilogue
NtAddAtomEx_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0068h
jmp NtAddAtomEx_Epilogue
NtAddAtomEx_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0068h
jmp NtAddAtomEx_Epilogue
NtAddAtomEx_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0068h
jmp NtAddAtomEx_Epilogue
NtAddAtomEx_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAddAtomEx_Epilogue:
mov r10, rcx
syscall
ret
NtAddAtomEx ENDP
NtAddBootEntry PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAddBootEntry_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAddBootEntry_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAddBootEntry_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAddBootEntry_Check_10_0_XXXX
jmp NtAddBootEntry_SystemCall_Unknown
NtAddBootEntry_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAddBootEntry_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAddBootEntry_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAddBootEntry_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAddBootEntry_SystemCall_6_3_XXXX
jmp NtAddBootEntry_SystemCall_Unknown
NtAddBootEntry_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAddBootEntry_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAddBootEntry_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAddBootEntry_SystemCall_6_0_6002
jmp NtAddBootEntry_SystemCall_Unknown
NtAddBootEntry_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAddBootEntry_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAddBootEntry_SystemCall_6_1_7601
jmp NtAddBootEntry_SystemCall_Unknown
NtAddBootEntry_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAddBootEntry_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAddBootEntry_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAddBootEntry_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAddBootEntry_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAddBootEntry_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAddBootEntry_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAddBootEntry_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAddBootEntry_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAddBootEntry_SystemCall_10_0_18363
jmp NtAddBootEntry_SystemCall_Unknown
NtAddBootEntry_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0066h
jmp NtAddBootEntry_Epilogue
NtAddBootEntry_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0067h
jmp NtAddBootEntry_Epilogue
NtAddBootEntry_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0067h
jmp NtAddBootEntry_Epilogue
NtAddBootEntry_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0067h
jmp NtAddBootEntry_Epilogue
NtAddBootEntry_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0066h
jmp NtAddBootEntry_Epilogue
NtAddBootEntry_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0066h
jmp NtAddBootEntry_Epilogue
NtAddBootEntry_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0068h
jmp NtAddBootEntry_Epilogue
NtAddBootEntry_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0068h
jmp NtAddBootEntry_Epilogue
NtAddBootEntry_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0068h
jmp NtAddBootEntry_Epilogue
NtAddBootEntry_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0068h
jmp NtAddBootEntry_Epilogue
NtAddBootEntry_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0068h
jmp NtAddBootEntry_Epilogue
NtAddBootEntry_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0069h
jmp NtAddBootEntry_Epilogue
NtAddBootEntry_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0069h
jmp NtAddBootEntry_Epilogue
NtAddBootEntry_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0069h
jmp NtAddBootEntry_Epilogue
NtAddBootEntry_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0069h
jmp NtAddBootEntry_Epilogue
NtAddBootEntry_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0069h
jmp NtAddBootEntry_Epilogue
NtAddBootEntry_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0069h
jmp NtAddBootEntry_Epilogue
NtAddBootEntry_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAddBootEntry_Epilogue:
mov r10, rcx
syscall
ret
NtAddBootEntry ENDP
NtAddDriverEntry PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAddDriverEntry_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAddDriverEntry_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAddDriverEntry_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAddDriverEntry_Check_10_0_XXXX
jmp NtAddDriverEntry_SystemCall_Unknown
NtAddDriverEntry_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAddDriverEntry_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAddDriverEntry_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAddDriverEntry_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAddDriverEntry_SystemCall_6_3_XXXX
jmp NtAddDriverEntry_SystemCall_Unknown
NtAddDriverEntry_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAddDriverEntry_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAddDriverEntry_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAddDriverEntry_SystemCall_6_0_6002
jmp NtAddDriverEntry_SystemCall_Unknown
NtAddDriverEntry_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAddDriverEntry_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAddDriverEntry_SystemCall_6_1_7601
jmp NtAddDriverEntry_SystemCall_Unknown
NtAddDriverEntry_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAddDriverEntry_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAddDriverEntry_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAddDriverEntry_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAddDriverEntry_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAddDriverEntry_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAddDriverEntry_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAddDriverEntry_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAddDriverEntry_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAddDriverEntry_SystemCall_10_0_18363
jmp NtAddDriverEntry_SystemCall_Unknown
NtAddDriverEntry_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0067h
jmp NtAddDriverEntry_Epilogue
NtAddDriverEntry_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0068h
jmp NtAddDriverEntry_Epilogue
NtAddDriverEntry_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0068h
jmp NtAddDriverEntry_Epilogue
NtAddDriverEntry_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0068h
jmp NtAddDriverEntry_Epilogue
NtAddDriverEntry_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0067h
jmp NtAddDriverEntry_Epilogue
NtAddDriverEntry_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0067h
jmp NtAddDriverEntry_Epilogue
NtAddDriverEntry_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0069h
jmp NtAddDriverEntry_Epilogue
NtAddDriverEntry_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0069h
jmp NtAddDriverEntry_Epilogue
NtAddDriverEntry_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0069h
jmp NtAddDriverEntry_Epilogue
NtAddDriverEntry_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0069h
jmp NtAddDriverEntry_Epilogue
NtAddDriverEntry_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0069h
jmp NtAddDriverEntry_Epilogue
NtAddDriverEntry_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 006ah
jmp NtAddDriverEntry_Epilogue
NtAddDriverEntry_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 006ah
jmp NtAddDriverEntry_Epilogue
NtAddDriverEntry_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 006ah
jmp NtAddDriverEntry_Epilogue
NtAddDriverEntry_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 006ah
jmp NtAddDriverEntry_Epilogue
NtAddDriverEntry_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 006ah
jmp NtAddDriverEntry_Epilogue
NtAddDriverEntry_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 006ah
jmp NtAddDriverEntry_Epilogue
NtAddDriverEntry_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAddDriverEntry_Epilogue:
mov r10, rcx
syscall
ret
NtAddDriverEntry ENDP
NtAdjustGroupsToken PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAdjustGroupsToken_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAdjustGroupsToken_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAdjustGroupsToken_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAdjustGroupsToken_Check_10_0_XXXX
jmp NtAdjustGroupsToken_SystemCall_Unknown
NtAdjustGroupsToken_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAdjustGroupsToken_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAdjustGroupsToken_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAdjustGroupsToken_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAdjustGroupsToken_SystemCall_6_3_XXXX
jmp NtAdjustGroupsToken_SystemCall_Unknown
NtAdjustGroupsToken_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAdjustGroupsToken_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAdjustGroupsToken_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAdjustGroupsToken_SystemCall_6_0_6002
jmp NtAdjustGroupsToken_SystemCall_Unknown
NtAdjustGroupsToken_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAdjustGroupsToken_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAdjustGroupsToken_SystemCall_6_1_7601
jmp NtAdjustGroupsToken_SystemCall_Unknown
NtAdjustGroupsToken_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAdjustGroupsToken_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAdjustGroupsToken_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAdjustGroupsToken_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAdjustGroupsToken_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAdjustGroupsToken_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAdjustGroupsToken_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAdjustGroupsToken_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAdjustGroupsToken_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAdjustGroupsToken_SystemCall_10_0_18363
jmp NtAdjustGroupsToken_SystemCall_Unknown
NtAdjustGroupsToken_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0068h
jmp NtAdjustGroupsToken_Epilogue
NtAdjustGroupsToken_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0069h
jmp NtAdjustGroupsToken_Epilogue
NtAdjustGroupsToken_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0069h
jmp NtAdjustGroupsToken_Epilogue
NtAdjustGroupsToken_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0069h
jmp NtAdjustGroupsToken_Epilogue
NtAdjustGroupsToken_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0068h
jmp NtAdjustGroupsToken_Epilogue
NtAdjustGroupsToken_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0068h
jmp NtAdjustGroupsToken_Epilogue
NtAdjustGroupsToken_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 006ah
jmp NtAdjustGroupsToken_Epilogue
NtAdjustGroupsToken_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 006ah
jmp NtAdjustGroupsToken_Epilogue
NtAdjustGroupsToken_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 006ah
jmp NtAdjustGroupsToken_Epilogue
NtAdjustGroupsToken_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 006ah
jmp NtAdjustGroupsToken_Epilogue
NtAdjustGroupsToken_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 006ah
jmp NtAdjustGroupsToken_Epilogue
NtAdjustGroupsToken_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 006bh
jmp NtAdjustGroupsToken_Epilogue
NtAdjustGroupsToken_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 006bh
jmp NtAdjustGroupsToken_Epilogue
NtAdjustGroupsToken_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 006bh
jmp NtAdjustGroupsToken_Epilogue
NtAdjustGroupsToken_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 006bh
jmp NtAdjustGroupsToken_Epilogue
NtAdjustGroupsToken_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 006bh
jmp NtAdjustGroupsToken_Epilogue
NtAdjustGroupsToken_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 006bh
jmp NtAdjustGroupsToken_Epilogue
NtAdjustGroupsToken_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAdjustGroupsToken_Epilogue:
mov r10, rcx
syscall
ret
NtAdjustGroupsToken ENDP
NtAdjustPrivilegesToken PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAdjustPrivilegesToken_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAdjustPrivilegesToken_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAdjustPrivilegesToken_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAdjustPrivilegesToken_Check_10_0_XXXX
jmp NtAdjustPrivilegesToken_SystemCall_Unknown
NtAdjustPrivilegesToken_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAdjustPrivilegesToken_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAdjustPrivilegesToken_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAdjustPrivilegesToken_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAdjustPrivilegesToken_SystemCall_6_3_XXXX
jmp NtAdjustPrivilegesToken_SystemCall_Unknown
NtAdjustPrivilegesToken_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAdjustPrivilegesToken_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAdjustPrivilegesToken_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAdjustPrivilegesToken_SystemCall_6_0_6002
jmp NtAdjustPrivilegesToken_SystemCall_Unknown
NtAdjustPrivilegesToken_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAdjustPrivilegesToken_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAdjustPrivilegesToken_SystemCall_6_1_7601
jmp NtAdjustPrivilegesToken_SystemCall_Unknown
NtAdjustPrivilegesToken_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAdjustPrivilegesToken_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAdjustPrivilegesToken_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAdjustPrivilegesToken_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAdjustPrivilegesToken_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAdjustPrivilegesToken_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAdjustPrivilegesToken_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAdjustPrivilegesToken_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAdjustPrivilegesToken_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAdjustPrivilegesToken_SystemCall_10_0_18363
jmp NtAdjustPrivilegesToken_SystemCall_Unknown
NtAdjustPrivilegesToken_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 003eh
jmp NtAdjustPrivilegesToken_Epilogue
NtAdjustPrivilegesToken_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 003eh
jmp NtAdjustPrivilegesToken_Epilogue
NtAdjustPrivilegesToken_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 003eh
jmp NtAdjustPrivilegesToken_Epilogue
NtAdjustPrivilegesToken_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 003eh
jmp NtAdjustPrivilegesToken_Epilogue
NtAdjustPrivilegesToken_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 003eh
jmp NtAdjustPrivilegesToken_Epilogue
NtAdjustPrivilegesToken_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 003eh
jmp NtAdjustPrivilegesToken_Epilogue
NtAdjustPrivilegesToken_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 003fh
jmp NtAdjustPrivilegesToken_Epilogue
NtAdjustPrivilegesToken_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0040h
jmp NtAdjustPrivilegesToken_Epilogue
NtAdjustPrivilegesToken_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0041h
jmp NtAdjustPrivilegesToken_Epilogue
NtAdjustPrivilegesToken_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0041h
jmp NtAdjustPrivilegesToken_Epilogue
NtAdjustPrivilegesToken_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0041h
jmp NtAdjustPrivilegesToken_Epilogue
NtAdjustPrivilegesToken_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0041h
jmp NtAdjustPrivilegesToken_Epilogue
NtAdjustPrivilegesToken_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0041h
jmp NtAdjustPrivilegesToken_Epilogue
NtAdjustPrivilegesToken_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0041h
jmp NtAdjustPrivilegesToken_Epilogue
NtAdjustPrivilegesToken_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0041h
jmp NtAdjustPrivilegesToken_Epilogue
NtAdjustPrivilegesToken_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0041h
jmp NtAdjustPrivilegesToken_Epilogue
NtAdjustPrivilegesToken_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0041h
jmp NtAdjustPrivilegesToken_Epilogue
NtAdjustPrivilegesToken_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAdjustPrivilegesToken_Epilogue:
mov r10, rcx
syscall
ret
NtAdjustPrivilegesToken ENDP
NtAdjustTokenClaimsAndDeviceGroups PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAdjustTokenClaimsAndDeviceGroups_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAdjustTokenClaimsAndDeviceGroups_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAdjustTokenClaimsAndDeviceGroups_Check_10_0_XXXX
jmp NtAdjustTokenClaimsAndDeviceGroups_SystemCall_Unknown
NtAdjustTokenClaimsAndDeviceGroups_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtAdjustTokenClaimsAndDeviceGroups_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAdjustTokenClaimsAndDeviceGroups_SystemCall_6_3_XXXX
jmp NtAdjustTokenClaimsAndDeviceGroups_SystemCall_Unknown
NtAdjustTokenClaimsAndDeviceGroups_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_18363
jmp NtAdjustTokenClaimsAndDeviceGroups_SystemCall_Unknown
NtAdjustTokenClaimsAndDeviceGroups_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 006bh
jmp NtAdjustTokenClaimsAndDeviceGroups_Epilogue
NtAdjustTokenClaimsAndDeviceGroups_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 006bh
jmp NtAdjustTokenClaimsAndDeviceGroups_Epilogue
NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 006bh
jmp NtAdjustTokenClaimsAndDeviceGroups_Epilogue
NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 006bh
jmp NtAdjustTokenClaimsAndDeviceGroups_Epilogue
NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 006bh
jmp NtAdjustTokenClaimsAndDeviceGroups_Epilogue
NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 006ch
jmp NtAdjustTokenClaimsAndDeviceGroups_Epilogue
NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 006ch
jmp NtAdjustTokenClaimsAndDeviceGroups_Epilogue
NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 006ch
jmp NtAdjustTokenClaimsAndDeviceGroups_Epilogue
NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 006ch
jmp NtAdjustTokenClaimsAndDeviceGroups_Epilogue
NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 006ch
jmp NtAdjustTokenClaimsAndDeviceGroups_Epilogue
NtAdjustTokenClaimsAndDeviceGroups_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 006ch
jmp NtAdjustTokenClaimsAndDeviceGroups_Epilogue
NtAdjustTokenClaimsAndDeviceGroups_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAdjustTokenClaimsAndDeviceGroups_Epilogue:
mov r10, rcx
syscall
ret
NtAdjustTokenClaimsAndDeviceGroups ENDP
NtAlertResumeThread PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlertResumeThread_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAlertResumeThread_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAlertResumeThread_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlertResumeThread_Check_10_0_XXXX
jmp NtAlertResumeThread_SystemCall_Unknown
NtAlertResumeThread_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlertResumeThread_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlertResumeThread_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlertResumeThread_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlertResumeThread_SystemCall_6_3_XXXX
jmp NtAlertResumeThread_SystemCall_Unknown
NtAlertResumeThread_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlertResumeThread_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlertResumeThread_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlertResumeThread_SystemCall_6_0_6002
jmp NtAlertResumeThread_SystemCall_Unknown
NtAlertResumeThread_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlertResumeThread_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlertResumeThread_SystemCall_6_1_7601
jmp NtAlertResumeThread_SystemCall_Unknown
NtAlertResumeThread_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlertResumeThread_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlertResumeThread_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlertResumeThread_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlertResumeThread_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlertResumeThread_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlertResumeThread_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlertResumeThread_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlertResumeThread_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlertResumeThread_SystemCall_10_0_18363
jmp NtAlertResumeThread_SystemCall_Unknown
NtAlertResumeThread_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0069h
jmp NtAlertResumeThread_Epilogue
NtAlertResumeThread_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 006ah
jmp NtAlertResumeThread_Epilogue
NtAlertResumeThread_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 006ah
jmp NtAlertResumeThread_Epilogue
NtAlertResumeThread_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 006ah
jmp NtAlertResumeThread_Epilogue
NtAlertResumeThread_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0069h
jmp NtAlertResumeThread_Epilogue
NtAlertResumeThread_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0069h
jmp NtAlertResumeThread_Epilogue
NtAlertResumeThread_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 006ch
jmp NtAlertResumeThread_Epilogue
NtAlertResumeThread_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 006ch
jmp NtAlertResumeThread_Epilogue
NtAlertResumeThread_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 006ch
jmp NtAlertResumeThread_Epilogue
NtAlertResumeThread_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 006ch
jmp NtAlertResumeThread_Epilogue
NtAlertResumeThread_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 006ch
jmp NtAlertResumeThread_Epilogue
NtAlertResumeThread_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 006dh
jmp NtAlertResumeThread_Epilogue
NtAlertResumeThread_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 006dh
jmp NtAlertResumeThread_Epilogue
NtAlertResumeThread_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 006dh
jmp NtAlertResumeThread_Epilogue
NtAlertResumeThread_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 006dh
jmp NtAlertResumeThread_Epilogue
NtAlertResumeThread_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 006dh
jmp NtAlertResumeThread_Epilogue
NtAlertResumeThread_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 006dh
jmp NtAlertResumeThread_Epilogue
NtAlertResumeThread_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlertResumeThread_Epilogue:
mov r10, rcx
syscall
ret
NtAlertResumeThread ENDP
NtAlertThread PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlertThread_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAlertThread_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAlertThread_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlertThread_Check_10_0_XXXX
jmp NtAlertThread_SystemCall_Unknown
NtAlertThread_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlertThread_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlertThread_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlertThread_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlertThread_SystemCall_6_3_XXXX
jmp NtAlertThread_SystemCall_Unknown
NtAlertThread_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlertThread_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlertThread_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlertThread_SystemCall_6_0_6002
jmp NtAlertThread_SystemCall_Unknown
NtAlertThread_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlertThread_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlertThread_SystemCall_6_1_7601
jmp NtAlertThread_SystemCall_Unknown
NtAlertThread_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlertThread_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlertThread_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlertThread_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlertThread_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlertThread_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlertThread_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlertThread_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlertThread_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlertThread_SystemCall_10_0_18363
jmp NtAlertThread_SystemCall_Unknown
NtAlertThread_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 006ah
jmp NtAlertThread_Epilogue
NtAlertThread_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 006bh
jmp NtAlertThread_Epilogue
NtAlertThread_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 006bh
jmp NtAlertThread_Epilogue
NtAlertThread_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 006bh
jmp NtAlertThread_Epilogue
NtAlertThread_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 006ah
jmp NtAlertThread_Epilogue
NtAlertThread_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 006ah
jmp NtAlertThread_Epilogue
NtAlertThread_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 006dh
jmp NtAlertThread_Epilogue
NtAlertThread_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 006dh
jmp NtAlertThread_Epilogue
NtAlertThread_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 006dh
jmp NtAlertThread_Epilogue
NtAlertThread_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 006dh
jmp NtAlertThread_Epilogue
NtAlertThread_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 006dh
jmp NtAlertThread_Epilogue
NtAlertThread_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 006eh
jmp NtAlertThread_Epilogue
NtAlertThread_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 006eh
jmp NtAlertThread_Epilogue
NtAlertThread_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 006eh
jmp NtAlertThread_Epilogue
NtAlertThread_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 006eh
jmp NtAlertThread_Epilogue
NtAlertThread_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 006eh
jmp NtAlertThread_Epilogue
NtAlertThread_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 006eh
jmp NtAlertThread_Epilogue
NtAlertThread_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlertThread_Epilogue:
mov r10, rcx
syscall
ret
NtAlertThread ENDP
NtAlertThreadByThreadId PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlertThreadByThreadId_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlertThreadByThreadId_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlertThreadByThreadId_Check_10_0_XXXX
jmp NtAlertThreadByThreadId_SystemCall_Unknown
NtAlertThreadByThreadId_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtAlertThreadByThreadId_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlertThreadByThreadId_SystemCall_6_3_XXXX
jmp NtAlertThreadByThreadId_SystemCall_Unknown
NtAlertThreadByThreadId_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlertThreadByThreadId_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlertThreadByThreadId_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlertThreadByThreadId_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlertThreadByThreadId_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlertThreadByThreadId_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlertThreadByThreadId_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlertThreadByThreadId_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlertThreadByThreadId_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlertThreadByThreadId_SystemCall_10_0_18363
jmp NtAlertThreadByThreadId_SystemCall_Unknown
NtAlertThreadByThreadId_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 006eh
jmp NtAlertThreadByThreadId_Epilogue
NtAlertThreadByThreadId_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 006eh
jmp NtAlertThreadByThreadId_Epilogue
NtAlertThreadByThreadId_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 006eh
jmp NtAlertThreadByThreadId_Epilogue
NtAlertThreadByThreadId_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 006eh
jmp NtAlertThreadByThreadId_Epilogue
NtAlertThreadByThreadId_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 006eh
jmp NtAlertThreadByThreadId_Epilogue
NtAlertThreadByThreadId_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 006fh
jmp NtAlertThreadByThreadId_Epilogue
NtAlertThreadByThreadId_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 006fh
jmp NtAlertThreadByThreadId_Epilogue
NtAlertThreadByThreadId_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 006fh
jmp NtAlertThreadByThreadId_Epilogue
NtAlertThreadByThreadId_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 006fh
jmp NtAlertThreadByThreadId_Epilogue
NtAlertThreadByThreadId_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 006fh
jmp NtAlertThreadByThreadId_Epilogue
NtAlertThreadByThreadId_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 006fh
jmp NtAlertThreadByThreadId_Epilogue
NtAlertThreadByThreadId_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlertThreadByThreadId_Epilogue:
mov r10, rcx
syscall
ret
NtAlertThreadByThreadId ENDP
NtAllocateLocallyUniqueId PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAllocateLocallyUniqueId_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAllocateLocallyUniqueId_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAllocateLocallyUniqueId_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAllocateLocallyUniqueId_Check_10_0_XXXX
jmp NtAllocateLocallyUniqueId_SystemCall_Unknown
NtAllocateLocallyUniqueId_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAllocateLocallyUniqueId_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAllocateLocallyUniqueId_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAllocateLocallyUniqueId_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAllocateLocallyUniqueId_SystemCall_6_3_XXXX
jmp NtAllocateLocallyUniqueId_SystemCall_Unknown
NtAllocateLocallyUniqueId_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAllocateLocallyUniqueId_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAllocateLocallyUniqueId_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAllocateLocallyUniqueId_SystemCall_6_0_6002
jmp NtAllocateLocallyUniqueId_SystemCall_Unknown
NtAllocateLocallyUniqueId_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAllocateLocallyUniqueId_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAllocateLocallyUniqueId_SystemCall_6_1_7601
jmp NtAllocateLocallyUniqueId_SystemCall_Unknown
NtAllocateLocallyUniqueId_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAllocateLocallyUniqueId_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAllocateLocallyUniqueId_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAllocateLocallyUniqueId_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAllocateLocallyUniqueId_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAllocateLocallyUniqueId_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAllocateLocallyUniqueId_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAllocateLocallyUniqueId_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAllocateLocallyUniqueId_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAllocateLocallyUniqueId_SystemCall_10_0_18363
jmp NtAllocateLocallyUniqueId_SystemCall_Unknown
NtAllocateLocallyUniqueId_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 006bh
jmp NtAllocateLocallyUniqueId_Epilogue
NtAllocateLocallyUniqueId_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 006ch
jmp NtAllocateLocallyUniqueId_Epilogue
NtAllocateLocallyUniqueId_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 006ch
jmp NtAllocateLocallyUniqueId_Epilogue
NtAllocateLocallyUniqueId_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 006ch
jmp NtAllocateLocallyUniqueId_Epilogue
NtAllocateLocallyUniqueId_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 006bh
jmp NtAllocateLocallyUniqueId_Epilogue
NtAllocateLocallyUniqueId_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 006bh
jmp NtAllocateLocallyUniqueId_Epilogue
NtAllocateLocallyUniqueId_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 006fh
jmp NtAllocateLocallyUniqueId_Epilogue
NtAllocateLocallyUniqueId_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 006fh
jmp NtAllocateLocallyUniqueId_Epilogue
NtAllocateLocallyUniqueId_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 006fh
jmp NtAllocateLocallyUniqueId_Epilogue
NtAllocateLocallyUniqueId_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 006fh
jmp NtAllocateLocallyUniqueId_Epilogue
NtAllocateLocallyUniqueId_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 006fh
jmp NtAllocateLocallyUniqueId_Epilogue
NtAllocateLocallyUniqueId_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0070h
jmp NtAllocateLocallyUniqueId_Epilogue
NtAllocateLocallyUniqueId_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0070h
jmp NtAllocateLocallyUniqueId_Epilogue
NtAllocateLocallyUniqueId_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0070h
jmp NtAllocateLocallyUniqueId_Epilogue
NtAllocateLocallyUniqueId_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0070h
jmp NtAllocateLocallyUniqueId_Epilogue
NtAllocateLocallyUniqueId_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0070h
jmp NtAllocateLocallyUniqueId_Epilogue
NtAllocateLocallyUniqueId_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0070h
jmp NtAllocateLocallyUniqueId_Epilogue
NtAllocateLocallyUniqueId_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAllocateLocallyUniqueId_Epilogue:
mov r10, rcx
syscall
ret
NtAllocateLocallyUniqueId ENDP
NtAllocateReserveObject PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAllocateReserveObject_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAllocateReserveObject_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAllocateReserveObject_Check_10_0_XXXX
jmp NtAllocateReserveObject_SystemCall_Unknown
NtAllocateReserveObject_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 1
je NtAllocateReserveObject_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAllocateReserveObject_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAllocateReserveObject_SystemCall_6_3_XXXX
jmp NtAllocateReserveObject_SystemCall_Unknown
NtAllocateReserveObject_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAllocateReserveObject_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAllocateReserveObject_SystemCall_6_1_7601
jmp NtAllocateReserveObject_SystemCall_Unknown
NtAllocateReserveObject_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAllocateReserveObject_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAllocateReserveObject_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAllocateReserveObject_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAllocateReserveObject_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAllocateReserveObject_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAllocateReserveObject_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAllocateReserveObject_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAllocateReserveObject_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAllocateReserveObject_SystemCall_10_0_18363
jmp NtAllocateReserveObject_SystemCall_Unknown
NtAllocateReserveObject_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 006ch
jmp NtAllocateReserveObject_Epilogue
NtAllocateReserveObject_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 006ch
jmp NtAllocateReserveObject_Epilogue
NtAllocateReserveObject_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0070h
jmp NtAllocateReserveObject_Epilogue
NtAllocateReserveObject_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0070h
jmp NtAllocateReserveObject_Epilogue
NtAllocateReserveObject_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0070h
jmp NtAllocateReserveObject_Epilogue
NtAllocateReserveObject_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0070h
jmp NtAllocateReserveObject_Epilogue
NtAllocateReserveObject_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0070h
jmp NtAllocateReserveObject_Epilogue
NtAllocateReserveObject_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0071h
jmp NtAllocateReserveObject_Epilogue
NtAllocateReserveObject_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0071h
jmp NtAllocateReserveObject_Epilogue
NtAllocateReserveObject_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0071h
jmp NtAllocateReserveObject_Epilogue
NtAllocateReserveObject_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0071h
jmp NtAllocateReserveObject_Epilogue
NtAllocateReserveObject_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0071h
jmp NtAllocateReserveObject_Epilogue
NtAllocateReserveObject_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0071h
jmp NtAllocateReserveObject_Epilogue
NtAllocateReserveObject_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAllocateReserveObject_Epilogue:
mov r10, rcx
syscall
ret
NtAllocateReserveObject ENDP
NtAllocateUserPhysicalPages PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAllocateUserPhysicalPages_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAllocateUserPhysicalPages_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAllocateUserPhysicalPages_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAllocateUserPhysicalPages_Check_10_0_XXXX
jmp NtAllocateUserPhysicalPages_SystemCall_Unknown
NtAllocateUserPhysicalPages_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAllocateUserPhysicalPages_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAllocateUserPhysicalPages_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAllocateUserPhysicalPages_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAllocateUserPhysicalPages_SystemCall_6_3_XXXX
jmp NtAllocateUserPhysicalPages_SystemCall_Unknown
NtAllocateUserPhysicalPages_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAllocateUserPhysicalPages_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAllocateUserPhysicalPages_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAllocateUserPhysicalPages_SystemCall_6_0_6002
jmp NtAllocateUserPhysicalPages_SystemCall_Unknown
NtAllocateUserPhysicalPages_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAllocateUserPhysicalPages_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAllocateUserPhysicalPages_SystemCall_6_1_7601
jmp NtAllocateUserPhysicalPages_SystemCall_Unknown
NtAllocateUserPhysicalPages_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAllocateUserPhysicalPages_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAllocateUserPhysicalPages_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAllocateUserPhysicalPages_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAllocateUserPhysicalPages_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAllocateUserPhysicalPages_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAllocateUserPhysicalPages_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAllocateUserPhysicalPages_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAllocateUserPhysicalPages_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAllocateUserPhysicalPages_SystemCall_10_0_18363
jmp NtAllocateUserPhysicalPages_SystemCall_Unknown
NtAllocateUserPhysicalPages_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 006ch
jmp NtAllocateUserPhysicalPages_Epilogue
NtAllocateUserPhysicalPages_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 006dh
jmp NtAllocateUserPhysicalPages_Epilogue
NtAllocateUserPhysicalPages_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 006dh
jmp NtAllocateUserPhysicalPages_Epilogue
NtAllocateUserPhysicalPages_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 006dh
jmp NtAllocateUserPhysicalPages_Epilogue
NtAllocateUserPhysicalPages_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 006dh
jmp NtAllocateUserPhysicalPages_Epilogue
NtAllocateUserPhysicalPages_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 006dh
jmp NtAllocateUserPhysicalPages_Epilogue
NtAllocateUserPhysicalPages_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0071h
jmp NtAllocateUserPhysicalPages_Epilogue
NtAllocateUserPhysicalPages_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0071h
jmp NtAllocateUserPhysicalPages_Epilogue
NtAllocateUserPhysicalPages_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0071h
jmp NtAllocateUserPhysicalPages_Epilogue
NtAllocateUserPhysicalPages_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0071h
jmp NtAllocateUserPhysicalPages_Epilogue
NtAllocateUserPhysicalPages_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0071h
jmp NtAllocateUserPhysicalPages_Epilogue
NtAllocateUserPhysicalPages_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0072h
jmp NtAllocateUserPhysicalPages_Epilogue
NtAllocateUserPhysicalPages_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0072h
jmp NtAllocateUserPhysicalPages_Epilogue
NtAllocateUserPhysicalPages_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0072h
jmp NtAllocateUserPhysicalPages_Epilogue
NtAllocateUserPhysicalPages_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0072h
jmp NtAllocateUserPhysicalPages_Epilogue
NtAllocateUserPhysicalPages_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0072h
jmp NtAllocateUserPhysicalPages_Epilogue
NtAllocateUserPhysicalPages_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0072h
jmp NtAllocateUserPhysicalPages_Epilogue
NtAllocateUserPhysicalPages_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAllocateUserPhysicalPages_Epilogue:
mov r10, rcx
syscall
ret
NtAllocateUserPhysicalPages ENDP
NtAllocateUuids PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAllocateUuids_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAllocateUuids_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAllocateUuids_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAllocateUuids_Check_10_0_XXXX
jmp NtAllocateUuids_SystemCall_Unknown
NtAllocateUuids_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAllocateUuids_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAllocateUuids_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAllocateUuids_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAllocateUuids_SystemCall_6_3_XXXX
jmp NtAllocateUuids_SystemCall_Unknown
NtAllocateUuids_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAllocateUuids_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAllocateUuids_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAllocateUuids_SystemCall_6_0_6002
jmp NtAllocateUuids_SystemCall_Unknown
NtAllocateUuids_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAllocateUuids_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAllocateUuids_SystemCall_6_1_7601
jmp NtAllocateUuids_SystemCall_Unknown
NtAllocateUuids_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAllocateUuids_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAllocateUuids_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAllocateUuids_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAllocateUuids_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAllocateUuids_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAllocateUuids_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAllocateUuids_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAllocateUuids_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAllocateUuids_SystemCall_10_0_18363
jmp NtAllocateUuids_SystemCall_Unknown
NtAllocateUuids_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 006dh
jmp NtAllocateUuids_Epilogue
NtAllocateUuids_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 006eh
jmp NtAllocateUuids_Epilogue
NtAllocateUuids_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 006eh
jmp NtAllocateUuids_Epilogue
NtAllocateUuids_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 006eh
jmp NtAllocateUuids_Epilogue
NtAllocateUuids_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 006eh
jmp NtAllocateUuids_Epilogue
NtAllocateUuids_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 006eh
jmp NtAllocateUuids_Epilogue
NtAllocateUuids_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0072h
jmp NtAllocateUuids_Epilogue
NtAllocateUuids_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0072h
jmp NtAllocateUuids_Epilogue
NtAllocateUuids_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0072h
jmp NtAllocateUuids_Epilogue
NtAllocateUuids_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0072h
jmp NtAllocateUuids_Epilogue
NtAllocateUuids_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0072h
jmp NtAllocateUuids_Epilogue
NtAllocateUuids_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0073h
jmp NtAllocateUuids_Epilogue
NtAllocateUuids_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0073h
jmp NtAllocateUuids_Epilogue
NtAllocateUuids_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0073h
jmp NtAllocateUuids_Epilogue
NtAllocateUuids_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0073h
jmp NtAllocateUuids_Epilogue
NtAllocateUuids_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0073h
jmp NtAllocateUuids_Epilogue
NtAllocateUuids_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0073h
jmp NtAllocateUuids_Epilogue
NtAllocateUuids_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAllocateUuids_Epilogue:
mov r10, rcx
syscall
ret
NtAllocateUuids ENDP
NtAllocateVirtualMemory PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAllocateVirtualMemory_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAllocateVirtualMemory_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAllocateVirtualMemory_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAllocateVirtualMemory_Check_10_0_XXXX
jmp NtAllocateVirtualMemory_SystemCall_Unknown
NtAllocateVirtualMemory_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAllocateVirtualMemory_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAllocateVirtualMemory_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAllocateVirtualMemory_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAllocateVirtualMemory_SystemCall_6_3_XXXX
jmp NtAllocateVirtualMemory_SystemCall_Unknown
NtAllocateVirtualMemory_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAllocateVirtualMemory_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAllocateVirtualMemory_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAllocateVirtualMemory_SystemCall_6_0_6002
jmp NtAllocateVirtualMemory_SystemCall_Unknown
NtAllocateVirtualMemory_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAllocateVirtualMemory_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAllocateVirtualMemory_SystemCall_6_1_7601
jmp NtAllocateVirtualMemory_SystemCall_Unknown
NtAllocateVirtualMemory_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAllocateVirtualMemory_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAllocateVirtualMemory_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAllocateVirtualMemory_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAllocateVirtualMemory_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAllocateVirtualMemory_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAllocateVirtualMemory_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAllocateVirtualMemory_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAllocateVirtualMemory_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAllocateVirtualMemory_SystemCall_10_0_18363
jmp NtAllocateVirtualMemory_SystemCall_Unknown
NtAllocateVirtualMemory_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0015h
jmp NtAllocateVirtualMemory_Epilogue
NtAllocateVirtualMemory_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0015h
jmp NtAllocateVirtualMemory_Epilogue
NtAllocateVirtualMemory_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0015h
jmp NtAllocateVirtualMemory_Epilogue
NtAllocateVirtualMemory_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0015h
jmp NtAllocateVirtualMemory_Epilogue
NtAllocateVirtualMemory_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0015h
jmp NtAllocateVirtualMemory_Epilogue
NtAllocateVirtualMemory_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0015h
jmp NtAllocateVirtualMemory_Epilogue
NtAllocateVirtualMemory_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0016h
jmp NtAllocateVirtualMemory_Epilogue
NtAllocateVirtualMemory_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0017h
jmp NtAllocateVirtualMemory_Epilogue
NtAllocateVirtualMemory_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0018h
jmp NtAllocateVirtualMemory_Epilogue
NtAllocateVirtualMemory_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0018h
jmp NtAllocateVirtualMemory_Epilogue
NtAllocateVirtualMemory_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0018h
jmp NtAllocateVirtualMemory_Epilogue
NtAllocateVirtualMemory_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0018h
jmp NtAllocateVirtualMemory_Epilogue
NtAllocateVirtualMemory_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0018h
jmp NtAllocateVirtualMemory_Epilogue
NtAllocateVirtualMemory_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0018h
jmp NtAllocateVirtualMemory_Epilogue
NtAllocateVirtualMemory_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0018h
jmp NtAllocateVirtualMemory_Epilogue
NtAllocateVirtualMemory_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0018h
jmp NtAllocateVirtualMemory_Epilogue
NtAllocateVirtualMemory_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0018h
jmp NtAllocateVirtualMemory_Epilogue
NtAllocateVirtualMemory_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAllocateVirtualMemory_Epilogue:
mov r10, rcx
syscall
ret
NtAllocateVirtualMemory ENDP
NtAllocateVirtualMemoryEx PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAllocateVirtualMemoryEx_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtAllocateVirtualMemoryEx_Check_10_0_XXXX
jmp NtAllocateVirtualMemoryEx_SystemCall_Unknown
NtAllocateVirtualMemoryEx_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 17134
je NtAllocateVirtualMemoryEx_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAllocateVirtualMemoryEx_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAllocateVirtualMemoryEx_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAllocateVirtualMemoryEx_SystemCall_10_0_18363
jmp NtAllocateVirtualMemoryEx_SystemCall_Unknown
NtAllocateVirtualMemoryEx_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0074h
jmp NtAllocateVirtualMemoryEx_Epilogue
NtAllocateVirtualMemoryEx_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0074h
jmp NtAllocateVirtualMemoryEx_Epilogue
NtAllocateVirtualMemoryEx_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0074h
jmp NtAllocateVirtualMemoryEx_Epilogue
NtAllocateVirtualMemoryEx_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0074h
jmp NtAllocateVirtualMemoryEx_Epilogue
NtAllocateVirtualMemoryEx_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAllocateVirtualMemoryEx_Epilogue:
mov r10, rcx
syscall
ret
NtAllocateVirtualMemoryEx ENDP
NtAlpcAcceptConnectPort PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcAcceptConnectPort_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcAcceptConnectPort_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcAcceptConnectPort_Check_10_0_XXXX
jmp NtAlpcAcceptConnectPort_SystemCall_Unknown
NtAlpcAcceptConnectPort_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcAcceptConnectPort_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcAcceptConnectPort_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcAcceptConnectPort_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcAcceptConnectPort_SystemCall_6_3_XXXX
jmp NtAlpcAcceptConnectPort_SystemCall_Unknown
NtAlpcAcceptConnectPort_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcAcceptConnectPort_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcAcceptConnectPort_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcAcceptConnectPort_SystemCall_6_0_6002
jmp NtAlpcAcceptConnectPort_SystemCall_Unknown
NtAlpcAcceptConnectPort_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcAcceptConnectPort_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcAcceptConnectPort_SystemCall_6_1_7601
jmp NtAlpcAcceptConnectPort_SystemCall_Unknown
NtAlpcAcceptConnectPort_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcAcceptConnectPort_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcAcceptConnectPort_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcAcceptConnectPort_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcAcceptConnectPort_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcAcceptConnectPort_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcAcceptConnectPort_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcAcceptConnectPort_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcAcceptConnectPort_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcAcceptConnectPort_SystemCall_10_0_18363
jmp NtAlpcAcceptConnectPort_SystemCall_Unknown
NtAlpcAcceptConnectPort_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 006fh
jmp NtAlpcAcceptConnectPort_Epilogue
NtAlpcAcceptConnectPort_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 006fh
jmp NtAlpcAcceptConnectPort_Epilogue
NtAlpcAcceptConnectPort_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 006fh
jmp NtAlpcAcceptConnectPort_Epilogue
NtAlpcAcceptConnectPort_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 006fh
jmp NtAlpcAcceptConnectPort_Epilogue
NtAlpcAcceptConnectPort_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 006fh
jmp NtAlpcAcceptConnectPort_Epilogue
NtAlpcAcceptConnectPort_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0073h
jmp NtAlpcAcceptConnectPort_Epilogue
NtAlpcAcceptConnectPort_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0073h
jmp NtAlpcAcceptConnectPort_Epilogue
NtAlpcAcceptConnectPort_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0073h
jmp NtAlpcAcceptConnectPort_Epilogue
NtAlpcAcceptConnectPort_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0073h
jmp NtAlpcAcceptConnectPort_Epilogue
NtAlpcAcceptConnectPort_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0073h
jmp NtAlpcAcceptConnectPort_Epilogue
NtAlpcAcceptConnectPort_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0074h
jmp NtAlpcAcceptConnectPort_Epilogue
NtAlpcAcceptConnectPort_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0074h
jmp NtAlpcAcceptConnectPort_Epilogue
NtAlpcAcceptConnectPort_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0075h
jmp NtAlpcAcceptConnectPort_Epilogue
NtAlpcAcceptConnectPort_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0075h
jmp NtAlpcAcceptConnectPort_Epilogue
NtAlpcAcceptConnectPort_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0075h
jmp NtAlpcAcceptConnectPort_Epilogue
NtAlpcAcceptConnectPort_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0075h
jmp NtAlpcAcceptConnectPort_Epilogue
NtAlpcAcceptConnectPort_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcAcceptConnectPort_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcAcceptConnectPort ENDP
NtAlpcCancelMessage PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcCancelMessage_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcCancelMessage_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcCancelMessage_Check_10_0_XXXX
jmp NtAlpcCancelMessage_SystemCall_Unknown
NtAlpcCancelMessage_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcCancelMessage_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcCancelMessage_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcCancelMessage_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcCancelMessage_SystemCall_6_3_XXXX
jmp NtAlpcCancelMessage_SystemCall_Unknown
NtAlpcCancelMessage_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcCancelMessage_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcCancelMessage_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcCancelMessage_SystemCall_6_0_6002
jmp NtAlpcCancelMessage_SystemCall_Unknown
NtAlpcCancelMessage_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcCancelMessage_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcCancelMessage_SystemCall_6_1_7601
jmp NtAlpcCancelMessage_SystemCall_Unknown
NtAlpcCancelMessage_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcCancelMessage_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcCancelMessage_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcCancelMessage_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcCancelMessage_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcCancelMessage_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcCancelMessage_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcCancelMessage_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcCancelMessage_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcCancelMessage_SystemCall_10_0_18363
jmp NtAlpcCancelMessage_SystemCall_Unknown
NtAlpcCancelMessage_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0070h
jmp NtAlpcCancelMessage_Epilogue
NtAlpcCancelMessage_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0070h
jmp NtAlpcCancelMessage_Epilogue
NtAlpcCancelMessage_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0070h
jmp NtAlpcCancelMessage_Epilogue
NtAlpcCancelMessage_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0070h
jmp NtAlpcCancelMessage_Epilogue
NtAlpcCancelMessage_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0070h
jmp NtAlpcCancelMessage_Epilogue
NtAlpcCancelMessage_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0074h
jmp NtAlpcCancelMessage_Epilogue
NtAlpcCancelMessage_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0074h
jmp NtAlpcCancelMessage_Epilogue
NtAlpcCancelMessage_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0074h
jmp NtAlpcCancelMessage_Epilogue
NtAlpcCancelMessage_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0074h
jmp NtAlpcCancelMessage_Epilogue
NtAlpcCancelMessage_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0074h
jmp NtAlpcCancelMessage_Epilogue
NtAlpcCancelMessage_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0075h
jmp NtAlpcCancelMessage_Epilogue
NtAlpcCancelMessage_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0075h
jmp NtAlpcCancelMessage_Epilogue
NtAlpcCancelMessage_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0076h
jmp NtAlpcCancelMessage_Epilogue
NtAlpcCancelMessage_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0076h
jmp NtAlpcCancelMessage_Epilogue
NtAlpcCancelMessage_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0076h
jmp NtAlpcCancelMessage_Epilogue
NtAlpcCancelMessage_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0076h
jmp NtAlpcCancelMessage_Epilogue
NtAlpcCancelMessage_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcCancelMessage_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcCancelMessage ENDP
NtAlpcConnectPort PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcConnectPort_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcConnectPort_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcConnectPort_Check_10_0_XXXX
jmp NtAlpcConnectPort_SystemCall_Unknown
NtAlpcConnectPort_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcConnectPort_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcConnectPort_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcConnectPort_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcConnectPort_SystemCall_6_3_XXXX
jmp NtAlpcConnectPort_SystemCall_Unknown
NtAlpcConnectPort_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcConnectPort_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcConnectPort_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcConnectPort_SystemCall_6_0_6002
jmp NtAlpcConnectPort_SystemCall_Unknown
NtAlpcConnectPort_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcConnectPort_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcConnectPort_SystemCall_6_1_7601
jmp NtAlpcConnectPort_SystemCall_Unknown
NtAlpcConnectPort_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcConnectPort_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcConnectPort_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcConnectPort_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcConnectPort_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcConnectPort_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcConnectPort_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcConnectPort_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcConnectPort_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcConnectPort_SystemCall_10_0_18363
jmp NtAlpcConnectPort_SystemCall_Unknown
NtAlpcConnectPort_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0071h
jmp NtAlpcConnectPort_Epilogue
NtAlpcConnectPort_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0071h
jmp NtAlpcConnectPort_Epilogue
NtAlpcConnectPort_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0071h
jmp NtAlpcConnectPort_Epilogue
NtAlpcConnectPort_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0071h
jmp NtAlpcConnectPort_Epilogue
NtAlpcConnectPort_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0071h
jmp NtAlpcConnectPort_Epilogue
NtAlpcConnectPort_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0075h
jmp NtAlpcConnectPort_Epilogue
NtAlpcConnectPort_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0075h
jmp NtAlpcConnectPort_Epilogue
NtAlpcConnectPort_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0075h
jmp NtAlpcConnectPort_Epilogue
NtAlpcConnectPort_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0075h
jmp NtAlpcConnectPort_Epilogue
NtAlpcConnectPort_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0075h
jmp NtAlpcConnectPort_Epilogue
NtAlpcConnectPort_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0076h
jmp NtAlpcConnectPort_Epilogue
NtAlpcConnectPort_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0076h
jmp NtAlpcConnectPort_Epilogue
NtAlpcConnectPort_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0077h
jmp NtAlpcConnectPort_Epilogue
NtAlpcConnectPort_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0077h
jmp NtAlpcConnectPort_Epilogue
NtAlpcConnectPort_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0077h
jmp NtAlpcConnectPort_Epilogue
NtAlpcConnectPort_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0077h
jmp NtAlpcConnectPort_Epilogue
NtAlpcConnectPort_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcConnectPort_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcConnectPort ENDP
NtAlpcConnectPortEx PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcConnectPortEx_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcConnectPortEx_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcConnectPortEx_Check_10_0_XXXX
jmp NtAlpcConnectPortEx_SystemCall_Unknown
NtAlpcConnectPortEx_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtAlpcConnectPortEx_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcConnectPortEx_SystemCall_6_3_XXXX
jmp NtAlpcConnectPortEx_SystemCall_Unknown
NtAlpcConnectPortEx_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcConnectPortEx_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcConnectPortEx_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcConnectPortEx_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcConnectPortEx_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcConnectPortEx_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcConnectPortEx_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcConnectPortEx_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcConnectPortEx_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcConnectPortEx_SystemCall_10_0_18363
jmp NtAlpcConnectPortEx_SystemCall_Unknown
NtAlpcConnectPortEx_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0076h
jmp NtAlpcConnectPortEx_Epilogue
NtAlpcConnectPortEx_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0076h
jmp NtAlpcConnectPortEx_Epilogue
NtAlpcConnectPortEx_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0076h
jmp NtAlpcConnectPortEx_Epilogue
NtAlpcConnectPortEx_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0076h
jmp NtAlpcConnectPortEx_Epilogue
NtAlpcConnectPortEx_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0076h
jmp NtAlpcConnectPortEx_Epilogue
NtAlpcConnectPortEx_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0077h
jmp NtAlpcConnectPortEx_Epilogue
NtAlpcConnectPortEx_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0077h
jmp NtAlpcConnectPortEx_Epilogue
NtAlpcConnectPortEx_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0078h
jmp NtAlpcConnectPortEx_Epilogue
NtAlpcConnectPortEx_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0078h
jmp NtAlpcConnectPortEx_Epilogue
NtAlpcConnectPortEx_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0078h
jmp NtAlpcConnectPortEx_Epilogue
NtAlpcConnectPortEx_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0078h
jmp NtAlpcConnectPortEx_Epilogue
NtAlpcConnectPortEx_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcConnectPortEx_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcConnectPortEx ENDP
NtAlpcCreatePort PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcCreatePort_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcCreatePort_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcCreatePort_Check_10_0_XXXX
jmp NtAlpcCreatePort_SystemCall_Unknown
NtAlpcCreatePort_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcCreatePort_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcCreatePort_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcCreatePort_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcCreatePort_SystemCall_6_3_XXXX
jmp NtAlpcCreatePort_SystemCall_Unknown
NtAlpcCreatePort_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcCreatePort_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcCreatePort_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcCreatePort_SystemCall_6_0_6002
jmp NtAlpcCreatePort_SystemCall_Unknown
NtAlpcCreatePort_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcCreatePort_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcCreatePort_SystemCall_6_1_7601
jmp NtAlpcCreatePort_SystemCall_Unknown
NtAlpcCreatePort_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcCreatePort_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcCreatePort_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcCreatePort_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcCreatePort_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcCreatePort_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcCreatePort_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcCreatePort_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcCreatePort_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcCreatePort_SystemCall_10_0_18363
jmp NtAlpcCreatePort_SystemCall_Unknown
NtAlpcCreatePort_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0072h
jmp NtAlpcCreatePort_Epilogue
NtAlpcCreatePort_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0072h
jmp NtAlpcCreatePort_Epilogue
NtAlpcCreatePort_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0072h
jmp NtAlpcCreatePort_Epilogue
NtAlpcCreatePort_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0072h
jmp NtAlpcCreatePort_Epilogue
NtAlpcCreatePort_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0072h
jmp NtAlpcCreatePort_Epilogue
NtAlpcCreatePort_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0077h
jmp NtAlpcCreatePort_Epilogue
NtAlpcCreatePort_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0077h
jmp NtAlpcCreatePort_Epilogue
NtAlpcCreatePort_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0077h
jmp NtAlpcCreatePort_Epilogue
NtAlpcCreatePort_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0077h
jmp NtAlpcCreatePort_Epilogue
NtAlpcCreatePort_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0077h
jmp NtAlpcCreatePort_Epilogue
NtAlpcCreatePort_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0078h
jmp NtAlpcCreatePort_Epilogue
NtAlpcCreatePort_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0078h
jmp NtAlpcCreatePort_Epilogue
NtAlpcCreatePort_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0079h
jmp NtAlpcCreatePort_Epilogue
NtAlpcCreatePort_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0079h
jmp NtAlpcCreatePort_Epilogue
NtAlpcCreatePort_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0079h
jmp NtAlpcCreatePort_Epilogue
NtAlpcCreatePort_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0079h
jmp NtAlpcCreatePort_Epilogue
NtAlpcCreatePort_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcCreatePort_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcCreatePort ENDP
NtAlpcCreatePortSection PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcCreatePortSection_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcCreatePortSection_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcCreatePortSection_Check_10_0_XXXX
jmp NtAlpcCreatePortSection_SystemCall_Unknown
NtAlpcCreatePortSection_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcCreatePortSection_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcCreatePortSection_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcCreatePortSection_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcCreatePortSection_SystemCall_6_3_XXXX
jmp NtAlpcCreatePortSection_SystemCall_Unknown
NtAlpcCreatePortSection_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcCreatePortSection_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcCreatePortSection_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcCreatePortSection_SystemCall_6_0_6002
jmp NtAlpcCreatePortSection_SystemCall_Unknown
NtAlpcCreatePortSection_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcCreatePortSection_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcCreatePortSection_SystemCall_6_1_7601
jmp NtAlpcCreatePortSection_SystemCall_Unknown
NtAlpcCreatePortSection_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcCreatePortSection_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcCreatePortSection_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcCreatePortSection_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcCreatePortSection_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcCreatePortSection_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcCreatePortSection_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcCreatePortSection_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcCreatePortSection_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcCreatePortSection_SystemCall_10_0_18363
jmp NtAlpcCreatePortSection_SystemCall_Unknown
NtAlpcCreatePortSection_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0073h
jmp NtAlpcCreatePortSection_Epilogue
NtAlpcCreatePortSection_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0073h
jmp NtAlpcCreatePortSection_Epilogue
NtAlpcCreatePortSection_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0073h
jmp NtAlpcCreatePortSection_Epilogue
NtAlpcCreatePortSection_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0073h
jmp NtAlpcCreatePortSection_Epilogue
NtAlpcCreatePortSection_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0073h
jmp NtAlpcCreatePortSection_Epilogue
NtAlpcCreatePortSection_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0078h
jmp NtAlpcCreatePortSection_Epilogue
NtAlpcCreatePortSection_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0078h
jmp NtAlpcCreatePortSection_Epilogue
NtAlpcCreatePortSection_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0078h
jmp NtAlpcCreatePortSection_Epilogue
NtAlpcCreatePortSection_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0078h
jmp NtAlpcCreatePortSection_Epilogue
NtAlpcCreatePortSection_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0078h
jmp NtAlpcCreatePortSection_Epilogue
NtAlpcCreatePortSection_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0079h
jmp NtAlpcCreatePortSection_Epilogue
NtAlpcCreatePortSection_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0079h
jmp NtAlpcCreatePortSection_Epilogue
NtAlpcCreatePortSection_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 007ah
jmp NtAlpcCreatePortSection_Epilogue
NtAlpcCreatePortSection_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 007ah
jmp NtAlpcCreatePortSection_Epilogue
NtAlpcCreatePortSection_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 007ah
jmp NtAlpcCreatePortSection_Epilogue
NtAlpcCreatePortSection_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 007ah
jmp NtAlpcCreatePortSection_Epilogue
NtAlpcCreatePortSection_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcCreatePortSection_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcCreatePortSection ENDP
NtAlpcCreateResourceReserve PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcCreateResourceReserve_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcCreateResourceReserve_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcCreateResourceReserve_Check_10_0_XXXX
jmp NtAlpcCreateResourceReserve_SystemCall_Unknown
NtAlpcCreateResourceReserve_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcCreateResourceReserve_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcCreateResourceReserve_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcCreateResourceReserve_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcCreateResourceReserve_SystemCall_6_3_XXXX
jmp NtAlpcCreateResourceReserve_SystemCall_Unknown
NtAlpcCreateResourceReserve_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcCreateResourceReserve_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcCreateResourceReserve_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcCreateResourceReserve_SystemCall_6_0_6002
jmp NtAlpcCreateResourceReserve_SystemCall_Unknown
NtAlpcCreateResourceReserve_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcCreateResourceReserve_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcCreateResourceReserve_SystemCall_6_1_7601
jmp NtAlpcCreateResourceReserve_SystemCall_Unknown
NtAlpcCreateResourceReserve_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcCreateResourceReserve_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcCreateResourceReserve_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcCreateResourceReserve_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcCreateResourceReserve_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcCreateResourceReserve_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcCreateResourceReserve_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcCreateResourceReserve_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcCreateResourceReserve_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcCreateResourceReserve_SystemCall_10_0_18363
jmp NtAlpcCreateResourceReserve_SystemCall_Unknown
NtAlpcCreateResourceReserve_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0074h
jmp NtAlpcCreateResourceReserve_Epilogue
NtAlpcCreateResourceReserve_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0074h
jmp NtAlpcCreateResourceReserve_Epilogue
NtAlpcCreateResourceReserve_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0074h
jmp NtAlpcCreateResourceReserve_Epilogue
NtAlpcCreateResourceReserve_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0074h
jmp NtAlpcCreateResourceReserve_Epilogue
NtAlpcCreateResourceReserve_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0074h
jmp NtAlpcCreateResourceReserve_Epilogue
NtAlpcCreateResourceReserve_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0079h
jmp NtAlpcCreateResourceReserve_Epilogue
NtAlpcCreateResourceReserve_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0079h
jmp NtAlpcCreateResourceReserve_Epilogue
NtAlpcCreateResourceReserve_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0079h
jmp NtAlpcCreateResourceReserve_Epilogue
NtAlpcCreateResourceReserve_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0079h
jmp NtAlpcCreateResourceReserve_Epilogue
NtAlpcCreateResourceReserve_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0079h
jmp NtAlpcCreateResourceReserve_Epilogue
NtAlpcCreateResourceReserve_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 007ah
jmp NtAlpcCreateResourceReserve_Epilogue
NtAlpcCreateResourceReserve_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 007ah
jmp NtAlpcCreateResourceReserve_Epilogue
NtAlpcCreateResourceReserve_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 007bh
jmp NtAlpcCreateResourceReserve_Epilogue
NtAlpcCreateResourceReserve_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 007bh
jmp NtAlpcCreateResourceReserve_Epilogue
NtAlpcCreateResourceReserve_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 007bh
jmp NtAlpcCreateResourceReserve_Epilogue
NtAlpcCreateResourceReserve_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 007bh
jmp NtAlpcCreateResourceReserve_Epilogue
NtAlpcCreateResourceReserve_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcCreateResourceReserve_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcCreateResourceReserve ENDP
NtAlpcCreateSectionView PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcCreateSectionView_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcCreateSectionView_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcCreateSectionView_Check_10_0_XXXX
jmp NtAlpcCreateSectionView_SystemCall_Unknown
NtAlpcCreateSectionView_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcCreateSectionView_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcCreateSectionView_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcCreateSectionView_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcCreateSectionView_SystemCall_6_3_XXXX
jmp NtAlpcCreateSectionView_SystemCall_Unknown
NtAlpcCreateSectionView_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcCreateSectionView_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcCreateSectionView_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcCreateSectionView_SystemCall_6_0_6002
jmp NtAlpcCreateSectionView_SystemCall_Unknown
NtAlpcCreateSectionView_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcCreateSectionView_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcCreateSectionView_SystemCall_6_1_7601
jmp NtAlpcCreateSectionView_SystemCall_Unknown
NtAlpcCreateSectionView_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcCreateSectionView_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcCreateSectionView_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcCreateSectionView_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcCreateSectionView_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcCreateSectionView_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcCreateSectionView_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcCreateSectionView_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcCreateSectionView_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcCreateSectionView_SystemCall_10_0_18363
jmp NtAlpcCreateSectionView_SystemCall_Unknown
NtAlpcCreateSectionView_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0075h
jmp NtAlpcCreateSectionView_Epilogue
NtAlpcCreateSectionView_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0075h
jmp NtAlpcCreateSectionView_Epilogue
NtAlpcCreateSectionView_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0075h
jmp NtAlpcCreateSectionView_Epilogue
NtAlpcCreateSectionView_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0075h
jmp NtAlpcCreateSectionView_Epilogue
NtAlpcCreateSectionView_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0075h
jmp NtAlpcCreateSectionView_Epilogue
NtAlpcCreateSectionView_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 007ah
jmp NtAlpcCreateSectionView_Epilogue
NtAlpcCreateSectionView_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 007ah
jmp NtAlpcCreateSectionView_Epilogue
NtAlpcCreateSectionView_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 007ah
jmp NtAlpcCreateSectionView_Epilogue
NtAlpcCreateSectionView_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 007ah
jmp NtAlpcCreateSectionView_Epilogue
NtAlpcCreateSectionView_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 007ah
jmp NtAlpcCreateSectionView_Epilogue
NtAlpcCreateSectionView_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 007bh
jmp NtAlpcCreateSectionView_Epilogue
NtAlpcCreateSectionView_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 007bh
jmp NtAlpcCreateSectionView_Epilogue
NtAlpcCreateSectionView_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 007ch
jmp NtAlpcCreateSectionView_Epilogue
NtAlpcCreateSectionView_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 007ch
jmp NtAlpcCreateSectionView_Epilogue
NtAlpcCreateSectionView_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 007ch
jmp NtAlpcCreateSectionView_Epilogue
NtAlpcCreateSectionView_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 007ch
jmp NtAlpcCreateSectionView_Epilogue
NtAlpcCreateSectionView_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcCreateSectionView_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcCreateSectionView ENDP
NtAlpcCreateSecurityContext PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcCreateSecurityContext_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcCreateSecurityContext_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcCreateSecurityContext_Check_10_0_XXXX
jmp NtAlpcCreateSecurityContext_SystemCall_Unknown
NtAlpcCreateSecurityContext_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcCreateSecurityContext_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcCreateSecurityContext_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcCreateSecurityContext_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcCreateSecurityContext_SystemCall_6_3_XXXX
jmp NtAlpcCreateSecurityContext_SystemCall_Unknown
NtAlpcCreateSecurityContext_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcCreateSecurityContext_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcCreateSecurityContext_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcCreateSecurityContext_SystemCall_6_0_6002
jmp NtAlpcCreateSecurityContext_SystemCall_Unknown
NtAlpcCreateSecurityContext_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcCreateSecurityContext_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcCreateSecurityContext_SystemCall_6_1_7601
jmp NtAlpcCreateSecurityContext_SystemCall_Unknown
NtAlpcCreateSecurityContext_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcCreateSecurityContext_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcCreateSecurityContext_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcCreateSecurityContext_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcCreateSecurityContext_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcCreateSecurityContext_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcCreateSecurityContext_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcCreateSecurityContext_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcCreateSecurityContext_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcCreateSecurityContext_SystemCall_10_0_18363
jmp NtAlpcCreateSecurityContext_SystemCall_Unknown
NtAlpcCreateSecurityContext_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0076h
jmp NtAlpcCreateSecurityContext_Epilogue
NtAlpcCreateSecurityContext_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0076h
jmp NtAlpcCreateSecurityContext_Epilogue
NtAlpcCreateSecurityContext_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0076h
jmp NtAlpcCreateSecurityContext_Epilogue
NtAlpcCreateSecurityContext_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0076h
jmp NtAlpcCreateSecurityContext_Epilogue
NtAlpcCreateSecurityContext_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0076h
jmp NtAlpcCreateSecurityContext_Epilogue
NtAlpcCreateSecurityContext_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 007bh
jmp NtAlpcCreateSecurityContext_Epilogue
NtAlpcCreateSecurityContext_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 007bh
jmp NtAlpcCreateSecurityContext_Epilogue
NtAlpcCreateSecurityContext_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 007bh
jmp NtAlpcCreateSecurityContext_Epilogue
NtAlpcCreateSecurityContext_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 007bh
jmp NtAlpcCreateSecurityContext_Epilogue
NtAlpcCreateSecurityContext_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 007bh
jmp NtAlpcCreateSecurityContext_Epilogue
NtAlpcCreateSecurityContext_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 007ch
jmp NtAlpcCreateSecurityContext_Epilogue
NtAlpcCreateSecurityContext_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 007ch
jmp NtAlpcCreateSecurityContext_Epilogue
NtAlpcCreateSecurityContext_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 007dh
jmp NtAlpcCreateSecurityContext_Epilogue
NtAlpcCreateSecurityContext_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 007dh
jmp NtAlpcCreateSecurityContext_Epilogue
NtAlpcCreateSecurityContext_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 007dh
jmp NtAlpcCreateSecurityContext_Epilogue
NtAlpcCreateSecurityContext_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 007dh
jmp NtAlpcCreateSecurityContext_Epilogue
NtAlpcCreateSecurityContext_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcCreateSecurityContext_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcCreateSecurityContext ENDP
NtAlpcDeletePortSection PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcDeletePortSection_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcDeletePortSection_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcDeletePortSection_Check_10_0_XXXX
jmp NtAlpcDeletePortSection_SystemCall_Unknown
NtAlpcDeletePortSection_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcDeletePortSection_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcDeletePortSection_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcDeletePortSection_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcDeletePortSection_SystemCall_6_3_XXXX
jmp NtAlpcDeletePortSection_SystemCall_Unknown
NtAlpcDeletePortSection_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcDeletePortSection_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcDeletePortSection_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcDeletePortSection_SystemCall_6_0_6002
jmp NtAlpcDeletePortSection_SystemCall_Unknown
NtAlpcDeletePortSection_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcDeletePortSection_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcDeletePortSection_SystemCall_6_1_7601
jmp NtAlpcDeletePortSection_SystemCall_Unknown
NtAlpcDeletePortSection_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcDeletePortSection_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcDeletePortSection_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcDeletePortSection_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcDeletePortSection_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcDeletePortSection_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcDeletePortSection_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcDeletePortSection_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcDeletePortSection_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcDeletePortSection_SystemCall_10_0_18363
jmp NtAlpcDeletePortSection_SystemCall_Unknown
NtAlpcDeletePortSection_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0077h
jmp NtAlpcDeletePortSection_Epilogue
NtAlpcDeletePortSection_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0077h
jmp NtAlpcDeletePortSection_Epilogue
NtAlpcDeletePortSection_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0077h
jmp NtAlpcDeletePortSection_Epilogue
NtAlpcDeletePortSection_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0077h
jmp NtAlpcDeletePortSection_Epilogue
NtAlpcDeletePortSection_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0077h
jmp NtAlpcDeletePortSection_Epilogue
NtAlpcDeletePortSection_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 007ch
jmp NtAlpcDeletePortSection_Epilogue
NtAlpcDeletePortSection_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 007ch
jmp NtAlpcDeletePortSection_Epilogue
NtAlpcDeletePortSection_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 007ch
jmp NtAlpcDeletePortSection_Epilogue
NtAlpcDeletePortSection_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 007ch
jmp NtAlpcDeletePortSection_Epilogue
NtAlpcDeletePortSection_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 007ch
jmp NtAlpcDeletePortSection_Epilogue
NtAlpcDeletePortSection_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 007dh
jmp NtAlpcDeletePortSection_Epilogue
NtAlpcDeletePortSection_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 007dh
jmp NtAlpcDeletePortSection_Epilogue
NtAlpcDeletePortSection_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 007eh
jmp NtAlpcDeletePortSection_Epilogue
NtAlpcDeletePortSection_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 007eh
jmp NtAlpcDeletePortSection_Epilogue
NtAlpcDeletePortSection_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 007eh
jmp NtAlpcDeletePortSection_Epilogue
NtAlpcDeletePortSection_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 007eh
jmp NtAlpcDeletePortSection_Epilogue
NtAlpcDeletePortSection_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcDeletePortSection_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcDeletePortSection ENDP
NtAlpcDeleteResourceReserve PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcDeleteResourceReserve_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcDeleteResourceReserve_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcDeleteResourceReserve_Check_10_0_XXXX
jmp NtAlpcDeleteResourceReserve_SystemCall_Unknown
NtAlpcDeleteResourceReserve_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcDeleteResourceReserve_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcDeleteResourceReserve_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcDeleteResourceReserve_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcDeleteResourceReserve_SystemCall_6_3_XXXX
jmp NtAlpcDeleteResourceReserve_SystemCall_Unknown
NtAlpcDeleteResourceReserve_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcDeleteResourceReserve_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcDeleteResourceReserve_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcDeleteResourceReserve_SystemCall_6_0_6002
jmp NtAlpcDeleteResourceReserve_SystemCall_Unknown
NtAlpcDeleteResourceReserve_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcDeleteResourceReserve_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcDeleteResourceReserve_SystemCall_6_1_7601
jmp NtAlpcDeleteResourceReserve_SystemCall_Unknown
NtAlpcDeleteResourceReserve_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcDeleteResourceReserve_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcDeleteResourceReserve_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcDeleteResourceReserve_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcDeleteResourceReserve_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcDeleteResourceReserve_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcDeleteResourceReserve_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcDeleteResourceReserve_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcDeleteResourceReserve_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcDeleteResourceReserve_SystemCall_10_0_18363
jmp NtAlpcDeleteResourceReserve_SystemCall_Unknown
NtAlpcDeleteResourceReserve_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0078h
jmp NtAlpcDeleteResourceReserve_Epilogue
NtAlpcDeleteResourceReserve_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0078h
jmp NtAlpcDeleteResourceReserve_Epilogue
NtAlpcDeleteResourceReserve_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0078h
jmp NtAlpcDeleteResourceReserve_Epilogue
NtAlpcDeleteResourceReserve_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0078h
jmp NtAlpcDeleteResourceReserve_Epilogue
NtAlpcDeleteResourceReserve_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0078h
jmp NtAlpcDeleteResourceReserve_Epilogue
NtAlpcDeleteResourceReserve_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 007dh
jmp NtAlpcDeleteResourceReserve_Epilogue
NtAlpcDeleteResourceReserve_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 007dh
jmp NtAlpcDeleteResourceReserve_Epilogue
NtAlpcDeleteResourceReserve_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 007dh
jmp NtAlpcDeleteResourceReserve_Epilogue
NtAlpcDeleteResourceReserve_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 007dh
jmp NtAlpcDeleteResourceReserve_Epilogue
NtAlpcDeleteResourceReserve_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 007dh
jmp NtAlpcDeleteResourceReserve_Epilogue
NtAlpcDeleteResourceReserve_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 007eh
jmp NtAlpcDeleteResourceReserve_Epilogue
NtAlpcDeleteResourceReserve_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 007eh
jmp NtAlpcDeleteResourceReserve_Epilogue
NtAlpcDeleteResourceReserve_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 007fh
jmp NtAlpcDeleteResourceReserve_Epilogue
NtAlpcDeleteResourceReserve_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 007fh
jmp NtAlpcDeleteResourceReserve_Epilogue
NtAlpcDeleteResourceReserve_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 007fh
jmp NtAlpcDeleteResourceReserve_Epilogue
NtAlpcDeleteResourceReserve_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 007fh
jmp NtAlpcDeleteResourceReserve_Epilogue
NtAlpcDeleteResourceReserve_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcDeleteResourceReserve_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcDeleteResourceReserve ENDP
NtAlpcDeleteSectionView PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcDeleteSectionView_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcDeleteSectionView_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcDeleteSectionView_Check_10_0_XXXX
jmp NtAlpcDeleteSectionView_SystemCall_Unknown
NtAlpcDeleteSectionView_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcDeleteSectionView_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcDeleteSectionView_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcDeleteSectionView_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcDeleteSectionView_SystemCall_6_3_XXXX
jmp NtAlpcDeleteSectionView_SystemCall_Unknown
NtAlpcDeleteSectionView_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcDeleteSectionView_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcDeleteSectionView_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcDeleteSectionView_SystemCall_6_0_6002
jmp NtAlpcDeleteSectionView_SystemCall_Unknown
NtAlpcDeleteSectionView_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcDeleteSectionView_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcDeleteSectionView_SystemCall_6_1_7601
jmp NtAlpcDeleteSectionView_SystemCall_Unknown
NtAlpcDeleteSectionView_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcDeleteSectionView_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcDeleteSectionView_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcDeleteSectionView_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcDeleteSectionView_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcDeleteSectionView_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcDeleteSectionView_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcDeleteSectionView_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcDeleteSectionView_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcDeleteSectionView_SystemCall_10_0_18363
jmp NtAlpcDeleteSectionView_SystemCall_Unknown
NtAlpcDeleteSectionView_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0079h
jmp NtAlpcDeleteSectionView_Epilogue
NtAlpcDeleteSectionView_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0079h
jmp NtAlpcDeleteSectionView_Epilogue
NtAlpcDeleteSectionView_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0079h
jmp NtAlpcDeleteSectionView_Epilogue
NtAlpcDeleteSectionView_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0079h
jmp NtAlpcDeleteSectionView_Epilogue
NtAlpcDeleteSectionView_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0079h
jmp NtAlpcDeleteSectionView_Epilogue
NtAlpcDeleteSectionView_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 007eh
jmp NtAlpcDeleteSectionView_Epilogue
NtAlpcDeleteSectionView_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 007eh
jmp NtAlpcDeleteSectionView_Epilogue
NtAlpcDeleteSectionView_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 007eh
jmp NtAlpcDeleteSectionView_Epilogue
NtAlpcDeleteSectionView_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 007eh
jmp NtAlpcDeleteSectionView_Epilogue
NtAlpcDeleteSectionView_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 007eh
jmp NtAlpcDeleteSectionView_Epilogue
NtAlpcDeleteSectionView_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 007fh
jmp NtAlpcDeleteSectionView_Epilogue
NtAlpcDeleteSectionView_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 007fh
jmp NtAlpcDeleteSectionView_Epilogue
NtAlpcDeleteSectionView_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0080h
jmp NtAlpcDeleteSectionView_Epilogue
NtAlpcDeleteSectionView_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0080h
jmp NtAlpcDeleteSectionView_Epilogue
NtAlpcDeleteSectionView_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0080h
jmp NtAlpcDeleteSectionView_Epilogue
NtAlpcDeleteSectionView_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0080h
jmp NtAlpcDeleteSectionView_Epilogue
NtAlpcDeleteSectionView_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcDeleteSectionView_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcDeleteSectionView ENDP
NtAlpcDeleteSecurityContext PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcDeleteSecurityContext_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcDeleteSecurityContext_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcDeleteSecurityContext_Check_10_0_XXXX
jmp NtAlpcDeleteSecurityContext_SystemCall_Unknown
NtAlpcDeleteSecurityContext_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcDeleteSecurityContext_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcDeleteSecurityContext_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcDeleteSecurityContext_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcDeleteSecurityContext_SystemCall_6_3_XXXX
jmp NtAlpcDeleteSecurityContext_SystemCall_Unknown
NtAlpcDeleteSecurityContext_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcDeleteSecurityContext_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcDeleteSecurityContext_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcDeleteSecurityContext_SystemCall_6_0_6002
jmp NtAlpcDeleteSecurityContext_SystemCall_Unknown
NtAlpcDeleteSecurityContext_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcDeleteSecurityContext_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcDeleteSecurityContext_SystemCall_6_1_7601
jmp NtAlpcDeleteSecurityContext_SystemCall_Unknown
NtAlpcDeleteSecurityContext_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcDeleteSecurityContext_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcDeleteSecurityContext_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcDeleteSecurityContext_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcDeleteSecurityContext_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcDeleteSecurityContext_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcDeleteSecurityContext_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcDeleteSecurityContext_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcDeleteSecurityContext_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcDeleteSecurityContext_SystemCall_10_0_18363
jmp NtAlpcDeleteSecurityContext_SystemCall_Unknown
NtAlpcDeleteSecurityContext_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 007ah
jmp NtAlpcDeleteSecurityContext_Epilogue
NtAlpcDeleteSecurityContext_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 007ah
jmp NtAlpcDeleteSecurityContext_Epilogue
NtAlpcDeleteSecurityContext_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 007ah
jmp NtAlpcDeleteSecurityContext_Epilogue
NtAlpcDeleteSecurityContext_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 007ah
jmp NtAlpcDeleteSecurityContext_Epilogue
NtAlpcDeleteSecurityContext_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 007ah
jmp NtAlpcDeleteSecurityContext_Epilogue
NtAlpcDeleteSecurityContext_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 007fh
jmp NtAlpcDeleteSecurityContext_Epilogue
NtAlpcDeleteSecurityContext_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 007fh
jmp NtAlpcDeleteSecurityContext_Epilogue
NtAlpcDeleteSecurityContext_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 007fh
jmp NtAlpcDeleteSecurityContext_Epilogue
NtAlpcDeleteSecurityContext_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 007fh
jmp NtAlpcDeleteSecurityContext_Epilogue
NtAlpcDeleteSecurityContext_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 007fh
jmp NtAlpcDeleteSecurityContext_Epilogue
NtAlpcDeleteSecurityContext_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0080h
jmp NtAlpcDeleteSecurityContext_Epilogue
NtAlpcDeleteSecurityContext_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0080h
jmp NtAlpcDeleteSecurityContext_Epilogue
NtAlpcDeleteSecurityContext_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0081h
jmp NtAlpcDeleteSecurityContext_Epilogue
NtAlpcDeleteSecurityContext_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0081h
jmp NtAlpcDeleteSecurityContext_Epilogue
NtAlpcDeleteSecurityContext_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0081h
jmp NtAlpcDeleteSecurityContext_Epilogue
NtAlpcDeleteSecurityContext_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0081h
jmp NtAlpcDeleteSecurityContext_Epilogue
NtAlpcDeleteSecurityContext_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcDeleteSecurityContext_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcDeleteSecurityContext ENDP
NtAlpcDisconnectPort PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcDisconnectPort_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcDisconnectPort_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcDisconnectPort_Check_10_0_XXXX
jmp NtAlpcDisconnectPort_SystemCall_Unknown
NtAlpcDisconnectPort_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcDisconnectPort_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcDisconnectPort_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcDisconnectPort_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcDisconnectPort_SystemCall_6_3_XXXX
jmp NtAlpcDisconnectPort_SystemCall_Unknown
NtAlpcDisconnectPort_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcDisconnectPort_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcDisconnectPort_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcDisconnectPort_SystemCall_6_0_6002
jmp NtAlpcDisconnectPort_SystemCall_Unknown
NtAlpcDisconnectPort_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcDisconnectPort_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcDisconnectPort_SystemCall_6_1_7601
jmp NtAlpcDisconnectPort_SystemCall_Unknown
NtAlpcDisconnectPort_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcDisconnectPort_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcDisconnectPort_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcDisconnectPort_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcDisconnectPort_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcDisconnectPort_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcDisconnectPort_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcDisconnectPort_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcDisconnectPort_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcDisconnectPort_SystemCall_10_0_18363
jmp NtAlpcDisconnectPort_SystemCall_Unknown
NtAlpcDisconnectPort_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 007bh
jmp NtAlpcDisconnectPort_Epilogue
NtAlpcDisconnectPort_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 007bh
jmp NtAlpcDisconnectPort_Epilogue
NtAlpcDisconnectPort_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 007bh
jmp NtAlpcDisconnectPort_Epilogue
NtAlpcDisconnectPort_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 007bh
jmp NtAlpcDisconnectPort_Epilogue
NtAlpcDisconnectPort_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 007bh
jmp NtAlpcDisconnectPort_Epilogue
NtAlpcDisconnectPort_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0080h
jmp NtAlpcDisconnectPort_Epilogue
NtAlpcDisconnectPort_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0080h
jmp NtAlpcDisconnectPort_Epilogue
NtAlpcDisconnectPort_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0080h
jmp NtAlpcDisconnectPort_Epilogue
NtAlpcDisconnectPort_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0080h
jmp NtAlpcDisconnectPort_Epilogue
NtAlpcDisconnectPort_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0080h
jmp NtAlpcDisconnectPort_Epilogue
NtAlpcDisconnectPort_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0081h
jmp NtAlpcDisconnectPort_Epilogue
NtAlpcDisconnectPort_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0081h
jmp NtAlpcDisconnectPort_Epilogue
NtAlpcDisconnectPort_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0082h
jmp NtAlpcDisconnectPort_Epilogue
NtAlpcDisconnectPort_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0082h
jmp NtAlpcDisconnectPort_Epilogue
NtAlpcDisconnectPort_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0082h
jmp NtAlpcDisconnectPort_Epilogue
NtAlpcDisconnectPort_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0082h
jmp NtAlpcDisconnectPort_Epilogue
NtAlpcDisconnectPort_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcDisconnectPort_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcDisconnectPort ENDP
NtAlpcImpersonateClientContainerOfPort PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcImpersonateClientContainerOfPort_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtAlpcImpersonateClientContainerOfPort_Check_10_0_XXXX
jmp NtAlpcImpersonateClientContainerOfPort_SystemCall_Unknown
NtAlpcImpersonateClientContainerOfPort_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_18363
jmp NtAlpcImpersonateClientContainerOfPort_SystemCall_Unknown
NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0081h
jmp NtAlpcImpersonateClientContainerOfPort_Epilogue
NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0081h
jmp NtAlpcImpersonateClientContainerOfPort_Epilogue
NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0081h
jmp NtAlpcImpersonateClientContainerOfPort_Epilogue
NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0082h
jmp NtAlpcImpersonateClientContainerOfPort_Epilogue
NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0082h
jmp NtAlpcImpersonateClientContainerOfPort_Epilogue
NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0083h
jmp NtAlpcImpersonateClientContainerOfPort_Epilogue
NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0083h
jmp NtAlpcImpersonateClientContainerOfPort_Epilogue
NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0083h
jmp NtAlpcImpersonateClientContainerOfPort_Epilogue
NtAlpcImpersonateClientContainerOfPort_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0083h
jmp NtAlpcImpersonateClientContainerOfPort_Epilogue
NtAlpcImpersonateClientContainerOfPort_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcImpersonateClientContainerOfPort_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcImpersonateClientContainerOfPort ENDP
NtAlpcImpersonateClientOfPort PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcImpersonateClientOfPort_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcImpersonateClientOfPort_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcImpersonateClientOfPort_Check_10_0_XXXX
jmp NtAlpcImpersonateClientOfPort_SystemCall_Unknown
NtAlpcImpersonateClientOfPort_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcImpersonateClientOfPort_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcImpersonateClientOfPort_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcImpersonateClientOfPort_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcImpersonateClientOfPort_SystemCall_6_3_XXXX
jmp NtAlpcImpersonateClientOfPort_SystemCall_Unknown
NtAlpcImpersonateClientOfPort_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcImpersonateClientOfPort_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcImpersonateClientOfPort_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcImpersonateClientOfPort_SystemCall_6_0_6002
jmp NtAlpcImpersonateClientOfPort_SystemCall_Unknown
NtAlpcImpersonateClientOfPort_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcImpersonateClientOfPort_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcImpersonateClientOfPort_SystemCall_6_1_7601
jmp NtAlpcImpersonateClientOfPort_SystemCall_Unknown
NtAlpcImpersonateClientOfPort_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcImpersonateClientOfPort_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcImpersonateClientOfPort_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcImpersonateClientOfPort_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcImpersonateClientOfPort_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcImpersonateClientOfPort_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcImpersonateClientOfPort_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcImpersonateClientOfPort_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcImpersonateClientOfPort_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcImpersonateClientOfPort_SystemCall_10_0_18363
jmp NtAlpcImpersonateClientOfPort_SystemCall_Unknown
NtAlpcImpersonateClientOfPort_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 007ch
jmp NtAlpcImpersonateClientOfPort_Epilogue
NtAlpcImpersonateClientOfPort_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 007ch
jmp NtAlpcImpersonateClientOfPort_Epilogue
NtAlpcImpersonateClientOfPort_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 007ch
jmp NtAlpcImpersonateClientOfPort_Epilogue
NtAlpcImpersonateClientOfPort_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 007ch
jmp NtAlpcImpersonateClientOfPort_Epilogue
NtAlpcImpersonateClientOfPort_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 007ch
jmp NtAlpcImpersonateClientOfPort_Epilogue
NtAlpcImpersonateClientOfPort_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0081h
jmp NtAlpcImpersonateClientOfPort_Epilogue
NtAlpcImpersonateClientOfPort_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0081h
jmp NtAlpcImpersonateClientOfPort_Epilogue
NtAlpcImpersonateClientOfPort_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0082h
jmp NtAlpcImpersonateClientOfPort_Epilogue
NtAlpcImpersonateClientOfPort_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0082h
jmp NtAlpcImpersonateClientOfPort_Epilogue
NtAlpcImpersonateClientOfPort_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0082h
jmp NtAlpcImpersonateClientOfPort_Epilogue
NtAlpcImpersonateClientOfPort_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0083h
jmp NtAlpcImpersonateClientOfPort_Epilogue
NtAlpcImpersonateClientOfPort_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0083h
jmp NtAlpcImpersonateClientOfPort_Epilogue
NtAlpcImpersonateClientOfPort_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0084h
jmp NtAlpcImpersonateClientOfPort_Epilogue
NtAlpcImpersonateClientOfPort_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0084h
jmp NtAlpcImpersonateClientOfPort_Epilogue
NtAlpcImpersonateClientOfPort_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0084h
jmp NtAlpcImpersonateClientOfPort_Epilogue
NtAlpcImpersonateClientOfPort_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0084h
jmp NtAlpcImpersonateClientOfPort_Epilogue
NtAlpcImpersonateClientOfPort_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcImpersonateClientOfPort_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcImpersonateClientOfPort ENDP
NtAlpcOpenSenderProcess PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcOpenSenderProcess_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcOpenSenderProcess_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcOpenSenderProcess_Check_10_0_XXXX
jmp NtAlpcOpenSenderProcess_SystemCall_Unknown
NtAlpcOpenSenderProcess_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcOpenSenderProcess_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcOpenSenderProcess_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcOpenSenderProcess_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcOpenSenderProcess_SystemCall_6_3_XXXX
jmp NtAlpcOpenSenderProcess_SystemCall_Unknown
NtAlpcOpenSenderProcess_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcOpenSenderProcess_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcOpenSenderProcess_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcOpenSenderProcess_SystemCall_6_0_6002
jmp NtAlpcOpenSenderProcess_SystemCall_Unknown
NtAlpcOpenSenderProcess_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcOpenSenderProcess_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcOpenSenderProcess_SystemCall_6_1_7601
jmp NtAlpcOpenSenderProcess_SystemCall_Unknown
NtAlpcOpenSenderProcess_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcOpenSenderProcess_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcOpenSenderProcess_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcOpenSenderProcess_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcOpenSenderProcess_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcOpenSenderProcess_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcOpenSenderProcess_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcOpenSenderProcess_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcOpenSenderProcess_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcOpenSenderProcess_SystemCall_10_0_18363
jmp NtAlpcOpenSenderProcess_SystemCall_Unknown
NtAlpcOpenSenderProcess_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 007dh
jmp NtAlpcOpenSenderProcess_Epilogue
NtAlpcOpenSenderProcess_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 007dh
jmp NtAlpcOpenSenderProcess_Epilogue
NtAlpcOpenSenderProcess_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 007dh
jmp NtAlpcOpenSenderProcess_Epilogue
NtAlpcOpenSenderProcess_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 007dh
jmp NtAlpcOpenSenderProcess_Epilogue
NtAlpcOpenSenderProcess_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 007dh
jmp NtAlpcOpenSenderProcess_Epilogue
NtAlpcOpenSenderProcess_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0082h
jmp NtAlpcOpenSenderProcess_Epilogue
NtAlpcOpenSenderProcess_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0082h
jmp NtAlpcOpenSenderProcess_Epilogue
NtAlpcOpenSenderProcess_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0083h
jmp NtAlpcOpenSenderProcess_Epilogue
NtAlpcOpenSenderProcess_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0083h
jmp NtAlpcOpenSenderProcess_Epilogue
NtAlpcOpenSenderProcess_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0083h
jmp NtAlpcOpenSenderProcess_Epilogue
NtAlpcOpenSenderProcess_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0084h
jmp NtAlpcOpenSenderProcess_Epilogue
NtAlpcOpenSenderProcess_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0084h
jmp NtAlpcOpenSenderProcess_Epilogue
NtAlpcOpenSenderProcess_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0085h
jmp NtAlpcOpenSenderProcess_Epilogue
NtAlpcOpenSenderProcess_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0085h
jmp NtAlpcOpenSenderProcess_Epilogue
NtAlpcOpenSenderProcess_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0085h
jmp NtAlpcOpenSenderProcess_Epilogue
NtAlpcOpenSenderProcess_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0085h
jmp NtAlpcOpenSenderProcess_Epilogue
NtAlpcOpenSenderProcess_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcOpenSenderProcess_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcOpenSenderProcess ENDP
NtAlpcOpenSenderThread PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcOpenSenderThread_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcOpenSenderThread_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcOpenSenderThread_Check_10_0_XXXX
jmp NtAlpcOpenSenderThread_SystemCall_Unknown
NtAlpcOpenSenderThread_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcOpenSenderThread_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcOpenSenderThread_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcOpenSenderThread_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcOpenSenderThread_SystemCall_6_3_XXXX
jmp NtAlpcOpenSenderThread_SystemCall_Unknown
NtAlpcOpenSenderThread_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcOpenSenderThread_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcOpenSenderThread_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcOpenSenderThread_SystemCall_6_0_6002
jmp NtAlpcOpenSenderThread_SystemCall_Unknown
NtAlpcOpenSenderThread_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcOpenSenderThread_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcOpenSenderThread_SystemCall_6_1_7601
jmp NtAlpcOpenSenderThread_SystemCall_Unknown
NtAlpcOpenSenderThread_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcOpenSenderThread_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcOpenSenderThread_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcOpenSenderThread_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcOpenSenderThread_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcOpenSenderThread_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcOpenSenderThread_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcOpenSenderThread_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcOpenSenderThread_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcOpenSenderThread_SystemCall_10_0_18363
jmp NtAlpcOpenSenderThread_SystemCall_Unknown
NtAlpcOpenSenderThread_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 007eh
jmp NtAlpcOpenSenderThread_Epilogue
NtAlpcOpenSenderThread_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 007eh
jmp NtAlpcOpenSenderThread_Epilogue
NtAlpcOpenSenderThread_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 007eh
jmp NtAlpcOpenSenderThread_Epilogue
NtAlpcOpenSenderThread_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 007eh
jmp NtAlpcOpenSenderThread_Epilogue
NtAlpcOpenSenderThread_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 007eh
jmp NtAlpcOpenSenderThread_Epilogue
NtAlpcOpenSenderThread_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0083h
jmp NtAlpcOpenSenderThread_Epilogue
NtAlpcOpenSenderThread_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0083h
jmp NtAlpcOpenSenderThread_Epilogue
NtAlpcOpenSenderThread_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0084h
jmp NtAlpcOpenSenderThread_Epilogue
NtAlpcOpenSenderThread_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0084h
jmp NtAlpcOpenSenderThread_Epilogue
NtAlpcOpenSenderThread_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0084h
jmp NtAlpcOpenSenderThread_Epilogue
NtAlpcOpenSenderThread_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0085h
jmp NtAlpcOpenSenderThread_Epilogue
NtAlpcOpenSenderThread_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0085h
jmp NtAlpcOpenSenderThread_Epilogue
NtAlpcOpenSenderThread_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0086h
jmp NtAlpcOpenSenderThread_Epilogue
NtAlpcOpenSenderThread_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0086h
jmp NtAlpcOpenSenderThread_Epilogue
NtAlpcOpenSenderThread_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0086h
jmp NtAlpcOpenSenderThread_Epilogue
NtAlpcOpenSenderThread_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0086h
jmp NtAlpcOpenSenderThread_Epilogue
NtAlpcOpenSenderThread_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcOpenSenderThread_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcOpenSenderThread ENDP
NtAlpcQueryInformation PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcQueryInformation_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcQueryInformation_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcQueryInformation_Check_10_0_XXXX
jmp NtAlpcQueryInformation_SystemCall_Unknown
NtAlpcQueryInformation_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcQueryInformation_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcQueryInformation_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcQueryInformation_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcQueryInformation_SystemCall_6_3_XXXX
jmp NtAlpcQueryInformation_SystemCall_Unknown
NtAlpcQueryInformation_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcQueryInformation_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcQueryInformation_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcQueryInformation_SystemCall_6_0_6002
jmp NtAlpcQueryInformation_SystemCall_Unknown
NtAlpcQueryInformation_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcQueryInformation_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcQueryInformation_SystemCall_6_1_7601
jmp NtAlpcQueryInformation_SystemCall_Unknown
NtAlpcQueryInformation_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcQueryInformation_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcQueryInformation_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcQueryInformation_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcQueryInformation_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcQueryInformation_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcQueryInformation_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcQueryInformation_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcQueryInformation_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcQueryInformation_SystemCall_10_0_18363
jmp NtAlpcQueryInformation_SystemCall_Unknown
NtAlpcQueryInformation_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 007fh
jmp NtAlpcQueryInformation_Epilogue
NtAlpcQueryInformation_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 007fh
jmp NtAlpcQueryInformation_Epilogue
NtAlpcQueryInformation_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 007fh
jmp NtAlpcQueryInformation_Epilogue
NtAlpcQueryInformation_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 007fh
jmp NtAlpcQueryInformation_Epilogue
NtAlpcQueryInformation_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 007fh
jmp NtAlpcQueryInformation_Epilogue
NtAlpcQueryInformation_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0084h
jmp NtAlpcQueryInformation_Epilogue
NtAlpcQueryInformation_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0084h
jmp NtAlpcQueryInformation_Epilogue
NtAlpcQueryInformation_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0085h
jmp NtAlpcQueryInformation_Epilogue
NtAlpcQueryInformation_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0085h
jmp NtAlpcQueryInformation_Epilogue
NtAlpcQueryInformation_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0085h
jmp NtAlpcQueryInformation_Epilogue
NtAlpcQueryInformation_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0086h
jmp NtAlpcQueryInformation_Epilogue
NtAlpcQueryInformation_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0086h
jmp NtAlpcQueryInformation_Epilogue
NtAlpcQueryInformation_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0087h
jmp NtAlpcQueryInformation_Epilogue
NtAlpcQueryInformation_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0087h
jmp NtAlpcQueryInformation_Epilogue
NtAlpcQueryInformation_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0087h
jmp NtAlpcQueryInformation_Epilogue
NtAlpcQueryInformation_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0087h
jmp NtAlpcQueryInformation_Epilogue
NtAlpcQueryInformation_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcQueryInformation_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcQueryInformation ENDP
NtAlpcQueryInformationMessage PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcQueryInformationMessage_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcQueryInformationMessage_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcQueryInformationMessage_Check_10_0_XXXX
jmp NtAlpcQueryInformationMessage_SystemCall_Unknown
NtAlpcQueryInformationMessage_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcQueryInformationMessage_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcQueryInformationMessage_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcQueryInformationMessage_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcQueryInformationMessage_SystemCall_6_3_XXXX
jmp NtAlpcQueryInformationMessage_SystemCall_Unknown
NtAlpcQueryInformationMessage_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcQueryInformationMessage_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcQueryInformationMessage_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcQueryInformationMessage_SystemCall_6_0_6002
jmp NtAlpcQueryInformationMessage_SystemCall_Unknown
NtAlpcQueryInformationMessage_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcQueryInformationMessage_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcQueryInformationMessage_SystemCall_6_1_7601
jmp NtAlpcQueryInformationMessage_SystemCall_Unknown
NtAlpcQueryInformationMessage_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcQueryInformationMessage_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcQueryInformationMessage_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcQueryInformationMessage_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcQueryInformationMessage_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcQueryInformationMessage_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcQueryInformationMessage_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcQueryInformationMessage_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcQueryInformationMessage_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcQueryInformationMessage_SystemCall_10_0_18363
jmp NtAlpcQueryInformationMessage_SystemCall_Unknown
NtAlpcQueryInformationMessage_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0080h
jmp NtAlpcQueryInformationMessage_Epilogue
NtAlpcQueryInformationMessage_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0080h
jmp NtAlpcQueryInformationMessage_Epilogue
NtAlpcQueryInformationMessage_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0080h
jmp NtAlpcQueryInformationMessage_Epilogue
NtAlpcQueryInformationMessage_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0080h
jmp NtAlpcQueryInformationMessage_Epilogue
NtAlpcQueryInformationMessage_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0080h
jmp NtAlpcQueryInformationMessage_Epilogue
NtAlpcQueryInformationMessage_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0085h
jmp NtAlpcQueryInformationMessage_Epilogue
NtAlpcQueryInformationMessage_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0085h
jmp NtAlpcQueryInformationMessage_Epilogue
NtAlpcQueryInformationMessage_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0086h
jmp NtAlpcQueryInformationMessage_Epilogue
NtAlpcQueryInformationMessage_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0086h
jmp NtAlpcQueryInformationMessage_Epilogue
NtAlpcQueryInformationMessage_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0086h
jmp NtAlpcQueryInformationMessage_Epilogue
NtAlpcQueryInformationMessage_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0087h
jmp NtAlpcQueryInformationMessage_Epilogue
NtAlpcQueryInformationMessage_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0087h
jmp NtAlpcQueryInformationMessage_Epilogue
NtAlpcQueryInformationMessage_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0088h
jmp NtAlpcQueryInformationMessage_Epilogue
NtAlpcQueryInformationMessage_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0088h
jmp NtAlpcQueryInformationMessage_Epilogue
NtAlpcQueryInformationMessage_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0088h
jmp NtAlpcQueryInformationMessage_Epilogue
NtAlpcQueryInformationMessage_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0088h
jmp NtAlpcQueryInformationMessage_Epilogue
NtAlpcQueryInformationMessage_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcQueryInformationMessage_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcQueryInformationMessage ENDP
NtAlpcRevokeSecurityContext PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcRevokeSecurityContext_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcRevokeSecurityContext_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcRevokeSecurityContext_Check_10_0_XXXX
jmp NtAlpcRevokeSecurityContext_SystemCall_Unknown
NtAlpcRevokeSecurityContext_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcRevokeSecurityContext_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcRevokeSecurityContext_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcRevokeSecurityContext_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcRevokeSecurityContext_SystemCall_6_3_XXXX
jmp NtAlpcRevokeSecurityContext_SystemCall_Unknown
NtAlpcRevokeSecurityContext_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcRevokeSecurityContext_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcRevokeSecurityContext_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcRevokeSecurityContext_SystemCall_6_0_6002
jmp NtAlpcRevokeSecurityContext_SystemCall_Unknown
NtAlpcRevokeSecurityContext_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcRevokeSecurityContext_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcRevokeSecurityContext_SystemCall_6_1_7601
jmp NtAlpcRevokeSecurityContext_SystemCall_Unknown
NtAlpcRevokeSecurityContext_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcRevokeSecurityContext_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcRevokeSecurityContext_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcRevokeSecurityContext_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcRevokeSecurityContext_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcRevokeSecurityContext_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcRevokeSecurityContext_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcRevokeSecurityContext_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcRevokeSecurityContext_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcRevokeSecurityContext_SystemCall_10_0_18363
jmp NtAlpcRevokeSecurityContext_SystemCall_Unknown
NtAlpcRevokeSecurityContext_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0081h
jmp NtAlpcRevokeSecurityContext_Epilogue
NtAlpcRevokeSecurityContext_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0081h
jmp NtAlpcRevokeSecurityContext_Epilogue
NtAlpcRevokeSecurityContext_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0081h
jmp NtAlpcRevokeSecurityContext_Epilogue
NtAlpcRevokeSecurityContext_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0081h
jmp NtAlpcRevokeSecurityContext_Epilogue
NtAlpcRevokeSecurityContext_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0081h
jmp NtAlpcRevokeSecurityContext_Epilogue
NtAlpcRevokeSecurityContext_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0086h
jmp NtAlpcRevokeSecurityContext_Epilogue
NtAlpcRevokeSecurityContext_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0086h
jmp NtAlpcRevokeSecurityContext_Epilogue
NtAlpcRevokeSecurityContext_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0087h
jmp NtAlpcRevokeSecurityContext_Epilogue
NtAlpcRevokeSecurityContext_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0087h
jmp NtAlpcRevokeSecurityContext_Epilogue
NtAlpcRevokeSecurityContext_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0087h
jmp NtAlpcRevokeSecurityContext_Epilogue
NtAlpcRevokeSecurityContext_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0088h
jmp NtAlpcRevokeSecurityContext_Epilogue
NtAlpcRevokeSecurityContext_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0088h
jmp NtAlpcRevokeSecurityContext_Epilogue
NtAlpcRevokeSecurityContext_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0089h
jmp NtAlpcRevokeSecurityContext_Epilogue
NtAlpcRevokeSecurityContext_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0089h
jmp NtAlpcRevokeSecurityContext_Epilogue
NtAlpcRevokeSecurityContext_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0089h
jmp NtAlpcRevokeSecurityContext_Epilogue
NtAlpcRevokeSecurityContext_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0089h
jmp NtAlpcRevokeSecurityContext_Epilogue
NtAlpcRevokeSecurityContext_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcRevokeSecurityContext_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcRevokeSecurityContext ENDP
NtAlpcSendWaitReceivePort PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcSendWaitReceivePort_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcSendWaitReceivePort_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcSendWaitReceivePort_Check_10_0_XXXX
jmp NtAlpcSendWaitReceivePort_SystemCall_Unknown
NtAlpcSendWaitReceivePort_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcSendWaitReceivePort_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcSendWaitReceivePort_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcSendWaitReceivePort_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcSendWaitReceivePort_SystemCall_6_3_XXXX
jmp NtAlpcSendWaitReceivePort_SystemCall_Unknown
NtAlpcSendWaitReceivePort_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcSendWaitReceivePort_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcSendWaitReceivePort_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcSendWaitReceivePort_SystemCall_6_0_6002
jmp NtAlpcSendWaitReceivePort_SystemCall_Unknown
NtAlpcSendWaitReceivePort_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcSendWaitReceivePort_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcSendWaitReceivePort_SystemCall_6_1_7601
jmp NtAlpcSendWaitReceivePort_SystemCall_Unknown
NtAlpcSendWaitReceivePort_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcSendWaitReceivePort_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcSendWaitReceivePort_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcSendWaitReceivePort_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcSendWaitReceivePort_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcSendWaitReceivePort_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcSendWaitReceivePort_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcSendWaitReceivePort_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcSendWaitReceivePort_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcSendWaitReceivePort_SystemCall_10_0_18363
jmp NtAlpcSendWaitReceivePort_SystemCall_Unknown
NtAlpcSendWaitReceivePort_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0082h
jmp NtAlpcSendWaitReceivePort_Epilogue
NtAlpcSendWaitReceivePort_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0082h
jmp NtAlpcSendWaitReceivePort_Epilogue
NtAlpcSendWaitReceivePort_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0082h
jmp NtAlpcSendWaitReceivePort_Epilogue
NtAlpcSendWaitReceivePort_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0082h
jmp NtAlpcSendWaitReceivePort_Epilogue
NtAlpcSendWaitReceivePort_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0082h
jmp NtAlpcSendWaitReceivePort_Epilogue
NtAlpcSendWaitReceivePort_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0087h
jmp NtAlpcSendWaitReceivePort_Epilogue
NtAlpcSendWaitReceivePort_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0087h
jmp NtAlpcSendWaitReceivePort_Epilogue
NtAlpcSendWaitReceivePort_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0088h
jmp NtAlpcSendWaitReceivePort_Epilogue
NtAlpcSendWaitReceivePort_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0088h
jmp NtAlpcSendWaitReceivePort_Epilogue
NtAlpcSendWaitReceivePort_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0088h
jmp NtAlpcSendWaitReceivePort_Epilogue
NtAlpcSendWaitReceivePort_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0089h
jmp NtAlpcSendWaitReceivePort_Epilogue
NtAlpcSendWaitReceivePort_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0089h
jmp NtAlpcSendWaitReceivePort_Epilogue
NtAlpcSendWaitReceivePort_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 008ah
jmp NtAlpcSendWaitReceivePort_Epilogue
NtAlpcSendWaitReceivePort_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 008ah
jmp NtAlpcSendWaitReceivePort_Epilogue
NtAlpcSendWaitReceivePort_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 008ah
jmp NtAlpcSendWaitReceivePort_Epilogue
NtAlpcSendWaitReceivePort_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 008ah
jmp NtAlpcSendWaitReceivePort_Epilogue
NtAlpcSendWaitReceivePort_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcSendWaitReceivePort_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcSendWaitReceivePort ENDP
NtAlpcSetInformation PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAlpcSetInformation_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAlpcSetInformation_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAlpcSetInformation_Check_10_0_XXXX
jmp NtAlpcSetInformation_SystemCall_Unknown
NtAlpcSetInformation_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAlpcSetInformation_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAlpcSetInformation_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcSetInformation_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAlpcSetInformation_SystemCall_6_3_XXXX
jmp NtAlpcSetInformation_SystemCall_Unknown
NtAlpcSetInformation_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAlpcSetInformation_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAlpcSetInformation_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAlpcSetInformation_SystemCall_6_0_6002
jmp NtAlpcSetInformation_SystemCall_Unknown
NtAlpcSetInformation_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAlpcSetInformation_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAlpcSetInformation_SystemCall_6_1_7601
jmp NtAlpcSetInformation_SystemCall_Unknown
NtAlpcSetInformation_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAlpcSetInformation_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAlpcSetInformation_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAlpcSetInformation_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAlpcSetInformation_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAlpcSetInformation_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAlpcSetInformation_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAlpcSetInformation_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAlpcSetInformation_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAlpcSetInformation_SystemCall_10_0_18363
jmp NtAlpcSetInformation_SystemCall_Unknown
NtAlpcSetInformation_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0083h
jmp NtAlpcSetInformation_Epilogue
NtAlpcSetInformation_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0083h
jmp NtAlpcSetInformation_Epilogue
NtAlpcSetInformation_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0083h
jmp NtAlpcSetInformation_Epilogue
NtAlpcSetInformation_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0083h
jmp NtAlpcSetInformation_Epilogue
NtAlpcSetInformation_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0083h
jmp NtAlpcSetInformation_Epilogue
NtAlpcSetInformation_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0088h
jmp NtAlpcSetInformation_Epilogue
NtAlpcSetInformation_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0088h
jmp NtAlpcSetInformation_Epilogue
NtAlpcSetInformation_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0089h
jmp NtAlpcSetInformation_Epilogue
NtAlpcSetInformation_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0089h
jmp NtAlpcSetInformation_Epilogue
NtAlpcSetInformation_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0089h
jmp NtAlpcSetInformation_Epilogue
NtAlpcSetInformation_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 008ah
jmp NtAlpcSetInformation_Epilogue
NtAlpcSetInformation_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 008ah
jmp NtAlpcSetInformation_Epilogue
NtAlpcSetInformation_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 008bh
jmp NtAlpcSetInformation_Epilogue
NtAlpcSetInformation_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 008bh
jmp NtAlpcSetInformation_Epilogue
NtAlpcSetInformation_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 008bh
jmp NtAlpcSetInformation_Epilogue
NtAlpcSetInformation_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 008bh
jmp NtAlpcSetInformation_Epilogue
NtAlpcSetInformation_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAlpcSetInformation_Epilogue:
mov r10, rcx
syscall
ret
NtAlpcSetInformation ENDP
NtApphelpCacheControl PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtApphelpCacheControl_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtApphelpCacheControl_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtApphelpCacheControl_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtApphelpCacheControl_Check_10_0_XXXX
jmp NtApphelpCacheControl_SystemCall_Unknown
NtApphelpCacheControl_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtApphelpCacheControl_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtApphelpCacheControl_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtApphelpCacheControl_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtApphelpCacheControl_SystemCall_6_3_XXXX
jmp NtApphelpCacheControl_SystemCall_Unknown
NtApphelpCacheControl_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtApphelpCacheControl_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtApphelpCacheControl_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtApphelpCacheControl_SystemCall_6_0_6002
jmp NtApphelpCacheControl_SystemCall_Unknown
NtApphelpCacheControl_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtApphelpCacheControl_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtApphelpCacheControl_SystemCall_6_1_7601
jmp NtApphelpCacheControl_SystemCall_Unknown
NtApphelpCacheControl_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtApphelpCacheControl_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtApphelpCacheControl_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtApphelpCacheControl_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtApphelpCacheControl_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtApphelpCacheControl_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtApphelpCacheControl_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtApphelpCacheControl_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtApphelpCacheControl_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtApphelpCacheControl_SystemCall_10_0_18363
jmp NtApphelpCacheControl_SystemCall_Unknown
NtApphelpCacheControl_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0049h
jmp NtApphelpCacheControl_Epilogue
NtApphelpCacheControl_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0049h
jmp NtApphelpCacheControl_Epilogue
NtApphelpCacheControl_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0049h
jmp NtApphelpCacheControl_Epilogue
NtApphelpCacheControl_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0049h
jmp NtApphelpCacheControl_Epilogue
NtApphelpCacheControl_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0049h
jmp NtApphelpCacheControl_Epilogue
NtApphelpCacheControl_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0049h
jmp NtApphelpCacheControl_Epilogue
NtApphelpCacheControl_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 004ah
jmp NtApphelpCacheControl_Epilogue
NtApphelpCacheControl_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 004bh
jmp NtApphelpCacheControl_Epilogue
NtApphelpCacheControl_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 004ch
jmp NtApphelpCacheControl_Epilogue
NtApphelpCacheControl_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 004ch
jmp NtApphelpCacheControl_Epilogue
NtApphelpCacheControl_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 004ch
jmp NtApphelpCacheControl_Epilogue
NtApphelpCacheControl_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 004ch
jmp NtApphelpCacheControl_Epilogue
NtApphelpCacheControl_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 004ch
jmp NtApphelpCacheControl_Epilogue
NtApphelpCacheControl_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 004ch
jmp NtApphelpCacheControl_Epilogue
NtApphelpCacheControl_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 004ch
jmp NtApphelpCacheControl_Epilogue
NtApphelpCacheControl_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 004ch
jmp NtApphelpCacheControl_Epilogue
NtApphelpCacheControl_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 004ch
jmp NtApphelpCacheControl_Epilogue
NtApphelpCacheControl_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtApphelpCacheControl_Epilogue:
mov r10, rcx
syscall
ret
NtApphelpCacheControl ENDP
NtAreMappedFilesTheSame PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAreMappedFilesTheSame_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAreMappedFilesTheSame_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAreMappedFilesTheSame_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAreMappedFilesTheSame_Check_10_0_XXXX
jmp NtAreMappedFilesTheSame_SystemCall_Unknown
NtAreMappedFilesTheSame_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAreMappedFilesTheSame_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAreMappedFilesTheSame_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAreMappedFilesTheSame_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAreMappedFilesTheSame_SystemCall_6_3_XXXX
jmp NtAreMappedFilesTheSame_SystemCall_Unknown
NtAreMappedFilesTheSame_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAreMappedFilesTheSame_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAreMappedFilesTheSame_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAreMappedFilesTheSame_SystemCall_6_0_6002
jmp NtAreMappedFilesTheSame_SystemCall_Unknown
NtAreMappedFilesTheSame_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAreMappedFilesTheSame_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAreMappedFilesTheSame_SystemCall_6_1_7601
jmp NtAreMappedFilesTheSame_SystemCall_Unknown
NtAreMappedFilesTheSame_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAreMappedFilesTheSame_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAreMappedFilesTheSame_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAreMappedFilesTheSame_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAreMappedFilesTheSame_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAreMappedFilesTheSame_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAreMappedFilesTheSame_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAreMappedFilesTheSame_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAreMappedFilesTheSame_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAreMappedFilesTheSame_SystemCall_10_0_18363
jmp NtAreMappedFilesTheSame_SystemCall_Unknown
NtAreMappedFilesTheSame_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 006eh
jmp NtAreMappedFilesTheSame_Epilogue
NtAreMappedFilesTheSame_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0084h
jmp NtAreMappedFilesTheSame_Epilogue
NtAreMappedFilesTheSame_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0084h
jmp NtAreMappedFilesTheSame_Epilogue
NtAreMappedFilesTheSame_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0084h
jmp NtAreMappedFilesTheSame_Epilogue
NtAreMappedFilesTheSame_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0084h
jmp NtAreMappedFilesTheSame_Epilogue
NtAreMappedFilesTheSame_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0084h
jmp NtAreMappedFilesTheSame_Epilogue
NtAreMappedFilesTheSame_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0089h
jmp NtAreMappedFilesTheSame_Epilogue
NtAreMappedFilesTheSame_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0089h
jmp NtAreMappedFilesTheSame_Epilogue
NtAreMappedFilesTheSame_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 008ah
jmp NtAreMappedFilesTheSame_Epilogue
NtAreMappedFilesTheSame_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 008ah
jmp NtAreMappedFilesTheSame_Epilogue
NtAreMappedFilesTheSame_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 008ah
jmp NtAreMappedFilesTheSame_Epilogue
NtAreMappedFilesTheSame_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 008bh
jmp NtAreMappedFilesTheSame_Epilogue
NtAreMappedFilesTheSame_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 008bh
jmp NtAreMappedFilesTheSame_Epilogue
NtAreMappedFilesTheSame_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 008ch
jmp NtAreMappedFilesTheSame_Epilogue
NtAreMappedFilesTheSame_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 008ch
jmp NtAreMappedFilesTheSame_Epilogue
NtAreMappedFilesTheSame_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 008ch
jmp NtAreMappedFilesTheSame_Epilogue
NtAreMappedFilesTheSame_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 008ch
jmp NtAreMappedFilesTheSame_Epilogue
NtAreMappedFilesTheSame_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAreMappedFilesTheSame_Epilogue:
mov r10, rcx
syscall
ret
NtAreMappedFilesTheSame ENDP
NtAssignProcessToJobObject PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAssignProcessToJobObject_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtAssignProcessToJobObject_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtAssignProcessToJobObject_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAssignProcessToJobObject_Check_10_0_XXXX
jmp NtAssignProcessToJobObject_SystemCall_Unknown
NtAssignProcessToJobObject_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtAssignProcessToJobObject_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtAssignProcessToJobObject_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtAssignProcessToJobObject_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAssignProcessToJobObject_SystemCall_6_3_XXXX
jmp NtAssignProcessToJobObject_SystemCall_Unknown
NtAssignProcessToJobObject_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtAssignProcessToJobObject_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtAssignProcessToJobObject_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtAssignProcessToJobObject_SystemCall_6_0_6002
jmp NtAssignProcessToJobObject_SystemCall_Unknown
NtAssignProcessToJobObject_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtAssignProcessToJobObject_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtAssignProcessToJobObject_SystemCall_6_1_7601
jmp NtAssignProcessToJobObject_SystemCall_Unknown
NtAssignProcessToJobObject_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAssignProcessToJobObject_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAssignProcessToJobObject_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAssignProcessToJobObject_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAssignProcessToJobObject_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAssignProcessToJobObject_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAssignProcessToJobObject_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAssignProcessToJobObject_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAssignProcessToJobObject_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAssignProcessToJobObject_SystemCall_10_0_18363
jmp NtAssignProcessToJobObject_SystemCall_Unknown
NtAssignProcessToJobObject_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 006fh
jmp NtAssignProcessToJobObject_Epilogue
NtAssignProcessToJobObject_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0085h
jmp NtAssignProcessToJobObject_Epilogue
NtAssignProcessToJobObject_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0085h
jmp NtAssignProcessToJobObject_Epilogue
NtAssignProcessToJobObject_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0085h
jmp NtAssignProcessToJobObject_Epilogue
NtAssignProcessToJobObject_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0085h
jmp NtAssignProcessToJobObject_Epilogue
NtAssignProcessToJobObject_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0085h
jmp NtAssignProcessToJobObject_Epilogue
NtAssignProcessToJobObject_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 008ah
jmp NtAssignProcessToJobObject_Epilogue
NtAssignProcessToJobObject_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 008ah
jmp NtAssignProcessToJobObject_Epilogue
NtAssignProcessToJobObject_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 008bh
jmp NtAssignProcessToJobObject_Epilogue
NtAssignProcessToJobObject_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 008bh
jmp NtAssignProcessToJobObject_Epilogue
NtAssignProcessToJobObject_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 008bh
jmp NtAssignProcessToJobObject_Epilogue
NtAssignProcessToJobObject_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 008ch
jmp NtAssignProcessToJobObject_Epilogue
NtAssignProcessToJobObject_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 008ch
jmp NtAssignProcessToJobObject_Epilogue
NtAssignProcessToJobObject_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 008dh
jmp NtAssignProcessToJobObject_Epilogue
NtAssignProcessToJobObject_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 008dh
jmp NtAssignProcessToJobObject_Epilogue
NtAssignProcessToJobObject_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 008dh
jmp NtAssignProcessToJobObject_Epilogue
NtAssignProcessToJobObject_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 008dh
jmp NtAssignProcessToJobObject_Epilogue
NtAssignProcessToJobObject_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAssignProcessToJobObject_Epilogue:
mov r10, rcx
syscall
ret
NtAssignProcessToJobObject ENDP
NtAssociateWaitCompletionPacket PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtAssociateWaitCompletionPacket_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtAssociateWaitCompletionPacket_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtAssociateWaitCompletionPacket_Check_10_0_XXXX
jmp NtAssociateWaitCompletionPacket_SystemCall_Unknown
NtAssociateWaitCompletionPacket_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtAssociateWaitCompletionPacket_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtAssociateWaitCompletionPacket_SystemCall_6_3_XXXX
jmp NtAssociateWaitCompletionPacket_SystemCall_Unknown
NtAssociateWaitCompletionPacket_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtAssociateWaitCompletionPacket_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtAssociateWaitCompletionPacket_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtAssociateWaitCompletionPacket_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtAssociateWaitCompletionPacket_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtAssociateWaitCompletionPacket_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtAssociateWaitCompletionPacket_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtAssociateWaitCompletionPacket_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtAssociateWaitCompletionPacket_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtAssociateWaitCompletionPacket_SystemCall_10_0_18363
jmp NtAssociateWaitCompletionPacket_SystemCall_Unknown
NtAssociateWaitCompletionPacket_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 008bh
jmp NtAssociateWaitCompletionPacket_Epilogue
NtAssociateWaitCompletionPacket_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 008bh
jmp NtAssociateWaitCompletionPacket_Epilogue
NtAssociateWaitCompletionPacket_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 008ch
jmp NtAssociateWaitCompletionPacket_Epilogue
NtAssociateWaitCompletionPacket_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 008ch
jmp NtAssociateWaitCompletionPacket_Epilogue
NtAssociateWaitCompletionPacket_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 008ch
jmp NtAssociateWaitCompletionPacket_Epilogue
NtAssociateWaitCompletionPacket_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 008dh
jmp NtAssociateWaitCompletionPacket_Epilogue
NtAssociateWaitCompletionPacket_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 008dh
jmp NtAssociateWaitCompletionPacket_Epilogue
NtAssociateWaitCompletionPacket_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 008eh
jmp NtAssociateWaitCompletionPacket_Epilogue
NtAssociateWaitCompletionPacket_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 008eh
jmp NtAssociateWaitCompletionPacket_Epilogue
NtAssociateWaitCompletionPacket_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 008eh
jmp NtAssociateWaitCompletionPacket_Epilogue
NtAssociateWaitCompletionPacket_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 008eh
jmp NtAssociateWaitCompletionPacket_Epilogue
NtAssociateWaitCompletionPacket_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtAssociateWaitCompletionPacket_Epilogue:
mov r10, rcx
syscall
ret
NtAssociateWaitCompletionPacket ENDP
NtCallEnclave PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCallEnclave_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtCallEnclave_Check_10_0_XXXX
jmp NtCallEnclave_SystemCall_Unknown
NtCallEnclave_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 16299
je NtCallEnclave_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCallEnclave_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCallEnclave_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCallEnclave_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCallEnclave_SystemCall_10_0_18363
jmp NtCallEnclave_SystemCall_Unknown
NtCallEnclave_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 008eh
jmp NtCallEnclave_Epilogue
NtCallEnclave_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 008fh
jmp NtCallEnclave_Epilogue
NtCallEnclave_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 008fh
jmp NtCallEnclave_Epilogue
NtCallEnclave_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 008fh
jmp NtCallEnclave_Epilogue
NtCallEnclave_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 008fh
jmp NtCallEnclave_Epilogue
NtCallEnclave_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCallEnclave_Epilogue:
mov r10, rcx
syscall
ret
NtCallEnclave ENDP
NtCallbackReturn PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCallbackReturn_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCallbackReturn_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCallbackReturn_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCallbackReturn_Check_10_0_XXXX
jmp NtCallbackReturn_SystemCall_Unknown
NtCallbackReturn_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCallbackReturn_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCallbackReturn_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCallbackReturn_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCallbackReturn_SystemCall_6_3_XXXX
jmp NtCallbackReturn_SystemCall_Unknown
NtCallbackReturn_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCallbackReturn_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCallbackReturn_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCallbackReturn_SystemCall_6_0_6002
jmp NtCallbackReturn_SystemCall_Unknown
NtCallbackReturn_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCallbackReturn_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCallbackReturn_SystemCall_6_1_7601
jmp NtCallbackReturn_SystemCall_Unknown
NtCallbackReturn_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCallbackReturn_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCallbackReturn_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCallbackReturn_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCallbackReturn_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCallbackReturn_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCallbackReturn_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCallbackReturn_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCallbackReturn_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCallbackReturn_SystemCall_10_0_18363
jmp NtCallbackReturn_SystemCall_Unknown
NtCallbackReturn_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0002h
jmp NtCallbackReturn_Epilogue
NtCallbackReturn_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0002h
jmp NtCallbackReturn_Epilogue
NtCallbackReturn_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0002h
jmp NtCallbackReturn_Epilogue
NtCallbackReturn_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0002h
jmp NtCallbackReturn_Epilogue
NtCallbackReturn_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0002h
jmp NtCallbackReturn_Epilogue
NtCallbackReturn_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0002h
jmp NtCallbackReturn_Epilogue
NtCallbackReturn_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0003h
jmp NtCallbackReturn_Epilogue
NtCallbackReturn_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0004h
jmp NtCallbackReturn_Epilogue
NtCallbackReturn_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0005h
jmp NtCallbackReturn_Epilogue
NtCallbackReturn_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0005h
jmp NtCallbackReturn_Epilogue
NtCallbackReturn_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0005h
jmp NtCallbackReturn_Epilogue
NtCallbackReturn_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0005h
jmp NtCallbackReturn_Epilogue
NtCallbackReturn_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0005h
jmp NtCallbackReturn_Epilogue
NtCallbackReturn_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0005h
jmp NtCallbackReturn_Epilogue
NtCallbackReturn_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0005h
jmp NtCallbackReturn_Epilogue
NtCallbackReturn_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0005h
jmp NtCallbackReturn_Epilogue
NtCallbackReturn_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0005h
jmp NtCallbackReturn_Epilogue
NtCallbackReturn_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCallbackReturn_Epilogue:
mov r10, rcx
syscall
ret
NtCallbackReturn ENDP
NtCancelDeviceWakeupRequest PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCancelDeviceWakeupRequest_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCancelDeviceWakeupRequest_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCancelDeviceWakeupRequest_Check_6_X_XXXX
jmp NtCancelDeviceWakeupRequest_SystemCall_Unknown
NtCancelDeviceWakeupRequest_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCancelDeviceWakeupRequest_Check_6_0_XXXX
jmp NtCancelDeviceWakeupRequest_SystemCall_Unknown
NtCancelDeviceWakeupRequest_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCancelDeviceWakeupRequest_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCancelDeviceWakeupRequest_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCancelDeviceWakeupRequest_SystemCall_6_0_6002
jmp NtCancelDeviceWakeupRequest_SystemCall_Unknown
NtCancelDeviceWakeupRequest_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0070h
jmp NtCancelDeviceWakeupRequest_Epilogue
NtCancelDeviceWakeupRequest_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0086h
jmp NtCancelDeviceWakeupRequest_Epilogue
NtCancelDeviceWakeupRequest_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0086h
jmp NtCancelDeviceWakeupRequest_Epilogue
NtCancelDeviceWakeupRequest_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0086h
jmp NtCancelDeviceWakeupRequest_Epilogue
NtCancelDeviceWakeupRequest_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCancelDeviceWakeupRequest_Epilogue:
mov r10, rcx
syscall
ret
NtCancelDeviceWakeupRequest ENDP
NtCancelIoFile PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCancelIoFile_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCancelIoFile_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCancelIoFile_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCancelIoFile_Check_10_0_XXXX
jmp NtCancelIoFile_SystemCall_Unknown
NtCancelIoFile_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCancelIoFile_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCancelIoFile_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCancelIoFile_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCancelIoFile_SystemCall_6_3_XXXX
jmp NtCancelIoFile_SystemCall_Unknown
NtCancelIoFile_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCancelIoFile_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCancelIoFile_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCancelIoFile_SystemCall_6_0_6002
jmp NtCancelIoFile_SystemCall_Unknown
NtCancelIoFile_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCancelIoFile_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCancelIoFile_SystemCall_6_1_7601
jmp NtCancelIoFile_SystemCall_Unknown
NtCancelIoFile_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCancelIoFile_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCancelIoFile_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCancelIoFile_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCancelIoFile_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCancelIoFile_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCancelIoFile_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCancelIoFile_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCancelIoFile_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCancelIoFile_SystemCall_10_0_18363
jmp NtCancelIoFile_SystemCall_Unknown
NtCancelIoFile_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 005ah
jmp NtCancelIoFile_Epilogue
NtCancelIoFile_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 005ah
jmp NtCancelIoFile_Epilogue
NtCancelIoFile_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 005ah
jmp NtCancelIoFile_Epilogue
NtCancelIoFile_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 005ah
jmp NtCancelIoFile_Epilogue
NtCancelIoFile_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 005ah
jmp NtCancelIoFile_Epilogue
NtCancelIoFile_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 005ah
jmp NtCancelIoFile_Epilogue
NtCancelIoFile_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 005bh
jmp NtCancelIoFile_Epilogue
NtCancelIoFile_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 005ch
jmp NtCancelIoFile_Epilogue
NtCancelIoFile_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 005dh
jmp NtCancelIoFile_Epilogue
NtCancelIoFile_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 005dh
jmp NtCancelIoFile_Epilogue
NtCancelIoFile_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 005dh
jmp NtCancelIoFile_Epilogue
NtCancelIoFile_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 005dh
jmp NtCancelIoFile_Epilogue
NtCancelIoFile_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 005dh
jmp NtCancelIoFile_Epilogue
NtCancelIoFile_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 005dh
jmp NtCancelIoFile_Epilogue
NtCancelIoFile_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 005dh
jmp NtCancelIoFile_Epilogue
NtCancelIoFile_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 005dh
jmp NtCancelIoFile_Epilogue
NtCancelIoFile_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 005dh
jmp NtCancelIoFile_Epilogue
NtCancelIoFile_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCancelIoFile_Epilogue:
mov r10, rcx
syscall
ret
NtCancelIoFile ENDP
NtCancelIoFileEx PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCancelIoFileEx_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCancelIoFileEx_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCancelIoFileEx_Check_10_0_XXXX
jmp NtCancelIoFileEx_SystemCall_Unknown
NtCancelIoFileEx_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCancelIoFileEx_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCancelIoFileEx_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCancelIoFileEx_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCancelIoFileEx_SystemCall_6_3_XXXX
jmp NtCancelIoFileEx_SystemCall_Unknown
NtCancelIoFileEx_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCancelIoFileEx_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCancelIoFileEx_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCancelIoFileEx_SystemCall_6_0_6002
jmp NtCancelIoFileEx_SystemCall_Unknown
NtCancelIoFileEx_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCancelIoFileEx_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCancelIoFileEx_SystemCall_6_1_7601
jmp NtCancelIoFileEx_SystemCall_Unknown
NtCancelIoFileEx_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCancelIoFileEx_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCancelIoFileEx_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCancelIoFileEx_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCancelIoFileEx_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCancelIoFileEx_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCancelIoFileEx_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCancelIoFileEx_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCancelIoFileEx_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCancelIoFileEx_SystemCall_10_0_18363
jmp NtCancelIoFileEx_SystemCall_Unknown
NtCancelIoFileEx_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0087h
jmp NtCancelIoFileEx_Epilogue
NtCancelIoFileEx_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0087h
jmp NtCancelIoFileEx_Epilogue
NtCancelIoFileEx_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0087h
jmp NtCancelIoFileEx_Epilogue
NtCancelIoFileEx_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0086h
jmp NtCancelIoFileEx_Epilogue
NtCancelIoFileEx_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0086h
jmp NtCancelIoFileEx_Epilogue
NtCancelIoFileEx_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 008ch
jmp NtCancelIoFileEx_Epilogue
NtCancelIoFileEx_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 008ch
jmp NtCancelIoFileEx_Epilogue
NtCancelIoFileEx_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 008dh
jmp NtCancelIoFileEx_Epilogue
NtCancelIoFileEx_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 008dh
jmp NtCancelIoFileEx_Epilogue
NtCancelIoFileEx_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 008dh
jmp NtCancelIoFileEx_Epilogue
NtCancelIoFileEx_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 008eh
jmp NtCancelIoFileEx_Epilogue
NtCancelIoFileEx_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 008fh
jmp NtCancelIoFileEx_Epilogue
NtCancelIoFileEx_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0090h
jmp NtCancelIoFileEx_Epilogue
NtCancelIoFileEx_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0090h
jmp NtCancelIoFileEx_Epilogue
NtCancelIoFileEx_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0090h
jmp NtCancelIoFileEx_Epilogue
NtCancelIoFileEx_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0090h
jmp NtCancelIoFileEx_Epilogue
NtCancelIoFileEx_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCancelIoFileEx_Epilogue:
mov r10, rcx
syscall
ret
NtCancelIoFileEx ENDP
NtCancelSynchronousIoFile PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCancelSynchronousIoFile_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCancelSynchronousIoFile_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCancelSynchronousIoFile_Check_10_0_XXXX
jmp NtCancelSynchronousIoFile_SystemCall_Unknown
NtCancelSynchronousIoFile_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCancelSynchronousIoFile_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCancelSynchronousIoFile_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCancelSynchronousIoFile_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCancelSynchronousIoFile_SystemCall_6_3_XXXX
jmp NtCancelSynchronousIoFile_SystemCall_Unknown
NtCancelSynchronousIoFile_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCancelSynchronousIoFile_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCancelSynchronousIoFile_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCancelSynchronousIoFile_SystemCall_6_0_6002
jmp NtCancelSynchronousIoFile_SystemCall_Unknown
NtCancelSynchronousIoFile_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCancelSynchronousIoFile_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCancelSynchronousIoFile_SystemCall_6_1_7601
jmp NtCancelSynchronousIoFile_SystemCall_Unknown
NtCancelSynchronousIoFile_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCancelSynchronousIoFile_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCancelSynchronousIoFile_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCancelSynchronousIoFile_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCancelSynchronousIoFile_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCancelSynchronousIoFile_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCancelSynchronousIoFile_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCancelSynchronousIoFile_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCancelSynchronousIoFile_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCancelSynchronousIoFile_SystemCall_10_0_18363
jmp NtCancelSynchronousIoFile_SystemCall_Unknown
NtCancelSynchronousIoFile_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0088h
jmp NtCancelSynchronousIoFile_Epilogue
NtCancelSynchronousIoFile_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0088h
jmp NtCancelSynchronousIoFile_Epilogue
NtCancelSynchronousIoFile_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0088h
jmp NtCancelSynchronousIoFile_Epilogue
NtCancelSynchronousIoFile_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0087h
jmp NtCancelSynchronousIoFile_Epilogue
NtCancelSynchronousIoFile_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0087h
jmp NtCancelSynchronousIoFile_Epilogue
NtCancelSynchronousIoFile_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 008dh
jmp NtCancelSynchronousIoFile_Epilogue
NtCancelSynchronousIoFile_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 008dh
jmp NtCancelSynchronousIoFile_Epilogue
NtCancelSynchronousIoFile_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 008eh
jmp NtCancelSynchronousIoFile_Epilogue
NtCancelSynchronousIoFile_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 008eh
jmp NtCancelSynchronousIoFile_Epilogue
NtCancelSynchronousIoFile_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 008eh
jmp NtCancelSynchronousIoFile_Epilogue
NtCancelSynchronousIoFile_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 008fh
jmp NtCancelSynchronousIoFile_Epilogue
NtCancelSynchronousIoFile_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0090h
jmp NtCancelSynchronousIoFile_Epilogue
NtCancelSynchronousIoFile_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0091h
jmp NtCancelSynchronousIoFile_Epilogue
NtCancelSynchronousIoFile_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0091h
jmp NtCancelSynchronousIoFile_Epilogue
NtCancelSynchronousIoFile_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0091h
jmp NtCancelSynchronousIoFile_Epilogue
NtCancelSynchronousIoFile_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0091h
jmp NtCancelSynchronousIoFile_Epilogue
NtCancelSynchronousIoFile_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCancelSynchronousIoFile_Epilogue:
mov r10, rcx
syscall
ret
NtCancelSynchronousIoFile ENDP
NtCancelTimer PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCancelTimer_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCancelTimer_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCancelTimer_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCancelTimer_Check_10_0_XXXX
jmp NtCancelTimer_SystemCall_Unknown
NtCancelTimer_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCancelTimer_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCancelTimer_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCancelTimer_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCancelTimer_SystemCall_6_3_XXXX
jmp NtCancelTimer_SystemCall_Unknown
NtCancelTimer_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCancelTimer_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCancelTimer_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCancelTimer_SystemCall_6_0_6002
jmp NtCancelTimer_SystemCall_Unknown
NtCancelTimer_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCancelTimer_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCancelTimer_SystemCall_6_1_7601
jmp NtCancelTimer_SystemCall_Unknown
NtCancelTimer_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCancelTimer_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCancelTimer_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCancelTimer_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCancelTimer_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCancelTimer_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCancelTimer_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCancelTimer_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCancelTimer_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCancelTimer_SystemCall_10_0_18363
jmp NtCancelTimer_SystemCall_Unknown
NtCancelTimer_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 005eh
jmp NtCancelTimer_Epilogue
NtCancelTimer_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 005eh
jmp NtCancelTimer_Epilogue
NtCancelTimer_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 005eh
jmp NtCancelTimer_Epilogue
NtCancelTimer_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 005eh
jmp NtCancelTimer_Epilogue
NtCancelTimer_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 005eh
jmp NtCancelTimer_Epilogue
NtCancelTimer_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 005eh
jmp NtCancelTimer_Epilogue
NtCancelTimer_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 005fh
jmp NtCancelTimer_Epilogue
NtCancelTimer_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0060h
jmp NtCancelTimer_Epilogue
NtCancelTimer_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0061h
jmp NtCancelTimer_Epilogue
NtCancelTimer_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0061h
jmp NtCancelTimer_Epilogue
NtCancelTimer_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0061h
jmp NtCancelTimer_Epilogue
NtCancelTimer_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0061h
jmp NtCancelTimer_Epilogue
NtCancelTimer_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0061h
jmp NtCancelTimer_Epilogue
NtCancelTimer_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0061h
jmp NtCancelTimer_Epilogue
NtCancelTimer_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0061h
jmp NtCancelTimer_Epilogue
NtCancelTimer_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0061h
jmp NtCancelTimer_Epilogue
NtCancelTimer_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0061h
jmp NtCancelTimer_Epilogue
NtCancelTimer_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCancelTimer_Epilogue:
mov r10, rcx
syscall
ret
NtCancelTimer ENDP
NtCancelTimer2 PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCancelTimer2_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCancelTimer2_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCancelTimer2_Check_10_0_XXXX
jmp NtCancelTimer2_SystemCall_Unknown
NtCancelTimer2_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtCancelTimer2_SystemCall_6_3_XXXX
jmp NtCancelTimer2_SystemCall_Unknown
NtCancelTimer2_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCancelTimer2_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCancelTimer2_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCancelTimer2_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCancelTimer2_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCancelTimer2_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCancelTimer2_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCancelTimer2_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCancelTimer2_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCancelTimer2_SystemCall_10_0_18363
jmp NtCancelTimer2_SystemCall_Unknown
NtCancelTimer2_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 008eh
jmp NtCancelTimer2_Epilogue
NtCancelTimer2_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 008fh
jmp NtCancelTimer2_Epilogue
NtCancelTimer2_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 008fh
jmp NtCancelTimer2_Epilogue
NtCancelTimer2_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 008fh
jmp NtCancelTimer2_Epilogue
NtCancelTimer2_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0090h
jmp NtCancelTimer2_Epilogue
NtCancelTimer2_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0091h
jmp NtCancelTimer2_Epilogue
NtCancelTimer2_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0092h
jmp NtCancelTimer2_Epilogue
NtCancelTimer2_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0092h
jmp NtCancelTimer2_Epilogue
NtCancelTimer2_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0092h
jmp NtCancelTimer2_Epilogue
NtCancelTimer2_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0092h
jmp NtCancelTimer2_Epilogue
NtCancelTimer2_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCancelTimer2_Epilogue:
mov r10, rcx
syscall
ret
NtCancelTimer2 ENDP
NtCancelWaitCompletionPacket PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCancelWaitCompletionPacket_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCancelWaitCompletionPacket_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCancelWaitCompletionPacket_Check_10_0_XXXX
jmp NtCancelWaitCompletionPacket_SystemCall_Unknown
NtCancelWaitCompletionPacket_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtCancelWaitCompletionPacket_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCancelWaitCompletionPacket_SystemCall_6_3_XXXX
jmp NtCancelWaitCompletionPacket_SystemCall_Unknown
NtCancelWaitCompletionPacket_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCancelWaitCompletionPacket_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCancelWaitCompletionPacket_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCancelWaitCompletionPacket_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCancelWaitCompletionPacket_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCancelWaitCompletionPacket_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCancelWaitCompletionPacket_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCancelWaitCompletionPacket_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCancelWaitCompletionPacket_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCancelWaitCompletionPacket_SystemCall_10_0_18363
jmp NtCancelWaitCompletionPacket_SystemCall_Unknown
NtCancelWaitCompletionPacket_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 008eh
jmp NtCancelWaitCompletionPacket_Epilogue
NtCancelWaitCompletionPacket_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 008fh
jmp NtCancelWaitCompletionPacket_Epilogue
NtCancelWaitCompletionPacket_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0090h
jmp NtCancelWaitCompletionPacket_Epilogue
NtCancelWaitCompletionPacket_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0090h
jmp NtCancelWaitCompletionPacket_Epilogue
NtCancelWaitCompletionPacket_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0090h
jmp NtCancelWaitCompletionPacket_Epilogue
NtCancelWaitCompletionPacket_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0091h
jmp NtCancelWaitCompletionPacket_Epilogue
NtCancelWaitCompletionPacket_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0092h
jmp NtCancelWaitCompletionPacket_Epilogue
NtCancelWaitCompletionPacket_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0093h
jmp NtCancelWaitCompletionPacket_Epilogue
NtCancelWaitCompletionPacket_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0093h
jmp NtCancelWaitCompletionPacket_Epilogue
NtCancelWaitCompletionPacket_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0093h
jmp NtCancelWaitCompletionPacket_Epilogue
NtCancelWaitCompletionPacket_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0093h
jmp NtCancelWaitCompletionPacket_Epilogue
NtCancelWaitCompletionPacket_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCancelWaitCompletionPacket_Epilogue:
mov r10, rcx
syscall
ret
NtCancelWaitCompletionPacket ENDP
NtClearAllSavepointsTransaction PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtClearAllSavepointsTransaction_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtClearAllSavepointsTransaction_Check_6_X_XXXX
jmp NtClearAllSavepointsTransaction_SystemCall_Unknown
NtClearAllSavepointsTransaction_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtClearAllSavepointsTransaction_Check_6_0_XXXX
jmp NtClearAllSavepointsTransaction_SystemCall_Unknown
NtClearAllSavepointsTransaction_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtClearAllSavepointsTransaction_SystemCall_6_0_6000
jmp NtClearAllSavepointsTransaction_SystemCall_Unknown
NtClearAllSavepointsTransaction_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0089h
jmp NtClearAllSavepointsTransaction_Epilogue
NtClearAllSavepointsTransaction_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtClearAllSavepointsTransaction_Epilogue:
mov r10, rcx
syscall
ret
NtClearAllSavepointsTransaction ENDP
NtClearEvent PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtClearEvent_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtClearEvent_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtClearEvent_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtClearEvent_Check_10_0_XXXX
jmp NtClearEvent_SystemCall_Unknown
NtClearEvent_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtClearEvent_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtClearEvent_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtClearEvent_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtClearEvent_SystemCall_6_3_XXXX
jmp NtClearEvent_SystemCall_Unknown
NtClearEvent_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtClearEvent_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtClearEvent_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtClearEvent_SystemCall_6_0_6002
jmp NtClearEvent_SystemCall_Unknown
NtClearEvent_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtClearEvent_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtClearEvent_SystemCall_6_1_7601
jmp NtClearEvent_SystemCall_Unknown
NtClearEvent_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtClearEvent_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtClearEvent_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtClearEvent_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtClearEvent_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtClearEvent_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtClearEvent_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtClearEvent_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtClearEvent_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtClearEvent_SystemCall_10_0_18363
jmp NtClearEvent_SystemCall_Unknown
NtClearEvent_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 003bh
jmp NtClearEvent_Epilogue
NtClearEvent_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 003bh
jmp NtClearEvent_Epilogue
NtClearEvent_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 003bh
jmp NtClearEvent_Epilogue
NtClearEvent_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 003bh
jmp NtClearEvent_Epilogue
NtClearEvent_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 003bh
jmp NtClearEvent_Epilogue
NtClearEvent_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 003bh
jmp NtClearEvent_Epilogue
NtClearEvent_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 003ch
jmp NtClearEvent_Epilogue
NtClearEvent_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 003dh
jmp NtClearEvent_Epilogue
NtClearEvent_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 003eh
jmp NtClearEvent_Epilogue
NtClearEvent_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 003eh
jmp NtClearEvent_Epilogue
NtClearEvent_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 003eh
jmp NtClearEvent_Epilogue
NtClearEvent_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 003eh
jmp NtClearEvent_Epilogue
NtClearEvent_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 003eh
jmp NtClearEvent_Epilogue
NtClearEvent_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 003eh
jmp NtClearEvent_Epilogue
NtClearEvent_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 003eh
jmp NtClearEvent_Epilogue
NtClearEvent_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 003eh
jmp NtClearEvent_Epilogue
NtClearEvent_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 003eh
jmp NtClearEvent_Epilogue
NtClearEvent_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtClearEvent_Epilogue:
mov r10, rcx
syscall
ret
NtClearEvent ENDP
NtClearSavepointTransaction PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtClearSavepointTransaction_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtClearSavepointTransaction_Check_6_X_XXXX
jmp NtClearSavepointTransaction_SystemCall_Unknown
NtClearSavepointTransaction_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtClearSavepointTransaction_Check_6_0_XXXX
jmp NtClearSavepointTransaction_SystemCall_Unknown
NtClearSavepointTransaction_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtClearSavepointTransaction_SystemCall_6_0_6000
jmp NtClearSavepointTransaction_SystemCall_Unknown
NtClearSavepointTransaction_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 008ah
jmp NtClearSavepointTransaction_Epilogue
NtClearSavepointTransaction_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtClearSavepointTransaction_Epilogue:
mov r10, rcx
syscall
ret
NtClearSavepointTransaction ENDP
NtClose PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtClose_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtClose_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtClose_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtClose_Check_10_0_XXXX
jmp NtClose_SystemCall_Unknown
NtClose_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtClose_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtClose_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtClose_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtClose_SystemCall_6_3_XXXX
jmp NtClose_SystemCall_Unknown
NtClose_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtClose_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtClose_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtClose_SystemCall_6_0_6002
jmp NtClose_SystemCall_Unknown
NtClose_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtClose_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtClose_SystemCall_6_1_7601
jmp NtClose_SystemCall_Unknown
NtClose_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtClose_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtClose_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtClose_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtClose_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtClose_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtClose_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtClose_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtClose_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtClose_SystemCall_10_0_18363
jmp NtClose_SystemCall_Unknown
NtClose_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 000ch
jmp NtClose_Epilogue
NtClose_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 000ch
jmp NtClose_Epilogue
NtClose_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 000ch
jmp NtClose_Epilogue
NtClose_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 000ch
jmp NtClose_Epilogue
NtClose_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 000ch
jmp NtClose_Epilogue
NtClose_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 000ch
jmp NtClose_Epilogue
NtClose_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 000dh
jmp NtClose_Epilogue
NtClose_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 000eh
jmp NtClose_Epilogue
NtClose_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 000fh
jmp NtClose_Epilogue
NtClose_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 000fh
jmp NtClose_Epilogue
NtClose_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 000fh
jmp NtClose_Epilogue
NtClose_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 000fh
jmp NtClose_Epilogue
NtClose_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 000fh
jmp NtClose_Epilogue
NtClose_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 000fh
jmp NtClose_Epilogue
NtClose_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 000fh
jmp NtClose_Epilogue
NtClose_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 000fh
jmp NtClose_Epilogue
NtClose_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 000fh
jmp NtClose_Epilogue
NtClose_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtClose_Epilogue:
mov r10, rcx
syscall
ret
NtClose ENDP
NtCloseObjectAuditAlarm PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCloseObjectAuditAlarm_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCloseObjectAuditAlarm_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCloseObjectAuditAlarm_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCloseObjectAuditAlarm_Check_10_0_XXXX
jmp NtCloseObjectAuditAlarm_SystemCall_Unknown
NtCloseObjectAuditAlarm_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCloseObjectAuditAlarm_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCloseObjectAuditAlarm_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCloseObjectAuditAlarm_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCloseObjectAuditAlarm_SystemCall_6_3_XXXX
jmp NtCloseObjectAuditAlarm_SystemCall_Unknown
NtCloseObjectAuditAlarm_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCloseObjectAuditAlarm_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCloseObjectAuditAlarm_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCloseObjectAuditAlarm_SystemCall_6_0_6002
jmp NtCloseObjectAuditAlarm_SystemCall_Unknown
NtCloseObjectAuditAlarm_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCloseObjectAuditAlarm_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCloseObjectAuditAlarm_SystemCall_6_1_7601
jmp NtCloseObjectAuditAlarm_SystemCall_Unknown
NtCloseObjectAuditAlarm_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCloseObjectAuditAlarm_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCloseObjectAuditAlarm_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCloseObjectAuditAlarm_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCloseObjectAuditAlarm_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCloseObjectAuditAlarm_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCloseObjectAuditAlarm_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCloseObjectAuditAlarm_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCloseObjectAuditAlarm_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCloseObjectAuditAlarm_SystemCall_10_0_18363
jmp NtCloseObjectAuditAlarm_SystemCall_Unknown
NtCloseObjectAuditAlarm_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0038h
jmp NtCloseObjectAuditAlarm_Epilogue
NtCloseObjectAuditAlarm_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0038h
jmp NtCloseObjectAuditAlarm_Epilogue
NtCloseObjectAuditAlarm_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0038h
jmp NtCloseObjectAuditAlarm_Epilogue
NtCloseObjectAuditAlarm_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0038h
jmp NtCloseObjectAuditAlarm_Epilogue
NtCloseObjectAuditAlarm_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0038h
jmp NtCloseObjectAuditAlarm_Epilogue
NtCloseObjectAuditAlarm_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0038h
jmp NtCloseObjectAuditAlarm_Epilogue
NtCloseObjectAuditAlarm_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0039h
jmp NtCloseObjectAuditAlarm_Epilogue
NtCloseObjectAuditAlarm_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 003ah
jmp NtCloseObjectAuditAlarm_Epilogue
NtCloseObjectAuditAlarm_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 003bh
jmp NtCloseObjectAuditAlarm_Epilogue
NtCloseObjectAuditAlarm_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 003bh
jmp NtCloseObjectAuditAlarm_Epilogue
NtCloseObjectAuditAlarm_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 003bh
jmp NtCloseObjectAuditAlarm_Epilogue
NtCloseObjectAuditAlarm_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 003bh
jmp NtCloseObjectAuditAlarm_Epilogue
NtCloseObjectAuditAlarm_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 003bh
jmp NtCloseObjectAuditAlarm_Epilogue
NtCloseObjectAuditAlarm_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 003bh
jmp NtCloseObjectAuditAlarm_Epilogue
NtCloseObjectAuditAlarm_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 003bh
jmp NtCloseObjectAuditAlarm_Epilogue
NtCloseObjectAuditAlarm_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 003bh
jmp NtCloseObjectAuditAlarm_Epilogue
NtCloseObjectAuditAlarm_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 003bh
jmp NtCloseObjectAuditAlarm_Epilogue
NtCloseObjectAuditAlarm_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCloseObjectAuditAlarm_Epilogue:
mov r10, rcx
syscall
ret
NtCloseObjectAuditAlarm ENDP
NtCommitComplete PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCommitComplete_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCommitComplete_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCommitComplete_Check_10_0_XXXX
jmp NtCommitComplete_SystemCall_Unknown
NtCommitComplete_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCommitComplete_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCommitComplete_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCommitComplete_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCommitComplete_SystemCall_6_3_XXXX
jmp NtCommitComplete_SystemCall_Unknown
NtCommitComplete_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCommitComplete_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCommitComplete_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCommitComplete_SystemCall_6_0_6002
jmp NtCommitComplete_SystemCall_Unknown
NtCommitComplete_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCommitComplete_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCommitComplete_SystemCall_6_1_7601
jmp NtCommitComplete_SystemCall_Unknown
NtCommitComplete_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCommitComplete_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCommitComplete_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCommitComplete_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCommitComplete_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCommitComplete_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCommitComplete_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCommitComplete_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCommitComplete_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCommitComplete_SystemCall_10_0_18363
jmp NtCommitComplete_SystemCall_Unknown
NtCommitComplete_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 008bh
jmp NtCommitComplete_Epilogue
NtCommitComplete_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0089h
jmp NtCommitComplete_Epilogue
NtCommitComplete_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0089h
jmp NtCommitComplete_Epilogue
NtCommitComplete_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0088h
jmp NtCommitComplete_Epilogue
NtCommitComplete_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0088h
jmp NtCommitComplete_Epilogue
NtCommitComplete_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 008fh
jmp NtCommitComplete_Epilogue
NtCommitComplete_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0090h
jmp NtCommitComplete_Epilogue
NtCommitComplete_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0091h
jmp NtCommitComplete_Epilogue
NtCommitComplete_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0091h
jmp NtCommitComplete_Epilogue
NtCommitComplete_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0091h
jmp NtCommitComplete_Epilogue
NtCommitComplete_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0092h
jmp NtCommitComplete_Epilogue
NtCommitComplete_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0093h
jmp NtCommitComplete_Epilogue
NtCommitComplete_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0094h
jmp NtCommitComplete_Epilogue
NtCommitComplete_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0094h
jmp NtCommitComplete_Epilogue
NtCommitComplete_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0094h
jmp NtCommitComplete_Epilogue
NtCommitComplete_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0094h
jmp NtCommitComplete_Epilogue
NtCommitComplete_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCommitComplete_Epilogue:
mov r10, rcx
syscall
ret
NtCommitComplete ENDP
NtCommitEnlistment PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCommitEnlistment_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCommitEnlistment_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCommitEnlistment_Check_10_0_XXXX
jmp NtCommitEnlistment_SystemCall_Unknown
NtCommitEnlistment_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCommitEnlistment_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCommitEnlistment_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCommitEnlistment_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCommitEnlistment_SystemCall_6_3_XXXX
jmp NtCommitEnlistment_SystemCall_Unknown
NtCommitEnlistment_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCommitEnlistment_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCommitEnlistment_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCommitEnlistment_SystemCall_6_0_6002
jmp NtCommitEnlistment_SystemCall_Unknown
NtCommitEnlistment_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCommitEnlistment_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCommitEnlistment_SystemCall_6_1_7601
jmp NtCommitEnlistment_SystemCall_Unknown
NtCommitEnlistment_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCommitEnlistment_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCommitEnlistment_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCommitEnlistment_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCommitEnlistment_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCommitEnlistment_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCommitEnlistment_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCommitEnlistment_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCommitEnlistment_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCommitEnlistment_SystemCall_10_0_18363
jmp NtCommitEnlistment_SystemCall_Unknown
NtCommitEnlistment_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 008ch
jmp NtCommitEnlistment_Epilogue
NtCommitEnlistment_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 008ah
jmp NtCommitEnlistment_Epilogue
NtCommitEnlistment_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 008ah
jmp NtCommitEnlistment_Epilogue
NtCommitEnlistment_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0089h
jmp NtCommitEnlistment_Epilogue
NtCommitEnlistment_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0089h
jmp NtCommitEnlistment_Epilogue
NtCommitEnlistment_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0090h
jmp NtCommitEnlistment_Epilogue
NtCommitEnlistment_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0091h
jmp NtCommitEnlistment_Epilogue
NtCommitEnlistment_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0092h
jmp NtCommitEnlistment_Epilogue
NtCommitEnlistment_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0092h
jmp NtCommitEnlistment_Epilogue
NtCommitEnlistment_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0092h
jmp NtCommitEnlistment_Epilogue
NtCommitEnlistment_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0093h
jmp NtCommitEnlistment_Epilogue
NtCommitEnlistment_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0094h
jmp NtCommitEnlistment_Epilogue
NtCommitEnlistment_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0095h
jmp NtCommitEnlistment_Epilogue
NtCommitEnlistment_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0095h
jmp NtCommitEnlistment_Epilogue
NtCommitEnlistment_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0095h
jmp NtCommitEnlistment_Epilogue
NtCommitEnlistment_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0095h
jmp NtCommitEnlistment_Epilogue
NtCommitEnlistment_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCommitEnlistment_Epilogue:
mov r10, rcx
syscall
ret
NtCommitEnlistment ENDP
NtCommitRegistryTransaction PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCommitRegistryTransaction_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtCommitRegistryTransaction_Check_10_0_XXXX
jmp NtCommitRegistryTransaction_SystemCall_Unknown
NtCommitRegistryTransaction_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 14393
je NtCommitRegistryTransaction_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCommitRegistryTransaction_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCommitRegistryTransaction_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCommitRegistryTransaction_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCommitRegistryTransaction_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCommitRegistryTransaction_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCommitRegistryTransaction_SystemCall_10_0_18363
jmp NtCommitRegistryTransaction_SystemCall_Unknown
NtCommitRegistryTransaction_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0093h
jmp NtCommitRegistryTransaction_Epilogue
NtCommitRegistryTransaction_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0094h
jmp NtCommitRegistryTransaction_Epilogue
NtCommitRegistryTransaction_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0095h
jmp NtCommitRegistryTransaction_Epilogue
NtCommitRegistryTransaction_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0096h
jmp NtCommitRegistryTransaction_Epilogue
NtCommitRegistryTransaction_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0096h
jmp NtCommitRegistryTransaction_Epilogue
NtCommitRegistryTransaction_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0096h
jmp NtCommitRegistryTransaction_Epilogue
NtCommitRegistryTransaction_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0096h
jmp NtCommitRegistryTransaction_Epilogue
NtCommitRegistryTransaction_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCommitRegistryTransaction_Epilogue:
mov r10, rcx
syscall
ret
NtCommitRegistryTransaction ENDP
NtCommitTransaction PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCommitTransaction_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCommitTransaction_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCommitTransaction_Check_10_0_XXXX
jmp NtCommitTransaction_SystemCall_Unknown
NtCommitTransaction_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCommitTransaction_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCommitTransaction_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCommitTransaction_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCommitTransaction_SystemCall_6_3_XXXX
jmp NtCommitTransaction_SystemCall_Unknown
NtCommitTransaction_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCommitTransaction_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCommitTransaction_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCommitTransaction_SystemCall_6_0_6002
jmp NtCommitTransaction_SystemCall_Unknown
NtCommitTransaction_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCommitTransaction_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCommitTransaction_SystemCall_6_1_7601
jmp NtCommitTransaction_SystemCall_Unknown
NtCommitTransaction_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCommitTransaction_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCommitTransaction_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCommitTransaction_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCommitTransaction_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCommitTransaction_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCommitTransaction_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCommitTransaction_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCommitTransaction_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCommitTransaction_SystemCall_10_0_18363
jmp NtCommitTransaction_SystemCall_Unknown
NtCommitTransaction_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 008dh
jmp NtCommitTransaction_Epilogue
NtCommitTransaction_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 008bh
jmp NtCommitTransaction_Epilogue
NtCommitTransaction_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 008bh
jmp NtCommitTransaction_Epilogue
NtCommitTransaction_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 008ah
jmp NtCommitTransaction_Epilogue
NtCommitTransaction_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 008ah
jmp NtCommitTransaction_Epilogue
NtCommitTransaction_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0091h
jmp NtCommitTransaction_Epilogue
NtCommitTransaction_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0092h
jmp NtCommitTransaction_Epilogue
NtCommitTransaction_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0093h
jmp NtCommitTransaction_Epilogue
NtCommitTransaction_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0093h
jmp NtCommitTransaction_Epilogue
NtCommitTransaction_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0094h
jmp NtCommitTransaction_Epilogue
NtCommitTransaction_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0095h
jmp NtCommitTransaction_Epilogue
NtCommitTransaction_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0096h
jmp NtCommitTransaction_Epilogue
NtCommitTransaction_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0097h
jmp NtCommitTransaction_Epilogue
NtCommitTransaction_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0097h
jmp NtCommitTransaction_Epilogue
NtCommitTransaction_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0097h
jmp NtCommitTransaction_Epilogue
NtCommitTransaction_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0097h
jmp NtCommitTransaction_Epilogue
NtCommitTransaction_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCommitTransaction_Epilogue:
mov r10, rcx
syscall
ret
NtCommitTransaction ENDP
NtCompactKeys PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCompactKeys_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCompactKeys_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCompactKeys_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCompactKeys_Check_10_0_XXXX
jmp NtCompactKeys_SystemCall_Unknown
NtCompactKeys_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCompactKeys_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCompactKeys_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCompactKeys_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCompactKeys_SystemCall_6_3_XXXX
jmp NtCompactKeys_SystemCall_Unknown
NtCompactKeys_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCompactKeys_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCompactKeys_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCompactKeys_SystemCall_6_0_6002
jmp NtCompactKeys_SystemCall_Unknown
NtCompactKeys_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCompactKeys_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCompactKeys_SystemCall_6_1_7601
jmp NtCompactKeys_SystemCall_Unknown
NtCompactKeys_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCompactKeys_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCompactKeys_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCompactKeys_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCompactKeys_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCompactKeys_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCompactKeys_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCompactKeys_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCompactKeys_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCompactKeys_SystemCall_10_0_18363
jmp NtCompactKeys_SystemCall_Unknown
NtCompactKeys_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0071h
jmp NtCompactKeys_Epilogue
NtCompactKeys_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 008eh
jmp NtCompactKeys_Epilogue
NtCompactKeys_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 008ch
jmp NtCompactKeys_Epilogue
NtCompactKeys_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 008ch
jmp NtCompactKeys_Epilogue
NtCompactKeys_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 008bh
jmp NtCompactKeys_Epilogue
NtCompactKeys_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 008bh
jmp NtCompactKeys_Epilogue
NtCompactKeys_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0092h
jmp NtCompactKeys_Epilogue
NtCompactKeys_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0093h
jmp NtCompactKeys_Epilogue
NtCompactKeys_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0094h
jmp NtCompactKeys_Epilogue
NtCompactKeys_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0094h
jmp NtCompactKeys_Epilogue
NtCompactKeys_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0095h
jmp NtCompactKeys_Epilogue
NtCompactKeys_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0096h
jmp NtCompactKeys_Epilogue
NtCompactKeys_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0097h
jmp NtCompactKeys_Epilogue
NtCompactKeys_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0098h
jmp NtCompactKeys_Epilogue
NtCompactKeys_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0098h
jmp NtCompactKeys_Epilogue
NtCompactKeys_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0098h
jmp NtCompactKeys_Epilogue
NtCompactKeys_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0098h
jmp NtCompactKeys_Epilogue
NtCompactKeys_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCompactKeys_Epilogue:
mov r10, rcx
syscall
ret
NtCompactKeys ENDP
NtCompareObjects PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCompareObjects_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtCompareObjects_Check_10_0_XXXX
jmp NtCompareObjects_SystemCall_Unknown
NtCompareObjects_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCompareObjects_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCompareObjects_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCompareObjects_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCompareObjects_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCompareObjects_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCompareObjects_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCompareObjects_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCompareObjects_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCompareObjects_SystemCall_10_0_18363
jmp NtCompareObjects_SystemCall_Unknown
NtCompareObjects_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0095h
jmp NtCompareObjects_Epilogue
NtCompareObjects_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0095h
jmp NtCompareObjects_Epilogue
NtCompareObjects_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0096h
jmp NtCompareObjects_Epilogue
NtCompareObjects_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0097h
jmp NtCompareObjects_Epilogue
NtCompareObjects_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0098h
jmp NtCompareObjects_Epilogue
NtCompareObjects_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0099h
jmp NtCompareObjects_Epilogue
NtCompareObjects_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0099h
jmp NtCompareObjects_Epilogue
NtCompareObjects_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0099h
jmp NtCompareObjects_Epilogue
NtCompareObjects_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0099h
jmp NtCompareObjects_Epilogue
NtCompareObjects_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCompareObjects_Epilogue:
mov r10, rcx
syscall
ret
NtCompareObjects ENDP
NtCompareSigningLevels PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCompareSigningLevels_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtCompareSigningLevels_Check_10_0_XXXX
jmp NtCompareSigningLevels_SystemCall_Unknown
NtCompareSigningLevels_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 15063
je NtCompareSigningLevels_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCompareSigningLevels_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCompareSigningLevels_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCompareSigningLevels_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCompareSigningLevels_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCompareSigningLevels_SystemCall_10_0_18363
jmp NtCompareSigningLevels_SystemCall_Unknown
NtCompareSigningLevels_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0098h
jmp NtCompareSigningLevels_Epilogue
NtCompareSigningLevels_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0099h
jmp NtCompareSigningLevels_Epilogue
NtCompareSigningLevels_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 009ah
jmp NtCompareSigningLevels_Epilogue
NtCompareSigningLevels_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 009ah
jmp NtCompareSigningLevels_Epilogue
NtCompareSigningLevels_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 009ah
jmp NtCompareSigningLevels_Epilogue
NtCompareSigningLevels_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 009ah
jmp NtCompareSigningLevels_Epilogue
NtCompareSigningLevels_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCompareSigningLevels_Epilogue:
mov r10, rcx
syscall
ret
NtCompareSigningLevels ENDP
NtCompareTokens PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCompareTokens_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCompareTokens_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCompareTokens_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCompareTokens_Check_10_0_XXXX
jmp NtCompareTokens_SystemCall_Unknown
NtCompareTokens_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCompareTokens_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCompareTokens_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCompareTokens_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCompareTokens_SystemCall_6_3_XXXX
jmp NtCompareTokens_SystemCall_Unknown
NtCompareTokens_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCompareTokens_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCompareTokens_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCompareTokens_SystemCall_6_0_6002
jmp NtCompareTokens_SystemCall_Unknown
NtCompareTokens_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCompareTokens_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCompareTokens_SystemCall_6_1_7601
jmp NtCompareTokens_SystemCall_Unknown
NtCompareTokens_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCompareTokens_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCompareTokens_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCompareTokens_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCompareTokens_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCompareTokens_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCompareTokens_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCompareTokens_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCompareTokens_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCompareTokens_SystemCall_10_0_18363
jmp NtCompareTokens_SystemCall_Unknown
NtCompareTokens_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0072h
jmp NtCompareTokens_Epilogue
NtCompareTokens_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 008fh
jmp NtCompareTokens_Epilogue
NtCompareTokens_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 008dh
jmp NtCompareTokens_Epilogue
NtCompareTokens_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 008dh
jmp NtCompareTokens_Epilogue
NtCompareTokens_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 008ch
jmp NtCompareTokens_Epilogue
NtCompareTokens_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 008ch
jmp NtCompareTokens_Epilogue
NtCompareTokens_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0093h
jmp NtCompareTokens_Epilogue
NtCompareTokens_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0094h
jmp NtCompareTokens_Epilogue
NtCompareTokens_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0096h
jmp NtCompareTokens_Epilogue
NtCompareTokens_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0096h
jmp NtCompareTokens_Epilogue
NtCompareTokens_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0097h
jmp NtCompareTokens_Epilogue
NtCompareTokens_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0099h
jmp NtCompareTokens_Epilogue
NtCompareTokens_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 009ah
jmp NtCompareTokens_Epilogue
NtCompareTokens_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 009bh
jmp NtCompareTokens_Epilogue
NtCompareTokens_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 009bh
jmp NtCompareTokens_Epilogue
NtCompareTokens_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 009bh
jmp NtCompareTokens_Epilogue
NtCompareTokens_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 009bh
jmp NtCompareTokens_Epilogue
NtCompareTokens_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCompareTokens_Epilogue:
mov r10, rcx
syscall
ret
NtCompareTokens ENDP
NtCompleteConnectPort PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCompleteConnectPort_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCompleteConnectPort_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCompleteConnectPort_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCompleteConnectPort_Check_10_0_XXXX
jmp NtCompleteConnectPort_SystemCall_Unknown
NtCompleteConnectPort_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCompleteConnectPort_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCompleteConnectPort_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCompleteConnectPort_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCompleteConnectPort_SystemCall_6_3_XXXX
jmp NtCompleteConnectPort_SystemCall_Unknown
NtCompleteConnectPort_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCompleteConnectPort_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCompleteConnectPort_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCompleteConnectPort_SystemCall_6_0_6002
jmp NtCompleteConnectPort_SystemCall_Unknown
NtCompleteConnectPort_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCompleteConnectPort_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCompleteConnectPort_SystemCall_6_1_7601
jmp NtCompleteConnectPort_SystemCall_Unknown
NtCompleteConnectPort_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCompleteConnectPort_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCompleteConnectPort_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCompleteConnectPort_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCompleteConnectPort_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCompleteConnectPort_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCompleteConnectPort_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCompleteConnectPort_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCompleteConnectPort_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCompleteConnectPort_SystemCall_10_0_18363
jmp NtCompleteConnectPort_SystemCall_Unknown
NtCompleteConnectPort_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0073h
jmp NtCompleteConnectPort_Epilogue
NtCompleteConnectPort_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0090h
jmp NtCompleteConnectPort_Epilogue
NtCompleteConnectPort_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 008eh
jmp NtCompleteConnectPort_Epilogue
NtCompleteConnectPort_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 008eh
jmp NtCompleteConnectPort_Epilogue
NtCompleteConnectPort_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 008dh
jmp NtCompleteConnectPort_Epilogue
NtCompleteConnectPort_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 008dh
jmp NtCompleteConnectPort_Epilogue
NtCompleteConnectPort_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0094h
jmp NtCompleteConnectPort_Epilogue
NtCompleteConnectPort_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0095h
jmp NtCompleteConnectPort_Epilogue
NtCompleteConnectPort_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0097h
jmp NtCompleteConnectPort_Epilogue
NtCompleteConnectPort_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0097h
jmp NtCompleteConnectPort_Epilogue
NtCompleteConnectPort_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0098h
jmp NtCompleteConnectPort_Epilogue
NtCompleteConnectPort_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 009ah
jmp NtCompleteConnectPort_Epilogue
NtCompleteConnectPort_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 009bh
jmp NtCompleteConnectPort_Epilogue
NtCompleteConnectPort_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 009ch
jmp NtCompleteConnectPort_Epilogue
NtCompleteConnectPort_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 009ch
jmp NtCompleteConnectPort_Epilogue
NtCompleteConnectPort_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 009ch
jmp NtCompleteConnectPort_Epilogue
NtCompleteConnectPort_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 009ch
jmp NtCompleteConnectPort_Epilogue
NtCompleteConnectPort_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCompleteConnectPort_Epilogue:
mov r10, rcx
syscall
ret
NtCompleteConnectPort ENDP
NtCompressKey PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCompressKey_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCompressKey_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCompressKey_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCompressKey_Check_10_0_XXXX
jmp NtCompressKey_SystemCall_Unknown
NtCompressKey_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCompressKey_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCompressKey_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCompressKey_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCompressKey_SystemCall_6_3_XXXX
jmp NtCompressKey_SystemCall_Unknown
NtCompressKey_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCompressKey_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCompressKey_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCompressKey_SystemCall_6_0_6002
jmp NtCompressKey_SystemCall_Unknown
NtCompressKey_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCompressKey_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCompressKey_SystemCall_6_1_7601
jmp NtCompressKey_SystemCall_Unknown
NtCompressKey_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCompressKey_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCompressKey_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCompressKey_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCompressKey_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCompressKey_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCompressKey_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCompressKey_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCompressKey_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCompressKey_SystemCall_10_0_18363
jmp NtCompressKey_SystemCall_Unknown
NtCompressKey_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0074h
jmp NtCompressKey_Epilogue
NtCompressKey_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0091h
jmp NtCompressKey_Epilogue
NtCompressKey_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 008fh
jmp NtCompressKey_Epilogue
NtCompressKey_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 008fh
jmp NtCompressKey_Epilogue
NtCompressKey_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 008eh
jmp NtCompressKey_Epilogue
NtCompressKey_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 008eh
jmp NtCompressKey_Epilogue
NtCompressKey_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0095h
jmp NtCompressKey_Epilogue
NtCompressKey_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0096h
jmp NtCompressKey_Epilogue
NtCompressKey_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0098h
jmp NtCompressKey_Epilogue
NtCompressKey_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0098h
jmp NtCompressKey_Epilogue
NtCompressKey_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0099h
jmp NtCompressKey_Epilogue
NtCompressKey_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 009bh
jmp NtCompressKey_Epilogue
NtCompressKey_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 009ch
jmp NtCompressKey_Epilogue
NtCompressKey_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 009dh
jmp NtCompressKey_Epilogue
NtCompressKey_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 009dh
jmp NtCompressKey_Epilogue
NtCompressKey_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 009dh
jmp NtCompressKey_Epilogue
NtCompressKey_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 009dh
jmp NtCompressKey_Epilogue
NtCompressKey_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCompressKey_Epilogue:
mov r10, rcx
syscall
ret
NtCompressKey ENDP
NtConnectPort PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtConnectPort_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtConnectPort_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtConnectPort_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtConnectPort_Check_10_0_XXXX
jmp NtConnectPort_SystemCall_Unknown
NtConnectPort_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtConnectPort_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtConnectPort_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtConnectPort_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtConnectPort_SystemCall_6_3_XXXX
jmp NtConnectPort_SystemCall_Unknown
NtConnectPort_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtConnectPort_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtConnectPort_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtConnectPort_SystemCall_6_0_6002
jmp NtConnectPort_SystemCall_Unknown
NtConnectPort_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtConnectPort_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtConnectPort_SystemCall_6_1_7601
jmp NtConnectPort_SystemCall_Unknown
NtConnectPort_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtConnectPort_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtConnectPort_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtConnectPort_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtConnectPort_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtConnectPort_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtConnectPort_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtConnectPort_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtConnectPort_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtConnectPort_SystemCall_10_0_18363
jmp NtConnectPort_SystemCall_Unknown
NtConnectPort_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0075h
jmp NtConnectPort_Epilogue
NtConnectPort_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0092h
jmp NtConnectPort_Epilogue
NtConnectPort_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0090h
jmp NtConnectPort_Epilogue
NtConnectPort_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0090h
jmp NtConnectPort_Epilogue
NtConnectPort_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 008fh
jmp NtConnectPort_Epilogue
NtConnectPort_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 008fh
jmp NtConnectPort_Epilogue
NtConnectPort_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0096h
jmp NtConnectPort_Epilogue
NtConnectPort_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0097h
jmp NtConnectPort_Epilogue
NtConnectPort_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0099h
jmp NtConnectPort_Epilogue
NtConnectPort_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0099h
jmp NtConnectPort_Epilogue
NtConnectPort_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 009ah
jmp NtConnectPort_Epilogue
NtConnectPort_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 009ch
jmp NtConnectPort_Epilogue
NtConnectPort_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 009dh
jmp NtConnectPort_Epilogue
NtConnectPort_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 009eh
jmp NtConnectPort_Epilogue
NtConnectPort_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 009eh
jmp NtConnectPort_Epilogue
NtConnectPort_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 009eh
jmp NtConnectPort_Epilogue
NtConnectPort_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 009eh
jmp NtConnectPort_Epilogue
NtConnectPort_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtConnectPort_Epilogue:
mov r10, rcx
syscall
ret
NtConnectPort ENDP
NtContinue PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtContinue_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtContinue_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtContinue_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtContinue_Check_10_0_XXXX
jmp NtContinue_SystemCall_Unknown
NtContinue_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtContinue_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtContinue_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtContinue_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtContinue_SystemCall_6_3_XXXX
jmp NtContinue_SystemCall_Unknown
NtContinue_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtContinue_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtContinue_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtContinue_SystemCall_6_0_6002
jmp NtContinue_SystemCall_Unknown
NtContinue_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtContinue_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtContinue_SystemCall_6_1_7601
jmp NtContinue_SystemCall_Unknown
NtContinue_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtContinue_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtContinue_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtContinue_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtContinue_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtContinue_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtContinue_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtContinue_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtContinue_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtContinue_SystemCall_10_0_18363
jmp NtContinue_SystemCall_Unknown
NtContinue_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0040h
jmp NtContinue_Epilogue
NtContinue_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0040h
jmp NtContinue_Epilogue
NtContinue_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0040h
jmp NtContinue_Epilogue
NtContinue_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0040h
jmp NtContinue_Epilogue
NtContinue_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0040h
jmp NtContinue_Epilogue
NtContinue_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0040h
jmp NtContinue_Epilogue
NtContinue_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0041h
jmp NtContinue_Epilogue
NtContinue_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0042h
jmp NtContinue_Epilogue
NtContinue_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0043h
jmp NtContinue_Epilogue
NtContinue_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0043h
jmp NtContinue_Epilogue
NtContinue_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0043h
jmp NtContinue_Epilogue
NtContinue_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0043h
jmp NtContinue_Epilogue
NtContinue_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0043h
jmp NtContinue_Epilogue
NtContinue_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0043h
jmp NtContinue_Epilogue
NtContinue_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0043h
jmp NtContinue_Epilogue
NtContinue_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0043h
jmp NtContinue_Epilogue
NtContinue_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0043h
jmp NtContinue_Epilogue
NtContinue_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtContinue_Epilogue:
mov r10, rcx
syscall
ret
NtContinue ENDP
NtConvertBetweenAuxiliaryCounterAndPerformanceCounter PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_Check_10_0_XXXX
jmp NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_SystemCall_Unknown
NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 15063
je NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_SystemCall_10_0_18363
jmp NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_SystemCall_Unknown
NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 009dh
jmp NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_Epilogue
NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 009eh
jmp NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_Epilogue
NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 009fh
jmp NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_Epilogue
NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 009fh
jmp NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_Epilogue
NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 009fh
jmp NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_Epilogue
NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 009fh
jmp NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_Epilogue
NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtConvertBetweenAuxiliaryCounterAndPerformanceCounter_Epilogue:
mov r10, rcx
syscall
ret
NtConvertBetweenAuxiliaryCounterAndPerformanceCounter ENDP
NtCreateCrossVmEvent PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateCrossVmEvent_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtCreateCrossVmEvent_Check_10_0_XXXX
jmp NtCreateCrossVmEvent_SystemCall_Unknown
NtCreateCrossVmEvent_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 18362
je NtCreateCrossVmEvent_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateCrossVmEvent_SystemCall_10_0_18363
jmp NtCreateCrossVmEvent_SystemCall_Unknown
NtCreateCrossVmEvent_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00a0h
jmp NtCreateCrossVmEvent_Epilogue
NtCreateCrossVmEvent_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00a0h
jmp NtCreateCrossVmEvent_Epilogue
NtCreateCrossVmEvent_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateCrossVmEvent_Epilogue:
mov r10, rcx
syscall
ret
NtCreateCrossVmEvent ENDP
NtCreateDebugObject PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateDebugObject_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateDebugObject_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateDebugObject_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateDebugObject_Check_10_0_XXXX
jmp NtCreateDebugObject_SystemCall_Unknown
NtCreateDebugObject_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateDebugObject_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateDebugObject_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateDebugObject_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateDebugObject_SystemCall_6_3_XXXX
jmp NtCreateDebugObject_SystemCall_Unknown
NtCreateDebugObject_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateDebugObject_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateDebugObject_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateDebugObject_SystemCall_6_0_6002
jmp NtCreateDebugObject_SystemCall_Unknown
NtCreateDebugObject_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateDebugObject_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateDebugObject_SystemCall_6_1_7601
jmp NtCreateDebugObject_SystemCall_Unknown
NtCreateDebugObject_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateDebugObject_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateDebugObject_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateDebugObject_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateDebugObject_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateDebugObject_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateDebugObject_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateDebugObject_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateDebugObject_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateDebugObject_SystemCall_10_0_18363
jmp NtCreateDebugObject_SystemCall_Unknown
NtCreateDebugObject_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0076h
jmp NtCreateDebugObject_Epilogue
NtCreateDebugObject_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0093h
jmp NtCreateDebugObject_Epilogue
NtCreateDebugObject_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0091h
jmp NtCreateDebugObject_Epilogue
NtCreateDebugObject_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0091h
jmp NtCreateDebugObject_Epilogue
NtCreateDebugObject_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0090h
jmp NtCreateDebugObject_Epilogue
NtCreateDebugObject_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0090h
jmp NtCreateDebugObject_Epilogue
NtCreateDebugObject_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0097h
jmp NtCreateDebugObject_Epilogue
NtCreateDebugObject_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0098h
jmp NtCreateDebugObject_Epilogue
NtCreateDebugObject_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 009ah
jmp NtCreateDebugObject_Epilogue
NtCreateDebugObject_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 009ah
jmp NtCreateDebugObject_Epilogue
NtCreateDebugObject_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 009bh
jmp NtCreateDebugObject_Epilogue
NtCreateDebugObject_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 009eh
jmp NtCreateDebugObject_Epilogue
NtCreateDebugObject_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 009fh
jmp NtCreateDebugObject_Epilogue
NtCreateDebugObject_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00a0h
jmp NtCreateDebugObject_Epilogue
NtCreateDebugObject_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00a0h
jmp NtCreateDebugObject_Epilogue
NtCreateDebugObject_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00a1h
jmp NtCreateDebugObject_Epilogue
NtCreateDebugObject_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00a1h
jmp NtCreateDebugObject_Epilogue
NtCreateDebugObject_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateDebugObject_Epilogue:
mov r10, rcx
syscall
ret
NtCreateDebugObject ENDP
NtCreateDirectoryObject PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateDirectoryObject_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateDirectoryObject_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateDirectoryObject_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateDirectoryObject_Check_10_0_XXXX
jmp NtCreateDirectoryObject_SystemCall_Unknown
NtCreateDirectoryObject_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateDirectoryObject_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateDirectoryObject_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateDirectoryObject_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateDirectoryObject_SystemCall_6_3_XXXX
jmp NtCreateDirectoryObject_SystemCall_Unknown
NtCreateDirectoryObject_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateDirectoryObject_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateDirectoryObject_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateDirectoryObject_SystemCall_6_0_6002
jmp NtCreateDirectoryObject_SystemCall_Unknown
NtCreateDirectoryObject_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateDirectoryObject_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateDirectoryObject_SystemCall_6_1_7601
jmp NtCreateDirectoryObject_SystemCall_Unknown
NtCreateDirectoryObject_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateDirectoryObject_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateDirectoryObject_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateDirectoryObject_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateDirectoryObject_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateDirectoryObject_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateDirectoryObject_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateDirectoryObject_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateDirectoryObject_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateDirectoryObject_SystemCall_10_0_18363
jmp NtCreateDirectoryObject_SystemCall_Unknown
NtCreateDirectoryObject_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0077h
jmp NtCreateDirectoryObject_Epilogue
NtCreateDirectoryObject_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0094h
jmp NtCreateDirectoryObject_Epilogue
NtCreateDirectoryObject_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0092h
jmp NtCreateDirectoryObject_Epilogue
NtCreateDirectoryObject_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0092h
jmp NtCreateDirectoryObject_Epilogue
NtCreateDirectoryObject_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0091h
jmp NtCreateDirectoryObject_Epilogue
NtCreateDirectoryObject_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0091h
jmp NtCreateDirectoryObject_Epilogue
NtCreateDirectoryObject_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0098h
jmp NtCreateDirectoryObject_Epilogue
NtCreateDirectoryObject_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0099h
jmp NtCreateDirectoryObject_Epilogue
NtCreateDirectoryObject_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 009bh
jmp NtCreateDirectoryObject_Epilogue
NtCreateDirectoryObject_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 009bh
jmp NtCreateDirectoryObject_Epilogue
NtCreateDirectoryObject_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 009ch
jmp NtCreateDirectoryObject_Epilogue
NtCreateDirectoryObject_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 009fh
jmp NtCreateDirectoryObject_Epilogue
NtCreateDirectoryObject_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00a0h
jmp NtCreateDirectoryObject_Epilogue
NtCreateDirectoryObject_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00a1h
jmp NtCreateDirectoryObject_Epilogue
NtCreateDirectoryObject_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00a1h
jmp NtCreateDirectoryObject_Epilogue
NtCreateDirectoryObject_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00a2h
jmp NtCreateDirectoryObject_Epilogue
NtCreateDirectoryObject_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00a2h
jmp NtCreateDirectoryObject_Epilogue
NtCreateDirectoryObject_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateDirectoryObject_Epilogue:
mov r10, rcx
syscall
ret
NtCreateDirectoryObject ENDP
NtCreateDirectoryObjectEx PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateDirectoryObjectEx_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCreateDirectoryObjectEx_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateDirectoryObjectEx_Check_10_0_XXXX
jmp NtCreateDirectoryObjectEx_SystemCall_Unknown
NtCreateDirectoryObjectEx_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtCreateDirectoryObjectEx_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateDirectoryObjectEx_SystemCall_6_3_XXXX
jmp NtCreateDirectoryObjectEx_SystemCall_Unknown
NtCreateDirectoryObjectEx_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateDirectoryObjectEx_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateDirectoryObjectEx_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateDirectoryObjectEx_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateDirectoryObjectEx_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateDirectoryObjectEx_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateDirectoryObjectEx_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateDirectoryObjectEx_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateDirectoryObjectEx_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateDirectoryObjectEx_SystemCall_10_0_18363
jmp NtCreateDirectoryObjectEx_SystemCall_Unknown
NtCreateDirectoryObjectEx_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0099h
jmp NtCreateDirectoryObjectEx_Epilogue
NtCreateDirectoryObjectEx_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 009ah
jmp NtCreateDirectoryObjectEx_Epilogue
NtCreateDirectoryObjectEx_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 009ch
jmp NtCreateDirectoryObjectEx_Epilogue
NtCreateDirectoryObjectEx_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 009ch
jmp NtCreateDirectoryObjectEx_Epilogue
NtCreateDirectoryObjectEx_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 009dh
jmp NtCreateDirectoryObjectEx_Epilogue
NtCreateDirectoryObjectEx_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00a0h
jmp NtCreateDirectoryObjectEx_Epilogue
NtCreateDirectoryObjectEx_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00a1h
jmp NtCreateDirectoryObjectEx_Epilogue
NtCreateDirectoryObjectEx_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00a2h
jmp NtCreateDirectoryObjectEx_Epilogue
NtCreateDirectoryObjectEx_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00a2h
jmp NtCreateDirectoryObjectEx_Epilogue
NtCreateDirectoryObjectEx_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00a3h
jmp NtCreateDirectoryObjectEx_Epilogue
NtCreateDirectoryObjectEx_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00a3h
jmp NtCreateDirectoryObjectEx_Epilogue
NtCreateDirectoryObjectEx_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateDirectoryObjectEx_Epilogue:
mov r10, rcx
syscall
ret
NtCreateDirectoryObjectEx ENDP
NtCreateEnclave PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateEnclave_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtCreateEnclave_Check_10_0_XXXX
jmp NtCreateEnclave_SystemCall_Unknown
NtCreateEnclave_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10586
je NtCreateEnclave_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateEnclave_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateEnclave_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateEnclave_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateEnclave_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateEnclave_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateEnclave_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateEnclave_SystemCall_10_0_18363
jmp NtCreateEnclave_SystemCall_Unknown
NtCreateEnclave_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 009dh
jmp NtCreateEnclave_Epilogue
NtCreateEnclave_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 009eh
jmp NtCreateEnclave_Epilogue
NtCreateEnclave_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00a1h
jmp NtCreateEnclave_Epilogue
NtCreateEnclave_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00a2h
jmp NtCreateEnclave_Epilogue
NtCreateEnclave_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00a3h
jmp NtCreateEnclave_Epilogue
NtCreateEnclave_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00a3h
jmp NtCreateEnclave_Epilogue
NtCreateEnclave_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00a4h
jmp NtCreateEnclave_Epilogue
NtCreateEnclave_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00a4h
jmp NtCreateEnclave_Epilogue
NtCreateEnclave_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateEnclave_Epilogue:
mov r10, rcx
syscall
ret
NtCreateEnclave ENDP
NtCreateEnlistment PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateEnlistment_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCreateEnlistment_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateEnlistment_Check_10_0_XXXX
jmp NtCreateEnlistment_SystemCall_Unknown
NtCreateEnlistment_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateEnlistment_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateEnlistment_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateEnlistment_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateEnlistment_SystemCall_6_3_XXXX
jmp NtCreateEnlistment_SystemCall_Unknown
NtCreateEnlistment_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateEnlistment_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateEnlistment_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateEnlistment_SystemCall_6_0_6002
jmp NtCreateEnlistment_SystemCall_Unknown
NtCreateEnlistment_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateEnlistment_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateEnlistment_SystemCall_6_1_7601
jmp NtCreateEnlistment_SystemCall_Unknown
NtCreateEnlistment_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateEnlistment_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateEnlistment_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateEnlistment_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateEnlistment_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateEnlistment_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateEnlistment_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateEnlistment_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateEnlistment_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateEnlistment_SystemCall_10_0_18363
jmp NtCreateEnlistment_SystemCall_Unknown
NtCreateEnlistment_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0095h
jmp NtCreateEnlistment_Epilogue
NtCreateEnlistment_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0093h
jmp NtCreateEnlistment_Epilogue
NtCreateEnlistment_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0093h
jmp NtCreateEnlistment_Epilogue
NtCreateEnlistment_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0092h
jmp NtCreateEnlistment_Epilogue
NtCreateEnlistment_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0092h
jmp NtCreateEnlistment_Epilogue
NtCreateEnlistment_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 009ah
jmp NtCreateEnlistment_Epilogue
NtCreateEnlistment_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 009bh
jmp NtCreateEnlistment_Epilogue
NtCreateEnlistment_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 009dh
jmp NtCreateEnlistment_Epilogue
NtCreateEnlistment_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 009eh
jmp NtCreateEnlistment_Epilogue
NtCreateEnlistment_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 009fh
jmp NtCreateEnlistment_Epilogue
NtCreateEnlistment_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00a2h
jmp NtCreateEnlistment_Epilogue
NtCreateEnlistment_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00a3h
jmp NtCreateEnlistment_Epilogue
NtCreateEnlistment_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00a4h
jmp NtCreateEnlistment_Epilogue
NtCreateEnlistment_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00a4h
jmp NtCreateEnlistment_Epilogue
NtCreateEnlistment_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00a5h
jmp NtCreateEnlistment_Epilogue
NtCreateEnlistment_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00a5h
jmp NtCreateEnlistment_Epilogue
NtCreateEnlistment_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateEnlistment_Epilogue:
mov r10, rcx
syscall
ret
NtCreateEnlistment ENDP
NtCreateEvent PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateEvent_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateEvent_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateEvent_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateEvent_Check_10_0_XXXX
jmp NtCreateEvent_SystemCall_Unknown
NtCreateEvent_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateEvent_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateEvent_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateEvent_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateEvent_SystemCall_6_3_XXXX
jmp NtCreateEvent_SystemCall_Unknown
NtCreateEvent_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateEvent_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateEvent_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateEvent_SystemCall_6_0_6002
jmp NtCreateEvent_SystemCall_Unknown
NtCreateEvent_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateEvent_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateEvent_SystemCall_6_1_7601
jmp NtCreateEvent_SystemCall_Unknown
NtCreateEvent_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateEvent_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateEvent_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateEvent_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateEvent_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateEvent_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateEvent_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateEvent_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateEvent_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateEvent_SystemCall_10_0_18363
jmp NtCreateEvent_SystemCall_Unknown
NtCreateEvent_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0045h
jmp NtCreateEvent_Epilogue
NtCreateEvent_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0045h
jmp NtCreateEvent_Epilogue
NtCreateEvent_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0045h
jmp NtCreateEvent_Epilogue
NtCreateEvent_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0045h
jmp NtCreateEvent_Epilogue
NtCreateEvent_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0045h
jmp NtCreateEvent_Epilogue
NtCreateEvent_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0045h
jmp NtCreateEvent_Epilogue
NtCreateEvent_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0046h
jmp NtCreateEvent_Epilogue
NtCreateEvent_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0047h
jmp NtCreateEvent_Epilogue
NtCreateEvent_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0048h
jmp NtCreateEvent_Epilogue
NtCreateEvent_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0048h
jmp NtCreateEvent_Epilogue
NtCreateEvent_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0048h
jmp NtCreateEvent_Epilogue
NtCreateEvent_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0048h
jmp NtCreateEvent_Epilogue
NtCreateEvent_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0048h
jmp NtCreateEvent_Epilogue
NtCreateEvent_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0048h
jmp NtCreateEvent_Epilogue
NtCreateEvent_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0048h
jmp NtCreateEvent_Epilogue
NtCreateEvent_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0048h
jmp NtCreateEvent_Epilogue
NtCreateEvent_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0048h
jmp NtCreateEvent_Epilogue
NtCreateEvent_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateEvent_Epilogue:
mov r10, rcx
syscall
ret
NtCreateEvent ENDP
NtCreateEventPair PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateEventPair_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateEventPair_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateEventPair_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateEventPair_Check_10_0_XXXX
jmp NtCreateEventPair_SystemCall_Unknown
NtCreateEventPair_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateEventPair_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateEventPair_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateEventPair_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateEventPair_SystemCall_6_3_XXXX
jmp NtCreateEventPair_SystemCall_Unknown
NtCreateEventPair_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateEventPair_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateEventPair_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateEventPair_SystemCall_6_0_6002
jmp NtCreateEventPair_SystemCall_Unknown
NtCreateEventPair_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateEventPair_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateEventPair_SystemCall_6_1_7601
jmp NtCreateEventPair_SystemCall_Unknown
NtCreateEventPair_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateEventPair_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateEventPair_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateEventPair_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateEventPair_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateEventPair_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateEventPair_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateEventPair_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateEventPair_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateEventPair_SystemCall_10_0_18363
jmp NtCreateEventPair_SystemCall_Unknown
NtCreateEventPair_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0078h
jmp NtCreateEventPair_Epilogue
NtCreateEventPair_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0096h
jmp NtCreateEventPair_Epilogue
NtCreateEventPair_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0094h
jmp NtCreateEventPair_Epilogue
NtCreateEventPair_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0094h
jmp NtCreateEventPair_Epilogue
NtCreateEventPair_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0093h
jmp NtCreateEventPair_Epilogue
NtCreateEventPair_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0093h
jmp NtCreateEventPair_Epilogue
NtCreateEventPair_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 009bh
jmp NtCreateEventPair_Epilogue
NtCreateEventPair_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 009ch
jmp NtCreateEventPair_Epilogue
NtCreateEventPair_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 009eh
jmp NtCreateEventPair_Epilogue
NtCreateEventPair_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 009fh
jmp NtCreateEventPair_Epilogue
NtCreateEventPair_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00a0h
jmp NtCreateEventPair_Epilogue
NtCreateEventPair_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00a3h
jmp NtCreateEventPair_Epilogue
NtCreateEventPair_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00a4h
jmp NtCreateEventPair_Epilogue
NtCreateEventPair_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00a5h
jmp NtCreateEventPair_Epilogue
NtCreateEventPair_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00a5h
jmp NtCreateEventPair_Epilogue
NtCreateEventPair_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00a6h
jmp NtCreateEventPair_Epilogue
NtCreateEventPair_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00a6h
jmp NtCreateEventPair_Epilogue
NtCreateEventPair_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateEventPair_Epilogue:
mov r10, rcx
syscall
ret
NtCreateEventPair ENDP
NtCreateFile PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateFile_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateFile_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateFile_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateFile_Check_10_0_XXXX
jmp NtCreateFile_SystemCall_Unknown
NtCreateFile_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateFile_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateFile_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateFile_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateFile_SystemCall_6_3_XXXX
jmp NtCreateFile_SystemCall_Unknown
NtCreateFile_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateFile_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateFile_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateFile_SystemCall_6_0_6002
jmp NtCreateFile_SystemCall_Unknown
NtCreateFile_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateFile_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateFile_SystemCall_6_1_7601
jmp NtCreateFile_SystemCall_Unknown
NtCreateFile_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateFile_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateFile_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateFile_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateFile_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateFile_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateFile_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateFile_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateFile_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateFile_SystemCall_10_0_18363
jmp NtCreateFile_SystemCall_Unknown
NtCreateFile_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0052h
jmp NtCreateFile_Epilogue
NtCreateFile_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0052h
jmp NtCreateFile_Epilogue
NtCreateFile_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0052h
jmp NtCreateFile_Epilogue
NtCreateFile_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0052h
jmp NtCreateFile_Epilogue
NtCreateFile_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0052h
jmp NtCreateFile_Epilogue
NtCreateFile_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0052h
jmp NtCreateFile_Epilogue
NtCreateFile_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0053h
jmp NtCreateFile_Epilogue
NtCreateFile_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0054h
jmp NtCreateFile_Epilogue
NtCreateFile_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0055h
jmp NtCreateFile_Epilogue
NtCreateFile_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0055h
jmp NtCreateFile_Epilogue
NtCreateFile_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0055h
jmp NtCreateFile_Epilogue
NtCreateFile_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0055h
jmp NtCreateFile_Epilogue
NtCreateFile_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0055h
jmp NtCreateFile_Epilogue
NtCreateFile_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0055h
jmp NtCreateFile_Epilogue
NtCreateFile_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0055h
jmp NtCreateFile_Epilogue
NtCreateFile_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0055h
jmp NtCreateFile_Epilogue
NtCreateFile_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0055h
jmp NtCreateFile_Epilogue
NtCreateFile_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateFile_Epilogue:
mov r10, rcx
syscall
ret
NtCreateFile ENDP
NtCreateIRTimer PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateIRTimer_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCreateIRTimer_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateIRTimer_Check_10_0_XXXX
jmp NtCreateIRTimer_SystemCall_Unknown
NtCreateIRTimer_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtCreateIRTimer_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateIRTimer_SystemCall_6_3_XXXX
jmp NtCreateIRTimer_SystemCall_Unknown
NtCreateIRTimer_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateIRTimer_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateIRTimer_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateIRTimer_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateIRTimer_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateIRTimer_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateIRTimer_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateIRTimer_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateIRTimer_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateIRTimer_SystemCall_10_0_18363
jmp NtCreateIRTimer_SystemCall_Unknown
NtCreateIRTimer_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 009ch
jmp NtCreateIRTimer_Epilogue
NtCreateIRTimer_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 009dh
jmp NtCreateIRTimer_Epilogue
NtCreateIRTimer_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 009fh
jmp NtCreateIRTimer_Epilogue
NtCreateIRTimer_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00a0h
jmp NtCreateIRTimer_Epilogue
NtCreateIRTimer_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00a1h
jmp NtCreateIRTimer_Epilogue
NtCreateIRTimer_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00a4h
jmp NtCreateIRTimer_Epilogue
NtCreateIRTimer_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00a5h
jmp NtCreateIRTimer_Epilogue
NtCreateIRTimer_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00a6h
jmp NtCreateIRTimer_Epilogue
NtCreateIRTimer_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00a6h
jmp NtCreateIRTimer_Epilogue
NtCreateIRTimer_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00a7h
jmp NtCreateIRTimer_Epilogue
NtCreateIRTimer_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00a7h
jmp NtCreateIRTimer_Epilogue
NtCreateIRTimer_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateIRTimer_Epilogue:
mov r10, rcx
syscall
ret
NtCreateIRTimer ENDP
NtCreateIoCompletion PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateIoCompletion_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateIoCompletion_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateIoCompletion_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateIoCompletion_Check_10_0_XXXX
jmp NtCreateIoCompletion_SystemCall_Unknown
NtCreateIoCompletion_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateIoCompletion_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateIoCompletion_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateIoCompletion_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateIoCompletion_SystemCall_6_3_XXXX
jmp NtCreateIoCompletion_SystemCall_Unknown
NtCreateIoCompletion_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateIoCompletion_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateIoCompletion_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateIoCompletion_SystemCall_6_0_6002
jmp NtCreateIoCompletion_SystemCall_Unknown
NtCreateIoCompletion_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateIoCompletion_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateIoCompletion_SystemCall_6_1_7601
jmp NtCreateIoCompletion_SystemCall_Unknown
NtCreateIoCompletion_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateIoCompletion_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateIoCompletion_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateIoCompletion_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateIoCompletion_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateIoCompletion_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateIoCompletion_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateIoCompletion_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateIoCompletion_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateIoCompletion_SystemCall_10_0_18363
jmp NtCreateIoCompletion_SystemCall_Unknown
NtCreateIoCompletion_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0079h
jmp NtCreateIoCompletion_Epilogue
NtCreateIoCompletion_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0097h
jmp NtCreateIoCompletion_Epilogue
NtCreateIoCompletion_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0095h
jmp NtCreateIoCompletion_Epilogue
NtCreateIoCompletion_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0095h
jmp NtCreateIoCompletion_Epilogue
NtCreateIoCompletion_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0094h
jmp NtCreateIoCompletion_Epilogue
NtCreateIoCompletion_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0094h
jmp NtCreateIoCompletion_Epilogue
NtCreateIoCompletion_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 009dh
jmp NtCreateIoCompletion_Epilogue
NtCreateIoCompletion_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 009eh
jmp NtCreateIoCompletion_Epilogue
NtCreateIoCompletion_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00a0h
jmp NtCreateIoCompletion_Epilogue
NtCreateIoCompletion_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00a1h
jmp NtCreateIoCompletion_Epilogue
NtCreateIoCompletion_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00a2h
jmp NtCreateIoCompletion_Epilogue
NtCreateIoCompletion_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00a5h
jmp NtCreateIoCompletion_Epilogue
NtCreateIoCompletion_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00a6h
jmp NtCreateIoCompletion_Epilogue
NtCreateIoCompletion_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00a7h
jmp NtCreateIoCompletion_Epilogue
NtCreateIoCompletion_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00a7h
jmp NtCreateIoCompletion_Epilogue
NtCreateIoCompletion_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00a8h
jmp NtCreateIoCompletion_Epilogue
NtCreateIoCompletion_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00a8h
jmp NtCreateIoCompletion_Epilogue
NtCreateIoCompletion_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateIoCompletion_Epilogue:
mov r10, rcx
syscall
ret
NtCreateIoCompletion ENDP
NtCreateJobObject PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateJobObject_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateJobObject_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateJobObject_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateJobObject_Check_10_0_XXXX
jmp NtCreateJobObject_SystemCall_Unknown
NtCreateJobObject_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateJobObject_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateJobObject_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateJobObject_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateJobObject_SystemCall_6_3_XXXX
jmp NtCreateJobObject_SystemCall_Unknown
NtCreateJobObject_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateJobObject_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateJobObject_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateJobObject_SystemCall_6_0_6002
jmp NtCreateJobObject_SystemCall_Unknown
NtCreateJobObject_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateJobObject_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateJobObject_SystemCall_6_1_7601
jmp NtCreateJobObject_SystemCall_Unknown
NtCreateJobObject_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateJobObject_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateJobObject_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateJobObject_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateJobObject_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateJobObject_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateJobObject_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateJobObject_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateJobObject_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateJobObject_SystemCall_10_0_18363
jmp NtCreateJobObject_SystemCall_Unknown
NtCreateJobObject_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 007ah
jmp NtCreateJobObject_Epilogue
NtCreateJobObject_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0098h
jmp NtCreateJobObject_Epilogue
NtCreateJobObject_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0096h
jmp NtCreateJobObject_Epilogue
NtCreateJobObject_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0096h
jmp NtCreateJobObject_Epilogue
NtCreateJobObject_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0095h
jmp NtCreateJobObject_Epilogue
NtCreateJobObject_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0095h
jmp NtCreateJobObject_Epilogue
NtCreateJobObject_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 009eh
jmp NtCreateJobObject_Epilogue
NtCreateJobObject_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 009fh
jmp NtCreateJobObject_Epilogue
NtCreateJobObject_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00a1h
jmp NtCreateJobObject_Epilogue
NtCreateJobObject_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00a2h
jmp NtCreateJobObject_Epilogue
NtCreateJobObject_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00a3h
jmp NtCreateJobObject_Epilogue
NtCreateJobObject_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00a6h
jmp NtCreateJobObject_Epilogue
NtCreateJobObject_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00a7h
jmp NtCreateJobObject_Epilogue
NtCreateJobObject_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00a8h
jmp NtCreateJobObject_Epilogue
NtCreateJobObject_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00a8h
jmp NtCreateJobObject_Epilogue
NtCreateJobObject_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00a9h
jmp NtCreateJobObject_Epilogue
NtCreateJobObject_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00a9h
jmp NtCreateJobObject_Epilogue
NtCreateJobObject_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateJobObject_Epilogue:
mov r10, rcx
syscall
ret
NtCreateJobObject ENDP
NtCreateJobSet PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateJobSet_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateJobSet_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateJobSet_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateJobSet_Check_10_0_XXXX
jmp NtCreateJobSet_SystemCall_Unknown
NtCreateJobSet_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateJobSet_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateJobSet_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateJobSet_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateJobSet_SystemCall_6_3_XXXX
jmp NtCreateJobSet_SystemCall_Unknown
NtCreateJobSet_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateJobSet_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateJobSet_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateJobSet_SystemCall_6_0_6002
jmp NtCreateJobSet_SystemCall_Unknown
NtCreateJobSet_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateJobSet_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateJobSet_SystemCall_6_1_7601
jmp NtCreateJobSet_SystemCall_Unknown
NtCreateJobSet_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateJobSet_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateJobSet_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateJobSet_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateJobSet_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateJobSet_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateJobSet_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateJobSet_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateJobSet_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateJobSet_SystemCall_10_0_18363
jmp NtCreateJobSet_SystemCall_Unknown
NtCreateJobSet_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 007bh
jmp NtCreateJobSet_Epilogue
NtCreateJobSet_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0099h
jmp NtCreateJobSet_Epilogue
NtCreateJobSet_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0097h
jmp NtCreateJobSet_Epilogue
NtCreateJobSet_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0097h
jmp NtCreateJobSet_Epilogue
NtCreateJobSet_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0096h
jmp NtCreateJobSet_Epilogue
NtCreateJobSet_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0096h
jmp NtCreateJobSet_Epilogue
NtCreateJobSet_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 009fh
jmp NtCreateJobSet_Epilogue
NtCreateJobSet_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00a0h
jmp NtCreateJobSet_Epilogue
NtCreateJobSet_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00a2h
jmp NtCreateJobSet_Epilogue
NtCreateJobSet_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00a3h
jmp NtCreateJobSet_Epilogue
NtCreateJobSet_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00a4h
jmp NtCreateJobSet_Epilogue
NtCreateJobSet_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00a7h
jmp NtCreateJobSet_Epilogue
NtCreateJobSet_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00a8h
jmp NtCreateJobSet_Epilogue
NtCreateJobSet_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00a9h
jmp NtCreateJobSet_Epilogue
NtCreateJobSet_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00a9h
jmp NtCreateJobSet_Epilogue
NtCreateJobSet_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00aah
jmp NtCreateJobSet_Epilogue
NtCreateJobSet_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00aah
jmp NtCreateJobSet_Epilogue
NtCreateJobSet_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateJobSet_Epilogue:
mov r10, rcx
syscall
ret
NtCreateJobSet ENDP
NtCreateKey PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateKey_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateKey_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateKey_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateKey_Check_10_0_XXXX
jmp NtCreateKey_SystemCall_Unknown
NtCreateKey_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateKey_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateKey_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateKey_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateKey_SystemCall_6_3_XXXX
jmp NtCreateKey_SystemCall_Unknown
NtCreateKey_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateKey_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateKey_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateKey_SystemCall_6_0_6002
jmp NtCreateKey_SystemCall_Unknown
NtCreateKey_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateKey_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateKey_SystemCall_6_1_7601
jmp NtCreateKey_SystemCall_Unknown
NtCreateKey_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateKey_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateKey_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateKey_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateKey_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateKey_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateKey_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateKey_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateKey_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateKey_SystemCall_10_0_18363
jmp NtCreateKey_SystemCall_Unknown
NtCreateKey_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 001ah
jmp NtCreateKey_Epilogue
NtCreateKey_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 001ah
jmp NtCreateKey_Epilogue
NtCreateKey_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 001ah
jmp NtCreateKey_Epilogue
NtCreateKey_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 001ah
jmp NtCreateKey_Epilogue
NtCreateKey_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 001ah
jmp NtCreateKey_Epilogue
NtCreateKey_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 001ah
jmp NtCreateKey_Epilogue
NtCreateKey_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 001bh
jmp NtCreateKey_Epilogue
NtCreateKey_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 001ch
jmp NtCreateKey_Epilogue
NtCreateKey_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 001dh
jmp NtCreateKey_Epilogue
NtCreateKey_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 001dh
jmp NtCreateKey_Epilogue
NtCreateKey_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 001dh
jmp NtCreateKey_Epilogue
NtCreateKey_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 001dh
jmp NtCreateKey_Epilogue
NtCreateKey_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 001dh
jmp NtCreateKey_Epilogue
NtCreateKey_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 001dh
jmp NtCreateKey_Epilogue
NtCreateKey_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 001dh
jmp NtCreateKey_Epilogue
NtCreateKey_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 001dh
jmp NtCreateKey_Epilogue
NtCreateKey_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 001dh
jmp NtCreateKey_Epilogue
NtCreateKey_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateKey_Epilogue:
mov r10, rcx
syscall
ret
NtCreateKey ENDP
NtCreateKeyTransacted PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateKeyTransacted_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCreateKeyTransacted_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateKeyTransacted_Check_10_0_XXXX
jmp NtCreateKeyTransacted_SystemCall_Unknown
NtCreateKeyTransacted_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateKeyTransacted_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateKeyTransacted_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateKeyTransacted_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateKeyTransacted_SystemCall_6_3_XXXX
jmp NtCreateKeyTransacted_SystemCall_Unknown
NtCreateKeyTransacted_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateKeyTransacted_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateKeyTransacted_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateKeyTransacted_SystemCall_6_0_6002
jmp NtCreateKeyTransacted_SystemCall_Unknown
NtCreateKeyTransacted_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateKeyTransacted_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateKeyTransacted_SystemCall_6_1_7601
jmp NtCreateKeyTransacted_SystemCall_Unknown
NtCreateKeyTransacted_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateKeyTransacted_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateKeyTransacted_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateKeyTransacted_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateKeyTransacted_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateKeyTransacted_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateKeyTransacted_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateKeyTransacted_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateKeyTransacted_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateKeyTransacted_SystemCall_10_0_18363
jmp NtCreateKeyTransacted_SystemCall_Unknown
NtCreateKeyTransacted_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 009ah
jmp NtCreateKeyTransacted_Epilogue
NtCreateKeyTransacted_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0098h
jmp NtCreateKeyTransacted_Epilogue
NtCreateKeyTransacted_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0098h
jmp NtCreateKeyTransacted_Epilogue
NtCreateKeyTransacted_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0097h
jmp NtCreateKeyTransacted_Epilogue
NtCreateKeyTransacted_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0097h
jmp NtCreateKeyTransacted_Epilogue
NtCreateKeyTransacted_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00a0h
jmp NtCreateKeyTransacted_Epilogue
NtCreateKeyTransacted_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00a1h
jmp NtCreateKeyTransacted_Epilogue
NtCreateKeyTransacted_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00a3h
jmp NtCreateKeyTransacted_Epilogue
NtCreateKeyTransacted_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00a4h
jmp NtCreateKeyTransacted_Epilogue
NtCreateKeyTransacted_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00a5h
jmp NtCreateKeyTransacted_Epilogue
NtCreateKeyTransacted_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00a8h
jmp NtCreateKeyTransacted_Epilogue
NtCreateKeyTransacted_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00a9h
jmp NtCreateKeyTransacted_Epilogue
NtCreateKeyTransacted_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00aah
jmp NtCreateKeyTransacted_Epilogue
NtCreateKeyTransacted_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00aah
jmp NtCreateKeyTransacted_Epilogue
NtCreateKeyTransacted_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00abh
jmp NtCreateKeyTransacted_Epilogue
NtCreateKeyTransacted_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00abh
jmp NtCreateKeyTransacted_Epilogue
NtCreateKeyTransacted_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateKeyTransacted_Epilogue:
mov r10, rcx
syscall
ret
NtCreateKeyTransacted ENDP
NtCreateKeyedEvent PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateKeyedEvent_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateKeyedEvent_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateKeyedEvent_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateKeyedEvent_Check_10_0_XXXX
jmp NtCreateKeyedEvent_SystemCall_Unknown
NtCreateKeyedEvent_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateKeyedEvent_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateKeyedEvent_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateKeyedEvent_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateKeyedEvent_SystemCall_6_3_XXXX
jmp NtCreateKeyedEvent_SystemCall_Unknown
NtCreateKeyedEvent_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateKeyedEvent_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateKeyedEvent_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateKeyedEvent_SystemCall_6_0_6002
jmp NtCreateKeyedEvent_SystemCall_Unknown
NtCreateKeyedEvent_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateKeyedEvent_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateKeyedEvent_SystemCall_6_1_7601
jmp NtCreateKeyedEvent_SystemCall_Unknown
NtCreateKeyedEvent_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateKeyedEvent_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateKeyedEvent_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateKeyedEvent_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateKeyedEvent_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateKeyedEvent_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateKeyedEvent_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateKeyedEvent_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateKeyedEvent_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateKeyedEvent_SystemCall_10_0_18363
jmp NtCreateKeyedEvent_SystemCall_Unknown
NtCreateKeyedEvent_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 007ch
jmp NtCreateKeyedEvent_Epilogue
NtCreateKeyedEvent_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 009bh
jmp NtCreateKeyedEvent_Epilogue
NtCreateKeyedEvent_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0099h
jmp NtCreateKeyedEvent_Epilogue
NtCreateKeyedEvent_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0099h
jmp NtCreateKeyedEvent_Epilogue
NtCreateKeyedEvent_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0098h
jmp NtCreateKeyedEvent_Epilogue
NtCreateKeyedEvent_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0098h
jmp NtCreateKeyedEvent_Epilogue
NtCreateKeyedEvent_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00a1h
jmp NtCreateKeyedEvent_Epilogue
NtCreateKeyedEvent_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00a2h
jmp NtCreateKeyedEvent_Epilogue
NtCreateKeyedEvent_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00a4h
jmp NtCreateKeyedEvent_Epilogue
NtCreateKeyedEvent_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00a5h
jmp NtCreateKeyedEvent_Epilogue
NtCreateKeyedEvent_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00a6h
jmp NtCreateKeyedEvent_Epilogue
NtCreateKeyedEvent_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00a9h
jmp NtCreateKeyedEvent_Epilogue
NtCreateKeyedEvent_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00aah
jmp NtCreateKeyedEvent_Epilogue
NtCreateKeyedEvent_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00abh
jmp NtCreateKeyedEvent_Epilogue
NtCreateKeyedEvent_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00abh
jmp NtCreateKeyedEvent_Epilogue
NtCreateKeyedEvent_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00ach
jmp NtCreateKeyedEvent_Epilogue
NtCreateKeyedEvent_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00ach
jmp NtCreateKeyedEvent_Epilogue
NtCreateKeyedEvent_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateKeyedEvent_Epilogue:
mov r10, rcx
syscall
ret
NtCreateKeyedEvent ENDP
NtCreateLowBoxToken PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateLowBoxToken_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCreateLowBoxToken_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateLowBoxToken_Check_10_0_XXXX
jmp NtCreateLowBoxToken_SystemCall_Unknown
NtCreateLowBoxToken_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtCreateLowBoxToken_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateLowBoxToken_SystemCall_6_3_XXXX
jmp NtCreateLowBoxToken_SystemCall_Unknown
NtCreateLowBoxToken_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateLowBoxToken_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateLowBoxToken_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateLowBoxToken_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateLowBoxToken_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateLowBoxToken_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateLowBoxToken_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateLowBoxToken_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateLowBoxToken_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateLowBoxToken_SystemCall_10_0_18363
jmp NtCreateLowBoxToken_SystemCall_Unknown
NtCreateLowBoxToken_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00a2h
jmp NtCreateLowBoxToken_Epilogue
NtCreateLowBoxToken_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00a3h
jmp NtCreateLowBoxToken_Epilogue
NtCreateLowBoxToken_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00a5h
jmp NtCreateLowBoxToken_Epilogue
NtCreateLowBoxToken_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00a6h
jmp NtCreateLowBoxToken_Epilogue
NtCreateLowBoxToken_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00a7h
jmp NtCreateLowBoxToken_Epilogue
NtCreateLowBoxToken_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00aah
jmp NtCreateLowBoxToken_Epilogue
NtCreateLowBoxToken_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00abh
jmp NtCreateLowBoxToken_Epilogue
NtCreateLowBoxToken_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00ach
jmp NtCreateLowBoxToken_Epilogue
NtCreateLowBoxToken_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00ach
jmp NtCreateLowBoxToken_Epilogue
NtCreateLowBoxToken_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00adh
jmp NtCreateLowBoxToken_Epilogue
NtCreateLowBoxToken_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00adh
jmp NtCreateLowBoxToken_Epilogue
NtCreateLowBoxToken_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateLowBoxToken_Epilogue:
mov r10, rcx
syscall
ret
NtCreateLowBoxToken ENDP
NtCreateMailslotFile PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateMailslotFile_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateMailslotFile_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateMailslotFile_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateMailslotFile_Check_10_0_XXXX
jmp NtCreateMailslotFile_SystemCall_Unknown
NtCreateMailslotFile_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateMailslotFile_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateMailslotFile_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateMailslotFile_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateMailslotFile_SystemCall_6_3_XXXX
jmp NtCreateMailslotFile_SystemCall_Unknown
NtCreateMailslotFile_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateMailslotFile_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateMailslotFile_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateMailslotFile_SystemCall_6_0_6002
jmp NtCreateMailslotFile_SystemCall_Unknown
NtCreateMailslotFile_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateMailslotFile_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateMailslotFile_SystemCall_6_1_7601
jmp NtCreateMailslotFile_SystemCall_Unknown
NtCreateMailslotFile_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateMailslotFile_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateMailslotFile_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateMailslotFile_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateMailslotFile_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateMailslotFile_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateMailslotFile_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateMailslotFile_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateMailslotFile_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateMailslotFile_SystemCall_10_0_18363
jmp NtCreateMailslotFile_SystemCall_Unknown
NtCreateMailslotFile_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 007dh
jmp NtCreateMailslotFile_Epilogue
NtCreateMailslotFile_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 009ch
jmp NtCreateMailslotFile_Epilogue
NtCreateMailslotFile_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 009ah
jmp NtCreateMailslotFile_Epilogue
NtCreateMailslotFile_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 009ah
jmp NtCreateMailslotFile_Epilogue
NtCreateMailslotFile_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0099h
jmp NtCreateMailslotFile_Epilogue
NtCreateMailslotFile_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0099h
jmp NtCreateMailslotFile_Epilogue
NtCreateMailslotFile_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00a3h
jmp NtCreateMailslotFile_Epilogue
NtCreateMailslotFile_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00a4h
jmp NtCreateMailslotFile_Epilogue
NtCreateMailslotFile_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00a6h
jmp NtCreateMailslotFile_Epilogue
NtCreateMailslotFile_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00a7h
jmp NtCreateMailslotFile_Epilogue
NtCreateMailslotFile_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00a8h
jmp NtCreateMailslotFile_Epilogue
NtCreateMailslotFile_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00abh
jmp NtCreateMailslotFile_Epilogue
NtCreateMailslotFile_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00ach
jmp NtCreateMailslotFile_Epilogue
NtCreateMailslotFile_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00adh
jmp NtCreateMailslotFile_Epilogue
NtCreateMailslotFile_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00adh
jmp NtCreateMailslotFile_Epilogue
NtCreateMailslotFile_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00aeh
jmp NtCreateMailslotFile_Epilogue
NtCreateMailslotFile_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00aeh
jmp NtCreateMailslotFile_Epilogue
NtCreateMailslotFile_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateMailslotFile_Epilogue:
mov r10, rcx
syscall
ret
NtCreateMailslotFile ENDP
NtCreateMutant PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateMutant_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateMutant_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateMutant_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateMutant_Check_10_0_XXXX
jmp NtCreateMutant_SystemCall_Unknown
NtCreateMutant_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateMutant_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateMutant_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateMutant_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateMutant_SystemCall_6_3_XXXX
jmp NtCreateMutant_SystemCall_Unknown
NtCreateMutant_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateMutant_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateMutant_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateMutant_SystemCall_6_0_6002
jmp NtCreateMutant_SystemCall_Unknown
NtCreateMutant_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateMutant_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateMutant_SystemCall_6_1_7601
jmp NtCreateMutant_SystemCall_Unknown
NtCreateMutant_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateMutant_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateMutant_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateMutant_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateMutant_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateMutant_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateMutant_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateMutant_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateMutant_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateMutant_SystemCall_10_0_18363
jmp NtCreateMutant_SystemCall_Unknown
NtCreateMutant_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 007eh
jmp NtCreateMutant_Epilogue
NtCreateMutant_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 009dh
jmp NtCreateMutant_Epilogue
NtCreateMutant_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 009bh
jmp NtCreateMutant_Epilogue
NtCreateMutant_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 009bh
jmp NtCreateMutant_Epilogue
NtCreateMutant_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 009ah
jmp NtCreateMutant_Epilogue
NtCreateMutant_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 009ah
jmp NtCreateMutant_Epilogue
NtCreateMutant_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00a4h
jmp NtCreateMutant_Epilogue
NtCreateMutant_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00a5h
jmp NtCreateMutant_Epilogue
NtCreateMutant_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00a7h
jmp NtCreateMutant_Epilogue
NtCreateMutant_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00a8h
jmp NtCreateMutant_Epilogue
NtCreateMutant_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00a9h
jmp NtCreateMutant_Epilogue
NtCreateMutant_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00ach
jmp NtCreateMutant_Epilogue
NtCreateMutant_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00adh
jmp NtCreateMutant_Epilogue
NtCreateMutant_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00aeh
jmp NtCreateMutant_Epilogue
NtCreateMutant_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00aeh
jmp NtCreateMutant_Epilogue
NtCreateMutant_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00afh
jmp NtCreateMutant_Epilogue
NtCreateMutant_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00afh
jmp NtCreateMutant_Epilogue
NtCreateMutant_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateMutant_Epilogue:
mov r10, rcx
syscall
ret
NtCreateMutant ENDP
NtCreateNamedPipeFile PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateNamedPipeFile_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateNamedPipeFile_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateNamedPipeFile_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateNamedPipeFile_Check_10_0_XXXX
jmp NtCreateNamedPipeFile_SystemCall_Unknown
NtCreateNamedPipeFile_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateNamedPipeFile_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateNamedPipeFile_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateNamedPipeFile_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateNamedPipeFile_SystemCall_6_3_XXXX
jmp NtCreateNamedPipeFile_SystemCall_Unknown
NtCreateNamedPipeFile_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateNamedPipeFile_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateNamedPipeFile_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateNamedPipeFile_SystemCall_6_0_6002
jmp NtCreateNamedPipeFile_SystemCall_Unknown
NtCreateNamedPipeFile_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateNamedPipeFile_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateNamedPipeFile_SystemCall_6_1_7601
jmp NtCreateNamedPipeFile_SystemCall_Unknown
NtCreateNamedPipeFile_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateNamedPipeFile_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateNamedPipeFile_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateNamedPipeFile_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateNamedPipeFile_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateNamedPipeFile_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateNamedPipeFile_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateNamedPipeFile_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateNamedPipeFile_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateNamedPipeFile_SystemCall_10_0_18363
jmp NtCreateNamedPipeFile_SystemCall_Unknown
NtCreateNamedPipeFile_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 007fh
jmp NtCreateNamedPipeFile_Epilogue
NtCreateNamedPipeFile_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 009eh
jmp NtCreateNamedPipeFile_Epilogue
NtCreateNamedPipeFile_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 009ch
jmp NtCreateNamedPipeFile_Epilogue
NtCreateNamedPipeFile_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 009ch
jmp NtCreateNamedPipeFile_Epilogue
NtCreateNamedPipeFile_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 009bh
jmp NtCreateNamedPipeFile_Epilogue
NtCreateNamedPipeFile_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 009bh
jmp NtCreateNamedPipeFile_Epilogue
NtCreateNamedPipeFile_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00a5h
jmp NtCreateNamedPipeFile_Epilogue
NtCreateNamedPipeFile_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00a6h
jmp NtCreateNamedPipeFile_Epilogue
NtCreateNamedPipeFile_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00a8h
jmp NtCreateNamedPipeFile_Epilogue
NtCreateNamedPipeFile_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00a9h
jmp NtCreateNamedPipeFile_Epilogue
NtCreateNamedPipeFile_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00aah
jmp NtCreateNamedPipeFile_Epilogue
NtCreateNamedPipeFile_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00adh
jmp NtCreateNamedPipeFile_Epilogue
NtCreateNamedPipeFile_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00aeh
jmp NtCreateNamedPipeFile_Epilogue
NtCreateNamedPipeFile_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00afh
jmp NtCreateNamedPipeFile_Epilogue
NtCreateNamedPipeFile_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00afh
jmp NtCreateNamedPipeFile_Epilogue
NtCreateNamedPipeFile_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00b0h
jmp NtCreateNamedPipeFile_Epilogue
NtCreateNamedPipeFile_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00b0h
jmp NtCreateNamedPipeFile_Epilogue
NtCreateNamedPipeFile_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateNamedPipeFile_Epilogue:
mov r10, rcx
syscall
ret
NtCreateNamedPipeFile ENDP
NtCreatePagingFile PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreatePagingFile_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreatePagingFile_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreatePagingFile_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreatePagingFile_Check_10_0_XXXX
jmp NtCreatePagingFile_SystemCall_Unknown
NtCreatePagingFile_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreatePagingFile_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreatePagingFile_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreatePagingFile_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreatePagingFile_SystemCall_6_3_XXXX
jmp NtCreatePagingFile_SystemCall_Unknown
NtCreatePagingFile_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreatePagingFile_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreatePagingFile_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreatePagingFile_SystemCall_6_0_6002
jmp NtCreatePagingFile_SystemCall_Unknown
NtCreatePagingFile_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreatePagingFile_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreatePagingFile_SystemCall_6_1_7601
jmp NtCreatePagingFile_SystemCall_Unknown
NtCreatePagingFile_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreatePagingFile_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreatePagingFile_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreatePagingFile_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreatePagingFile_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreatePagingFile_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreatePagingFile_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreatePagingFile_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreatePagingFile_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreatePagingFile_SystemCall_10_0_18363
jmp NtCreatePagingFile_SystemCall_Unknown
NtCreatePagingFile_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0080h
jmp NtCreatePagingFile_Epilogue
NtCreatePagingFile_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 009fh
jmp NtCreatePagingFile_Epilogue
NtCreatePagingFile_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 009dh
jmp NtCreatePagingFile_Epilogue
NtCreatePagingFile_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 009dh
jmp NtCreatePagingFile_Epilogue
NtCreatePagingFile_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 009ch
jmp NtCreatePagingFile_Epilogue
NtCreatePagingFile_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 009ch
jmp NtCreatePagingFile_Epilogue
NtCreatePagingFile_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00a6h
jmp NtCreatePagingFile_Epilogue
NtCreatePagingFile_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00a7h
jmp NtCreatePagingFile_Epilogue
NtCreatePagingFile_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00a9h
jmp NtCreatePagingFile_Epilogue
NtCreatePagingFile_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00aah
jmp NtCreatePagingFile_Epilogue
NtCreatePagingFile_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00abh
jmp NtCreatePagingFile_Epilogue
NtCreatePagingFile_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00aeh
jmp NtCreatePagingFile_Epilogue
NtCreatePagingFile_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00afh
jmp NtCreatePagingFile_Epilogue
NtCreatePagingFile_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00b0h
jmp NtCreatePagingFile_Epilogue
NtCreatePagingFile_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00b0h
jmp NtCreatePagingFile_Epilogue
NtCreatePagingFile_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00b1h
jmp NtCreatePagingFile_Epilogue
NtCreatePagingFile_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00b1h
jmp NtCreatePagingFile_Epilogue
NtCreatePagingFile_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreatePagingFile_Epilogue:
mov r10, rcx
syscall
ret
NtCreatePagingFile ENDP
NtCreatePartition PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreatePartition_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtCreatePartition_Check_10_0_XXXX
jmp NtCreatePartition_SystemCall_Unknown
NtCreatePartition_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreatePartition_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreatePartition_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreatePartition_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreatePartition_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreatePartition_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreatePartition_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreatePartition_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreatePartition_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreatePartition_SystemCall_10_0_18363
jmp NtCreatePartition_SystemCall_Unknown
NtCreatePartition_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00aah
jmp NtCreatePartition_Epilogue
NtCreatePartition_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00abh
jmp NtCreatePartition_Epilogue
NtCreatePartition_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00ach
jmp NtCreatePartition_Epilogue
NtCreatePartition_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00afh
jmp NtCreatePartition_Epilogue
NtCreatePartition_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00b0h
jmp NtCreatePartition_Epilogue
NtCreatePartition_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00b1h
jmp NtCreatePartition_Epilogue
NtCreatePartition_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00b1h
jmp NtCreatePartition_Epilogue
NtCreatePartition_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00b2h
jmp NtCreatePartition_Epilogue
NtCreatePartition_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00b2h
jmp NtCreatePartition_Epilogue
NtCreatePartition_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreatePartition_Epilogue:
mov r10, rcx
syscall
ret
NtCreatePartition ENDP
NtCreatePort PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreatePort_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreatePort_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreatePort_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreatePort_Check_10_0_XXXX
jmp NtCreatePort_SystemCall_Unknown
NtCreatePort_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreatePort_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreatePort_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreatePort_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreatePort_SystemCall_6_3_XXXX
jmp NtCreatePort_SystemCall_Unknown
NtCreatePort_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreatePort_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreatePort_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreatePort_SystemCall_6_0_6002
jmp NtCreatePort_SystemCall_Unknown
NtCreatePort_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreatePort_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreatePort_SystemCall_6_1_7601
jmp NtCreatePort_SystemCall_Unknown
NtCreatePort_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreatePort_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreatePort_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreatePort_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreatePort_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreatePort_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreatePort_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreatePort_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreatePort_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreatePort_SystemCall_10_0_18363
jmp NtCreatePort_SystemCall_Unknown
NtCreatePort_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0081h
jmp NtCreatePort_Epilogue
NtCreatePort_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00a0h
jmp NtCreatePort_Epilogue
NtCreatePort_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 009eh
jmp NtCreatePort_Epilogue
NtCreatePort_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 009eh
jmp NtCreatePort_Epilogue
NtCreatePort_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 009dh
jmp NtCreatePort_Epilogue
NtCreatePort_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 009dh
jmp NtCreatePort_Epilogue
NtCreatePort_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00a7h
jmp NtCreatePort_Epilogue
NtCreatePort_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00a8h
jmp NtCreatePort_Epilogue
NtCreatePort_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00abh
jmp NtCreatePort_Epilogue
NtCreatePort_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00ach
jmp NtCreatePort_Epilogue
NtCreatePort_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00adh
jmp NtCreatePort_Epilogue
NtCreatePort_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00b0h
jmp NtCreatePort_Epilogue
NtCreatePort_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00b1h
jmp NtCreatePort_Epilogue
NtCreatePort_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00b2h
jmp NtCreatePort_Epilogue
NtCreatePort_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00b2h
jmp NtCreatePort_Epilogue
NtCreatePort_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00b3h
jmp NtCreatePort_Epilogue
NtCreatePort_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00b3h
jmp NtCreatePort_Epilogue
NtCreatePort_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreatePort_Epilogue:
mov r10, rcx
syscall
ret
NtCreatePort ENDP
NtCreatePrivateNamespace PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreatePrivateNamespace_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCreatePrivateNamespace_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreatePrivateNamespace_Check_10_0_XXXX
jmp NtCreatePrivateNamespace_SystemCall_Unknown
NtCreatePrivateNamespace_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreatePrivateNamespace_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreatePrivateNamespace_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreatePrivateNamespace_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreatePrivateNamespace_SystemCall_6_3_XXXX
jmp NtCreatePrivateNamespace_SystemCall_Unknown
NtCreatePrivateNamespace_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreatePrivateNamespace_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreatePrivateNamespace_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreatePrivateNamespace_SystemCall_6_0_6002
jmp NtCreatePrivateNamespace_SystemCall_Unknown
NtCreatePrivateNamespace_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreatePrivateNamespace_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreatePrivateNamespace_SystemCall_6_1_7601
jmp NtCreatePrivateNamespace_SystemCall_Unknown
NtCreatePrivateNamespace_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreatePrivateNamespace_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreatePrivateNamespace_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreatePrivateNamespace_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreatePrivateNamespace_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreatePrivateNamespace_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreatePrivateNamespace_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreatePrivateNamespace_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreatePrivateNamespace_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreatePrivateNamespace_SystemCall_10_0_18363
jmp NtCreatePrivateNamespace_SystemCall_Unknown
NtCreatePrivateNamespace_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00a1h
jmp NtCreatePrivateNamespace_Epilogue
NtCreatePrivateNamespace_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 009fh
jmp NtCreatePrivateNamespace_Epilogue
NtCreatePrivateNamespace_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 009fh
jmp NtCreatePrivateNamespace_Epilogue
NtCreatePrivateNamespace_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 009eh
jmp NtCreatePrivateNamespace_Epilogue
NtCreatePrivateNamespace_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 009eh
jmp NtCreatePrivateNamespace_Epilogue
NtCreatePrivateNamespace_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00a8h
jmp NtCreatePrivateNamespace_Epilogue
NtCreatePrivateNamespace_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00a9h
jmp NtCreatePrivateNamespace_Epilogue
NtCreatePrivateNamespace_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00ach
jmp NtCreatePrivateNamespace_Epilogue
NtCreatePrivateNamespace_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00adh
jmp NtCreatePrivateNamespace_Epilogue
NtCreatePrivateNamespace_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00aeh
jmp NtCreatePrivateNamespace_Epilogue
NtCreatePrivateNamespace_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00b1h
jmp NtCreatePrivateNamespace_Epilogue
NtCreatePrivateNamespace_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00b2h
jmp NtCreatePrivateNamespace_Epilogue
NtCreatePrivateNamespace_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00b3h
jmp NtCreatePrivateNamespace_Epilogue
NtCreatePrivateNamespace_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00b3h
jmp NtCreatePrivateNamespace_Epilogue
NtCreatePrivateNamespace_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00b4h
jmp NtCreatePrivateNamespace_Epilogue
NtCreatePrivateNamespace_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00b4h
jmp NtCreatePrivateNamespace_Epilogue
NtCreatePrivateNamespace_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreatePrivateNamespace_Epilogue:
mov r10, rcx
syscall
ret
NtCreatePrivateNamespace ENDP
NtCreateProcess PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateProcess_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateProcess_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateProcess_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateProcess_Check_10_0_XXXX
jmp NtCreateProcess_SystemCall_Unknown
NtCreateProcess_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateProcess_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateProcess_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateProcess_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateProcess_SystemCall_6_3_XXXX
jmp NtCreateProcess_SystemCall_Unknown
NtCreateProcess_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateProcess_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateProcess_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateProcess_SystemCall_6_0_6002
jmp NtCreateProcess_SystemCall_Unknown
NtCreateProcess_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateProcess_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateProcess_SystemCall_6_1_7601
jmp NtCreateProcess_SystemCall_Unknown
NtCreateProcess_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateProcess_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateProcess_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateProcess_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateProcess_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateProcess_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateProcess_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateProcess_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateProcess_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateProcess_SystemCall_10_0_18363
jmp NtCreateProcess_SystemCall_Unknown
NtCreateProcess_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0082h
jmp NtCreateProcess_Epilogue
NtCreateProcess_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00a2h
jmp NtCreateProcess_Epilogue
NtCreateProcess_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00a0h
jmp NtCreateProcess_Epilogue
NtCreateProcess_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00a0h
jmp NtCreateProcess_Epilogue
NtCreateProcess_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 009fh
jmp NtCreateProcess_Epilogue
NtCreateProcess_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 009fh
jmp NtCreateProcess_Epilogue
NtCreateProcess_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00a9h
jmp NtCreateProcess_Epilogue
NtCreateProcess_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00aah
jmp NtCreateProcess_Epilogue
NtCreateProcess_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00adh
jmp NtCreateProcess_Epilogue
NtCreateProcess_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00aeh
jmp NtCreateProcess_Epilogue
NtCreateProcess_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00afh
jmp NtCreateProcess_Epilogue
NtCreateProcess_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00b2h
jmp NtCreateProcess_Epilogue
NtCreateProcess_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00b3h
jmp NtCreateProcess_Epilogue
NtCreateProcess_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00b4h
jmp NtCreateProcess_Epilogue
NtCreateProcess_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00b4h
jmp NtCreateProcess_Epilogue
NtCreateProcess_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00b5h
jmp NtCreateProcess_Epilogue
NtCreateProcess_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00b5h
jmp NtCreateProcess_Epilogue
NtCreateProcess_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateProcess_Epilogue:
mov r10, rcx
syscall
ret
NtCreateProcess ENDP
NtCreateProcessEx PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateProcessEx_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateProcessEx_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateProcessEx_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateProcessEx_Check_10_0_XXXX
jmp NtCreateProcessEx_SystemCall_Unknown
NtCreateProcessEx_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateProcessEx_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateProcessEx_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateProcessEx_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateProcessEx_SystemCall_6_3_XXXX
jmp NtCreateProcessEx_SystemCall_Unknown
NtCreateProcessEx_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateProcessEx_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateProcessEx_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateProcessEx_SystemCall_6_0_6002
jmp NtCreateProcessEx_SystemCall_Unknown
NtCreateProcessEx_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateProcessEx_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateProcessEx_SystemCall_6_1_7601
jmp NtCreateProcessEx_SystemCall_Unknown
NtCreateProcessEx_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateProcessEx_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateProcessEx_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateProcessEx_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateProcessEx_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateProcessEx_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateProcessEx_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateProcessEx_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateProcessEx_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateProcessEx_SystemCall_10_0_18363
jmp NtCreateProcessEx_SystemCall_Unknown
NtCreateProcessEx_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 004ah
jmp NtCreateProcessEx_Epilogue
NtCreateProcessEx_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 004ah
jmp NtCreateProcessEx_Epilogue
NtCreateProcessEx_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 004ah
jmp NtCreateProcessEx_Epilogue
NtCreateProcessEx_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 004ah
jmp NtCreateProcessEx_Epilogue
NtCreateProcessEx_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 004ah
jmp NtCreateProcessEx_Epilogue
NtCreateProcessEx_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 004ah
jmp NtCreateProcessEx_Epilogue
NtCreateProcessEx_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 004bh
jmp NtCreateProcessEx_Epilogue
NtCreateProcessEx_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 004ch
jmp NtCreateProcessEx_Epilogue
NtCreateProcessEx_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 004dh
jmp NtCreateProcessEx_Epilogue
NtCreateProcessEx_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 004dh
jmp NtCreateProcessEx_Epilogue
NtCreateProcessEx_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 004dh
jmp NtCreateProcessEx_Epilogue
NtCreateProcessEx_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 004dh
jmp NtCreateProcessEx_Epilogue
NtCreateProcessEx_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 004dh
jmp NtCreateProcessEx_Epilogue
NtCreateProcessEx_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 004dh
jmp NtCreateProcessEx_Epilogue
NtCreateProcessEx_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 004dh
jmp NtCreateProcessEx_Epilogue
NtCreateProcessEx_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 004dh
jmp NtCreateProcessEx_Epilogue
NtCreateProcessEx_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 004dh
jmp NtCreateProcessEx_Epilogue
NtCreateProcessEx_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateProcessEx_Epilogue:
mov r10, rcx
syscall
ret
NtCreateProcessEx ENDP
NtCreateProfile PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateProfile_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateProfile_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateProfile_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateProfile_Check_10_0_XXXX
jmp NtCreateProfile_SystemCall_Unknown
NtCreateProfile_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateProfile_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateProfile_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateProfile_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateProfile_SystemCall_6_3_XXXX
jmp NtCreateProfile_SystemCall_Unknown
NtCreateProfile_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateProfile_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateProfile_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateProfile_SystemCall_6_0_6002
jmp NtCreateProfile_SystemCall_Unknown
NtCreateProfile_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateProfile_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateProfile_SystemCall_6_1_7601
jmp NtCreateProfile_SystemCall_Unknown
NtCreateProfile_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateProfile_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateProfile_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateProfile_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateProfile_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateProfile_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateProfile_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateProfile_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateProfile_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateProfile_SystemCall_10_0_18363
jmp NtCreateProfile_SystemCall_Unknown
NtCreateProfile_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0083h
jmp NtCreateProfile_Epilogue
NtCreateProfile_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00a3h
jmp NtCreateProfile_Epilogue
NtCreateProfile_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00a1h
jmp NtCreateProfile_Epilogue
NtCreateProfile_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00a1h
jmp NtCreateProfile_Epilogue
NtCreateProfile_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00a0h
jmp NtCreateProfile_Epilogue
NtCreateProfile_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00a0h
jmp NtCreateProfile_Epilogue
NtCreateProfile_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00aah
jmp NtCreateProfile_Epilogue
NtCreateProfile_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00abh
jmp NtCreateProfile_Epilogue
NtCreateProfile_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00aeh
jmp NtCreateProfile_Epilogue
NtCreateProfile_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00afh
jmp NtCreateProfile_Epilogue
NtCreateProfile_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00b0h
jmp NtCreateProfile_Epilogue
NtCreateProfile_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00b3h
jmp NtCreateProfile_Epilogue
NtCreateProfile_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00b4h
jmp NtCreateProfile_Epilogue
NtCreateProfile_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00b5h
jmp NtCreateProfile_Epilogue
NtCreateProfile_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00b5h
jmp NtCreateProfile_Epilogue
NtCreateProfile_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00b6h
jmp NtCreateProfile_Epilogue
NtCreateProfile_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00b6h
jmp NtCreateProfile_Epilogue
NtCreateProfile_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateProfile_Epilogue:
mov r10, rcx
syscall
ret
NtCreateProfile ENDP
NtCreateProfileEx PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateProfileEx_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCreateProfileEx_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateProfileEx_Check_10_0_XXXX
jmp NtCreateProfileEx_SystemCall_Unknown
NtCreateProfileEx_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 1
je NtCreateProfileEx_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateProfileEx_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateProfileEx_SystemCall_6_3_XXXX
jmp NtCreateProfileEx_SystemCall_Unknown
NtCreateProfileEx_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateProfileEx_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateProfileEx_SystemCall_6_1_7601
jmp NtCreateProfileEx_SystemCall_Unknown
NtCreateProfileEx_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateProfileEx_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateProfileEx_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateProfileEx_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateProfileEx_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateProfileEx_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateProfileEx_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateProfileEx_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateProfileEx_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateProfileEx_SystemCall_10_0_18363
jmp NtCreateProfileEx_SystemCall_Unknown
NtCreateProfileEx_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00a1h
jmp NtCreateProfileEx_Epilogue
NtCreateProfileEx_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00a1h
jmp NtCreateProfileEx_Epilogue
NtCreateProfileEx_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00abh
jmp NtCreateProfileEx_Epilogue
NtCreateProfileEx_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00ach
jmp NtCreateProfileEx_Epilogue
NtCreateProfileEx_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00afh
jmp NtCreateProfileEx_Epilogue
NtCreateProfileEx_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00b0h
jmp NtCreateProfileEx_Epilogue
NtCreateProfileEx_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00b1h
jmp NtCreateProfileEx_Epilogue
NtCreateProfileEx_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00b4h
jmp NtCreateProfileEx_Epilogue
NtCreateProfileEx_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00b5h
jmp NtCreateProfileEx_Epilogue
NtCreateProfileEx_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00b6h
jmp NtCreateProfileEx_Epilogue
NtCreateProfileEx_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00b6h
jmp NtCreateProfileEx_Epilogue
NtCreateProfileEx_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00b7h
jmp NtCreateProfileEx_Epilogue
NtCreateProfileEx_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00b7h
jmp NtCreateProfileEx_Epilogue
NtCreateProfileEx_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateProfileEx_Epilogue:
mov r10, rcx
syscall
ret
NtCreateProfileEx ENDP
NtCreateRegistryTransaction PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateRegistryTransaction_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtCreateRegistryTransaction_Check_10_0_XXXX
jmp NtCreateRegistryTransaction_SystemCall_Unknown
NtCreateRegistryTransaction_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 14393
je NtCreateRegistryTransaction_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateRegistryTransaction_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateRegistryTransaction_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateRegistryTransaction_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateRegistryTransaction_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateRegistryTransaction_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateRegistryTransaction_SystemCall_10_0_18363
jmp NtCreateRegistryTransaction_SystemCall_Unknown
NtCreateRegistryTransaction_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00b2h
jmp NtCreateRegistryTransaction_Epilogue
NtCreateRegistryTransaction_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00b5h
jmp NtCreateRegistryTransaction_Epilogue
NtCreateRegistryTransaction_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00b6h
jmp NtCreateRegistryTransaction_Epilogue
NtCreateRegistryTransaction_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00b7h
jmp NtCreateRegistryTransaction_Epilogue
NtCreateRegistryTransaction_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00b7h
jmp NtCreateRegistryTransaction_Epilogue
NtCreateRegistryTransaction_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00b8h
jmp NtCreateRegistryTransaction_Epilogue
NtCreateRegistryTransaction_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00b8h
jmp NtCreateRegistryTransaction_Epilogue
NtCreateRegistryTransaction_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateRegistryTransaction_Epilogue:
mov r10, rcx
syscall
ret
NtCreateRegistryTransaction ENDP
NtCreateResourceManager PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateResourceManager_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCreateResourceManager_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateResourceManager_Check_10_0_XXXX
jmp NtCreateResourceManager_SystemCall_Unknown
NtCreateResourceManager_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateResourceManager_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateResourceManager_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateResourceManager_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateResourceManager_SystemCall_6_3_XXXX
jmp NtCreateResourceManager_SystemCall_Unknown
NtCreateResourceManager_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateResourceManager_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateResourceManager_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateResourceManager_SystemCall_6_0_6002
jmp NtCreateResourceManager_SystemCall_Unknown
NtCreateResourceManager_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateResourceManager_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateResourceManager_SystemCall_6_1_7601
jmp NtCreateResourceManager_SystemCall_Unknown
NtCreateResourceManager_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateResourceManager_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateResourceManager_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateResourceManager_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateResourceManager_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateResourceManager_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateResourceManager_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateResourceManager_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateResourceManager_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateResourceManager_SystemCall_10_0_18363
jmp NtCreateResourceManager_SystemCall_Unknown
NtCreateResourceManager_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00a4h
jmp NtCreateResourceManager_Epilogue
NtCreateResourceManager_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00a2h
jmp NtCreateResourceManager_Epilogue
NtCreateResourceManager_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00a2h
jmp NtCreateResourceManager_Epilogue
NtCreateResourceManager_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00a2h
jmp NtCreateResourceManager_Epilogue
NtCreateResourceManager_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00a2h
jmp NtCreateResourceManager_Epilogue
NtCreateResourceManager_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00ach
jmp NtCreateResourceManager_Epilogue
NtCreateResourceManager_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00adh
jmp NtCreateResourceManager_Epilogue
NtCreateResourceManager_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00b0h
jmp NtCreateResourceManager_Epilogue
NtCreateResourceManager_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00b1h
jmp NtCreateResourceManager_Epilogue
NtCreateResourceManager_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00b3h
jmp NtCreateResourceManager_Epilogue
NtCreateResourceManager_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00b6h
jmp NtCreateResourceManager_Epilogue
NtCreateResourceManager_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00b7h
jmp NtCreateResourceManager_Epilogue
NtCreateResourceManager_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00b8h
jmp NtCreateResourceManager_Epilogue
NtCreateResourceManager_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00b8h
jmp NtCreateResourceManager_Epilogue
NtCreateResourceManager_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00b9h
jmp NtCreateResourceManager_Epilogue
NtCreateResourceManager_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00b9h
jmp NtCreateResourceManager_Epilogue
NtCreateResourceManager_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateResourceManager_Epilogue:
mov r10, rcx
syscall
ret
NtCreateResourceManager ENDP
NtCreateSection PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateSection_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateSection_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateSection_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateSection_Check_10_0_XXXX
jmp NtCreateSection_SystemCall_Unknown
NtCreateSection_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateSection_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateSection_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateSection_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateSection_SystemCall_6_3_XXXX
jmp NtCreateSection_SystemCall_Unknown
NtCreateSection_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateSection_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateSection_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateSection_SystemCall_6_0_6002
jmp NtCreateSection_SystemCall_Unknown
NtCreateSection_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateSection_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateSection_SystemCall_6_1_7601
jmp NtCreateSection_SystemCall_Unknown
NtCreateSection_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateSection_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateSection_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateSection_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateSection_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateSection_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateSection_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateSection_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateSection_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateSection_SystemCall_10_0_18363
jmp NtCreateSection_SystemCall_Unknown
NtCreateSection_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0047h
jmp NtCreateSection_Epilogue
NtCreateSection_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0047h
jmp NtCreateSection_Epilogue
NtCreateSection_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0047h
jmp NtCreateSection_Epilogue
NtCreateSection_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0047h
jmp NtCreateSection_Epilogue
NtCreateSection_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0047h
jmp NtCreateSection_Epilogue
NtCreateSection_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0047h
jmp NtCreateSection_Epilogue
NtCreateSection_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0048h
jmp NtCreateSection_Epilogue
NtCreateSection_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0049h
jmp NtCreateSection_Epilogue
NtCreateSection_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 004ah
jmp NtCreateSection_Epilogue
NtCreateSection_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 004ah
jmp NtCreateSection_Epilogue
NtCreateSection_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 004ah
jmp NtCreateSection_Epilogue
NtCreateSection_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 004ah
jmp NtCreateSection_Epilogue
NtCreateSection_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 004ah
jmp NtCreateSection_Epilogue
NtCreateSection_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 004ah
jmp NtCreateSection_Epilogue
NtCreateSection_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 004ah
jmp NtCreateSection_Epilogue
NtCreateSection_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 004ah
jmp NtCreateSection_Epilogue
NtCreateSection_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 004ah
jmp NtCreateSection_Epilogue
NtCreateSection_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateSection_Epilogue:
mov r10, rcx
syscall
ret
NtCreateSection ENDP
NtCreateSectionEx PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateSectionEx_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtCreateSectionEx_Check_10_0_XXXX
jmp NtCreateSectionEx_SystemCall_Unknown
NtCreateSectionEx_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 17763
je NtCreateSectionEx_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateSectionEx_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateSectionEx_SystemCall_10_0_18363
jmp NtCreateSectionEx_SystemCall_Unknown
NtCreateSectionEx_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00b9h
jmp NtCreateSectionEx_Epilogue
NtCreateSectionEx_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00bah
jmp NtCreateSectionEx_Epilogue
NtCreateSectionEx_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00bah
jmp NtCreateSectionEx_Epilogue
NtCreateSectionEx_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateSectionEx_Epilogue:
mov r10, rcx
syscall
ret
NtCreateSectionEx ENDP
NtCreateSemaphore PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateSemaphore_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateSemaphore_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateSemaphore_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateSemaphore_Check_10_0_XXXX
jmp NtCreateSemaphore_SystemCall_Unknown
NtCreateSemaphore_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateSemaphore_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateSemaphore_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateSemaphore_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateSemaphore_SystemCall_6_3_XXXX
jmp NtCreateSemaphore_SystemCall_Unknown
NtCreateSemaphore_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateSemaphore_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateSemaphore_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateSemaphore_SystemCall_6_0_6002
jmp NtCreateSemaphore_SystemCall_Unknown
NtCreateSemaphore_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateSemaphore_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateSemaphore_SystemCall_6_1_7601
jmp NtCreateSemaphore_SystemCall_Unknown
NtCreateSemaphore_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateSemaphore_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateSemaphore_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateSemaphore_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateSemaphore_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateSemaphore_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateSemaphore_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateSemaphore_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateSemaphore_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateSemaphore_SystemCall_10_0_18363
jmp NtCreateSemaphore_SystemCall_Unknown
NtCreateSemaphore_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0084h
jmp NtCreateSemaphore_Epilogue
NtCreateSemaphore_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00a5h
jmp NtCreateSemaphore_Epilogue
NtCreateSemaphore_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00a3h
jmp NtCreateSemaphore_Epilogue
NtCreateSemaphore_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00a3h
jmp NtCreateSemaphore_Epilogue
NtCreateSemaphore_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00a3h
jmp NtCreateSemaphore_Epilogue
NtCreateSemaphore_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00a3h
jmp NtCreateSemaphore_Epilogue
NtCreateSemaphore_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00adh
jmp NtCreateSemaphore_Epilogue
NtCreateSemaphore_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00aeh
jmp NtCreateSemaphore_Epilogue
NtCreateSemaphore_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00b1h
jmp NtCreateSemaphore_Epilogue
NtCreateSemaphore_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00b2h
jmp NtCreateSemaphore_Epilogue
NtCreateSemaphore_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00b4h
jmp NtCreateSemaphore_Epilogue
NtCreateSemaphore_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00b7h
jmp NtCreateSemaphore_Epilogue
NtCreateSemaphore_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00b8h
jmp NtCreateSemaphore_Epilogue
NtCreateSemaphore_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00b9h
jmp NtCreateSemaphore_Epilogue
NtCreateSemaphore_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00bah
jmp NtCreateSemaphore_Epilogue
NtCreateSemaphore_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00bbh
jmp NtCreateSemaphore_Epilogue
NtCreateSemaphore_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00bbh
jmp NtCreateSemaphore_Epilogue
NtCreateSemaphore_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateSemaphore_Epilogue:
mov r10, rcx
syscall
ret
NtCreateSemaphore ENDP
NtCreateSymbolicLinkObject PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateSymbolicLinkObject_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateSymbolicLinkObject_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateSymbolicLinkObject_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateSymbolicLinkObject_Check_10_0_XXXX
jmp NtCreateSymbolicLinkObject_SystemCall_Unknown
NtCreateSymbolicLinkObject_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateSymbolicLinkObject_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateSymbolicLinkObject_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateSymbolicLinkObject_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateSymbolicLinkObject_SystemCall_6_3_XXXX
jmp NtCreateSymbolicLinkObject_SystemCall_Unknown
NtCreateSymbolicLinkObject_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateSymbolicLinkObject_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateSymbolicLinkObject_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateSymbolicLinkObject_SystemCall_6_0_6002
jmp NtCreateSymbolicLinkObject_SystemCall_Unknown
NtCreateSymbolicLinkObject_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateSymbolicLinkObject_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateSymbolicLinkObject_SystemCall_6_1_7601
jmp NtCreateSymbolicLinkObject_SystemCall_Unknown
NtCreateSymbolicLinkObject_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateSymbolicLinkObject_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateSymbolicLinkObject_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateSymbolicLinkObject_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateSymbolicLinkObject_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateSymbolicLinkObject_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateSymbolicLinkObject_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateSymbolicLinkObject_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateSymbolicLinkObject_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateSymbolicLinkObject_SystemCall_10_0_18363
jmp NtCreateSymbolicLinkObject_SystemCall_Unknown
NtCreateSymbolicLinkObject_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0085h
jmp NtCreateSymbolicLinkObject_Epilogue
NtCreateSymbolicLinkObject_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00a6h
jmp NtCreateSymbolicLinkObject_Epilogue
NtCreateSymbolicLinkObject_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00a4h
jmp NtCreateSymbolicLinkObject_Epilogue
NtCreateSymbolicLinkObject_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00a4h
jmp NtCreateSymbolicLinkObject_Epilogue
NtCreateSymbolicLinkObject_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00a4h
jmp NtCreateSymbolicLinkObject_Epilogue
NtCreateSymbolicLinkObject_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00a4h
jmp NtCreateSymbolicLinkObject_Epilogue
NtCreateSymbolicLinkObject_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00aeh
jmp NtCreateSymbolicLinkObject_Epilogue
NtCreateSymbolicLinkObject_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00afh
jmp NtCreateSymbolicLinkObject_Epilogue
NtCreateSymbolicLinkObject_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00b2h
jmp NtCreateSymbolicLinkObject_Epilogue
NtCreateSymbolicLinkObject_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00b3h
jmp NtCreateSymbolicLinkObject_Epilogue
NtCreateSymbolicLinkObject_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00b5h
jmp NtCreateSymbolicLinkObject_Epilogue
NtCreateSymbolicLinkObject_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00b8h
jmp NtCreateSymbolicLinkObject_Epilogue
NtCreateSymbolicLinkObject_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00b9h
jmp NtCreateSymbolicLinkObject_Epilogue
NtCreateSymbolicLinkObject_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00bah
jmp NtCreateSymbolicLinkObject_Epilogue
NtCreateSymbolicLinkObject_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00bbh
jmp NtCreateSymbolicLinkObject_Epilogue
NtCreateSymbolicLinkObject_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00bch
jmp NtCreateSymbolicLinkObject_Epilogue
NtCreateSymbolicLinkObject_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00bch
jmp NtCreateSymbolicLinkObject_Epilogue
NtCreateSymbolicLinkObject_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateSymbolicLinkObject_Epilogue:
mov r10, rcx
syscall
ret
NtCreateSymbolicLinkObject ENDP
NtCreateThread PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateThread_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateThread_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateThread_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateThread_Check_10_0_XXXX
jmp NtCreateThread_SystemCall_Unknown
NtCreateThread_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateThread_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateThread_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateThread_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateThread_SystemCall_6_3_XXXX
jmp NtCreateThread_SystemCall_Unknown
NtCreateThread_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateThread_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateThread_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateThread_SystemCall_6_0_6002
jmp NtCreateThread_SystemCall_Unknown
NtCreateThread_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateThread_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateThread_SystemCall_6_1_7601
jmp NtCreateThread_SystemCall_Unknown
NtCreateThread_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateThread_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateThread_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateThread_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateThread_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateThread_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateThread_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateThread_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateThread_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateThread_SystemCall_10_0_18363
jmp NtCreateThread_SystemCall_Unknown
NtCreateThread_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 004bh
jmp NtCreateThread_Epilogue
NtCreateThread_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 004bh
jmp NtCreateThread_Epilogue
NtCreateThread_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 004bh
jmp NtCreateThread_Epilogue
NtCreateThread_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 004bh
jmp NtCreateThread_Epilogue
NtCreateThread_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 004bh
jmp NtCreateThread_Epilogue
NtCreateThread_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 004bh
jmp NtCreateThread_Epilogue
NtCreateThread_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 004ch
jmp NtCreateThread_Epilogue
NtCreateThread_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 004dh
jmp NtCreateThread_Epilogue
NtCreateThread_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 004eh
jmp NtCreateThread_Epilogue
NtCreateThread_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 004eh
jmp NtCreateThread_Epilogue
NtCreateThread_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 004eh
jmp NtCreateThread_Epilogue
NtCreateThread_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 004eh
jmp NtCreateThread_Epilogue
NtCreateThread_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 004eh
jmp NtCreateThread_Epilogue
NtCreateThread_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 004eh
jmp NtCreateThread_Epilogue
NtCreateThread_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 004eh
jmp NtCreateThread_Epilogue
NtCreateThread_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 004eh
jmp NtCreateThread_Epilogue
NtCreateThread_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 004eh
jmp NtCreateThread_Epilogue
NtCreateThread_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateThread_Epilogue:
mov r10, rcx
syscall
ret
NtCreateThread ENDP
NtCreateThreadEx PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateThreadEx_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCreateThreadEx_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateThreadEx_Check_10_0_XXXX
jmp NtCreateThreadEx_SystemCall_Unknown
NtCreateThreadEx_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateThreadEx_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateThreadEx_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateThreadEx_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateThreadEx_SystemCall_6_3_XXXX
jmp NtCreateThreadEx_SystemCall_Unknown
NtCreateThreadEx_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateThreadEx_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateThreadEx_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateThreadEx_SystemCall_6_0_6002
jmp NtCreateThreadEx_SystemCall_Unknown
NtCreateThreadEx_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateThreadEx_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateThreadEx_SystemCall_6_1_7601
jmp NtCreateThreadEx_SystemCall_Unknown
NtCreateThreadEx_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateThreadEx_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateThreadEx_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateThreadEx_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateThreadEx_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateThreadEx_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateThreadEx_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateThreadEx_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateThreadEx_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateThreadEx_SystemCall_10_0_18363
jmp NtCreateThreadEx_SystemCall_Unknown
NtCreateThreadEx_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00a7h
jmp NtCreateThreadEx_Epilogue
NtCreateThreadEx_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00a5h
jmp NtCreateThreadEx_Epilogue
NtCreateThreadEx_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00a5h
jmp NtCreateThreadEx_Epilogue
NtCreateThreadEx_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00a5h
jmp NtCreateThreadEx_Epilogue
NtCreateThreadEx_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00a5h
jmp NtCreateThreadEx_Epilogue
NtCreateThreadEx_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00afh
jmp NtCreateThreadEx_Epilogue
NtCreateThreadEx_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00b0h
jmp NtCreateThreadEx_Epilogue
NtCreateThreadEx_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00b3h
jmp NtCreateThreadEx_Epilogue
NtCreateThreadEx_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00b4h
jmp NtCreateThreadEx_Epilogue
NtCreateThreadEx_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00b6h
jmp NtCreateThreadEx_Epilogue
NtCreateThreadEx_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00b9h
jmp NtCreateThreadEx_Epilogue
NtCreateThreadEx_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00bah
jmp NtCreateThreadEx_Epilogue
NtCreateThreadEx_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00bbh
jmp NtCreateThreadEx_Epilogue
NtCreateThreadEx_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00bch
jmp NtCreateThreadEx_Epilogue
NtCreateThreadEx_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00bdh
jmp NtCreateThreadEx_Epilogue
NtCreateThreadEx_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00bdh
jmp NtCreateThreadEx_Epilogue
NtCreateThreadEx_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateThreadEx_Epilogue:
mov r10, rcx
syscall
ret
NtCreateThreadEx ENDP
NtCreateTimer PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateTimer_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateTimer_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateTimer_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateTimer_Check_10_0_XXXX
jmp NtCreateTimer_SystemCall_Unknown
NtCreateTimer_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateTimer_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateTimer_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateTimer_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateTimer_SystemCall_6_3_XXXX
jmp NtCreateTimer_SystemCall_Unknown
NtCreateTimer_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateTimer_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateTimer_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateTimer_SystemCall_6_0_6002
jmp NtCreateTimer_SystemCall_Unknown
NtCreateTimer_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateTimer_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateTimer_SystemCall_6_1_7601
jmp NtCreateTimer_SystemCall_Unknown
NtCreateTimer_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateTimer_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateTimer_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateTimer_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateTimer_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateTimer_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateTimer_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateTimer_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateTimer_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateTimer_SystemCall_10_0_18363
jmp NtCreateTimer_SystemCall_Unknown
NtCreateTimer_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0086h
jmp NtCreateTimer_Epilogue
NtCreateTimer_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00a8h
jmp NtCreateTimer_Epilogue
NtCreateTimer_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00a6h
jmp NtCreateTimer_Epilogue
NtCreateTimer_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00a6h
jmp NtCreateTimer_Epilogue
NtCreateTimer_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00a6h
jmp NtCreateTimer_Epilogue
NtCreateTimer_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00a6h
jmp NtCreateTimer_Epilogue
NtCreateTimer_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00b0h
jmp NtCreateTimer_Epilogue
NtCreateTimer_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00b1h
jmp NtCreateTimer_Epilogue
NtCreateTimer_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00b4h
jmp NtCreateTimer_Epilogue
NtCreateTimer_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00b5h
jmp NtCreateTimer_Epilogue
NtCreateTimer_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00b7h
jmp NtCreateTimer_Epilogue
NtCreateTimer_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00bah
jmp NtCreateTimer_Epilogue
NtCreateTimer_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00bbh
jmp NtCreateTimer_Epilogue
NtCreateTimer_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00bch
jmp NtCreateTimer_Epilogue
NtCreateTimer_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00bdh
jmp NtCreateTimer_Epilogue
NtCreateTimer_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00beh
jmp NtCreateTimer_Epilogue
NtCreateTimer_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00beh
jmp NtCreateTimer_Epilogue
NtCreateTimer_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateTimer_Epilogue:
mov r10, rcx
syscall
ret
NtCreateTimer ENDP
NtCreateTimer2 PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateTimer2_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCreateTimer2_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateTimer2_Check_10_0_XXXX
jmp NtCreateTimer2_SystemCall_Unknown
NtCreateTimer2_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtCreateTimer2_SystemCall_6_3_XXXX
jmp NtCreateTimer2_SystemCall_Unknown
NtCreateTimer2_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateTimer2_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateTimer2_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateTimer2_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateTimer2_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateTimer2_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateTimer2_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateTimer2_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateTimer2_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateTimer2_SystemCall_10_0_18363
jmp NtCreateTimer2_SystemCall_Unknown
NtCreateTimer2_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00b2h
jmp NtCreateTimer2_Epilogue
NtCreateTimer2_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00b5h
jmp NtCreateTimer2_Epilogue
NtCreateTimer2_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00b6h
jmp NtCreateTimer2_Epilogue
NtCreateTimer2_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00b8h
jmp NtCreateTimer2_Epilogue
NtCreateTimer2_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00bbh
jmp NtCreateTimer2_Epilogue
NtCreateTimer2_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00bch
jmp NtCreateTimer2_Epilogue
NtCreateTimer2_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00bdh
jmp NtCreateTimer2_Epilogue
NtCreateTimer2_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00beh
jmp NtCreateTimer2_Epilogue
NtCreateTimer2_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00bfh
jmp NtCreateTimer2_Epilogue
NtCreateTimer2_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00bfh
jmp NtCreateTimer2_Epilogue
NtCreateTimer2_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateTimer2_Epilogue:
mov r10, rcx
syscall
ret
NtCreateTimer2 ENDP
NtCreateToken PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateToken_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateToken_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateToken_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateToken_Check_10_0_XXXX
jmp NtCreateToken_SystemCall_Unknown
NtCreateToken_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateToken_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateToken_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateToken_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateToken_SystemCall_6_3_XXXX
jmp NtCreateToken_SystemCall_Unknown
NtCreateToken_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateToken_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateToken_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateToken_SystemCall_6_0_6002
jmp NtCreateToken_SystemCall_Unknown
NtCreateToken_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateToken_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateToken_SystemCall_6_1_7601
jmp NtCreateToken_SystemCall_Unknown
NtCreateToken_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateToken_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateToken_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateToken_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateToken_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateToken_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateToken_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateToken_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateToken_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateToken_SystemCall_10_0_18363
jmp NtCreateToken_SystemCall_Unknown
NtCreateToken_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0087h
jmp NtCreateToken_Epilogue
NtCreateToken_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00a9h
jmp NtCreateToken_Epilogue
NtCreateToken_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00a7h
jmp NtCreateToken_Epilogue
NtCreateToken_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00a7h
jmp NtCreateToken_Epilogue
NtCreateToken_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00a7h
jmp NtCreateToken_Epilogue
NtCreateToken_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00a7h
jmp NtCreateToken_Epilogue
NtCreateToken_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00b1h
jmp NtCreateToken_Epilogue
NtCreateToken_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00b3h
jmp NtCreateToken_Epilogue
NtCreateToken_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00b6h
jmp NtCreateToken_Epilogue
NtCreateToken_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00b7h
jmp NtCreateToken_Epilogue
NtCreateToken_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00b9h
jmp NtCreateToken_Epilogue
NtCreateToken_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00bch
jmp NtCreateToken_Epilogue
NtCreateToken_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00bdh
jmp NtCreateToken_Epilogue
NtCreateToken_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00beh
jmp NtCreateToken_Epilogue
NtCreateToken_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00bfh
jmp NtCreateToken_Epilogue
NtCreateToken_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00c0h
jmp NtCreateToken_Epilogue
NtCreateToken_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00c0h
jmp NtCreateToken_Epilogue
NtCreateToken_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateToken_Epilogue:
mov r10, rcx
syscall
ret
NtCreateToken ENDP
NtCreateTokenEx PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateTokenEx_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCreateTokenEx_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateTokenEx_Check_10_0_XXXX
jmp NtCreateTokenEx_SystemCall_Unknown
NtCreateTokenEx_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtCreateTokenEx_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateTokenEx_SystemCall_6_3_XXXX
jmp NtCreateTokenEx_SystemCall_Unknown
NtCreateTokenEx_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateTokenEx_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateTokenEx_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateTokenEx_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateTokenEx_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateTokenEx_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateTokenEx_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateTokenEx_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateTokenEx_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateTokenEx_SystemCall_10_0_18363
jmp NtCreateTokenEx_SystemCall_Unknown
NtCreateTokenEx_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00b2h
jmp NtCreateTokenEx_Epilogue
NtCreateTokenEx_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00b4h
jmp NtCreateTokenEx_Epilogue
NtCreateTokenEx_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00b7h
jmp NtCreateTokenEx_Epilogue
NtCreateTokenEx_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00b8h
jmp NtCreateTokenEx_Epilogue
NtCreateTokenEx_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00bah
jmp NtCreateTokenEx_Epilogue
NtCreateTokenEx_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00bdh
jmp NtCreateTokenEx_Epilogue
NtCreateTokenEx_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00beh
jmp NtCreateTokenEx_Epilogue
NtCreateTokenEx_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00bfh
jmp NtCreateTokenEx_Epilogue
NtCreateTokenEx_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00c0h
jmp NtCreateTokenEx_Epilogue
NtCreateTokenEx_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00c1h
jmp NtCreateTokenEx_Epilogue
NtCreateTokenEx_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00c1h
jmp NtCreateTokenEx_Epilogue
NtCreateTokenEx_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateTokenEx_Epilogue:
mov r10, rcx
syscall
ret
NtCreateTokenEx ENDP
NtCreateTransaction PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateTransaction_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCreateTransaction_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateTransaction_Check_10_0_XXXX
jmp NtCreateTransaction_SystemCall_Unknown
NtCreateTransaction_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateTransaction_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateTransaction_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateTransaction_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateTransaction_SystemCall_6_3_XXXX
jmp NtCreateTransaction_SystemCall_Unknown
NtCreateTransaction_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateTransaction_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateTransaction_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateTransaction_SystemCall_6_0_6002
jmp NtCreateTransaction_SystemCall_Unknown
NtCreateTransaction_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateTransaction_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateTransaction_SystemCall_6_1_7601
jmp NtCreateTransaction_SystemCall_Unknown
NtCreateTransaction_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateTransaction_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateTransaction_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateTransaction_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateTransaction_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateTransaction_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateTransaction_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateTransaction_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateTransaction_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateTransaction_SystemCall_10_0_18363
jmp NtCreateTransaction_SystemCall_Unknown
NtCreateTransaction_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00aah
jmp NtCreateTransaction_Epilogue
NtCreateTransaction_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00a8h
jmp NtCreateTransaction_Epilogue
NtCreateTransaction_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00a8h
jmp NtCreateTransaction_Epilogue
NtCreateTransaction_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00a8h
jmp NtCreateTransaction_Epilogue
NtCreateTransaction_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00a8h
jmp NtCreateTransaction_Epilogue
NtCreateTransaction_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00b3h
jmp NtCreateTransaction_Epilogue
NtCreateTransaction_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00b5h
jmp NtCreateTransaction_Epilogue
NtCreateTransaction_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00b8h
jmp NtCreateTransaction_Epilogue
NtCreateTransaction_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00b9h
jmp NtCreateTransaction_Epilogue
NtCreateTransaction_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00bbh
jmp NtCreateTransaction_Epilogue
NtCreateTransaction_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00beh
jmp NtCreateTransaction_Epilogue
NtCreateTransaction_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00bfh
jmp NtCreateTransaction_Epilogue
NtCreateTransaction_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00c0h
jmp NtCreateTransaction_Epilogue
NtCreateTransaction_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00c1h
jmp NtCreateTransaction_Epilogue
NtCreateTransaction_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00c2h
jmp NtCreateTransaction_Epilogue
NtCreateTransaction_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00c2h
jmp NtCreateTransaction_Epilogue
NtCreateTransaction_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateTransaction_Epilogue:
mov r10, rcx
syscall
ret
NtCreateTransaction ENDP
NtCreateTransactionManager PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateTransactionManager_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCreateTransactionManager_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateTransactionManager_Check_10_0_XXXX
jmp NtCreateTransactionManager_SystemCall_Unknown
NtCreateTransactionManager_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateTransactionManager_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateTransactionManager_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateTransactionManager_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateTransactionManager_SystemCall_6_3_XXXX
jmp NtCreateTransactionManager_SystemCall_Unknown
NtCreateTransactionManager_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateTransactionManager_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateTransactionManager_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateTransactionManager_SystemCall_6_0_6002
jmp NtCreateTransactionManager_SystemCall_Unknown
NtCreateTransactionManager_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateTransactionManager_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateTransactionManager_SystemCall_6_1_7601
jmp NtCreateTransactionManager_SystemCall_Unknown
NtCreateTransactionManager_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateTransactionManager_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateTransactionManager_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateTransactionManager_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateTransactionManager_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateTransactionManager_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateTransactionManager_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateTransactionManager_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateTransactionManager_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateTransactionManager_SystemCall_10_0_18363
jmp NtCreateTransactionManager_SystemCall_Unknown
NtCreateTransactionManager_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00abh
jmp NtCreateTransactionManager_Epilogue
NtCreateTransactionManager_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00a9h
jmp NtCreateTransactionManager_Epilogue
NtCreateTransactionManager_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00a9h
jmp NtCreateTransactionManager_Epilogue
NtCreateTransactionManager_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00a9h
jmp NtCreateTransactionManager_Epilogue
NtCreateTransactionManager_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00a9h
jmp NtCreateTransactionManager_Epilogue
NtCreateTransactionManager_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00b4h
jmp NtCreateTransactionManager_Epilogue
NtCreateTransactionManager_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00b6h
jmp NtCreateTransactionManager_Epilogue
NtCreateTransactionManager_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00b9h
jmp NtCreateTransactionManager_Epilogue
NtCreateTransactionManager_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00bah
jmp NtCreateTransactionManager_Epilogue
NtCreateTransactionManager_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00bch
jmp NtCreateTransactionManager_Epilogue
NtCreateTransactionManager_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00bfh
jmp NtCreateTransactionManager_Epilogue
NtCreateTransactionManager_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00c0h
jmp NtCreateTransactionManager_Epilogue
NtCreateTransactionManager_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00c1h
jmp NtCreateTransactionManager_Epilogue
NtCreateTransactionManager_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00c2h
jmp NtCreateTransactionManager_Epilogue
NtCreateTransactionManager_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00c3h
jmp NtCreateTransactionManager_Epilogue
NtCreateTransactionManager_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00c3h
jmp NtCreateTransactionManager_Epilogue
NtCreateTransactionManager_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateTransactionManager_Epilogue:
mov r10, rcx
syscall
ret
NtCreateTransactionManager ENDP
NtCreateUserProcess PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateUserProcess_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCreateUserProcess_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateUserProcess_Check_10_0_XXXX
jmp NtCreateUserProcess_SystemCall_Unknown
NtCreateUserProcess_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateUserProcess_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateUserProcess_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateUserProcess_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateUserProcess_SystemCall_6_3_XXXX
jmp NtCreateUserProcess_SystemCall_Unknown
NtCreateUserProcess_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateUserProcess_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateUserProcess_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateUserProcess_SystemCall_6_0_6002
jmp NtCreateUserProcess_SystemCall_Unknown
NtCreateUserProcess_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateUserProcess_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateUserProcess_SystemCall_6_1_7601
jmp NtCreateUserProcess_SystemCall_Unknown
NtCreateUserProcess_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateUserProcess_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateUserProcess_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateUserProcess_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateUserProcess_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateUserProcess_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateUserProcess_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateUserProcess_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateUserProcess_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateUserProcess_SystemCall_10_0_18363
jmp NtCreateUserProcess_SystemCall_Unknown
NtCreateUserProcess_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00ach
jmp NtCreateUserProcess_Epilogue
NtCreateUserProcess_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00aah
jmp NtCreateUserProcess_Epilogue
NtCreateUserProcess_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00aah
jmp NtCreateUserProcess_Epilogue
NtCreateUserProcess_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00aah
jmp NtCreateUserProcess_Epilogue
NtCreateUserProcess_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00aah
jmp NtCreateUserProcess_Epilogue
NtCreateUserProcess_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00b5h
jmp NtCreateUserProcess_Epilogue
NtCreateUserProcess_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00b7h
jmp NtCreateUserProcess_Epilogue
NtCreateUserProcess_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00bah
jmp NtCreateUserProcess_Epilogue
NtCreateUserProcess_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00bbh
jmp NtCreateUserProcess_Epilogue
NtCreateUserProcess_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00bdh
jmp NtCreateUserProcess_Epilogue
NtCreateUserProcess_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00c0h
jmp NtCreateUserProcess_Epilogue
NtCreateUserProcess_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00c1h
jmp NtCreateUserProcess_Epilogue
NtCreateUserProcess_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00c2h
jmp NtCreateUserProcess_Epilogue
NtCreateUserProcess_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00c3h
jmp NtCreateUserProcess_Epilogue
NtCreateUserProcess_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00c4h
jmp NtCreateUserProcess_Epilogue
NtCreateUserProcess_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00c4h
jmp NtCreateUserProcess_Epilogue
NtCreateUserProcess_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateUserProcess_Epilogue:
mov r10, rcx
syscall
ret
NtCreateUserProcess ENDP
NtCreateWaitCompletionPacket PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateWaitCompletionPacket_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCreateWaitCompletionPacket_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateWaitCompletionPacket_Check_10_0_XXXX
jmp NtCreateWaitCompletionPacket_SystemCall_Unknown
NtCreateWaitCompletionPacket_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtCreateWaitCompletionPacket_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateWaitCompletionPacket_SystemCall_6_3_XXXX
jmp NtCreateWaitCompletionPacket_SystemCall_Unknown
NtCreateWaitCompletionPacket_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateWaitCompletionPacket_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateWaitCompletionPacket_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateWaitCompletionPacket_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateWaitCompletionPacket_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateWaitCompletionPacket_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateWaitCompletionPacket_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateWaitCompletionPacket_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateWaitCompletionPacket_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateWaitCompletionPacket_SystemCall_10_0_18363
jmp NtCreateWaitCompletionPacket_SystemCall_Unknown
NtCreateWaitCompletionPacket_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00b6h
jmp NtCreateWaitCompletionPacket_Epilogue
NtCreateWaitCompletionPacket_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00b8h
jmp NtCreateWaitCompletionPacket_Epilogue
NtCreateWaitCompletionPacket_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00bbh
jmp NtCreateWaitCompletionPacket_Epilogue
NtCreateWaitCompletionPacket_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00bch
jmp NtCreateWaitCompletionPacket_Epilogue
NtCreateWaitCompletionPacket_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00beh
jmp NtCreateWaitCompletionPacket_Epilogue
NtCreateWaitCompletionPacket_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00c1h
jmp NtCreateWaitCompletionPacket_Epilogue
NtCreateWaitCompletionPacket_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00c2h
jmp NtCreateWaitCompletionPacket_Epilogue
NtCreateWaitCompletionPacket_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00c3h
jmp NtCreateWaitCompletionPacket_Epilogue
NtCreateWaitCompletionPacket_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00c4h
jmp NtCreateWaitCompletionPacket_Epilogue
NtCreateWaitCompletionPacket_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00c5h
jmp NtCreateWaitCompletionPacket_Epilogue
NtCreateWaitCompletionPacket_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00c5h
jmp NtCreateWaitCompletionPacket_Epilogue
NtCreateWaitCompletionPacket_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateWaitCompletionPacket_Epilogue:
mov r10, rcx
syscall
ret
NtCreateWaitCompletionPacket ENDP
NtCreateWaitablePort PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateWaitablePort_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtCreateWaitablePort_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtCreateWaitablePort_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateWaitablePort_Check_10_0_XXXX
jmp NtCreateWaitablePort_SystemCall_Unknown
NtCreateWaitablePort_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateWaitablePort_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateWaitablePort_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateWaitablePort_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateWaitablePort_SystemCall_6_3_XXXX
jmp NtCreateWaitablePort_SystemCall_Unknown
NtCreateWaitablePort_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateWaitablePort_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateWaitablePort_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateWaitablePort_SystemCall_6_0_6002
jmp NtCreateWaitablePort_SystemCall_Unknown
NtCreateWaitablePort_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateWaitablePort_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateWaitablePort_SystemCall_6_1_7601
jmp NtCreateWaitablePort_SystemCall_Unknown
NtCreateWaitablePort_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateWaitablePort_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateWaitablePort_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateWaitablePort_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateWaitablePort_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateWaitablePort_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateWaitablePort_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateWaitablePort_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateWaitablePort_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateWaitablePort_SystemCall_10_0_18363
jmp NtCreateWaitablePort_SystemCall_Unknown
NtCreateWaitablePort_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0088h
jmp NtCreateWaitablePort_Epilogue
NtCreateWaitablePort_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00adh
jmp NtCreateWaitablePort_Epilogue
NtCreateWaitablePort_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00abh
jmp NtCreateWaitablePort_Epilogue
NtCreateWaitablePort_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00abh
jmp NtCreateWaitablePort_Epilogue
NtCreateWaitablePort_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00abh
jmp NtCreateWaitablePort_Epilogue
NtCreateWaitablePort_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00abh
jmp NtCreateWaitablePort_Epilogue
NtCreateWaitablePort_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00b7h
jmp NtCreateWaitablePort_Epilogue
NtCreateWaitablePort_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00b9h
jmp NtCreateWaitablePort_Epilogue
NtCreateWaitablePort_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00bch
jmp NtCreateWaitablePort_Epilogue
NtCreateWaitablePort_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00bdh
jmp NtCreateWaitablePort_Epilogue
NtCreateWaitablePort_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00bfh
jmp NtCreateWaitablePort_Epilogue
NtCreateWaitablePort_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00c2h
jmp NtCreateWaitablePort_Epilogue
NtCreateWaitablePort_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00c3h
jmp NtCreateWaitablePort_Epilogue
NtCreateWaitablePort_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00c4h
jmp NtCreateWaitablePort_Epilogue
NtCreateWaitablePort_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00c5h
jmp NtCreateWaitablePort_Epilogue
NtCreateWaitablePort_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00c6h
jmp NtCreateWaitablePort_Epilogue
NtCreateWaitablePort_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00c6h
jmp NtCreateWaitablePort_Epilogue
NtCreateWaitablePort_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateWaitablePort_Epilogue:
mov r10, rcx
syscall
ret
NtCreateWaitablePort ENDP
NtCreateWnfStateName PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateWnfStateName_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCreateWnfStateName_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateWnfStateName_Check_10_0_XXXX
jmp NtCreateWnfStateName_SystemCall_Unknown
NtCreateWnfStateName_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtCreateWnfStateName_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateWnfStateName_SystemCall_6_3_XXXX
jmp NtCreateWnfStateName_SystemCall_Unknown
NtCreateWnfStateName_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateWnfStateName_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateWnfStateName_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateWnfStateName_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateWnfStateName_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateWnfStateName_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateWnfStateName_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateWnfStateName_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateWnfStateName_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateWnfStateName_SystemCall_10_0_18363
jmp NtCreateWnfStateName_SystemCall_Unknown
NtCreateWnfStateName_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00b8h
jmp NtCreateWnfStateName_Epilogue
NtCreateWnfStateName_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00bah
jmp NtCreateWnfStateName_Epilogue
NtCreateWnfStateName_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00bdh
jmp NtCreateWnfStateName_Epilogue
NtCreateWnfStateName_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00beh
jmp NtCreateWnfStateName_Epilogue
NtCreateWnfStateName_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00c0h
jmp NtCreateWnfStateName_Epilogue
NtCreateWnfStateName_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00c3h
jmp NtCreateWnfStateName_Epilogue
NtCreateWnfStateName_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00c4h
jmp NtCreateWnfStateName_Epilogue
NtCreateWnfStateName_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00c5h
jmp NtCreateWnfStateName_Epilogue
NtCreateWnfStateName_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00c6h
jmp NtCreateWnfStateName_Epilogue
NtCreateWnfStateName_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00c7h
jmp NtCreateWnfStateName_Epilogue
NtCreateWnfStateName_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00c7h
jmp NtCreateWnfStateName_Epilogue
NtCreateWnfStateName_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateWnfStateName_Epilogue:
mov r10, rcx
syscall
ret
NtCreateWnfStateName ENDP
NtCreateWorkerFactory PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtCreateWorkerFactory_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtCreateWorkerFactory_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtCreateWorkerFactory_Check_10_0_XXXX
jmp NtCreateWorkerFactory_SystemCall_Unknown
NtCreateWorkerFactory_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtCreateWorkerFactory_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtCreateWorkerFactory_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateWorkerFactory_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtCreateWorkerFactory_SystemCall_6_3_XXXX
jmp NtCreateWorkerFactory_SystemCall_Unknown
NtCreateWorkerFactory_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtCreateWorkerFactory_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtCreateWorkerFactory_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtCreateWorkerFactory_SystemCall_6_0_6002
jmp NtCreateWorkerFactory_SystemCall_Unknown
NtCreateWorkerFactory_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtCreateWorkerFactory_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtCreateWorkerFactory_SystemCall_6_1_7601
jmp NtCreateWorkerFactory_SystemCall_Unknown
NtCreateWorkerFactory_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtCreateWorkerFactory_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtCreateWorkerFactory_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtCreateWorkerFactory_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtCreateWorkerFactory_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtCreateWorkerFactory_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtCreateWorkerFactory_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtCreateWorkerFactory_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtCreateWorkerFactory_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtCreateWorkerFactory_SystemCall_10_0_18363
jmp NtCreateWorkerFactory_SystemCall_Unknown
NtCreateWorkerFactory_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00aeh
jmp NtCreateWorkerFactory_Epilogue
NtCreateWorkerFactory_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00ach
jmp NtCreateWorkerFactory_Epilogue
NtCreateWorkerFactory_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00ach
jmp NtCreateWorkerFactory_Epilogue
NtCreateWorkerFactory_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00ach
jmp NtCreateWorkerFactory_Epilogue
NtCreateWorkerFactory_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00ach
jmp NtCreateWorkerFactory_Epilogue
NtCreateWorkerFactory_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00b9h
jmp NtCreateWorkerFactory_Epilogue
NtCreateWorkerFactory_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00bbh
jmp NtCreateWorkerFactory_Epilogue
NtCreateWorkerFactory_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00beh
jmp NtCreateWorkerFactory_Epilogue
NtCreateWorkerFactory_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00bfh
jmp NtCreateWorkerFactory_Epilogue
NtCreateWorkerFactory_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00c1h
jmp NtCreateWorkerFactory_Epilogue
NtCreateWorkerFactory_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00c4h
jmp NtCreateWorkerFactory_Epilogue
NtCreateWorkerFactory_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00c5h
jmp NtCreateWorkerFactory_Epilogue
NtCreateWorkerFactory_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00c6h
jmp NtCreateWorkerFactory_Epilogue
NtCreateWorkerFactory_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00c7h
jmp NtCreateWorkerFactory_Epilogue
NtCreateWorkerFactory_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00c8h
jmp NtCreateWorkerFactory_Epilogue
NtCreateWorkerFactory_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00c8h
jmp NtCreateWorkerFactory_Epilogue
NtCreateWorkerFactory_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtCreateWorkerFactory_Epilogue:
mov r10, rcx
syscall
ret
NtCreateWorkerFactory ENDP
NtDebugActiveProcess PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDebugActiveProcess_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtDebugActiveProcess_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtDebugActiveProcess_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDebugActiveProcess_Check_10_0_XXXX
jmp NtDebugActiveProcess_SystemCall_Unknown
NtDebugActiveProcess_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtDebugActiveProcess_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtDebugActiveProcess_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtDebugActiveProcess_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDebugActiveProcess_SystemCall_6_3_XXXX
jmp NtDebugActiveProcess_SystemCall_Unknown
NtDebugActiveProcess_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtDebugActiveProcess_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtDebugActiveProcess_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtDebugActiveProcess_SystemCall_6_0_6002
jmp NtDebugActiveProcess_SystemCall_Unknown
NtDebugActiveProcess_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtDebugActiveProcess_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtDebugActiveProcess_SystemCall_6_1_7601
jmp NtDebugActiveProcess_SystemCall_Unknown
NtDebugActiveProcess_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDebugActiveProcess_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDebugActiveProcess_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDebugActiveProcess_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDebugActiveProcess_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDebugActiveProcess_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDebugActiveProcess_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDebugActiveProcess_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDebugActiveProcess_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDebugActiveProcess_SystemCall_10_0_18363
jmp NtDebugActiveProcess_SystemCall_Unknown
NtDebugActiveProcess_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0089h
jmp NtDebugActiveProcess_Epilogue
NtDebugActiveProcess_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00afh
jmp NtDebugActiveProcess_Epilogue
NtDebugActiveProcess_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00adh
jmp NtDebugActiveProcess_Epilogue
NtDebugActiveProcess_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00adh
jmp NtDebugActiveProcess_Epilogue
NtDebugActiveProcess_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00adh
jmp NtDebugActiveProcess_Epilogue
NtDebugActiveProcess_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00adh
jmp NtDebugActiveProcess_Epilogue
NtDebugActiveProcess_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00bah
jmp NtDebugActiveProcess_Epilogue
NtDebugActiveProcess_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00bch
jmp NtDebugActiveProcess_Epilogue
NtDebugActiveProcess_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00bfh
jmp NtDebugActiveProcess_Epilogue
NtDebugActiveProcess_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00c0h
jmp NtDebugActiveProcess_Epilogue
NtDebugActiveProcess_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00c2h
jmp NtDebugActiveProcess_Epilogue
NtDebugActiveProcess_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00c5h
jmp NtDebugActiveProcess_Epilogue
NtDebugActiveProcess_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00c6h
jmp NtDebugActiveProcess_Epilogue
NtDebugActiveProcess_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00c7h
jmp NtDebugActiveProcess_Epilogue
NtDebugActiveProcess_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00c8h
jmp NtDebugActiveProcess_Epilogue
NtDebugActiveProcess_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00c9h
jmp NtDebugActiveProcess_Epilogue
NtDebugActiveProcess_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00c9h
jmp NtDebugActiveProcess_Epilogue
NtDebugActiveProcess_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDebugActiveProcess_Epilogue:
mov r10, rcx
syscall
ret
NtDebugActiveProcess ENDP
NtDebugContinue PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDebugContinue_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtDebugContinue_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtDebugContinue_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDebugContinue_Check_10_0_XXXX
jmp NtDebugContinue_SystemCall_Unknown
NtDebugContinue_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtDebugContinue_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtDebugContinue_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtDebugContinue_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDebugContinue_SystemCall_6_3_XXXX
jmp NtDebugContinue_SystemCall_Unknown
NtDebugContinue_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtDebugContinue_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtDebugContinue_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtDebugContinue_SystemCall_6_0_6002
jmp NtDebugContinue_SystemCall_Unknown
NtDebugContinue_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtDebugContinue_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtDebugContinue_SystemCall_6_1_7601
jmp NtDebugContinue_SystemCall_Unknown
NtDebugContinue_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDebugContinue_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDebugContinue_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDebugContinue_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDebugContinue_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDebugContinue_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDebugContinue_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDebugContinue_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDebugContinue_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDebugContinue_SystemCall_10_0_18363
jmp NtDebugContinue_SystemCall_Unknown
NtDebugContinue_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 008ah
jmp NtDebugContinue_Epilogue
NtDebugContinue_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00b0h
jmp NtDebugContinue_Epilogue
NtDebugContinue_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00aeh
jmp NtDebugContinue_Epilogue
NtDebugContinue_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00aeh
jmp NtDebugContinue_Epilogue
NtDebugContinue_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00aeh
jmp NtDebugContinue_Epilogue
NtDebugContinue_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00aeh
jmp NtDebugContinue_Epilogue
NtDebugContinue_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00bbh
jmp NtDebugContinue_Epilogue
NtDebugContinue_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00bdh
jmp NtDebugContinue_Epilogue
NtDebugContinue_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00c0h
jmp NtDebugContinue_Epilogue
NtDebugContinue_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00c1h
jmp NtDebugContinue_Epilogue
NtDebugContinue_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00c3h
jmp NtDebugContinue_Epilogue
NtDebugContinue_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00c6h
jmp NtDebugContinue_Epilogue
NtDebugContinue_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00c7h
jmp NtDebugContinue_Epilogue
NtDebugContinue_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00c8h
jmp NtDebugContinue_Epilogue
NtDebugContinue_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00c9h
jmp NtDebugContinue_Epilogue
NtDebugContinue_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00cah
jmp NtDebugContinue_Epilogue
NtDebugContinue_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00cah
jmp NtDebugContinue_Epilogue
NtDebugContinue_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDebugContinue_Epilogue:
mov r10, rcx
syscall
ret
NtDebugContinue ENDP
NtDelayExecution PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDelayExecution_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtDelayExecution_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtDelayExecution_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDelayExecution_Check_10_0_XXXX
jmp NtDelayExecution_SystemCall_Unknown
NtDelayExecution_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtDelayExecution_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtDelayExecution_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtDelayExecution_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDelayExecution_SystemCall_6_3_XXXX
jmp NtDelayExecution_SystemCall_Unknown
NtDelayExecution_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtDelayExecution_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtDelayExecution_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtDelayExecution_SystemCall_6_0_6002
jmp NtDelayExecution_SystemCall_Unknown
NtDelayExecution_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtDelayExecution_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtDelayExecution_SystemCall_6_1_7601
jmp NtDelayExecution_SystemCall_Unknown
NtDelayExecution_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDelayExecution_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDelayExecution_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDelayExecution_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDelayExecution_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDelayExecution_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDelayExecution_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDelayExecution_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDelayExecution_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDelayExecution_SystemCall_10_0_18363
jmp NtDelayExecution_SystemCall_Unknown
NtDelayExecution_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0031h
jmp NtDelayExecution_Epilogue
NtDelayExecution_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0031h
jmp NtDelayExecution_Epilogue
NtDelayExecution_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0031h
jmp NtDelayExecution_Epilogue
NtDelayExecution_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0031h
jmp NtDelayExecution_Epilogue
NtDelayExecution_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0031h
jmp NtDelayExecution_Epilogue
NtDelayExecution_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0031h
jmp NtDelayExecution_Epilogue
NtDelayExecution_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0032h
jmp NtDelayExecution_Epilogue
NtDelayExecution_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0033h
jmp NtDelayExecution_Epilogue
NtDelayExecution_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0034h
jmp NtDelayExecution_Epilogue
NtDelayExecution_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0034h
jmp NtDelayExecution_Epilogue
NtDelayExecution_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0034h
jmp NtDelayExecution_Epilogue
NtDelayExecution_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0034h
jmp NtDelayExecution_Epilogue
NtDelayExecution_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0034h
jmp NtDelayExecution_Epilogue
NtDelayExecution_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0034h
jmp NtDelayExecution_Epilogue
NtDelayExecution_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0034h
jmp NtDelayExecution_Epilogue
NtDelayExecution_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0034h
jmp NtDelayExecution_Epilogue
NtDelayExecution_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0034h
jmp NtDelayExecution_Epilogue
NtDelayExecution_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDelayExecution_Epilogue:
mov r10, rcx
syscall
ret
NtDelayExecution ENDP
NtDeleteAtom PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDeleteAtom_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtDeleteAtom_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtDeleteAtom_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDeleteAtom_Check_10_0_XXXX
jmp NtDeleteAtom_SystemCall_Unknown
NtDeleteAtom_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtDeleteAtom_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtDeleteAtom_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeleteAtom_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeleteAtom_SystemCall_6_3_XXXX
jmp NtDeleteAtom_SystemCall_Unknown
NtDeleteAtom_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtDeleteAtom_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtDeleteAtom_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtDeleteAtom_SystemCall_6_0_6002
jmp NtDeleteAtom_SystemCall_Unknown
NtDeleteAtom_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtDeleteAtom_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtDeleteAtom_SystemCall_6_1_7601
jmp NtDeleteAtom_SystemCall_Unknown
NtDeleteAtom_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDeleteAtom_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDeleteAtom_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDeleteAtom_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDeleteAtom_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDeleteAtom_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDeleteAtom_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDeleteAtom_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDeleteAtom_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDeleteAtom_SystemCall_10_0_18363
jmp NtDeleteAtom_SystemCall_Unknown
NtDeleteAtom_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 008bh
jmp NtDeleteAtom_Epilogue
NtDeleteAtom_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00b1h
jmp NtDeleteAtom_Epilogue
NtDeleteAtom_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00afh
jmp NtDeleteAtom_Epilogue
NtDeleteAtom_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00afh
jmp NtDeleteAtom_Epilogue
NtDeleteAtom_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00afh
jmp NtDeleteAtom_Epilogue
NtDeleteAtom_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00afh
jmp NtDeleteAtom_Epilogue
NtDeleteAtom_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00bch
jmp NtDeleteAtom_Epilogue
NtDeleteAtom_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00beh
jmp NtDeleteAtom_Epilogue
NtDeleteAtom_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00c1h
jmp NtDeleteAtom_Epilogue
NtDeleteAtom_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00c2h
jmp NtDeleteAtom_Epilogue
NtDeleteAtom_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00c4h
jmp NtDeleteAtom_Epilogue
NtDeleteAtom_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00c7h
jmp NtDeleteAtom_Epilogue
NtDeleteAtom_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00c8h
jmp NtDeleteAtom_Epilogue
NtDeleteAtom_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00c9h
jmp NtDeleteAtom_Epilogue
NtDeleteAtom_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00cah
jmp NtDeleteAtom_Epilogue
NtDeleteAtom_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00cbh
jmp NtDeleteAtom_Epilogue
NtDeleteAtom_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00cbh
jmp NtDeleteAtom_Epilogue
NtDeleteAtom_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDeleteAtom_Epilogue:
mov r10, rcx
syscall
ret
NtDeleteAtom ENDP
NtDeleteBootEntry PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDeleteBootEntry_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtDeleteBootEntry_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtDeleteBootEntry_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDeleteBootEntry_Check_10_0_XXXX
jmp NtDeleteBootEntry_SystemCall_Unknown
NtDeleteBootEntry_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtDeleteBootEntry_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtDeleteBootEntry_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeleteBootEntry_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeleteBootEntry_SystemCall_6_3_XXXX
jmp NtDeleteBootEntry_SystemCall_Unknown
NtDeleteBootEntry_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtDeleteBootEntry_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtDeleteBootEntry_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtDeleteBootEntry_SystemCall_6_0_6002
jmp NtDeleteBootEntry_SystemCall_Unknown
NtDeleteBootEntry_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtDeleteBootEntry_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtDeleteBootEntry_SystemCall_6_1_7601
jmp NtDeleteBootEntry_SystemCall_Unknown
NtDeleteBootEntry_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDeleteBootEntry_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDeleteBootEntry_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDeleteBootEntry_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDeleteBootEntry_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDeleteBootEntry_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDeleteBootEntry_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDeleteBootEntry_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDeleteBootEntry_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDeleteBootEntry_SystemCall_10_0_18363
jmp NtDeleteBootEntry_SystemCall_Unknown
NtDeleteBootEntry_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 008ch
jmp NtDeleteBootEntry_Epilogue
NtDeleteBootEntry_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00b2h
jmp NtDeleteBootEntry_Epilogue
NtDeleteBootEntry_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00b0h
jmp NtDeleteBootEntry_Epilogue
NtDeleteBootEntry_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00b0h
jmp NtDeleteBootEntry_Epilogue
NtDeleteBootEntry_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00b0h
jmp NtDeleteBootEntry_Epilogue
NtDeleteBootEntry_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00b0h
jmp NtDeleteBootEntry_Epilogue
NtDeleteBootEntry_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00bdh
jmp NtDeleteBootEntry_Epilogue
NtDeleteBootEntry_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00bfh
jmp NtDeleteBootEntry_Epilogue
NtDeleteBootEntry_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00c2h
jmp NtDeleteBootEntry_Epilogue
NtDeleteBootEntry_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00c3h
jmp NtDeleteBootEntry_Epilogue
NtDeleteBootEntry_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00c5h
jmp NtDeleteBootEntry_Epilogue
NtDeleteBootEntry_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00c8h
jmp NtDeleteBootEntry_Epilogue
NtDeleteBootEntry_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00c9h
jmp NtDeleteBootEntry_Epilogue
NtDeleteBootEntry_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00cah
jmp NtDeleteBootEntry_Epilogue
NtDeleteBootEntry_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00cbh
jmp NtDeleteBootEntry_Epilogue
NtDeleteBootEntry_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00cch
jmp NtDeleteBootEntry_Epilogue
NtDeleteBootEntry_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00cch
jmp NtDeleteBootEntry_Epilogue
NtDeleteBootEntry_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDeleteBootEntry_Epilogue:
mov r10, rcx
syscall
ret
NtDeleteBootEntry ENDP
NtDeleteDriverEntry PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDeleteDriverEntry_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtDeleteDriverEntry_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtDeleteDriverEntry_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDeleteDriverEntry_Check_10_0_XXXX
jmp NtDeleteDriverEntry_SystemCall_Unknown
NtDeleteDriverEntry_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtDeleteDriverEntry_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtDeleteDriverEntry_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeleteDriverEntry_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeleteDriverEntry_SystemCall_6_3_XXXX
jmp NtDeleteDriverEntry_SystemCall_Unknown
NtDeleteDriverEntry_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtDeleteDriverEntry_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtDeleteDriverEntry_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtDeleteDriverEntry_SystemCall_6_0_6002
jmp NtDeleteDriverEntry_SystemCall_Unknown
NtDeleteDriverEntry_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtDeleteDriverEntry_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtDeleteDriverEntry_SystemCall_6_1_7601
jmp NtDeleteDriverEntry_SystemCall_Unknown
NtDeleteDriverEntry_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDeleteDriverEntry_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDeleteDriverEntry_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDeleteDriverEntry_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDeleteDriverEntry_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDeleteDriverEntry_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDeleteDriverEntry_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDeleteDriverEntry_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDeleteDriverEntry_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDeleteDriverEntry_SystemCall_10_0_18363
jmp NtDeleteDriverEntry_SystemCall_Unknown
NtDeleteDriverEntry_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 008dh
jmp NtDeleteDriverEntry_Epilogue
NtDeleteDriverEntry_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00b3h
jmp NtDeleteDriverEntry_Epilogue
NtDeleteDriverEntry_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00b1h
jmp NtDeleteDriverEntry_Epilogue
NtDeleteDriverEntry_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00b1h
jmp NtDeleteDriverEntry_Epilogue
NtDeleteDriverEntry_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00b1h
jmp NtDeleteDriverEntry_Epilogue
NtDeleteDriverEntry_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00b1h
jmp NtDeleteDriverEntry_Epilogue
NtDeleteDriverEntry_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00beh
jmp NtDeleteDriverEntry_Epilogue
NtDeleteDriverEntry_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00c0h
jmp NtDeleteDriverEntry_Epilogue
NtDeleteDriverEntry_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00c3h
jmp NtDeleteDriverEntry_Epilogue
NtDeleteDriverEntry_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00c4h
jmp NtDeleteDriverEntry_Epilogue
NtDeleteDriverEntry_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00c6h
jmp NtDeleteDriverEntry_Epilogue
NtDeleteDriverEntry_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00c9h
jmp NtDeleteDriverEntry_Epilogue
NtDeleteDriverEntry_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00cah
jmp NtDeleteDriverEntry_Epilogue
NtDeleteDriverEntry_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00cbh
jmp NtDeleteDriverEntry_Epilogue
NtDeleteDriverEntry_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00cch
jmp NtDeleteDriverEntry_Epilogue
NtDeleteDriverEntry_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00cdh
jmp NtDeleteDriverEntry_Epilogue
NtDeleteDriverEntry_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00cdh
jmp NtDeleteDriverEntry_Epilogue
NtDeleteDriverEntry_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDeleteDriverEntry_Epilogue:
mov r10, rcx
syscall
ret
NtDeleteDriverEntry ENDP
NtDeleteFile PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDeleteFile_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtDeleteFile_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtDeleteFile_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDeleteFile_Check_10_0_XXXX
jmp NtDeleteFile_SystemCall_Unknown
NtDeleteFile_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtDeleteFile_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtDeleteFile_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeleteFile_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeleteFile_SystemCall_6_3_XXXX
jmp NtDeleteFile_SystemCall_Unknown
NtDeleteFile_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtDeleteFile_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtDeleteFile_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtDeleteFile_SystemCall_6_0_6002
jmp NtDeleteFile_SystemCall_Unknown
NtDeleteFile_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtDeleteFile_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtDeleteFile_SystemCall_6_1_7601
jmp NtDeleteFile_SystemCall_Unknown
NtDeleteFile_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDeleteFile_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDeleteFile_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDeleteFile_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDeleteFile_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDeleteFile_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDeleteFile_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDeleteFile_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDeleteFile_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDeleteFile_SystemCall_10_0_18363
jmp NtDeleteFile_SystemCall_Unknown
NtDeleteFile_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 008eh
jmp NtDeleteFile_Epilogue
NtDeleteFile_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00b4h
jmp NtDeleteFile_Epilogue
NtDeleteFile_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00b2h
jmp NtDeleteFile_Epilogue
NtDeleteFile_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00b2h
jmp NtDeleteFile_Epilogue
NtDeleteFile_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00b2h
jmp NtDeleteFile_Epilogue
NtDeleteFile_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00b2h
jmp NtDeleteFile_Epilogue
NtDeleteFile_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00bfh
jmp NtDeleteFile_Epilogue
NtDeleteFile_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00c1h
jmp NtDeleteFile_Epilogue
NtDeleteFile_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00c4h
jmp NtDeleteFile_Epilogue
NtDeleteFile_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00c5h
jmp NtDeleteFile_Epilogue
NtDeleteFile_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00c7h
jmp NtDeleteFile_Epilogue
NtDeleteFile_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00cah
jmp NtDeleteFile_Epilogue
NtDeleteFile_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00cbh
jmp NtDeleteFile_Epilogue
NtDeleteFile_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00cch
jmp NtDeleteFile_Epilogue
NtDeleteFile_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00cdh
jmp NtDeleteFile_Epilogue
NtDeleteFile_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00ceh
jmp NtDeleteFile_Epilogue
NtDeleteFile_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00ceh
jmp NtDeleteFile_Epilogue
NtDeleteFile_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDeleteFile_Epilogue:
mov r10, rcx
syscall
ret
NtDeleteFile ENDP
NtDeleteKey PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDeleteKey_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtDeleteKey_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtDeleteKey_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDeleteKey_Check_10_0_XXXX
jmp NtDeleteKey_SystemCall_Unknown
NtDeleteKey_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtDeleteKey_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtDeleteKey_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeleteKey_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeleteKey_SystemCall_6_3_XXXX
jmp NtDeleteKey_SystemCall_Unknown
NtDeleteKey_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtDeleteKey_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtDeleteKey_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtDeleteKey_SystemCall_6_0_6002
jmp NtDeleteKey_SystemCall_Unknown
NtDeleteKey_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtDeleteKey_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtDeleteKey_SystemCall_6_1_7601
jmp NtDeleteKey_SystemCall_Unknown
NtDeleteKey_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDeleteKey_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDeleteKey_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDeleteKey_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDeleteKey_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDeleteKey_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDeleteKey_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDeleteKey_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDeleteKey_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDeleteKey_SystemCall_10_0_18363
jmp NtDeleteKey_SystemCall_Unknown
NtDeleteKey_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 008fh
jmp NtDeleteKey_Epilogue
NtDeleteKey_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00b5h
jmp NtDeleteKey_Epilogue
NtDeleteKey_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00b3h
jmp NtDeleteKey_Epilogue
NtDeleteKey_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00b3h
jmp NtDeleteKey_Epilogue
NtDeleteKey_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00b3h
jmp NtDeleteKey_Epilogue
NtDeleteKey_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00b3h
jmp NtDeleteKey_Epilogue
NtDeleteKey_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00c0h
jmp NtDeleteKey_Epilogue
NtDeleteKey_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00c2h
jmp NtDeleteKey_Epilogue
NtDeleteKey_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00c5h
jmp NtDeleteKey_Epilogue
NtDeleteKey_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00c6h
jmp NtDeleteKey_Epilogue
NtDeleteKey_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00c8h
jmp NtDeleteKey_Epilogue
NtDeleteKey_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00cbh
jmp NtDeleteKey_Epilogue
NtDeleteKey_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00cch
jmp NtDeleteKey_Epilogue
NtDeleteKey_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00cdh
jmp NtDeleteKey_Epilogue
NtDeleteKey_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00ceh
jmp NtDeleteKey_Epilogue
NtDeleteKey_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00cfh
jmp NtDeleteKey_Epilogue
NtDeleteKey_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00cfh
jmp NtDeleteKey_Epilogue
NtDeleteKey_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDeleteKey_Epilogue:
mov r10, rcx
syscall
ret
NtDeleteKey ENDP
NtDeleteObjectAuditAlarm PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDeleteObjectAuditAlarm_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtDeleteObjectAuditAlarm_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtDeleteObjectAuditAlarm_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDeleteObjectAuditAlarm_Check_10_0_XXXX
jmp NtDeleteObjectAuditAlarm_SystemCall_Unknown
NtDeleteObjectAuditAlarm_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtDeleteObjectAuditAlarm_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtDeleteObjectAuditAlarm_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeleteObjectAuditAlarm_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeleteObjectAuditAlarm_SystemCall_6_3_XXXX
jmp NtDeleteObjectAuditAlarm_SystemCall_Unknown
NtDeleteObjectAuditAlarm_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtDeleteObjectAuditAlarm_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtDeleteObjectAuditAlarm_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtDeleteObjectAuditAlarm_SystemCall_6_0_6002
jmp NtDeleteObjectAuditAlarm_SystemCall_Unknown
NtDeleteObjectAuditAlarm_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtDeleteObjectAuditAlarm_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtDeleteObjectAuditAlarm_SystemCall_6_1_7601
jmp NtDeleteObjectAuditAlarm_SystemCall_Unknown
NtDeleteObjectAuditAlarm_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDeleteObjectAuditAlarm_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDeleteObjectAuditAlarm_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDeleteObjectAuditAlarm_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDeleteObjectAuditAlarm_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDeleteObjectAuditAlarm_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDeleteObjectAuditAlarm_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDeleteObjectAuditAlarm_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDeleteObjectAuditAlarm_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDeleteObjectAuditAlarm_SystemCall_10_0_18363
jmp NtDeleteObjectAuditAlarm_SystemCall_Unknown
NtDeleteObjectAuditAlarm_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0090h
jmp NtDeleteObjectAuditAlarm_Epilogue
NtDeleteObjectAuditAlarm_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00b6h
jmp NtDeleteObjectAuditAlarm_Epilogue
NtDeleteObjectAuditAlarm_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00b4h
jmp NtDeleteObjectAuditAlarm_Epilogue
NtDeleteObjectAuditAlarm_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00b4h
jmp NtDeleteObjectAuditAlarm_Epilogue
NtDeleteObjectAuditAlarm_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00b4h
jmp NtDeleteObjectAuditAlarm_Epilogue
NtDeleteObjectAuditAlarm_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00b4h
jmp NtDeleteObjectAuditAlarm_Epilogue
NtDeleteObjectAuditAlarm_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00c1h
jmp NtDeleteObjectAuditAlarm_Epilogue
NtDeleteObjectAuditAlarm_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00c3h
jmp NtDeleteObjectAuditAlarm_Epilogue
NtDeleteObjectAuditAlarm_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00c6h
jmp NtDeleteObjectAuditAlarm_Epilogue
NtDeleteObjectAuditAlarm_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00c7h
jmp NtDeleteObjectAuditAlarm_Epilogue
NtDeleteObjectAuditAlarm_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00c9h
jmp NtDeleteObjectAuditAlarm_Epilogue
NtDeleteObjectAuditAlarm_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00cch
jmp NtDeleteObjectAuditAlarm_Epilogue
NtDeleteObjectAuditAlarm_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00cdh
jmp NtDeleteObjectAuditAlarm_Epilogue
NtDeleteObjectAuditAlarm_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00ceh
jmp NtDeleteObjectAuditAlarm_Epilogue
NtDeleteObjectAuditAlarm_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00cfh
jmp NtDeleteObjectAuditAlarm_Epilogue
NtDeleteObjectAuditAlarm_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00d0h
jmp NtDeleteObjectAuditAlarm_Epilogue
NtDeleteObjectAuditAlarm_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00d0h
jmp NtDeleteObjectAuditAlarm_Epilogue
NtDeleteObjectAuditAlarm_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDeleteObjectAuditAlarm_Epilogue:
mov r10, rcx
syscall
ret
NtDeleteObjectAuditAlarm ENDP
NtDeletePrivateNamespace PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDeletePrivateNamespace_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtDeletePrivateNamespace_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDeletePrivateNamespace_Check_10_0_XXXX
jmp NtDeletePrivateNamespace_SystemCall_Unknown
NtDeletePrivateNamespace_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtDeletePrivateNamespace_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtDeletePrivateNamespace_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeletePrivateNamespace_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeletePrivateNamespace_SystemCall_6_3_XXXX
jmp NtDeletePrivateNamespace_SystemCall_Unknown
NtDeletePrivateNamespace_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtDeletePrivateNamespace_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtDeletePrivateNamespace_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtDeletePrivateNamespace_SystemCall_6_0_6002
jmp NtDeletePrivateNamespace_SystemCall_Unknown
NtDeletePrivateNamespace_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtDeletePrivateNamespace_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtDeletePrivateNamespace_SystemCall_6_1_7601
jmp NtDeletePrivateNamespace_SystemCall_Unknown
NtDeletePrivateNamespace_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDeletePrivateNamespace_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDeletePrivateNamespace_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDeletePrivateNamespace_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDeletePrivateNamespace_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDeletePrivateNamespace_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDeletePrivateNamespace_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDeletePrivateNamespace_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDeletePrivateNamespace_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDeletePrivateNamespace_SystemCall_10_0_18363
jmp NtDeletePrivateNamespace_SystemCall_Unknown
NtDeletePrivateNamespace_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00b7h
jmp NtDeletePrivateNamespace_Epilogue
NtDeletePrivateNamespace_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00b5h
jmp NtDeletePrivateNamespace_Epilogue
NtDeletePrivateNamespace_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00b5h
jmp NtDeletePrivateNamespace_Epilogue
NtDeletePrivateNamespace_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00b5h
jmp NtDeletePrivateNamespace_Epilogue
NtDeletePrivateNamespace_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00b5h
jmp NtDeletePrivateNamespace_Epilogue
NtDeletePrivateNamespace_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00c2h
jmp NtDeletePrivateNamespace_Epilogue
NtDeletePrivateNamespace_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00c4h
jmp NtDeletePrivateNamespace_Epilogue
NtDeletePrivateNamespace_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00c7h
jmp NtDeletePrivateNamespace_Epilogue
NtDeletePrivateNamespace_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00c8h
jmp NtDeletePrivateNamespace_Epilogue
NtDeletePrivateNamespace_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00cah
jmp NtDeletePrivateNamespace_Epilogue
NtDeletePrivateNamespace_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00cdh
jmp NtDeletePrivateNamespace_Epilogue
NtDeletePrivateNamespace_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00ceh
jmp NtDeletePrivateNamespace_Epilogue
NtDeletePrivateNamespace_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00cfh
jmp NtDeletePrivateNamespace_Epilogue
NtDeletePrivateNamespace_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00d0h
jmp NtDeletePrivateNamespace_Epilogue
NtDeletePrivateNamespace_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00d1h
jmp NtDeletePrivateNamespace_Epilogue
NtDeletePrivateNamespace_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00d1h
jmp NtDeletePrivateNamespace_Epilogue
NtDeletePrivateNamespace_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDeletePrivateNamespace_Epilogue:
mov r10, rcx
syscall
ret
NtDeletePrivateNamespace ENDP
NtDeleteValueKey PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDeleteValueKey_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtDeleteValueKey_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtDeleteValueKey_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDeleteValueKey_Check_10_0_XXXX
jmp NtDeleteValueKey_SystemCall_Unknown
NtDeleteValueKey_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtDeleteValueKey_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtDeleteValueKey_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeleteValueKey_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeleteValueKey_SystemCall_6_3_XXXX
jmp NtDeleteValueKey_SystemCall_Unknown
NtDeleteValueKey_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtDeleteValueKey_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtDeleteValueKey_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtDeleteValueKey_SystemCall_6_0_6002
jmp NtDeleteValueKey_SystemCall_Unknown
NtDeleteValueKey_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtDeleteValueKey_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtDeleteValueKey_SystemCall_6_1_7601
jmp NtDeleteValueKey_SystemCall_Unknown
NtDeleteValueKey_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDeleteValueKey_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDeleteValueKey_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDeleteValueKey_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDeleteValueKey_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDeleteValueKey_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDeleteValueKey_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDeleteValueKey_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDeleteValueKey_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDeleteValueKey_SystemCall_10_0_18363
jmp NtDeleteValueKey_SystemCall_Unknown
NtDeleteValueKey_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0091h
jmp NtDeleteValueKey_Epilogue
NtDeleteValueKey_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00b8h
jmp NtDeleteValueKey_Epilogue
NtDeleteValueKey_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00b6h
jmp NtDeleteValueKey_Epilogue
NtDeleteValueKey_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00b6h
jmp NtDeleteValueKey_Epilogue
NtDeleteValueKey_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00b6h
jmp NtDeleteValueKey_Epilogue
NtDeleteValueKey_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00b6h
jmp NtDeleteValueKey_Epilogue
NtDeleteValueKey_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00c3h
jmp NtDeleteValueKey_Epilogue
NtDeleteValueKey_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00c5h
jmp NtDeleteValueKey_Epilogue
NtDeleteValueKey_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00c8h
jmp NtDeleteValueKey_Epilogue
NtDeleteValueKey_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00c9h
jmp NtDeleteValueKey_Epilogue
NtDeleteValueKey_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00cbh
jmp NtDeleteValueKey_Epilogue
NtDeleteValueKey_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00ceh
jmp NtDeleteValueKey_Epilogue
NtDeleteValueKey_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00cfh
jmp NtDeleteValueKey_Epilogue
NtDeleteValueKey_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00d0h
jmp NtDeleteValueKey_Epilogue
NtDeleteValueKey_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00d1h
jmp NtDeleteValueKey_Epilogue
NtDeleteValueKey_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00d2h
jmp NtDeleteValueKey_Epilogue
NtDeleteValueKey_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00d2h
jmp NtDeleteValueKey_Epilogue
NtDeleteValueKey_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDeleteValueKey_Epilogue:
mov r10, rcx
syscall
ret
NtDeleteValueKey ENDP
NtDeleteWnfStateData PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDeleteWnfStateData_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtDeleteWnfStateData_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDeleteWnfStateData_Check_10_0_XXXX
jmp NtDeleteWnfStateData_SystemCall_Unknown
NtDeleteWnfStateData_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtDeleteWnfStateData_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeleteWnfStateData_SystemCall_6_3_XXXX
jmp NtDeleteWnfStateData_SystemCall_Unknown
NtDeleteWnfStateData_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDeleteWnfStateData_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDeleteWnfStateData_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDeleteWnfStateData_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDeleteWnfStateData_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDeleteWnfStateData_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDeleteWnfStateData_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDeleteWnfStateData_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDeleteWnfStateData_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDeleteWnfStateData_SystemCall_10_0_18363
jmp NtDeleteWnfStateData_SystemCall_Unknown
NtDeleteWnfStateData_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00c4h
jmp NtDeleteWnfStateData_Epilogue
NtDeleteWnfStateData_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00c6h
jmp NtDeleteWnfStateData_Epilogue
NtDeleteWnfStateData_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00c9h
jmp NtDeleteWnfStateData_Epilogue
NtDeleteWnfStateData_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00cah
jmp NtDeleteWnfStateData_Epilogue
NtDeleteWnfStateData_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00cch
jmp NtDeleteWnfStateData_Epilogue
NtDeleteWnfStateData_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00cfh
jmp NtDeleteWnfStateData_Epilogue
NtDeleteWnfStateData_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00d0h
jmp NtDeleteWnfStateData_Epilogue
NtDeleteWnfStateData_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00d1h
jmp NtDeleteWnfStateData_Epilogue
NtDeleteWnfStateData_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00d2h
jmp NtDeleteWnfStateData_Epilogue
NtDeleteWnfStateData_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00d3h
jmp NtDeleteWnfStateData_Epilogue
NtDeleteWnfStateData_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00d3h
jmp NtDeleteWnfStateData_Epilogue
NtDeleteWnfStateData_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDeleteWnfStateData_Epilogue:
mov r10, rcx
syscall
ret
NtDeleteWnfStateData ENDP
NtDeleteWnfStateName PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDeleteWnfStateName_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtDeleteWnfStateName_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDeleteWnfStateName_Check_10_0_XXXX
jmp NtDeleteWnfStateName_SystemCall_Unknown
NtDeleteWnfStateName_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtDeleteWnfStateName_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeleteWnfStateName_SystemCall_6_3_XXXX
jmp NtDeleteWnfStateName_SystemCall_Unknown
NtDeleteWnfStateName_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDeleteWnfStateName_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDeleteWnfStateName_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDeleteWnfStateName_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDeleteWnfStateName_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDeleteWnfStateName_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDeleteWnfStateName_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDeleteWnfStateName_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDeleteWnfStateName_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDeleteWnfStateName_SystemCall_10_0_18363
jmp NtDeleteWnfStateName_SystemCall_Unknown
NtDeleteWnfStateName_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00c5h
jmp NtDeleteWnfStateName_Epilogue
NtDeleteWnfStateName_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00c7h
jmp NtDeleteWnfStateName_Epilogue
NtDeleteWnfStateName_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00cah
jmp NtDeleteWnfStateName_Epilogue
NtDeleteWnfStateName_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00cbh
jmp NtDeleteWnfStateName_Epilogue
NtDeleteWnfStateName_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00cdh
jmp NtDeleteWnfStateName_Epilogue
NtDeleteWnfStateName_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00d0h
jmp NtDeleteWnfStateName_Epilogue
NtDeleteWnfStateName_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00d1h
jmp NtDeleteWnfStateName_Epilogue
NtDeleteWnfStateName_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00d2h
jmp NtDeleteWnfStateName_Epilogue
NtDeleteWnfStateName_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00d3h
jmp NtDeleteWnfStateName_Epilogue
NtDeleteWnfStateName_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00d4h
jmp NtDeleteWnfStateName_Epilogue
NtDeleteWnfStateName_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00d4h
jmp NtDeleteWnfStateName_Epilogue
NtDeleteWnfStateName_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDeleteWnfStateName_Epilogue:
mov r10, rcx
syscall
ret
NtDeleteWnfStateName ENDP
NtDeviceIoControlFile PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDeviceIoControlFile_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtDeviceIoControlFile_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtDeviceIoControlFile_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDeviceIoControlFile_Check_10_0_XXXX
jmp NtDeviceIoControlFile_SystemCall_Unknown
NtDeviceIoControlFile_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtDeviceIoControlFile_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtDeviceIoControlFile_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeviceIoControlFile_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDeviceIoControlFile_SystemCall_6_3_XXXX
jmp NtDeviceIoControlFile_SystemCall_Unknown
NtDeviceIoControlFile_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtDeviceIoControlFile_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtDeviceIoControlFile_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtDeviceIoControlFile_SystemCall_6_0_6002
jmp NtDeviceIoControlFile_SystemCall_Unknown
NtDeviceIoControlFile_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtDeviceIoControlFile_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtDeviceIoControlFile_SystemCall_6_1_7601
jmp NtDeviceIoControlFile_SystemCall_Unknown
NtDeviceIoControlFile_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDeviceIoControlFile_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDeviceIoControlFile_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDeviceIoControlFile_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDeviceIoControlFile_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDeviceIoControlFile_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDeviceIoControlFile_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDeviceIoControlFile_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDeviceIoControlFile_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDeviceIoControlFile_SystemCall_10_0_18363
jmp NtDeviceIoControlFile_SystemCall_Unknown
NtDeviceIoControlFile_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0004h
jmp NtDeviceIoControlFile_Epilogue
NtDeviceIoControlFile_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0004h
jmp NtDeviceIoControlFile_Epilogue
NtDeviceIoControlFile_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0004h
jmp NtDeviceIoControlFile_Epilogue
NtDeviceIoControlFile_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0004h
jmp NtDeviceIoControlFile_Epilogue
NtDeviceIoControlFile_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0004h
jmp NtDeviceIoControlFile_Epilogue
NtDeviceIoControlFile_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0004h
jmp NtDeviceIoControlFile_Epilogue
NtDeviceIoControlFile_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0005h
jmp NtDeviceIoControlFile_Epilogue
NtDeviceIoControlFile_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0006h
jmp NtDeviceIoControlFile_Epilogue
NtDeviceIoControlFile_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0007h
jmp NtDeviceIoControlFile_Epilogue
NtDeviceIoControlFile_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0007h
jmp NtDeviceIoControlFile_Epilogue
NtDeviceIoControlFile_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0007h
jmp NtDeviceIoControlFile_Epilogue
NtDeviceIoControlFile_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0007h
jmp NtDeviceIoControlFile_Epilogue
NtDeviceIoControlFile_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0007h
jmp NtDeviceIoControlFile_Epilogue
NtDeviceIoControlFile_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0007h
jmp NtDeviceIoControlFile_Epilogue
NtDeviceIoControlFile_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0007h
jmp NtDeviceIoControlFile_Epilogue
NtDeviceIoControlFile_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0007h
jmp NtDeviceIoControlFile_Epilogue
NtDeviceIoControlFile_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0007h
jmp NtDeviceIoControlFile_Epilogue
NtDeviceIoControlFile_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDeviceIoControlFile_Epilogue:
mov r10, rcx
syscall
ret
NtDeviceIoControlFile ENDP
NtDisableLastKnownGood PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDisableLastKnownGood_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtDisableLastKnownGood_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDisableLastKnownGood_Check_10_0_XXXX
jmp NtDisableLastKnownGood_SystemCall_Unknown
NtDisableLastKnownGood_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 1
je NtDisableLastKnownGood_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtDisableLastKnownGood_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDisableLastKnownGood_SystemCall_6_3_XXXX
jmp NtDisableLastKnownGood_SystemCall_Unknown
NtDisableLastKnownGood_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtDisableLastKnownGood_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtDisableLastKnownGood_SystemCall_6_1_7601
jmp NtDisableLastKnownGood_SystemCall_Unknown
NtDisableLastKnownGood_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDisableLastKnownGood_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDisableLastKnownGood_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDisableLastKnownGood_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDisableLastKnownGood_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDisableLastKnownGood_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDisableLastKnownGood_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDisableLastKnownGood_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDisableLastKnownGood_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDisableLastKnownGood_SystemCall_10_0_18363
jmp NtDisableLastKnownGood_SystemCall_Unknown
NtDisableLastKnownGood_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00b7h
jmp NtDisableLastKnownGood_Epilogue
NtDisableLastKnownGood_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00b7h
jmp NtDisableLastKnownGood_Epilogue
NtDisableLastKnownGood_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00c6h
jmp NtDisableLastKnownGood_Epilogue
NtDisableLastKnownGood_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00c8h
jmp NtDisableLastKnownGood_Epilogue
NtDisableLastKnownGood_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00cbh
jmp NtDisableLastKnownGood_Epilogue
NtDisableLastKnownGood_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00cch
jmp NtDisableLastKnownGood_Epilogue
NtDisableLastKnownGood_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00ceh
jmp NtDisableLastKnownGood_Epilogue
NtDisableLastKnownGood_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00d1h
jmp NtDisableLastKnownGood_Epilogue
NtDisableLastKnownGood_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00d2h
jmp NtDisableLastKnownGood_Epilogue
NtDisableLastKnownGood_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00d3h
jmp NtDisableLastKnownGood_Epilogue
NtDisableLastKnownGood_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00d4h
jmp NtDisableLastKnownGood_Epilogue
NtDisableLastKnownGood_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00d5h
jmp NtDisableLastKnownGood_Epilogue
NtDisableLastKnownGood_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00d5h
jmp NtDisableLastKnownGood_Epilogue
NtDisableLastKnownGood_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDisableLastKnownGood_Epilogue:
mov r10, rcx
syscall
ret
NtDisableLastKnownGood ENDP
NtDisplayString PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDisplayString_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtDisplayString_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtDisplayString_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDisplayString_Check_10_0_XXXX
jmp NtDisplayString_SystemCall_Unknown
NtDisplayString_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtDisplayString_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtDisplayString_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtDisplayString_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDisplayString_SystemCall_6_3_XXXX
jmp NtDisplayString_SystemCall_Unknown
NtDisplayString_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtDisplayString_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtDisplayString_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtDisplayString_SystemCall_6_0_6002
jmp NtDisplayString_SystemCall_Unknown
NtDisplayString_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtDisplayString_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtDisplayString_SystemCall_6_1_7601
jmp NtDisplayString_SystemCall_Unknown
NtDisplayString_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDisplayString_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDisplayString_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDisplayString_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDisplayString_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDisplayString_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDisplayString_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDisplayString_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDisplayString_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDisplayString_SystemCall_10_0_18363
jmp NtDisplayString_SystemCall_Unknown
NtDisplayString_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0092h
jmp NtDisplayString_Epilogue
NtDisplayString_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00b9h
jmp NtDisplayString_Epilogue
NtDisplayString_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00b7h
jmp NtDisplayString_Epilogue
NtDisplayString_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00b7h
jmp NtDisplayString_Epilogue
NtDisplayString_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00b8h
jmp NtDisplayString_Epilogue
NtDisplayString_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00b8h
jmp NtDisplayString_Epilogue
NtDisplayString_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00c7h
jmp NtDisplayString_Epilogue
NtDisplayString_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00c9h
jmp NtDisplayString_Epilogue
NtDisplayString_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00cch
jmp NtDisplayString_Epilogue
NtDisplayString_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00cdh
jmp NtDisplayString_Epilogue
NtDisplayString_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00cfh
jmp NtDisplayString_Epilogue
NtDisplayString_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00d2h
jmp NtDisplayString_Epilogue
NtDisplayString_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00d3h
jmp NtDisplayString_Epilogue
NtDisplayString_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00d4h
jmp NtDisplayString_Epilogue
NtDisplayString_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00d5h
jmp NtDisplayString_Epilogue
NtDisplayString_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00d6h
jmp NtDisplayString_Epilogue
NtDisplayString_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00d6h
jmp NtDisplayString_Epilogue
NtDisplayString_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDisplayString_Epilogue:
mov r10, rcx
syscall
ret
NtDisplayString ENDP
NtDrawText PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDrawText_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtDrawText_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDrawText_Check_10_0_XXXX
jmp NtDrawText_SystemCall_Unknown
NtDrawText_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 1
je NtDrawText_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtDrawText_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDrawText_SystemCall_6_3_XXXX
jmp NtDrawText_SystemCall_Unknown
NtDrawText_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtDrawText_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtDrawText_SystemCall_6_1_7601
jmp NtDrawText_SystemCall_Unknown
NtDrawText_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDrawText_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDrawText_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDrawText_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDrawText_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDrawText_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDrawText_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDrawText_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDrawText_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDrawText_SystemCall_10_0_18363
jmp NtDrawText_SystemCall_Unknown
NtDrawText_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00b9h
jmp NtDrawText_Epilogue
NtDrawText_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00b9h
jmp NtDrawText_Epilogue
NtDrawText_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00c8h
jmp NtDrawText_Epilogue
NtDrawText_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00cah
jmp NtDrawText_Epilogue
NtDrawText_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00cdh
jmp NtDrawText_Epilogue
NtDrawText_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00ceh
jmp NtDrawText_Epilogue
NtDrawText_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00d0h
jmp NtDrawText_Epilogue
NtDrawText_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00d3h
jmp NtDrawText_Epilogue
NtDrawText_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00d4h
jmp NtDrawText_Epilogue
NtDrawText_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00d5h
jmp NtDrawText_Epilogue
NtDrawText_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00d6h
jmp NtDrawText_Epilogue
NtDrawText_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00d7h
jmp NtDrawText_Epilogue
NtDrawText_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00d7h
jmp NtDrawText_Epilogue
NtDrawText_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDrawText_Epilogue:
mov r10, rcx
syscall
ret
NtDrawText ENDP
NtDuplicateObject PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDuplicateObject_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtDuplicateObject_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtDuplicateObject_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDuplicateObject_Check_10_0_XXXX
jmp NtDuplicateObject_SystemCall_Unknown
NtDuplicateObject_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtDuplicateObject_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtDuplicateObject_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtDuplicateObject_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDuplicateObject_SystemCall_6_3_XXXX
jmp NtDuplicateObject_SystemCall_Unknown
NtDuplicateObject_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtDuplicateObject_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtDuplicateObject_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtDuplicateObject_SystemCall_6_0_6002
jmp NtDuplicateObject_SystemCall_Unknown
NtDuplicateObject_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtDuplicateObject_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtDuplicateObject_SystemCall_6_1_7601
jmp NtDuplicateObject_SystemCall_Unknown
NtDuplicateObject_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDuplicateObject_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDuplicateObject_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDuplicateObject_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDuplicateObject_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDuplicateObject_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDuplicateObject_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDuplicateObject_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDuplicateObject_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDuplicateObject_SystemCall_10_0_18363
jmp NtDuplicateObject_SystemCall_Unknown
NtDuplicateObject_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0039h
jmp NtDuplicateObject_Epilogue
NtDuplicateObject_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0039h
jmp NtDuplicateObject_Epilogue
NtDuplicateObject_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0039h
jmp NtDuplicateObject_Epilogue
NtDuplicateObject_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0039h
jmp NtDuplicateObject_Epilogue
NtDuplicateObject_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0039h
jmp NtDuplicateObject_Epilogue
NtDuplicateObject_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0039h
jmp NtDuplicateObject_Epilogue
NtDuplicateObject_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 003ah
jmp NtDuplicateObject_Epilogue
NtDuplicateObject_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 003bh
jmp NtDuplicateObject_Epilogue
NtDuplicateObject_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 003ch
jmp NtDuplicateObject_Epilogue
NtDuplicateObject_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 003ch
jmp NtDuplicateObject_Epilogue
NtDuplicateObject_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 003ch
jmp NtDuplicateObject_Epilogue
NtDuplicateObject_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 003ch
jmp NtDuplicateObject_Epilogue
NtDuplicateObject_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 003ch
jmp NtDuplicateObject_Epilogue
NtDuplicateObject_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 003ch
jmp NtDuplicateObject_Epilogue
NtDuplicateObject_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 003ch
jmp NtDuplicateObject_Epilogue
NtDuplicateObject_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 003ch
jmp NtDuplicateObject_Epilogue
NtDuplicateObject_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 003ch
jmp NtDuplicateObject_Epilogue
NtDuplicateObject_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDuplicateObject_Epilogue:
mov r10, rcx
syscall
ret
NtDuplicateObject ENDP
NtDuplicateToken PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtDuplicateToken_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtDuplicateToken_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtDuplicateToken_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtDuplicateToken_Check_10_0_XXXX
jmp NtDuplicateToken_SystemCall_Unknown
NtDuplicateToken_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtDuplicateToken_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtDuplicateToken_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtDuplicateToken_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtDuplicateToken_SystemCall_6_3_XXXX
jmp NtDuplicateToken_SystemCall_Unknown
NtDuplicateToken_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtDuplicateToken_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtDuplicateToken_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtDuplicateToken_SystemCall_6_0_6002
jmp NtDuplicateToken_SystemCall_Unknown
NtDuplicateToken_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtDuplicateToken_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtDuplicateToken_SystemCall_6_1_7601
jmp NtDuplicateToken_SystemCall_Unknown
NtDuplicateToken_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtDuplicateToken_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtDuplicateToken_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtDuplicateToken_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtDuplicateToken_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtDuplicateToken_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtDuplicateToken_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtDuplicateToken_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtDuplicateToken_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtDuplicateToken_SystemCall_10_0_18363
jmp NtDuplicateToken_SystemCall_Unknown
NtDuplicateToken_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 003fh
jmp NtDuplicateToken_Epilogue
NtDuplicateToken_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 003fh
jmp NtDuplicateToken_Epilogue
NtDuplicateToken_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 003fh
jmp NtDuplicateToken_Epilogue
NtDuplicateToken_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 003fh
jmp NtDuplicateToken_Epilogue
NtDuplicateToken_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 003fh
jmp NtDuplicateToken_Epilogue
NtDuplicateToken_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 003fh
jmp NtDuplicateToken_Epilogue
NtDuplicateToken_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0040h
jmp NtDuplicateToken_Epilogue
NtDuplicateToken_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0041h
jmp NtDuplicateToken_Epilogue
NtDuplicateToken_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0042h
jmp NtDuplicateToken_Epilogue
NtDuplicateToken_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0042h
jmp NtDuplicateToken_Epilogue
NtDuplicateToken_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0042h
jmp NtDuplicateToken_Epilogue
NtDuplicateToken_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0042h
jmp NtDuplicateToken_Epilogue
NtDuplicateToken_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0042h
jmp NtDuplicateToken_Epilogue
NtDuplicateToken_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0042h
jmp NtDuplicateToken_Epilogue
NtDuplicateToken_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0042h
jmp NtDuplicateToken_Epilogue
NtDuplicateToken_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0042h
jmp NtDuplicateToken_Epilogue
NtDuplicateToken_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0042h
jmp NtDuplicateToken_Epilogue
NtDuplicateToken_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtDuplicateToken_Epilogue:
mov r10, rcx
syscall
ret
NtDuplicateToken ENDP
NtEnableLastKnownGood PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtEnableLastKnownGood_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtEnableLastKnownGood_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtEnableLastKnownGood_Check_10_0_XXXX
jmp NtEnableLastKnownGood_SystemCall_Unknown
NtEnableLastKnownGood_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 1
je NtEnableLastKnownGood_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtEnableLastKnownGood_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtEnableLastKnownGood_SystemCall_6_3_XXXX
jmp NtEnableLastKnownGood_SystemCall_Unknown
NtEnableLastKnownGood_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtEnableLastKnownGood_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtEnableLastKnownGood_SystemCall_6_1_7601
jmp NtEnableLastKnownGood_SystemCall_Unknown
NtEnableLastKnownGood_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtEnableLastKnownGood_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtEnableLastKnownGood_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtEnableLastKnownGood_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtEnableLastKnownGood_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtEnableLastKnownGood_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtEnableLastKnownGood_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtEnableLastKnownGood_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtEnableLastKnownGood_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtEnableLastKnownGood_SystemCall_10_0_18363
jmp NtEnableLastKnownGood_SystemCall_Unknown
NtEnableLastKnownGood_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00bah
jmp NtEnableLastKnownGood_Epilogue
NtEnableLastKnownGood_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00bah
jmp NtEnableLastKnownGood_Epilogue
NtEnableLastKnownGood_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00c9h
jmp NtEnableLastKnownGood_Epilogue
NtEnableLastKnownGood_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00cbh
jmp NtEnableLastKnownGood_Epilogue
NtEnableLastKnownGood_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00ceh
jmp NtEnableLastKnownGood_Epilogue
NtEnableLastKnownGood_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00cfh
jmp NtEnableLastKnownGood_Epilogue
NtEnableLastKnownGood_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00d1h
jmp NtEnableLastKnownGood_Epilogue
NtEnableLastKnownGood_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00d4h
jmp NtEnableLastKnownGood_Epilogue
NtEnableLastKnownGood_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00d5h
jmp NtEnableLastKnownGood_Epilogue
NtEnableLastKnownGood_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00d6h
jmp NtEnableLastKnownGood_Epilogue
NtEnableLastKnownGood_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00d7h
jmp NtEnableLastKnownGood_Epilogue
NtEnableLastKnownGood_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00d8h
jmp NtEnableLastKnownGood_Epilogue
NtEnableLastKnownGood_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00d8h
jmp NtEnableLastKnownGood_Epilogue
NtEnableLastKnownGood_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtEnableLastKnownGood_Epilogue:
mov r10, rcx
syscall
ret
NtEnableLastKnownGood ENDP
NtEnumerateBootEntries PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtEnumerateBootEntries_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtEnumerateBootEntries_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtEnumerateBootEntries_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtEnumerateBootEntries_Check_10_0_XXXX
jmp NtEnumerateBootEntries_SystemCall_Unknown
NtEnumerateBootEntries_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtEnumerateBootEntries_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtEnumerateBootEntries_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtEnumerateBootEntries_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtEnumerateBootEntries_SystemCall_6_3_XXXX
jmp NtEnumerateBootEntries_SystemCall_Unknown
NtEnumerateBootEntries_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtEnumerateBootEntries_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtEnumerateBootEntries_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtEnumerateBootEntries_SystemCall_6_0_6002
jmp NtEnumerateBootEntries_SystemCall_Unknown
NtEnumerateBootEntries_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtEnumerateBootEntries_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtEnumerateBootEntries_SystemCall_6_1_7601
jmp NtEnumerateBootEntries_SystemCall_Unknown
NtEnumerateBootEntries_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtEnumerateBootEntries_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtEnumerateBootEntries_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtEnumerateBootEntries_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtEnumerateBootEntries_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtEnumerateBootEntries_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtEnumerateBootEntries_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtEnumerateBootEntries_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtEnumerateBootEntries_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtEnumerateBootEntries_SystemCall_10_0_18363
jmp NtEnumerateBootEntries_SystemCall_Unknown
NtEnumerateBootEntries_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0093h
jmp NtEnumerateBootEntries_Epilogue
NtEnumerateBootEntries_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00bah
jmp NtEnumerateBootEntries_Epilogue
NtEnumerateBootEntries_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00b8h
jmp NtEnumerateBootEntries_Epilogue
NtEnumerateBootEntries_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00b8h
jmp NtEnumerateBootEntries_Epilogue
NtEnumerateBootEntries_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00bbh
jmp NtEnumerateBootEntries_Epilogue
NtEnumerateBootEntries_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00bbh
jmp NtEnumerateBootEntries_Epilogue
NtEnumerateBootEntries_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00cah
jmp NtEnumerateBootEntries_Epilogue
NtEnumerateBootEntries_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00cch
jmp NtEnumerateBootEntries_Epilogue
NtEnumerateBootEntries_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00cfh
jmp NtEnumerateBootEntries_Epilogue
NtEnumerateBootEntries_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00d0h
jmp NtEnumerateBootEntries_Epilogue
NtEnumerateBootEntries_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00d2h
jmp NtEnumerateBootEntries_Epilogue
NtEnumerateBootEntries_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00d5h
jmp NtEnumerateBootEntries_Epilogue
NtEnumerateBootEntries_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00d6h
jmp NtEnumerateBootEntries_Epilogue
NtEnumerateBootEntries_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00d7h
jmp NtEnumerateBootEntries_Epilogue
NtEnumerateBootEntries_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00d8h
jmp NtEnumerateBootEntries_Epilogue
NtEnumerateBootEntries_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00d9h
jmp NtEnumerateBootEntries_Epilogue
NtEnumerateBootEntries_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00d9h
jmp NtEnumerateBootEntries_Epilogue
NtEnumerateBootEntries_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtEnumerateBootEntries_Epilogue:
mov r10, rcx
syscall
ret
NtEnumerateBootEntries ENDP
NtEnumerateDriverEntries PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtEnumerateDriverEntries_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtEnumerateDriverEntries_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtEnumerateDriverEntries_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtEnumerateDriverEntries_Check_10_0_XXXX
jmp NtEnumerateDriverEntries_SystemCall_Unknown
NtEnumerateDriverEntries_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtEnumerateDriverEntries_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtEnumerateDriverEntries_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtEnumerateDriverEntries_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtEnumerateDriverEntries_SystemCall_6_3_XXXX
jmp NtEnumerateDriverEntries_SystemCall_Unknown
NtEnumerateDriverEntries_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtEnumerateDriverEntries_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtEnumerateDriverEntries_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtEnumerateDriverEntries_SystemCall_6_0_6002
jmp NtEnumerateDriverEntries_SystemCall_Unknown
NtEnumerateDriverEntries_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtEnumerateDriverEntries_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtEnumerateDriverEntries_SystemCall_6_1_7601
jmp NtEnumerateDriverEntries_SystemCall_Unknown
NtEnumerateDriverEntries_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtEnumerateDriverEntries_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtEnumerateDriverEntries_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtEnumerateDriverEntries_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtEnumerateDriverEntries_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtEnumerateDriverEntries_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtEnumerateDriverEntries_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtEnumerateDriverEntries_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtEnumerateDriverEntries_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtEnumerateDriverEntries_SystemCall_10_0_18363
jmp NtEnumerateDriverEntries_SystemCall_Unknown
NtEnumerateDriverEntries_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0094h
jmp NtEnumerateDriverEntries_Epilogue
NtEnumerateDriverEntries_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00bbh
jmp NtEnumerateDriverEntries_Epilogue
NtEnumerateDriverEntries_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00b9h
jmp NtEnumerateDriverEntries_Epilogue
NtEnumerateDriverEntries_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00b9h
jmp NtEnumerateDriverEntries_Epilogue
NtEnumerateDriverEntries_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00bch
jmp NtEnumerateDriverEntries_Epilogue
NtEnumerateDriverEntries_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00bch
jmp NtEnumerateDriverEntries_Epilogue
NtEnumerateDriverEntries_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00cbh
jmp NtEnumerateDriverEntries_Epilogue
NtEnumerateDriverEntries_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00cdh
jmp NtEnumerateDriverEntries_Epilogue
NtEnumerateDriverEntries_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00d0h
jmp NtEnumerateDriverEntries_Epilogue
NtEnumerateDriverEntries_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00d1h
jmp NtEnumerateDriverEntries_Epilogue
NtEnumerateDriverEntries_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00d3h
jmp NtEnumerateDriverEntries_Epilogue
NtEnumerateDriverEntries_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00d6h
jmp NtEnumerateDriverEntries_Epilogue
NtEnumerateDriverEntries_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00d7h
jmp NtEnumerateDriverEntries_Epilogue
NtEnumerateDriverEntries_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00d8h
jmp NtEnumerateDriverEntries_Epilogue
NtEnumerateDriverEntries_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00d9h
jmp NtEnumerateDriverEntries_Epilogue
NtEnumerateDriverEntries_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00dah
jmp NtEnumerateDriverEntries_Epilogue
NtEnumerateDriverEntries_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00dah
jmp NtEnumerateDriverEntries_Epilogue
NtEnumerateDriverEntries_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtEnumerateDriverEntries_Epilogue:
mov r10, rcx
syscall
ret
NtEnumerateDriverEntries ENDP
NtEnumerateKey PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtEnumerateKey_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtEnumerateKey_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtEnumerateKey_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtEnumerateKey_Check_10_0_XXXX
jmp NtEnumerateKey_SystemCall_Unknown
NtEnumerateKey_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtEnumerateKey_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtEnumerateKey_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtEnumerateKey_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtEnumerateKey_SystemCall_6_3_XXXX
jmp NtEnumerateKey_SystemCall_Unknown
NtEnumerateKey_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtEnumerateKey_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtEnumerateKey_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtEnumerateKey_SystemCall_6_0_6002
jmp NtEnumerateKey_SystemCall_Unknown
NtEnumerateKey_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtEnumerateKey_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtEnumerateKey_SystemCall_6_1_7601
jmp NtEnumerateKey_SystemCall_Unknown
NtEnumerateKey_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtEnumerateKey_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtEnumerateKey_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtEnumerateKey_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtEnumerateKey_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtEnumerateKey_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtEnumerateKey_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtEnumerateKey_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtEnumerateKey_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtEnumerateKey_SystemCall_10_0_18363
jmp NtEnumerateKey_SystemCall_Unknown
NtEnumerateKey_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 002fh
jmp NtEnumerateKey_Epilogue
NtEnumerateKey_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 002fh
jmp NtEnumerateKey_Epilogue
NtEnumerateKey_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 002fh
jmp NtEnumerateKey_Epilogue
NtEnumerateKey_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 002fh
jmp NtEnumerateKey_Epilogue
NtEnumerateKey_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 002fh
jmp NtEnumerateKey_Epilogue
NtEnumerateKey_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 002fh
jmp NtEnumerateKey_Epilogue
NtEnumerateKey_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0030h
jmp NtEnumerateKey_Epilogue
NtEnumerateKey_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0031h
jmp NtEnumerateKey_Epilogue
NtEnumerateKey_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0032h
jmp NtEnumerateKey_Epilogue
NtEnumerateKey_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0032h
jmp NtEnumerateKey_Epilogue
NtEnumerateKey_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0032h
jmp NtEnumerateKey_Epilogue
NtEnumerateKey_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0032h
jmp NtEnumerateKey_Epilogue
NtEnumerateKey_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0032h
jmp NtEnumerateKey_Epilogue
NtEnumerateKey_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0032h
jmp NtEnumerateKey_Epilogue
NtEnumerateKey_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0032h
jmp NtEnumerateKey_Epilogue
NtEnumerateKey_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0032h
jmp NtEnumerateKey_Epilogue
NtEnumerateKey_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0032h
jmp NtEnumerateKey_Epilogue
NtEnumerateKey_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtEnumerateKey_Epilogue:
mov r10, rcx
syscall
ret
NtEnumerateKey ENDP
NtEnumerateSystemEnvironmentValuesEx PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtEnumerateSystemEnvironmentValuesEx_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtEnumerateSystemEnvironmentValuesEx_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtEnumerateSystemEnvironmentValuesEx_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtEnumerateSystemEnvironmentValuesEx_Check_10_0_XXXX
jmp NtEnumerateSystemEnvironmentValuesEx_SystemCall_Unknown
NtEnumerateSystemEnvironmentValuesEx_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtEnumerateSystemEnvironmentValuesEx_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtEnumerateSystemEnvironmentValuesEx_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtEnumerateSystemEnvironmentValuesEx_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtEnumerateSystemEnvironmentValuesEx_SystemCall_6_3_XXXX
jmp NtEnumerateSystemEnvironmentValuesEx_SystemCall_Unknown
NtEnumerateSystemEnvironmentValuesEx_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtEnumerateSystemEnvironmentValuesEx_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtEnumerateSystemEnvironmentValuesEx_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtEnumerateSystemEnvironmentValuesEx_SystemCall_6_0_6002
jmp NtEnumerateSystemEnvironmentValuesEx_SystemCall_Unknown
NtEnumerateSystemEnvironmentValuesEx_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtEnumerateSystemEnvironmentValuesEx_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtEnumerateSystemEnvironmentValuesEx_SystemCall_6_1_7601
jmp NtEnumerateSystemEnvironmentValuesEx_SystemCall_Unknown
NtEnumerateSystemEnvironmentValuesEx_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_18363
jmp NtEnumerateSystemEnvironmentValuesEx_SystemCall_Unknown
NtEnumerateSystemEnvironmentValuesEx_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0095h
jmp NtEnumerateSystemEnvironmentValuesEx_Epilogue
NtEnumerateSystemEnvironmentValuesEx_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00bch
jmp NtEnumerateSystemEnvironmentValuesEx_Epilogue
NtEnumerateSystemEnvironmentValuesEx_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00bah
jmp NtEnumerateSystemEnvironmentValuesEx_Epilogue
NtEnumerateSystemEnvironmentValuesEx_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00bah
jmp NtEnumerateSystemEnvironmentValuesEx_Epilogue
NtEnumerateSystemEnvironmentValuesEx_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00bdh
jmp NtEnumerateSystemEnvironmentValuesEx_Epilogue
NtEnumerateSystemEnvironmentValuesEx_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00bdh
jmp NtEnumerateSystemEnvironmentValuesEx_Epilogue
NtEnumerateSystemEnvironmentValuesEx_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00cch
jmp NtEnumerateSystemEnvironmentValuesEx_Epilogue
NtEnumerateSystemEnvironmentValuesEx_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00ceh
jmp NtEnumerateSystemEnvironmentValuesEx_Epilogue
NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00d1h
jmp NtEnumerateSystemEnvironmentValuesEx_Epilogue
NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00d2h
jmp NtEnumerateSystemEnvironmentValuesEx_Epilogue
NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00d4h
jmp NtEnumerateSystemEnvironmentValuesEx_Epilogue
NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00d7h
jmp NtEnumerateSystemEnvironmentValuesEx_Epilogue
NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00d8h
jmp NtEnumerateSystemEnvironmentValuesEx_Epilogue
NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00d9h
jmp NtEnumerateSystemEnvironmentValuesEx_Epilogue
NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00dah
jmp NtEnumerateSystemEnvironmentValuesEx_Epilogue
NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00dbh
jmp NtEnumerateSystemEnvironmentValuesEx_Epilogue
NtEnumerateSystemEnvironmentValuesEx_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00dbh
jmp NtEnumerateSystemEnvironmentValuesEx_Epilogue
NtEnumerateSystemEnvironmentValuesEx_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtEnumerateSystemEnvironmentValuesEx_Epilogue:
mov r10, rcx
syscall
ret
NtEnumerateSystemEnvironmentValuesEx ENDP
NtEnumerateTransactionObject PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtEnumerateTransactionObject_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtEnumerateTransactionObject_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtEnumerateTransactionObject_Check_10_0_XXXX
jmp NtEnumerateTransactionObject_SystemCall_Unknown
NtEnumerateTransactionObject_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtEnumerateTransactionObject_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtEnumerateTransactionObject_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtEnumerateTransactionObject_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtEnumerateTransactionObject_SystemCall_6_3_XXXX
jmp NtEnumerateTransactionObject_SystemCall_Unknown
NtEnumerateTransactionObject_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtEnumerateTransactionObject_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtEnumerateTransactionObject_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtEnumerateTransactionObject_SystemCall_6_0_6002
jmp NtEnumerateTransactionObject_SystemCall_Unknown
NtEnumerateTransactionObject_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtEnumerateTransactionObject_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtEnumerateTransactionObject_SystemCall_6_1_7601
jmp NtEnumerateTransactionObject_SystemCall_Unknown
NtEnumerateTransactionObject_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtEnumerateTransactionObject_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtEnumerateTransactionObject_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtEnumerateTransactionObject_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtEnumerateTransactionObject_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtEnumerateTransactionObject_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtEnumerateTransactionObject_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtEnumerateTransactionObject_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtEnumerateTransactionObject_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtEnumerateTransactionObject_SystemCall_10_0_18363
jmp NtEnumerateTransactionObject_SystemCall_Unknown
NtEnumerateTransactionObject_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00bdh
jmp NtEnumerateTransactionObject_Epilogue
NtEnumerateTransactionObject_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00bbh
jmp NtEnumerateTransactionObject_Epilogue
NtEnumerateTransactionObject_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00bbh
jmp NtEnumerateTransactionObject_Epilogue
NtEnumerateTransactionObject_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00beh
jmp NtEnumerateTransactionObject_Epilogue
NtEnumerateTransactionObject_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00beh
jmp NtEnumerateTransactionObject_Epilogue
NtEnumerateTransactionObject_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00cdh
jmp NtEnumerateTransactionObject_Epilogue
NtEnumerateTransactionObject_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00cfh
jmp NtEnumerateTransactionObject_Epilogue
NtEnumerateTransactionObject_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00d2h
jmp NtEnumerateTransactionObject_Epilogue
NtEnumerateTransactionObject_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00d3h
jmp NtEnumerateTransactionObject_Epilogue
NtEnumerateTransactionObject_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00d5h
jmp NtEnumerateTransactionObject_Epilogue
NtEnumerateTransactionObject_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00d8h
jmp NtEnumerateTransactionObject_Epilogue
NtEnumerateTransactionObject_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00d9h
jmp NtEnumerateTransactionObject_Epilogue
NtEnumerateTransactionObject_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00dah
jmp NtEnumerateTransactionObject_Epilogue
NtEnumerateTransactionObject_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00dbh
jmp NtEnumerateTransactionObject_Epilogue
NtEnumerateTransactionObject_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00dch
jmp NtEnumerateTransactionObject_Epilogue
NtEnumerateTransactionObject_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00dch
jmp NtEnumerateTransactionObject_Epilogue
NtEnumerateTransactionObject_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtEnumerateTransactionObject_Epilogue:
mov r10, rcx
syscall
ret
NtEnumerateTransactionObject ENDP
NtEnumerateValueKey PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtEnumerateValueKey_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtEnumerateValueKey_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtEnumerateValueKey_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtEnumerateValueKey_Check_10_0_XXXX
jmp NtEnumerateValueKey_SystemCall_Unknown
NtEnumerateValueKey_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtEnumerateValueKey_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtEnumerateValueKey_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtEnumerateValueKey_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtEnumerateValueKey_SystemCall_6_3_XXXX
jmp NtEnumerateValueKey_SystemCall_Unknown
NtEnumerateValueKey_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtEnumerateValueKey_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtEnumerateValueKey_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtEnumerateValueKey_SystemCall_6_0_6002
jmp NtEnumerateValueKey_SystemCall_Unknown
NtEnumerateValueKey_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtEnumerateValueKey_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtEnumerateValueKey_SystemCall_6_1_7601
jmp NtEnumerateValueKey_SystemCall_Unknown
NtEnumerateValueKey_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtEnumerateValueKey_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtEnumerateValueKey_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtEnumerateValueKey_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtEnumerateValueKey_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtEnumerateValueKey_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtEnumerateValueKey_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtEnumerateValueKey_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtEnumerateValueKey_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtEnumerateValueKey_SystemCall_10_0_18363
jmp NtEnumerateValueKey_SystemCall_Unknown
NtEnumerateValueKey_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0010h
jmp NtEnumerateValueKey_Epilogue
NtEnumerateValueKey_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0010h
jmp NtEnumerateValueKey_Epilogue
NtEnumerateValueKey_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0010h
jmp NtEnumerateValueKey_Epilogue
NtEnumerateValueKey_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0010h
jmp NtEnumerateValueKey_Epilogue
NtEnumerateValueKey_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0010h
jmp NtEnumerateValueKey_Epilogue
NtEnumerateValueKey_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0010h
jmp NtEnumerateValueKey_Epilogue
NtEnumerateValueKey_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0011h
jmp NtEnumerateValueKey_Epilogue
NtEnumerateValueKey_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0012h
jmp NtEnumerateValueKey_Epilogue
NtEnumerateValueKey_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0013h
jmp NtEnumerateValueKey_Epilogue
NtEnumerateValueKey_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0013h
jmp NtEnumerateValueKey_Epilogue
NtEnumerateValueKey_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0013h
jmp NtEnumerateValueKey_Epilogue
NtEnumerateValueKey_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0013h
jmp NtEnumerateValueKey_Epilogue
NtEnumerateValueKey_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0013h
jmp NtEnumerateValueKey_Epilogue
NtEnumerateValueKey_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0013h
jmp NtEnumerateValueKey_Epilogue
NtEnumerateValueKey_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0013h
jmp NtEnumerateValueKey_Epilogue
NtEnumerateValueKey_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0013h
jmp NtEnumerateValueKey_Epilogue
NtEnumerateValueKey_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0013h
jmp NtEnumerateValueKey_Epilogue
NtEnumerateValueKey_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtEnumerateValueKey_Epilogue:
mov r10, rcx
syscall
ret
NtEnumerateValueKey ENDP
NtExtendSection PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtExtendSection_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtExtendSection_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtExtendSection_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtExtendSection_Check_10_0_XXXX
jmp NtExtendSection_SystemCall_Unknown
NtExtendSection_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtExtendSection_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtExtendSection_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtExtendSection_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtExtendSection_SystemCall_6_3_XXXX
jmp NtExtendSection_SystemCall_Unknown
NtExtendSection_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtExtendSection_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtExtendSection_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtExtendSection_SystemCall_6_0_6002
jmp NtExtendSection_SystemCall_Unknown
NtExtendSection_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtExtendSection_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtExtendSection_SystemCall_6_1_7601
jmp NtExtendSection_SystemCall_Unknown
NtExtendSection_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtExtendSection_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtExtendSection_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtExtendSection_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtExtendSection_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtExtendSection_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtExtendSection_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtExtendSection_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtExtendSection_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtExtendSection_SystemCall_10_0_18363
jmp NtExtendSection_SystemCall_Unknown
NtExtendSection_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0096h
jmp NtExtendSection_Epilogue
NtExtendSection_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00beh
jmp NtExtendSection_Epilogue
NtExtendSection_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00bch
jmp NtExtendSection_Epilogue
NtExtendSection_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00bch
jmp NtExtendSection_Epilogue
NtExtendSection_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00bfh
jmp NtExtendSection_Epilogue
NtExtendSection_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00bfh
jmp NtExtendSection_Epilogue
NtExtendSection_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00ceh
jmp NtExtendSection_Epilogue
NtExtendSection_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00d0h
jmp NtExtendSection_Epilogue
NtExtendSection_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00d3h
jmp NtExtendSection_Epilogue
NtExtendSection_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00d4h
jmp NtExtendSection_Epilogue
NtExtendSection_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00d6h
jmp NtExtendSection_Epilogue
NtExtendSection_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00d9h
jmp NtExtendSection_Epilogue
NtExtendSection_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00dah
jmp NtExtendSection_Epilogue
NtExtendSection_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00dbh
jmp NtExtendSection_Epilogue
NtExtendSection_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00dch
jmp NtExtendSection_Epilogue
NtExtendSection_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00ddh
jmp NtExtendSection_Epilogue
NtExtendSection_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00ddh
jmp NtExtendSection_Epilogue
NtExtendSection_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtExtendSection_Epilogue:
mov r10, rcx
syscall
ret
NtExtendSection ENDP
NtFilterBootOption PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtFilterBootOption_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtFilterBootOption_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtFilterBootOption_Check_10_0_XXXX
jmp NtFilterBootOption_SystemCall_Unknown
NtFilterBootOption_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtFilterBootOption_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtFilterBootOption_SystemCall_6_3_XXXX
jmp NtFilterBootOption_SystemCall_Unknown
NtFilterBootOption_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtFilterBootOption_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtFilterBootOption_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtFilterBootOption_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtFilterBootOption_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtFilterBootOption_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtFilterBootOption_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtFilterBootOption_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtFilterBootOption_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtFilterBootOption_SystemCall_10_0_18363
jmp NtFilterBootOption_SystemCall_Unknown
NtFilterBootOption_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00cfh
jmp NtFilterBootOption_Epilogue
NtFilterBootOption_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00d1h
jmp NtFilterBootOption_Epilogue
NtFilterBootOption_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00d4h
jmp NtFilterBootOption_Epilogue
NtFilterBootOption_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00d5h
jmp NtFilterBootOption_Epilogue
NtFilterBootOption_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00d7h
jmp NtFilterBootOption_Epilogue
NtFilterBootOption_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00dah
jmp NtFilterBootOption_Epilogue
NtFilterBootOption_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00dbh
jmp NtFilterBootOption_Epilogue
NtFilterBootOption_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00dch
jmp NtFilterBootOption_Epilogue
NtFilterBootOption_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00ddh
jmp NtFilterBootOption_Epilogue
NtFilterBootOption_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00deh
jmp NtFilterBootOption_Epilogue
NtFilterBootOption_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00deh
jmp NtFilterBootOption_Epilogue
NtFilterBootOption_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtFilterBootOption_Epilogue:
mov r10, rcx
syscall
ret
NtFilterBootOption ENDP
NtFilterToken PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtFilterToken_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtFilterToken_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtFilterToken_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtFilterToken_Check_10_0_XXXX
jmp NtFilterToken_SystemCall_Unknown
NtFilterToken_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtFilterToken_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtFilterToken_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtFilterToken_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtFilterToken_SystemCall_6_3_XXXX
jmp NtFilterToken_SystemCall_Unknown
NtFilterToken_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtFilterToken_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtFilterToken_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtFilterToken_SystemCall_6_0_6002
jmp NtFilterToken_SystemCall_Unknown
NtFilterToken_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtFilterToken_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtFilterToken_SystemCall_6_1_7601
jmp NtFilterToken_SystemCall_Unknown
NtFilterToken_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtFilterToken_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtFilterToken_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtFilterToken_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtFilterToken_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtFilterToken_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtFilterToken_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtFilterToken_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtFilterToken_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtFilterToken_SystemCall_10_0_18363
jmp NtFilterToken_SystemCall_Unknown
NtFilterToken_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0097h
jmp NtFilterToken_Epilogue
NtFilterToken_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00bfh
jmp NtFilterToken_Epilogue
NtFilterToken_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00bdh
jmp NtFilterToken_Epilogue
NtFilterToken_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00bdh
jmp NtFilterToken_Epilogue
NtFilterToken_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00c0h
jmp NtFilterToken_Epilogue
NtFilterToken_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00c0h
jmp NtFilterToken_Epilogue
NtFilterToken_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00d0h
jmp NtFilterToken_Epilogue
NtFilterToken_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00d2h
jmp NtFilterToken_Epilogue
NtFilterToken_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00d5h
jmp NtFilterToken_Epilogue
NtFilterToken_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00d6h
jmp NtFilterToken_Epilogue
NtFilterToken_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00d8h
jmp NtFilterToken_Epilogue
NtFilterToken_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00dbh
jmp NtFilterToken_Epilogue
NtFilterToken_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00dch
jmp NtFilterToken_Epilogue
NtFilterToken_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00ddh
jmp NtFilterToken_Epilogue
NtFilterToken_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00deh
jmp NtFilterToken_Epilogue
NtFilterToken_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00dfh
jmp NtFilterToken_Epilogue
NtFilterToken_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00dfh
jmp NtFilterToken_Epilogue
NtFilterToken_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtFilterToken_Epilogue:
mov r10, rcx
syscall
ret
NtFilterToken ENDP
NtFilterTokenEx PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtFilterTokenEx_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtFilterTokenEx_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtFilterTokenEx_Check_10_0_XXXX
jmp NtFilterTokenEx_SystemCall_Unknown
NtFilterTokenEx_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtFilterTokenEx_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtFilterTokenEx_SystemCall_6_3_XXXX
jmp NtFilterTokenEx_SystemCall_Unknown
NtFilterTokenEx_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtFilterTokenEx_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtFilterTokenEx_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtFilterTokenEx_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtFilterTokenEx_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtFilterTokenEx_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtFilterTokenEx_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtFilterTokenEx_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtFilterTokenEx_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtFilterTokenEx_SystemCall_10_0_18363
jmp NtFilterTokenEx_SystemCall_Unknown
NtFilterTokenEx_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00d1h
jmp NtFilterTokenEx_Epilogue
NtFilterTokenEx_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00d3h
jmp NtFilterTokenEx_Epilogue
NtFilterTokenEx_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00d6h
jmp NtFilterTokenEx_Epilogue
NtFilterTokenEx_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00d7h
jmp NtFilterTokenEx_Epilogue
NtFilterTokenEx_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00d9h
jmp NtFilterTokenEx_Epilogue
NtFilterTokenEx_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00dch
jmp NtFilterTokenEx_Epilogue
NtFilterTokenEx_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00ddh
jmp NtFilterTokenEx_Epilogue
NtFilterTokenEx_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00deh
jmp NtFilterTokenEx_Epilogue
NtFilterTokenEx_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00dfh
jmp NtFilterTokenEx_Epilogue
NtFilterTokenEx_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00e0h
jmp NtFilterTokenEx_Epilogue
NtFilterTokenEx_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00e0h
jmp NtFilterTokenEx_Epilogue
NtFilterTokenEx_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtFilterTokenEx_Epilogue:
mov r10, rcx
syscall
ret
NtFilterTokenEx ENDP
NtFindAtom PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtFindAtom_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtFindAtom_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtFindAtom_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtFindAtom_Check_10_0_XXXX
jmp NtFindAtom_SystemCall_Unknown
NtFindAtom_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtFindAtom_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtFindAtom_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtFindAtom_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtFindAtom_SystemCall_6_3_XXXX
jmp NtFindAtom_SystemCall_Unknown
NtFindAtom_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtFindAtom_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtFindAtom_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtFindAtom_SystemCall_6_0_6002
jmp NtFindAtom_SystemCall_Unknown
NtFindAtom_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtFindAtom_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtFindAtom_SystemCall_6_1_7601
jmp NtFindAtom_SystemCall_Unknown
NtFindAtom_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtFindAtom_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtFindAtom_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtFindAtom_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtFindAtom_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtFindAtom_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtFindAtom_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtFindAtom_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtFindAtom_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtFindAtom_SystemCall_10_0_18363
jmp NtFindAtom_SystemCall_Unknown
NtFindAtom_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0011h
jmp NtFindAtom_Epilogue
NtFindAtom_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0011h
jmp NtFindAtom_Epilogue
NtFindAtom_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0011h
jmp NtFindAtom_Epilogue
NtFindAtom_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0011h
jmp NtFindAtom_Epilogue
NtFindAtom_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0011h
jmp NtFindAtom_Epilogue
NtFindAtom_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0011h
jmp NtFindAtom_Epilogue
NtFindAtom_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0012h
jmp NtFindAtom_Epilogue
NtFindAtom_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0013h
jmp NtFindAtom_Epilogue
NtFindAtom_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0014h
jmp NtFindAtom_Epilogue
NtFindAtom_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0014h
jmp NtFindAtom_Epilogue
NtFindAtom_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0014h
jmp NtFindAtom_Epilogue
NtFindAtom_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0014h
jmp NtFindAtom_Epilogue
NtFindAtom_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0014h
jmp NtFindAtom_Epilogue
NtFindAtom_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0014h
jmp NtFindAtom_Epilogue
NtFindAtom_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0014h
jmp NtFindAtom_Epilogue
NtFindAtom_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0014h
jmp NtFindAtom_Epilogue
NtFindAtom_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0014h
jmp NtFindAtom_Epilogue
NtFindAtom_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtFindAtom_Epilogue:
mov r10, rcx
syscall
ret
NtFindAtom ENDP
NtFlushBuffersFile PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtFlushBuffersFile_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtFlushBuffersFile_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtFlushBuffersFile_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtFlushBuffersFile_Check_10_0_XXXX
jmp NtFlushBuffersFile_SystemCall_Unknown
NtFlushBuffersFile_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtFlushBuffersFile_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtFlushBuffersFile_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtFlushBuffersFile_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtFlushBuffersFile_SystemCall_6_3_XXXX
jmp NtFlushBuffersFile_SystemCall_Unknown
NtFlushBuffersFile_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtFlushBuffersFile_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtFlushBuffersFile_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtFlushBuffersFile_SystemCall_6_0_6002
jmp NtFlushBuffersFile_SystemCall_Unknown
NtFlushBuffersFile_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtFlushBuffersFile_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtFlushBuffersFile_SystemCall_6_1_7601
jmp NtFlushBuffersFile_SystemCall_Unknown
NtFlushBuffersFile_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtFlushBuffersFile_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtFlushBuffersFile_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtFlushBuffersFile_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtFlushBuffersFile_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtFlushBuffersFile_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtFlushBuffersFile_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtFlushBuffersFile_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtFlushBuffersFile_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtFlushBuffersFile_SystemCall_10_0_18363
jmp NtFlushBuffersFile_SystemCall_Unknown
NtFlushBuffersFile_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0048h
jmp NtFlushBuffersFile_Epilogue
NtFlushBuffersFile_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0048h
jmp NtFlushBuffersFile_Epilogue
NtFlushBuffersFile_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0048h
jmp NtFlushBuffersFile_Epilogue
NtFlushBuffersFile_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0048h
jmp NtFlushBuffersFile_Epilogue
NtFlushBuffersFile_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0048h
jmp NtFlushBuffersFile_Epilogue
NtFlushBuffersFile_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0048h
jmp NtFlushBuffersFile_Epilogue
NtFlushBuffersFile_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0049h
jmp NtFlushBuffersFile_Epilogue
NtFlushBuffersFile_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 004ah
jmp NtFlushBuffersFile_Epilogue
NtFlushBuffersFile_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 004bh
jmp NtFlushBuffersFile_Epilogue
NtFlushBuffersFile_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 004bh
jmp NtFlushBuffersFile_Epilogue
NtFlushBuffersFile_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 004bh
jmp NtFlushBuffersFile_Epilogue
NtFlushBuffersFile_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 004bh
jmp NtFlushBuffersFile_Epilogue
NtFlushBuffersFile_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 004bh
jmp NtFlushBuffersFile_Epilogue
NtFlushBuffersFile_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 004bh
jmp NtFlushBuffersFile_Epilogue
NtFlushBuffersFile_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 004bh
jmp NtFlushBuffersFile_Epilogue
NtFlushBuffersFile_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 004bh
jmp NtFlushBuffersFile_Epilogue
NtFlushBuffersFile_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 004bh
jmp NtFlushBuffersFile_Epilogue
NtFlushBuffersFile_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtFlushBuffersFile_Epilogue:
mov r10, rcx
syscall
ret
NtFlushBuffersFile ENDP
NtFlushBuffersFileEx PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtFlushBuffersFileEx_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtFlushBuffersFileEx_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtFlushBuffersFileEx_Check_10_0_XXXX
jmp NtFlushBuffersFileEx_SystemCall_Unknown
NtFlushBuffersFileEx_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtFlushBuffersFileEx_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtFlushBuffersFileEx_SystemCall_6_3_XXXX
jmp NtFlushBuffersFileEx_SystemCall_Unknown
NtFlushBuffersFileEx_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtFlushBuffersFileEx_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtFlushBuffersFileEx_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtFlushBuffersFileEx_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtFlushBuffersFileEx_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtFlushBuffersFileEx_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtFlushBuffersFileEx_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtFlushBuffersFileEx_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtFlushBuffersFileEx_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtFlushBuffersFileEx_SystemCall_10_0_18363
jmp NtFlushBuffersFileEx_SystemCall_Unknown
NtFlushBuffersFileEx_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00d2h
jmp NtFlushBuffersFileEx_Epilogue
NtFlushBuffersFileEx_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00d4h
jmp NtFlushBuffersFileEx_Epilogue
NtFlushBuffersFileEx_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00d7h
jmp NtFlushBuffersFileEx_Epilogue
NtFlushBuffersFileEx_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00d8h
jmp NtFlushBuffersFileEx_Epilogue
NtFlushBuffersFileEx_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00dah
jmp NtFlushBuffersFileEx_Epilogue
NtFlushBuffersFileEx_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00ddh
jmp NtFlushBuffersFileEx_Epilogue
NtFlushBuffersFileEx_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00deh
jmp NtFlushBuffersFileEx_Epilogue
NtFlushBuffersFileEx_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00dfh
jmp NtFlushBuffersFileEx_Epilogue
NtFlushBuffersFileEx_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00e0h
jmp NtFlushBuffersFileEx_Epilogue
NtFlushBuffersFileEx_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00e1h
jmp NtFlushBuffersFileEx_Epilogue
NtFlushBuffersFileEx_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00e1h
jmp NtFlushBuffersFileEx_Epilogue
NtFlushBuffersFileEx_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtFlushBuffersFileEx_Epilogue:
mov r10, rcx
syscall
ret
NtFlushBuffersFileEx ENDP
NtFlushInstallUILanguage PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtFlushInstallUILanguage_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtFlushInstallUILanguage_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtFlushInstallUILanguage_Check_10_0_XXXX
jmp NtFlushInstallUILanguage_SystemCall_Unknown
NtFlushInstallUILanguage_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtFlushInstallUILanguage_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtFlushInstallUILanguage_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtFlushInstallUILanguage_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtFlushInstallUILanguage_SystemCall_6_3_XXXX
jmp NtFlushInstallUILanguage_SystemCall_Unknown
NtFlushInstallUILanguage_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtFlushInstallUILanguage_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtFlushInstallUILanguage_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtFlushInstallUILanguage_SystemCall_6_0_6002
jmp NtFlushInstallUILanguage_SystemCall_Unknown
NtFlushInstallUILanguage_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtFlushInstallUILanguage_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtFlushInstallUILanguage_SystemCall_6_1_7601
jmp NtFlushInstallUILanguage_SystemCall_Unknown
NtFlushInstallUILanguage_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtFlushInstallUILanguage_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtFlushInstallUILanguage_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtFlushInstallUILanguage_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtFlushInstallUILanguage_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtFlushInstallUILanguage_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtFlushInstallUILanguage_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtFlushInstallUILanguage_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtFlushInstallUILanguage_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtFlushInstallUILanguage_SystemCall_10_0_18363
jmp NtFlushInstallUILanguage_SystemCall_Unknown
NtFlushInstallUILanguage_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00c0h
jmp NtFlushInstallUILanguage_Epilogue
NtFlushInstallUILanguage_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00beh
jmp NtFlushInstallUILanguage_Epilogue
NtFlushInstallUILanguage_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00beh
jmp NtFlushInstallUILanguage_Epilogue
NtFlushInstallUILanguage_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00c1h
jmp NtFlushInstallUILanguage_Epilogue
NtFlushInstallUILanguage_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00c1h
jmp NtFlushInstallUILanguage_Epilogue
NtFlushInstallUILanguage_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00d3h
jmp NtFlushInstallUILanguage_Epilogue
NtFlushInstallUILanguage_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00d5h
jmp NtFlushInstallUILanguage_Epilogue
NtFlushInstallUILanguage_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00d8h
jmp NtFlushInstallUILanguage_Epilogue
NtFlushInstallUILanguage_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00d9h
jmp NtFlushInstallUILanguage_Epilogue
NtFlushInstallUILanguage_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00dbh
jmp NtFlushInstallUILanguage_Epilogue
NtFlushInstallUILanguage_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00deh
jmp NtFlushInstallUILanguage_Epilogue
NtFlushInstallUILanguage_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00dfh
jmp NtFlushInstallUILanguage_Epilogue
NtFlushInstallUILanguage_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00e0h
jmp NtFlushInstallUILanguage_Epilogue
NtFlushInstallUILanguage_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00e1h
jmp NtFlushInstallUILanguage_Epilogue
NtFlushInstallUILanguage_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00e2h
jmp NtFlushInstallUILanguage_Epilogue
NtFlushInstallUILanguage_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00e2h
jmp NtFlushInstallUILanguage_Epilogue
NtFlushInstallUILanguage_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtFlushInstallUILanguage_Epilogue:
mov r10, rcx
syscall
ret
NtFlushInstallUILanguage ENDP
NtFlushInstructionCache PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtFlushInstructionCache_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtFlushInstructionCache_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtFlushInstructionCache_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtFlushInstructionCache_Check_10_0_XXXX
jmp NtFlushInstructionCache_SystemCall_Unknown
NtFlushInstructionCache_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtFlushInstructionCache_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtFlushInstructionCache_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtFlushInstructionCache_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtFlushInstructionCache_SystemCall_6_3_XXXX
jmp NtFlushInstructionCache_SystemCall_Unknown
NtFlushInstructionCache_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtFlushInstructionCache_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtFlushInstructionCache_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtFlushInstructionCache_SystemCall_6_0_6002
jmp NtFlushInstructionCache_SystemCall_Unknown
NtFlushInstructionCache_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtFlushInstructionCache_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtFlushInstructionCache_SystemCall_6_1_7601
jmp NtFlushInstructionCache_SystemCall_Unknown
NtFlushInstructionCache_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtFlushInstructionCache_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtFlushInstructionCache_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtFlushInstructionCache_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtFlushInstructionCache_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtFlushInstructionCache_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtFlushInstructionCache_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtFlushInstructionCache_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtFlushInstructionCache_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtFlushInstructionCache_SystemCall_10_0_18363
jmp NtFlushInstructionCache_SystemCall_Unknown
NtFlushInstructionCache_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0098h
jmp NtFlushInstructionCache_Epilogue
NtFlushInstructionCache_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00c1h
jmp NtFlushInstructionCache_Epilogue
NtFlushInstructionCache_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00bfh
jmp NtFlushInstructionCache_Epilogue
NtFlushInstructionCache_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00bfh
jmp NtFlushInstructionCache_Epilogue
NtFlushInstructionCache_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00c2h
jmp NtFlushInstructionCache_Epilogue
NtFlushInstructionCache_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00c2h
jmp NtFlushInstructionCache_Epilogue
NtFlushInstructionCache_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00d4h
jmp NtFlushInstructionCache_Epilogue
NtFlushInstructionCache_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00d6h
jmp NtFlushInstructionCache_Epilogue
NtFlushInstructionCache_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00d9h
jmp NtFlushInstructionCache_Epilogue
NtFlushInstructionCache_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00dah
jmp NtFlushInstructionCache_Epilogue
NtFlushInstructionCache_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00dch
jmp NtFlushInstructionCache_Epilogue
NtFlushInstructionCache_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00dfh
jmp NtFlushInstructionCache_Epilogue
NtFlushInstructionCache_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00e0h
jmp NtFlushInstructionCache_Epilogue
NtFlushInstructionCache_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00e1h
jmp NtFlushInstructionCache_Epilogue
NtFlushInstructionCache_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00e2h
jmp NtFlushInstructionCache_Epilogue
NtFlushInstructionCache_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00e3h
jmp NtFlushInstructionCache_Epilogue
NtFlushInstructionCache_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00e3h
jmp NtFlushInstructionCache_Epilogue
NtFlushInstructionCache_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtFlushInstructionCache_Epilogue:
mov r10, rcx
syscall
ret
NtFlushInstructionCache ENDP
NtFlushKey PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtFlushKey_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtFlushKey_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtFlushKey_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtFlushKey_Check_10_0_XXXX
jmp NtFlushKey_SystemCall_Unknown
NtFlushKey_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtFlushKey_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtFlushKey_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtFlushKey_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtFlushKey_SystemCall_6_3_XXXX
jmp NtFlushKey_SystemCall_Unknown
NtFlushKey_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtFlushKey_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtFlushKey_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtFlushKey_SystemCall_6_0_6002
jmp NtFlushKey_SystemCall_Unknown
NtFlushKey_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtFlushKey_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtFlushKey_SystemCall_6_1_7601
jmp NtFlushKey_SystemCall_Unknown
NtFlushKey_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtFlushKey_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtFlushKey_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtFlushKey_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtFlushKey_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtFlushKey_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtFlushKey_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtFlushKey_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtFlushKey_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtFlushKey_SystemCall_10_0_18363
jmp NtFlushKey_SystemCall_Unknown
NtFlushKey_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0099h
jmp NtFlushKey_Epilogue
NtFlushKey_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00c2h
jmp NtFlushKey_Epilogue
NtFlushKey_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00c0h
jmp NtFlushKey_Epilogue
NtFlushKey_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00c0h
jmp NtFlushKey_Epilogue
NtFlushKey_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00c3h
jmp NtFlushKey_Epilogue
NtFlushKey_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00c3h
jmp NtFlushKey_Epilogue
NtFlushKey_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00d5h
jmp NtFlushKey_Epilogue
NtFlushKey_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00d7h
jmp NtFlushKey_Epilogue
NtFlushKey_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00dah
jmp NtFlushKey_Epilogue
NtFlushKey_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00dbh
jmp NtFlushKey_Epilogue
NtFlushKey_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00ddh
jmp NtFlushKey_Epilogue
NtFlushKey_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00e0h
jmp NtFlushKey_Epilogue
NtFlushKey_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00e1h
jmp NtFlushKey_Epilogue
NtFlushKey_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00e2h
jmp NtFlushKey_Epilogue
NtFlushKey_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00e3h
jmp NtFlushKey_Epilogue
NtFlushKey_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00e4h
jmp NtFlushKey_Epilogue
NtFlushKey_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00e4h
jmp NtFlushKey_Epilogue
NtFlushKey_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtFlushKey_Epilogue:
mov r10, rcx
syscall
ret
NtFlushKey ENDP
NtFlushProcessWriteBuffers PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtFlushProcessWriteBuffers_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtFlushProcessWriteBuffers_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtFlushProcessWriteBuffers_Check_10_0_XXXX
jmp NtFlushProcessWriteBuffers_SystemCall_Unknown
NtFlushProcessWriteBuffers_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtFlushProcessWriteBuffers_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtFlushProcessWriteBuffers_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtFlushProcessWriteBuffers_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtFlushProcessWriteBuffers_SystemCall_6_3_XXXX
jmp NtFlushProcessWriteBuffers_SystemCall_Unknown
NtFlushProcessWriteBuffers_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtFlushProcessWriteBuffers_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtFlushProcessWriteBuffers_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtFlushProcessWriteBuffers_SystemCall_6_0_6002
jmp NtFlushProcessWriteBuffers_SystemCall_Unknown
NtFlushProcessWriteBuffers_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtFlushProcessWriteBuffers_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtFlushProcessWriteBuffers_SystemCall_6_1_7601
jmp NtFlushProcessWriteBuffers_SystemCall_Unknown
NtFlushProcessWriteBuffers_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtFlushProcessWriteBuffers_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtFlushProcessWriteBuffers_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtFlushProcessWriteBuffers_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtFlushProcessWriteBuffers_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtFlushProcessWriteBuffers_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtFlushProcessWriteBuffers_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtFlushProcessWriteBuffers_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtFlushProcessWriteBuffers_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtFlushProcessWriteBuffers_SystemCall_10_0_18363
jmp NtFlushProcessWriteBuffers_SystemCall_Unknown
NtFlushProcessWriteBuffers_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00c3h
jmp NtFlushProcessWriteBuffers_Epilogue
NtFlushProcessWriteBuffers_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00c1h
jmp NtFlushProcessWriteBuffers_Epilogue
NtFlushProcessWriteBuffers_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00c1h
jmp NtFlushProcessWriteBuffers_Epilogue
NtFlushProcessWriteBuffers_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00c4h
jmp NtFlushProcessWriteBuffers_Epilogue
NtFlushProcessWriteBuffers_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00c4h
jmp NtFlushProcessWriteBuffers_Epilogue
NtFlushProcessWriteBuffers_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00d6h
jmp NtFlushProcessWriteBuffers_Epilogue
NtFlushProcessWriteBuffers_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00d8h
jmp NtFlushProcessWriteBuffers_Epilogue
NtFlushProcessWriteBuffers_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00dbh
jmp NtFlushProcessWriteBuffers_Epilogue
NtFlushProcessWriteBuffers_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00dch
jmp NtFlushProcessWriteBuffers_Epilogue
NtFlushProcessWriteBuffers_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00deh
jmp NtFlushProcessWriteBuffers_Epilogue
NtFlushProcessWriteBuffers_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00e1h
jmp NtFlushProcessWriteBuffers_Epilogue
NtFlushProcessWriteBuffers_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00e2h
jmp NtFlushProcessWriteBuffers_Epilogue
NtFlushProcessWriteBuffers_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00e3h
jmp NtFlushProcessWriteBuffers_Epilogue
NtFlushProcessWriteBuffers_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00e4h
jmp NtFlushProcessWriteBuffers_Epilogue
NtFlushProcessWriteBuffers_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00e5h
jmp NtFlushProcessWriteBuffers_Epilogue
NtFlushProcessWriteBuffers_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00e5h
jmp NtFlushProcessWriteBuffers_Epilogue
NtFlushProcessWriteBuffers_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtFlushProcessWriteBuffers_Epilogue:
mov r10, rcx
syscall
ret
NtFlushProcessWriteBuffers ENDP
NtFlushVirtualMemory PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtFlushVirtualMemory_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtFlushVirtualMemory_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtFlushVirtualMemory_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtFlushVirtualMemory_Check_10_0_XXXX
jmp NtFlushVirtualMemory_SystemCall_Unknown
NtFlushVirtualMemory_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtFlushVirtualMemory_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtFlushVirtualMemory_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtFlushVirtualMemory_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtFlushVirtualMemory_SystemCall_6_3_XXXX
jmp NtFlushVirtualMemory_SystemCall_Unknown
NtFlushVirtualMemory_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtFlushVirtualMemory_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtFlushVirtualMemory_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtFlushVirtualMemory_SystemCall_6_0_6002
jmp NtFlushVirtualMemory_SystemCall_Unknown
NtFlushVirtualMemory_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtFlushVirtualMemory_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtFlushVirtualMemory_SystemCall_6_1_7601
jmp NtFlushVirtualMemory_SystemCall_Unknown
NtFlushVirtualMemory_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtFlushVirtualMemory_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtFlushVirtualMemory_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtFlushVirtualMemory_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtFlushVirtualMemory_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtFlushVirtualMemory_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtFlushVirtualMemory_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtFlushVirtualMemory_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtFlushVirtualMemory_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtFlushVirtualMemory_SystemCall_10_0_18363
jmp NtFlushVirtualMemory_SystemCall_Unknown
NtFlushVirtualMemory_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 009ah
jmp NtFlushVirtualMemory_Epilogue
NtFlushVirtualMemory_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00c4h
jmp NtFlushVirtualMemory_Epilogue
NtFlushVirtualMemory_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00c2h
jmp NtFlushVirtualMemory_Epilogue
NtFlushVirtualMemory_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00c2h
jmp NtFlushVirtualMemory_Epilogue
NtFlushVirtualMemory_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00c5h
jmp NtFlushVirtualMemory_Epilogue
NtFlushVirtualMemory_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00c5h
jmp NtFlushVirtualMemory_Epilogue
NtFlushVirtualMemory_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00d7h
jmp NtFlushVirtualMemory_Epilogue
NtFlushVirtualMemory_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00d9h
jmp NtFlushVirtualMemory_Epilogue
NtFlushVirtualMemory_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00dch
jmp NtFlushVirtualMemory_Epilogue
NtFlushVirtualMemory_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00ddh
jmp NtFlushVirtualMemory_Epilogue
NtFlushVirtualMemory_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00dfh
jmp NtFlushVirtualMemory_Epilogue
NtFlushVirtualMemory_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00e2h
jmp NtFlushVirtualMemory_Epilogue
NtFlushVirtualMemory_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00e3h
jmp NtFlushVirtualMemory_Epilogue
NtFlushVirtualMemory_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00e4h
jmp NtFlushVirtualMemory_Epilogue
NtFlushVirtualMemory_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00e5h
jmp NtFlushVirtualMemory_Epilogue
NtFlushVirtualMemory_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00e6h
jmp NtFlushVirtualMemory_Epilogue
NtFlushVirtualMemory_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00e6h
jmp NtFlushVirtualMemory_Epilogue
NtFlushVirtualMemory_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtFlushVirtualMemory_Epilogue:
mov r10, rcx
syscall
ret
NtFlushVirtualMemory ENDP
NtFlushWriteBuffer PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtFlushWriteBuffer_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtFlushWriteBuffer_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtFlushWriteBuffer_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtFlushWriteBuffer_Check_10_0_XXXX
jmp NtFlushWriteBuffer_SystemCall_Unknown
NtFlushWriteBuffer_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtFlushWriteBuffer_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtFlushWriteBuffer_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtFlushWriteBuffer_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtFlushWriteBuffer_SystemCall_6_3_XXXX
jmp NtFlushWriteBuffer_SystemCall_Unknown
NtFlushWriteBuffer_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtFlushWriteBuffer_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtFlushWriteBuffer_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtFlushWriteBuffer_SystemCall_6_0_6002
jmp NtFlushWriteBuffer_SystemCall_Unknown
NtFlushWriteBuffer_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtFlushWriteBuffer_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtFlushWriteBuffer_SystemCall_6_1_7601
jmp NtFlushWriteBuffer_SystemCall_Unknown
NtFlushWriteBuffer_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtFlushWriteBuffer_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtFlushWriteBuffer_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtFlushWriteBuffer_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtFlushWriteBuffer_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtFlushWriteBuffer_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtFlushWriteBuffer_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtFlushWriteBuffer_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtFlushWriteBuffer_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtFlushWriteBuffer_SystemCall_10_0_18363
jmp NtFlushWriteBuffer_SystemCall_Unknown
NtFlushWriteBuffer_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 009bh
jmp NtFlushWriteBuffer_Epilogue
NtFlushWriteBuffer_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00c5h
jmp NtFlushWriteBuffer_Epilogue
NtFlushWriteBuffer_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00c3h
jmp NtFlushWriteBuffer_Epilogue
NtFlushWriteBuffer_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00c3h
jmp NtFlushWriteBuffer_Epilogue
NtFlushWriteBuffer_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00c6h
jmp NtFlushWriteBuffer_Epilogue
NtFlushWriteBuffer_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00c6h
jmp NtFlushWriteBuffer_Epilogue
NtFlushWriteBuffer_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00d8h
jmp NtFlushWriteBuffer_Epilogue
NtFlushWriteBuffer_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00dah
jmp NtFlushWriteBuffer_Epilogue
NtFlushWriteBuffer_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00ddh
jmp NtFlushWriteBuffer_Epilogue
NtFlushWriteBuffer_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00deh
jmp NtFlushWriteBuffer_Epilogue
NtFlushWriteBuffer_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00e0h
jmp NtFlushWriteBuffer_Epilogue
NtFlushWriteBuffer_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00e3h
jmp NtFlushWriteBuffer_Epilogue
NtFlushWriteBuffer_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00e4h
jmp NtFlushWriteBuffer_Epilogue
NtFlushWriteBuffer_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00e5h
jmp NtFlushWriteBuffer_Epilogue
NtFlushWriteBuffer_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00e6h
jmp NtFlushWriteBuffer_Epilogue
NtFlushWriteBuffer_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00e7h
jmp NtFlushWriteBuffer_Epilogue
NtFlushWriteBuffer_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00e7h
jmp NtFlushWriteBuffer_Epilogue
NtFlushWriteBuffer_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtFlushWriteBuffer_Epilogue:
mov r10, rcx
syscall
ret
NtFlushWriteBuffer ENDP
NtFreeUserPhysicalPages PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtFreeUserPhysicalPages_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtFreeUserPhysicalPages_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtFreeUserPhysicalPages_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtFreeUserPhysicalPages_Check_10_0_XXXX
jmp NtFreeUserPhysicalPages_SystemCall_Unknown
NtFreeUserPhysicalPages_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtFreeUserPhysicalPages_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtFreeUserPhysicalPages_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtFreeUserPhysicalPages_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtFreeUserPhysicalPages_SystemCall_6_3_XXXX
jmp NtFreeUserPhysicalPages_SystemCall_Unknown
NtFreeUserPhysicalPages_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtFreeUserPhysicalPages_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtFreeUserPhysicalPages_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtFreeUserPhysicalPages_SystemCall_6_0_6002
jmp NtFreeUserPhysicalPages_SystemCall_Unknown
NtFreeUserPhysicalPages_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtFreeUserPhysicalPages_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtFreeUserPhysicalPages_SystemCall_6_1_7601
jmp NtFreeUserPhysicalPages_SystemCall_Unknown
NtFreeUserPhysicalPages_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtFreeUserPhysicalPages_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtFreeUserPhysicalPages_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtFreeUserPhysicalPages_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtFreeUserPhysicalPages_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtFreeUserPhysicalPages_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtFreeUserPhysicalPages_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtFreeUserPhysicalPages_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtFreeUserPhysicalPages_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtFreeUserPhysicalPages_SystemCall_10_0_18363
jmp NtFreeUserPhysicalPages_SystemCall_Unknown
NtFreeUserPhysicalPages_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 009ch
jmp NtFreeUserPhysicalPages_Epilogue
NtFreeUserPhysicalPages_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00c6h
jmp NtFreeUserPhysicalPages_Epilogue
NtFreeUserPhysicalPages_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00c4h
jmp NtFreeUserPhysicalPages_Epilogue
NtFreeUserPhysicalPages_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00c4h
jmp NtFreeUserPhysicalPages_Epilogue
NtFreeUserPhysicalPages_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00c7h
jmp NtFreeUserPhysicalPages_Epilogue
NtFreeUserPhysicalPages_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00c7h
jmp NtFreeUserPhysicalPages_Epilogue
NtFreeUserPhysicalPages_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00d9h
jmp NtFreeUserPhysicalPages_Epilogue
NtFreeUserPhysicalPages_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00dbh
jmp NtFreeUserPhysicalPages_Epilogue
NtFreeUserPhysicalPages_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00deh
jmp NtFreeUserPhysicalPages_Epilogue
NtFreeUserPhysicalPages_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00dfh
jmp NtFreeUserPhysicalPages_Epilogue
NtFreeUserPhysicalPages_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00e1h
jmp NtFreeUserPhysicalPages_Epilogue
NtFreeUserPhysicalPages_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00e4h
jmp NtFreeUserPhysicalPages_Epilogue
NtFreeUserPhysicalPages_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00e5h
jmp NtFreeUserPhysicalPages_Epilogue
NtFreeUserPhysicalPages_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00e6h
jmp NtFreeUserPhysicalPages_Epilogue
NtFreeUserPhysicalPages_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00e7h
jmp NtFreeUserPhysicalPages_Epilogue
NtFreeUserPhysicalPages_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00e8h
jmp NtFreeUserPhysicalPages_Epilogue
NtFreeUserPhysicalPages_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00e8h
jmp NtFreeUserPhysicalPages_Epilogue
NtFreeUserPhysicalPages_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtFreeUserPhysicalPages_Epilogue:
mov r10, rcx
syscall
ret
NtFreeUserPhysicalPages ENDP
NtFreeVirtualMemory PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtFreeVirtualMemory_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtFreeVirtualMemory_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtFreeVirtualMemory_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtFreeVirtualMemory_Check_10_0_XXXX
jmp NtFreeVirtualMemory_SystemCall_Unknown
NtFreeVirtualMemory_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtFreeVirtualMemory_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtFreeVirtualMemory_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtFreeVirtualMemory_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtFreeVirtualMemory_SystemCall_6_3_XXXX
jmp NtFreeVirtualMemory_SystemCall_Unknown
NtFreeVirtualMemory_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtFreeVirtualMemory_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtFreeVirtualMemory_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtFreeVirtualMemory_SystemCall_6_0_6002
jmp NtFreeVirtualMemory_SystemCall_Unknown
NtFreeVirtualMemory_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtFreeVirtualMemory_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtFreeVirtualMemory_SystemCall_6_1_7601
jmp NtFreeVirtualMemory_SystemCall_Unknown
NtFreeVirtualMemory_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtFreeVirtualMemory_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtFreeVirtualMemory_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtFreeVirtualMemory_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtFreeVirtualMemory_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtFreeVirtualMemory_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtFreeVirtualMemory_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtFreeVirtualMemory_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtFreeVirtualMemory_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtFreeVirtualMemory_SystemCall_10_0_18363
jmp NtFreeVirtualMemory_SystemCall_Unknown
NtFreeVirtualMemory_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 001bh
jmp NtFreeVirtualMemory_Epilogue
NtFreeVirtualMemory_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 001bh
jmp NtFreeVirtualMemory_Epilogue
NtFreeVirtualMemory_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 001bh
jmp NtFreeVirtualMemory_Epilogue
NtFreeVirtualMemory_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 001bh
jmp NtFreeVirtualMemory_Epilogue
NtFreeVirtualMemory_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 001bh
jmp NtFreeVirtualMemory_Epilogue
NtFreeVirtualMemory_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 001bh
jmp NtFreeVirtualMemory_Epilogue
NtFreeVirtualMemory_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 001ch
jmp NtFreeVirtualMemory_Epilogue
NtFreeVirtualMemory_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 001dh
jmp NtFreeVirtualMemory_Epilogue
NtFreeVirtualMemory_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 001eh
jmp NtFreeVirtualMemory_Epilogue
NtFreeVirtualMemory_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 001eh
jmp NtFreeVirtualMemory_Epilogue
NtFreeVirtualMemory_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 001eh
jmp NtFreeVirtualMemory_Epilogue
NtFreeVirtualMemory_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 001eh
jmp NtFreeVirtualMemory_Epilogue
NtFreeVirtualMemory_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 001eh
jmp NtFreeVirtualMemory_Epilogue
NtFreeVirtualMemory_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 001eh
jmp NtFreeVirtualMemory_Epilogue
NtFreeVirtualMemory_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 001eh
jmp NtFreeVirtualMemory_Epilogue
NtFreeVirtualMemory_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 001eh
jmp NtFreeVirtualMemory_Epilogue
NtFreeVirtualMemory_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 001eh
jmp NtFreeVirtualMemory_Epilogue
NtFreeVirtualMemory_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtFreeVirtualMemory_Epilogue:
mov r10, rcx
syscall
ret
NtFreeVirtualMemory ENDP
NtFreezeRegistry PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtFreezeRegistry_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtFreezeRegistry_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtFreezeRegistry_Check_10_0_XXXX
jmp NtFreezeRegistry_SystemCall_Unknown
NtFreezeRegistry_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtFreezeRegistry_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtFreezeRegistry_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtFreezeRegistry_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtFreezeRegistry_SystemCall_6_3_XXXX
jmp NtFreezeRegistry_SystemCall_Unknown
NtFreezeRegistry_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtFreezeRegistry_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtFreezeRegistry_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtFreezeRegistry_SystemCall_6_0_6002
jmp NtFreezeRegistry_SystemCall_Unknown
NtFreezeRegistry_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtFreezeRegistry_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtFreezeRegistry_SystemCall_6_1_7601
jmp NtFreezeRegistry_SystemCall_Unknown
NtFreezeRegistry_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtFreezeRegistry_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtFreezeRegistry_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtFreezeRegistry_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtFreezeRegistry_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtFreezeRegistry_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtFreezeRegistry_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtFreezeRegistry_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtFreezeRegistry_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtFreezeRegistry_SystemCall_10_0_18363
jmp NtFreezeRegistry_SystemCall_Unknown
NtFreezeRegistry_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00c7h
jmp NtFreezeRegistry_Epilogue
NtFreezeRegistry_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00c5h
jmp NtFreezeRegistry_Epilogue
NtFreezeRegistry_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00c5h
jmp NtFreezeRegistry_Epilogue
NtFreezeRegistry_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00c8h
jmp NtFreezeRegistry_Epilogue
NtFreezeRegistry_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00c8h
jmp NtFreezeRegistry_Epilogue
NtFreezeRegistry_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00dah
jmp NtFreezeRegistry_Epilogue
NtFreezeRegistry_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00dch
jmp NtFreezeRegistry_Epilogue
NtFreezeRegistry_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00dfh
jmp NtFreezeRegistry_Epilogue
NtFreezeRegistry_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00e0h
jmp NtFreezeRegistry_Epilogue
NtFreezeRegistry_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00e2h
jmp NtFreezeRegistry_Epilogue
NtFreezeRegistry_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00e5h
jmp NtFreezeRegistry_Epilogue
NtFreezeRegistry_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00e6h
jmp NtFreezeRegistry_Epilogue
NtFreezeRegistry_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00e7h
jmp NtFreezeRegistry_Epilogue
NtFreezeRegistry_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00e8h
jmp NtFreezeRegistry_Epilogue
NtFreezeRegistry_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00e9h
jmp NtFreezeRegistry_Epilogue
NtFreezeRegistry_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00e9h
jmp NtFreezeRegistry_Epilogue
NtFreezeRegistry_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtFreezeRegistry_Epilogue:
mov r10, rcx
syscall
ret
NtFreezeRegistry ENDP
NtFreezeTransactions PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtFreezeTransactions_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtFreezeTransactions_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtFreezeTransactions_Check_10_0_XXXX
jmp NtFreezeTransactions_SystemCall_Unknown
NtFreezeTransactions_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtFreezeTransactions_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtFreezeTransactions_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtFreezeTransactions_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtFreezeTransactions_SystemCall_6_3_XXXX
jmp NtFreezeTransactions_SystemCall_Unknown
NtFreezeTransactions_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtFreezeTransactions_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtFreezeTransactions_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtFreezeTransactions_SystemCall_6_0_6002
jmp NtFreezeTransactions_SystemCall_Unknown
NtFreezeTransactions_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtFreezeTransactions_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtFreezeTransactions_SystemCall_6_1_7601
jmp NtFreezeTransactions_SystemCall_Unknown
NtFreezeTransactions_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtFreezeTransactions_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtFreezeTransactions_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtFreezeTransactions_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtFreezeTransactions_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtFreezeTransactions_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtFreezeTransactions_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtFreezeTransactions_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtFreezeTransactions_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtFreezeTransactions_SystemCall_10_0_18363
jmp NtFreezeTransactions_SystemCall_Unknown
NtFreezeTransactions_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00c8h
jmp NtFreezeTransactions_Epilogue
NtFreezeTransactions_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00c6h
jmp NtFreezeTransactions_Epilogue
NtFreezeTransactions_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00c6h
jmp NtFreezeTransactions_Epilogue
NtFreezeTransactions_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00c9h
jmp NtFreezeTransactions_Epilogue
NtFreezeTransactions_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00c9h
jmp NtFreezeTransactions_Epilogue
NtFreezeTransactions_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00dbh
jmp NtFreezeTransactions_Epilogue
NtFreezeTransactions_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00ddh
jmp NtFreezeTransactions_Epilogue
NtFreezeTransactions_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00e0h
jmp NtFreezeTransactions_Epilogue
NtFreezeTransactions_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00e1h
jmp NtFreezeTransactions_Epilogue
NtFreezeTransactions_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00e3h
jmp NtFreezeTransactions_Epilogue
NtFreezeTransactions_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00e6h
jmp NtFreezeTransactions_Epilogue
NtFreezeTransactions_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00e7h
jmp NtFreezeTransactions_Epilogue
NtFreezeTransactions_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00e8h
jmp NtFreezeTransactions_Epilogue
NtFreezeTransactions_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00e9h
jmp NtFreezeTransactions_Epilogue
NtFreezeTransactions_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00eah
jmp NtFreezeTransactions_Epilogue
NtFreezeTransactions_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00eah
jmp NtFreezeTransactions_Epilogue
NtFreezeTransactions_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtFreezeTransactions_Epilogue:
mov r10, rcx
syscall
ret
NtFreezeTransactions ENDP
NtFsControlFile PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtFsControlFile_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtFsControlFile_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtFsControlFile_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtFsControlFile_Check_10_0_XXXX
jmp NtFsControlFile_SystemCall_Unknown
NtFsControlFile_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtFsControlFile_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtFsControlFile_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtFsControlFile_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtFsControlFile_SystemCall_6_3_XXXX
jmp NtFsControlFile_SystemCall_Unknown
NtFsControlFile_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtFsControlFile_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtFsControlFile_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtFsControlFile_SystemCall_6_0_6002
jmp NtFsControlFile_SystemCall_Unknown
NtFsControlFile_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtFsControlFile_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtFsControlFile_SystemCall_6_1_7601
jmp NtFsControlFile_SystemCall_Unknown
NtFsControlFile_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtFsControlFile_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtFsControlFile_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtFsControlFile_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtFsControlFile_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtFsControlFile_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtFsControlFile_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtFsControlFile_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtFsControlFile_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtFsControlFile_SystemCall_10_0_18363
jmp NtFsControlFile_SystemCall_Unknown
NtFsControlFile_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 0036h
jmp NtFsControlFile_Epilogue
NtFsControlFile_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 0036h
jmp NtFsControlFile_Epilogue
NtFsControlFile_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 0036h
jmp NtFsControlFile_Epilogue
NtFsControlFile_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 0036h
jmp NtFsControlFile_Epilogue
NtFsControlFile_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 0036h
jmp NtFsControlFile_Epilogue
NtFsControlFile_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 0036h
jmp NtFsControlFile_Epilogue
NtFsControlFile_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 0037h
jmp NtFsControlFile_Epilogue
NtFsControlFile_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 0038h
jmp NtFsControlFile_Epilogue
NtFsControlFile_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 0039h
jmp NtFsControlFile_Epilogue
NtFsControlFile_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0039h
jmp NtFsControlFile_Epilogue
NtFsControlFile_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0039h
jmp NtFsControlFile_Epilogue
NtFsControlFile_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0039h
jmp NtFsControlFile_Epilogue
NtFsControlFile_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0039h
jmp NtFsControlFile_Epilogue
NtFsControlFile_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0039h
jmp NtFsControlFile_Epilogue
NtFsControlFile_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0039h
jmp NtFsControlFile_Epilogue
NtFsControlFile_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0039h
jmp NtFsControlFile_Epilogue
NtFsControlFile_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0039h
jmp NtFsControlFile_Epilogue
NtFsControlFile_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtFsControlFile_Epilogue:
mov r10, rcx
syscall
ret
NtFsControlFile ENDP
NtGetCachedSigningLevel PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtGetCachedSigningLevel_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtGetCachedSigningLevel_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtGetCachedSigningLevel_Check_10_0_XXXX
jmp NtGetCachedSigningLevel_SystemCall_Unknown
NtGetCachedSigningLevel_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtGetCachedSigningLevel_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetCachedSigningLevel_SystemCall_6_3_XXXX
jmp NtGetCachedSigningLevel_SystemCall_Unknown
NtGetCachedSigningLevel_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtGetCachedSigningLevel_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtGetCachedSigningLevel_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtGetCachedSigningLevel_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtGetCachedSigningLevel_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtGetCachedSigningLevel_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtGetCachedSigningLevel_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtGetCachedSigningLevel_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtGetCachedSigningLevel_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtGetCachedSigningLevel_SystemCall_10_0_18363
jmp NtGetCachedSigningLevel_SystemCall_Unknown
NtGetCachedSigningLevel_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00dch
jmp NtGetCachedSigningLevel_Epilogue
NtGetCachedSigningLevel_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00deh
jmp NtGetCachedSigningLevel_Epilogue
NtGetCachedSigningLevel_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00e1h
jmp NtGetCachedSigningLevel_Epilogue
NtGetCachedSigningLevel_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00e2h
jmp NtGetCachedSigningLevel_Epilogue
NtGetCachedSigningLevel_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00e4h
jmp NtGetCachedSigningLevel_Epilogue
NtGetCachedSigningLevel_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00e7h
jmp NtGetCachedSigningLevel_Epilogue
NtGetCachedSigningLevel_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00e8h
jmp NtGetCachedSigningLevel_Epilogue
NtGetCachedSigningLevel_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00e9h
jmp NtGetCachedSigningLevel_Epilogue
NtGetCachedSigningLevel_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00eah
jmp NtGetCachedSigningLevel_Epilogue
NtGetCachedSigningLevel_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00ebh
jmp NtGetCachedSigningLevel_Epilogue
NtGetCachedSigningLevel_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00ebh
jmp NtGetCachedSigningLevel_Epilogue
NtGetCachedSigningLevel_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtGetCachedSigningLevel_Epilogue:
mov r10, rcx
syscall
ret
NtGetCachedSigningLevel ENDP
NtGetCompleteWnfStateSubscription PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtGetCompleteWnfStateSubscription_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtGetCompleteWnfStateSubscription_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtGetCompleteWnfStateSubscription_Check_10_0_XXXX
jmp NtGetCompleteWnfStateSubscription_SystemCall_Unknown
NtGetCompleteWnfStateSubscription_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 2
je NtGetCompleteWnfStateSubscription_SystemCall_6_3_XXXX
jmp NtGetCompleteWnfStateSubscription_SystemCall_Unknown
NtGetCompleteWnfStateSubscription_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtGetCompleteWnfStateSubscription_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtGetCompleteWnfStateSubscription_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtGetCompleteWnfStateSubscription_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtGetCompleteWnfStateSubscription_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtGetCompleteWnfStateSubscription_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtGetCompleteWnfStateSubscription_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtGetCompleteWnfStateSubscription_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtGetCompleteWnfStateSubscription_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtGetCompleteWnfStateSubscription_SystemCall_10_0_18363
jmp NtGetCompleteWnfStateSubscription_SystemCall_Unknown
NtGetCompleteWnfStateSubscription_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00dfh
jmp NtGetCompleteWnfStateSubscription_Epilogue
NtGetCompleteWnfStateSubscription_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00e2h
jmp NtGetCompleteWnfStateSubscription_Epilogue
NtGetCompleteWnfStateSubscription_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00e3h
jmp NtGetCompleteWnfStateSubscription_Epilogue
NtGetCompleteWnfStateSubscription_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00e5h
jmp NtGetCompleteWnfStateSubscription_Epilogue
NtGetCompleteWnfStateSubscription_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00e8h
jmp NtGetCompleteWnfStateSubscription_Epilogue
NtGetCompleteWnfStateSubscription_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00e9h
jmp NtGetCompleteWnfStateSubscription_Epilogue
NtGetCompleteWnfStateSubscription_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00eah
jmp NtGetCompleteWnfStateSubscription_Epilogue
NtGetCompleteWnfStateSubscription_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00ebh
jmp NtGetCompleteWnfStateSubscription_Epilogue
NtGetCompleteWnfStateSubscription_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00ech
jmp NtGetCompleteWnfStateSubscription_Epilogue
NtGetCompleteWnfStateSubscription_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00ech
jmp NtGetCompleteWnfStateSubscription_Epilogue
NtGetCompleteWnfStateSubscription_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtGetCompleteWnfStateSubscription_Epilogue:
mov r10, rcx
syscall
ret
NtGetCompleteWnfStateSubscription ENDP
NtGetContextThread PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtGetContextThread_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtGetContextThread_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtGetContextThread_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtGetContextThread_Check_10_0_XXXX
jmp NtGetContextThread_SystemCall_Unknown
NtGetContextThread_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtGetContextThread_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtGetContextThread_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetContextThread_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetContextThread_SystemCall_6_3_XXXX
jmp NtGetContextThread_SystemCall_Unknown
NtGetContextThread_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtGetContextThread_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtGetContextThread_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtGetContextThread_SystemCall_6_0_6002
jmp NtGetContextThread_SystemCall_Unknown
NtGetContextThread_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtGetContextThread_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtGetContextThread_SystemCall_6_1_7601
jmp NtGetContextThread_SystemCall_Unknown
NtGetContextThread_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtGetContextThread_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtGetContextThread_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtGetContextThread_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtGetContextThread_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtGetContextThread_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtGetContextThread_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtGetContextThread_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtGetContextThread_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtGetContextThread_SystemCall_10_0_18363
jmp NtGetContextThread_SystemCall_Unknown
NtGetContextThread_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 009dh
jmp NtGetContextThread_Epilogue
NtGetContextThread_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00c9h
jmp NtGetContextThread_Epilogue
NtGetContextThread_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00c7h
jmp NtGetContextThread_Epilogue
NtGetContextThread_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00c7h
jmp NtGetContextThread_Epilogue
NtGetContextThread_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00cah
jmp NtGetContextThread_Epilogue
NtGetContextThread_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00cah
jmp NtGetContextThread_Epilogue
NtGetContextThread_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00ddh
jmp NtGetContextThread_Epilogue
NtGetContextThread_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00e0h
jmp NtGetContextThread_Epilogue
NtGetContextThread_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00e3h
jmp NtGetContextThread_Epilogue
NtGetContextThread_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00e4h
jmp NtGetContextThread_Epilogue
NtGetContextThread_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00e6h
jmp NtGetContextThread_Epilogue
NtGetContextThread_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00e9h
jmp NtGetContextThread_Epilogue
NtGetContextThread_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00eah
jmp NtGetContextThread_Epilogue
NtGetContextThread_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00ebh
jmp NtGetContextThread_Epilogue
NtGetContextThread_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00ech
jmp NtGetContextThread_Epilogue
NtGetContextThread_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00edh
jmp NtGetContextThread_Epilogue
NtGetContextThread_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00edh
jmp NtGetContextThread_Epilogue
NtGetContextThread_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtGetContextThread_Epilogue:
mov r10, rcx
syscall
ret
NtGetContextThread ENDP
NtGetCurrentProcessorNumber PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtGetCurrentProcessorNumber_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtGetCurrentProcessorNumber_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtGetCurrentProcessorNumber_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtGetCurrentProcessorNumber_Check_10_0_XXXX
jmp NtGetCurrentProcessorNumber_SystemCall_Unknown
NtGetCurrentProcessorNumber_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtGetCurrentProcessorNumber_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtGetCurrentProcessorNumber_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetCurrentProcessorNumber_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetCurrentProcessorNumber_SystemCall_6_3_XXXX
jmp NtGetCurrentProcessorNumber_SystemCall_Unknown
NtGetCurrentProcessorNumber_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtGetCurrentProcessorNumber_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtGetCurrentProcessorNumber_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtGetCurrentProcessorNumber_SystemCall_6_0_6002
jmp NtGetCurrentProcessorNumber_SystemCall_Unknown
NtGetCurrentProcessorNumber_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtGetCurrentProcessorNumber_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtGetCurrentProcessorNumber_SystemCall_6_1_7601
jmp NtGetCurrentProcessorNumber_SystemCall_Unknown
NtGetCurrentProcessorNumber_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtGetCurrentProcessorNumber_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtGetCurrentProcessorNumber_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtGetCurrentProcessorNumber_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtGetCurrentProcessorNumber_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtGetCurrentProcessorNumber_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtGetCurrentProcessorNumber_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtGetCurrentProcessorNumber_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtGetCurrentProcessorNumber_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtGetCurrentProcessorNumber_SystemCall_10_0_18363
jmp NtGetCurrentProcessorNumber_SystemCall_Unknown
NtGetCurrentProcessorNumber_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 009eh
jmp NtGetCurrentProcessorNumber_Epilogue
NtGetCurrentProcessorNumber_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00cah
jmp NtGetCurrentProcessorNumber_Epilogue
NtGetCurrentProcessorNumber_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00c8h
jmp NtGetCurrentProcessorNumber_Epilogue
NtGetCurrentProcessorNumber_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00c8h
jmp NtGetCurrentProcessorNumber_Epilogue
NtGetCurrentProcessorNumber_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00cbh
jmp NtGetCurrentProcessorNumber_Epilogue
NtGetCurrentProcessorNumber_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00cbh
jmp NtGetCurrentProcessorNumber_Epilogue
NtGetCurrentProcessorNumber_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00deh
jmp NtGetCurrentProcessorNumber_Epilogue
NtGetCurrentProcessorNumber_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00e1h
jmp NtGetCurrentProcessorNumber_Epilogue
NtGetCurrentProcessorNumber_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00e4h
jmp NtGetCurrentProcessorNumber_Epilogue
NtGetCurrentProcessorNumber_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00e5h
jmp NtGetCurrentProcessorNumber_Epilogue
NtGetCurrentProcessorNumber_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00e7h
jmp NtGetCurrentProcessorNumber_Epilogue
NtGetCurrentProcessorNumber_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00eah
jmp NtGetCurrentProcessorNumber_Epilogue
NtGetCurrentProcessorNumber_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00ebh
jmp NtGetCurrentProcessorNumber_Epilogue
NtGetCurrentProcessorNumber_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00ech
jmp NtGetCurrentProcessorNumber_Epilogue
NtGetCurrentProcessorNumber_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00edh
jmp NtGetCurrentProcessorNumber_Epilogue
NtGetCurrentProcessorNumber_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00eeh
jmp NtGetCurrentProcessorNumber_Epilogue
NtGetCurrentProcessorNumber_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00eeh
jmp NtGetCurrentProcessorNumber_Epilogue
NtGetCurrentProcessorNumber_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtGetCurrentProcessorNumber_Epilogue:
mov r10, rcx
syscall
ret
NtGetCurrentProcessorNumber ENDP
NtGetCurrentProcessorNumberEx PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtGetCurrentProcessorNumberEx_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtGetCurrentProcessorNumberEx_Check_10_0_XXXX
jmp NtGetCurrentProcessorNumberEx_SystemCall_Unknown
NtGetCurrentProcessorNumberEx_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtGetCurrentProcessorNumberEx_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtGetCurrentProcessorNumberEx_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtGetCurrentProcessorNumberEx_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtGetCurrentProcessorNumberEx_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtGetCurrentProcessorNumberEx_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtGetCurrentProcessorNumberEx_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtGetCurrentProcessorNumberEx_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtGetCurrentProcessorNumberEx_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtGetCurrentProcessorNumberEx_SystemCall_10_0_18363
jmp NtGetCurrentProcessorNumberEx_SystemCall_Unknown
NtGetCurrentProcessorNumberEx_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00e5h
jmp NtGetCurrentProcessorNumberEx_Epilogue
NtGetCurrentProcessorNumberEx_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00e6h
jmp NtGetCurrentProcessorNumberEx_Epilogue
NtGetCurrentProcessorNumberEx_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00e8h
jmp NtGetCurrentProcessorNumberEx_Epilogue
NtGetCurrentProcessorNumberEx_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00ebh
jmp NtGetCurrentProcessorNumberEx_Epilogue
NtGetCurrentProcessorNumberEx_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00ech
jmp NtGetCurrentProcessorNumberEx_Epilogue
NtGetCurrentProcessorNumberEx_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00edh
jmp NtGetCurrentProcessorNumberEx_Epilogue
NtGetCurrentProcessorNumberEx_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00eeh
jmp NtGetCurrentProcessorNumberEx_Epilogue
NtGetCurrentProcessorNumberEx_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00efh
jmp NtGetCurrentProcessorNumberEx_Epilogue
NtGetCurrentProcessorNumberEx_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00efh
jmp NtGetCurrentProcessorNumberEx_Epilogue
NtGetCurrentProcessorNumberEx_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtGetCurrentProcessorNumberEx_Epilogue:
mov r10, rcx
syscall
ret
NtGetCurrentProcessorNumberEx ENDP
NtGetDevicePowerState PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtGetDevicePowerState_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtGetDevicePowerState_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtGetDevicePowerState_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtGetDevicePowerState_Check_10_0_XXXX
jmp NtGetDevicePowerState_SystemCall_Unknown
NtGetDevicePowerState_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtGetDevicePowerState_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtGetDevicePowerState_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetDevicePowerState_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetDevicePowerState_SystemCall_6_3_XXXX
jmp NtGetDevicePowerState_SystemCall_Unknown
NtGetDevicePowerState_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtGetDevicePowerState_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtGetDevicePowerState_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtGetDevicePowerState_SystemCall_6_0_6002
jmp NtGetDevicePowerState_SystemCall_Unknown
NtGetDevicePowerState_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtGetDevicePowerState_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtGetDevicePowerState_SystemCall_6_1_7601
jmp NtGetDevicePowerState_SystemCall_Unknown
NtGetDevicePowerState_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtGetDevicePowerState_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtGetDevicePowerState_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtGetDevicePowerState_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtGetDevicePowerState_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtGetDevicePowerState_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtGetDevicePowerState_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtGetDevicePowerState_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtGetDevicePowerState_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtGetDevicePowerState_SystemCall_10_0_18363
jmp NtGetDevicePowerState_SystemCall_Unknown
NtGetDevicePowerState_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 009fh
jmp NtGetDevicePowerState_Epilogue
NtGetDevicePowerState_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00cbh
jmp NtGetDevicePowerState_Epilogue
NtGetDevicePowerState_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00c9h
jmp NtGetDevicePowerState_Epilogue
NtGetDevicePowerState_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00c9h
jmp NtGetDevicePowerState_Epilogue
NtGetDevicePowerState_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00cch
jmp NtGetDevicePowerState_Epilogue
NtGetDevicePowerState_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00cch
jmp NtGetDevicePowerState_Epilogue
NtGetDevicePowerState_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00dfh
jmp NtGetDevicePowerState_Epilogue
NtGetDevicePowerState_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00e2h
jmp NtGetDevicePowerState_Epilogue
NtGetDevicePowerState_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00e6h
jmp NtGetDevicePowerState_Epilogue
NtGetDevicePowerState_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00e7h
jmp NtGetDevicePowerState_Epilogue
NtGetDevicePowerState_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00e9h
jmp NtGetDevicePowerState_Epilogue
NtGetDevicePowerState_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00ech
jmp NtGetDevicePowerState_Epilogue
NtGetDevicePowerState_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00edh
jmp NtGetDevicePowerState_Epilogue
NtGetDevicePowerState_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00eeh
jmp NtGetDevicePowerState_Epilogue
NtGetDevicePowerState_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00efh
jmp NtGetDevicePowerState_Epilogue
NtGetDevicePowerState_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00f0h
jmp NtGetDevicePowerState_Epilogue
NtGetDevicePowerState_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00f0h
jmp NtGetDevicePowerState_Epilogue
NtGetDevicePowerState_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtGetDevicePowerState_Epilogue:
mov r10, rcx
syscall
ret
NtGetDevicePowerState ENDP
NtGetMUIRegistryInfo PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtGetMUIRegistryInfo_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtGetMUIRegistryInfo_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtGetMUIRegistryInfo_Check_10_0_XXXX
jmp NtGetMUIRegistryInfo_SystemCall_Unknown
NtGetMUIRegistryInfo_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtGetMUIRegistryInfo_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtGetMUIRegistryInfo_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetMUIRegistryInfo_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetMUIRegistryInfo_SystemCall_6_3_XXXX
jmp NtGetMUIRegistryInfo_SystemCall_Unknown
NtGetMUIRegistryInfo_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtGetMUIRegistryInfo_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtGetMUIRegistryInfo_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtGetMUIRegistryInfo_SystemCall_6_0_6002
jmp NtGetMUIRegistryInfo_SystemCall_Unknown
NtGetMUIRegistryInfo_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtGetMUIRegistryInfo_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtGetMUIRegistryInfo_SystemCall_6_1_7601
jmp NtGetMUIRegistryInfo_SystemCall_Unknown
NtGetMUIRegistryInfo_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtGetMUIRegistryInfo_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtGetMUIRegistryInfo_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtGetMUIRegistryInfo_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtGetMUIRegistryInfo_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtGetMUIRegistryInfo_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtGetMUIRegistryInfo_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtGetMUIRegistryInfo_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtGetMUIRegistryInfo_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtGetMUIRegistryInfo_SystemCall_10_0_18363
jmp NtGetMUIRegistryInfo_SystemCall_Unknown
NtGetMUIRegistryInfo_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00cch
jmp NtGetMUIRegistryInfo_Epilogue
NtGetMUIRegistryInfo_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00cah
jmp NtGetMUIRegistryInfo_Epilogue
NtGetMUIRegistryInfo_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00cah
jmp NtGetMUIRegistryInfo_Epilogue
NtGetMUIRegistryInfo_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00cdh
jmp NtGetMUIRegistryInfo_Epilogue
NtGetMUIRegistryInfo_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00cdh
jmp NtGetMUIRegistryInfo_Epilogue
NtGetMUIRegistryInfo_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00e0h
jmp NtGetMUIRegistryInfo_Epilogue
NtGetMUIRegistryInfo_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00e3h
jmp NtGetMUIRegistryInfo_Epilogue
NtGetMUIRegistryInfo_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00e7h
jmp NtGetMUIRegistryInfo_Epilogue
NtGetMUIRegistryInfo_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00e8h
jmp NtGetMUIRegistryInfo_Epilogue
NtGetMUIRegistryInfo_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00eah
jmp NtGetMUIRegistryInfo_Epilogue
NtGetMUIRegistryInfo_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00edh
jmp NtGetMUIRegistryInfo_Epilogue
NtGetMUIRegistryInfo_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00eeh
jmp NtGetMUIRegistryInfo_Epilogue
NtGetMUIRegistryInfo_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00efh
jmp NtGetMUIRegistryInfo_Epilogue
NtGetMUIRegistryInfo_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00f0h
jmp NtGetMUIRegistryInfo_Epilogue
NtGetMUIRegistryInfo_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00f1h
jmp NtGetMUIRegistryInfo_Epilogue
NtGetMUIRegistryInfo_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00f1h
jmp NtGetMUIRegistryInfo_Epilogue
NtGetMUIRegistryInfo_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtGetMUIRegistryInfo_Epilogue:
mov r10, rcx
syscall
ret
NtGetMUIRegistryInfo ENDP
NtGetNextProcess PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtGetNextProcess_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtGetNextProcess_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtGetNextProcess_Check_10_0_XXXX
jmp NtGetNextProcess_SystemCall_Unknown
NtGetNextProcess_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtGetNextProcess_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtGetNextProcess_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetNextProcess_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetNextProcess_SystemCall_6_3_XXXX
jmp NtGetNextProcess_SystemCall_Unknown
NtGetNextProcess_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtGetNextProcess_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtGetNextProcess_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtGetNextProcess_SystemCall_6_0_6002
jmp NtGetNextProcess_SystemCall_Unknown
NtGetNextProcess_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtGetNextProcess_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtGetNextProcess_SystemCall_6_1_7601
jmp NtGetNextProcess_SystemCall_Unknown
NtGetNextProcess_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtGetNextProcess_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtGetNextProcess_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtGetNextProcess_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtGetNextProcess_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtGetNextProcess_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtGetNextProcess_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtGetNextProcess_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtGetNextProcess_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtGetNextProcess_SystemCall_10_0_18363
jmp NtGetNextProcess_SystemCall_Unknown
NtGetNextProcess_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00cdh
jmp NtGetNextProcess_Epilogue
NtGetNextProcess_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00cbh
jmp NtGetNextProcess_Epilogue
NtGetNextProcess_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00cbh
jmp NtGetNextProcess_Epilogue
NtGetNextProcess_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00ceh
jmp NtGetNextProcess_Epilogue
NtGetNextProcess_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00ceh
jmp NtGetNextProcess_Epilogue
NtGetNextProcess_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00e1h
jmp NtGetNextProcess_Epilogue
NtGetNextProcess_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00e4h
jmp NtGetNextProcess_Epilogue
NtGetNextProcess_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00e8h
jmp NtGetNextProcess_Epilogue
NtGetNextProcess_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00e9h
jmp NtGetNextProcess_Epilogue
NtGetNextProcess_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00ebh
jmp NtGetNextProcess_Epilogue
NtGetNextProcess_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00eeh
jmp NtGetNextProcess_Epilogue
NtGetNextProcess_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00efh
jmp NtGetNextProcess_Epilogue
NtGetNextProcess_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00f0h
jmp NtGetNextProcess_Epilogue
NtGetNextProcess_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00f1h
jmp NtGetNextProcess_Epilogue
NtGetNextProcess_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00f2h
jmp NtGetNextProcess_Epilogue
NtGetNextProcess_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00f2h
jmp NtGetNextProcess_Epilogue
NtGetNextProcess_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtGetNextProcess_Epilogue:
mov r10, rcx
syscall
ret
NtGetNextProcess ENDP
NtGetNextThread PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtGetNextThread_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtGetNextThread_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtGetNextThread_Check_10_0_XXXX
jmp NtGetNextThread_SystemCall_Unknown
NtGetNextThread_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtGetNextThread_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtGetNextThread_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetNextThread_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetNextThread_SystemCall_6_3_XXXX
jmp NtGetNextThread_SystemCall_Unknown
NtGetNextThread_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtGetNextThread_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtGetNextThread_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtGetNextThread_SystemCall_6_0_6002
jmp NtGetNextThread_SystemCall_Unknown
NtGetNextThread_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtGetNextThread_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtGetNextThread_SystemCall_6_1_7601
jmp NtGetNextThread_SystemCall_Unknown
NtGetNextThread_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtGetNextThread_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtGetNextThread_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtGetNextThread_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtGetNextThread_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtGetNextThread_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtGetNextThread_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtGetNextThread_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtGetNextThread_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtGetNextThread_SystemCall_10_0_18363
jmp NtGetNextThread_SystemCall_Unknown
NtGetNextThread_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00ceh
jmp NtGetNextThread_Epilogue
NtGetNextThread_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00cch
jmp NtGetNextThread_Epilogue
NtGetNextThread_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00cch
jmp NtGetNextThread_Epilogue
NtGetNextThread_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00cfh
jmp NtGetNextThread_Epilogue
NtGetNextThread_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00cfh
jmp NtGetNextThread_Epilogue
NtGetNextThread_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00e2h
jmp NtGetNextThread_Epilogue
NtGetNextThread_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00e5h
jmp NtGetNextThread_Epilogue
NtGetNextThread_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00e9h
jmp NtGetNextThread_Epilogue
NtGetNextThread_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00eah
jmp NtGetNextThread_Epilogue
NtGetNextThread_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00ech
jmp NtGetNextThread_Epilogue
NtGetNextThread_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00efh
jmp NtGetNextThread_Epilogue
NtGetNextThread_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00f0h
jmp NtGetNextThread_Epilogue
NtGetNextThread_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00f1h
jmp NtGetNextThread_Epilogue
NtGetNextThread_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00f2h
jmp NtGetNextThread_Epilogue
NtGetNextThread_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00f3h
jmp NtGetNextThread_Epilogue
NtGetNextThread_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00f3h
jmp NtGetNextThread_Epilogue
NtGetNextThread_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtGetNextThread_Epilogue:
mov r10, rcx
syscall
ret
NtGetNextThread ENDP
NtGetNlsSectionPtr PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtGetNlsSectionPtr_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtGetNlsSectionPtr_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtGetNlsSectionPtr_Check_10_0_XXXX
jmp NtGetNlsSectionPtr_SystemCall_Unknown
NtGetNlsSectionPtr_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtGetNlsSectionPtr_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtGetNlsSectionPtr_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetNlsSectionPtr_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetNlsSectionPtr_SystemCall_6_3_XXXX
jmp NtGetNlsSectionPtr_SystemCall_Unknown
NtGetNlsSectionPtr_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtGetNlsSectionPtr_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtGetNlsSectionPtr_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtGetNlsSectionPtr_SystemCall_6_0_6002
jmp NtGetNlsSectionPtr_SystemCall_Unknown
NtGetNlsSectionPtr_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtGetNlsSectionPtr_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtGetNlsSectionPtr_SystemCall_6_1_7601
jmp NtGetNlsSectionPtr_SystemCall_Unknown
NtGetNlsSectionPtr_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtGetNlsSectionPtr_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtGetNlsSectionPtr_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtGetNlsSectionPtr_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtGetNlsSectionPtr_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtGetNlsSectionPtr_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtGetNlsSectionPtr_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtGetNlsSectionPtr_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtGetNlsSectionPtr_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtGetNlsSectionPtr_SystemCall_10_0_18363
jmp NtGetNlsSectionPtr_SystemCall_Unknown
NtGetNlsSectionPtr_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00cfh
jmp NtGetNlsSectionPtr_Epilogue
NtGetNlsSectionPtr_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00cdh
jmp NtGetNlsSectionPtr_Epilogue
NtGetNlsSectionPtr_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00cdh
jmp NtGetNlsSectionPtr_Epilogue
NtGetNlsSectionPtr_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00d0h
jmp NtGetNlsSectionPtr_Epilogue
NtGetNlsSectionPtr_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00d0h
jmp NtGetNlsSectionPtr_Epilogue
NtGetNlsSectionPtr_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00e3h
jmp NtGetNlsSectionPtr_Epilogue
NtGetNlsSectionPtr_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00e6h
jmp NtGetNlsSectionPtr_Epilogue
NtGetNlsSectionPtr_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00eah
jmp NtGetNlsSectionPtr_Epilogue
NtGetNlsSectionPtr_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00ebh
jmp NtGetNlsSectionPtr_Epilogue
NtGetNlsSectionPtr_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00edh
jmp NtGetNlsSectionPtr_Epilogue
NtGetNlsSectionPtr_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00f0h
jmp NtGetNlsSectionPtr_Epilogue
NtGetNlsSectionPtr_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00f1h
jmp NtGetNlsSectionPtr_Epilogue
NtGetNlsSectionPtr_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00f2h
jmp NtGetNlsSectionPtr_Epilogue
NtGetNlsSectionPtr_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00f3h
jmp NtGetNlsSectionPtr_Epilogue
NtGetNlsSectionPtr_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00f4h
jmp NtGetNlsSectionPtr_Epilogue
NtGetNlsSectionPtr_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00f4h
jmp NtGetNlsSectionPtr_Epilogue
NtGetNlsSectionPtr_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtGetNlsSectionPtr_Epilogue:
mov r10, rcx
syscall
ret
NtGetNlsSectionPtr ENDP
NtGetNotificationResourceManager PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtGetNotificationResourceManager_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtGetNotificationResourceManager_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtGetNotificationResourceManager_Check_10_0_XXXX
jmp NtGetNotificationResourceManager_SystemCall_Unknown
NtGetNotificationResourceManager_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtGetNotificationResourceManager_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtGetNotificationResourceManager_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetNotificationResourceManager_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetNotificationResourceManager_SystemCall_6_3_XXXX
jmp NtGetNotificationResourceManager_SystemCall_Unknown
NtGetNotificationResourceManager_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtGetNotificationResourceManager_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtGetNotificationResourceManager_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtGetNotificationResourceManager_SystemCall_6_0_6002
jmp NtGetNotificationResourceManager_SystemCall_Unknown
NtGetNotificationResourceManager_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtGetNotificationResourceManager_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtGetNotificationResourceManager_SystemCall_6_1_7601
jmp NtGetNotificationResourceManager_SystemCall_Unknown
NtGetNotificationResourceManager_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtGetNotificationResourceManager_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtGetNotificationResourceManager_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtGetNotificationResourceManager_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtGetNotificationResourceManager_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtGetNotificationResourceManager_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtGetNotificationResourceManager_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtGetNotificationResourceManager_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtGetNotificationResourceManager_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtGetNotificationResourceManager_SystemCall_10_0_18363
jmp NtGetNotificationResourceManager_SystemCall_Unknown
NtGetNotificationResourceManager_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00d0h
jmp NtGetNotificationResourceManager_Epilogue
NtGetNotificationResourceManager_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00ceh
jmp NtGetNotificationResourceManager_Epilogue
NtGetNotificationResourceManager_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00ceh
jmp NtGetNotificationResourceManager_Epilogue
NtGetNotificationResourceManager_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00d1h
jmp NtGetNotificationResourceManager_Epilogue
NtGetNotificationResourceManager_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00d1h
jmp NtGetNotificationResourceManager_Epilogue
NtGetNotificationResourceManager_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00e4h
jmp NtGetNotificationResourceManager_Epilogue
NtGetNotificationResourceManager_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00e7h
jmp NtGetNotificationResourceManager_Epilogue
NtGetNotificationResourceManager_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00ebh
jmp NtGetNotificationResourceManager_Epilogue
NtGetNotificationResourceManager_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00ech
jmp NtGetNotificationResourceManager_Epilogue
NtGetNotificationResourceManager_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00eeh
jmp NtGetNotificationResourceManager_Epilogue
NtGetNotificationResourceManager_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00f1h
jmp NtGetNotificationResourceManager_Epilogue
NtGetNotificationResourceManager_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00f2h
jmp NtGetNotificationResourceManager_Epilogue
NtGetNotificationResourceManager_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00f3h
jmp NtGetNotificationResourceManager_Epilogue
NtGetNotificationResourceManager_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00f4h
jmp NtGetNotificationResourceManager_Epilogue
NtGetNotificationResourceManager_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00f5h
jmp NtGetNotificationResourceManager_Epilogue
NtGetNotificationResourceManager_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00f5h
jmp NtGetNotificationResourceManager_Epilogue
NtGetNotificationResourceManager_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtGetNotificationResourceManager_Epilogue:
mov r10, rcx
syscall
ret
NtGetNotificationResourceManager ENDP
NtGetPlugPlayEvent PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtGetPlugPlayEvent_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtGetPlugPlayEvent_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtGetPlugPlayEvent_Check_6_X_XXXX
jmp NtGetPlugPlayEvent_SystemCall_Unknown
NtGetPlugPlayEvent_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtGetPlugPlayEvent_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtGetPlugPlayEvent_Check_6_1_XXXX
jmp NtGetPlugPlayEvent_SystemCall_Unknown
NtGetPlugPlayEvent_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtGetPlugPlayEvent_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtGetPlugPlayEvent_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtGetPlugPlayEvent_SystemCall_6_0_6002
jmp NtGetPlugPlayEvent_SystemCall_Unknown
NtGetPlugPlayEvent_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtGetPlugPlayEvent_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtGetPlugPlayEvent_SystemCall_6_1_7601
jmp NtGetPlugPlayEvent_SystemCall_Unknown
NtGetPlugPlayEvent_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00a0h
jmp NtGetPlugPlayEvent_Epilogue
NtGetPlugPlayEvent_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00d1h
jmp NtGetPlugPlayEvent_Epilogue
NtGetPlugPlayEvent_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00cfh
jmp NtGetPlugPlayEvent_Epilogue
NtGetPlugPlayEvent_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00cfh
jmp NtGetPlugPlayEvent_Epilogue
NtGetPlugPlayEvent_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00d2h
jmp NtGetPlugPlayEvent_Epilogue
NtGetPlugPlayEvent_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00d2h
jmp NtGetPlugPlayEvent_Epilogue
NtGetPlugPlayEvent_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtGetPlugPlayEvent_Epilogue:
mov r10, rcx
syscall
ret
NtGetPlugPlayEvent ENDP
NtGetWriteWatch PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtGetWriteWatch_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtGetWriteWatch_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtGetWriteWatch_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtGetWriteWatch_Check_10_0_XXXX
jmp NtGetWriteWatch_SystemCall_Unknown
NtGetWriteWatch_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtGetWriteWatch_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtGetWriteWatch_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetWriteWatch_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtGetWriteWatch_SystemCall_6_3_XXXX
jmp NtGetWriteWatch_SystemCall_Unknown
NtGetWriteWatch_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtGetWriteWatch_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtGetWriteWatch_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtGetWriteWatch_SystemCall_6_0_6002
jmp NtGetWriteWatch_SystemCall_Unknown
NtGetWriteWatch_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtGetWriteWatch_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtGetWriteWatch_SystemCall_6_1_7601
jmp NtGetWriteWatch_SystemCall_Unknown
NtGetWriteWatch_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtGetWriteWatch_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtGetWriteWatch_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtGetWriteWatch_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtGetWriteWatch_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtGetWriteWatch_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtGetWriteWatch_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtGetWriteWatch_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtGetWriteWatch_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtGetWriteWatch_SystemCall_10_0_18363
jmp NtGetWriteWatch_SystemCall_Unknown
NtGetWriteWatch_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00a1h
jmp NtGetWriteWatch_Epilogue
NtGetWriteWatch_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00d2h
jmp NtGetWriteWatch_Epilogue
NtGetWriteWatch_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00d0h
jmp NtGetWriteWatch_Epilogue
NtGetWriteWatch_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00d0h
jmp NtGetWriteWatch_Epilogue
NtGetWriteWatch_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00d3h
jmp NtGetWriteWatch_Epilogue
NtGetWriteWatch_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00d3h
jmp NtGetWriteWatch_Epilogue
NtGetWriteWatch_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00e5h
jmp NtGetWriteWatch_Epilogue
NtGetWriteWatch_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00e8h
jmp NtGetWriteWatch_Epilogue
NtGetWriteWatch_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00ech
jmp NtGetWriteWatch_Epilogue
NtGetWriteWatch_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00edh
jmp NtGetWriteWatch_Epilogue
NtGetWriteWatch_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00efh
jmp NtGetWriteWatch_Epilogue
NtGetWriteWatch_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00f2h
jmp NtGetWriteWatch_Epilogue
NtGetWriteWatch_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00f3h
jmp NtGetWriteWatch_Epilogue
NtGetWriteWatch_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00f4h
jmp NtGetWriteWatch_Epilogue
NtGetWriteWatch_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00f5h
jmp NtGetWriteWatch_Epilogue
NtGetWriteWatch_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00f6h
jmp NtGetWriteWatch_Epilogue
NtGetWriteWatch_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00f6h
jmp NtGetWriteWatch_Epilogue
NtGetWriteWatch_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtGetWriteWatch_Epilogue:
mov r10, rcx
syscall
ret
NtGetWriteWatch ENDP
NtImpersonateAnonymousToken PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtImpersonateAnonymousToken_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtImpersonateAnonymousToken_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtImpersonateAnonymousToken_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtImpersonateAnonymousToken_Check_10_0_XXXX
jmp NtImpersonateAnonymousToken_SystemCall_Unknown
NtImpersonateAnonymousToken_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtImpersonateAnonymousToken_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtImpersonateAnonymousToken_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtImpersonateAnonymousToken_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtImpersonateAnonymousToken_SystemCall_6_3_XXXX
jmp NtImpersonateAnonymousToken_SystemCall_Unknown
NtImpersonateAnonymousToken_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtImpersonateAnonymousToken_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtImpersonateAnonymousToken_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtImpersonateAnonymousToken_SystemCall_6_0_6002
jmp NtImpersonateAnonymousToken_SystemCall_Unknown
NtImpersonateAnonymousToken_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtImpersonateAnonymousToken_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtImpersonateAnonymousToken_SystemCall_6_1_7601
jmp NtImpersonateAnonymousToken_SystemCall_Unknown
NtImpersonateAnonymousToken_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtImpersonateAnonymousToken_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtImpersonateAnonymousToken_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtImpersonateAnonymousToken_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtImpersonateAnonymousToken_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtImpersonateAnonymousToken_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtImpersonateAnonymousToken_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtImpersonateAnonymousToken_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtImpersonateAnonymousToken_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtImpersonateAnonymousToken_SystemCall_10_0_18363
jmp NtImpersonateAnonymousToken_SystemCall_Unknown
NtImpersonateAnonymousToken_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00a2h
jmp NtImpersonateAnonymousToken_Epilogue
NtImpersonateAnonymousToken_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00d3h
jmp NtImpersonateAnonymousToken_Epilogue
NtImpersonateAnonymousToken_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00d1h
jmp NtImpersonateAnonymousToken_Epilogue
NtImpersonateAnonymousToken_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00d1h
jmp NtImpersonateAnonymousToken_Epilogue
NtImpersonateAnonymousToken_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00d4h
jmp NtImpersonateAnonymousToken_Epilogue
NtImpersonateAnonymousToken_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00d4h
jmp NtImpersonateAnonymousToken_Epilogue
NtImpersonateAnonymousToken_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00e6h
jmp NtImpersonateAnonymousToken_Epilogue
NtImpersonateAnonymousToken_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00e9h
jmp NtImpersonateAnonymousToken_Epilogue
NtImpersonateAnonymousToken_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00edh
jmp NtImpersonateAnonymousToken_Epilogue
NtImpersonateAnonymousToken_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00eeh
jmp NtImpersonateAnonymousToken_Epilogue
NtImpersonateAnonymousToken_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00f0h
jmp NtImpersonateAnonymousToken_Epilogue
NtImpersonateAnonymousToken_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00f3h
jmp NtImpersonateAnonymousToken_Epilogue
NtImpersonateAnonymousToken_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00f4h
jmp NtImpersonateAnonymousToken_Epilogue
NtImpersonateAnonymousToken_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00f5h
jmp NtImpersonateAnonymousToken_Epilogue
NtImpersonateAnonymousToken_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00f6h
jmp NtImpersonateAnonymousToken_Epilogue
NtImpersonateAnonymousToken_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00f7h
jmp NtImpersonateAnonymousToken_Epilogue
NtImpersonateAnonymousToken_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00f7h
jmp NtImpersonateAnonymousToken_Epilogue
NtImpersonateAnonymousToken_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtImpersonateAnonymousToken_Epilogue:
mov r10, rcx
syscall
ret
NtImpersonateAnonymousToken ENDP
NtImpersonateClientOfPort PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtImpersonateClientOfPort_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtImpersonateClientOfPort_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtImpersonateClientOfPort_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtImpersonateClientOfPort_Check_10_0_XXXX
jmp NtImpersonateClientOfPort_SystemCall_Unknown
NtImpersonateClientOfPort_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtImpersonateClientOfPort_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtImpersonateClientOfPort_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtImpersonateClientOfPort_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtImpersonateClientOfPort_SystemCall_6_3_XXXX
jmp NtImpersonateClientOfPort_SystemCall_Unknown
NtImpersonateClientOfPort_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtImpersonateClientOfPort_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtImpersonateClientOfPort_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtImpersonateClientOfPort_SystemCall_6_0_6002
jmp NtImpersonateClientOfPort_SystemCall_Unknown
NtImpersonateClientOfPort_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtImpersonateClientOfPort_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtImpersonateClientOfPort_SystemCall_6_1_7601
jmp NtImpersonateClientOfPort_SystemCall_Unknown
NtImpersonateClientOfPort_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtImpersonateClientOfPort_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtImpersonateClientOfPort_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtImpersonateClientOfPort_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtImpersonateClientOfPort_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtImpersonateClientOfPort_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtImpersonateClientOfPort_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtImpersonateClientOfPort_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtImpersonateClientOfPort_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtImpersonateClientOfPort_SystemCall_10_0_18363
jmp NtImpersonateClientOfPort_SystemCall_Unknown
NtImpersonateClientOfPort_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 001ch
jmp NtImpersonateClientOfPort_Epilogue
NtImpersonateClientOfPort_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 001ch
jmp NtImpersonateClientOfPort_Epilogue
NtImpersonateClientOfPort_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 001ch
jmp NtImpersonateClientOfPort_Epilogue
NtImpersonateClientOfPort_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 001ch
jmp NtImpersonateClientOfPort_Epilogue
NtImpersonateClientOfPort_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 001ch
jmp NtImpersonateClientOfPort_Epilogue
NtImpersonateClientOfPort_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 001ch
jmp NtImpersonateClientOfPort_Epilogue
NtImpersonateClientOfPort_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 001dh
jmp NtImpersonateClientOfPort_Epilogue
NtImpersonateClientOfPort_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 001eh
jmp NtImpersonateClientOfPort_Epilogue
NtImpersonateClientOfPort_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 001fh
jmp NtImpersonateClientOfPort_Epilogue
NtImpersonateClientOfPort_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 001fh
jmp NtImpersonateClientOfPort_Epilogue
NtImpersonateClientOfPort_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 001fh
jmp NtImpersonateClientOfPort_Epilogue
NtImpersonateClientOfPort_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 001fh
jmp NtImpersonateClientOfPort_Epilogue
NtImpersonateClientOfPort_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 001fh
jmp NtImpersonateClientOfPort_Epilogue
NtImpersonateClientOfPort_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 001fh
jmp NtImpersonateClientOfPort_Epilogue
NtImpersonateClientOfPort_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 001fh
jmp NtImpersonateClientOfPort_Epilogue
NtImpersonateClientOfPort_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 001fh
jmp NtImpersonateClientOfPort_Epilogue
NtImpersonateClientOfPort_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 001fh
jmp NtImpersonateClientOfPort_Epilogue
NtImpersonateClientOfPort_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtImpersonateClientOfPort_Epilogue:
mov r10, rcx
syscall
ret
NtImpersonateClientOfPort ENDP
NtImpersonateThread PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtImpersonateThread_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtImpersonateThread_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtImpersonateThread_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtImpersonateThread_Check_10_0_XXXX
jmp NtImpersonateThread_SystemCall_Unknown
NtImpersonateThread_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtImpersonateThread_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtImpersonateThread_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtImpersonateThread_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtImpersonateThread_SystemCall_6_3_XXXX
jmp NtImpersonateThread_SystemCall_Unknown
NtImpersonateThread_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtImpersonateThread_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtImpersonateThread_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtImpersonateThread_SystemCall_6_0_6002
jmp NtImpersonateThread_SystemCall_Unknown
NtImpersonateThread_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtImpersonateThread_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtImpersonateThread_SystemCall_6_1_7601
jmp NtImpersonateThread_SystemCall_Unknown
NtImpersonateThread_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtImpersonateThread_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtImpersonateThread_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtImpersonateThread_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtImpersonateThread_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtImpersonateThread_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtImpersonateThread_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtImpersonateThread_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtImpersonateThread_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtImpersonateThread_SystemCall_10_0_18363
jmp NtImpersonateThread_SystemCall_Unknown
NtImpersonateThread_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00a3h
jmp NtImpersonateThread_Epilogue
NtImpersonateThread_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00d4h
jmp NtImpersonateThread_Epilogue
NtImpersonateThread_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00d2h
jmp NtImpersonateThread_Epilogue
NtImpersonateThread_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00d2h
jmp NtImpersonateThread_Epilogue
NtImpersonateThread_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00d5h
jmp NtImpersonateThread_Epilogue
NtImpersonateThread_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00d5h
jmp NtImpersonateThread_Epilogue
NtImpersonateThread_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00e7h
jmp NtImpersonateThread_Epilogue
NtImpersonateThread_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00eah
jmp NtImpersonateThread_Epilogue
NtImpersonateThread_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00eeh
jmp NtImpersonateThread_Epilogue
NtImpersonateThread_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00efh
jmp NtImpersonateThread_Epilogue
NtImpersonateThread_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00f1h
jmp NtImpersonateThread_Epilogue
NtImpersonateThread_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00f4h
jmp NtImpersonateThread_Epilogue
NtImpersonateThread_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00f5h
jmp NtImpersonateThread_Epilogue
NtImpersonateThread_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00f6h
jmp NtImpersonateThread_Epilogue
NtImpersonateThread_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00f7h
jmp NtImpersonateThread_Epilogue
NtImpersonateThread_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00f8h
jmp NtImpersonateThread_Epilogue
NtImpersonateThread_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00f8h
jmp NtImpersonateThread_Epilogue
NtImpersonateThread_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtImpersonateThread_Epilogue:
mov r10, rcx
syscall
ret
NtImpersonateThread ENDP
NtInitializeEnclave PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtInitializeEnclave_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtInitializeEnclave_Check_10_0_XXXX
jmp NtInitializeEnclave_SystemCall_Unknown
NtInitializeEnclave_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10586
je NtInitializeEnclave_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtInitializeEnclave_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtInitializeEnclave_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtInitializeEnclave_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtInitializeEnclave_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtInitializeEnclave_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtInitializeEnclave_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtInitializeEnclave_SystemCall_10_0_18363
jmp NtInitializeEnclave_SystemCall_Unknown
NtInitializeEnclave_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00f0h
jmp NtInitializeEnclave_Epilogue
NtInitializeEnclave_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00f2h
jmp NtInitializeEnclave_Epilogue
NtInitializeEnclave_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00f5h
jmp NtInitializeEnclave_Epilogue
NtInitializeEnclave_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00f6h
jmp NtInitializeEnclave_Epilogue
NtInitializeEnclave_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00f7h
jmp NtInitializeEnclave_Epilogue
NtInitializeEnclave_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00f8h
jmp NtInitializeEnclave_Epilogue
NtInitializeEnclave_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00f9h
jmp NtInitializeEnclave_Epilogue
NtInitializeEnclave_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00f9h
jmp NtInitializeEnclave_Epilogue
NtInitializeEnclave_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtInitializeEnclave_Epilogue:
mov r10, rcx
syscall
ret
NtInitializeEnclave ENDP
NtInitializeNlsFiles PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtInitializeNlsFiles_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtInitializeNlsFiles_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtInitializeNlsFiles_Check_10_0_XXXX
jmp NtInitializeNlsFiles_SystemCall_Unknown
NtInitializeNlsFiles_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtInitializeNlsFiles_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtInitializeNlsFiles_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtInitializeNlsFiles_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtInitializeNlsFiles_SystemCall_6_3_XXXX
jmp NtInitializeNlsFiles_SystemCall_Unknown
NtInitializeNlsFiles_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtInitializeNlsFiles_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtInitializeNlsFiles_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtInitializeNlsFiles_SystemCall_6_0_6002
jmp NtInitializeNlsFiles_SystemCall_Unknown
NtInitializeNlsFiles_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtInitializeNlsFiles_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtInitializeNlsFiles_SystemCall_6_1_7601
jmp NtInitializeNlsFiles_SystemCall_Unknown
NtInitializeNlsFiles_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtInitializeNlsFiles_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtInitializeNlsFiles_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtInitializeNlsFiles_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtInitializeNlsFiles_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtInitializeNlsFiles_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtInitializeNlsFiles_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtInitializeNlsFiles_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtInitializeNlsFiles_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtInitializeNlsFiles_SystemCall_10_0_18363
jmp NtInitializeNlsFiles_SystemCall_Unknown
NtInitializeNlsFiles_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00d5h
jmp NtInitializeNlsFiles_Epilogue
NtInitializeNlsFiles_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00d3h
jmp NtInitializeNlsFiles_Epilogue
NtInitializeNlsFiles_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00d3h
jmp NtInitializeNlsFiles_Epilogue
NtInitializeNlsFiles_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00d6h
jmp NtInitializeNlsFiles_Epilogue
NtInitializeNlsFiles_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00d6h
jmp NtInitializeNlsFiles_Epilogue
NtInitializeNlsFiles_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00e8h
jmp NtInitializeNlsFiles_Epilogue
NtInitializeNlsFiles_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00ebh
jmp NtInitializeNlsFiles_Epilogue
NtInitializeNlsFiles_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00efh
jmp NtInitializeNlsFiles_Epilogue
NtInitializeNlsFiles_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00f1h
jmp NtInitializeNlsFiles_Epilogue
NtInitializeNlsFiles_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00f3h
jmp NtInitializeNlsFiles_Epilogue
NtInitializeNlsFiles_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00f6h
jmp NtInitializeNlsFiles_Epilogue
NtInitializeNlsFiles_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00f7h
jmp NtInitializeNlsFiles_Epilogue
NtInitializeNlsFiles_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00f8h
jmp NtInitializeNlsFiles_Epilogue
NtInitializeNlsFiles_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00f9h
jmp NtInitializeNlsFiles_Epilogue
NtInitializeNlsFiles_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00fah
jmp NtInitializeNlsFiles_Epilogue
NtInitializeNlsFiles_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00fah
jmp NtInitializeNlsFiles_Epilogue
NtInitializeNlsFiles_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtInitializeNlsFiles_Epilogue:
mov r10, rcx
syscall
ret
NtInitializeNlsFiles ENDP
NtInitializeRegistry PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtInitializeRegistry_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtInitializeRegistry_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtInitializeRegistry_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtInitializeRegistry_Check_10_0_XXXX
jmp NtInitializeRegistry_SystemCall_Unknown
NtInitializeRegistry_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtInitializeRegistry_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtInitializeRegistry_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtInitializeRegistry_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtInitializeRegistry_SystemCall_6_3_XXXX
jmp NtInitializeRegistry_SystemCall_Unknown
NtInitializeRegistry_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtInitializeRegistry_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtInitializeRegistry_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtInitializeRegistry_SystemCall_6_0_6002
jmp NtInitializeRegistry_SystemCall_Unknown
NtInitializeRegistry_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtInitializeRegistry_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtInitializeRegistry_SystemCall_6_1_7601
jmp NtInitializeRegistry_SystemCall_Unknown
NtInitializeRegistry_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtInitializeRegistry_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtInitializeRegistry_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtInitializeRegistry_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtInitializeRegistry_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtInitializeRegistry_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtInitializeRegistry_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtInitializeRegistry_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtInitializeRegistry_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtInitializeRegistry_SystemCall_10_0_18363
jmp NtInitializeRegistry_SystemCall_Unknown
NtInitializeRegistry_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00a4h
jmp NtInitializeRegistry_Epilogue
NtInitializeRegistry_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00d6h
jmp NtInitializeRegistry_Epilogue
NtInitializeRegistry_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00d4h
jmp NtInitializeRegistry_Epilogue
NtInitializeRegistry_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00d4h
jmp NtInitializeRegistry_Epilogue
NtInitializeRegistry_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00d7h
jmp NtInitializeRegistry_Epilogue
NtInitializeRegistry_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00d7h
jmp NtInitializeRegistry_Epilogue
NtInitializeRegistry_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00e9h
jmp NtInitializeRegistry_Epilogue
NtInitializeRegistry_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00ech
jmp NtInitializeRegistry_Epilogue
NtInitializeRegistry_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00f0h
jmp NtInitializeRegistry_Epilogue
NtInitializeRegistry_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00f2h
jmp NtInitializeRegistry_Epilogue
NtInitializeRegistry_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00f4h
jmp NtInitializeRegistry_Epilogue
NtInitializeRegistry_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00f7h
jmp NtInitializeRegistry_Epilogue
NtInitializeRegistry_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00f8h
jmp NtInitializeRegistry_Epilogue
NtInitializeRegistry_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00f9h
jmp NtInitializeRegistry_Epilogue
NtInitializeRegistry_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00fah
jmp NtInitializeRegistry_Epilogue
NtInitializeRegistry_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00fbh
jmp NtInitializeRegistry_Epilogue
NtInitializeRegistry_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00fbh
jmp NtInitializeRegistry_Epilogue
NtInitializeRegistry_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtInitializeRegistry_Epilogue:
mov r10, rcx
syscall
ret
NtInitializeRegistry ENDP
NtInitiatePowerAction PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtInitiatePowerAction_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtInitiatePowerAction_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtInitiatePowerAction_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtInitiatePowerAction_Check_10_0_XXXX
jmp NtInitiatePowerAction_SystemCall_Unknown
NtInitiatePowerAction_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtInitiatePowerAction_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtInitiatePowerAction_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtInitiatePowerAction_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtInitiatePowerAction_SystemCall_6_3_XXXX
jmp NtInitiatePowerAction_SystemCall_Unknown
NtInitiatePowerAction_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtInitiatePowerAction_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtInitiatePowerAction_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtInitiatePowerAction_SystemCall_6_0_6002
jmp NtInitiatePowerAction_SystemCall_Unknown
NtInitiatePowerAction_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtInitiatePowerAction_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtInitiatePowerAction_SystemCall_6_1_7601
jmp NtInitiatePowerAction_SystemCall_Unknown
NtInitiatePowerAction_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtInitiatePowerAction_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtInitiatePowerAction_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtInitiatePowerAction_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtInitiatePowerAction_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtInitiatePowerAction_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtInitiatePowerAction_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtInitiatePowerAction_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtInitiatePowerAction_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtInitiatePowerAction_SystemCall_10_0_18363
jmp NtInitiatePowerAction_SystemCall_Unknown
NtInitiatePowerAction_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00a5h
jmp NtInitiatePowerAction_Epilogue
NtInitiatePowerAction_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00d7h
jmp NtInitiatePowerAction_Epilogue
NtInitiatePowerAction_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00d5h
jmp NtInitiatePowerAction_Epilogue
NtInitiatePowerAction_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00d5h
jmp NtInitiatePowerAction_Epilogue
NtInitiatePowerAction_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00d8h
jmp NtInitiatePowerAction_Epilogue
NtInitiatePowerAction_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00d8h
jmp NtInitiatePowerAction_Epilogue
NtInitiatePowerAction_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00eah
jmp NtInitiatePowerAction_Epilogue
NtInitiatePowerAction_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00edh
jmp NtInitiatePowerAction_Epilogue
NtInitiatePowerAction_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00f1h
jmp NtInitiatePowerAction_Epilogue
NtInitiatePowerAction_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00f3h
jmp NtInitiatePowerAction_Epilogue
NtInitiatePowerAction_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00f5h
jmp NtInitiatePowerAction_Epilogue
NtInitiatePowerAction_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00f8h
jmp NtInitiatePowerAction_Epilogue
NtInitiatePowerAction_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00f9h
jmp NtInitiatePowerAction_Epilogue
NtInitiatePowerAction_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00fah
jmp NtInitiatePowerAction_Epilogue
NtInitiatePowerAction_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00fbh
jmp NtInitiatePowerAction_Epilogue
NtInitiatePowerAction_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00fch
jmp NtInitiatePowerAction_Epilogue
NtInitiatePowerAction_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00fch
jmp NtInitiatePowerAction_Epilogue
NtInitiatePowerAction_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtInitiatePowerAction_Epilogue:
mov r10, rcx
syscall
ret
NtInitiatePowerAction ENDP
NtIsProcessInJob PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtIsProcessInJob_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtIsProcessInJob_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtIsProcessInJob_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtIsProcessInJob_Check_10_0_XXXX
jmp NtIsProcessInJob_SystemCall_Unknown
NtIsProcessInJob_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtIsProcessInJob_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtIsProcessInJob_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtIsProcessInJob_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtIsProcessInJob_SystemCall_6_3_XXXX
jmp NtIsProcessInJob_SystemCall_Unknown
NtIsProcessInJob_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtIsProcessInJob_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtIsProcessInJob_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtIsProcessInJob_SystemCall_6_0_6002
jmp NtIsProcessInJob_SystemCall_Unknown
NtIsProcessInJob_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtIsProcessInJob_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtIsProcessInJob_SystemCall_6_1_7601
jmp NtIsProcessInJob_SystemCall_Unknown
NtIsProcessInJob_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtIsProcessInJob_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtIsProcessInJob_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtIsProcessInJob_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtIsProcessInJob_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtIsProcessInJob_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtIsProcessInJob_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtIsProcessInJob_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtIsProcessInJob_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtIsProcessInJob_SystemCall_10_0_18363
jmp NtIsProcessInJob_SystemCall_Unknown
NtIsProcessInJob_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 004ch
jmp NtIsProcessInJob_Epilogue
NtIsProcessInJob_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 004ch
jmp NtIsProcessInJob_Epilogue
NtIsProcessInJob_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 004ch
jmp NtIsProcessInJob_Epilogue
NtIsProcessInJob_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 004ch
jmp NtIsProcessInJob_Epilogue
NtIsProcessInJob_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 004ch
jmp NtIsProcessInJob_Epilogue
NtIsProcessInJob_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 004ch
jmp NtIsProcessInJob_Epilogue
NtIsProcessInJob_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 004dh
jmp NtIsProcessInJob_Epilogue
NtIsProcessInJob_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 004eh
jmp NtIsProcessInJob_Epilogue
NtIsProcessInJob_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 004fh
jmp NtIsProcessInJob_Epilogue
NtIsProcessInJob_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 004fh
jmp NtIsProcessInJob_Epilogue
NtIsProcessInJob_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 004fh
jmp NtIsProcessInJob_Epilogue
NtIsProcessInJob_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 004fh
jmp NtIsProcessInJob_Epilogue
NtIsProcessInJob_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 004fh
jmp NtIsProcessInJob_Epilogue
NtIsProcessInJob_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 004fh
jmp NtIsProcessInJob_Epilogue
NtIsProcessInJob_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 004fh
jmp NtIsProcessInJob_Epilogue
NtIsProcessInJob_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 004fh
jmp NtIsProcessInJob_Epilogue
NtIsProcessInJob_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 004fh
jmp NtIsProcessInJob_Epilogue
NtIsProcessInJob_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtIsProcessInJob_Epilogue:
mov r10, rcx
syscall
ret
NtIsProcessInJob ENDP
NtIsSystemResumeAutomatic PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtIsSystemResumeAutomatic_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtIsSystemResumeAutomatic_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtIsSystemResumeAutomatic_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtIsSystemResumeAutomatic_Check_10_0_XXXX
jmp NtIsSystemResumeAutomatic_SystemCall_Unknown
NtIsSystemResumeAutomatic_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtIsSystemResumeAutomatic_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtIsSystemResumeAutomatic_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtIsSystemResumeAutomatic_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtIsSystemResumeAutomatic_SystemCall_6_3_XXXX
jmp NtIsSystemResumeAutomatic_SystemCall_Unknown
NtIsSystemResumeAutomatic_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtIsSystemResumeAutomatic_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtIsSystemResumeAutomatic_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtIsSystemResumeAutomatic_SystemCall_6_0_6002
jmp NtIsSystemResumeAutomatic_SystemCall_Unknown
NtIsSystemResumeAutomatic_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtIsSystemResumeAutomatic_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtIsSystemResumeAutomatic_SystemCall_6_1_7601
jmp NtIsSystemResumeAutomatic_SystemCall_Unknown
NtIsSystemResumeAutomatic_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtIsSystemResumeAutomatic_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtIsSystemResumeAutomatic_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtIsSystemResumeAutomatic_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtIsSystemResumeAutomatic_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtIsSystemResumeAutomatic_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtIsSystemResumeAutomatic_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtIsSystemResumeAutomatic_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtIsSystemResumeAutomatic_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtIsSystemResumeAutomatic_SystemCall_10_0_18363
jmp NtIsSystemResumeAutomatic_SystemCall_Unknown
NtIsSystemResumeAutomatic_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00a6h
jmp NtIsSystemResumeAutomatic_Epilogue
NtIsSystemResumeAutomatic_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00d8h
jmp NtIsSystemResumeAutomatic_Epilogue
NtIsSystemResumeAutomatic_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00d6h
jmp NtIsSystemResumeAutomatic_Epilogue
NtIsSystemResumeAutomatic_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00d6h
jmp NtIsSystemResumeAutomatic_Epilogue
NtIsSystemResumeAutomatic_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00d9h
jmp NtIsSystemResumeAutomatic_Epilogue
NtIsSystemResumeAutomatic_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00d9h
jmp NtIsSystemResumeAutomatic_Epilogue
NtIsSystemResumeAutomatic_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00ebh
jmp NtIsSystemResumeAutomatic_Epilogue
NtIsSystemResumeAutomatic_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00eeh
jmp NtIsSystemResumeAutomatic_Epilogue
NtIsSystemResumeAutomatic_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00f2h
jmp NtIsSystemResumeAutomatic_Epilogue
NtIsSystemResumeAutomatic_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00f4h
jmp NtIsSystemResumeAutomatic_Epilogue
NtIsSystemResumeAutomatic_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00f6h
jmp NtIsSystemResumeAutomatic_Epilogue
NtIsSystemResumeAutomatic_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00f9h
jmp NtIsSystemResumeAutomatic_Epilogue
NtIsSystemResumeAutomatic_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00fah
jmp NtIsSystemResumeAutomatic_Epilogue
NtIsSystemResumeAutomatic_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00fbh
jmp NtIsSystemResumeAutomatic_Epilogue
NtIsSystemResumeAutomatic_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00fch
jmp NtIsSystemResumeAutomatic_Epilogue
NtIsSystemResumeAutomatic_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00fdh
jmp NtIsSystemResumeAutomatic_Epilogue
NtIsSystemResumeAutomatic_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00fdh
jmp NtIsSystemResumeAutomatic_Epilogue
NtIsSystemResumeAutomatic_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtIsSystemResumeAutomatic_Epilogue:
mov r10, rcx
syscall
ret
NtIsSystemResumeAutomatic ENDP
NtIsUILanguageComitted PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtIsUILanguageComitted_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtIsUILanguageComitted_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtIsUILanguageComitted_Check_10_0_XXXX
jmp NtIsUILanguageComitted_SystemCall_Unknown
NtIsUILanguageComitted_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtIsUILanguageComitted_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtIsUILanguageComitted_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtIsUILanguageComitted_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtIsUILanguageComitted_SystemCall_6_3_XXXX
jmp NtIsUILanguageComitted_SystemCall_Unknown
NtIsUILanguageComitted_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtIsUILanguageComitted_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtIsUILanguageComitted_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtIsUILanguageComitted_SystemCall_6_0_6002
jmp NtIsUILanguageComitted_SystemCall_Unknown
NtIsUILanguageComitted_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtIsUILanguageComitted_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtIsUILanguageComitted_SystemCall_6_1_7601
jmp NtIsUILanguageComitted_SystemCall_Unknown
NtIsUILanguageComitted_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtIsUILanguageComitted_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtIsUILanguageComitted_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtIsUILanguageComitted_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtIsUILanguageComitted_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtIsUILanguageComitted_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtIsUILanguageComitted_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtIsUILanguageComitted_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtIsUILanguageComitted_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtIsUILanguageComitted_SystemCall_10_0_18363
jmp NtIsUILanguageComitted_SystemCall_Unknown
NtIsUILanguageComitted_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00d9h
jmp NtIsUILanguageComitted_Epilogue
NtIsUILanguageComitted_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00d7h
jmp NtIsUILanguageComitted_Epilogue
NtIsUILanguageComitted_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00d7h
jmp NtIsUILanguageComitted_Epilogue
NtIsUILanguageComitted_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00dah
jmp NtIsUILanguageComitted_Epilogue
NtIsUILanguageComitted_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00dah
jmp NtIsUILanguageComitted_Epilogue
NtIsUILanguageComitted_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00ech
jmp NtIsUILanguageComitted_Epilogue
NtIsUILanguageComitted_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00efh
jmp NtIsUILanguageComitted_Epilogue
NtIsUILanguageComitted_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00f3h
jmp NtIsUILanguageComitted_Epilogue
NtIsUILanguageComitted_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00f5h
jmp NtIsUILanguageComitted_Epilogue
NtIsUILanguageComitted_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00f7h
jmp NtIsUILanguageComitted_Epilogue
NtIsUILanguageComitted_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00fah
jmp NtIsUILanguageComitted_Epilogue
NtIsUILanguageComitted_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00fbh
jmp NtIsUILanguageComitted_Epilogue
NtIsUILanguageComitted_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00fch
jmp NtIsUILanguageComitted_Epilogue
NtIsUILanguageComitted_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00fdh
jmp NtIsUILanguageComitted_Epilogue
NtIsUILanguageComitted_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00feh
jmp NtIsUILanguageComitted_Epilogue
NtIsUILanguageComitted_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00feh
jmp NtIsUILanguageComitted_Epilogue
NtIsUILanguageComitted_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtIsUILanguageComitted_Epilogue:
mov r10, rcx
syscall
ret
NtIsUILanguageComitted ENDP
NtListTransactions PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtListTransactions_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 6
je NtListTransactions_Check_6_X_XXXX
jmp NtListTransactions_SystemCall_Unknown
NtListTransactions_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtListTransactions_Check_6_0_XXXX
jmp NtListTransactions_SystemCall_Unknown
NtListTransactions_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtListTransactions_SystemCall_6_0_6000
jmp NtListTransactions_SystemCall_Unknown
NtListTransactions_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00dah
jmp NtListTransactions_Epilogue
NtListTransactions_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtListTransactions_Epilogue:
mov r10, rcx
syscall
ret
NtListTransactions ENDP
NtListenPort PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtListenPort_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtListenPort_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtListenPort_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtListenPort_Check_10_0_XXXX
jmp NtListenPort_SystemCall_Unknown
NtListenPort_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtListenPort_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtListenPort_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtListenPort_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtListenPort_SystemCall_6_3_XXXX
jmp NtListenPort_SystemCall_Unknown
NtListenPort_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtListenPort_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtListenPort_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtListenPort_SystemCall_6_0_6002
jmp NtListenPort_SystemCall_Unknown
NtListenPort_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtListenPort_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtListenPort_SystemCall_6_1_7601
jmp NtListenPort_SystemCall_Unknown
NtListenPort_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtListenPort_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtListenPort_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtListenPort_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtListenPort_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtListenPort_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtListenPort_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtListenPort_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtListenPort_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtListenPort_SystemCall_10_0_18363
jmp NtListenPort_SystemCall_Unknown
NtListenPort_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00a7h
jmp NtListenPort_Epilogue
NtListenPort_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00dbh
jmp NtListenPort_Epilogue
NtListenPort_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00d8h
jmp NtListenPort_Epilogue
NtListenPort_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00d8h
jmp NtListenPort_Epilogue
NtListenPort_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00dbh
jmp NtListenPort_Epilogue
NtListenPort_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00dbh
jmp NtListenPort_Epilogue
NtListenPort_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00edh
jmp NtListenPort_Epilogue
NtListenPort_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00f0h
jmp NtListenPort_Epilogue
NtListenPort_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00f4h
jmp NtListenPort_Epilogue
NtListenPort_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00f6h
jmp NtListenPort_Epilogue
NtListenPort_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00f8h
jmp NtListenPort_Epilogue
NtListenPort_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00fbh
jmp NtListenPort_Epilogue
NtListenPort_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00fch
jmp NtListenPort_Epilogue
NtListenPort_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00fdh
jmp NtListenPort_Epilogue
NtListenPort_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00feh
jmp NtListenPort_Epilogue
NtListenPort_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 00ffh
jmp NtListenPort_Epilogue
NtListenPort_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 00ffh
jmp NtListenPort_Epilogue
NtListenPort_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtListenPort_Epilogue:
mov r10, rcx
syscall
ret
NtListenPort ENDP
NtLoadDriver PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtLoadDriver_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtLoadDriver_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtLoadDriver_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtLoadDriver_Check_10_0_XXXX
jmp NtLoadDriver_SystemCall_Unknown
NtLoadDriver_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtLoadDriver_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtLoadDriver_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtLoadDriver_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtLoadDriver_SystemCall_6_3_XXXX
jmp NtLoadDriver_SystemCall_Unknown
NtLoadDriver_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtLoadDriver_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtLoadDriver_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtLoadDriver_SystemCall_6_0_6002
jmp NtLoadDriver_SystemCall_Unknown
NtLoadDriver_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtLoadDriver_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtLoadDriver_SystemCall_6_1_7601
jmp NtLoadDriver_SystemCall_Unknown
NtLoadDriver_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtLoadDriver_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtLoadDriver_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtLoadDriver_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtLoadDriver_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtLoadDriver_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtLoadDriver_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtLoadDriver_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtLoadDriver_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtLoadDriver_SystemCall_10_0_18363
jmp NtLoadDriver_SystemCall_Unknown
NtLoadDriver_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00a8h
jmp NtLoadDriver_Epilogue
NtLoadDriver_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00dch
jmp NtLoadDriver_Epilogue
NtLoadDriver_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00d9h
jmp NtLoadDriver_Epilogue
NtLoadDriver_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00d9h
jmp NtLoadDriver_Epilogue
NtLoadDriver_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00dch
jmp NtLoadDriver_Epilogue
NtLoadDriver_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00dch
jmp NtLoadDriver_Epilogue
NtLoadDriver_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00eeh
jmp NtLoadDriver_Epilogue
NtLoadDriver_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00f1h
jmp NtLoadDriver_Epilogue
NtLoadDriver_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00f5h
jmp NtLoadDriver_Epilogue
NtLoadDriver_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00f7h
jmp NtLoadDriver_Epilogue
NtLoadDriver_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00f9h
jmp NtLoadDriver_Epilogue
NtLoadDriver_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00fch
jmp NtLoadDriver_Epilogue
NtLoadDriver_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00fdh
jmp NtLoadDriver_Epilogue
NtLoadDriver_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00feh
jmp NtLoadDriver_Epilogue
NtLoadDriver_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 00ffh
jmp NtLoadDriver_Epilogue
NtLoadDriver_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0100h
jmp NtLoadDriver_Epilogue
NtLoadDriver_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0100h
jmp NtLoadDriver_Epilogue
NtLoadDriver_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtLoadDriver_Epilogue:
mov r10, rcx
syscall
ret
NtLoadDriver ENDP
NtLoadEnclaveData PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtLoadEnclaveData_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtLoadEnclaveData_Check_10_0_XXXX
jmp NtLoadEnclaveData_SystemCall_Unknown
NtLoadEnclaveData_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10586
je NtLoadEnclaveData_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtLoadEnclaveData_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtLoadEnclaveData_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtLoadEnclaveData_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtLoadEnclaveData_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtLoadEnclaveData_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtLoadEnclaveData_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtLoadEnclaveData_SystemCall_10_0_18363
jmp NtLoadEnclaveData_SystemCall_Unknown
NtLoadEnclaveData_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00f8h
jmp NtLoadEnclaveData_Epilogue
NtLoadEnclaveData_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00fah
jmp NtLoadEnclaveData_Epilogue
NtLoadEnclaveData_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00fdh
jmp NtLoadEnclaveData_Epilogue
NtLoadEnclaveData_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00feh
jmp NtLoadEnclaveData_Epilogue
NtLoadEnclaveData_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 00ffh
jmp NtLoadEnclaveData_Epilogue
NtLoadEnclaveData_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0100h
jmp NtLoadEnclaveData_Epilogue
NtLoadEnclaveData_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0101h
jmp NtLoadEnclaveData_Epilogue
NtLoadEnclaveData_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0101h
jmp NtLoadEnclaveData_Epilogue
NtLoadEnclaveData_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtLoadEnclaveData_Epilogue:
mov r10, rcx
syscall
ret
NtLoadEnclaveData ENDP
NtLoadHotPatch PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtLoadHotPatch_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtLoadHotPatch_Check_10_0_XXXX
jmp NtLoadHotPatch_SystemCall_Unknown
NtLoadHotPatch_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 15063
je NtLoadHotPatch_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtLoadHotPatch_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtLoadHotPatch_SystemCall_10_0_17134
jmp NtLoadHotPatch_SystemCall_Unknown
NtLoadHotPatch_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00feh
jmp NtLoadHotPatch_Epilogue
NtLoadHotPatch_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 00ffh
jmp NtLoadHotPatch_Epilogue
NtLoadHotPatch_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0100h
jmp NtLoadHotPatch_Epilogue
NtLoadHotPatch_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtLoadHotPatch_Epilogue:
mov r10, rcx
syscall
ret
NtLoadHotPatch ENDP
NtLoadKey PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtLoadKey_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtLoadKey_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtLoadKey_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtLoadKey_Check_10_0_XXXX
jmp NtLoadKey_SystemCall_Unknown
NtLoadKey_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtLoadKey_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtLoadKey_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtLoadKey_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtLoadKey_SystemCall_6_3_XXXX
jmp NtLoadKey_SystemCall_Unknown
NtLoadKey_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtLoadKey_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtLoadKey_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtLoadKey_SystemCall_6_0_6002
jmp NtLoadKey_SystemCall_Unknown
NtLoadKey_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtLoadKey_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtLoadKey_SystemCall_6_1_7601
jmp NtLoadKey_SystemCall_Unknown
NtLoadKey_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtLoadKey_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtLoadKey_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtLoadKey_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtLoadKey_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtLoadKey_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtLoadKey_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtLoadKey_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtLoadKey_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtLoadKey_SystemCall_10_0_18363
jmp NtLoadKey_SystemCall_Unknown
NtLoadKey_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00a9h
jmp NtLoadKey_Epilogue
NtLoadKey_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00ddh
jmp NtLoadKey_Epilogue
NtLoadKey_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00dah
jmp NtLoadKey_Epilogue
NtLoadKey_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00dah
jmp NtLoadKey_Epilogue
NtLoadKey_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00ddh
jmp NtLoadKey_Epilogue
NtLoadKey_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00ddh
jmp NtLoadKey_Epilogue
NtLoadKey_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00efh
jmp NtLoadKey_Epilogue
NtLoadKey_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00f2h
jmp NtLoadKey_Epilogue
NtLoadKey_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00f6h
jmp NtLoadKey_Epilogue
NtLoadKey_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00f9h
jmp NtLoadKey_Epilogue
NtLoadKey_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00fbh
jmp NtLoadKey_Epilogue
NtLoadKey_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 00ffh
jmp NtLoadKey_Epilogue
NtLoadKey_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0100h
jmp NtLoadKey_Epilogue
NtLoadKey_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0101h
jmp NtLoadKey_Epilogue
NtLoadKey_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0101h
jmp NtLoadKey_Epilogue
NtLoadKey_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0102h
jmp NtLoadKey_Epilogue
NtLoadKey_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0102h
jmp NtLoadKey_Epilogue
NtLoadKey_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtLoadKey_Epilogue:
mov r10, rcx
syscall
ret
NtLoadKey ENDP
NtLoadKey2 PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtLoadKey2_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtLoadKey2_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtLoadKey2_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtLoadKey2_Check_10_0_XXXX
jmp NtLoadKey2_SystemCall_Unknown
NtLoadKey2_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtLoadKey2_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtLoadKey2_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtLoadKey2_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtLoadKey2_SystemCall_6_3_XXXX
jmp NtLoadKey2_SystemCall_Unknown
NtLoadKey2_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtLoadKey2_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtLoadKey2_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtLoadKey2_SystemCall_6_0_6002
jmp NtLoadKey2_SystemCall_Unknown
NtLoadKey2_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtLoadKey2_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtLoadKey2_SystemCall_6_1_7601
jmp NtLoadKey2_SystemCall_Unknown
NtLoadKey2_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtLoadKey2_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtLoadKey2_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtLoadKey2_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtLoadKey2_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtLoadKey2_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtLoadKey2_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtLoadKey2_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtLoadKey2_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtLoadKey2_SystemCall_10_0_18363
jmp NtLoadKey2_SystemCall_Unknown
NtLoadKey2_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00aah
jmp NtLoadKey2_Epilogue
NtLoadKey2_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00deh
jmp NtLoadKey2_Epilogue
NtLoadKey2_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00dbh
jmp NtLoadKey2_Epilogue
NtLoadKey2_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00dbh
jmp NtLoadKey2_Epilogue
NtLoadKey2_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00deh
jmp NtLoadKey2_Epilogue
NtLoadKey2_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00deh
jmp NtLoadKey2_Epilogue
NtLoadKey2_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00f0h
jmp NtLoadKey2_Epilogue
NtLoadKey2_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00f3h
jmp NtLoadKey2_Epilogue
NtLoadKey2_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00f7h
jmp NtLoadKey2_Epilogue
NtLoadKey2_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00fah
jmp NtLoadKey2_Epilogue
NtLoadKey2_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00fch
jmp NtLoadKey2_Epilogue
NtLoadKey2_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0100h
jmp NtLoadKey2_Epilogue
NtLoadKey2_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0101h
jmp NtLoadKey2_Epilogue
NtLoadKey2_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0102h
jmp NtLoadKey2_Epilogue
NtLoadKey2_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0102h
jmp NtLoadKey2_Epilogue
NtLoadKey2_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0103h
jmp NtLoadKey2_Epilogue
NtLoadKey2_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0103h
jmp NtLoadKey2_Epilogue
NtLoadKey2_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtLoadKey2_Epilogue:
mov r10, rcx
syscall
ret
NtLoadKey2 ENDP
NtLoadKeyEx PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtLoadKeyEx_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtLoadKeyEx_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtLoadKeyEx_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtLoadKeyEx_Check_10_0_XXXX
jmp NtLoadKeyEx_SystemCall_Unknown
NtLoadKeyEx_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtLoadKeyEx_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtLoadKeyEx_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtLoadKeyEx_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtLoadKeyEx_SystemCall_6_3_XXXX
jmp NtLoadKeyEx_SystemCall_Unknown
NtLoadKeyEx_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtLoadKeyEx_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtLoadKeyEx_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtLoadKeyEx_SystemCall_6_0_6002
jmp NtLoadKeyEx_SystemCall_Unknown
NtLoadKeyEx_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtLoadKeyEx_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtLoadKeyEx_SystemCall_6_1_7601
jmp NtLoadKeyEx_SystemCall_Unknown
NtLoadKeyEx_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtLoadKeyEx_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtLoadKeyEx_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtLoadKeyEx_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtLoadKeyEx_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtLoadKeyEx_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtLoadKeyEx_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtLoadKeyEx_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtLoadKeyEx_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtLoadKeyEx_SystemCall_10_0_18363
jmp NtLoadKeyEx_SystemCall_Unknown
NtLoadKeyEx_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00abh
jmp NtLoadKeyEx_Epilogue
NtLoadKeyEx_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00dfh
jmp NtLoadKeyEx_Epilogue
NtLoadKeyEx_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00dch
jmp NtLoadKeyEx_Epilogue
NtLoadKeyEx_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00dch
jmp NtLoadKeyEx_Epilogue
NtLoadKeyEx_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00dfh
jmp NtLoadKeyEx_Epilogue
NtLoadKeyEx_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00dfh
jmp NtLoadKeyEx_Epilogue
NtLoadKeyEx_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00f1h
jmp NtLoadKeyEx_Epilogue
NtLoadKeyEx_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00f4h
jmp NtLoadKeyEx_Epilogue
NtLoadKeyEx_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00f8h
jmp NtLoadKeyEx_Epilogue
NtLoadKeyEx_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00fbh
jmp NtLoadKeyEx_Epilogue
NtLoadKeyEx_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00fdh
jmp NtLoadKeyEx_Epilogue
NtLoadKeyEx_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0101h
jmp NtLoadKeyEx_Epilogue
NtLoadKeyEx_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0102h
jmp NtLoadKeyEx_Epilogue
NtLoadKeyEx_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0103h
jmp NtLoadKeyEx_Epilogue
NtLoadKeyEx_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0103h
jmp NtLoadKeyEx_Epilogue
NtLoadKeyEx_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0104h
jmp NtLoadKeyEx_Epilogue
NtLoadKeyEx_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0104h
jmp NtLoadKeyEx_Epilogue
NtLoadKeyEx_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtLoadKeyEx_Epilogue:
mov r10, rcx
syscall
ret
NtLoadKeyEx ENDP
NtLockFile PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtLockFile_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtLockFile_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtLockFile_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtLockFile_Check_10_0_XXXX
jmp NtLockFile_SystemCall_Unknown
NtLockFile_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtLockFile_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtLockFile_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtLockFile_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtLockFile_SystemCall_6_3_XXXX
jmp NtLockFile_SystemCall_Unknown
NtLockFile_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtLockFile_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtLockFile_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtLockFile_SystemCall_6_0_6002
jmp NtLockFile_SystemCall_Unknown
NtLockFile_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtLockFile_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtLockFile_SystemCall_6_1_7601
jmp NtLockFile_SystemCall_Unknown
NtLockFile_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtLockFile_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtLockFile_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtLockFile_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtLockFile_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtLockFile_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtLockFile_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtLockFile_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtLockFile_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtLockFile_SystemCall_10_0_18363
jmp NtLockFile_SystemCall_Unknown
NtLockFile_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00ach
jmp NtLockFile_Epilogue
NtLockFile_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00e0h
jmp NtLockFile_Epilogue
NtLockFile_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00ddh
jmp NtLockFile_Epilogue
NtLockFile_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00ddh
jmp NtLockFile_Epilogue
NtLockFile_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00e0h
jmp NtLockFile_Epilogue
NtLockFile_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00e0h
jmp NtLockFile_Epilogue
NtLockFile_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00f2h
jmp NtLockFile_Epilogue
NtLockFile_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00f5h
jmp NtLockFile_Epilogue
NtLockFile_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00f9h
jmp NtLockFile_Epilogue
NtLockFile_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00fch
jmp NtLockFile_Epilogue
NtLockFile_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00feh
jmp NtLockFile_Epilogue
NtLockFile_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0102h
jmp NtLockFile_Epilogue
NtLockFile_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0103h
jmp NtLockFile_Epilogue
NtLockFile_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0104h
jmp NtLockFile_Epilogue
NtLockFile_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0104h
jmp NtLockFile_Epilogue
NtLockFile_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0105h
jmp NtLockFile_Epilogue
NtLockFile_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0105h
jmp NtLockFile_Epilogue
NtLockFile_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtLockFile_Epilogue:
mov r10, rcx
syscall
ret
NtLockFile ENDP
NtLockProductActivationKeys PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtLockProductActivationKeys_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtLockProductActivationKeys_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtLockProductActivationKeys_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtLockProductActivationKeys_Check_10_0_XXXX
jmp NtLockProductActivationKeys_SystemCall_Unknown
NtLockProductActivationKeys_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtLockProductActivationKeys_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtLockProductActivationKeys_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtLockProductActivationKeys_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtLockProductActivationKeys_SystemCall_6_3_XXXX
jmp NtLockProductActivationKeys_SystemCall_Unknown
NtLockProductActivationKeys_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtLockProductActivationKeys_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtLockProductActivationKeys_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtLockProductActivationKeys_SystemCall_6_0_6002
jmp NtLockProductActivationKeys_SystemCall_Unknown
NtLockProductActivationKeys_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtLockProductActivationKeys_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtLockProductActivationKeys_SystemCall_6_1_7601
jmp NtLockProductActivationKeys_SystemCall_Unknown
NtLockProductActivationKeys_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtLockProductActivationKeys_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtLockProductActivationKeys_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtLockProductActivationKeys_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtLockProductActivationKeys_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtLockProductActivationKeys_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtLockProductActivationKeys_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtLockProductActivationKeys_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtLockProductActivationKeys_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtLockProductActivationKeys_SystemCall_10_0_18363
jmp NtLockProductActivationKeys_SystemCall_Unknown
NtLockProductActivationKeys_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00adh
jmp NtLockProductActivationKeys_Epilogue
NtLockProductActivationKeys_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00e1h
jmp NtLockProductActivationKeys_Epilogue
NtLockProductActivationKeys_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00deh
jmp NtLockProductActivationKeys_Epilogue
NtLockProductActivationKeys_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00deh
jmp NtLockProductActivationKeys_Epilogue
NtLockProductActivationKeys_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00e1h
jmp NtLockProductActivationKeys_Epilogue
NtLockProductActivationKeys_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00e1h
jmp NtLockProductActivationKeys_Epilogue
NtLockProductActivationKeys_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00f3h
jmp NtLockProductActivationKeys_Epilogue
NtLockProductActivationKeys_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00f6h
jmp NtLockProductActivationKeys_Epilogue
NtLockProductActivationKeys_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00fah
jmp NtLockProductActivationKeys_Epilogue
NtLockProductActivationKeys_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00fdh
jmp NtLockProductActivationKeys_Epilogue
NtLockProductActivationKeys_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 00ffh
jmp NtLockProductActivationKeys_Epilogue
NtLockProductActivationKeys_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0103h
jmp NtLockProductActivationKeys_Epilogue
NtLockProductActivationKeys_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0104h
jmp NtLockProductActivationKeys_Epilogue
NtLockProductActivationKeys_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0105h
jmp NtLockProductActivationKeys_Epilogue
NtLockProductActivationKeys_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0105h
jmp NtLockProductActivationKeys_Epilogue
NtLockProductActivationKeys_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0106h
jmp NtLockProductActivationKeys_Epilogue
NtLockProductActivationKeys_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0106h
jmp NtLockProductActivationKeys_Epilogue
NtLockProductActivationKeys_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtLockProductActivationKeys_Epilogue:
mov r10, rcx
syscall
ret
NtLockProductActivationKeys ENDP
NtLockRegistryKey PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtLockRegistryKey_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtLockRegistryKey_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtLockRegistryKey_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtLockRegistryKey_Check_10_0_XXXX
jmp NtLockRegistryKey_SystemCall_Unknown
NtLockRegistryKey_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtLockRegistryKey_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtLockRegistryKey_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtLockRegistryKey_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtLockRegistryKey_SystemCall_6_3_XXXX
jmp NtLockRegistryKey_SystemCall_Unknown
NtLockRegistryKey_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtLockRegistryKey_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtLockRegistryKey_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtLockRegistryKey_SystemCall_6_0_6002
jmp NtLockRegistryKey_SystemCall_Unknown
NtLockRegistryKey_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtLockRegistryKey_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtLockRegistryKey_SystemCall_6_1_7601
jmp NtLockRegistryKey_SystemCall_Unknown
NtLockRegistryKey_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtLockRegistryKey_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtLockRegistryKey_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtLockRegistryKey_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtLockRegistryKey_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtLockRegistryKey_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtLockRegistryKey_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtLockRegistryKey_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtLockRegistryKey_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtLockRegistryKey_SystemCall_10_0_18363
jmp NtLockRegistryKey_SystemCall_Unknown
NtLockRegistryKey_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00aeh
jmp NtLockRegistryKey_Epilogue
NtLockRegistryKey_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00e2h
jmp NtLockRegistryKey_Epilogue
NtLockRegistryKey_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00dfh
jmp NtLockRegistryKey_Epilogue
NtLockRegistryKey_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00dfh
jmp NtLockRegistryKey_Epilogue
NtLockRegistryKey_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00e2h
jmp NtLockRegistryKey_Epilogue
NtLockRegistryKey_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00e2h
jmp NtLockRegistryKey_Epilogue
NtLockRegistryKey_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00f4h
jmp NtLockRegistryKey_Epilogue
NtLockRegistryKey_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00f7h
jmp NtLockRegistryKey_Epilogue
NtLockRegistryKey_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00fbh
jmp NtLockRegistryKey_Epilogue
NtLockRegistryKey_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00feh
jmp NtLockRegistryKey_Epilogue
NtLockRegistryKey_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0100h
jmp NtLockRegistryKey_Epilogue
NtLockRegistryKey_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0104h
jmp NtLockRegistryKey_Epilogue
NtLockRegistryKey_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0105h
jmp NtLockRegistryKey_Epilogue
NtLockRegistryKey_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0106h
jmp NtLockRegistryKey_Epilogue
NtLockRegistryKey_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0106h
jmp NtLockRegistryKey_Epilogue
NtLockRegistryKey_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0107h
jmp NtLockRegistryKey_Epilogue
NtLockRegistryKey_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0107h
jmp NtLockRegistryKey_Epilogue
NtLockRegistryKey_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtLockRegistryKey_Epilogue:
mov r10, rcx
syscall
ret
NtLockRegistryKey ENDP
NtLockVirtualMemory PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtLockVirtualMemory_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtLockVirtualMemory_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtLockVirtualMemory_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtLockVirtualMemory_Check_10_0_XXXX
jmp NtLockVirtualMemory_SystemCall_Unknown
NtLockVirtualMemory_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtLockVirtualMemory_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtLockVirtualMemory_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtLockVirtualMemory_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtLockVirtualMemory_SystemCall_6_3_XXXX
jmp NtLockVirtualMemory_SystemCall_Unknown
NtLockVirtualMemory_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtLockVirtualMemory_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtLockVirtualMemory_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtLockVirtualMemory_SystemCall_6_0_6002
jmp NtLockVirtualMemory_SystemCall_Unknown
NtLockVirtualMemory_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtLockVirtualMemory_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtLockVirtualMemory_SystemCall_6_1_7601
jmp NtLockVirtualMemory_SystemCall_Unknown
NtLockVirtualMemory_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtLockVirtualMemory_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtLockVirtualMemory_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtLockVirtualMemory_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtLockVirtualMemory_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtLockVirtualMemory_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtLockVirtualMemory_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtLockVirtualMemory_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtLockVirtualMemory_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtLockVirtualMemory_SystemCall_10_0_18363
jmp NtLockVirtualMemory_SystemCall_Unknown
NtLockVirtualMemory_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00afh
jmp NtLockVirtualMemory_Epilogue
NtLockVirtualMemory_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00e3h
jmp NtLockVirtualMemory_Epilogue
NtLockVirtualMemory_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00e0h
jmp NtLockVirtualMemory_Epilogue
NtLockVirtualMemory_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00e0h
jmp NtLockVirtualMemory_Epilogue
NtLockVirtualMemory_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00e3h
jmp NtLockVirtualMemory_Epilogue
NtLockVirtualMemory_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00e3h
jmp NtLockVirtualMemory_Epilogue
NtLockVirtualMemory_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00f5h
jmp NtLockVirtualMemory_Epilogue
NtLockVirtualMemory_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00f8h
jmp NtLockVirtualMemory_Epilogue
NtLockVirtualMemory_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00fch
jmp NtLockVirtualMemory_Epilogue
NtLockVirtualMemory_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 00ffh
jmp NtLockVirtualMemory_Epilogue
NtLockVirtualMemory_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0101h
jmp NtLockVirtualMemory_Epilogue
NtLockVirtualMemory_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0105h
jmp NtLockVirtualMemory_Epilogue
NtLockVirtualMemory_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0106h
jmp NtLockVirtualMemory_Epilogue
NtLockVirtualMemory_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0107h
jmp NtLockVirtualMemory_Epilogue
NtLockVirtualMemory_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0107h
jmp NtLockVirtualMemory_Epilogue
NtLockVirtualMemory_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0108h
jmp NtLockVirtualMemory_Epilogue
NtLockVirtualMemory_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0108h
jmp NtLockVirtualMemory_Epilogue
NtLockVirtualMemory_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtLockVirtualMemory_Epilogue:
mov r10, rcx
syscall
ret
NtLockVirtualMemory ENDP
NtMakePermanentObject PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtMakePermanentObject_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtMakePermanentObject_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtMakePermanentObject_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtMakePermanentObject_Check_10_0_XXXX
jmp NtMakePermanentObject_SystemCall_Unknown
NtMakePermanentObject_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtMakePermanentObject_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtMakePermanentObject_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtMakePermanentObject_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtMakePermanentObject_SystemCall_6_3_XXXX
jmp NtMakePermanentObject_SystemCall_Unknown
NtMakePermanentObject_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtMakePermanentObject_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtMakePermanentObject_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtMakePermanentObject_SystemCall_6_0_6002
jmp NtMakePermanentObject_SystemCall_Unknown
NtMakePermanentObject_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtMakePermanentObject_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtMakePermanentObject_SystemCall_6_1_7601
jmp NtMakePermanentObject_SystemCall_Unknown
NtMakePermanentObject_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtMakePermanentObject_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtMakePermanentObject_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtMakePermanentObject_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtMakePermanentObject_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtMakePermanentObject_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtMakePermanentObject_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtMakePermanentObject_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtMakePermanentObject_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtMakePermanentObject_SystemCall_10_0_18363
jmp NtMakePermanentObject_SystemCall_Unknown
NtMakePermanentObject_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00b0h
jmp NtMakePermanentObject_Epilogue
NtMakePermanentObject_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00e4h
jmp NtMakePermanentObject_Epilogue
NtMakePermanentObject_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00e1h
jmp NtMakePermanentObject_Epilogue
NtMakePermanentObject_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00e1h
jmp NtMakePermanentObject_Epilogue
NtMakePermanentObject_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00e4h
jmp NtMakePermanentObject_Epilogue
NtMakePermanentObject_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00e4h
jmp NtMakePermanentObject_Epilogue
NtMakePermanentObject_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00f6h
jmp NtMakePermanentObject_Epilogue
NtMakePermanentObject_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00f9h
jmp NtMakePermanentObject_Epilogue
NtMakePermanentObject_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00fdh
jmp NtMakePermanentObject_Epilogue
NtMakePermanentObject_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0100h
jmp NtMakePermanentObject_Epilogue
NtMakePermanentObject_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0102h
jmp NtMakePermanentObject_Epilogue
NtMakePermanentObject_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0106h
jmp NtMakePermanentObject_Epilogue
NtMakePermanentObject_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0107h
jmp NtMakePermanentObject_Epilogue
NtMakePermanentObject_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0108h
jmp NtMakePermanentObject_Epilogue
NtMakePermanentObject_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0108h
jmp NtMakePermanentObject_Epilogue
NtMakePermanentObject_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 0109h
jmp NtMakePermanentObject_Epilogue
NtMakePermanentObject_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 0109h
jmp NtMakePermanentObject_Epilogue
NtMakePermanentObject_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtMakePermanentObject_Epilogue:
mov r10, rcx
syscall
ret
NtMakePermanentObject ENDP
NtMakeTemporaryObject PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtMakeTemporaryObject_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 5
je NtMakeTemporaryObject_SystemCall_5_X_XXXX
cmp dword ptr [rax+118h], 6
je NtMakeTemporaryObject_Check_6_X_XXXX
cmp dword ptr [rax+118h], 10
je NtMakeTemporaryObject_Check_10_0_XXXX
jmp NtMakeTemporaryObject_SystemCall_Unknown
NtMakeTemporaryObject_Check_6_X_XXXX: ; Check minor version for Windows Vista/7/8.
cmp dword ptr [rax+11ch], 0
je NtMakeTemporaryObject_Check_6_0_XXXX
cmp dword ptr [rax+11ch], 1
je NtMakeTemporaryObject_Check_6_1_XXXX
cmp dword ptr [rax+11ch], 2
je NtMakeTemporaryObject_SystemCall_6_2_XXXX
cmp dword ptr [rax+11ch], 2
je NtMakeTemporaryObject_SystemCall_6_3_XXXX
jmp NtMakeTemporaryObject_SystemCall_Unknown
NtMakeTemporaryObject_Check_6_0_XXXX: ; Check build number for Windows Vista.
cmp dword ptr [rax+120h], 6000
je NtMakeTemporaryObject_SystemCall_6_0_6000
cmp dword ptr [rax+120h], 6001
je NtMakeTemporaryObject_SystemCall_6_0_6001
cmp dword ptr [rax+120h], 6002
je NtMakeTemporaryObject_SystemCall_6_0_6002
jmp NtMakeTemporaryObject_SystemCall_Unknown
NtMakeTemporaryObject_Check_6_1_XXXX: ; Check build number for Windows 7.
cmp dword ptr [rax+120h], 7600
je NtMakeTemporaryObject_SystemCall_6_1_7600
cmp dword ptr [rax+120h], 7601
je NtMakeTemporaryObject_SystemCall_6_1_7601
jmp NtMakeTemporaryObject_SystemCall_Unknown
NtMakeTemporaryObject_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtMakeTemporaryObject_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtMakeTemporaryObject_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtMakeTemporaryObject_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtMakeTemporaryObject_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtMakeTemporaryObject_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtMakeTemporaryObject_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtMakeTemporaryObject_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtMakeTemporaryObject_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtMakeTemporaryObject_SystemCall_10_0_18363
jmp NtMakeTemporaryObject_SystemCall_Unknown
NtMakeTemporaryObject_SystemCall_5_X_XXXX: ; Windows XP and Server 2003
mov eax, 00b1h
jmp NtMakeTemporaryObject_Epilogue
NtMakeTemporaryObject_SystemCall_6_0_6000: ; Windows Vista SP0
mov eax, 00e5h
jmp NtMakeTemporaryObject_Epilogue
NtMakeTemporaryObject_SystemCall_6_0_6001: ; Windows Vista SP1 and Server 2008 SP0
mov eax, 00e2h
jmp NtMakeTemporaryObject_Epilogue
NtMakeTemporaryObject_SystemCall_6_0_6002: ; Windows Vista SP2 and Server 2008 SP2
mov eax, 00e2h
jmp NtMakeTemporaryObject_Epilogue
NtMakeTemporaryObject_SystemCall_6_1_7600: ; Windows 7 SP0
mov eax, 00e5h
jmp NtMakeTemporaryObject_Epilogue
NtMakeTemporaryObject_SystemCall_6_1_7601: ; Windows 7 SP1 and Server 2008 R2 SP0
mov eax, 00e5h
jmp NtMakeTemporaryObject_Epilogue
NtMakeTemporaryObject_SystemCall_6_2_XXXX: ; Windows 8 and Server 2012
mov eax, 00f7h
jmp NtMakeTemporaryObject_Epilogue
NtMakeTemporaryObject_SystemCall_6_3_XXXX: ; Windows 8.1 and Server 2012 R2
mov eax, 00fah
jmp NtMakeTemporaryObject_Epilogue
NtMakeTemporaryObject_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00feh
jmp NtMakeTemporaryObject_Epilogue
NtMakeTemporaryObject_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0101h
jmp NtMakeTemporaryObject_Epilogue
NtMakeTemporaryObject_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0103h
jmp NtMakeTemporaryObject_Epilogue
NtMakeTemporaryObject_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0107h
jmp NtMakeTemporaryObject_Epilogue
NtMakeTemporaryObject_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0108h
jmp NtMakeTemporaryObject_Epilogue
NtMakeTemporaryObject_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 0109h
jmp NtMakeTemporaryObject_Epilogue
NtMakeTemporaryObject_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 0109h
jmp NtMakeTemporaryObject_Epilogue
NtMakeTemporaryObject_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 010ah
jmp NtMakeTemporaryObject_Epilogue
NtMakeTemporaryObject_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 010ah
jmp NtMakeTemporaryObject_Epilogue
NtMakeTemporaryObject_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtMakeTemporaryObject_Epilogue:
mov r10, rcx
syscall
ret
NtMakeTemporaryObject ENDP
NtManageHotPatch PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtManageHotPatch_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtManageHotPatch_Check_10_0_XXXX
jmp NtManageHotPatch_SystemCall_Unknown
NtManageHotPatch_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 17763
je NtManageHotPatch_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtManageHotPatch_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtManageHotPatch_SystemCall_10_0_18363
jmp NtManageHotPatch_SystemCall_Unknown
NtManageHotPatch_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 010ah
jmp NtManageHotPatch_Epilogue
NtManageHotPatch_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 010bh
jmp NtManageHotPatch_Epilogue
NtManageHotPatch_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 010bh
jmp NtManageHotPatch_Epilogue
NtManageHotPatch_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtManageHotPatch_Epilogue:
mov r10, rcx
syscall
ret
NtManageHotPatch ENDP
NtManagePartition PROC
mov rax, gs:[60h] ; Load PEB into RAX.
NtManagePartition_Check_X_X_XXXX: ; Check major version.
cmp dword ptr [rax+118h], 10
je NtManagePartition_Check_10_0_XXXX
jmp NtManagePartition_SystemCall_Unknown
NtManagePartition_Check_10_0_XXXX: ; Check build number for Windows 10.
cmp dword ptr [rax+120h], 10240
je NtManagePartition_SystemCall_10_0_10240
cmp dword ptr [rax+120h], 10586
je NtManagePartition_SystemCall_10_0_10586
cmp dword ptr [rax+120h], 14393
je NtManagePartition_SystemCall_10_0_14393
cmp dword ptr [rax+120h], 15063
je NtManagePartition_SystemCall_10_0_15063
cmp dword ptr [rax+120h], 16299
je NtManagePartition_SystemCall_10_0_16299
cmp dword ptr [rax+120h], 17134
je NtManagePartition_SystemCall_10_0_17134
cmp dword ptr [rax+120h], 17763
je NtManagePartition_SystemCall_10_0_17763
cmp dword ptr [rax+120h], 18362
je NtManagePartition_SystemCall_10_0_18362
cmp dword ptr [rax+120h], 18363
je NtManagePartition_SystemCall_10_0_18363
jmp NtManagePartition_SystemCall_Unknown
NtManagePartition_SystemCall_10_0_10240: ; Windows 10.0.10240 (1507)
mov eax, 00ffh
jmp NtManagePartition_Epilogue
NtManagePartition_SystemCall_10_0_10586: ; Windows 10.0.10586 (1511)
mov eax, 0102h
jmp NtManagePartition_Epilogue
NtManagePartition_SystemCall_10_0_14393: ; Windows 10.0.14393 (1607)
mov eax, 0104h
jmp NtManagePartition_Epilogue
NtManagePartition_SystemCall_10_0_15063: ; Windows 10.0.15063 (1703)
mov eax, 0108h
jmp NtManagePartition_Epilogue
NtManagePartition_SystemCall_10_0_16299: ; Windows 10.0.16299 (1709)
mov eax, 0109h
jmp NtManagePartition_Epilogue
NtManagePartition_SystemCall_10_0_17134: ; Windows 10.0.17134 (1803)
mov eax, 010ah
jmp NtManagePartition_Epilogue
NtManagePartition_SystemCall_10_0_17763: ; Windows 10.0.17763 (1809)
mov eax, 010bh
jmp NtManagePartition_Epilogue
NtManagePartition_SystemCall_10_0_18362: ; Windows 10.0.18362 (1903)
mov eax, 010ch
jmp NtManagePartition_Epilogue
NtManagePartition_SystemCall_10_0_18363: ; Windows 10.0.18363 (1909)
mov eax, 010ch
jmp NtManagePartition_Epilogue
NtManagePartition_SystemCall_Unknown: ; Unknown/unsupported version.
ret
NtMan
View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment