code: def aes_cbc_decrypt_data(symkey, iv, encdata, unpad):
      # type: (bytes, bytes, bytes, bool) -> bytes
      
      cipher = cryptography.hazmat.primitives.ciphers.Cipher(
          cryptography.hazmat.primitives.ciphers.algorithms.AES(symkey),
          cryptography.hazmat.primitives.ciphers.modes.CBC(iv),
          backend=cryptography.hazmat.backends.default_backend()).decryptor()
      decrypted = cipher.update(encdata) + cipher.finalize()
      if unpad:
          return pkcs7_unpad(decrypted)
      else:
          return decrypted
docs: Decrypt data using AES CBC
      :param bytes symkey: symmetric key
      :param bytes iv: initialization vector
      :param bytes encdata: data to decrypt
      :param bool unpad: unpad data
      :rtype: bytes
      :return: decrypted data