// File: /workspace/github_cpp_makefile_star2_O2/angelapwen[P]text-based-game/game.cpp
// Function: Game::welcomeMenu() const
void Game::welcomeMenu() const {
	cout <<
	     "\n********************************************************************************"
	     << endl;

	cout << "\n\t\t\t\tClue: The Prequel" << endl;
	cout <<
	     "\n********************************************************************************"
	     << endl;
	cout << "\nGood evening, Professor Plum." << endl;
	cout << "We have received your application to join us at Hydra." << endl;
	cout << "We were pleased to hear of your interest, as we have been ";
	cout << "watching closely over\nyour work in the past few years." << endl;
	cout << "\nAs you know, we are an ancient Brotherhood." << endl;
	cout << "All of our applicants are subject to a series of tests and "
	        "missions to test your\ntrue dedication to our organization.";
	cout << " Tonight will be your first mission." << endl;
	cout << "\nMr. John Boddy has invited you to his 30th birthday party." <<
	     endl;
	cout << "You have access to the Boddy estate prior to the party." << endl;
	cout << "\nYour mission: " ;
	cout << "MURDER MR. JOHN BODDY BEFORE THE OTHER GUESTS ARRIVE." << endl;
	cout << "\nTo complete your mission, you will need to:" << endl;
	cout << "1. Walk around the estate and interact with the rooms." << endl;
	cout << "2. We will decide whether or not to teleport weapons to you based"
	        " off of your\nactions.";
	cout << " If you come across a weapon, you must attempt to put it in your\n"
	        "satchel. You may not leave weapons in the rooms for witnesses to "
	        "find." << endl;
	cout << "3. Once you have 4 unique weapons in your satchel, you must "
	     << "find the correct\nroom in which to commit the murder.";
	cout << " We have set up this room with a secret\nescape so you may leave "
	        "the scene of the crime undetected." << endl;

	cout << "\nOne more thing: as you know, the Boddy Estate is vast." << endl;
	cout << "It will take time for you to move between rooms to complete the "
	        "mission." << endl;
	cout << "You will only have time for " << maxMoves << " moves between "
	       "rooms to complete your mission\nbefore the dinner party begins." <<
	     endl;

	cout << "\nAdditionally, there is a chance that Mr. Boddy will discover you "
			"sneaking\naround his Estate.";
	cout << " Mr. Boddy is a suspicious man, and should this happen, you\nwill "
			"be reported to the police immediately." << endl;

	cout << "\nTo assist you in completing your mission more quickly, we have "
	        "found a way to\naccess the secret passageways between corner rooms in"
	        " the Boddy Estate. When\nyour satchel contains the wrench weapon, you"
	        " may use this special wrench to\nopen the door to the underground "
	        "tunnels that Mr. Boddy keeps locked up." << endl;

	cout << "\nFinally, you may choose to use the Emergency Exit at any point "
	        "in the game, but\nthis means you will not have completed your "
			"mission and have failed Hydra." << endl;
	cout << "\nRemember: if a head is cut off, two more shall take its place." <<
	     endl;
	cout << "Hail, Hydra!" << endl;
	cout << "\nPress enter to accept your mission."	<< endl;
	getchar();
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %r14
movq 0xce2f(%rip), %rbx      # 0x10fd0
leaq 0x58f5(%rip), %r15      # 0x9a9d
movq %rbx, %rdi
movq %r15, %rsi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x5e6e(%rip), %rsi      # 0xa030
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x5e5b(%rip), %rsi      # 0xa047
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x5e63(%rip), %rsi      # 0xa066
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x5e83(%rip), %rsi      # 0xa09d
movq %rbx, %rdi
callq 0x21a0
leaq 0x5eaf(%rip), %rsi      # 0xa0d8
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x5ecf(%rip), %rsi      # 0xa10f
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x5ee5(%rip), %rsi      # 0xa13c
movq %rbx, %rdi
callq 0x21a0
leaq 0x5f4c(%rip), %rsi      # 0xa1b2
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x5f5a(%rip), %rsi      # 0xa1d7
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x5f7f(%rip), %rsi      # 0xa213
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x5fa0(%rip), %rsi      # 0xa24b
movq %rbx, %rdi
callq 0x21a0
leaq 0x5fa1(%rip), %rsi      # 0xa25b
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x5fc0(%rip), %rsi      # 0xa291
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x5fd6(%rip), %rsi      # 0xa2be
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x5ff6(%rip), %rsi      # 0xa2f5
movq %rbx, %rdi
callq 0x21a0
leaq 0x603e(%rip), %rsi      # 0xa34c
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x60af(%rip), %rsi      # 0xa3d4
movq %rbx, %rdi
callq 0x21a0
leaq 0x60dd(%rip), %rsi      # 0xa411
movq %rax, %rdi
callq 0x21a0
leaq 0x6103(%rip), %rsi      # 0xa446
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x614f(%rip), %rsi      # 0xa4a9
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x6170(%rip), %rsi      # 0xa4e1
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x61a2(%rip), %rsi      # 0xa52a
movq %rbx, %rdi
callq 0x21a0
movl 0x14(%r14), %esi
movq %rax, %rdi
callq 0x2280
leaq 0x61a4(%rip), %rsi      # 0xa547
movq %rax, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x61db(%rip), %rsi      # 0xa595
movq %rbx, %rdi
callq 0x21a0
leaq 0x622a(%rip), %rsi      # 0xa5f3
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x627b(%rip), %rsi      # 0xa65b
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x6395(%rip), %rsi      # 0xa78c
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x641a(%rip), %rsi      # 0xa828
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x6443(%rip), %rsi      # 0xa868
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
leaq 0x6439(%rip), %rsi      # 0xa875
movq %rbx, %rdi
callq 0x21a0
movq %rax, %rdi
callq 0x20c0
popq %rbx
popq %r14
popq %r15
jmp 0x2220