PopSetupSleepNotifies

INT64 __fastcall PopSetupSleepNotifies(INT64 a1){
  int i; 
  _LIST_ENTRY *v3; 
  __int64 v4; 
  __int64 v5; 
  _LIST_ENTRY *v6; 
  int v7; 
  _LIST_ENTRY *Flink; 
  _LIST_ENTRY *v9; 
  int Blink; 
  _LIST_ENTRY *v11; 
  _LIST_ENTRY *v12; 
  INT64 result; 
  for( i = 4; i >= 0; i = v7 - 1 )
  {
    v3 = (_LIST_ENTRY *)(a1 + 72 + 72i64 * i);
    PopMoveList(v3, (_LIST_ENTRY *)(a1 + 88 + 72i64 * i));
    PopMoveList(v3, (_LIST_ENTRY *)(a1 + 120 + 8 * v4));
    PopMoveList(v3, (_LIST_ENTRY *)(a1 + 104 + 8 * v5));
    Flink = v6[-1].Flink;
    while( Flink != v3 )
    {
      v9 = Flink;
      Flink = Flink->Flink;
      HIDWORD(v9[6].Flink) = v9[6].Flink;
      Blink = (int)v9[5].Blink;
      HIDWORD(v9[5].Blink) = Blink;
      if( !Blink )
      {
        if( Flink->Blink != v9
          || (v11 = v9->Blink, v11->Flink != v9)
          || (v11->Flink = Flink, Flink->Blink = v11, v12 = v6->Blink, v12->Flink != v6) )
        {
          __fastfail(3u);
        }
        v9->Flink = v6;
        v9->Blink = v12;
        v12->Flink = v9;
        v6->Blink = v9;
      }
    }
    result = LODWORD(v6[-2].Blink);
    HIDWORD(v6[-2].Blink) = result;
  }
  return result;
}

Referenced by:

PoBroadcastSystemState