PopDirectedDripsDestroyBroadcast

VOID __stdcall PopDirectedDripsDestroyBroadcast(){
  volatile signed __int32 *v0; 
  volatile signed __int32 *i; 
  int v2; 
  volatile signed __int32 *v3; 
  v0 = (volatile signed __int32 *)IopRootDeviceNode;
  for( i = (volatile signed __int32 *)*((_QWORD *)IopRootDeviceNode + 1);
        i;
        i = (volatile signed __int32 *)*((_QWORD *)i + 1) )
  {
    v0 = i;
  }
  while( v0 != IopRootDeviceNode )
  {
    _InterlockedAnd(v0 + 74, 0xFFFFFEFF);
    *((_QWORD *)v0 + 92) = v0 + 182;
    *((_QWORD *)v0 + 94) = v0 + 186;
    *((_QWORD *)v0 + 93) = v0 + 186;
    v2 = *((_DWORD *)v0 + 190);
    *((_DWORD *)v0 + 191) = 0;
    *((_QWORD *)v0 + 91) = v0 + 182;
    *((_DWORD *)v0 + 190) = v2 & 0xFFF8FFFF;
    v3 = *(volatile signed __int32 **)v0;
    if( *(_QWORD *)v0 )
    {
      do
      {
        v0 = v3;
        v3 = (volatile signed __int32 *)*((_QWORD *)v3 + 1);
      }
      while( v3 );
    }
    else
    {
      v0 = (volatile signed __int32 *)*((_QWORD *)v0 + 2);
    }
  }
  PoClearBroadcast();
}

Referenced by:

PopDirectedDripsResumeDevices
PopDirectedDripsSuspendDevices