PspValidateThread
__int64 __fastcall PspValidateThread(_ETHREAD *a1){
if( a1 != *((_ETHREAD **)KeGetCurrentPrcb() + 3) )
{
if( KeGetCurrentIrql() < 2u
&& (POBJECT_TYPE *)ObTypeIndexTable[(unsigned __int8)ObHeaderCookie ^ *((unsigned __int8 *)a1 - 24) ^ (unsigned __int64)(unsigned __int8)((unsigned __int16)((_WORD)a1 - 48) >> 8)] != PsThreadType )
{
return 3221225485i64;
}
if( a1 != (_ETHREAD *)KeGetCurrentThread() || (*((_DWORD *)KeGetPcr() + 3243) & 0x10001) == 0 )
return 0i64;
}
return 3221225659i64;
}Referenced by:
PsSetThreadProperty