// File: /workspace/github_c_makefile_star2_O0/Astor-Bizard[P]ProjetS5_Groupe2/src/lectureSH.c
// Function: typeNameFromValue
char* typeNameFromValue(uint32_t sh_type) {
	char* typeName;

	switch(sh_type) {
		case SHT_NULL:
			typeName = "NULL";
			break;
		case SHT_PROGBITS:
			typeName = "PROGBITS";
			break;
		case SHT_SYMTAB:
			typeName = "SYMTAB";
			break;
		case SHT_STRTAB:
			typeName = "STRTAB";
			break;
		case SHT_RELA:
			typeName = "RELA";
			break;
		case SHT_HASH:
			typeName = "HASH";
			break;
		case SHT_DYNAMIC:
			typeName = "DYNAMIC";
			break;
		case SHT_NOTE:
			typeName = "NOTE";
			break;
		case SHT_NOBITS:
			typeName = "NOBITS";
			break;
		case SHT_REL:
			typeName = "REL";
			break;
		case SHT_SHLIB:
			typeName = "SHLIB";
			break;
		case SHT_DYNSYM:
			typeName = "DYNSYM";
			break;
		case SHT_LOPROC:
			typeName = "LOPROC";
			break;
		case SHT_HIPROC:
			typeName = "HIPROC";
			break;
		case SHT_LOUSER:
			typeName = "LOUSER";
			break;
		case SHT_HIUSER:
			typeName = "HIUSER";
			break;
		case SHT_ARM_EXIDX:
			typeName = "ARM_EXIDX";
			break;
		case SHT_ARM_PREEMPTMAP:
			typeName = "ARM_PREEMPTMAP";
			break;
		case SHT_ARM_ATTRIBUTES:
			typeName = "ARM_ATTRIBUTES";
			break;
		case SHT_ARM_DEBUGOVERLAY:
			typeName = "ARM_DEBUGOVERLAY";
			break;
		case SHT_ARM_OVERLAYSECTION:
			typeName = "ARM_OVERLAYSECTION";
			break;
		default:
			typeName = "# ERR #";
			break;
	}

	return typeName;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0x4(%rbp)
movl -0x4(%rbp), %eax
movl %eax, -0x14(%rbp)
negl %eax
jo 0x22cb
jmp 0x20c7
movl -0x14(%rbp), %eax
subl $0x8fffffff, %eax       # imm = 0x8FFFFFFF
je 0x22d8
jmp 0x20d7
movl -0x14(%rbp), %eax
testl %eax, %eax
je 0x21f1
jmp 0x20e4
movl -0x14(%rbp), %eax
subl $0x1, %eax
je 0x2201
jmp 0x20f2
movl -0x14(%rbp), %eax
subl $0x2, %eax
je 0x2211
jmp 0x2100
movl -0x14(%rbp), %eax
subl $0x3, %eax
je 0x2221
jmp 0x210e
movl -0x14(%rbp), %eax
subl $0x4, %eax
je 0x2231
jmp 0x211c
movl -0x14(%rbp), %eax
subl $0x5, %eax
je 0x2241
jmp 0x212a
movl -0x14(%rbp), %eax
subl $0x6, %eax
je 0x2251
jmp 0x2138
movl -0x14(%rbp), %eax
subl $0x7, %eax
je 0x2261
jmp 0x2146
movl -0x14(%rbp), %eax
subl $0x8, %eax
je 0x2271
jmp 0x2154
movl -0x14(%rbp), %eax
subl $0x9, %eax
je 0x2281
jmp 0x2162
movl -0x14(%rbp), %eax
subl $0xa, %eax
je 0x2291
jmp 0x2170
movl -0x14(%rbp), %eax
subl $0xb, %eax
je 0x22a1
jmp 0x217e
movl -0x14(%rbp), %eax
subl $0x70000000, %eax       # imm = 0x70000000
je 0x22b1
jmp 0x218e
movl -0x14(%rbp), %eax
subl $0x70000001, %eax       # imm = 0x70000001
je 0x22e5
jmp 0x219e
movl -0x14(%rbp), %eax
subl $0x70000002, %eax       # imm = 0x70000002
je 0x22f2
jmp 0x21ae
movl -0x14(%rbp), %eax
subl $0x70000003, %eax       # imm = 0x70000003
je 0x22ff
jmp 0x21be
movl -0x14(%rbp), %eax
subl $0x70000004, %eax       # imm = 0x70000004
je 0x230c
jmp 0x21ce
movl -0x14(%rbp), %eax
subl $0x70000005, %eax       # imm = 0x70000005
je 0x2319
jmp 0x21de
movl -0x14(%rbp), %eax
subl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
je 0x22be
jmp 0x2326
leaq 0x36ec(%rip), %rax      # 0x58e4
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x36e1(%rip), %rax      # 0x58e9
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x36da(%rip), %rax      # 0x58f2
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x36d1(%rip), %rax      # 0x58f9
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x36c8(%rip), %rax      # 0x5900
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x36bd(%rip), %rax      # 0x5905
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x36b2(%rip), %rax      # 0x590a
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x36aa(%rip), %rax      # 0x5912
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x369f(%rip), %rax      # 0x5917
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x3696(%rip), %rax      # 0x591e
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x368a(%rip), %rax      # 0x5922
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x3680(%rip), %rax      # 0x5928
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x3677(%rip), %rax      # 0x592f
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x3671(%rip), %rax      # 0x5936
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x366b(%rip), %rax      # 0x593d
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x3665(%rip), %rax      # 0x5944
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x365f(%rip), %rax      # 0x594b
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x365c(%rip), %rax      # 0x5955
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x365e(%rip), %rax      # 0x5964
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x3660(%rip), %rax      # 0x5973
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x3664(%rip), %rax      # 0x5984
movq %rax, -0x10(%rbp)
jmp 0x2331
leaq 0x366a(%rip), %rax      # 0x5997
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
popq %rbp
retq
nopw (%rax,%rax)