ObFastDereferenceObject
VOID __fastcall ObFastDereferenceObject(_EX_FAST_REF *FastRef, VOID *Object){
signed __int64 Value;
signed __int64 v3;
_m_prefetchw(FastRef);
Value = FastRef->Value;
if( ((unsigned __int64)Object ^ FastRef->Value) >= 0xF )
{
LABEL_4:
HalPutDmaAdapter((PADAPTER_OBJECT)Object);
}
else
{
while( 1 )
{
v3 = Value;
Value = _InterlockedCompareExchange64((volatile signed __int64 *)FastRef, Value + 1, Value);
if( v3 == Value )
break;
if( ((unsigned __int64)Object ^ Value) >= 0xF )
goto LABEL_4;
}
}
}Referenced by:
AlpcpCheckConnectionSecurity
AlpcpPortQueryConnectedSidInfo
DbgkCreateThread
EtwQueryProcessTelemetryInfo
EtwTraceAppStateChange
EtwpApplyPackageIdFilter
EtwpBuildProcessEvent
EtwpGetPsmKeyExtendedHeaderItem
EtwpGetSidExtendedHeaderItem
EtwpPsProvProcessEnumCallback
EtwpPsProvTraceProcess
ExpGetProcessInformation
ExpWnfQueryCurrentUserSID
MmInitSystemDll
NtImpersonateAnonymousToken
NtOpenThreadTokenEx
ObOpenObjectByNameEx
PfQuerySuperfetchInformation
PfSnCheckModernApp
PopEtGetProcessSidAndPackageIdentity
PsImpersonateClient
PsQueryProcessAttributes
PspAllocateAndQueryNotificationChannel
PspExitThread
PspGetNoChildProcessRestrictedPolicy
PspGetRedirectionTrustPolicy
PspGetSystemDllSecureHandle
PspInitializeProcessSecurity
PspMapSystemDll
PspSetNoChildProcessRestrictedPolicy
PspSetQuotaLimits
PspSetRedirectionTrustPolicy
SeIsTokenAssignableToProcess
SeReleaseSubjectContext
SeSubProcessToken
SepCopyAnonymousTokenAndSetSilo
SepIsChildTokenByPointer
SepIsSiblingTokenByPointer