PopDirectedDripsDiagFreeDeviceDiagnostic

INT64 __stdcall PopDirectedDripsDiagFreeDeviceDiagnostic(PVOID P){
  void *v2; 
  void *v3; 
  void *v4; 
  void *v5; 
  void *v6; 
  INT64 result; 
  v2 = (void *)*((_QWORD *)P + 7);
  if( v2 )
    ExFreePoolWithTag(v2, 0x67696450u);
  v3 = (void *)*((_QWORD *)P + 9);
  if( v3 )
    ExFreePoolWithTag(v3, 0x67696450u);
  v4 = (void *)*((_QWORD *)P + 11);
  if( v4 )
    ExFreePoolWithTag(v4, 0x67696450u);
  v5 = (void *)*((_QWORD *)P + 13);
  if( v5 )
    ExFreePoolWithTag(v5, 0x67696450u);
  v6 = (void *)*((_QWORD *)P + 15);
  if( v6 )
    ExFreePoolWithTag(v6, 0x67696450u);
  ExFreePoolWithTag(P, 0x67696450u);
  return result;
}

Referenced by:

PopDirectedDripsDiagCreateDeviceDiagnostic
PopDirectedDripsDiagRundownDevices