Sherlock Holmes and the Secret Weapon

Sherlock Holmes (Basil Rathbone) pretends to be a Nazi spy to aid scientist Dr. Franz Tobel (William Post Jr.) and his new invention, a bombsight, in escaping a Gestapo trap in Switzerland. Holmes and Franz fly to London, where Holmes places him under the protection of his friend, Dr. Watson (Nigel Bruce). The scientist slips away against Holmes' instructions for a secret reunion with his fiancee, Charlotte Eberli (Kaaren Verne), and gives her an envelope containing a coded message. He tells Charlotte to give it to Holmes if anything should happen to him. Leaving Charlotte's apartment, an attempt to abduct him by German spies is foiled by a passing London bobby.
Tobel successfully demonstrates the bombsight for Sir Reginald Bailey (Holmes Herbert) and observers from Bomber Command. Tobel, now under the protection of Inspector Lestrade (Dennis Hoey) and Scotland Yard, tells Sir Reginald that, although willing to provide the British with his bombsight, only he will know its secret and has a complex plan for its manufacture to keep the secret safe. He separates his invention into four parts and gives one to each of four Swiss scientists, known only to him, to construct separately and whose names are unknown to each other. Soon after, Holmes receives a call from Lestrade telling him that Tobel has disappeared. Holmes goes to Charlotte's flat, where he receives Tobel's envelope. Rather than the coded message, the message inside is from Holmes' nemesis, master criminal Professor Moriarty (Lionel Atwill).
Disguising himself as Ram Singh, one of Moriarty's old henchmen, Holmes searches the Soho district for information. He encounters two henchmen Peg Leg (Harold De Becker) and Jack Brady (Harry Cording), but is captured by Moriarty. Holmes is put into the false bottom of a sea chest, but is rescued when Watson and Lestrade observe the henchmen struggling with its unusual weight. Holmes returns to Charlotte's flat to search for clues to the message's contents. He finds impressions of the message left on a notepad page by immersing it in "fluorescent salts... and then photograph(ing) it by ultraviolet light." Holmes breaks the first three lines of a cunningly modified alphabet substitution code, which are the identities and locations of three of the scientists, but unable to break the fourth line, which has been altered as an added precaution, soon learns that Moriarty has murdered all three and stolen their parts. Meanwhile, Moriarty, also unable to break the fourth line, tortures Tobel for the name of the fourth scientist. Holmes deduces the change in the code and breaks the fourth line, identifying the scientist as Professor Frederick Hoffner (Henry Victor).
Moriarty accidentally deciphers the code. He sends agents to abduct Hoffner, who has the brilliance to put the four parts together should Tobel not recover from torture. The German agents bring the scientist, who is actually Holmes in disguise again, to Moriarty's seemingly undetectable stronghold. Unknown to Moriarty, Holmes had the real Hoffner attach an apparatus to their car that drips luminous paint (which Watson helped prepare) at regular intervals. Holmes uses Moriarty's vanity and pride to trick him into slowly bleeding Holmes to death "drop by drop", to stall for time. Holmes is saved at the last minute, however, by Watson and Lestrade, who with Hoffner's help, successfully followed the drops. Scotland Yard apprehends the spies, but Moriarty escapes. When he attempts to complete his escape through a secret passageway, he falls sixty feet to his death; Holmes has discovered the criminal's hidden trap door and left it open. With Tobel saved and the bombsight recovered, Watson notes that things "are looking up... this little island is still on the map".[2]

Question: Who captured Holmes?
Answer: Moriarty