// File: MatthewZMD[P]TetrisDual/textdisplay.cc
// Function: operator<<(std::ostream&, TextDisplay const&)
std::ostream& operator<<(std::ostream &out, const TextDisplay &td) {
	int cSpace = 6;
	int numberOfPlayers = (int)td.boardData.size();
	int numberOfRows = (int)td.boardData.at(0).size();
	int numberOfColumns = (int)td.boardData.at(0).at(0).size();

	// level
	for (int i = 0; i < numberOfPlayers; ++i) {
		if (i > 0) {
			out << std::setw(cSpace) << "";
		}
		out << "Level:" << std::setw(numberOfColumns - 6) << td.level.at(i);
	}
	out << std::endl;

	// score
	for (int i = 0; i < numberOfPlayers; ++i) {
		if (i > 0) {
			out << std::setw(cSpace) << "";
		}
		out << "Score:" << std::setw(numberOfColumns - 6) << td.score.at(i);
	}
	out << std::endl;

	// separator
	for (int i = 0; i < numberOfPlayers; ++i) {
		if (i > 0) {
			out << std::setw(cSpace) << "";
		}
		for (int j = 0; j < numberOfColumns; ++j) {
			out << "-";
		}
	}
	out << std::endl;

	// board data
	for (int r = 0; r < numberOfRows; ++r) {
		for (int i = 0; i < numberOfPlayers; ++i) {
			if (i > 0) {
				out << std::setw(cSpace) << "";
			}
			for (int c = 0; c < numberOfColumns; ++c) {
				out << td.boardData.at(i).at(r).at(c);
			}
		}
		out << std::endl;
	}

	// separator
	for (int i = 0; i < numberOfPlayers; ++i) {
		if (i > 0) {
			out << std::setw(cSpace) << "";
		}
		for (int j = 0; j < numberOfColumns; ++j) {
			out << "-";
		}
	}
	out << std::endl;

	// next block
	for (int i = 0; i < numberOfPlayers; ++i) {
		if (i > 0) {
			out << std::setw(cSpace) << "";
		}
		out << std::left << std::setw(numberOfColumns) << "Next:";
	}
	out << std::endl;

	// next type
	for (int i = 0; i < numberOfPlayers; ++i) {
		if (i > 0) {
			out << std::setw(cSpace) << "";
		}

		std::string str;
		if (td.nextType.at(i) == CellType::I) {
			str = "";
		}
		else if (td.nextType.at(i) == CellType::J) {
			str = "J";;
		}
		else if (td.nextType.at(i) == CellType::L) {
			str = "  L";
		}
		else if (td.nextType.at(i) == CellType::O) {
			str = "OO";
		}
		else if (td.nextType.at(i) == CellType::S) {
			str = " SS";
		}
		else if (td.nextType.at(i) == CellType::Z) {
			str = "ZZ";
		}
		else if (td.nextType.at(i) == CellType::T) {
			str = "TTT";
		}
		else if (td.nextType.at(i) == CellType::E) {
			str = "";
		}

		out << std::left << std::setw(numberOfColumns) << str;
	}
	out << std::endl;

	for (int i = 0; i < numberOfPlayers; ++i) {
		if (i > 0) {
			out << std::setw(cSpace) << "";
		}

		std::string str;
		if (td.nextType.at(i) == CellType::I) {
			str = "IIII";
		}
		else if (td.nextType.at(i) == CellType::J) {
			str = "JJJ";;
		}
		else if (td.nextType.at(i) == CellType::L) {
			str = "LLL";
		}
		else if (td.nextType.at(i) == CellType::O) {
			str = "OO";
		}
		else if (td.nextType.at(i) == CellType::S) {
			str = "SS";
		}
		else if (td.nextType.at(i) == CellType::Z) {
			str = " ZZ";
		}
		else if (td.nextType.at(i) == CellType::T) {
			str = " T";
		}
		else if (td.nextType.at(i) == CellType::E) {
			str = "";
		}

		out << std::left << std::setw(numberOfColumns) << str;
	}
	out << std::endl;

	return out;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x200, %rsp            # imm = 0x200
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x6, -0x14(%rbp)
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x26f30
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x26f60
movq %rax, %rdi
callq 0xf020
movl %eax, -0x1c(%rbp)
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x26f60
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x26fa0
movq %rax, %rdi
callq 0xf5c0
movl %eax, -0x20(%rbp)
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x25fb3
cmpl $0x0, -0x24(%rbp)
jle 0x25f4b
movq -0x8(%rbp), %rax
movq %rax, -0xe0(%rbp)
movl -0x14(%rbp), %edi
callq 0x26fe0
movq -0xe0(%rbp), %rdi
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %esi
callq 0x6410
movq %rax, %rdi
leaq 0x7a67(%rip), %rsi      # 0x2d9ad
callq 0x6350
movq -0x8(%rbp), %rdi
leaq 0x79a8(%rip), %rsi      # 0x2d8fe
callq 0x6350
movq %rax, -0xf0(%rbp)
movl -0x20(%rbp), %edi
subl $0x6, %edi
callq 0x26fe0
movq -0xf0(%rbp), %rdi
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %esi
callq 0x6410
movq %rax, -0xe8(%rbp)
movq -0x10(%rbp), %rdi
addq $0x8, %rdi
movslq -0x24(%rbp), %rsi
callq 0x27000
movq -0xe8(%rbp), %rdi
movl (%rax), %esi
callq 0x6620
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x25f05
movq -0x8(%rbp), %rdi
movq 0x1dfc2(%rip), %rsi     # 0x43f80
callq 0x63a0
movl $0x0, -0x30(%rbp)
movl -0x30(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x26078
cmpl $0x0, -0x30(%rbp)
jle 0x26010
movq -0x8(%rbp), %rax
movq %rax, -0xf8(%rbp)
movl -0x14(%rbp), %edi
callq 0x26fe0
movq -0xf8(%rbp), %rdi
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %esi
callq 0x6410
movq %rax, %rdi
leaq 0x79a2(%rip), %rsi      # 0x2d9ad
callq 0x6350
movq -0x8(%rbp), %rdi
leaq 0x78ea(%rip), %rsi      # 0x2d905
callq 0x6350
movq %rax, -0x108(%rbp)
movl -0x20(%rbp), %edi
subl $0x6, %edi
callq 0x26fe0
movq -0x108(%rbp), %rdi
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %esi
callq 0x6410
movq %rax, -0x100(%rbp)
movq -0x10(%rbp), %rdi
addq $0x20, %rdi
movslq -0x30(%rbp), %rsi
callq 0x27000
movq -0x100(%rbp), %rdi
movl (%rax), %esi
callq 0x6620
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x25fca
movq -0x8(%rbp), %rdi
movq 0x1defd(%rip), %rsi     # 0x43f80
callq 0x63a0
movl $0x0, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x26108
cmpl $0x0, -0x3c(%rbp)
jle 0x260d1
movq -0x8(%rbp), %rax
movq %rax, -0x110(%rbp)
movl -0x14(%rbp), %edi
callq 0x26fe0
movq -0x110(%rbp), %rdi
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %esi
callq 0x6410
movq %rax, %rdi
leaq 0x78e1(%rip), %rsi      # 0x2d9ad
callq 0x6350
movl $0x0, -0x44(%rbp)
movl -0x44(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x260fb
movq -0x8(%rbp), %rdi
leaq 0x79f3(%rip), %rsi      # 0x2dade
callq 0x6350
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0x260d8
jmp 0x260fd
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x2608f
movq -0x8(%rbp), %rdi
movq 0x1de6d(%rip), %rsi     # 0x43f80
callq 0x63a0
movl $0x0, -0x48(%rbp)
movl -0x48(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x26203
movl $0x0, -0x4c(%rbp)
movl -0x4c(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x261e5
cmpl $0x0, -0x4c(%rbp)
jle 0x26178
movq -0x8(%rbp), %rax
movq %rax, -0x118(%rbp)
movl -0x14(%rbp), %edi
callq 0x26fe0
movq -0x118(%rbp), %rdi
movl %eax, -0x50(%rbp)
movl -0x50(%rbp), %esi
callq 0x6410
movq %rax, %rdi
leaq 0x783a(%rip), %rsi      # 0x2d9ad
callq 0x6350
movl $0x0, -0x54(%rbp)
movl -0x54(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x261d5
movq -0x8(%rbp), %rax
movq %rax, -0x120(%rbp)
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
movslq -0x4c(%rbp), %rsi
callq 0x26f60
movq %rax, %rdi
movslq -0x48(%rbp), %rsi
callq 0x26fa0
movq %rax, %rdi
movslq -0x54(%rbp), %rsi
callq 0x27040
movq -0x120(%rbp), %rdi
movsbl (%rax), %esi
callq 0x6430
movl -0x54(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x54(%rbp)
jmp 0x2617f
jmp 0x261d7
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0x26132
movq -0x8(%rbp), %rdi
movq 0x1dd90(%rip), %rsi     # 0x43f80
callq 0x63a0
movl -0x48(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x48(%rbp)
jmp 0x2611f
movl $0x0, -0x58(%rbp)
movl -0x58(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x26283
cmpl $0x0, -0x58(%rbp)
jle 0x2624c
movq -0x8(%rbp), %rax
movq %rax, -0x128(%rbp)
movl -0x14(%rbp), %edi
callq 0x26fe0
movq -0x128(%rbp), %rdi
movl %eax, -0x5c(%rbp)
movl -0x5c(%rbp), %esi
callq 0x6410
movq %rax, %rdi
leaq 0x7766(%rip), %rsi      # 0x2d9ad
callq 0x6350
movl $0x0, -0x60(%rbp)
movl -0x60(%rbp), %eax
cmpl -0x20(%rbp), %eax
jge 0x26276
movq -0x8(%rbp), %rdi
leaq 0x7878(%rip), %rsi      # 0x2dade
callq 0x6350
movl -0x60(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x60(%rbp)
jmp 0x26253
jmp 0x26278
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0x2620a
movq -0x8(%rbp), %rdi
movq 0x1dcf2(%rip), %rsi     # 0x43f80
callq 0x63a0
movl $0x0, -0x64(%rbp)
movl -0x64(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x2632e
cmpl $0x0, -0x64(%rbp)
jle 0x262e0
movq -0x8(%rbp), %rax
movq %rax, -0x130(%rbp)
movl -0x14(%rbp), %edi
callq 0x26fe0
movq -0x130(%rbp), %rdi
movl %eax, -0x68(%rbp)
movl -0x68(%rbp), %esi
callq 0x6410
movq %rax, %rdi
leaq 0x76d2(%rip), %rsi      # 0x2d9ad
callq 0x6350
movq -0x8(%rbp), %rdi
leaq 0xd95(%rip), %rsi       # 0x27080
callq 0x6120
movq %rax, -0x138(%rbp)
movl -0x20(%rbp), %edi
callq 0x26fe0
movq -0x138(%rbp), %rdi
movl %eax, -0x6c(%rbp)
movl -0x6c(%rbp), %esi
callq 0x6410
movq %rax, %rdi
leaq 0x75f1(%rip), %rsi      # 0x2d90c
callq 0x6350
movl -0x64(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x64(%rbp)
jmp 0x2629a
movq -0x8(%rbp), %rdi
movq 0x1dc47(%rip), %rsi     # 0x43f80
callq 0x63a0
movl $0x0, -0x70(%rbp)
movl -0x70(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x2663e
cmpl $0x0, -0x70(%rbp)
jle 0x2638b
movq -0x8(%rbp), %rax
movq %rax, -0x140(%rbp)
movl -0x14(%rbp), %edi
callq 0x26fe0
movq -0x140(%rbp), %rdi
movl %eax, -0x74(%rbp)
movl -0x74(%rbp), %esi
callq 0x6410
movq %rax, %rdi
leaq 0x7627(%rip), %rsi      # 0x2d9ad
callq 0x6350
leaq -0x98(%rbp), %rdi
callq 0x6500
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movslq -0x70(%rbp), %rsi
callq 0x270b0
movq %rax, -0x148(%rbp)
jmp 0x263b1
movq -0x148(%rbp), %rax
cmpl $0x0, (%rax)
jne 0x263fa
leaq 0x75e9(%rip), %rsi      # 0x2d9ad
leaq -0x98(%rbp), %rdi
callq 0x64d0
jmp 0x263d2
jmp 0x265bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x6230
jmp 0x2699b
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movslq -0x70(%rbp), %rsi
callq 0x270b0
movq %rax, -0x150(%rbp)
jmp 0x26414
movq -0x150(%rbp), %rax
cmpl $0x1, (%rax)
jne 0x2643a
leaq 0x7501(%rip), %rsi      # 0x2d928
leaq -0x98(%rbp), %rdi
callq 0x64d0
jmp 0x26435
jmp 0x265bd
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movslq -0x70(%rbp), %rsi
callq 0x270b0
movq %rax, -0x158(%rbp)
jmp 0x26454
movq -0x158(%rbp), %rax
cmpl $0x2, (%rax)
jne 0x2647a
leaq 0x74ab(%rip), %rsi      # 0x2d912
leaq -0x98(%rbp), %rdi
callq 0x64d0
jmp 0x26475
jmp 0x265bb
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movslq -0x70(%rbp), %rsi
callq 0x270b0
movq %rax, -0x160(%rbp)
jmp 0x26494
movq -0x160(%rbp), %rax
cmpl $0x3, (%rax)
jne 0x264ba
leaq 0x746f(%rip), %rsi      # 0x2d916
leaq -0x98(%rbp), %rdi
callq 0x64d0
jmp 0x264b5
jmp 0x265b9
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movslq -0x70(%rbp), %rsi
callq 0x270b0
movq %rax, -0x168(%rbp)
jmp 0x264d4
movq -0x168(%rbp), %rax
cmpl $0x4, (%rax)
jne 0x264fa
leaq 0x7432(%rip), %rsi      # 0x2d919
leaq -0x98(%rbp), %rdi
callq 0x64d0
jmp 0x264f5
jmp 0x265b7
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movslq -0x70(%rbp), %rsi
callq 0x270b0
movq %rax, -0x170(%rbp)
jmp 0x26514
movq -0x170(%rbp), %rax
cmpl $0x5, (%rax)
jne 0x26537
leaq 0x7408(%rip), %rsi      # 0x2d92f
leaq -0x98(%rbp), %rdi
callq 0x64d0
jmp 0x26535
jmp 0x265b5
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movslq -0x70(%rbp), %rsi
callq 0x270b0
movq %rax, -0x178(%rbp)
jmp 0x26551
movq -0x178(%rbp), %rax
cmpl $0x6, (%rax)
jne 0x26574
leaq 0x73b9(%rip), %rsi      # 0x2d91d
leaq -0x98(%rbp), %rdi
callq 0x64d0
jmp 0x26572
jmp 0x265b3
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movslq -0x70(%rbp), %rsi
callq 0x270b0
movq %rax, -0x180(%rbp)
jmp 0x2658e
movq -0x180(%rbp), %rax
cmpl $0x7, (%rax)
jne 0x265b1
leaq 0x740c(%rip), %rsi      # 0x2d9ad
leaq -0x98(%rbp), %rdi
callq 0x64d0
jmp 0x265af
jmp 0x265b1
jmp 0x265b3
jmp 0x265b5
jmp 0x265b7
jmp 0x265b9
jmp 0x265bb
jmp 0x265bd
jmp 0x265bf
movq -0x8(%rbp), %rdi
leaq 0xab6(%rip), %rsi       # 0x27080
callq 0x6120
movq %rax, -0x188(%rbp)
jmp 0x265d8
movl -0x20(%rbp), %edi
callq 0x26fe0
movl %eax, -0x18c(%rbp)
jmp 0x265e8
movq -0x188(%rbp), %rdi
movl -0x18c(%rbp), %eax
movl %eax, -0xa8(%rbp)
movl -0xa8(%rbp), %esi
callq 0x6410
movq %rax, -0x198(%rbp)
jmp 0x2660f
movq -0x198(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x6320
jmp 0x26624
leaq -0x98(%rbp), %rdi
callq 0x6230
movl -0x70(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x70(%rbp)
jmp 0x26345
movq -0x8(%rbp), %rdi
movq 0x1d937(%rip), %rsi     # 0x43f80
callq 0x63a0
movl $0x0, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl -0x18(%rbp), %eax
jge 0x2697e
cmpl $0x0, -0xac(%rbp)
jle 0x266aa
movq -0x8(%rbp), %rax
movq %rax, -0x1a0(%rbp)
movl -0x14(%rbp), %edi
callq 0x26fe0
movq -0x1a0(%rbp), %rdi
movl %eax, -0xb0(%rbp)
movl -0xb0(%rbp), %esi
callq 0x6410
movq %rax, %rdi
leaq 0x7308(%rip), %rsi      # 0x2d9ad
callq 0x6350
leaq -0xd0(%rbp), %rdi
callq 0x6500
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movslq -0xac(%rbp), %rsi
callq 0x270b0
movq %rax, -0x1a8(%rbp)
jmp 0x266d3
movq -0x1a8(%rbp), %rax
cmpl $0x0, (%rax)
jne 0x2671c
leaq 0x723b(%rip), %rsi      # 0x2d921
leaq -0xd0(%rbp), %rdi
callq 0x64d0
jmp 0x266f4
jmp 0x268f9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xa0(%rbp)
movl %eax, -0xa4(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x6230
jmp 0x2699b
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movslq -0xac(%rbp), %rsi
callq 0x270b0
movq %rax, -0x1b0(%rbp)
jmp 0x26739
movq -0x1b0(%rbp), %rax
cmpl $0x1, (%rax)
jne 0x2675f
leaq 0x71da(%rip), %rsi      # 0x2d926
leaq -0xd0(%rbp), %rdi
callq 0x64d0
jmp 0x2675a
jmp 0x268f7
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movslq -0xac(%rbp), %rsi
callq 0x270b0
movq %rax, -0x1b8(%rbp)
jmp 0x2677c
movq -0x1b8(%rbp), %rax
cmpl $0x2, (%rax)
jne 0x267a2
leaq 0x719b(%rip), %rsi      # 0x2d92a
leaq -0xd0(%rbp), %rdi
callq 0x64d0
jmp 0x2679d
jmp 0x268f5
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movslq -0xac(%rbp), %rsi
callq 0x270b0
movq %rax, -0x1c0(%rbp)
jmp 0x267bf
movq -0x1c0(%rbp), %rax
cmpl $0x3, (%rax)
jne 0x267e5
leaq 0x7144(%rip), %rsi      # 0x2d916
leaq -0xd0(%rbp), %rdi
callq 0x64d0
jmp 0x267e0
jmp 0x268f3
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movslq -0xac(%rbp), %rsi
callq 0x270b0
movq %rax, -0x1c8(%rbp)
jmp 0x26802
movq -0x1c8(%rbp), %rax
cmpl $0x4, (%rax)
jne 0x26828
leaq 0x7105(%rip), %rsi      # 0x2d91a
leaq -0xd0(%rbp), %rdi
callq 0x64d0
jmp 0x26823
jmp 0x268f1
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movslq -0xac(%rbp), %rsi
callq 0x270b0
movq %rax, -0x1d0(%rbp)
jmp 0x26845
movq -0x1d0(%rbp), %rax
cmpl $0x5, (%rax)
jne 0x2686b
leaq 0x70d6(%rip), %rsi      # 0x2d92e
leaq -0xd0(%rbp), %rdi
callq 0x64d0
jmp 0x26866
jmp 0x268ef
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movslq -0xac(%rbp), %rsi
callq 0x270b0
movq %rax, -0x1d8(%rbp)
jmp 0x26888
movq -0x1d8(%rbp), %rax
cmpl $0x6, (%rax)
jne 0x268ab
leaq 0x7097(%rip), %rsi      # 0x2d932
leaq -0xd0(%rbp), %rdi
callq 0x64d0
jmp 0x268a9
jmp 0x268ed
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movslq -0xac(%rbp), %rsi
callq 0x270b0
movq %rax, -0x1e0(%rbp)
jmp 0x268c8
movq -0x1e0(%rbp), %rax
cmpl $0x7, (%rax)
jne 0x268eb
leaq 0x70d2(%rip), %rsi      # 0x2d9ad
leaq -0xd0(%rbp), %rdi
callq 0x64d0
jmp 0x268e9
jmp 0x268eb
jmp 0x268ed
jmp 0x268ef
jmp 0x268f1
jmp 0x268f3
jmp 0x268f5
jmp 0x268f7
jmp 0x268f9
movq -0x8(%rbp), %rdi
leaq 0x77c(%rip), %rsi       # 0x27080
callq 0x6120
movq %rax, -0x1e8(%rbp)
jmp 0x26912
movl -0x20(%rbp), %edi
callq 0x26fe0
movl %eax, -0x1ec(%rbp)
jmp 0x26922
movq -0x1e8(%rbp), %rdi
movl -0x1ec(%rbp), %eax
movl %eax, -0xd4(%rbp)
movl -0xd4(%rbp), %esi
callq 0x6410
movq %rax, -0x1f8(%rbp)
jmp 0x26949
movq -0x1f8(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x6320
jmp 0x2695e
leaq -0xd0(%rbp), %rdi
callq 0x6230
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x26658
movq -0x8(%rbp), %rdi
movq 0x1d5f7(%rip), %rsi     # 0x43f80
callq 0x63a0
movq -0x8(%rbp), %rax
addq $0x200, %rsp            # imm = 0x200
popq %rbp
retq
movq -0xa0(%rbp), %rdi
callq 0x6630
nopw (%rax,%rax)