// File: /workspace/github_cpp_makefile_star2_O3/rpavlik[P]edid-decode/edid-decode.cpp
// Function: block_name[abi:cxx11](unsigned char)
std::string block_name(unsigned char block)
{
	char buf[10];

	switch (block) {
	case 0x00: return "Base EDID";
	case 0x02: return "CTA-861 Extension Block";
	case 0x10: return "Video Timing Extension Block";
	case 0x20: return "EDID 2.0 Extension Block";
	case 0x40: return "Display Information Extension Block";
	case 0x50: return "Localized String Extension Block";
	case 0x60: return "Microdisplay Interface Extension Block";
	case 0x70: return "DisplayID Extension Block";
	case 0xf0: return "Block Map Extension Block";
	case 0xff: return "Manufacturer-Specific Extension Block";
	default:
		sprintf(buf, " 0x%02x", block);
		return std::string("Unknown EDID Extension Block") + buf;
	}
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdi, %rbx
cmpl $0x4f, %esi
jg 0x5d8b
cmpl $0xf, %esi
jle 0x5dcb
cmpl $0x10, %esi
je 0x5e48
cmpl $0x20, %esi
je 0x5e76
cmpl $0x40, %esi
jne 0x5eb9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a7b3(%rip), %rsi     # 0x20532
leaq 0x1a7cf(%rip), %rdx     # 0x20555
jmp 0x5ea2
cmpl $0x6f, %esi
jle 0x5df2
cmpl $0x70, %esi
je 0x5e5f
cmpl $0xf0, %esi
je 0x5e8d
cmpl $0xff, %esi
jne 0x5eb9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a813(%rip), %rsi     # 0x205d2
leaq 0x1a831(%rip), %rdx     # 0x205f7
jmp 0x5ea2
testl %esi, %esi
je 0x5e1a
cmpl $0x2, %esi
jne 0x5eb9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a6fe(%rip), %rsi     # 0x204e4
leaq 0x1a70e(%rip), %rdx     # 0x204fb
jmp 0x5ea2
cmpl $0x50, %esi
je 0x5e31
cmpl $0x60, %esi
jne 0x5eb9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a769(%rip), %rsi     # 0x20577
leaq 0x1a788(%rip), %rdx     # 0x2059d
jmp 0x5ea2
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a6b2(%rip), %rsi     # 0x204da
leaq 0x1a6b4(%rip), %rdx     # 0x204e3
jmp 0x5ea2
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a717(%rip), %rsi     # 0x20556
leaq 0x1a730(%rip), %rdx     # 0x20576
jmp 0x5ea2
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a6a6(%rip), %rsi     # 0x204fc
leaq 0x1a6bb(%rip), %rdx     # 0x20518
jmp 0x5ea2
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a731(%rip), %rsi     # 0x2059e
leaq 0x1a743(%rip), %rdx     # 0x205b7
jmp 0x5ea2
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a695(%rip), %rsi     # 0x20519
leaq 0x1a6a6(%rip), %rdx     # 0x20531
jmp 0x5ea2
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a71d(%rip), %rsi     # 0x205b8
leaq 0x1a72f(%rip), %rdx     # 0x205d1
movq %rbx, %rdi
callq 0x8d58
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movzbl %sil, %edx
leaq 0x1aa1e(%rip), %rsi     # 0x208e2
leaq 0x2e(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x3070
leaq 0x18(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x1a714(%rip), %rsi     # 0x205f8
leaq 0x1a729(%rip), %rdx     # 0x20614
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x8d58
movq %r15, %rdi
movq %r14, %rsi
callq 0x3420
leaq 0x10(%rbx), %rdx
movq %rdx, (%rbx)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x5f25
movq %rsi, (%rbx)
movq (%rcx), %rdx
movq %rdx, 0x10(%rbx)
jmp 0x5f2b
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rbx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x5eaa
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3260
jmp 0x5eaa
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x5f7c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3260
movq %rbx, %rdi
callq 0x3400