PiDevCfgFreeDeviceMigrationNode

VOID __stdcall PiDevCfgFreeDeviceMigrationNode(_PI_DEVCFG_MIGRATION_NODE *MigrationNode){
  __int64 v2; 
  _UNICODE_STRING *v3; 
  __int64 v4; 

  v2 = *((_QWORD *)MigrationNode + 5);
  if( v2 )
    ZwClose(v2);
  RtlFreeAnsiString((_UNICODE_STRING *)(MigrationNode + 6));
  v3 = (_UNICODE_STRING *)(MigrationNode + 12);
  v4 = 2i64;
  do
  {
    RtlFreeAnsiString(v3++);
    --v4;
  }
  while( v4 );
  RtlFreeAnsiString((_UNICODE_STRING *)(MigrationNode + 26));
  RtlFreeAnsiString((_UNICODE_STRING *)(MigrationNode + 30));
  RtlFreeAnsiString((_UNICODE_STRING *)(MigrationNode + 34));
  RtlFreeAnsiString((_UNICODE_STRING *)MigrationNode + 10);
  ExFreePoolWithTag(MigrationNode, 0);
}

Referenced by:

PiDevCfgFindDeviceMigrationNode
PiDevCfgMigrateDevice
PiDevCfgQueryDeviceMigrationNode