An Indonesian cruise worker confessed to raping a passenger and trying to throw her overboard from her stateroom balcony, US authorities said.
Ketut Pujayasa, 28, told them the Valentine's Day assault was carried out in revenge for an alleged insult.
The victim told FBI agents her attacker appeared with no warning inside her stateroom in the middle of the night and raped, punched and choked her.
He then tried to throw her from the balcony into the ocean in international waters off the coast of Roatan, Honduras.
The vicious attack happened on a cruise ship that departed from Port Everglades, Florida, according to court records.
Pujayasa was detained on the MS Nieuw Amsterdam and was arrested by the FBI when the ship arrived in Fort Lauderdale on Sunday. The 31-year-old woman, who is from the US, but was identified only by her initials in court records, said she lost consciousness at least once during the assault and firmly believed her attacker was trying to kill her. Pujayasa, an Indonesian citizen who worked as a room service attendant, said he was punishing the woman, the FBI agents said.
Pujayasa, who worked for Holland America Line, said he delivered breakfast to the woman in her stateroom on Thursday.
He said he knocked three times before the passenger acknowledged him and said he heard a woman's voice saying: "Wait a minute, son of a b****."
FBI Special Agent David Nunez wrote in his report: "Pujayasa stated that the passenger's comment of 'son of a b****' was offensive. He was angry and upset the rest of the day."
That evening, Pujayasa returned to the stateroom and knocked on the door, but there was no answer.
He then used his company-issued master key to get into the woman's room even though he was off duty, authorities said. He told agents he hid on the balcony and fell asleep on a chair. When the woman returned, he went inside her room and began choking and punching her.
He said he struck her with several items, including a laptop computer and a curling iron, and that he used a phone cord and curling iron cord to try to silence her screams for help.
"[The woman] then continued to fight for her life by all means available, including striking Pujayasa's exposed genitals as well as using a corkscrew in an attempt to stab him," agents said Pujayasa told them.
Unable to silence the victim, Pujayasa told investigators that he tried to throw her overboard, knowing that the ship was moving and any attempt to find her "would be extremely difficult in hours of darkness".
He said he stopped the attack when someone started knocking on the woman's stateroom door.
He escaped by jumping from balcony to balcony along the outside of the ship and, still naked below the waist, broke into another stateroom and fled, he said.