KiDoubleFaultAbortShadow

VOID __stdcall __noreturn KiDoubleFaultAbortShadow(
        INT64 a1,
        INT64 a2,
        INT64 a3,
        INT64 a4,
        INT64 a5,
        INT64 a6,
        INT64 a7,
        INT64 a8,
        INT64 a9){
  unsigned __int64 v9; 
  unsigned __int64 KernelDirectoryTableBase; 
  INT64 v14; 
  unsigned __int64 retaddr; 

  __readmsr(0xC0000101);
  __writemsr(0xC0000101, retaddr);
  v9 = __readcr3();
  KernelDirectoryTableBase = KeGetPcr()->Prcb.KernelDirectoryTableBase;
  if( v9 != KernelDirectoryTableBase && !_bittest(MK_FP(__GS__, 36888i64), 1u) )
    __writecr3(KernelDirectoryTableBase);
  KiDoubleFaultAbort(v14, a2, a3, a4);
}

Referenced by:

No references.