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