docs: def _ssl_PRF(secret, seed, req_len):
      """
      Provides the implementation of SSLv3 PRF function:
  
       SSLv3-PRF(secret, seed) =
          MD5(secret || SHA-1("A" || secret || seed)) ||
          MD5(secret || SHA-1("BB" || secret || seed)) ||
          MD5(secret || SHA-1("CCC" || secret || seed)) || ...
  
      req_len should not be more than  26 x 16 = 416.
      """
      if req_len > 416:
          warning("_ssl_PRF() is not expected to provide more than 416 bytes")
          return ""
  
      d = [b"A", b"B", b"C", b"D", b"E", b"F", b"G", b"H", b"I", b"J", b"K", b"L",  # noqa: E501
           b"M", b"N", b"O", b"P", b"Q", b"R", b"S", b"T", b"U", b"V", b"W", b"X",  # noqa: E501
           b"Y", b"Z"]
      res = b""
      hash_sha1 = _tls_hash_algs["SHA"]()
      hash_md5 = _tls_hash_algs["MD5"]()
      rounds = (req_len + hash_md5.hash_len - 1) // hash_md5.hash_len
  
      for i in range(rounds):
          label = d[i] * (i + 1)
          tmp = hash_sha1.digest(label + secret + seed)
          res += hash_md5.digest(secret + tmp)
  
      return res[:req_len]