VOID __fastcall KiNmiInterruptShadow(
UINT64 a1,
UINT64 a2,
UINT64 a3,
UINT64 a4,
INT64 a5,
INT64 a6,
INT64 a7,
INT64 a8){
unsigned __int64 v8;
unsigned __int64 v9;
unsigned __int64 retaddr;
__readmsr(0xC0000101);
__writemsr(0xC0000101, retaddr);
v8 = __readcr3();
v9 = *((_QWORD *)KeGetPcr() + 4608);
if( v8 != v9 && !_bittest(MK_FP(__GS__, 36888i64), 1u) )
__writecr3(v9);
KiNmiInterruptStart(a1, a2, a3, a4, a5, a6, a7, a8);
}