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