DbgkpWakeTarget

VOID __stdcall DbgkpWakeTarget(_DEBUG_EVENT *DebugEvent){
  _DEBUG_EVENT v1; 
  _EX_RUNDOWN_REF *v3; 

  v1 = DebugEvent[19];
  v3 = (_EX_RUNDOWN_REF *)*((_QWORD *)DebugEvent + 8);
  if( (v1 & 0x20) != 0 )
  {
    PsResumeThread(*((_ETHREAD **)DebugEvent + 8), 0i64);
    v1 = DebugEvent[19];
  }
  if( (v1 & 8) != 0 )
  {
    ExReleaseRundownProtection(v3 + 159);
    v1 = DebugEvent[19];
  }
  if( (v1 & 2) != 0 )
    DbgkpFreeDebugEvent(DebugEvent);
  else
    KeSetEvent((PRKEVENT)(DebugEvent + 4), 0, 0);
}

Referenced by:

DbgkClearProcessDebugObject
DbgkpCloseObject
DbgkpSetProcessDebugObject
NtDebugContinue