PnpValidateObjectName

__int64 __fastcall PnpValidateObjectName(__int64 a1, __int64 a2, unsigned int a3){
  __int64 v3; 
  __int64(__fastcall *v6)(__int64, __int64, _QWORD, __int64, int, int *); 
  int v7; 
  int v8; 
  unsigned int v9; 
  int v11; 
  int v12; 
  unsigned int v13; 
  int v14[20]; 
  v3 = PiPnpRtlCtx;
  memset((INT64)v14, 0i64);
  v6 = *(__int64(__fastcall **)(__int64, __int64, _QWORD, __int64, int, int *))(v3 + 488);
  if( v6 )
  {
    v7 = v6(v3, a2, a3, 1i64, 1, v14);
    if( v7 == -1073741822 )
    {
      v6 = 0i64;
    }
    else
    {
      if( v7 == -1073741536 )
        return(unsigned int)v14[0];
      if( v7 )
        return(unsigned int)-1073741595;
    }
  }
  v8 = PnpValidateObjectNameDispatch(v3, a2, a3, v14[4]);
  v9 = v8;
  if( !v6 )
    return v9;
  v14[0] = v8;
  v11 = v6(v3, a2, a3, 1i64, 2, v14);
  v12 = v11;
  if( v11 == -1073741822 )
    return v9;
  if( v11 == -1073741536 )
    return(unsigned int)v14[0];
  v13 = v9;
  if( v12 )
    return(unsigned int)-1073741595;
  return v13;
}

Referenced by:

PiDmObjectCreate
PiDqOpenUserObjectRegKey