ExfTryToWakePushLock

VOID __stdcall ExfTryToWakePushLock(_EX_PUSH_LOCK *PushLock){
  __int64 bf_0; 
  __int64 v2; 

  bf_0 = PushLock->_bf_0;
  if( (PushLock->_bf_0 & 4) == 0 && (bf_0 & 1) == 0 && (bf_0 & 2) != 0 )
  {
    v2 = PushLock->_bf_0;
    if( v2 == _InterlockedCompareExchange64(&PushLock->_bf_0, bf_0 + 4, bf_0) )
      ExpWakePushLock(PushLock, (_EX_PUSH_LOCK)(bf_0 + 4));
  }
}

Referenced by:

AlpcDeleteBlobByHandle
AlpcRegisterLogRoutine
AlpcUnregisterLogRoutine
AlpcViewDestroyProcedure
AlpcpAcceptConnectPort
AlpcpAssociateIoCompletionPort
AlpcpCancelMessage
AlpcpCancelMessagesByRequestor
AlpcpCleanupProcessViews
AlpcpCompleteDispatchMessage
AlpcpCreateClientPort
AlpcpCreateView
AlpcpDeleteBlob
AlpcpDeletePort
AlpcpDestroyBlob
AlpcpDestroyPort
AlpcpDisconnectPort
AlpcpDispatchReplyToPort
AlpcpDispatchReplyToWaitingThread
AlpcpDoPortCleanup
AlpcpEndInitialization
AlpcpEnterAllocationEventMessageLog
AlpcpEnterFreeEventMessageLog
AlpcpEnterStateChangeEventMessageLog
AlpcpFlushCancelQueue
AlpcpFlushMessagesByRequestor
AlpcpFlushQueue
AlpcpImpersonateMessage
AlpcpInitializeCompletionList
AlpcpInsertCompletionListEntry
AlpcpInsertMessageCanceledQueue
AlpcpInsertMessageDirectQueue
AlpcpInsertMessageLargeMessageQueue
AlpcpInsertMessageMainQueue
AlpcpInsertMessagePendingQueue
AlpcpReceiveDirectMessagePort
AlpcpReceiveMessage
AlpcpReceiveMessagePort
AlpcpReferenceMessageByWaitingThread
AlpcpReferenceMessageByWaitingThreadPort
AlpcpRegisterCompletionListDatabase
AlpcpReleasePushLockExclusive
AlpcpRemoveMessageFromPendingQueue
AlpcpRemoveResourcePort
AlpcpSendLegacySynchronousRequest
AlpcpSignalPortAndUnlock
AlpcpTrackPortReferences
AlpcpUnlockBlob
AlpcpUnlockIncomingQueue
AlpcpUnlockPortExclusive
AlpcpUnregisterCompletionListDatabase
AlpcpWaitForPortReferences
AlpcpWalkConnectionList
BgkpLockBgfxCodeSection
BgkpUnlockBgfxCodeSection
CcAmILowPriorityWriter
CcApplyLowIoPriorityToThread
CcBoostLowPriorityWorkerThread
CcChangeBackingFileObject
CmDumpKey
CmFcManagerDrainAllFeatureUsageNotifications
CmFcManagerRegisterFeatureConfigurationChangeNotification
CmFcManagerUnregisterFeatureConfigurationChangeNotification
CmFcManagerUpdateFeatureUsageSubscriptions
CmFcpManagerDrainUsageNotificationsWorker
CmFcpManagerRetryUsageNotificationsWorker
CmFcpManagerSoftwareHiveReady
CmFreezeRegistry
CmSiRWLockReleaseExclusive
CmThawRegistry
CmUnlockHive
CmpBecomeActiveFlusherAndReconciler
CmpBlockTwoHiveWrites
CmpCloseKeyObject
CmpDoQueueLateUnloadWorker
CmpFinishBeingActiveFlusherAndReconciler
CmpFlushBackupHive
CmpMarkEntireIndexDirty
CmpReportNotifyHelper
CmpTransMgrSyncHive
CmpTrimHive
CmpUnblockHiveWrites
CmpUnblockTwoHiveWrites
CmpVolumeContextDecrementRefCount
CmpVolumeContextUnlockExclusive
CmpVolumeManagerUnlockContextListExclusive
CmpWaitOnHiveWriteQueue
DbgkRegisterErrorPort
DbgkpRemoveErrorPort
EmClientQueryRuleState
EmClientRuleDeregisterNotification
EmClientRuleEvaluate
EmPowerPagingEnabled
EmProviderDeregister
EmProviderDeregisterEntry
EmProviderRegisterEntry
EmpAcquirePagingReference
EmpClientRuleRegisterNotification
EmpParseInfDatabase
EmpProviderRegister
EmpQueueRuleUpdateState
EmpReleasePagingReference
EmpRuleUpdateWorkerThread
EtwQueryProcessTelemetryCoverage
EtwpAcquireTokenAccessInformation
EtwpAddBinaryInfoEvents
EtwpAddDebugInfoEvents
EtwpAddGuidEntry
EtwpBufferingModeCompressionFlush
EtwpCompressPendingBuffers
EtwpCompressionProc
EtwpCovSampContextAddSamples
EtwpCovSampContextCleanup
EtwpCovSampContextGetModule
EtwpCovSampContextPruneModules
EtwpCovSampHashMakeRoomAndAcquireLock
EtwpCovSampProcessAddModule
EtwpCovSampProcessMapAddresses
EtwpCoverageCheckCP
EtwpCoverageEnsureContext
EtwpCoverageEnsureUserModeView
EtwpCoverageProvEnableCallback
EtwpCoverageRecord
EtwpCoverageReset
EtwpCoverageResetCP
EtwpCoverageSamplerClose
EtwpCoverageSamplerQuery
EtwpCoverageSamplerSetBloomFilter
EtwpCoverageSamplerStart
EtwpCoverageSamplerStop
EtwpCoverageSamplerUnloadImage
EtwpCreateLogFile
EtwpCreateUmReplyObject
EtwpDeleteRegistrationObject
EtwpDisableCompression
EtwpDisableKernelTrace
EtwpFlushCoverage
EtwpFreeCompression
EtwpGetLoggerInfoFromContext
EtwpRealtimeNotifyConsumers
EtwpSendDbgId
EtwpSetCompressionSettings
EtwpTrackBinaryForSession
EtwpTrackDecodeGuidForSession
EtwpUnreferenceGuidEntry
EtwpUpdateDisallowedGuids
EtwpUpdateGroupMasks
EtwpUpdatePeriodicCaptureState
ExDisableHandleTracing
ExDupHandleTable
ExEnableHandleExceptions
ExEnableHandleTracing
ExEnableRaiseUMExceptionOnInvalidHandleClose
ExGetWakeTimerList
ExInitLicenseData
ExNotifyPlatformBinaryExecuted
ExQueryHandleExceptionsPermanency
ExReferenceHandleDebugInfo
ExRegisterExtension
ExRegisterHost
ExReleaseCacheAwarePushLockExclusive
ExReleaseCacheAwarePushLockExclusiveEx
ExReleasePushLockExclusiveEx
ExSetLicenseTamperState
ExShareAddressSpaceWithDevice
ExSvmBeginDeviceReset
ExSvmFinalizeDeviceReset
ExSweepHandleTable
ExTryAcquireAutoExpandPushLockExclusive
ExTryAcquireCacheAwarePushLockExclusiveEx
ExUnregisterExtension
ExUuidCreate
ExWakeTimersResume
ExpAllocateHandleTableEntry
ExpDeleteTimer
ExpFreeHandleTableEntry
ExpGetGlobalLocaleSection
ExpGetSystemPlatformBinary
ExpInsertLowLevelTableIntoFreeList
ExpKdPullRemoteFileForUser
ExpLoadAndSortLicensingCacheDescriptors
ExpReadLeapSecondData
ExpReleaseFannedOutPushLockExclusive
ExpRemoveHandleTable
ExpSaAllocatorAllocate
ExpSaAllocatorFree
ExpSaPageGroupAllocateMemory
ExpSaPageGroupDescriptorAllocate
ExpSaPageGroupDescriptorFree
ExpSaPageGroupFreeMemory
ExpSetKernelDataProtection
ExpSetTimerObject
ExpSvmDereferenceDevice
ExpTryAcquireFannedOutPushLockExclusive
ExpWnfAllocateNextPersistentNameSequence
ExpWnfCompleteThreadSubscriptions
ExpWnfCreateNameInstance
ExpWnfCreateProcessContext
ExpWnfDeleteNameInstance
ExpWnfDeleteProcessContext
ExpWnfDeleteScopeById
ExpWnfDeleteScopeInstances
ExpWnfDeleteStateData
ExpWnfDeleteSubscription
ExpWnfDeliverThreadNotifications
ExpWnfDispatchKernelSubscription
ExpWnfResolveScopeInstance
ExpWnfSubscribeNameInstance
ExpWnfUpdateSubscription
ExpWnfWriteStateData
FlushLookUpTableBucket
HalpDmaAllocateChildAdapterV3
HalpIommuBlockDevice
HalpIommuCreateDevice
HalpIommuDeleteDevice
HalpIommuUnblockDevice
HalpLeaveDmaDomain
HvFoldBackDirtyData
HvFreeCell
HvHiveConvertLockedPagesToCowByPolicy
HvIsRangeDirty
HvUnlockHiveFlusherExclusive
HvUnlockHiveWriter
HvpDoAllocateCell
HvpFinishPrimaryWrite
HvpMarkCellDirty
IoRegisterIoTracking
IoUnregisterIoTracking
IommuBeginDeviceReset
IommuFinalizeDeviceReset
KeCleanupImageTracepoints
KeSetSystemServiceCallback
KeSetTracepoint
KiStartSavingSupervisorState
KseAddHardwareId
KseDriverUnloadImage
KseLookupHardwareId
KseRegisterShimEx
KseResetDeviceCache
KseShimDatabaseBootRelease
KseShimDatabaseClose
KseShimDatabaseOpen
KseUnregisterShim
KsepCacheUnlock
KsepDbCacheInsertDevice
KsepDbCacheQueryDevice
KsepGetShimsForDriver
KsepIsModuleShimmed
KsepResolveApplicableShimsForDriver
KsepShimDbChanged
MI_UNLOCK_RELOCATIONS_EXCLUSIVE
MiAddViewsForSection
MiAllocatePartitionId
MiCaptureRetpolineImportInfo
MiChargeSegmentCommit
MiClearPartitionPageBitMap
MiCommitExistingVad
MiCommitPageTableRangesForVad
MiComputeNodeMemory
MiContractWsSwapPageFileWorker
MiCreateHardwareEnclave
MiCreatePagingFile
MiCreatePagingFileMap
MiCreatePerSessionProtos
MiCreatePrototypePtes
MiDecommitHardwareEnclavePages
MiDeleteAllHardwareEnclaves
MiDeleteEnclavePages
MiDeleteHotPatchRecord
MiDeleteImageHotPatchState
MiDeletePartialVad
MiDeletePartitionResources
MiDeleteVad
MiDereferenceExtendInfo
MiDereferencePerSessionProtos
MiDereferenceSessionFinal
MiExpandPtes
MiFinishCreateSection
MiFinishVadDeletion
MiFreePartitionId
MiFreeRetpolineImportInfo
MiFreeUnusedPfnPages
MiGetHotPatchEntry
MiHotPatchImage
MiIncrementAweMapCount
MiInitializeMirroring
MiInitializePagedPoolEvents
MiInitializePartition
MiInitializeSessionGlobals
MiInsertChildVads
MiInsertHotPatchRecord
MiInsertInSystemSpace
MiInsertPageFileInList
MiInsertPartitionPages
MiInsertSharedCommitNode
MiLoadHotPatchForUserSid
MiLockVadRange
MiMapViewOfDataSection
MiMarkHugePfnBad
MiMarkHugePfnGood
MiMarkSharedImageCfgBits
MiMarkSystemVaAllocated
MiObtainRelocationBits
MiObtainSessionVa
MiObtainSystemCacheView
MiPerformImageHotPatch
MiPopulateCfgBitMap
MiReleaseKernelCfgLock
MiReleaseProcessReferenceToSessionDataPage
MiReleaseSessionVa
MiRelocateImage
MiRemoveFromSystemSpace
MiRemovePlaceholderVad
MiReserveUserMemory
MiReturnImageBase
MiSectionDelete
MiSelectOverflowDllBase
MiSelectRelocationStartHint
MiSessionCreateInternal
MiSetPagesModified
MiSetProtectionOnSection
MiShutdownSystem
MiSplitPrivatePage
MiSplitReducedCommitClonePage
MiTrimUnusedPageFileRegionsWorker
MiUnloadHotPatchForUserSid
MiUnlockAndDereferenceVad
MiUnlockDriverMappings
MiUnlockDynamicMemoryExclusive
MiUnlockDynamicMemoryNestedParentExclusive
MiUnlockImageExtentsExclusive
MiUnlockLoaderEntry
MiUnlockNestedVad
MiUnlockPartitionSystemThreads
MiUnlockVad
MiUnlockVadRange
MiUpControlAreaRefs
MiZeroAllPageFiles
MmCommitSessionMappedView
MmCreateShadowMapping
MmDeleteShadowMapping
MmDuplicateMemory
MmExtendSection
MmGetPageFileForCrashDump
MmLinkJobProcess
MmOutSwapVirtualAddresses
MmOutSwapWorkingSet
MmReleaseLoadLock
MmResourcesAvailable
NormalizationList__Unlock
NtAllocateUuids
NtAlpcRevokeSecurityContext
NtAlpcSetInformation
NtCancelTimer
NtCreateUserProcess
NtReleaseKeyedEvent
NtSetSystemInformation
NtSetUuidSeed
NtWaitForKeyedEvent
NtWaitForWorkViaWorkerFactory
ObCheckRefTraceProcess
ObCloseHandleTableEntry
ObDereferenceSecurityDescriptor
ObEnableEtwReferenceTrace
ObQueryRefTraceInformation
ObpCreateHandle
ObpDeregisterObject
ObpFreeWorkItemBlock
ObpPushRefDerefInfo
ObpRegisterObject
ObpStartRuntimeStackTrace
ObpStopRuntimeStackTrace
PerfDiagpProxyWorker
PfFileInfoNotify
PfGenerateTrace
PfLockExclusiveRelease
PfTAccessTracingCleanup
PfTAccessTracingStart
PfTSetTraceWorkerPriority
PfTSetTracingPriority
PfpParametersPropagate
PfpParametersWatcher
PfpRpCHashAddEntries
PfpRpCHashDeleteEntries
PfpRpCHashEmpty
PfpRpCHashGrow
PfpRpFileKeyUpdate
PfpRpShutdown
PfpScenCtxPrefetchAbortSet
PfpScenCtxPrefetchStateSet
PfpScenCtxPrefetchWait
PfpScenCtxQueryScenarioInformation
PfpScenCtxScenarioSet
PfpScenCtxServiceThreadSet
PoFxAbandonDevice
PopBlackBoxUpdate
PopBootStatCheckIntegrity
PopBootStatGet
PopBootStatSet
PopBootStatUnlock
PopDirectedDripsDiagBroadcastTreeBegin
PopDirectedDripsDiagBroadcastTreeEnd
PopDirectedDripsDiagNotifySessionStart
PopDirectedDripsDiagNotifySessionStop
PopDirectedDripsDiagTraceBroadcastFailureDevice
PopDirectedDripsDiagTraceBroadcastVisit
PopDirectedDripsDiagTraceMarkDevice
PopDirectedDripsDiagTraceNotifyDevices
PopDirectedDripsDiagTraceProblemDevice
PopDirectedDripsHandleResiliencyNotification
PopDirectedDripsIdleResiliencyCallback
PopDirectedDripsNotify
PopDirectedDripsNotifyResiliencyCompletionWorker
PopFxBuildDirectedDripsCandidateDeviceList
PopFxBuildDripsBlockingDeviceList
PopFxClearDirectedDripsCandidateDeviceList
PopFxInsertAcpiDevice
PopFxNotifySxTransitionState
PopFxPrepareDevicesForShutdown
PopFxRegisterPluginEx
PopFxRemoveAcpiDevice
PopFxRemoveDevice
PopFxUpdateVetoMaskWork
PopPdcCsDeviceNotification
PopPepPlatformStateRegistered
PopPepRemoveDevice
PopPowerButtonBugcheckConfigure
PsAdjustBasicEnclaveThreadList
PsCallEnclave
PsCreateVsmEnclave
PsDeleteVsmEnclave
PsDisableImpersonation
PsFreezeProcess
PsGetProcessEnclaveModuleInfo
PsImpersonateClient
PsInitializeVsmEnclave
PsIsVsmEnclaveTerminated
PsLoadVsmEnclaveData
PsMakeSiloContextPermanent
PsRestoreImpersonation
PsSetProcessFaultInformation
PsSetProcessTelemetryAppState
PsSetProcessWin32Process
PsStartSiloMonitor
PsSwapImpersonationToken
PsTerminateMinimalProcess
PsTerminateVsmEnclave
PsThawProcess
PsUnregisterSiloMonitor
PspAllocateAndQueryProcessNotificationChannel
PspAllocateThread
PspApplyWorkingSetLimitsToProcess
PspAssignProcessToJob
PspChangeJobMemoryUsageByProcess
PspEnableAltSystemCallHandling
PspExitThread
PspInsertThread
PspProcessClose
PspProcessDynamicEHContinuationTargets
PspProcessDynamicEnforcedAddressRanges
PspRemoveEnclaveThreadWait
PspRundownSingleProcess
PspSetJobIoRateControl
PspSetProcessDefaultHardErrorMode
PspSetProcessForegroundBackgroundRequest
PspStorageEmptyArray
PspStorageEmptyArrayNonReadonly
PspStorageFreeSlot
PspStorageRemoveObject
PspStorageReplaceObject
PspTeardownPartition
PspTerminateProcess
PspThreadDelete
PspUnlockAffinityUpdateExclusive
PspUnlockJobAssignment
PspUnlockJobListExclusive
PspUnlockJobMemoryLimitsExclusive
PspUnlockJobsAndProcessExclusive
PspUnlockProcessExclusive
PspUnlockProcessExclusiveUnsafe
PspUnlockProcessListExclusive
PspUnlockQuotaExpansion
PspUnlockQuotaListExclusive
PspUnlockThreadSecurityExclusive
PspUnlockWorkingSetChangeExclusiveUnsafe
RtlDeleteAtomFromAtomTable
RtlDestroyAtomTable
RtlEmptyAtomTable
RtlInsertDynamicFunctionTable
RtlLookupAtomInAtomTable
RtlPinAtomInAtomTable
RtlQueryAtomInAtomTable
RtlQueryAtomsInAtomTable
RtlRemoveDynamicFunctionTable
RtlpCSparseBitmapUnlock
RtlpHpAcquireReleaseLockExclusive
RtlpHpFixedVsAllocate
RtlpHpFixedVsFree
RtlpHpHeapExtendContext
RtlpHpLargeAlloc
RtlpHpLargeFree
RtlpHpLfhBucketAddSubsegment
RtlpHpLfhBucketGetSubsegment
RtlpHpLfhBucketUpdateAffinityMapping
RtlpHpLfhSlotAllocate
RtlpHpLfhSubsegmentDecommitPages
RtlpHpLfhSubsegmentFreeBlock
RtlpHpLfhSubsegmentIncBlockCounts
RtlpHpReleaseQueuedLockExclusive
RtlpHpSegContextCompact
RtlpHpSegMgrCommitComplete
RtlpHpSegMgrCommitInitiate
RtlpHpSegMgrVaCtxAlloc
RtlpHpSegMgrVaCtxFree
RtlpHpSegMgrVaCtxInsert
RtlpHpSegPageRangeAllocate
RtlpHpSegPageRangeCoalesce
RtlpHpSegPageRangeShrink
RtlpHpVaMgrAlloc
RtlpHpVaMgrCtxFree
RtlpHpVsChunkSplit
RtlpHpVsSubsegmentCommitPages
RtlpReleaseBootStatusLock
RtlpUnlockAtomTable
SLGetSubscriptionPfn
SLQueryLicenseValueInternal
SLUpdateLicenseDataInternal
SMKM_STORE::SmStCleanup
SMKM_STORE::SmStHelperSendCommand
SMKM_STORE::SmStWorker
SMKM_STORE_MGR::SmFeAddInitiate
SMKM_STORE_MGR::SmFeEmpty
SMKM_STORE_MGR::SmFeEvictComplete
SMKM_STORE_MGR::SmFeEvictInitiate
SMKM_STORE_MGR::SmFeSetEvictFailed
SMKM_STORE_MGR::SmFeStoreDelete
SMKM_STORE_MGR::SmFeStoreEvictKeys
SSHSupportReleasePushLockExclusive
ST_STORE::StDmPageRemove
ST_STORE::StDmpSinglePageAdd
SeDefaultObjectMethod
SeRegisterObjectTypeMandatoryPolicy
SendCaptureStateNotificationsWorker
SepAddLuidToIndexEntry
SepDeReferenceSharedSidEntries
SepDeleteSessionLowboxEntries
SepDereferenceCachedHandlesEntry
SepDereferenceLowBoxNumberEntry
SepInsertOrReferenceSharedSidEntries
SepIsParentOfChildAppContainer
SepRmCapUpdateWrkr
SepSetTokenCachedHandles
SepSetTokenClaims
SepSetTokenLowboxNumber
SepSetTokenUserAndGroups
SmFirstTimeInit
SmGetRegistrationInfo
SmKmCleanup
SmKmKeyGenKeyDelete
SmKmKeyGenNewKey
SmKmStoreAdd
SmKmStoreDelete
SmKmVirtualLockContextIncreaseWsMin
SmKmVirtualLockCtxMemoryUnlocked
SmProcessCompressionInfoRequest
SmcCacheAdd
SmcCacheCreatePrepare
SmcCacheRemove
SmcStoreDelete
SmcStoreResize
SmcStoreSlotAbort
SmcStoreSlotCommit
SmcStoreSlotReserve
SmpKeyedStoreEntryGet
SmpKeyedStoreSetVaRanges
SmpSystemStoreCreate
SshpSetCollectionActive
TlgAggregateInternalProviderCallback
TlgRegisterAggregateProviderEx
UNLOCK_ADDRESS_SPACE
UNLOCK_ADDRESS_SPACE_UNORDERED
UNLOCK_PAGE_TABLE_COMMITMENT
VmpPauseResumeNotify
VrpDecrementSiloCount
VrpHandleIoctlLoadDifferencingHiveForHost
VrpHandleIoctlUnloadDifferencingHiveForHost
VrpIncrementSiloCount
VrpPostUnloadKey
VrpPreLoadKey
VrpPreUnloadKey
VrpUnloadDifferencingHive
VrpUnlockDiffHiveEntry
VrpUnlockJobContextExclusive
VrpWaitForDiffHiveEntryTransitionOwnerToLeave
WbAddHeapExecutedBlockToCache
WbAddHeapExecutedBlockToLRU
WbAddWarbirdEncryptionSegment
WbAllocateSlots
WbAllocateUserMemory
WbDecryptEncryptionSegment
WbFreeMemoryBlockRegion
WbGetInitializedEncryptionSegment
WbGetWarbirdProcess
WbGetWarbirdThread
WbHeapExecutionUnloadModule
WbInPlaceEncryptionUnloadModule
WbMoveHeapExecutedBlockToBackOfLRU
WbReEncryptEncryptionSegment
WbReleaseLeastRecentlyUsedHeapExecutedBlocks
WbRemoveWarbirdProcess
WheaConfigureErrorSource
WheaInitialize
WheaRegisterInUsePageOfflineNotification
WheaUnconfigureErrorSource
WheaUnregisterInUsePageOfflineNotification
WheapCallInUsePageNotificationCallbacks
WheapPfaReset
WheapPredictiveFailureAnalysis
sub_14094D610