DbgkpLkmdSnapThreadApc

VOID __stdcall DbgkpLkmdSnapThreadApc(INT64 a1, INT64 a2, INT64 a3, VOID **a4, INT32 **a5){
  _ETHREAD *CurrentThread; 
  void *v6; 
  INT32 *v7; 

  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  v6 = *a4;
  v7 = *a5;
  if( _InterlockedCompareExchange(*a5, 2, 0) )
  {
    ExFreePoolWithTag(v6, 0x704E534Bu);
  }
  else
  {
    if( DbgkpLkmdSnapThreadInContext(*((_DUMP_FILE_DESCRIPTOR **)v7 + 1), CurrentThread, *((_DWORD **)v7 + 3)) >= 0 )
      DbgkpLkmdSnapPendingIrps(*((_DUMP_FILE_DESCRIPTOR **)v7 + 1), (INT64)CurrentThread, *((INT64 **)v7 + 3));
    KeSetEvent((PRKEVENT)(v7 + 8), 0, 0);
  }
}

Referenced by:

No references.