// File: /workspace/github_cpp_makefile_star2_O3/angelapwen[P]text-based-game/game.cpp
// Function: Game::Game()
Game::Game() {
	satchel = nullptr; // Satchel will be allocated later
	map = new Map(); // Construct map immediately
	moves = 0;
	murder = discovery = false;
	maxMoves = 24; // Allow 24 moves before game ends

	// Allocate memory for and construct all rooms
	study = new Quiet("study","candlestick","a book of meditation");
	library = new Quiet("library", "rope", "a box of sleeping pills");
	conservatory = new Quiet("conservatory", "knife", "a pair of earmuffs");
	billiards = new Entertain("billiard room", "pipe", "a game of darts");
	ballroom = new Entertain("ballroom", "rope", "a record player");
	hall = new Entertain("hall", "wrench", "a doorbell");
	kitchen = new Eat("kitchen", "knife", "an apple");
	dining = new Eat("dining room", "revolver", "a pumpkin pastry");
	lounge = new Eat("lounge", "candlestick", "a block of cheese");

	// Link all rooms
	study->setCorner(kitchen);
	study->setRight(hall);
	study->setBottom(library);

	library->setTop(study);
	library->setBottom(billiards);

	billiards->setTop(library);
	billiards->setBottom(conservatory);

	conservatory->setTop(billiards);
	conservatory->setRight(ballroom);
	conservatory->setCorner(lounge);

	ballroom->setLeft(conservatory);
	ballroom->setRight(kitchen);

	kitchen->setLeft(ballroom);
	kitchen->setTop(dining);
	kitchen->setCorner(study);

	dining->setBottom(kitchen);
	dining->setTop(lounge);

	lounge->setBottom(dining);
	lounge->setLeft(hall);
	lounge->setCorner(conservatory);

	hall->setRight(lounge);
	hall->setLeft(study);

	character = ' ';
	current = nullptr; // Location of start depends on character choice

	// Set location of murder to a random room
	int murderLocation = (rand() % 9) + 1;
	switch (murderLocation) {
		case 1: {
			murderRoom = "study";
			break;
		}
		case 2: {
			murderRoom = "hall";
			break;
		}
		case 3: {
			murderRoom = "lounge";
			break;
		}
		case 4: {
			murderRoom = "dining room";
			break;
		}
		case 5: {
			murderRoom = "kitchen";
			break;
		}
		case 6: {
			murderRoom = "ballroom";
			break;
		}
		case 7: {
			murderRoom = "conservatory";
			break;
		}
		case 8: {
			murderRoom = "billiard room";
			break;
		}
		case 9: {
			murderRoom = "library";
			break;
		}
		default: {
			murderRoom = " ";
			break;
		}
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x368, %rsp            # imm = 0x368
movq %rdi, %r14
leaq 0x68(%rdi), %rbx
leaq 0x78(%rdi), %rax
movq %rax, (%rsp)
movq %rax, 0x68(%rdi)
xorl %eax, %eax
movq %rax, 0x70(%rdi)
movb $0x0, 0x78(%rdi)
movq %rax, 0x8(%rdi)
movl $0x591, %edi            # imm = 0x591
callq 0x2190
movq %rax, %r15
movq %rax, %rdi
callq 0x7be8
movq %r15, (%r14)
movabsq $0x1800000000, %rax     # imm = 0x1800000000
movq %rax, 0x10(%r14)
movw $0x0, 0x88(%r14)
movl $0xa0, %edi
callq 0x2190
movq %rax, %r15
leaq 0x358(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0xa0c6(%rip), %rsi      # 0xd738
leaq 0xa0c4(%rip), %rdx      # 0xd73d
leaq 0x348(%rsp), %rdi
callq 0x7b50
leaq 0x338(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x9e9d(%rip), %rsi      # 0xd536
leaq 0x9ea1(%rip), %rdx      # 0xd541
leaq 0x328(%rsp), %rdi
callq 0x7b50
leaq 0x318(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xa07d(%rip), %rsi      # 0xd73e
leaq 0xa08a(%rip), %rdx      # 0xd752
leaq 0x308(%rsp), %rdi
callq 0x7b50
leaq 0x348(%rsp), %rsi
leaq 0x328(%rsp), %rdx
leaq 0x308(%rsp), %rcx
movq %r15, %rdi
callq 0x9c86
movq %r15, 0x20(%r14)
movq 0x308(%rsp), %rdi
cmpq %r12, %rdi
je 0x3716
movq 0x318(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x328(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3733
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x348(%rsp), %rdi
cmpq %r13, %rdi
je 0x3750
movq 0x358(%rsp), %rsi
incq %rsi
callq 0x21a0
movl $0xa0, %edi
callq 0x2190
movq %rax, %r15
leaq 0x2f8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x9fe3(%rip), %rsi      # 0xd753
leaq 0x9fe3(%rip), %rdx      # 0xd75a
leaq 0x2e8(%rsp), %rdi
callq 0x7b50
leaq 0x2d8(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x9dc0(%rip), %rsi      # 0xd557
leaq 0x9dbd(%rip), %rdx      # 0xd55b
leaq 0x2c8(%rsp), %rdi
callq 0x7b50
leaq 0x2b8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x9f9c(%rip), %rsi      # 0xd75b
leaq 0x9fac(%rip), %rdx      # 0xd772
leaq 0x2a8(%rsp), %rdi
callq 0x7b50
leaq 0x2e8(%rsp), %rsi
leaq 0x2c8(%rsp), %rdx
leaq 0x2a8(%rsp), %rcx
movq %r15, %rdi
callq 0x9c86
movq %r15, 0x28(%r14)
movq 0x2a8(%rsp), %rdi
cmpq %r12, %rdi
je 0x3814
movq 0x2b8(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x2c8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3831
movq 0x2d8(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x2e8(%rsp), %rdi
cmpq %r13, %rdi
je 0x384e
movq 0x2f8(%rsp), %rsi
incq %rsi
callq 0x21a0
movl $0xa0, %edi
callq 0x2190
movq %rax, %r15
leaq 0x298(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x9f05(%rip), %rsi      # 0xd773
leaq 0x9f0a(%rip), %rdx      # 0xd77f
leaq 0x288(%rsp), %rdi
callq 0x7b50
leaq 0x278(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x9caf(%rip), %rsi      # 0xd544
leaq 0x9cad(%rip), %rdx      # 0xd549
leaq 0x268(%rsp), %rdi
callq 0x7b50
leaq 0x258(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x9ec3(%rip), %rsi      # 0xd780
leaq 0x9ece(%rip), %rdx      # 0xd792
leaq 0x248(%rsp), %rdi
callq 0x7b50
leaq 0x288(%rsp), %rsi
leaq 0x268(%rsp), %rdx
leaq 0x248(%rsp), %rcx
movq %r15, %rdi
callq 0x9c86
movq %r15, 0x38(%r14)
movq 0x248(%rsp), %rdi
cmpq %r12, %rdi
je 0x3912
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x268(%rsp), %rdi
cmpq %rbp, %rdi
je 0x392f
movq 0x278(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x288(%rsp), %rdi
cmpq %r13, %rdi
je 0x394c
movq 0x298(%rsp), %rsi
incq %rsi
callq 0x21a0
movl $0xa0, %edi
callq 0x2190
movq %rax, %r15
leaq 0x238(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x9e27(%rip), %rsi      # 0xd793
leaq 0x9e2d(%rip), %rdx      # 0xd7a0
leaq 0x228(%rsp), %rdi
callq 0x7b50
leaq 0x218(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x9bd4(%rip), %rsi      # 0xd567
leaq 0x9bd1(%rip), %rdx      # 0xd56b
leaq 0x208(%rsp), %rdi
callq 0x7b50
leaq 0x1f8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x9de6(%rip), %rsi      # 0xd7a1
leaq 0x9dee(%rip), %rdx      # 0xd7b0
leaq 0x1e8(%rsp), %rdi
callq 0x7b50
leaq 0x228(%rsp), %rsi
leaq 0x208(%rsp), %rdx
leaq 0x1e8(%rsp), %rcx
movq %r15, %rdi
callq 0x32f6
movq %r15, 0x30(%r14)
movq 0x1e8(%rsp), %rdi
cmpq %r12, %rdi
je 0x3a10
movq 0x1f8(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x208(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3a2d
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x228(%rsp), %rdi
cmpq %r13, %rdi
je 0x3a4a
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x21a0
movl $0xa0, %edi
callq 0x2190
movq %rax, %r15
leaq 0x1d8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x9d47(%rip), %rsi      # 0xd7b1
leaq 0x9d48(%rip), %rdx      # 0xd7b9
leaq 0x1c8(%rsp), %rdi
callq 0x7b50
leaq 0x1b8(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x9ac6(%rip), %rsi      # 0xd557
leaq 0x9ac3(%rip), %rdx      # 0xd55b
leaq 0x1a8(%rsp), %rdi
callq 0x7b50
leaq 0x198(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x9d01(%rip), %rsi      # 0xd7ba
leaq 0x9d09(%rip), %rdx      # 0xd7c9
leaq 0x188(%rsp), %rdi
callq 0x7b50
leaq 0x1c8(%rsp), %rsi
leaq 0x1a8(%rsp), %rdx
leaq 0x188(%rsp), %rcx
movq %r15, %rdi
callq 0x32f6
movq %r15, 0x40(%r14)
movq 0x188(%rsp), %rdi
cmpq %r12, %rdi
je 0x3b0e
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x1a8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3b2b
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x1c8(%rsp), %rdi
cmpq %r13, %rdi
je 0x3b48
movq 0x1d8(%rsp), %rsi
incq %rsi
callq 0x21a0
movl $0xa0, %edi
callq 0x2190
movq %rax, %r15
leaq 0x178(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x9c62(%rip), %rsi      # 0xd7ca
leaq 0x9c5f(%rip), %rdx      # 0xd7ce
leaq 0x168(%rsp), %rdi
callq 0x7b50
leaq 0x158(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x99cf(%rip), %rsi      # 0xd55e
leaq 0x99ce(%rip), %rdx      # 0xd564
leaq 0x148(%rsp), %rdi
callq 0x7b50
leaq 0x138(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x9c18(%rip), %rsi      # 0xd7cf
leaq 0x9c1b(%rip), %rdx      # 0xd7d9
leaq 0x128(%rsp), %rdi
callq 0x7b50
leaq 0x168(%rsp), %rsi
leaq 0x148(%rsp), %rdx
leaq 0x128(%rsp), %rcx
movq %r15, %rdi
callq 0x32f6
movq %r15, 0x60(%r14)
movq 0x128(%rsp), %rdi
cmpq %r12, %rdi
je 0x3c0c
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x148(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3c29
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x168(%rsp), %rdi
cmpq %r13, %rdi
je 0x3c46
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x21a0
movl $0xa0, %edi
callq 0x2190
movq %rax, %r15
leaq 0x118(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x9b74(%rip), %rsi      # 0xd7da
leaq 0x9b74(%rip), %rdx      # 0xd7e1
leaq 0x108(%rsp), %rdi
callq 0x7b50
leaq 0xf8(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x98b7(%rip), %rsi      # 0xd544
leaq 0x98b5(%rip), %rdx      # 0xd549
leaq 0xe8(%rsp), %rdi
callq 0x7b50
leaq 0xd8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x9b2d(%rip), %rsi      # 0xd7e2
leaq 0x9b2e(%rip), %rdx      # 0xd7ea
leaq 0xc8(%rsp), %rdi
callq 0x7b50
leaq 0x108(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
leaq 0xc8(%rsp), %rcx
movq %r15, %rdi
callq 0x2ed6
movq %r15, 0x48(%r14)
movq 0xc8(%rsp), %rdi
cmpq %r12, %rdi
je 0x3d0a
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0xe8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3d27
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x108(%rsp), %rdi
cmpq %r13, %rdi
je 0x3d44
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x21a0
movl $0xa0, %edi
callq 0x2190
movq %rax, %r15
leaq 0xb8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x9a87(%rip), %rsi      # 0xd7eb
leaq 0x9a8b(%rip), %rdx      # 0xd7f6
leaq 0xa8(%rsp), %rdi
callq 0x7b50
leaq 0x98(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x97c1(%rip), %rsi      # 0xd54c
leaq 0x97c2(%rip), %rdx      # 0xd554
leaq 0x88(%rsp), %rdi
callq 0x7b50
leaq 0x78(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x9a47(%rip), %rsi      # 0xd7f7
leaq 0x9a50(%rip), %rdx      # 0xd807
leaq 0x68(%rsp), %rdi
callq 0x7b50
leaq 0xa8(%rsp), %rsi
leaq 0x88(%rsp), %rdx
leaq 0x68(%rsp), %rcx
movq %r15, %rdi
callq 0x2ed6
movq %r15, 0x50(%r14)
movq 0x68(%rsp), %rdi
cmpq %r12, %rdi
je 0x3df9
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x88(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3e16
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0xa8(%rsp), %rdi
cmpq %r13, %rdi
je 0x3e33
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x21a0
movl $0xa0, %edi
callq 0x2190
movq %rax, %r15
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x99b8(%rip), %rsi      # 0xd808
leaq 0x99b7(%rip), %rdx      # 0xd80e
leaq 0x48(%rsp), %rdi
callq 0x7b50
leaq 0x38(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x96c5(%rip), %rsi      # 0xd536
leaq 0x96c9(%rip), %rdx      # 0xd541
leaq 0x28(%rsp), %rdi
callq 0x7b50
leaq 0x18(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x997c(%rip), %rsi      # 0xd80f
leaq 0x9986(%rip), %rdx      # 0xd820
leaq 0x8(%rsp), %rdi
callq 0x7b50
leaq 0x48(%rsp), %rsi
leaq 0x28(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
callq 0x2ed6
movq %r15, 0x58(%r14)
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x3ed6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3eed
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x3f04
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x21a0
movq 0x20(%r14), %rdi
movq 0x48(%r14), %rsi
callq 0xa3be
movq 0x20(%r14), %rdi
movq 0x60(%r14), %rsi
callq 0xa3b8
movq 0x20(%r14), %rdi
movq 0x28(%r14), %rsi
callq 0xa3ac
movq 0x20(%r14), %rsi
movq 0x28(%r14), %rdi
callq 0xa3a6
movq 0x28(%r14), %rdi
movq 0x30(%r14), %rsi
callq 0xa3ac
movq 0x28(%r14), %rsi
movq 0x30(%r14), %rdi
callq 0xa3a6
movq 0x30(%r14), %rdi
movq 0x38(%r14), %rsi
callq 0xa3ac
movq 0x30(%r14), %rsi
movq 0x38(%r14), %rdi
callq 0xa3a6
movq 0x38(%r14), %rdi
movq 0x40(%r14), %rsi
callq 0xa3b8
movq 0x38(%r14), %rdi
movq 0x58(%r14), %rsi
callq 0xa3be
movq 0x38(%r14), %rsi
movq 0x40(%r14), %rdi
callq 0xa3b2
movq 0x40(%r14), %rdi
movq 0x48(%r14), %rsi
callq 0xa3b8
movq 0x40(%r14), %rsi
movq 0x48(%r14), %rdi
callq 0xa3b2
movq 0x48(%r14), %rdi
movq 0x50(%r14), %rsi
callq 0xa3a6
movq 0x20(%r14), %rsi
movq 0x48(%r14), %rdi
callq 0xa3be
movq 0x48(%r14), %rsi
movq 0x50(%r14), %rdi
callq 0xa3ac
movq 0x50(%r14), %rdi
movq 0x58(%r14), %rsi
callq 0xa3a6
movq 0x50(%r14), %rsi
movq 0x58(%r14), %rdi
callq 0xa3ac
movq 0x58(%r14), %rdi
movq 0x60(%r14), %rsi
callq 0xa3b2
movq 0x38(%r14), %rsi
movq 0x58(%r14), %rdi
callq 0xa3be
movq 0x58(%r14), %rsi
movq 0x60(%r14), %rdi
callq 0xa3b8
movq 0x20(%r14), %rsi
movq 0x60(%r14), %rdi
callq 0xa3b2
movb $0x20, 0x8a(%r14)
movq $0x0, 0x18(%r14)
callq 0x2050
cltq
imulq $0x38e38e39, %rax, %rcx # imm = 0x38E38E39
movq %rcx, %rdx
shrq $0x3f, %rdx
shrq $0x20, %rcx
sarl %ecx
addl %edx, %ecx
leal (%rcx,%rcx,8), %ecx
subl %ecx, %eax
movq 0x70(%r14), %rdx
cmpl $0x9, %eax
jae 0x407a
movl %eax, %eax
leaq 0x9662(%rip), %rsi      # 0xd6c8
movslq (%rsi,%rax,4), %rcx
addq %rsi, %rcx
leaq 0x967c(%rip), %rsi      # 0xd6f0
movq (%rsi,%rax,8), %r8
jmp 0x4087
movl $0x1, %r8d
leaq 0xb7d4(%rip), %rcx      # 0xf85b
movq %rbx, %rdi
xorl %esi, %esi
callq 0x2220
addq $0x368, %rsp            # imm = 0x368
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x4458
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x40c7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x40c7
movq %rax, %r14
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x40e3
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x40e3
movq %rax, %r14
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x443f
movq 0x58(%rsp), %rsi
jmp 0x4432
jmp 0x443c
movq %rax, %r14
movq 0x68(%rsp), %rdi
cmpq %r12, %rdi
je 0x411f
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x411f
movq %rax, %r14
movq 0x88(%rsp), %rdi
cmpq %rbp, %rdi
je 0x4141
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x4141
movq %rax, %r14
movq 0xa8(%rsp), %rdi
cmpq %r13, %rdi
je 0x443f
movq 0xb8(%rsp), %rsi
jmp 0x4432
jmp 0x443c
movq %rax, %r14
movq 0xc8(%rsp), %rdi
cmpq %r12, %rdi
je 0x4189
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x4189
movq %rax, %r14
movq 0xe8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x41ab
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x41ab
movq %rax, %r14
movq 0x108(%rsp), %rdi
cmpq %r13, %rdi
je 0x443f
movq 0x118(%rsp), %rsi
jmp 0x4432
jmp 0x443c
movq %rax, %r14
movq 0x128(%rsp), %rdi
cmpq %r12, %rdi
je 0x41f3
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x41f3
movq %rax, %r14
movq 0x148(%rsp), %rdi
cmpq %rbp, %rdi
je 0x4215
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x4215
movq %rax, %r14
movq 0x168(%rsp), %rdi
cmpq %r13, %rdi
je 0x443f
movq 0x178(%rsp), %rsi
jmp 0x4432
jmp 0x443c
movq %rax, %r14
movq 0x188(%rsp), %rdi
cmpq %r12, %rdi
je 0x425d
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x425d
movq %rax, %r14
movq 0x1a8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x427f
movq 0x1b8(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x427f
movq %rax, %r14
movq 0x1c8(%rsp), %rdi
cmpq %r13, %rdi
je 0x443f
movq 0x1d8(%rsp), %rsi
jmp 0x4432
jmp 0x443c
movq %rax, %r14
movq 0x1e8(%rsp), %rdi
cmpq %r12, %rdi
je 0x42c7
movq 0x1f8(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x42c7
movq %rax, %r14
movq 0x208(%rsp), %rdi
cmpq %rbp, %rdi
je 0x42e9
movq 0x218(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x42e9
movq %rax, %r14
movq 0x228(%rsp), %rdi
cmpq %r13, %rdi
je 0x443f
movq 0x238(%rsp), %rsi
jmp 0x4432
jmp 0x443c
movq %rax, %r14
movq 0x248(%rsp), %rdi
cmpq %r12, %rdi
je 0x4331
movq 0x258(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x4331
movq %rax, %r14
movq 0x268(%rsp), %rdi
cmpq %rbp, %rdi
je 0x4353
movq 0x278(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x4353
movq %rax, %r14
movq 0x288(%rsp), %rdi
cmpq %r13, %rdi
je 0x443f
movq 0x298(%rsp), %rsi
jmp 0x4432
jmp 0x443c
movq %rax, %r14
movq 0x2a8(%rsp), %rdi
cmpq %r12, %rdi
je 0x439b
movq 0x2b8(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x439b
movq %rax, %r14
movq 0x2c8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x43bd
movq 0x2d8(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x43bd
movq %rax, %r14
movq 0x2e8(%rsp), %rdi
cmpq %r13, %rdi
je 0x443f
movq 0x2f8(%rsp), %rsi
jmp 0x4432
jmp 0x443c
movq %rax, %r14
movq 0x308(%rsp), %rdi
cmpq %r12, %rdi
je 0x43fb
movq 0x318(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x43fb
movq %rax, %r14
movq 0x328(%rsp), %rdi
cmpq %rbp, %rdi
je 0x441d
movq 0x338(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x441d
movq %rax, %r14
movq 0x348(%rsp), %rdi
cmpq %r13, %rdi
je 0x443f
movq 0x358(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x443f
movq %rax, %r14
movl $0xa0, %esi
movq %r15, %rdi
callq 0x21a0
jmp 0x445b
movq %rax, %r14
movl $0x591, %esi            # imm = 0x591
jmp 0x4444
movq %rax, %r14
movq (%rbx), %rdi
cmpq (%rsp), %rdi
je 0x4473
movq (%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x21a0
movq %r14, %rdi
callq 0x2270
nop