KiRaiseAssertionShadow

VOID __fastcall KiRaiseAssertionShadow(VOID *a1){
  UINT64 v1; 
  unsigned __int64 v2; 
  UINT64 v3; 
  UINT64 v4; 
  __int64 v7; 
  __int64 v8; 
  __int64 v9; 
  __int64 v10; 
  __int64 v11; 
  __int64 v12; 
  if( (v9 & 1) != 0 )
  {
    __swapgs();
    _mm_lfence();
    if( !_bittest(MK_FP(__GS__, 36888i64), 1u) )
      __writecr3((unsigned __int64)&v8);
    __writegsqword(0x10u, v2);
    v7 = *((_QWORD *)KeGetPcr() + 7) + 16896i64;
    v12 = *(_QWORD *)(v7 - 8);
    v11 = *(_QWORD *)(v7 - 16);
    v10 = *(_QWORD *)(v7 - 24);
    v9 = *(_QWORD *)(v7 - 32);
    v8 = *(_QWORD *)(v7 - 40);
    __writegsqword(0x10u, 0i64);
    KiRaiseAssertion((UINT64)a1, v1, v3, v4);
  }
  else
  {
    _mm_lfence();
    KiRaiseAssertion((UINT64)a1, v1, v3, v4);
  }
}

Referenced by:

No references.