IopReadDumpRegistry

VOID __stdcall IopReadDumpRegistry(UINT64 *dumpSetting, UINT64 a2){
  _KEY_VALUE_FULL_INFORMATION *v3; 
  _UNICODE_STRING KeyName; 
  _KEY_VALUE_FULL_INFORMATION *Information; 
  PVOID Handle; 

  Handle = 0i64;
  Information = 0i64;
  KeyName.Buffer = L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\CrashControl";
  *(_QWORD *)&KeyName.Length = 8388734i64;
  if( IopOpenRegistryKey(&Handle, 0i64, &KeyName, 0x20019ui64, 0) >= 0 )
  {
    if( IopGetRegistryValue(Handle, (PWCHAR)L"AutoReboot", 0i64, &Information) >= 0 )
    {
      if( Information->DataLength )
        dword_140C508EC = *(ULONG *)((char *)&Information->TitleIndex + Information->DataOffset);
      ExFreePoolWithTag(Information, 0);
    }
    if( a2 && IopGetRegistryValue(Handle, (PWCHAR)L"CrashDumpEnabled", 0i64, &Information) >= 0 )
    {
      v3 = Information;
      if( Information->DataLength )
        *(_DWORD *)a2 = *(ULONG *)((char *)&Information->TitleIndex + Information->DataOffset);
      ExFreePoolWithTag(v3, 0);
    }
    ObCloseHandle(Handle, 0);
  }
}

Referenced by:

IoConfigureCrashDump
IopInitializeCrashDump