Virtus Pro and Alliance take the final spots in the Kuala Lumpur Major’s upper bracket

The playoffs are set after the final group finished their stage play.

Photo via Valve

Group D was the final step before the main event at the Kuala Lumpur Major—and to no one’s surprise, Virtus Pro were ready to compete.

The esports powerhouse were favorites early on in their group, but Alliance didn’t make it easy for them. Alliance weren’t able to stop the firing squad from taking game one.

Down 1-0, Alliance came out and flipped the script, essentially wiping VP out in the final minutes of the 29-minute contest. This gave Alliance all the momentum going into the final game.

VP managed to slow down that momentum and then completely take over halfway through the game. Forty-one kills and 40 minutes later, VP moved just one series away from heading into the upper bracket.

Unlike the opening series, Forward Gaming handled their business against paiN X pretty quickly. The first game had some early competition, but the lack of offensive play from paiN X really hurt them late as Forward took a 1-0 lead—a lead that put them in a great position for the follow-up.

Game two was another slow match that focused more on controlling the map than searching for kills. Even so, Forward held their advantage for most of the early game and then wrapped it up at 38 minutes.

The winners match kicked off with Forward going one up on VP, but every game was fairly competitive and around the same length. Now up 1-0, Forward wanted to put it away and move on in the bracket.

VP fully countered Forward in the next round to even things up, despite not dominating teamfights. That momentum carried from their win into the final round, where the Russian squad finished the reverse sweep to claim the first spot in the upper bracket from Group D.

The losers match also went three games, but after a rather impressive game one win by paiN X, Alliance looked dominant for the rest of the series. Alliance evened things up at 1-1 in game two, but the really devastating blow came in game three when they took out paiN X in 26 minutes. That sent Alliance into a showdown with Forward for the final spot in the upper bracket.

The final group stage battle was very decisive in every game, with all but one being a blowout of some kind. Alliance took game one, holding Forward to just 13 kills as they ended the match in the 39th minute. Forward returned the favor in the second game as they dominated teamfights and controlled the pace of the contest.

The entire thing came down to game three, and Alliance were ready to end their long day of competition. The game lasted 36 minutes, and in that time, the European team completely stopped any offense Forward threw out. They racked up 33 kills and held Forward to just seven on their way to a 2-1 series victory.

The playoffs are next on the agenda, kicking off with Team Secret vs. Vici Gaming in a best-of-three in the upper bracket.