PipDependencyGraphDepthFirstSearch

char __fastcall PipDependencyGraphDepthFirstSearch(__int64 a1, __int64 a2, _DWORD *a3, _DWORD *a4){
  __int64 v7; 
  _QWORD *v8; 
  int v10; 
  _QWORD *v11; 
  __int64 v12; 
  *a3 = 0;
  *a4 = 0;
  if( a1 != a2 )
  {
    v7 = a1 + 16;
    v8 = *(_QWORD **)(a1 + 16);
    do
    {
      if( v8 == (_QWORD *)v7 )
        return 0;
      v11 = v8;
      v12 = v8[4];
      v8 = (_QWORD *)*v8;
    }
    while( !PipDependencyGraphDepthFirstSearch(v12, a2, a3, a4) );
    v10 = *((_DWORD *)v11 + 12);
    ++*a3;
    *a4 = v10;
  }
  return 1;
}

Referenced by:

PipDependencyGraphDepthFirstSearch
PipFindDependencyNodePath