IopCachePreviousBootData

VOID __stdcall IopCachePreviousBootData(VOID **KeyHandle){
  UINT64 DataSize; 
  UINT64 ValueLength; 
  __int64 Value; 
  _UNICODE_STRING ValueName; 
  _GUID VendorGuid; 

  Value = 0i64;
  ValueName.Buffer = L"DumpInstancePrvBoot";
  VendorGuid.Data1 = 2012912317;
  *(_DWORD *)&VendorGuid.Data2 = 1295123289;
  *(_DWORD *)VendorGuid.Data4 = -198680387;
  *(_DWORD *)&VendorGuid.Data4[4] = 1266192359;
  LODWORD(ValueLength) = 8;
  *(_QWORD *)&ValueName.Length = 2621478i64;
  if( IoGetEnvironmentVariableEx((WCHAR *)L"DumpInstance", &VendorGuid, &Value, &ValueLength, 0i64) >= 0 )
  {
    LODWORD(DataSize) = 8;
    ZwSetValueKey(*KeyHandle, &ValueName, 0i64, 0xBui64, &Value, DataSize);
  }
}

Referenced by:

IopInitializeOfflineCrashDump