DbgkpLkmdSnapThreadApc

VOID __fastcall DbgkpLkmdSnapThreadApc(INT64 a1, INT64 a2, INT64 a3, VOID **a4, volatile INT32 **a5){
  _ETHREAD *CurrentThread; 
  void *v6; 
  volatile INT32 *v7; 
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  v6 = *a4;
  v7 = *a5;
  if( _InterlockedCompareExchange(*a5, 2, 0) )
  {
    ExFreePoolWithTag(v6, 0x704E534Bu);
  }
  else
  {
    if( (int)DbgkpLkmdSnapThreadInContext(*((INT64 **)v7 + 1), CurrentThread, *((_DWORD **)v7 + 3)) >= 0 )
      DbgkpLkmdSnapPendingIrps(*((_QWORD *)v7 + 1), (INT64)CurrentThread, *((_DWORD **)v7 + 3));
    KeSetEvent((PRKEVENT)(v7 + 8), 0);
  }
}

Referenced by:

No references.