docs: def create_from_intermediate(cls, crypto, intermediate_point, seed, compressed=True, include_cfrm=True):
          """
          Given an intermediate point, given to us by "owner", generate an address
          and encrypted private key that can be decoded by the passphrase used to generate
          the intermediate point.
          """
          flagbyte = b'\x20' if compressed else b'\x00'
          payload = b58decode_check(str(intermediate_point))
          ownerentropy = payload[8:16]
  
          passpoint = payload[16:-4]
          x, y = uncompress(passpoint)
  
          if not is_py2:
              seed = bytes(seed, 'ascii')
  
          seedb = hexlify(sha256(seed).digest())[:24]
          factorb = int(hexlify(sha256(sha256(seedb).digest()).digest()), 16)
          generatedaddress = pubtoaddr(fast_multiply((x, y), factorb))
  
          wrap = lambda x: x
          if not is_py2:
              wrap = lambda x: bytes(x, 'ascii')
  
          addresshash = sha256(sha256(wrap(generatedaddress)).digest()).digest()[:4]
  
          encrypted_seedb = scrypt.hash(passpoint, addresshash + ownerentropy, 1024, 1, 1, 64)
          derivedhalf1, derivedhalf2 = encrypted_seedb[:32], encrypted_seedb[32:]
  
          aes = AES.new(derivedhalf2)
          block1 = long(seedb[0:16], 16) ^ long(hexlify(derivedhalf1[0:16]), 16)
          encryptedpart1 = aes.encrypt(unhexlify('%0.32x' % block1))
  
          block2 = long(hexlify(encryptedpart1[8:16]) + seedb[16:24], 16) ^ long(hexlify(derivedhalf1[16:32]), 16)
          encryptedpart2 = aes.encrypt(unhexlify('%0.32x' % block2))
  
          # 39 bytes      2           1           4              8                8                 16
          payload = b"\x01\x43" + flagbyte + addresshash + ownerentropy + encryptedpart1[:8] + encryptedpart2
          encrypted_pk = b58encode_check(payload)
  
          if not include_cfrm:
              return generatedaddress, encrypted_pk
  
          confirmation_code = Bip38ConfirmationCode.create(flagbyte, ownerentropy, factorb, derivedhalf1, derivedhalf2, addresshash)
          return generatedaddress, cls(crypto, encrypted_pk), confirmation_code