Specifically, it adds an address into the wallet.

Easy to test now thanks to https://github.com/bitcoin/bitcoin/pull/14410
```
diff --git a/test/functional/wallet_importmulti.py b/test/functional/wallet_importmulti.py
index 9ba6860..bff37b2 100755
--- a/test/functional/wallet_importmulti.py
+++ b/test/functional/wallet_importmulti.py
@@ -95,6 +95,7 @@ class ImportMultiTest(BitcoinTestFramework):
         assert_equal(address_assert['iswatchonly'], True)
         assert_equal(address_assert['ismine'], False)
         assert_equal(address_assert['timestamp'], timestamp)
+        assert_equal(address_assert['ischange'], True)
 
         # ScriptPubKey + internal + label
         self.log.info("Should not allow a label to be specified when internal is true")
```

CScript script = CScript(vData.begin(), vData.end());
               CScriptID id(script);
               if (pwallet->HaveCScript(id)) {
                   pwallet->WalletLogPrintf("Skipping import of %s (script already present)\n", vstr[0]);
                   continue;
               }
               if(!pwallet->AddCScript(script)) {
                   pwallet->WalletLogPrintf("Error importing script %s\n", vstr[0]);
                   fGood = false;
                   continue;
               }
               int64_t birth_time = DecodeDumpTime(vstr[1]);
               if (birth_time > 0) {
                   pwallet->m_script_metadata[id].nCreateTime = birth_time;
                   nTimeBegin = std::min(nTimeBegin, birth_time);
               }
            }
        }
        file.close();
        uiInterface.ShowProgress("", 100, false); 
        pwallet->UpdateTimeFirstKey(nTimeBegin);
    }
    uiInterface.ShowProgress("", 100, false); 
    RescanWallet(*pwallet, reserver, nTimeBegin, false );
    pwallet->MarkDirty();
    if (!fGood)
        throw JSONRPCError(RPC_WALLET_ERROR, "Error adding some keys/scripts to wallet");
    return NullUniValue;
}
UniValue dumpprivkey(const JSONRPCRequest& request)