Beowulf

Set in 507, Beowulf is a legendary Geatish warrior who travels to Denmark with his band of soldiers, including his best friend, Wiglaf. They meet King Hrothgar, who needs a hero to slay Grendel (Crispin Glover), a hideously disfigured troll-like creature with superhuman strength. Grendel attacks Heorot, Hrothgar's mead hall, whenever the Danes held a celebration, and Hrothgar has been forced to close the hall. Upon arriving, Beowulf becomes attracted to Hrothgar's wife, Queen Wealtheow, who reciprocates his interest.
Beowulf and his men celebrate in Heorot to lure Grendel out. When the beast attacks, Beowulf engages him unarmed and naked. During the fight, Beowulf discovers that Grendel has hypersensitive hearing, which is why he interrupts Hrothgar's celebrations â the noise they make is physically painful to him. After his eardrums are ruptured by Beowulf, Grendel attempts to escape. Beowulf restrains Grendel and severs his arm with the door. In thanks for freeing his kingdom from the monster, Hrothgar gives Beowulf his golden drinking horn, which commemorates Hrothgar's victory over the mighty dragon Fafnir.
In his cave, the dying Grendel tells his mother what was done to him, and she swears revenge. She travels to Heorot and slaughters Beowulf's men while they are sleeping. Hrothgar tells both Beowulf and Wiglaf, who had been sleeping outside the hall during the attack, that it was the work of Grendel's mother. She is the last of the Water Demons, who were thought to have left the land. Beowulf and Wiglaf travel to the demon's cave to slay her. Beowulf enters the cave alone and encounters the demon, who takes the form of a beautiful woman. She offers to make him the greatest king who ever lived, in exchange for a son to replace Grendel and Hrothgar's drinking horn.
Beowulf agrees to the deal and returns, claiming to have killed her. Hrothgar, however, realizes the truth. He indirectly tells Beowulf that, much like him, Hrothgar was seduced by her, and Grendel was the result of their tryst. Hrothgar crowns Beowulf king, much to the dismay of his royal advisor, Unferth, who was hoping to take the throne. Hrothgar then commits suicide by jumping from the castle parapet onto the beach below. A wave momentarily engulfs Hrothgar's body, there is a golden flash underwater, and the body is gone.
Years later, the elderly Beowulf is married to Wealtheow. Over the years they had grown apart, husband and wife in name alone. Beowulf takes a mistress, Ursula, but his tryst with Grendel's mother has left him sterile. One day, Unferth's slave Cain finds the golden drinking horn in a swamp near Grendel's cave and brings it back to the kingdom. That night, a nearby village is destroyed by a dragon, which leaves Unferth alive to deliver a message to King Beowulf: the dragon is Beowulf's son born to Grendel's mother. Removing the horn has voided the agreement between Beowulf and Grendel's mother, who has now sent their son, the dragon, to destroy his kingdom.
Beowulf and Wiglaf go to the cave once again and Beowulf enters the cave alone. When Grendel's mother appears, Beowulf gives her the golden horn, but she refuses to stop the attacks. The dragon flies straight towards Beowulf's home, threatening Wealtheow and Ursula. Despite his age, Beowulf goes to great lengths to stop the monster, even severing his own arm. Eventually, he kills the dragon by ripping its heart out. A mortally wounded Beowulf watches the dragon transforming into a humanoid body and being washed out to sea. As Wiglaf approaches him, Beowulf tries to tell the truth about his affair with Grendel's mother, but Wiglaf insists on keeping his legacy intact. Beowulf then dies.
As the new king, Wiglaf gives Beowulf a Norse funeral. Grendel's mother appears and gives Beowulf a final kiss before his burning ship sinks into the sea. Wiglaf sees the golden horn in the sand while Grendel's mother floats in the sea, looking at him seductively. The movie ends ambiguously with Wiglaf holding the horn and staring back at her.

Question: who holding the horn?
Answer: Wiglaf; Wiglaf