CmDeleteInstallerClass

__int64 __fastcall CmDeleteInstallerClass(__int64 a1, const WCHAR *a2, int a3){
  __int64(__fastcall *v6)(__int64, const WCHAR *, __int64); 
  int v7; 
  unsigned int v8; 
  unsigned int v9; 
  int v10; 
  int v11; 
  unsigned int v12; 
  INT64 result[2]; 
  int v15; 
  memset((INT64)result, 0i64);
  v6 = *(__int64(__fastcall **)(__int64, const WCHAR *, __int64))(a1 + 504);
  v15 = a3;
  if( v6 )
  {
    v7 = v6(a1, a2, 2i64);
    if( v7 == -1073741822 )
    {
      v6 = 0i64;
    }
    else
    {
      if( v7 == -1073741536 )
        return LODWORD(result[0]);
      if( v7 )
        return(unsigned int)-1073741595;
    }
  }
  v8 = CmDeleteInstallerClassWorker(a1, a2, v15);
  v9 = v8;
  if( !v6 )
    return v9;
  LODWORD(result[0]) = v8;
  v10 = v6(a1, a2, 2i64);
  v11 = v10;
  if( v10 == -1073741822 )
    return v9;
  if( v10 == -1073741536 )
    return LODWORD(result[0]);
  v12 = v9;
  if( v11 )
    return(unsigned int)-1073741595;
  return v12;
}

Referenced by:

PiCMDeleteClassKey
PnpDispatchInstallerClass