// File: /workspace/github_cpp_makefile_star2_O1/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 0x5d74
cmpl $0xf, %esi
jle 0x5db4
cmpl $0x10, %esi
je 0x5e31
cmpl $0x20, %esi
je 0x5e5f
cmpl $0x40, %esi
jne 0x5ea2
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a7ba(%rip), %rsi     # 0x20522
leaq 0x1a7d6(%rip), %rdx     # 0x20545
jmp 0x5e8b
cmpl $0x6f, %esi
jle 0x5ddb
cmpl $0x70, %esi
je 0x5e48
cmpl $0xf0, %esi
je 0x5e76
cmpl $0xff, %esi
jne 0x5ea2
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a81a(%rip), %rsi     # 0x205c2
leaq 0x1a838(%rip), %rdx     # 0x205e7
jmp 0x5e8b
testl %esi, %esi
je 0x5e03
cmpl $0x2, %esi
jne 0x5ea2
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a705(%rip), %rsi     # 0x204d4
leaq 0x1a715(%rip), %rdx     # 0x204eb
jmp 0x5e8b
cmpl $0x50, %esi
je 0x5e1a
cmpl $0x60, %esi
jne 0x5ea2
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a770(%rip), %rsi     # 0x20567
leaq 0x1a78f(%rip), %rdx     # 0x2058d
jmp 0x5e8b
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a6b9(%rip), %rsi     # 0x204ca
leaq 0x1a6bb(%rip), %rdx     # 0x204d3
jmp 0x5e8b
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a71e(%rip), %rsi     # 0x20546
leaq 0x1a737(%rip), %rdx     # 0x20566
jmp 0x5e8b
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a6ad(%rip), %rsi     # 0x204ec
leaq 0x1a6c2(%rip), %rdx     # 0x20508
jmp 0x5e8b
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a738(%rip), %rsi     # 0x2058e
leaq 0x1a74a(%rip), %rdx     # 0x205a7
jmp 0x5e8b
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a69c(%rip), %rsi     # 0x20509
leaq 0x1a6ad(%rip), %rdx     # 0x20521
jmp 0x5e8b
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x1a724(%rip), %rsi     # 0x205a8
leaq 0x1a736(%rip), %rdx     # 0x205c1
movq %rbx, %rdi
callq 0x8f6e
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movzbl %sil, %edx
leaq 0x1aa25(%rip), %rsi     # 0x208d2
leaq 0x2e(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x3070
leaq 0x18(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x1a71b(%rip), %rsi     # 0x205e8
leaq 0x1a730(%rip), %rdx     # 0x20604
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x8f6e
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 0x5f0e
movq %rsi, (%rbx)
movq (%rcx), %rdx
movq %rdx, 0x10(%rbx)
jmp 0x5f14
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 0x5e93
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3260
jmp 0x5e93
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x5f65
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3260
movq %rbx, %rdi
callq 0x3400
nop