PipMoveListEntries

VOID __stdcall PipMoveListEntries(LIST_ENTRY *TargetHead, LIST_ENTRY *SourceHead){
  _LIST_ENTRY *Flink; 
  _LIST_ENTRY *Blink; 
  _LIST_ENTRY *v4; 
  Flink = SourceHead->Flink;
  if( SourceHead->Flink != SourceHead )
  {
    if( Flink->Blink != SourceHead
      || (Blink = SourceHead->Blink, Blink->Flink != SourceHead)
      || (Blink->Flink = Flink,
          Flink->Blink = Blink,
          SourceHead->Blink = SourceHead,
          SourceHead->Flink = SourceHead,
          v4 = TargetHead->Blink,
          TargetHead->Flink->Blink != TargetHead)
      || v4->Flink != TargetHead
      || Flink->Flink->Blink != Flink
      || Flink->Blink->Flink != Flink )
    {
      __fastfail(3u);
    }
    v4->Flink = Flink;
    TargetHead->Blink = Flink->Blink;
    Flink->Blink->Flink = TargetHead;
    Flink->Blink = v4;
  }
}

Referenced by:

PipMergeDependencyEdgeList
PipMergeDependencyNodes