PopReadyChildWake
INT64 __fastcall PopReadyChildWake(_PO_DEVICE_NOTIFY *Notify, _PO_DEVICE_NOTIFY_ORDER *Order, INT64 OrderLevel){
char v3;
bool v4;
INT64 result;
_LIST_ENTRY *Flink;
_LIST_ENTRY *Blink;
_LIST_ENTRY *v9;
v4 = 0;
if( !v3 || (result = LODWORD(Notify[5].DriverName), (result & 0x30000) != 0) )
{
result = ++Notify->ActiveParent;
if( (unsigned int)result >= 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,
result = (INT64)&Order->OrderLevel[0].ReadyS0 + 64 * Notify->OrderLevel + 8 * Notify->OrderLevel,
v9 = *(_LIST_ENTRY **)(result + 8),
v9->Flink != (_LIST_ENTRY *)result) )
{
__fastfail(3u);
}
Notify->Link.Flink = (_LIST_ENTRY *)result;
Notify->Link.Blink = v9;
v9->Flink = &Notify->Link;
*(_QWORD *)(result + 8) = Notify;
v4 = Notify->OrderLevel == (unsigned __int8)OrderLevel;
}
}
LOBYTE(result) = v4;
return result;
}Referenced by:
PopCompleteNotifyTransitionCommon