CmpLazyFlushDpcRoutine
VOID __stdcall CmpLazyFlushDpcRoutine(KDPC *Dpc, VOID *DeferredContext, VOID *SystemArgument1, VOID *SystemArgument2){
_WORD v8[47];
memset(v8, 0i64, sizeof(v8));
if( (__int64)DeferredContext >> 47 != -1 && (__int64)DeferredContext >> 47 != 0 )
{
Dpc->Type = 0;
Dpc->DeferredContext = (void *)((unsigned __int64)SystemArgument2 >> 8);
*(_QWORD *)&v8[43] = SystemArgument1;
*(_QWORD *)&v8[23] = __ROL8__(DeferredContext, (char)SystemArgument1);
*(_QWORD *)&v8[19] = __ROR8__(Dpc, (char)SystemArgument1);
Dpc->SystemArgument1 = (void *)((unsigned __int64)Dpc->SystemArgument1 ^ (unsigned __int64)SystemArgument2);
Dpc->SystemArgument2 = (void *)((unsigned __int64)Dpc->SystemArgument2 ^ (unsigned __int64)SystemArgument1);
KiCustomAccessRoutine5((UINT64 *)DeferredContext);
}
KxAcquireSpinLock((UINT64 *)DeferredContext + 19);
if( (_DWORD)CmpHoldLazyFlush )
*((_QWORD *)DeferredContext + 21) = 0i64;
else
KeSetEvent((PRKEVENT)((char *)DeferredContext + 128), 0, 0);
KxReleaseSpinLock((UINT64 *)DeferredContext + 19);
}Referenced by:
No references.