HalpInsertSecondarySignalList

NTSTATUS __stdcall HalpInsertSecondarySignalList(INT64 a1){
  unsigned __int64 v2; 
  _QWORD *v3; 
  _QWORD *v4; 
  bool v5; 
  NTSTATUS result; 

  v2 = (unsigned __int8)HalpAcquireHighLevelLock((UINT64 *)&CmpDummyThreadEvent + 998);
  v3 = (_QWORD *)*(&CmpDummyThreadEvent + 997);
  v4 = (_QWORD *)(a1 + 144);
  if( (_UNKNOWN *)**(&CmpDummyThreadEvent + 997) != (_UNKNOWN *)((char *)&CmpDummyThreadEvent + 7968) )
    __fastfail(3u);
  v5 = *(&CmpDummyThreadEvent + 7848) == 0;
  *v4 = (char *)&CmpDummyThreadEvent + 7968;
  v4[1] = v3;
  *v3 = v4;
  *(&CmpDummyThreadEvent + 997) = v4;
  if( v5 )
  {
    *(&CmpDummyThreadEvent + 7848) = 1;
    KiInsertQueueDpc((_KDPC *)&CmpDummyThreadEvent + 123, 0i64, 0i64, 0i64, 0);
  }
  KxReleaseSpinLock((UINT64 *)&CmpDummyThreadEvent + 998);
  result = KiIrqlFlags;
  __writecr8(v2);
  return result;
}

Referenced by:

HalpReleaseSecondaryIcEntryShared