HalpInsertSecondarySignalList
INT64 __fastcall HalpInsertSecondarySignalList(INT64 a1){
unsigned __int64 v2;
_QWORD *v3;
_QWORD *v4;
bool v5;
INT64 result;
v2 = (unsigned __int8)HalpAcquireHighLevelLock(&SecondarySignalListLock);
v3 = (_QWORD *)qword_140C49968;
v4 = (_QWORD *)(a1 + 144);
if( *(__int64 **)qword_140C49968 != &SecondarySignalList )
__fastfail(3u);
v5 = SecondarySignalDpcRunning == 0;
*v4 = &SecondarySignalList;
v4[1] = v3;
*v3 = v4;
qword_140C49968 = (__int64)v4;
if( v5 )
{
SecondarySignalDpcRunning = 1;
KiInsertQueueDpc((_KDPC *)&SecondarySignalDpc, 0i64, 0i64, 0i64, 0);
}
KxReleaseSpinLock(&SecondarySignalListLock);
result = (unsigned int)KiIrqlFlags;
__writecr8(v2);
return result;
}Referenced by:
HalpReleaseSecondaryIcEntryShared