WheapDeferredRecoveryServiceWorker
NTSTATUS __stdcall WheapDeferredRecoveryServiceWorker(){
unsigned __int8 v0;
__int64 v1;
unsigned __int64 v2;
signed __int32 v3;
bool v4;
NTSTATUS result;
do
{
v0 = KeAcquireSpinLockRaiseToDpc((UINT64 *)&WheapDeferredInternalLogsEventLock + 11);
v1 = WheaPassiveDrsList;
v2 = v0;
WheaPassiveDrsList = *(_QWORD *)WheaPassiveDrsList;
KxReleaseSpinLock((UINT64 *)&WheapDeferredInternalLogsEventLock + 11);
__writecr8(v2);
_InterlockedExchange((volatile __int32 *)(v1 + 8), 0);
(*(void(__fastcall **)(__int64, _QWORD))(v1 + 16))(v1, *(_QWORD *)(v1 + 32));
v3 = _InterlockedExchangeAdd(&WheaPassiveDrsItemsToProcess, 0xFFFFFFFF);
v4 = v3 <= 1;
result = v3 - 1;
}
while( !v4 );
return result;
}Referenced by:
No references.