PopIdlePhaseWatchdogCallback

INT64 __fastcall PopIdlePhaseWatchdogCallback(INT64 a1, INT64 rdx0, INT64 a3, INT64 a4, INT64 a5, INT64 a6){
  unsigned int v7; 
  PVOID v9; 
  unsigned int v10; 
  INT64 v12; 
  PVOID P[2]; 
  PVOID v14; 
  int a2; 
  PVOID v16[2]; 
  PVOID v17[2]; 
  PVOID v18; 
  PVOID v19; 
  v7 = rdx0;
  memset((INT64)P, 0i64);
  PopSnapSystemIdleContext(&v14, &a2);
  PopPdcSnapDiagnosticContext();
  PopAcquireRwLockExclusive(&stru_140C21188);
  v9 = qword_140C21198;
  qword_140C21198 = 0i64;
  dword_140C211A0 = 0;
  P[0] = v9;
  PopReleaseRwLock((UINT64)&stru_140C21188);
  *(_OWORD *)v16 = 0i64;
  *(_OWORD *)v17 = 0i64;
  v18 = 0i64;
  PopPowerAggregatorSnapDiagnosticContext((CHAR **)&v19);
  LODWORD(v12) = 0;
  v10 = DbgkWerCaptureLiveKernelDump((WCHAR *)L"IdlePhaseWatchdog", v7, a3, a4, a5, a6, 0i64, 0i64, v12);
  if( P[0] )
    ExFreePoolWithTag(P[0], 0x67696450u);
  if( v14 )
    ExFreePoolWithTag(v14, 0x67696450u);
  if( v16[0] )
    ExFreePoolWithTag(v16[0], 0x54445050u);
  if( v16[1] )
    ExFreePoolWithTag(v16[1], 0x54445050u);
  if( v17[0] )
    ExFreePoolWithTag(v17[0], 0x54445050u);
  if( v17[1] )
    ExFreePoolWithTag(v17[1], 0x54445050u);
  if( v18 )
    ExFreePoolWithTag(v18, 0x54445050u);
  if( v19 )
    ExFreePoolWithTag(v19, 0x67696450u);
  return v10;
}

Referenced by:

No references.