docs: def generate_address(self, passphrase):
          """
          Make sure the confirm code is valid for the given password and address.
          """
  
          inter = Bip38IntermediatePoint.create(passphrase, ownersalt=self.ownersalt)
  
          public_key = privtopub(inter.passpoint)
  
          # from Bip38EncryptedPrivateKey.create_from_intermediate
          derived = scrypt.hash(inter.passpoint, self.addresshash + inter.ownerentropy, 1024, 1, 1, 64)
          derivedhalf1, derivedhalf2 = derived[:32], derived[32:]
  
          unencrypted_prefix = bytes_to_int(self.pointbprefix) ^ (bytes_to_int(derived[63]) & 0x01);
  
          aes = AES.new(derivedhalf2)
          block1 = aes.decrypt(self.pointbx1)
          block2 = aes.decrypt(self.pointbx2)
  
          raise Exception("Not done yet")
  
          return
          block2 = long(hexlify(pointb2), 16) ^ long(hexlify(derivedhalf1[16:]), 16)
  
  
          return pubtoaddr(*fast_multiply(pointb, passfactor))