PnpGetObjectList

__int64 __fastcall PnpGetObjectList(
        __int64 a1,
        unsigned int a2,
        __int64 a3,
        __int64 a4,
        INT64 a5,
        int a6,
        INT64 a7,
        int a8){
  INT64 v8; 
  __int64(__fastcall *v10)(INT64, _QWORD, _QWORD, __int64, int, INT64 *); 
  int v11; 
  NTSTATUS ObjectListDispatch; 
  unsigned int v13; 
  int v14; 
  unsigned int v16; 
  INT64 v17; 
  INT64 v18[10]; 

  v8 = *(&stru_140CF2E80 + 607);
  memset(v18, 0i64, sizeof(v18));
  v10 = *(__int64(__fastcall **)(INT64, _QWORD, _QWORD, __int64, int, INT64 *))(*(&stru_140CF2E80 + 607) + 488i64);
  v18[4] = a5;
  LODWORD(v18[5]) = a6;
  v18[6] = a7;
  LODWORD(v18[7]) = a8;
  if( v10 )
  {
    v11 = v10(*(&stru_140CF2E80 + 607), 0i64, a2, 5i64, 1, v18);
    if( v11 == -1073741822 )
    {
      v10 = 0i64;
    }
    else
    {
      if( v11 == -1073741536 )
        return LODWORD(v18[0]);
      if( v11 )
        return(unsigned int)-1073741595;
    }
  }
  LODWORD(v17) = v18[5];
  ObjectListDispatch = PnpGetObjectListDispatch(v8, a2, v18[2], v18[3], v18[4], v17, v18[6], v18[7]);
  v13 = ObjectListDispatch;
  if( !v10 )
    return v13;
  LODWORD(v18[0]) = ObjectListDispatch;
  v14 = v10(v8, 0i64, a2, 5i64, 2, v18);
  if( v14 == -1073741822 )
    return v13;
  if( v14 == -1073741536 )
    return LODWORD(v18[0]);
  v16 = v13;
  if( v14 )
    return(unsigned int)-1073741595;
  return v16;
}

Referenced by:

PiCMGetObjectList
PiDmObjectManagerPopulate