PiIommuFreeExtension

NTSTATUS __stdcall PiIommuFreeExtension(PVOID BugCheckParameter2){
  void *v2; 
  void *v3; 
  NTSTATUS result; 
  if( (*((_BYTE *)BugCheckParameter2 + 16) & 2) != 0 )
    KeBugCheckEx(
      0xCAu,
      0x11ui64,
      (ULONG_PTR)BugCheckParameter2,
      *((unsigned __int8 *)BugCheckParameter2 + 16),
      0x1001ui64);
  v2 = *(void **)BugCheckParameter2;
  if( v2 )
  {
    ExFreePoolWithTag(v2, 0x64706E50u);
    *(_QWORD *)BugCheckParameter2 = 0i64;
  }
  v3 = (void *)*((_QWORD *)BugCheckParameter2 + 3);
  if( v3 )
  {
    ExFreePoolWithTag(v3, 0x64706E50u);
    *((_QWORD *)BugCheckParameter2 + 3) = 0i64;
  }
  ExFreePoolWithTag(BugCheckParameter2, 0x64706E50u);
  return result;
}

Referenced by:

PiIommuAllocateExtension
PipDmgDestroyIommuExtension