PopPrepChildWake

VOID __stdcall PopPrepChildWake(_PO_DEVICE_NOTIFY *Notify, _PO_DEVICE_NOTIFY_ORDER *Order){
  char v2; 
  unsigned int ActiveParent; 
  _LIST_ENTRY *Flink; 
  _LIST_ENTRY *Blink; 
  _LIST_ENTRY *p_WaitS0; 
  _LIST_ENTRY *v8; 
  if( !v2 || ((__int64)Notify[5].DriverName & 0x30000) != 0 )
  {
    ActiveParent = Notify->ActiveParent;
    if( ActiveParent == Notify->ParentCount )
    {
      Flink = Notify->Link.Flink;
      if( (_PO_DEVICE_NOTIFY *)Notify->Link.Flink->Blink != Notify
        || (Blink = Notify->Link.Blink, (_PO_DEVICE_NOTIFY *)Blink->Flink != Notify)
        || (Blink->Flink = Flink,
            Flink->Blink = Blink,
            p_WaitS0 = &Order->OrderLevel[Notify->OrderLevel].WaitS0,
            v8 = p_WaitS0->Blink,
            v8->Flink != p_WaitS0) )
      {
        __fastfail(3u);
      }
      Notify->Link.Flink = p_WaitS0;
      Notify->Link.Blink = v8;
      v8->Flink = &Notify->Link;
      p_WaitS0->Blink = &Notify->Link;
      ActiveParent = Notify->ActiveParent;
    }
    Notify->ActiveParent = ActiveParent - 1;
  }
}

Referenced by:

PopCompleteNotifyTransitionCommon