PipConvertResolutionsToReservations

VOID PipConvertResolutionsToReservations(
        INT64 a1,
        INT64 a2,
        INT64 a3,
        INT64 a4,
        INT64 a5,
        INT64 a6,
        INT64 a7,
        INT64 a8,
        INT64 a9,
        INT64 a10,
        ...){
  INT64 v11; 
  _QWORD *v12; 
  _QWORD *v13; 
  _QWORD *v14; 
  _QWORD *v15; 
  const UNICODE_STRING **v16; 
  __int64 v17; 
  __int128 a1a; 
  a1a = 0i64;
  if( a1 )
  {
    PipDeleteBindingIds((INT8 *)a1, a2, a3);
    v11 = a1 + 32;
    v12 = *(_QWORD **)(a1 + 32);
    while( v12 != (_QWORD *)v11 )
    {
      v13 = v12;
      v12 = (_QWORD *)*v12;
      if( !*((_BYTE *)v13 + 56) )
      {
        v14 = (_QWORD *)v13[5];
        while( v14 != v13 + 5 )
        {
          v15 = v14;
          v14 = (_QWORD *)*v14;
          v16 = (const UNICODE_STRING **)(v15 + 2);
          if( *(_DWORD *)v16 == 1 )
          {
            v17 = v13[3];
            LODWORD(a1a) = 0;
            *((_QWORD *)&a1a + 1) = *(_QWORD *)(v17 + 48);
            PipSetDependency((INT64)&a1a, v16);
          }
        }
        *((_BYTE *)v13 + 56) = 1;
      }
    }
  }
}

Referenced by:

PnpSurpriseRemoveLockedDeviceNode