HalpProcessSecondarySignalList

VOID __stdcall HalpProcessSecondarySignalList(
        _KDPC *Dpc,
        VOID *DpcContext,
        VOID *SystemArgument1,
        VOID *SystemArgument2){
  unsigned __int8 i; 
  __int64 v5; 
  unsigned __int8 v6; 
  __int64 v7; 

  for( i = HalpAcquireHighLevelLock((UINT64 *)&CmpDummyThreadEvent + 998);
        ;
        i = HalpAcquireHighLevelLock((UINT64 *)&CmpDummyThreadEvent + 998) )
  {
    v5 = *(&CmpDummyThreadEvent + 996);
    v6 = i;
    if( (_UNKNOWN *)*(&CmpDummyThreadEvent + 996) == (_UNKNOWN *)((char *)&CmpDummyThreadEvent + 7968) )
      break;
    v7 = **(&CmpDummyThreadEvent + 996);
    if( *(_UNKNOWN **)(*(&CmpDummyThreadEvent + 996) + 8i64) != (_UNKNOWN *)((char *)&CmpDummyThreadEvent + 7968)
      || *(_QWORD *)(v7 + 8) != *(&CmpDummyThreadEvent + 996) )
    {
      __fastfail(3u);
    }
    *(&CmpDummyThreadEvent + 996) = **(&CmpDummyThreadEvent + 996);
    *(_QWORD *)(v7 + 8) = (char *)&CmpDummyThreadEvent + 7968;
    KxReleaseSpinLock((UINT64 *)&CmpDummyThreadEvent + 998);
    __writecr8(v6);
    KeSetEvent((PRKEVENT)(v5 - 24), 0, 0);
  }
  *(&CmpDummyThreadEvent + 7848) = 0;
  KxReleaseSpinLock((UINT64 *)&CmpDummyThreadEvent + 998);
  __writecr8(v6);
}

Referenced by:

No references.