PfHardFaultRecord

__int64 __fastcall PfHardFaultRecord(
        _LARGE_INTEGER *a1,
        _LARGE_INTEGER a2,
        LONG a3,
        _LARGE_INTEGER a4,
        __int64 a5,
        __int64 a6){
  __int64 result; 

  a1[4] = a2;
  a1[5] = a4;
  a1[6] = *(_LARGE_INTEGER *)(a5 + 24);
  a1[7].anonymous_0.LowPart = *(_DWORD *)(a6 + 1152);
  a1[7].anonymous_0.HighPart = a3;
  *(_OWORD *)&a1->anonymous_0.LowPart = 0i64;
  result = PfKernelGlobals.Flags;
  if( (PfKernelGlobals.Flags & 1) != 0 )
  {
    result = KUSER_SHARED_DATA.TickCountQuad;
    a1[8] = (_LARGE_INTEGER)KUSER_SHARED_DATA.TickCountQuad;
  }
  else
  {
    a1[8].QuadPart = 0i64;
  }
  return result;
}

Referenced by:

MiIssueHardFault