PnpValidateRegistryValue

char __fastcall PnpValidateRegistryValue(_DWORD *a1){
  unsigned int v1; 
  char v2; 

  v1 = a1[1];
  v2 = 0;
  if( !v1 )
    return 1;
  if( v1 <= 2 )
    return PnpValidateStringData((__int64)a1 + (unsigned int)a1[2], a1[3]);
  if( v1 == 4 )
    return a1[3] == 4;
  if( v1 == 7 )
    return PnpValidateMultiSzData((_DWORD *)((char *)a1 + (unsigned int)a1[2]), a1[3]);
  if( v1 != 0x8000 && v1 != -1 )
    return 1;
  return v2;
}

Referenced by:

PiDevCfgResolveVariableConstant
PiDevCfgResolveVariableKeyCopy
PiDevCfgResolveVariableKeyValue