PipGetRegistryDwordWithFallback

char __fastcall PipGetRegistryDwordWithFallback(
        int a1,
        const wchar_t *a2,
        __int64 a3,
        __int64 a4,
        __int64 a5,
        _DWORD *a6){
  char v6; 
  int v10; 
  int v11; 
  int v12; 
  v6 = 0;
  v10 = 4;
  v11 = 0;
  v12 = 0;
  if( (int)CmGetDeviceRegProp(PiPnpRtlCtx, a2, a3, a1, (__int64)&v11, (__int64)&v12, (__int64)&v10, 0) >= 0
    && v11 == 4
    && v10 == 4
    || a5
    && (v10 = 4,
        (int)CmGetInstallerClassRegProp(PiPnpRtlCtx, a4, a5, a1, (__int64)&v11, (__int64)&v12, (__int64)&v10) >= 0)
    && v11 == 4
    && v10 == 4 )
  {
    v6 = 1;
    *a6 = v12;
  }
  return v6;
}

Referenced by:

PipChangeDeviceObjectFromRegistryProperties