KeSignalCallDpcSynchronize
UINT64 __stdcall KeSignalCallDpcSynchronize(PVOID SystemArgument2){
signed __int32 v2;
unsigned int v3;
unsigned int v4;
UINT64 SpinCount;
v2 = _InterlockedDecrement((volatile signed __int32 *)SystemArgument2);
v3 = ~v2 & 0x80000000;
if( (v2 & 0x7FFFFFFF) != 0 )
{
v4 = 0;
LODWORD(SpinCount) = 0;
while( (*(_DWORD *)SystemArgument2 & 0x80000000) != v3 )
KeYieldProcessorEx(&SpinCount);
}
else
{
v4 = 1;
*(_DWORD *)SystemArgument2 = v3 | *((_DWORD *)SystemArgument2 + 1);
}
return v4;
}Referenced by:
KiInitializeDynamicProcessorDpc
MiApplyImageHotPatchDpc