PnpIsDuplicateDevice

INT64 __stdcall PnpIsDuplicateDevice(
        CM_RESOURCE_LIST *Configuration1,
        CM_RESOURCE_LIST *Configuration2,
        HAL_BUS_INFORMATION *BusInfo1,
        HAL_BUS_INFORMATION *BusInfo2,
        BYTE *a5){
  int v5; 
  CM_RESOURCE_LIST *v6; 
  unsigned int v7; 
  unsigned int v8; 
  char *v9; 
  char v10; 
  unsigned int v11; 
  unsigned int v12; 
  char *v13; 
  CM_RESOURCE_LIST *v14; 
  v5 = 0;
  v6 = Configuration1;
  if( *(_DWORD *)Configuration1 && *(_DWORD *)Configuration2 )
  {
    while( 1 )
    {
      v7 = *((_DWORD *)v6 + 4);
      v8 = 0;
      if( v7 )
        break;
LABEL_15:
      if( v5 )
        return 1i64;
      v14 = Configuration2;
      v5 = 1;
      Configuration2 = v6;
      v6 = v14;
    }
    v9 = (char *)v6 + 20;
    while( 1 )
    {
      v10 = *v9;
      if( ((*v9 - 1) & 0xF9) == 0 && v10 != 5 )
      {
        v11 = *((_DWORD *)Configuration2 + 4);
        v12 = 0;
        if( v11 )
        {
          v13 = (char *)Configuration2 + 20;
          do
          {
            if( v10 == *v13 && *(_QWORD *)(v9 + 4) == *(_QWORD *)(v13 + 4) && (v10 == 1) == (*v13 == 1) )
              break;
            ++v12;
            v13 += 20;
          }
          while( v12 < v11 );
        }
        if( v12 == v11 )
          break;
      }
      ++v8;
      v9 += 20;
      if( v8 >= v7 )
        goto LABEL_15;
    }
  }
  return 0i64;
}

Referenced by:

IopIsReportedAlready