Stewart first took on Graham, who he mocked with a ridiculous fake Southern accent.

Then he moved on to McCain, hitting him for "hypocrisy" because McCain did not support Congressional investigations into the Iraq War despite repeatedly calling for ones into the September terrorist attacks on the U.S. mission in Benghazi.

"No, McCain. You don't get to pull the 'four-dead-Americans' [expletive]," Stewart said. "You lost that privilege over a period of, I don't know, the Iraq War — which I believe the casualty count for was Benghazi times 1,000."

Stewart played clips of McCain defending the call to go to war with Iraq and opposing Congressional investigation, saying "mistakes have been made — they've been well- chronicled."

Stewart also hit McCain for "junior-high-school level pettiness" in opposing Hagel, pointing to his assertion in an interview last week that "people don't forget" that Hagel called President George W. Bush the "worst president since Herbert Hoover."

In the end, Stewart said McCain had become the "antithesis" of his 2008 presidential campaign slogan, "Country First."

"Blocking a Secretary of Defense nominee who has absolutely nothing to do with the target of your current rediscovered outrage at American deaths overseas, whilst also copping to maybe a little personal payback, is the antithesis of your stated campaign slogan," Stewart said.