KiSystemServiceShadow

VOID __fastcall KiSystemServiceShadow(INT64 a1, UINT64 a2){
  unsigned __int64 v2; 
  __int64 v5; 
  __int64 v6; 
  __int64 v7; 
  __int64 v8; 
  __int64 v9; 
  __int64 v10; 
  if( (v7 & 1) != 0 )
  {
    __swapgs();
    _mm_lfence();
    if( !_bittest(MK_FP(__GS__, 36888i64), 1u) )
      __writecr3((unsigned __int64)&v6);
    __writegsqword(0x10u, v2);
    v5 = *((_QWORD *)KeGetPcr() + 7) + 16896i64;
    v10 = *(_QWORD *)(v5 - 8);
    v9 = *(_QWORD *)(v5 - 16);
    v8 = *(_QWORD *)(v5 - 24);
    v7 = *(_QWORD *)(v5 - 32);
    v6 = *(_QWORD *)(v5 - 40);
    __writegsqword(0x10u, 0i64);
    KiSystemService(a1, a2);
  }
  else
  {
    _mm_lfence();
    KiSystemService(a1, a2);
  }
}

Referenced by:

No references.