// File: /workspace/github_c_makefile_star2_O3/blasphemy[P]mmc-utils/lsmmc.c
// Function: speed_class_speed
char *speed_class_speed(unsigned char id, bool ddr)
{
	if (ddr) {
		switch (id) {
		case 0x00: return "<4.8MB/s";
		case 0x08: return " 4.8MB/s";
		case 0x0a: return " 6.0MB/s";
		case 0x0f: return " 9.0MB/s";
		case 0x14: return "12.0MB/s";
		case 0x1e: return "18.0MB/s";
		case 0x28: return "24.0MB/s";
		case 0x32: return "30.0MB/s";
		case 0x3c: return "36.0MB/s";
		case 0x46: return "42.0MB/s";
		case 0x50: return "48.0MB/s";
		case 0x64: return "60.0MB/s";
		case 0x78: return "72.0MB/s";
		case 0x8c: return "84.0MB/s";
		case 0xa0: return "96.0MB/s";
		default: return "??.?MB/s";
		}
	} else {
		switch (id) {
		case 0x00: return "<2.4MB/s";
		case 0x08: return " 2.4MB/s";
		case 0x0a: return " 3.0MB/s";
		case 0x0f: return " 4.5MB/s";
		case 0x14: return " 6.0MB/s";
		case 0x1e: return " 9.0MB/s";
		case 0x28: return "12.0MB/s";
		case 0x32: return "15.0MB/s";
		case 0x3c: return "18.0MB/s";
		case 0x46: return "21.0MB/s";
		case 0x50: return "24.0MB/s";
		case 0x64: return "30.0MB/s";
		case 0x78: return "36.0MB/s";
		case 0x8c: return "42.0MB/s";
		case 0xa0: return "48.0MB/s";
		default: return "??.?MB/s";
		}
	}
}

// Assembly:
movzbl %dil, %eax
testl %esi, %esi
je 0xad24
cmpl $0x31, %eax
jle 0xad52
cmpl $0x63, %eax
jg 0xada0
cmpl $0x45, %eax
jg 0xae4f
cmpl $0x32, %eax
je 0xaead
cmpl $0x3c, %eax
je 0xade2
jmp 0xaebd
cmpl $0x31, %eax
jle 0xad7b
cmpl $0x63, %eax
jg 0xadc5
cmpl $0x45, %eax
jg 0xae5b
cmpl $0x32, %eax
je 0xaedd
cmpl $0x3c, %eax
je 0xae9d
jmp 0xaebd
cmpl $0xe, %eax
jle 0xadea
cmpl $0x1d, %eax
jg 0xae2e
cmpl $0xf, %eax
je 0xaea5
cmpl $0x14, %eax
je 0xae47
jmp 0xaebd
cmpl $0xe, %eax
jle 0xae0c
cmpl $0x1d, %eax
jg 0xae3d
cmpl $0xf, %eax
je 0xaec5
cmpl $0x14, %eax
je 0xae04
jmp 0xaebd
cmpl $0x8b, %eax
jg 0xae71
cmpl $0x64, %eax
je 0xaee5
cmpl $0x78, %eax
jne 0xaebd
leaq 0x82ab(%rip), %rax      # 0x1306f
retq
cmpl $0x8b, %eax
jg 0xae87
cmpl $0x64, %eax
je 0xaead
cmpl $0x78, %eax
jne 0xaebd
leaq 0x8262(%rip), %rax      # 0x1304b
retq
testl %eax, %eax
je 0xaefd
cmpl $0x8, %eax
je 0xaecd
cmpl $0xa, %eax
jne 0xaebd
leaq 0x820a(%rip), %rax      # 0x13015
retq
testl %eax, %eax
je 0xaf05
cmpl $0x8, %eax
je 0xaed5
cmpl $0xa, %eax
jne 0xaebd
leaq 0x8278(%rip), %rax      # 0x130a5
retq
cmpl $0x1e, %eax
je 0xae9d
cmpl $0x28, %eax
je 0xae69
jmp 0xaebd
cmpl $0x1e, %eax
je 0xaea5
cmpl $0x28, %eax
jne 0xaebd
leaq 0x81d9(%rip), %rax      # 0x13027
retq
cmpl $0x46, %eax
je 0xaeb5
cmpl $0x50, %eax
je 0xae95
jmp 0xaebd
cmpl $0x46, %eax
je 0xaeed
cmpl $0x50, %eax
jne 0xaebd
leaq 0x81c9(%rip), %rax      # 0x13039
retq
cmpl $0x8c, %eax
je 0xaef5
cmpl $0xa0, %eax
jne 0xaebd
leaq 0x81fb(%rip), %rax      # 0x13081
retq
cmpl $0x8c, %eax
je 0xaeb5
cmpl $0xa0, %eax
jne 0xaebd
leaq 0x81c1(%rip), %rax      # 0x1305d
retq
leaq 0x818c(%rip), %rax      # 0x13030
retq
leaq 0x8172(%rip), %rax      # 0x1301e
retq
leaq 0x818e(%rip), %rax      # 0x13042
retq
leaq 0x8198(%rip), %rax      # 0x13054
retq
leaq 0x81c6(%rip), %rax      # 0x1308a
retq
leaq 0x81e2(%rip), %rax      # 0x130ae
retq
leaq 0x8138(%rip), %rax      # 0x1300c
retq
leaq 0x81c0(%rip), %rax      # 0x1309c
retq
leaq 0x81d3(%rip), %rax      # 0x130b7
retq
leaq 0x817a(%rip), %rax      # 0x13066
retq
leaq 0x81cc(%rip), %rax      # 0x130c0
retq
leaq 0x817c(%rip), %rax      # 0x13078
retq
leaq 0x80ff(%rip), %rax      # 0x13003
retq
leaq 0x8187(%rip), %rax      # 0x13093
retq