PnpFreeResourceRequirementsForAssignTable

void __fastcall PnpFreeResourceRequirementsForAssignTable(unsigned __int64 a1, unsigned __int64 a2){
  _REQ_LIST **v2; 
  unsigned __int64 v3; 
  void *v4; 

  if( a1 < a2 )
  {
    v2 = (_REQ_LIST **)(a1 + 32);
    v3 = ((a2 - a1 - 1) >> 6) + 1;
    do
    {
      IopFreeReqList(*v2);
      *v2 = 0i64;
      if( (*(_DWORD *)(v2 - 3) & 0x200) != 0 )
      {
        v4 = *(v2 - 1);
        if( v4 )
        {
          ExFreePoolWithTag(v4, 0);
          *(v2 - 1) = 0i64;
        }
      }
      v2 += 8;
      --v3;
    }
    while( v3 );
  }
}

Referenced by:

PnpAllocateResources
PnpGetResourceRequirementsForAssignTable
PnpReallocateResources
PnpRebalance
PnpRestoreResourcesInternal