LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/vampirefrog[P]x68ksjis/sjis2utf8.c
// Function: main
int main(int argc, char **argv) {
	FILE *in = stdin, *out = stdout;
	if(argc > 1) in = fopen(argv[1], "rb");
	if(argc > 2) out = fopen(argv[2], "wb");

	int last_byte = 0;
	int b = 0;
	while((b = sjis_fgetc(in)) != EOF) {
		if(b == -2) fprintf(stderr, "Invalid char found at %d\n", ftell(in));
		utf8_fputc(sjis_char_to_unicode(b), out);
	}

	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq 0x5e1b(%rip), %rax      # 0x6fd8
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq 0x5e05(%rip), %rax      # 0x6fd0
movq (%rax), %rax
movq %rax, -0x20(%rbp)
cmpl $0x1, -0x8(%rbp)
jle 0x11f0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x3e1d(%rip), %rsi      # 0x5004
callq 0x1080
movq %rax, -0x18(%rbp)
cmpl $0x2, -0x8(%rbp)
jle 0x120e
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
leaq 0x3e02(%rip), %rsi      # 0x5007
callq 0x1080
movq %rax, -0x20(%rbp)
movl $0x0, -0x24(%rbp)
movl $0x0, -0x28(%rbp)
movq -0x18(%rbp), %rdi
callq 0x1640
movl %eax, -0x28(%rbp)
cmpl $-0x1, %eax
je 0x1277
cmpl $-0x2, -0x28(%rbp)
jne 0x125f
movq 0x5dbe(%rip), %rax      # 0x6ff8
movq (%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rdi
callq 0x1070
movq -0x30(%rbp), %rdi
movq %rax, %rdx
leaq 0x3db2(%rip), %rsi      # 0x500a
movb $0x0, %al
callq 0x1060
movl -0x28(%rbp), %eax
movzwl %ax, %edi
callq 0x1950
movl %eax, %edi
movq -0x20(%rbp), %rsi
callq 0x4270
jmp 0x121c
xorl %eax, %eax
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Astor-Bizard[P]ProjetS5_Groupe2/src/lecture_ELF.c
// Function: print_usage
void print_usage() {
	printf("Usage: lecture_ELF <option(s)> elf-file\n");
	printf(" Display information about the contents of ELF format files\n");
	printf(" Options are:\n");
	printf("  -a                 Equivalent to: -h -S -s -x -r\n");
	printf("  -h                 Display the ELF file header\n");
	printf("  -S                 Display the sections' header\n");
	printf("  -e                 Equivalent to: -h -S\n");
	printf("  -s                 Display the symbol table\n");
	printf("  -r                 Display the relocations (if present)\n");
	printf("  -x <number|name>   Dump the contents of section <number|name> as bytes. If no name/number, it will be asked during execution.\n");
	printf("  -H                 Display this information\n\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x3e8d(%rip), %rdi      # 0x50c8
movb $0x0, %al
callq 0x1070
leaq 0x3ea8(%rip), %rdi      # 0x50f1
movb $0x0, %al
callq 0x1070
leaq 0x3ed7(%rip), %rdi      # 0x512e
movb $0x0, %al
callq 0x1070
leaq 0x3ed8(%rip), %rdi      # 0x513d
movb $0x0, %al
callq 0x1070
leaq 0x3efe(%rip), %rdi      # 0x5171
movb $0x0, %al
callq 0x1070
leaq 0x3f22(%rip), %rdi      # 0x51a3
movb $0x0, %al
callq 0x1070
leaq 0x3f47(%rip), %rdi      # 0x51d6
movb $0x0, %al
callq 0x1070
leaq 0x3f64(%rip), %rdi      # 0x5201
movb $0x0, %al
callq 0x1070
leaq 0x3f85(%rip), %rdi      # 0x5230
movb $0x0, %al
callq 0x1070
leaq 0x3fb2(%rip), %rdi      # 0x526b
movb $0x0, %al
callq 0x1070
leaq 0x4025(%rip), %rdi      # 0x52ec
movb $0x0, %al
callq 0x1070
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/Astor-Bizard[P]ProjetS5_Groupe2/src/lecture_headers.c
// Function: lire_octets
long long int lire_octets(char mode, FILE *f, int nb_octet)
{
	int i;
	long long int retour = 0;
	for(i=0 ; i<nb_octet;i++)
	{
		if(mode == B_ENDIAN) 
		{
			retour = (retour << 8) | fgetc(f);			
		}
		else if (mode == L_ENDIAN)
		{
			
			retour = retour | (fgetc(f) << 8*i);
		}
	}
	return retour;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movb %dil, %al
movb %al, -0x1(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq $0x0, -0x20(%rbp)
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x191f
movsbl -0x1(%rbp), %eax
cmpl $0x2, %eax
jne 0x18dc
movq -0x20(%rbp), %rax
shlq $0x8, %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1080
movl %eax, %ecx
movq -0x28(%rbp), %rax
movslq %ecx, %rcx
orq %rcx, %rax
movq %rax, -0x20(%rbp)
jmp 0x1912
movsbl -0x1(%rbp), %eax
cmpl $0x1, %eax
jne 0x1910
movq -0x20(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1080
movl %eax, %edx
movq -0x30(%rbp), %rax
movl -0x18(%rbp), %ecx
shll $0x3, %ecx
shll %cl, %edx
movl %edx, %ecx
movslq %ecx, %rcx
orq %rcx, %rax
movq %rax, -0x20(%rbp)
jmp 0x1912
jmp 0x1914
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x18a4
movq -0x20(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Astor-Bizard[P]ProjetS5_Groupe2/src/lectureSH.c
// Function: fetchSectionNames
char* fetchSectionNames(FILE* f, Elf32_Ehdr elfHeader, SectionsHeadersList shList) {
	int i;

	char* names = (char*) malloc(sizeof(char)*shList.headers[elfHeader.e_shstrndx].sh_size);
	if (names==NULL) {
		printf("\nErreur lors de l'allocation initiale de la table des noms.\n");
		return NULL;
	}

	fseek(f, shList.headers[elfHeader.e_shstrndx].sh_offset, 0);
	for(i=0; i<shList.headers[elfHeader.e_shstrndx].sh_size; i++)
		names[i] = fgetc(f);
	
	return names;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
leaq 0x48(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x10(%rbp), %rcx
movq %rcx, -0x28(%rbp)
movq %rdi, -0x10(%rbp)
movq (%rax), %rax
movzwl 0x32(%rcx), %ecx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x14(%rax), %eax
movl %eax, %edi
shlq $0x0, %rdi
callq 0x10c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x239b
leaq 0x3615(%rip), %rdi      # 0x599f
movb $0x0, %al
callq 0x1070
movq $0x0, -0x8(%rbp)
jmp 0x240f
movq -0x28(%rbp), %rcx
movq -0x30(%rbp), %rax
movq -0x10(%rbp), %rdi
movq (%rax), %rax
movzwl 0x32(%rcx), %ecx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x10(%rax), %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x10d0
movl $0x0, -0x14(%rbp)
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rcx
movl -0x14(%rbp), %eax
movq (%rcx), %rcx
movzwl 0x32(%rdx), %edx
imulq $0x28, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x14(%rcx), %eax
jae 0x2407
movq -0x10(%rbp), %rdi
callq 0x1080
movb %al, %dl
movq -0x20(%rbp), %rax
movslq -0x14(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x23c8
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Astor-Bizard[P]ProjetS5_Groupe2/src/lectureSH.c
// Function: getSectionName
char* getSectionName(char* names, uint32_t sh_name) {
	int i = 0;

	while(names[sh_name+i] != '\0')
		i++;
	i++;

	char* sectionName = (char*) malloc(sizeof(char)*i);
	if (names==NULL) {
		printf("\nErreur lors de l'allocation initiale d'un nom de section.\n");
		return NULL;
	}

	i = 0;
	while(names[sh_name+i] != '\0') {
		sectionName[i] = names[sh_name+i];
		i++;
	}
	sectionName[i] = '\0';

	return sectionName;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl $0x0, -0x18(%rbp)
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl -0x18(%rbp), %ecx
movl %ecx, %ecx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x2456
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x2436
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movslq -0x18(%rbp), %rdi
shlq $0x0, %rdi
callq 0x10c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x248f
leaq 0x355e(%rip), %rdi      # 0x59dc
movb $0x0, %al
callq 0x1070
movq $0x0, -0x8(%rbp)
jmp 0x24e4
movl $0x0, -0x18(%rbp)
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl -0x18(%rbp), %ecx
movl %ecx, %ecx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x24d0
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl -0x18(%rbp), %ecx
movl %ecx, %ecx
movb (%rax,%rcx), %dl
movq -0x20(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x2496
movq -0x20(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Astor-Bizard[P]ProjetS5_Groupe2/src/afficher_section.c
// Function: afficher_string
void afficher_string(unsigned char *section, int size){
	int i,j;
	unsigned char aff[17];
	for(j=0;j<17;j++)aff[j]='\0';
	printf("  0x%08x ",0);
	i=0;
	// On affiche le contenu de la section
	while(i<size){
		// Affichage de l'offset
		if(i!=0){
			if(i%16==0){
				printf(" %s\n  0x%08x ",aff,i);	// Affichage non hexa
				for(j=0;j<17;j++)aff[j]='\0';
			}
			else if(i%4==0) printf(" ");
		}

		// Affichage hexa
		printf("%02x",section[i]);

		// Memorisation du caractère pour écriture non hexa
		aff[i%16]=section[i];
		if(aff[i%16]<32 || aff[i%16]>126) aff[i%16]='.';
		i++;
	}

	// Terminaison de l'affichage
	while(i%16!=0){
		if(i%4==0) printf(" ");
		printf("  ");
		i++;
	}
	printf(" %s\n\n",aff);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl $0x0, -0x14(%rbp)
cmpl $0x11, -0x14(%rbp)
jge 0x2d30
movslq -0x14(%rbp), %rax
movb $0x0, -0x30(%rbp,%rax)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x2d16
leaq 0x2f02(%rip), %rdi      # 0x5c39
xorl %esi, %esi
movb $0x0, %al
callq 0x1070
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0xc(%rbp), %eax
jge 0x2e4b
cmpl $0x0, -0x10(%rbp)
je 0x2dc3
movl -0x10(%rbp), %eax
movl $0x10, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x2da1
leaq -0x30(%rbp), %rsi
movl -0x10(%rbp), %edx
leaq 0x2ebe(%rip), %rdi      # 0x5c35
movb $0x0, %al
callq 0x1070
movl $0x0, -0x14(%rbp)
cmpl $0x11, -0x14(%rbp)
jge 0x2d9f
movslq -0x14(%rbp), %rax
movb $0x0, -0x30(%rbp,%rax)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x2d85
jmp 0x2dc1
movl -0x10(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x2dbf
leaq 0x2816(%rip), %rdi      # 0x55ce
movb $0x0, %al
callq 0x1070
jmp 0x2dc1
jmp 0x2dc3
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movzbl (%rax,%rcx), %esi
leaq 0x2e6d(%rip), %rdi      # 0x5c43
movb $0x0, %al
callq 0x1070
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movb (%rax,%rcx), %cl
movl -0x10(%rbp), %eax
movl $0x10, %esi
cltd
idivl %esi
movslq %edx, %rax
movb %cl, -0x30(%rbp,%rax)
movl -0x10(%rbp), %eax
movl $0x10, %ecx
cltd
idivl %ecx
movslq %edx, %rax
movzbl -0x30(%rbp,%rax), %eax
cmpl $0x20, %eax
jl 0x2e2a
movl -0x10(%rbp), %eax
movl $0x10, %ecx
cltd
idivl %ecx
movslq %edx, %rax
movzbl -0x30(%rbp,%rax), %eax
cmpl $0x7e, %eax
jle 0x2e3d
movl -0x10(%rbp), %eax
movl $0x10, %ecx
cltd
idivl %ecx
movslq %edx, %rax
movb $0x2e, -0x30(%rbp,%rax)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x2d47
jmp 0x2e4d
movl -0x10(%rbp), %eax
movl $0x10, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
je 0x2e94
movl -0x10(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x2e7b
leaq 0x275a(%rip), %rdi      # 0x55ce
movb $0x0, %al
callq 0x1070
leaq 0x274b(%rip), %rdi      # 0x55cd
movb $0x0, %al
callq 0x1070
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x2e4d
leaq -0x30(%rbp), %rsi
leaq 0x24c7(%rip), %rdi      # 0x5366
movb $0x0, %al
callq 0x1070
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Astor-Bizard[P]ProjetS5_Groupe2/src/afficher_section.c
// Function: recuperer_section_num
unsigned char *recuperer_section_num(FILE *f, SectionsHeadersList shList, int num_sh) {
	int i;
	unsigned char c;
	unsigned char *section;

	if(num_sh<0 || num_sh>=shList.size){
		return NULL;
	}
	else{
		// On se place
		fseek(f,shList.headers[num_sh].sh_offset,0);
		section=malloc(sizeof(unsigned char)*shList.headers[num_sh].sh_size);
		if(section != NULL){
			// On mémorise le contenu de la section
			for(i=0;i<shList.headers[num_sh].sh_size;i++){
				c=fgetc(f);
				section[i]=c;
			}
		}
		else{
			fprintf(stderr,"Erreur d'allocation !\n");
			exit(42);
		}
	}
	return section;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
jl 0x33c9
movq -0x30(%rbp), %rcx
movl -0x14(%rbp), %eax
cmpl 0x10(%rcx), %eax
jl 0x33d6
movq $0x0, -0x8(%rbp)
jmp 0x3497
movq -0x30(%rbp), %rax
movq -0x10(%rbp), %rdi
movq (%rax), %rax
movslq -0x14(%rbp), %rcx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x10(%rax), %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x10d0
movq -0x30(%rbp), %rax
movq (%rax), %rax
movslq -0x14(%rbp), %rcx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x14(%rax), %eax
movl %eax, %edi
shlq $0x0, %rdi
callq 0x10c0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x346b
movl $0x0, -0x18(%rbp)
movq -0x30(%rbp), %rcx
movl -0x18(%rbp), %eax
movq (%rcx), %rcx
movslq -0x14(%rbp), %rdx
imulq $0x28, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x14(%rcx), %eax
jae 0x3469
movq -0x10(%rbp), %rdi
callq 0x1080
movb %al, -0x19(%rbp)
movb -0x19(%rbp), %dl
movq -0x28(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x342a
jmp 0x348d
movq 0x4b86(%rip), %rax      # 0x7ff8
movq (%rax), %rdi
leaq 0x2900(%rip), %rsi      # 0x5d7c
movb $0x0, %al
callq 0x10a0
movl $0x2a, %edi
callq 0x1120
jmp 0x348f
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Astor-Bizard[P]ProjetS5_Groupe2/src/lectureST.c
// Function: fetchSymbolNames
char* fetchSymbolNames(FILE* f, SectionsHeadersList shList, int symbolTabIndex) 
{
	int i;

	char* symbols = (char*) malloc(sizeof(char)*shList.headers[symbolTabIndex+1].sh_size);
	if (symbols==NULL) {
		printf("Erreur lors de l'allocation initiale de la table des noms.");
		return NULL;
	}

	fseek(f, shList.headers[symbolTabIndex+1].sh_offset, 0);
	for(i=0; i<shList.headers[symbolTabIndex+1].sh_size; i++)
		symbols[i] = fgetc(f);
	
	return symbols;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq (%rax), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x14(%rax), %eax
movl %eax, %edi
shlq $0x0, %rdi
callq 0x10c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x393b
leaq 0x25f0(%rip), %rdi      # 0x5f1a
movb $0x0, %al
callq 0x1070
movq $0x0, -0x8(%rbp)
jmp 0x39b1
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rdi
movq (%rax), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x10(%rax), %eax
movl %eax, %esi
xorl %edx, %edx
callq 0x10d0
movl $0x0, -0x18(%rbp)
movq -0x28(%rbp), %rcx
movl -0x18(%rbp), %eax
movq (%rcx), %rcx
movl -0x14(%rbp), %edx
addl $0x1, %edx
movslq %edx, %rdx
imulq $0x28, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x14(%rcx), %eax
jae 0x39a9
movq -0x10(%rbp), %rdi
callq 0x1080
movb %al, %dl
movq -0x20(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x3969
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Astor-Bizard[P]ProjetS5_Groupe2/src/lectureST.c
// Function: typeSymbole
char* typeSymbole(unsigned char info)
{
	char* typeSymboleChar;

	switch(info)
	{
		case STT_NOTYPE:
			typeSymboleChar = "NOTYPE";
			break;
		case STT_OBJECT:
			typeSymboleChar = "OBJECT";
			break;
		case STT_FUNC:
			typeSymboleChar = "FUNC";
			break;
		case STT_SECTION:
			typeSymboleChar = "SECTION";
			break;
		case STT_FILE:
			typeSymboleChar = "FILE";
			break;
		case STT_LOPROC:
			typeSymboleChar = "LOPROC";
			break;
		case STT_HIPROC:
			typeSymboleChar = "HIPROC";
			break;
		default:
			typeSymboleChar = "# ERR #";
			break;
	}
	return typeSymboleChar;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movb %dil, %al
movb %al, -0x1(%rbp)
movzbl -0x1(%rbp), %eax
movq %rax, -0x18(%rbp)
subq $0xf, %rax
ja 0x3c47
movq -0x18(%rbp), %rax
leaq 0x21b1(%rip), %rcx      # 0x5d94
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x22f5(%rip), %rax      # 0x5ee8
movq %rax, -0x10(%rbp)
jmp 0x3c52
leaq 0x22ef(%rip), %rax      # 0x5eef
movq %rax, -0x10(%rbp)
jmp 0x3c52
leaq 0x22e9(%rip), %rax      # 0x5ef6
movq %rax, -0x10(%rbp)
jmp 0x3c52
leaq 0x1d75(%rip), %rax      # 0x598f
movq %rax, -0x10(%rbp)
jmp 0x3c52
leaq 0x22d4(%rip), %rax      # 0x5efb
movq %rax, -0x10(%rbp)
jmp 0x3c52
leaq 0x1cfb(%rip), %rax      # 0x592f
movq %rax, -0x10(%rbp)
jmp 0x3c52
leaq 0x1cf5(%rip), %rax      # 0x5936
movq %rax, -0x10(%rbp)
jmp 0x3c52
leaq 0x1d49(%rip), %rax      # 0x5997
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Astor-Bizard[P]ProjetS5_Groupe2/src/lectureST.c
// Function: bindSymbole
char* bindSymbole(unsigned char bind)
{
	char* bindSymboleChar;

	switch(bind>>4)
	{
		case STB_LOCAL:
			bindSymboleChar = "LOCAL";
			break;
		case STB_GLOBAL:
			bindSymboleChar = "GLOBAL";
			break;
		case STB_WEAK:
			bindSymboleChar = "WEAK";
			break;
		case STB_LOPROC:
			bindSymboleChar = "LOPROC";
			break;
		case STB_HIPROC:
			bindSymboleChar = "HIPROC";
			break;
		default:
			bindSymboleChar = "# ERR #";
			break;
	}
	return bindSymboleChar;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movb %dil, %al
movb %al, -0x1(%rbp)
movzbl -0x1(%rbp), %eax
shrl $0x4, %eax
movl %eax, %ecx
movq %rcx, -0x18(%rbp)
subl $0xf, %eax
ja 0x3cd1
movq -0x18(%rbp), %rax
leaq 0x214d(%rip), %rcx      # 0x5dd4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x2269(%rip), %rax      # 0x5f00
movq %rax, -0x10(%rbp)
jmp 0x3cdc
leaq 0x2262(%rip), %rax      # 0x5f06
movq %rax, -0x10(%rbp)
jmp 0x3cdc
leaq 0x225c(%rip), %rax      # 0x5f0d
movq %rax, -0x10(%rbp)
jmp 0x3cdc
leaq 0x1c71(%rip), %rax      # 0x592f
movq %rax, -0x10(%rbp)
jmp 0x3cdc
leaq 0x1c6b(%rip), %rax      # 0x5936
movq %rax, -0x10(%rbp)
jmp 0x3cdc
leaq 0x1cbf(%rip), %rax      # 0x5997
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Astor-Bizard[P]ProjetS5_Groupe2/src/lectureST.c
// Function: visionSymbole
char* visionSymbole(unsigned char vis)
{
	char* visionSymboleChar;

	switch(vis)
	{
		case 0:
			visionSymboleChar = "DEFAULT";
			break;
		default:
			visionSymboleChar = "# ERR #";
			break;
	}
	return visionSymboleChar;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movb %dil, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
testb %al, %al
jne 0x3d10
jmp 0x3d03
leaq 0x2208(%rip), %rax      # 0x5f12
movq %rax, -0x10(%rbp)
jmp 0x3d1b
leaq 0x1c80(%rip), %rax      # 0x5997
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Astor-Bizard[P]ProjetS5_Groupe2/src/lectureST.c
// Function: getSymbolName
char* getSymbolName(char* symbols, uint32_t symbolIndex) 
{
	int i = 0;

	while(symbols[symbolIndex+i] != '\0')
		i++;
	i++;

	char* symbolName = (char*) malloc(sizeof(char)*i);
	if (symbols==NULL) {
		printf("Erreur lors de l'allocation initiale d'un nom de section.");
		return NULL;
	}

	i = 0;
	while(symbols[symbolIndex+i] != '\0') {
		symbolName[i] = symbols[symbolIndex+i];
		i++;
	}
	symbolName[i] = '\0';

	return symbolName;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl $0x0, -0x18(%rbp)
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl -0x18(%rbp), %ecx
movl %ecx, %ecx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x3d66
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x3d46
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movslq -0x18(%rbp), %rdi
shlq $0x0, %rdi
callq 0x10c0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x3d9f
leaq 0x21c7(%rip), %rdi      # 0x5f55
movb $0x0, %al
callq 0x1070
movq $0x0, -0x8(%rbp)
jmp 0x3df4
movl $0x0, -0x18(%rbp)
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl -0x18(%rbp), %ecx
movl %ecx, %ecx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x3de0
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
addl -0x18(%rbp), %ecx
movl %ecx, %ecx
movb (%rax,%rcx), %dl
movq -0x20(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x3da6
movq -0x20(%rbp), %rax
movslq -0x18(%rbp), %rcx
movb $0x0, (%rax,%rcx)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Astor-Bizard[P]ProjetS5_Groupe2/src/affichage_relocation.c
// Function: lire_octets_charT
long long unsigned int lire_octets_charT(unsigned char *tableau, 
    int hdr_mode, 
    int debut, 
    int nombre)
{
	int i;
	long long unsigned int R=0;
	if(hdr_mode == B_ENDIAN)
	{
		for(i=0;i<nombre;i++)
		{
			R = (R<<8) | tableau[debut+i];
		}
	}
	else
	{
		for(i=0; i<nombre; i++)
		{
			R =  R | (tableau[debut+i] << (i*8));
		}
	}
    return R;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
movq $0x0, -0x20(%rbp)
cmpl $0x2, -0xc(%rbp)
jne 0x3e5b
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x3e59
movq -0x20(%rbp), %rax
shlq $0x8, %rax
movq -0x8(%rbp), %rcx
movl -0x10(%rbp), %edx
addl -0x18(%rbp), %edx
movslq %edx, %rdx
movzbl (%rcx,%rdx), %ecx
orq %rcx, %rax
movq %rax, -0x20(%rbp)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x3e26
jmp 0x3ea0
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x3e9e
movq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
movl -0x10(%rbp), %edx
addl -0x18(%rbp), %edx
movslq %edx, %rdx
movzbl (%rcx,%rdx), %edx
movl -0x18(%rbp), %ecx
shll $0x3, %ecx
shll %cl, %edx
movl %edx, %ecx
movslq %ecx, %rcx
orq %rcx, %rax
movq %rax, -0x20(%rbp)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x3e62
jmp 0x3ea0
movq -0x20(%rbp), %rax
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Astor-Bizard[P]ProjetS5_Groupe2/src/affichage_relocation.c
// Function: print_section
void print_section(unsigned long long int addr, SectionsHeadersList liste_sections, Elf32_Ehdr header)
{
    int i;
    for(i=0; i< header.e_shnum;i++)
    {
        if(liste_sections.headers[i].sh_offset <= addr && addr <= liste_sections.headers[i].sh_offset + liste_sections.headers[i].sh_size)
        {
            printf("%s", liste_sections.names + liste_sections.headers[i].sh_name);
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
leaq 0x28(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movq -0x20(%rbp), %rcx
movl -0xc(%rbp), %eax
movzwl 0x30(%rcx), %ecx
cmpl %ecx, %eax
jge 0x41fb
movq -0x18(%rbp), %rax
movq (%rax), %rax
movslq -0xc(%rbp), %rcx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl 0x10(%rax), %eax
cmpq -0x8(%rbp), %rax
ja 0x41eb
movq -0x18(%rbp), %rdx
movq -0x8(%rbp), %rax
movq (%rdx), %rcx
movslq -0xc(%rbp), %rsi
imulq $0x28, %rsi, %rsi
addq %rsi, %rcx
movl 0x10(%rcx), %ecx
movq (%rdx), %rdx
movslq -0xc(%rbp), %rsi
imulq $0x28, %rsi, %rsi
addq %rsi, %rdx
addl 0x14(%rdx), %ecx
movl %ecx, %ecx
cmpq %rcx, %rax
ja 0x41eb
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rsi
movq (%rax), %rax
movslq -0xc(%rbp), %rcx
imulq $0x28, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %eax
addq %rax, %rsi
leaq 0x1a64(%rip), %rdi      # 0x5c48
movb $0x0, %al
callq 0x1070
jmp 0x41ed
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x4163
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Astor-Bizard[P]ProjetS5_Groupe2/src/affichage_relocation.c
// Function: print_symbol
void print_symbol(int sym, ListeSymboles table_symbol, Elf32_Ehdr header, SectionsHeadersList liste_sections)
{
    printf("%08x   ", table_symbol.symboles[sym].st_value);
		char *name;
    if((table_symbol.symboles[sym].st_info & 0xf) != 3)
    {
	   name = getSymbolNameBis(table_symbol.names, table_symbol.symboles[sym]);
    }
    else
    {
		name = getSectionNameBis(liste_sections.names, liste_sections.headers[table_symbol.symboles[sym].st_shndx]);
    }
	printf("%s",name);
	free(name);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
leaq 0x60(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq 0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movl %edi, -0x4(%rbp)
movq (%rax), %rax
movslq -0x4(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0x4(%rax), %esi
leaq 0x2061(%rip), %rdi      # 0x62a7
movb $0x0, %al
callq 0x1070
movq -0x40(%rbp), %rax
movq (%rax), %rax
movslq -0x4(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movzbl 0xc(%rax), %eax
andl $0xf, %eax
cmpl $0x3, %eax
je 0x4293
movq -0x40(%rbp), %rax
movq 0x8(%rax), %rdi
movq (%rax), %rax
movslq -0x4(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
callq 0x3b90
movq %rax, -0x10(%rbp)
jmp 0x42f4
movq -0x40(%rbp), %rax
movq -0x48(%rbp), %rcx
movq 0x8(%rcx), %rdx
movq %rdx, -0x50(%rbp)
movq (%rcx), %rsi
movq (%rax), %rax
movslq -0x4(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movzwl 0xe(%rax), %eax
imulq $0x28, %rax, %rax
addq %rax, %rsi
leaq -0x38(%rbp), %rdi
movl $0x28, %edx
callq 0x10b0
movq -0x50(%rbp), %rdi
movq -0x18(%rbp), %rcx
movq %rsp, %rax
movq %rcx, 0x20(%rax)
movups -0x38(%rbp), %xmm0
movups -0x28(%rbp), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x24f0
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x1949(%rip), %rdi      # 0x5c48
movb $0x0, %al
callq 0x1070
movq -0x10(%rbp), %rdi
callq 0x1030
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Help_Menu
void Help_Menu (edict_t *ent)
{
	char text[MAX_INFO_STRING];
	int i,j, start;

	// Calculate our page
	start = 15*ent->client->menupage;

	// Find if last page was the last
	if (start > 14)
	{
		for (i=start-15;i < start; i++)
		{
			if (!helptext[i][0]) // Last entry
			{
				start = 0;			// Go to first page
				ent->client->menupage = 0;
			}
		}
	}

	Menu_Free(ent);
	ent->client->menu = MENU_LOCAL;
	ent->client->menuselect = 0;

	Menu_Set(ent, 0, "LMCTF Commands", Main_Menu);
	Menu_Set(ent, 1, "--------------", NULL);
	for (i=2, j=start; i < 17 && helptext[j][0]; i++, j++)
	{
		sprintf(text, "%.24s", helptext[j]);
		Menu_Set(ent, i, text, NULL);
	}
	Menu_Set(ent, 17, "<next page>", Help_Menu);

	Menu_Draw (ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x220, %rsp            # imm = 0x220
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
imull $0xf, 0x10c0(%rax), %eax
movl %eax, -0x21c(%rbp)
cmpl $0xe, -0x21c(%rbp)
jle 0x1a155
movl -0x21c(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x214(%rbp)
movl -0x214(%rbp), %eax
cmpl -0x21c(%rbp), %eax
jge 0x1a153
movslq -0x214(%rbp), %rcx
movq 0x68c08(%rip), %rax     # 0x82d20
imulq $0x19, %rcx, %rcx
addq %rcx, %rax
cmpb $0x0, (%rax)
jne 0x1a140
movl $0x0, -0x21c(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0x10c0(%rax)
jmp 0x1a142
movl -0x214(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x214(%rbp)
jmp 0x1a0fc
jmp 0x1a155
movq -0x8(%rbp), %rdi
callq 0x18a00
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf84(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf88(%rax)
movq -0x8(%rbp), %rdi
xorl %esi, %esi
leaq 0x55c95(%rip), %rdx     # 0x6fe24
movq 0x6860a(%rip), %rcx     # 0x827a0
callq 0x183b0
movq -0x8(%rbp), %rdi
movl $0x1, %esi
leaq 0x5502b(%rip), %rdx     # 0x6f1d6
xorl %eax, %eax
movl %eax, %ecx
callq 0x183b0
movl $0x2, -0x214(%rbp)
movl -0x21c(%rbp), %eax
movl %eax, -0x218(%rbp)
xorl %eax, %eax
cmpl $0x11, -0x214(%rbp)
movb %al, -0x21d(%rbp)
jge 0x1a1ff
movslq -0x218(%rbp), %rcx
movq 0x68b37(%rip), %rax     # 0x82d20
imulq $0x19, %rcx, %rcx
addq %rcx, %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
setne %al
movb %al, -0x21d(%rbp)
movb -0x21d(%rbp), %al
testb $0x1, %al
jne 0x1a20b
jmp 0x1a272
leaq -0x210(%rbp), %rdi
movslq -0x218(%rbp), %rax
movq 0x68b00(%rip), %rdx     # 0x82d20
imulq $0x19, %rax, %rax
addq %rax, %rdx
leaq 0x554d5(%rip), %rsi     # 0x6f703
movb $0x0, %al
callq 0x19940
movq -0x8(%rbp), %rdi
movl -0x214(%rbp), %esi
leaq -0x210(%rbp), %rdx
xorl %eax, %eax
movl %eax, %ecx
callq 0x183b0
movl -0x214(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x214(%rbp)
movl -0x218(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x218(%rbp)
jmp 0x1a1ca
movq -0x8(%rbp), %rdi
movl $0x11, %esi
leaq 0x550d4(%rip), %rdx     # 0x6f356
movq 0x68587(%rip), %rcx     # 0x82810
callq 0x183b0
movq -0x8(%rbp), %rdi
callq 0x19900
addq $0x220, %rsp            # imm = 0x220
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: HowToPlay_Menu
void HowToPlay_Menu (edict_t *ent)
{
	gclient_t	*cl;

	cl = ent->client;

	cl->menu = MENU_HOWTOPLAY;
	cl->menuselect = 1;

	Menu_Draw (ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl $0x4, 0xf84(%rax)
movq -0x10(%rbp), %rax
movl $0x1, 0xf88(%rax)
movq -0x8(%rbp), %rdi
callq 0x19900
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: PickSound
void PickSound (edict_t *ent)
{
	PlayTeamSound(ent, radiosound[ent->client->menuselect]);

	ent->client->showmenu = false;
	Menu_Blank(ent);
	return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movslq 0xf88(%rax), %rcx
movq 0x684fa(%rip), %rax     # 0x82ad0
movq (%rax,%rcx,8), %rsi
callq 0x18ec0
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf80(%rax)
movq -0x8(%rbp), %rdi
callq 0x19530
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Ctf_Menu
void Ctf_Menu (edict_t *ent)
{
	gclient_t	*cl;

	cl = ent->client;

	cl->showscores = false;
	cl->showhelp = false;
	cl->showinventory = false;
	cl->showmod = false;
	cl->showctfhud = false;
	cl->showsquadboard = false; // ADC

	if (cl->showmenu)
	{
		cl->showmenu = false;
		Menu_Blank(ent);
		return;
	}

	cl->showmenu = true;
	Main_Menu(ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl $0x0, 0xe24(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xe2c(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xe28(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xf74(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xf78(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xe34(%rax)
movq -0x10(%rbp), %rax
cmpl $0x0, 0xf80(%rax)
je 0x1a692
movq -0x10(%rbp), %rax
movl $0x0, 0xf80(%rax)
movq -0x8(%rbp), %rdi
callq 0x19530
jmp 0x1a6a9
movq -0x10(%rbp), %rax
movl $0x1, 0xf80(%rax)
movq -0x8(%rbp), %rdi
callq 0x19d20
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Menu_Free
void Menu_Free (edict_t *ent)
{
	int i;
	for (i=0; i < 18; i++)
	{
		if (ent->client->localmenu[i].text)
		{
			gi.TagFree(ent->client->localmenu[i].text);
			ent->client->localmenu[i].text = NULL;
			ent->client->localmenu[i].func = NULL;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
cmpl $0x12, -0xc(%rbp)
jge 0x1a7ca
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
addq $0xf90, %rax            # imm = 0xF90
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
cmpq $0x0, (%rax)
je 0x1a7ba
movq 0x67ead(%rip), %rax     # 0x82600
movq 0x110(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x58(%rcx), %rcx
addq $0xf90, %rcx            # imm = 0xF90
movslq -0xc(%rbp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdi
callq *%rax
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
addq $0xf90, %rax            # imm = 0xF90
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq $0x0, (%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
addq $0xf90, %rax            # imm = 0xF90
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq $0x0, 0x8(%rax)
jmp 0x1a7bc
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x1a723
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Menu_Set
void Menu_Set (edict_t *ent, int item, char *text, void	(*func)(edict_t *ent))
{
	if (ent->client->localmenu[item].text)
			gi.TagFree(ent->client->localmenu[item].text);

	// Set the menu text to a TagMalloc'ed string, kind of like strdup
	ent->client->localmenu[item].text = G_CopyString(text);
	ent->client->localmenu[item].func = func;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
addq $0xf90, %rax            # imm = 0xF90
movslq -0xc(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
cmpq $0x0, (%rax)
je 0x1a833
movq 0x67df3(%rip), %rax     # 0x82600
movq 0x110(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x58(%rcx), %rcx
addq $0xf90, %rcx            # imm = 0xF90
movslq -0xc(%rbp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdi
callq *%rax
movq -0x18(%rbp), %rdi
callq 0x18100
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
addq $0xf90, %rax            # imm = 0xF90
movslq -0xc(%rbp), %rdx
shlq $0x4, %rdx
addq %rdx, %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
addq $0xf90, %rax            # imm = 0xF90
movslq -0xc(%rbp), %rdx
shlq $0x4, %rdx
addq %rdx, %rax
movq %rcx, 0x8(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Obs_Main_Menu
void Obs_Main_Menu (edict_t *ent)
{
char text[MAX_INFO_STRING];

	Menu_Free(ent);
	ent->client->menu = MENU_LOCAL;
	ent->client->menuselect = 1;


	Menu_Set(ent, 1, "LMCTF Observer Menu", NULL);
	Menu_Set(ent, 2, "-------------------", NULL);
	Menu_Set(ent, 4, "Play CTF", Observe_Exec);

	sprintf(text, "Observe Red");
	Menu_Set(ent, 6, text, Observe_Red);

	sprintf(text, "Observe_Blue");
	Menu_Set(ent, 7, text, Observe_Blue);

	sprintf(text, "Observe_All");
	Menu_Set(ent, 8, text, Observe);

	Menu_Set(ent, 10, "Help", Help_Menu);

	Menu_Draw (ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x210, %rsp            # imm = 0x210
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18a00
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf84(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x1, 0xf88(%rax)
movq -0x8(%rbp), %rdi
movl $0x1, %esi
leaq 0x54a86(%rip), %rdx     # 0x6f362
xorl %eax, %eax
movl %eax, %ecx
callq 0x183b0
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x548dc(%rip), %rdx     # 0x6f1d1
xorl %eax, %eax
movl %eax, %ecx
callq 0x183b0
movq -0x8(%rbp), %rdi
movl $0x4, %esi
leaq 0x54a68(%rip), %rdx     # 0x6f376
movq 0x67bb3(%rip), %rcx     # 0x824c8
callq 0x183b0
leaq -0x210(%rbp), %rdi
leaq 0x54a57(%rip), %rsi     # 0x6f37f
movb $0x0, %al
callq 0x19940
movq -0x8(%rbp), %rdi
leaq -0x210(%rbp), %rdx
movl $0x6, %esi
movq 0x68022(%rip), %rcx     # 0x82968
callq 0x183b0
leaq -0x210(%rbp), %rdi
leaq 0x54a32(%rip), %rsi     # 0x6f38b
movb $0x0, %al
callq 0x19940
movq -0x8(%rbp), %rdi
leaq -0x210(%rbp), %rdx
movl $0x7, %esi
movq 0x68611(%rip), %rcx     # 0x82f88
callq 0x183b0
leaq -0x210(%rbp), %rdi
leaq 0x54a0e(%rip), %rsi     # 0x6f398
movb $0x0, %al
callq 0x19940
movq -0x8(%rbp), %rdi
leaq -0x210(%rbp), %rdx
movl $0x8, %esi
movq 0x67ad8(%rip), %rcx     # 0x82480
callq 0x183b0
movq -0x8(%rbp), %rdi
movl $0xa, %esi
leaq 0x54ab2(%rip), %rdx     # 0x6f46f
movq 0x67e4c(%rip), %rcx     # 0x82810
callq 0x183b0
movq -0x8(%rbp), %rdi
callq 0x19900
addq $0x210, %rsp            # imm = 0x210
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Observe_Exec
void Observe_Exec(edict_t *ent)
{
	if(ent->client->ctf.teamnum <= CTF_TEAM_OBSERVER)
		TeamJoin(ent);
	else
		Observe(ent);

	Ctf_Menu(ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
cmpl $-0x1, 0x1100(%rax)
jg 0x1aa08
movq -0x8(%rbp), %rdi
callq 0x19af0
jmp 0x1aa11
movq -0x8(%rbp), %rdi
callq 0x19ce0
movq -0x8(%rbp), %rdi
callq 0x19a40
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Change_Team_Exec
void Change_Team_Exec(edict_t *ent)
{

	if (ent->client)
	{
		if (ent->client->ctf.teamnum == CTF_TEAM_BLUE)
			Team_Change(ent, CTF_TEAM_RED);
		else
			Team_Change(ent, CTF_TEAM_BLUE);
	}

	Ctf_Menu(ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x1aa68
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
cmpl $0x2, 0x1100(%rax)
jne 0x1aa58
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq 0x18a20
jmp 0x1aa66
movq -0x8(%rbp), %rdi
movl $0x2, %esi
callq 0x18a20
jmp 0x1aa68
movq -0x8(%rbp), %rdi
callq 0x19a40
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Voice_Menu
void Voice_Menu (edict_t *ent)
{
	int i;

	Menu_Free(ent);
	ent->client->menu = MENU_LOCAL;
	ent->client->menuselect = 0;

	Menu_Set(ent, 0, "Play_Voice Menu", Main_Menu);
	Menu_Set(ent, 1, "---------------", NULL);
	for (i=2; i < 18; i++)
	{
		if (voicelist[i])
			Menu_Set(ent, i, voicelist[i], Voice_Exec);
	}

	Menu_Draw (ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18a00
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf84(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf88(%rax)
movq -0x8(%rbp), %rdi
xorl %esi, %esi
leaq 0x5534e(%rip), %rdx     # 0x6fe14
movq 0x67cd3(%rip), %rcx     # 0x827a0
callq 0x183b0
movq -0x8(%rbp), %rdi
movl $0x1, %esi
leaq 0x546f3(%rip), %rdx     # 0x6f1d5
xorl %eax, %eax
movl %eax, %ecx
callq 0x183b0
movl $0x2, -0xc(%rbp)
cmpl $0x12, -0xc(%rbp)
jge 0x1ab39
movslq -0xc(%rbp), %rcx
movq 0x684b5(%rip), %rax     # 0x82fb8
cmpq $0x0, (%rax,%rcx,8)
je 0x1ab2c
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movslq -0xc(%rbp), %rcx
movq 0x6849c(%rip), %rax     # 0x82fb8
movq (%rax,%rcx,8), %rdx
movq 0x68149(%rip), %rcx     # 0x82c70
callq 0x183b0
jmp 0x1ab2e
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x1aaf2
movq -0x8(%rbp), %rdi
callq 0x19900
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: SetSkin
void SetSkin (edict_t *ent)
{
	int i;
	char **skinlist;

	i = (ent->client->menuselect - 2)+ent->client->menulastpage*15;

	skinlist = SkinGetList(ent);

	ClientSetSkin(ent, skinlist[i]);
	ent->client->currmenu = Skin_Menu;
	ent->client->menupage = 0;
	Skin_Menu(ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl 0xf88(%rax), %eax
subl $0x2, %eax
movq -0x8(%rbp), %rcx
movq 0x58(%rcx), %rcx
imull $0xf, 0x10c4(%rcx), %ecx
addl %ecx, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18780
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x19930
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movq 0x67896(%rip), %rcx     # 0x829d8
movq %rcx, 0x10b0(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0x10c0(%rax)
movq -0x8(%rbp), %rdi
callq 0x19d80
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Toggle_Radio_Menu
void Toggle_Radio_Menu (edict_t *ent)
{
	gclient_t	*cl;

	cl = ent->client;

	cl->showscores = false;
	cl->showhelp = false;
	cl->showinventory = false;
	cl->showmod = false;
	cl->showctfhud = false;
	cl->showsquadboard = false; // ADC

	if (cl->showmenu)
	{
		cl->showmenu = false;
		Menu_Blank(ent);
		return;
	}

	cl->showmenu = true;
	Radio_Menu(ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl $0x0, 0xe24(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xe2c(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xe28(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xf74(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xf78(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xe34(%rax)
movq -0x10(%rbp), %rax
cmpl $0x0, 0xf80(%rax)
je 0x1b242
movq -0x10(%rbp), %rax
movl $0x0, 0xf80(%rax)
movq -0x8(%rbp), %rdi
callq 0x19530
jmp 0x1b259
movq -0x10(%rbp), %rax
movl $0x1, 0xf80(%rax)
movq -0x8(%rbp), %rdi
callq 0x19e00
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Ref_Main_Load
void Ref_Main_Load (edict_t *ent)
{
	gclient_t	*cl;

	cl = ent->client;

	cl->showscores = false;
	cl->showhelp = false;
	cl->showinventory = false;
	cl->showmod = false;
	cl->showctfhud = false;
	cl->showsquadboard = false; // ADC

	if (cl->showmenu)
	{
		cl->showmenu = false;
		Menu_Blank(ent);
		return;
	}

	cl->showmenu = true;

	cl->menu = MENU_LOCAL;
	cl->menuselect = 1;

	Ref_Main_Menu(ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl $0x0, 0xe24(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xe2c(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xe28(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xf74(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xf78(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xe34(%rax)
movq -0x10(%rbp), %rax
cmpl $0x0, 0xf80(%rax)
je 0x1b2f2
movq -0x10(%rbp), %rax
movl $0x0, 0xf80(%rax)
movq -0x8(%rbp), %rdi
callq 0x19530
jmp 0x1b325
movq -0x10(%rbp), %rax
movl $0x1, 0xf80(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xf84(%rax)
movq -0x10(%rbp), %rax
movl $0x1, 0xf88(%rax)
movq -0x8(%rbp), %rdi
callq 0x19da8
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Ref_Map_Menu
void Ref_Map_Menu (edict_t *ent)
{
	Menu_Free(ent);
	ent->client->menu = MENU_LOCAL;
	ent->client->menuselect = 0;

	//gi.dprintf("Ref_Map_Menu\n");
	Menu_Set(ent, 0, "Map Menu", Ref_Main_Menu);
	Menu_Set(ent, 1, "--------", NULL);
	Menu_Set(ent, 2, "LMCTF Set 1", Ref_Map_A_Menu);
	Menu_Set(ent, 3, "LMCTF Set 2", Ref_Map_B_Menu);
	Menu_Set(ent, 4, "LMCTF Set 3", Ref_Map_C_Menu);
	Menu_Set(ent, 5, "LMCTF Set 4", Ref_Map_D_Menu);
	Menu_Set(ent, 6, "LMCTF Set 5", Ref_Map_E_Menu);
	if (maplistindex != -2) // No list
		Menu_Set(ent, 7, "Maplist", Ref_Map_Maplist_Menu);

	Menu_Draw (ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18a00
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf84(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf88(%rax)
movq -0x8(%rbp), %rdi
xorl %esi, %esi
leaq 0x54a30(%rip), %rdx     # 0x6fda6
movq 0x67773(%rip), %rcx     # 0x82af0
callq 0x183b0
movq -0x8(%rbp), %rdi
movl $0x1, %esi
leaq 0x53e4a(%rip), %rdx     # 0x6f1dc
xorl %eax, %eax
movl %eax, %ecx
callq 0x183b0
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x549b7(%rip), %rdx     # 0x6fd62
movq 0x673ae(%rip), %rcx     # 0x82760
callq 0x183b0
movq -0x8(%rbp), %rdi
movl $0x3, %esi
leaq 0x549a7(%rip), %rdx     # 0x6fd6e
movq 0x677a2(%rip), %rcx     # 0x82b70
callq 0x183b0
movq -0x8(%rbp), %rdi
movl $0x4, %esi
leaq 0x54997(%rip), %rdx     # 0x6fd7a
movq 0x6762e(%rip), %rcx     # 0x82a18
callq 0x183b0
movq -0x8(%rbp), %rdi
movl $0x5, %esi
leaq 0x54987(%rip), %rdx     # 0x6fd86
movq 0x66fba(%rip), %rcx     # 0x823c0
callq 0x183b0
movq -0x8(%rbp), %rdi
movl $0x6, %esi
leaq 0x54977(%rip), %rdx     # 0x6fd92
movq 0x6731e(%rip), %rcx     # 0x82740
callq 0x183b0
movq 0x679aa(%rip), %rax     # 0x82dd8
cmpl $-0x2, (%rax)
je 0x1b44f
movq -0x8(%rbp), %rdi
movl $0x7, %esi
leaq 0x5495b(%rip), %rdx     # 0x6fd9e
movq 0x676c6(%rip), %rcx     # 0x82b10
callq 0x183b0
movq -0x8(%rbp), %rdi
callq 0x19900
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Ref_PingFloor_Menu
void Ref_PingFloor_Menu (edict_t *ent)
{
	char text[MAX_INFO_STRING];
	int i;

	Menu_Free(ent);
	ent->client->menu = MENU_LOCAL;
	ent->client->menuselect = 0;

	sprintf(text, "Current Ping Floor:  %3d", ent->client->ctf.pingalertfloor);
	Menu_Set(ent, 0, text, Ref_Main_Menu);
	Menu_Set(ent, 1, "------------------", NULL);
	for (i=2; i < 18; i++)
	{
		sprintf(text, "%d", pingfloor[i]);
		Menu_Set(ent, i, text, PingFloor_Exec);
	}

	Menu_Draw (ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x220, %rsp            # imm = 0x220
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18a00
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf84(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf88(%rax)
leaq -0x210(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x1110(%rax), %edx
leaq 0x53f3c(%rip), %rsi     # 0x6f754
movb $0x0, %al
callq 0x19940
movq -0x8(%rbp), %rdi
leaq -0x210(%rbp), %rdx
xorl %esi, %esi
movq 0x672bd(%rip), %rcx     # 0x82af0
callq 0x183b0
movq -0x8(%rbp), %rdi
movl $0x1, %esi
leaq 0x5398a(%rip), %rdx     # 0x6f1d2
xorl %eax, %eax
movl %eax, %ecx
callq 0x183b0
movl $0x2, -0x214(%rbp)
cmpl $0x12, -0x214(%rbp)
jge 0x1b8b8
leaq -0x210(%rbp), %rdi
movslq -0x214(%rbp), %rcx
movq 0x66e47(%rip), %rax     # 0x826c0
movl (%rax,%rcx,4), %edx
leaq 0x53ff3(%rip), %rsi     # 0x6f876
movb $0x0, %al
callq 0x19940
movq -0x8(%rbp), %rdi
movl -0x214(%rbp), %esi
leaq -0x210(%rbp), %rdx
movq 0x66c6e(%rip), %rcx     # 0x82510
callq 0x183b0
movl -0x214(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x214(%rbp)
jmp 0x1b85b
movq -0x8(%rbp), %rdi
callq 0x19900
addq $0x220, %rsp            # imm = 0x220
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Ref_PingCeiling_Menu
void Ref_PingCeiling_Menu (edict_t *ent)
{
	char text[MAX_INFO_STRING];
	int i;

	Menu_Free(ent);
	ent->client->menu = MENU_LOCAL;
	ent->client->menuselect = 0;

	sprintf(text, "Current Ping Ceiling: %3d", ent->client->ctf.pingalertceiling);
	Menu_Set(ent, 0, text, Ref_Main_Menu);
	Menu_Set(ent, 1, "------------------", NULL);
	for (i=2; i < 18; i++)
	{
		sprintf(text, "%d", pingfloor[i]);
		Menu_Set(ent, i, text, PingCeiling_Exec);
	}

	Menu_Draw (ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x220, %rsp            # imm = 0x220
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18a00
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf84(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf88(%rax)
leaq -0x210(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x1114(%rax), %edx
leaq 0x53e45(%rip), %rsi     # 0x6f76d
movb $0x0, %al
callq 0x19940
movq -0x8(%rbp), %rdi
leaq -0x210(%rbp), %rdx
xorl %esi, %esi
movq 0x671ad(%rip), %rcx     # 0x82af0
callq 0x183b0
movq -0x8(%rbp), %rdi
movl $0x1, %esi
leaq 0x5387a(%rip), %rdx     # 0x6f1d2
xorl %eax, %eax
movl %eax, %ecx
callq 0x183b0
movl $0x2, -0x214(%rbp)
cmpl $0x12, -0x214(%rbp)
jge 0x1b9c8
leaq -0x210(%rbp), %rdi
movslq -0x214(%rbp), %rcx
movq 0x66d37(%rip), %rax     # 0x826c0
movl (%rax,%rcx,4), %edx
leaq 0x53ee3(%rip), %rsi     # 0x6f876
movb $0x0, %al
callq 0x19940
movq -0x8(%rbp), %rdi
movl -0x214(%rbp), %esi
leaq -0x210(%rbp), %rdx
movq 0x66c46(%rip), %rcx     # 0x825f8
callq 0x183b0
movl -0x214(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x214(%rbp)
jmp 0x1b96b
movq -0x8(%rbp), %rdi
callq 0x19900
addq $0x220, %rsp            # imm = 0x220
popq %rbp
retq
nopw (%rax,%rax)