VOID __fastcall KiFlushSingleTbWorker(INT64 a1){
void *v1;
_QWORD v2[2];
v1 = *(void **)a1;
if( ((1 << *(_DWORD *)(a1 + 8)) & 0xA) != 0
&& KiFlushPcid
&& !*(_BYTE *)(*((_QWORD *)KeGetCurrentThread() + 23) + 912i64) )
{
if( (KiFlushPcid & 2) != 0 )
{
v2[0] = 1i64;
v2[1] = v1;
_invpcid(0, v2);
}
else
{
KiSetUserTbFlushPending();
}
}
__invlpg(v1);
}