DbgkpWerIsFullLiveDumpDisabled
BOOL __stdcall DbgkpWerIsFullLiveDumpDisabled(){
BOOL result;
void *KeyHandle;
ULONG ResultLength;
__int64 v3[2];
struct _UNICODE_STRING ValueName;
struct _OBJECT_ATTRIBUTES ObjectAttributes;
__int128 KeyValueInformation;
int v7;
KeyHandle = 0i64;
ResultLength = 0;
HIDWORD(ObjectAttributes.RootDirectory) = 0;
*(_QWORD *)(&ObjectAttributes.Length + 1) = 0i64;
memset(&ObjectAttributes.Attributes + 1, 0, 20);
v7 = 0;
v3[1] = (__int64)L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\CrashControl\\FullLiveKernelReports";
ValueName.Buffer = L"FullLiveReportsMax";
ObjectAttributes.ObjectName = (_UNICODE_STRING *)v3;
KeyValueInformation = 0i64;
v3[0] = 11272362i64;
*(_QWORD *)&ValueName.Length = 2490404i64;
ObjectAttributes.Length = 48;
ObjectAttributes.Attributes = 576;
result = ZwOpenKey(&KeyHandle, 0x20019u, &ObjectAttributes);
if( result >= 0 )
{
if( ZwQueryValueKey(KeyHandle, &ValueName, KeyValuePartialInformation, &KeyValueInformation, 0x14u, &ResultLength) >= 0
&& *(_QWORD *)((char *)&KeyValueInformation + 4) == 0x400000004i64 )
{
result = ZwClose(KeyHandle);
LOBYTE(result) = HIDWORD(KeyValueInformation) == 0;
return result;
}
result = ZwClose(KeyHandle);
}
LOBYTE(result) = 0;
return result;
}Referenced by:
DbgkCaptureLiveKernelDump
DbgkWerCaptureLiveKernelDump