KiDpcWatchdogCaptureStack
UINT64 __fastcall KiDpcWatchdogCaptureStack(INT64 a1){
__int64 v2;
__int64 v3;
UINT64 result;
v2 = *(_QWORD *)(a1 + 33960);
v3 = *(_QWORD *)(a1 + 33968);
if( v3 + 416 > v2 + 8 * ((unsigned __int64)(unsigned int)KiDpcWatchdogProfileArrayLength - 2) )
{
*(_QWORD *)(a1 + 33968) = v2;
v3 = v2;
}
result = RtlWalkFrameChain((VOID **)(v3 + 8), 0x32ui64, 0x200ui64);
if( (unsigned int)(result - 3) <= 0x31 )
{
*(_WORD *)v3 = result - 2;
*(_QWORD *)(a1 + 33968) += 8i64 * (unsigned int)(result - 2) + 16;
*(_OWORD *)*(_QWORD *)(a1 + 33968) = 0i64;
result = *(_QWORD *)(a1 + 33968);
*(_QWORD *)(result - 8) = 0i64;
}
return result;
}Referenced by:
KeAccumulateTicks