KeRemoveSystemServiceTable

VOID __fastcall KeRemoveSystemServiceTable(UINT64 Index, INT64 a2, INT64 a3, INT64 a4){
  int v4; 
  __int64 v5; 
  v4 = Index;
  if( !(unsigned int)MmGetSessionIdEx(*((_QWORD *)KeGetCurrentThread() + 23))
    && (unsigned int)(v4 - 1) <= 1
    && ((_QWORD)xmmword_140E018E0 || (_QWORD)xmmword_140CFBA60 || (_QWORD)xmmword_140CFBC20) )
  {
    if( v4 == 1 )
    {
      *(_QWORD *)&xmmword_140CFBA60 = 0i64;
      LODWORD(xmmword_140CFBA70) = 0;
      *((_QWORD *)&xmmword_140CFBA70 + 1) = 0i64;
    }
    else
    {
      v5 = 2i64 * (unsigned int)(v4 - 1);
      *(_QWORD *)&KeServiceDescriptorTableFilter[v5] = 0i64;
      LODWORD(KeServiceDescriptorTableFilter[v5 + 1]) = 0;
      *((_QWORD *)&KeServiceDescriptorTableFilter[v5 + 1] + 1) = 0i64;
    }
  }
}

Referenced by:

No references.