// File: aempirei[P]Chat-Art/calibration.cc
// Function: display_calibration()
void display_calibration() {

	/////////////////////////////////////////////
	// calibration text is 8 lines and 32 columns
	/////////////////////////////////////////////
	// 0.32 prefix code
	// 1.08 background colors
	// 2.08 foreground colors
	// 3.08 bold foreground colors
	// 4.26 uppercase alphabet
	// 5.26 lowercase alphabet
	// 6.10 numbers
	// 7.32 suffix code

	//////////////
	// prefix code

	display_code(prefix_code);

	////////////////////
	// background colors

	for(int i = ansi::first_color; i <= ansi::last_color; i++)
		std::cout << ansi::bg(i) << ' ';

	std::cout << std::endl;

	////////////////////
	// foreground colors

	std::cout << ansi::bg(ansi::black);

	for(int i = ansi::first_color; i <= ansi::last_color; i++)
		std::cout << ansi::fg(i) << '#';

	std::cout << std::endl;

	/////////////////////////
	// bold foreground colors

	std::cout << ansi::bg(ansi::black);

	for(int i = ansi::first_color; i <= ansi::last_color; i++)
		std::cout << ansi::bold << ansi::fg(i) << '#';

	std::cout << std::endl;

	///////
	// font

	std::cout << ansi::fg(ansi::white) << ansi::bg(ansi::black);

	std::cout << "ABCDEFGHIJKLMNOPQRSTUVWXYZ" << std::endl;
	std::cout << "abcdefghijklmnopqrstuvwxyz" << std::endl;
	std::cout << "0123456789" << std::endl;

	//////////////
	// suffix code

	display_code(suffix_code);

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x180, %rsp            # imm = 0x180
movl $0xa55faced, %edi       # imm = 0xA55FACED
callq 0x4480
movl $0x0, -0x4(%rbp)
cmpl $0x7, -0x4(%rbp)
jg 0x45d2
movl -0x4(%rbp), %esi
leaq -0x28(%rbp), %rdi
movq %rdi, -0x118(%rbp)
callq 0x2880
movq -0x118(%rbp), %rsi
movq 0xaa4d(%rip), %rdi      # 0xefd0
callq 0x21c0
movq %rax, -0x110(%rbp)
jmp 0x4591
movq -0x110(%rbp), %rdi
movl $0x20, %esi
callq 0x2270
jmp 0x45a4
leaq -0x28(%rbp), %rdi
callq 0x23a8
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x455c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x23a8
jmp 0x4910
movq 0xa9f7(%rip), %rdi      # 0xefd0
movq %rdi, -0x128(%rbp)
movq 0xa9c9(%rip), %rsi      # 0xefb0
callq 0x2220
leaq -0x58(%rbp), %rdi
movq %rdi, -0x120(%rbp)
xorl %esi, %esi
callq 0x2880
movq -0x128(%rbp), %rdi
movq -0x120(%rbp), %rsi
callq 0x21c0
jmp 0x4613
leaq -0x58(%rbp), %rdi
callq 0x23a8
movl $0x0, -0x5c(%rbp)
cmpl $0x7, -0x5c(%rbp)
jg 0x46b7
movl -0x5c(%rbp), %esi
leaq -0x80(%rbp), %rdi
movq %rdi, -0x138(%rbp)
callq 0x28b0
movq -0x138(%rbp), %rsi
movq 0xa982(%rip), %rdi      # 0xefd0
callq 0x21c0
movq %rax, -0x130(%rbp)
jmp 0x465c
movq -0x130(%rbp), %rdi
movl $0x23, %esi
callq 0x2270
jmp 0x466f
leaq -0x80(%rbp), %rdi
callq 0x23a8
movl -0x5c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x5c(%rbp)
jmp 0x4623
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x23a8
jmp 0x4910
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x23a8
jmp 0x4910
movq 0xa912(%rip), %rdi      # 0xefd0
movq %rdi, -0x148(%rbp)
movq 0xa8e4(%rip), %rsi      # 0xefb0
callq 0x2220
leaq -0xa0(%rbp), %rdi
movq %rdi, -0x140(%rbp)
xorl %esi, %esi
callq 0x2880
movq -0x148(%rbp), %rdi
movq -0x140(%rbp), %rsi
callq 0x21c0
jmp 0x46fb
leaq -0xa0(%rbp), %rdi
callq 0x23a8
movl $0x0, -0xa4(%rbp)
cmpl $0x7, -0xa4(%rbp)
jg 0x47da
movq 0xa8ab(%rip), %rdi      # 0xefd0
leaq 0xab2c(%rip), %rsi      # 0xf258
callq 0x21c0
movq %rax, -0x160(%rbp)
movl -0xa4(%rbp), %esi
leaq -0xc8(%rbp), %rdi
movq %rdi, -0x158(%rbp)
callq 0x28b0
movq -0x160(%rbp), %rdi
movq -0x158(%rbp), %rsi
callq 0x21c0
movq %rax, -0x150(%rbp)
jmp 0x476d
movq -0x150(%rbp), %rdi
movl $0x23, %esi
callq 0x2270
jmp 0x4780
leaq -0xc8(%rbp), %rdi
callq 0x23a8
movl -0xa4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa4(%rbp)
jmp 0x4711
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x23a8
jmp 0x4910
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x23a8
jmp 0x4910
movq 0xa7ef(%rip), %rdi      # 0xefd0
movq %rdi, -0x178(%rbp)
movq 0xa7c1(%rip), %rsi      # 0xefb0
callq 0x2220
leaq -0xe8(%rbp), %rdi
movq %rdi, -0x170(%rbp)
movl $0x7, %esi
callq 0x28b0
movq -0x178(%rbp), %rdi
movq -0x170(%rbp), %rsi
callq 0x21c0
movq %rax, -0x168(%rbp)
jmp 0x4828
leaq -0x108(%rbp), %rdi
xorl %esi, %esi
callq 0x2880
jmp 0x4838
movq -0x168(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x21c0
jmp 0x484d
leaq -0x108(%rbp), %rdi
callq 0x23a8
leaq -0xe8(%rbp), %rdi
callq 0x23a8
movq 0xa764(%rip), %rdi      # 0xefd0
leaq 0x594f(%rip), %rsi      # 0xa1c2
callq 0x21e0
movq %rax, %rdi
movq 0xa72e(%rip), %rsi      # 0xefb0
callq 0x2220
movq 0xa742(%rip), %rdi      # 0xefd0
leaq 0x5948(%rip), %rsi      # 0xa1dd
callq 0x21e0
movq %rax, %rdi
movq 0xa70c(%rip), %rsi      # 0xefb0
callq 0x2220
movq 0xa720(%rip), %rdi      # 0xefd0
leaq 0x5941(%rip), %rsi      # 0xa1f8
callq 0x21e0
movq %rax, %rdi
movq 0xa6ea(%rip), %rsi      # 0xefb0
callq 0x2220
movl $0x1deadfed, %edi       # imm = 0x1DEADFED
callq 0x4480
addq $0x180, %rsp            # imm = 0x180
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x4904
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x23a8
leaq -0xe8(%rbp), %rdi
callq 0x23a8
movq -0x30(%rbp), %rdi
callq 0x2350
nopl (%rax)