PopDirectedDripsDiagTraceBroadcastFailureDevice
VOID __stdcall PopDirectedDripsDiagTraceBroadcastFailureDevice(INT64 a1){
INT64 v2;
PVOID *i;
ExAcquirePushLockExclusiveEx(&PopDirectedDripsDiagLock, 0i64);
v2 = *(_QWORD *)(a1 + 776);
if( v2 )
*(_DWORD *)(v2 + 152) |= 0x20u;
for( i = (PVOID *)PopDirectedDripsDiagSessionContext; i != &PopDirectedDripsDiagSessionContext; i = (PVOID *)*i )
{
if( *((_DWORD *)i + 9) == dword_140C1EB88 )
{
++*((_DWORD *)i + 53);
if( v2 )
PopDirectedDripsDiagInsertErrorRecord((INT64)i, v2, 5i64);
}
}
if( (_InterlockedExchangeAdd64(&PopDirectedDripsDiagLock._bf_0, 0xFFFFFFFFFFFFFFFFui64) & 6) == 2 )
ExfTryToWakePushLock(&PopDirectedDripsDiagLock);
KeAbPostRelease(&PopDirectedDripsDiagLock);
}Referenced by:
PopDirectedDripsNotifyTransitionFailed