RegRtlOpenPredefinedKey

__int64 __fastcall RegRtlOpenPredefinedKey(__int64 a1, void **a2){
  wchar_t *Buffer; 
  int v4; 
  struct _UNICODE_STRING UnicodeString; 
  UnicodeString = 0i64;
  switch( a1 )
  {
    case 2147483650i64:
      Buffer = L"\\REGISTRY\\MACHINE";
LABEL_3:
      v4 = RegRtlOpenKeyTransacted(0i64, Buffer, 0, 0x2000000u, a2, 0i64);
      goto LABEL_4;
    case 2147483648i64:
      Buffer = L"\\REGISTRY\\MACHINE\\SOFTWARE\\CLASSES";
      goto LABEL_3;
    case 2147483651i64:
      Buffer = L"\\REGISTRY\\USER";
      goto LABEL_3;
    case 2147483653i64:
      Buffer = L"\\REGISTRY\\MACHINE\\SYSTEM\\CURRENTCONTROLSET\\HARDWARE PROFILES\\CURRENT";
      goto LABEL_3;
  }
  if( a1 != 2147483649i64 )
  {
    v4 = -1073741816;
    goto LABEL_4;
  }
  v4 = RtlFormatCurrentUserKeyPath(&UnicodeString);
  if( v4 >= 0 )
  {
    Buffer = UnicodeString.Buffer;
    goto LABEL_3;
  }
LABEL_4:
  RtlFreeAnsiString(&UnicodeString);
  return(unsigned int)v4;
}

Referenced by:

RegRtlCreateKeyTransacted
RegRtlOpenKeyTransacted
RegRtlQueryKeyPathName