KeRemoveSystemServiceTable
INT8 __fastcall KeRemoveSystemServiceTable(INT64 a1){
int v1;
__int64 v3;
v1 = a1;
if( MmGetSessionIdEx(KeGetCurrentThread()->ApcState.Process) )
return 1;
if( (unsigned int)(v1 - 1) <= 1
&& ((_QWORD)xmmword_140E018E0 || (_QWORD)xmmword_140CFBA60 || (_QWORD)xmmword_140CFBC20) )
{
if( v1 == 1 )
{
*(_QWORD *)&xmmword_140CFBA60 = 0i64;
LODWORD(xmmword_140CFBA70) = 0;
*((_QWORD *)&xmmword_140CFBA70 + 1) = 0i64;
}
else
{
v3 = 2i64 * (unsigned int)(v1 - 1);
*(_QWORD *)&KeServiceDescriptorTableFilter[v3] = 0i64;
LODWORD(KeServiceDescriptorTableFilter[v3 + 1]) = 0;
*((_QWORD *)&KeServiceDescriptorTableFilter[v3 + 1] + 1) = 0i64;
}
return 1;
}
return 0;
}Referenced by:
No references.