LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O3/unixlab[P]cloudflare-udp-ping/net.c
// Function: net_connect_udp
int net_connect_udp(struct net_addr *shost, int src_port, int busy_poll)
{
	int sd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
	if (sd < 0) {
		PFATAL("socket()");
	}

	int one = 1;
	int r = setsockopt(sd, SOL_SOCKET, SO_REUSEADDR, (char *)&one,
			   sizeof(one));
	if (r < 0) {
		PFATAL("setsockopt(SO_REUSEADDR)");
	}

	if (busy_poll) {
		r = setsockopt(sd, SOL_SOCKET, SO_BUSY_POLL, (char *)&busy_poll,
			       sizeof(busy_poll));
		if (r < 0) {
			PFATAL("setsockopt(SO_BUSY_POLL)");
		}
	}

	one = 1;
	r = setsockopt(sd, SOL_SOCKET, SO_TIMESTAMPNS, (char *)&one,
		       sizeof(one));
	if (r < 0) {
		PFATAL("setsockopt(SO_TIMESTAMPNS)");
	}

	if (src_port > 1 && src_port < 65536) {
		struct net_addr src;
		memset(&src, 0, sizeof(struct net_addr));
		char buf[32];
		snprintf(buf, sizeof(buf), "0.0.0.0:%d", src_port);
		parse_addr(&src, buf);
		if (bind(sd, src.sockaddr, src.sockaddr_len) < 0) {
			PFATAL("bind()");
		}
	}

	if (-1 == connect(sd, shost->sockaddr, shost->sockaddr_len)) {
		/* is non-blocking, so we don't get error at that point yet */
		if (EINPROGRESS != errno) {
			PFATAL("connect()");
			return -1;
		}
	}

	return sd;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movl %edx, %r12d
movl %esi, %r15d
movq %rdi, %r14
movl %edx, -0x30(%rbp)
movl $0x2, %edi
movl $0x2, %esi
movl $0x11, %edx
callq 0x45fc40
testl %eax, %eax
js 0x40309c
movl %eax, %ebx
leaq -0x2c(%rbp), %rcx
movl $0x1, (%rcx)
movl %eax, %edi
movl $0x1, %esi
movl $0x2, %edx
movl $0x4, %r8d
callq 0x45fc00
testl %eax, %eax
js 0x4030a1
testl %r12d, %r12d
je 0x402fdb
leaq -0x30(%rbp), %rcx
movl %ebx, %edi
movl $0x1, %esi
movl $0x2e, %edx
movl $0x4, %r8d
callq 0x45fc00
testl %eax, %eax
js 0x4030ab
leaq -0x2c(%rbp), %rcx
movl $0x1, (%rcx)
movl %ebx, %edi
movl $0x1, %esi
movl $0x23, %edx
movl $0x4, %r8d
callq 0x45fc00
testl %eax, %eax
js 0x4030a6
leal -0x2(%r15), %eax
cmpl $0xfffd, %eax           # imm = 0xFFFD
ja 0x40306d
xorps %xmm0, %xmm0
leaq -0x90(%rbp), %r12
movaps %xmm0, 0x30(%r12)
movaps %xmm0, 0x20(%r12)
movaps %xmm0, 0x10(%r12)
movaps %xmm0, (%r12)
leaq 0xb1465(%rip), %rdx     # 0x4b449c
leaq -0x50(%rbp), %r13
movl $0x20, %esi
movq %r13, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x40d8b0
movq %r12, %rdi
movq %r13, %rsi
callq 0x402aeb
movq 0x30(%r12), %rsi
movl 0x38(%r12), %edx
movl %ebx, %edi
callq 0x45f9b0
testl %eax, %eax
js 0x4030b0
movq 0x30(%r14), %rsi
movl 0x38(%r14), %edx
movl %ebx, %edi
callq 0x45f9e0
cmpl $-0x1, %eax
jne 0x40308b
callq 0x405e20
cmpl $0x73, (%rax)
jne 0x4030b5
movl %ebx, %eax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x40191d
callq 0x4018b7
callq 0x401851
callq 0x40171f
callq 0x4017eb
callq 0x401785
// File: /workspace/github_c_makefile_star2_O3/unixlab[P]cloudflare-udp-ping/net.c
// Function: net_connect_tcp
int net_connect_tcp(struct net_addr *shost, int src_port, int busy_poll)
{
	int sd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
	if (sd < 0) {
		PFATAL("socket()");
	}

	int one = 1;
	int r = setsockopt(sd, SOL_SOCKET, SO_REUSEADDR, (char *)&one,
			   sizeof(one));
	if (r < 0) {
		PFATAL("setsockopt(SO_REUSEADDR)");
	}

	if (busy_poll) {
		r = setsockopt(sd, SOL_SOCKET, SO_BUSY_POLL, (char *)&busy_poll,
			       sizeof(busy_poll));
		if (r < 0) {
			PFATAL("setsockopt(SO_BUSY_POLL)");
		}
	}

	if (src_port > 1 && src_port < 65536) {
		struct net_addr src;
		memset(&src, 0, sizeof(struct net_addr));
		char buf[32];
		snprintf(buf, sizeof(buf), "0.0.0.0:%d", src_port);
		parse_addr(&src, buf);
		if (bind(sd, src.sockaddr, src.sockaddr_len) < 0) {
			PFATAL("bind()");
		}
	}

	if (-1 == connect(sd, shost->sockaddr, shost->sockaddr_len)) {
		/* is non-blocking, so we don't get error at that point yet */
		if (EINPROGRESS != errno) {
			PFATAL("connect()");
			return -1;
		}
	}

	one = 1;
	setsockopt(sd, IPPROTO_TCP, TCP_NODELAY, (char *)&one, sizeof(one));

	return sd;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movl %edx, %r12d
movl %esi, %r15d
movq %rdi, %r14
movl %edx, -0x30(%rbp)
movl $0x2, %edi
movl $0x1, %esi
movl $0x6, %edx
callq 0x45fc40
testl %eax, %eax
js 0x4031ff
movl %eax, %ebx
leaq -0x2c(%rbp), %rcx
movl $0x1, (%rcx)
movl %eax, %edi
movl $0x1, %esi
movl $0x2, %edx
movl $0x4, %r8d
callq 0x45fc00
testl %eax, %eax
js 0x403204
testl %r12d, %r12d
je 0x403146
leaq -0x30(%rbp), %rcx
movl %ebx, %edi
movl $0x1, %esi
movl $0x2e, %edx
movl $0x4, %r8d
callq 0x45fc00
testl %eax, %eax
js 0x403209
leal -0x2(%r15), %eax
cmpl $0xfffd, %eax           # imm = 0xFFFD
ja 0x4031af
xorps %xmm0, %xmm0
leaq -0x90(%rbp), %r12
movaps %xmm0, 0x30(%r12)
movaps %xmm0, 0x20(%r12)
movaps %xmm0, 0x10(%r12)
movaps %xmm0, (%r12)
leaq 0xb1323(%rip), %rdx     # 0x4b449c
leaq -0x50(%rbp), %r13
movl $0x20, %esi
movq %r13, %rdi
movl %r15d, %ecx
xorl %eax, %eax
callq 0x40d8b0
movq %r12, %rdi
movq %r13, %rsi
callq 0x402aeb
movq 0x30(%r12), %rsi
movl 0x38(%r12), %edx
movl %ebx, %edi
callq 0x45f9b0
testl %eax, %eax
js 0x40320e
movq 0x30(%r14), %rsi
movl 0x38(%r14), %edx
movl %ebx, %edi
callq 0x45f9e0
cmpl $-0x1, %eax
jne 0x4031cd
callq 0x405e20
cmpl $0x73, (%rax)
jne 0x403213
leaq -0x2c(%rbp), %rcx
movl $0x1, (%rcx)
movl %ebx, %edi
movl $0x6, %esi
movl $0x1, %edx
movl $0x4, %r8d
callq 0x45fc00
movl %ebx, %eax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x401b1b
callq 0x401ab5
callq 0x401983
callq 0x401a4f
callq 0x4019e9
// File: /workspace/github_c_makefile_star2_O3/unixlab[P]cloudflare-udp-ping/net.c
// Function: optstring_from_long_options
const char *optstring_from_long_options(const struct option *opt)
{
	static char optstring[256] = {0};
	char *osp = optstring;

	for (; opt->name != NULL; opt++) {
		if (opt->flag == 0 && opt->val > 0 && opt->val < 256) {
			*osp++ = opt->val;
			switch (opt->has_arg) {
			case optional_argument:
				*osp++ = ':';
				*osp++ = ':';
				break;
			case required_argument:
				*osp++ = ':';
				break;
			}
		}
	}
	*osp++ = '\0';

	if (osp - optstring >= (int)sizeof(optstring)) {
		abort();
	}

	return optstring;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0xe7724(%rip), %rax     # 0x4ea970
cmpq $0x0, (%rdi)
movq %rax, %rdx
je 0x4032b3
addq $0x20, %rdi
leaq 0xe7710(%rip), %rcx     # 0x4ea970
cmpq $0x0, -0x10(%rdi)
jne 0x4032a3
movl -0x8(%rdi), %esi
leal -0x1(%rsi), %edx
cmpl $0xfe, %edx
ja 0x4032a3
leaq 0x1(%rcx), %rdx
movb %sil, (%rcx)
movl -0x18(%rdi), %esi
cmpl $0x1, %esi
je 0x403298
cmpl $0x2, %esi
jne 0x4032a6
leaq 0x2(%rcx), %rdx
movb $0x3a, 0x1(%rcx)
movl $0x3, %esi
jmp 0x40329d
movl $0x2, %esi
addq %rsi, %rcx
movb $0x3a, (%rdx)
movq %rcx, %rdx
cmpq $0x0, (%rdi)
leaq 0x20(%rdi), %rdi
movq %rdx, %rcx
jne 0x403260
movb $0x0, (%rdx)
negq %rax
addq %rdx, %rax
incq %rax
cmpq $0x100, %rax            # imm = 0x100
jge 0x4032d0
leaq 0xe76a2(%rip), %rax     # 0x4ea970
popq %rbp
retq
callq 0x401b95
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O3/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rdi, %rbx
movq 0x58(%rdi), %rax
movl 0x10c0(%rax), %ecx
leal (%rcx,%rcx,4), %edx
leal (%rdx,%rdx,2), %r14d
testl %ecx, %ecx
jle 0x19eb5
leal -0xf(%r14), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,4), %rdx
leaq (%rdx,%rdx,4), %rdx
addq 0x4ee8c(%rip), %rdx     # 0x68d20
cmpb $0x0, (%rdx)
jne 0x19ea6
movl $0x0, 0x10c0(%rax)
xorl %r14d, %r14d
incq %rcx
movslq %r14d, %rsi
addq $0x19, %rdx
cmpq %rsi, %rcx
jl 0x19e94
xorl %r15d, %r15d
movq 0x4e741(%rip), %r13     # 0x68600
movq 0xf90(%rax,%r15), %rdi
testq %rdi, %rdi
je 0x19ee3
callq *0x110(%r13)
movq 0x58(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0xf90(%rax,%r15)
addq $0x10, %r15
cmpq $0x120, %r15            # imm = 0x120
jne 0x19ebf
movq 0x58(%rbx), %rax
movq $0x0, 0xf84(%rax)
movq 0xf90(%rax), %rdi
testq %rdi, %rdi
je 0x19f12
callq *0x110(%r13)
leaq 0x38f1b(%rip), %rdi     # 0x52e34
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xf90(%rcx)
movq 0x4e870(%rip), %rax     # 0x687a0
movq %rax, 0xf98(%rcx)
movq 0xfa0(%rcx), %rdi
testq %rdi, %rdi
je 0x19f4a
callq *0x110(%r13)
leaq 0x38295(%rip), %rdi     # 0x521e6
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfa0(%rcx)
movslq %r14d, %rax
leaq (%rax,%rax,4), %rax
leaq (%rax,%rax,4), %r14
addq 0x4edad(%rip), %r14     # 0x68d20
movq $0x0, 0xfa8(%rcx)
movl $0x2, %ebp
leaq 0x38789(%rip), %r15     # 0x52713
movq %rsp, %r12
cmpb $0x0, (%r14)
je 0x19fbd
movq %r12, %rdi
movq %r15, %rsi
movq %r14, %rdx
xorl %eax, %eax
callq 0x196f0
movq %rbx, %rdi
movl %ebp, %esi
movq %r12, %rdx
xorl %ecx, %ecx
callq 0x18370
incl %ebp
addq $0x19, %r14
cmpl $0x11, %ebp
jne 0x19f8d
movq 0x58(%rbx), %rax
movq 0x10a0(%rax), %rdi
testq %rdi, %rdi
je 0x19fd4
callq *0x110(%r13)
leaq 0x3838b(%rip), %rdi     # 0x52366
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x10a0(%rcx)
movq 0x4e81e(%rip), %rax     # 0x68810
movq %rax, 0x10a8(%rcx)
movq %rbx, %rdi
callq 0x196b0
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/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 %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x58(%rdi), %rax
movslq 0xf88(%rax), %rax
movq 0x4e712(%rip), %rcx     # 0x68ad0
movq (%rcx,%rax,8), %rsi
callq 0x18d60
movq 0x58(%rbx), %rax
movl $0x0, 0xf80(%rax)
movq 0x4e224(%rip), %r14     # 0x68600
movl $0x4, %edi
callq *0xc8(%r14)
leaq 0x39b56(%rip), %rdi     # 0x53f45
callq *0xe8(%r14)
movq 0xb8(%r14), %rax
movq %rbx, %rdi
movl $0x1, %esi
addq $0x8, %rsp
popq %rbx
popq %r14
jmpq *%rax
// File: /workspace/github_c_makefile_star2_O3/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 %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x58(%rdi), %rax
xorl %ecx, %ecx
movq %rcx, 0xe24(%rax)
movl %ecx, 0xe2c(%rax)
movq %rcx, 0xf74(%rax)
movl %ecx, 0xe34(%rax)
cmpl %ecx, 0xf80(%rax)
je 0x1a480
movl $0x0, 0xf80(%rax)
movq 0x4e1b2(%rip), %r14     # 0x68600
movl $0x4, %edi
callq *0xc8(%r14)
leaq 0x39ae4(%rip), %rdi     # 0x53f45
callq *0xe8(%r14)
movq 0xb8(%r14), %rax
movq %rbx, %rdi
movl $0x1, %esi
addq $0x8, %rsp
popq %rbx
popq %r14
jmpq *%rax
movl $0x1, 0xf80(%rax)
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x19a98
// File: /workspace/github_c_makefile_star2_O3/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 %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movq 0x58(%rdi), %rax
xorl %r14d, %r14d
movq 0x4e111(%rip), %r15     # 0x68600
movq 0xf90(%rax,%r14), %rdi
testq %rdi, %rdi
je 0x1a513
callq *0x110(%r15)
movq 0x58(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0xf90(%rax,%r14)
addq $0x10, %r14
cmpq $0x120, %r14            # imm = 0x120
jne 0x1a4ef
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %rbx
movq %rdx, %r15
movq %rdi, %r14
movq 0x58(%rdi), %rax
movslq %esi, %r12
shlq $0x4, %r12
movq 0xf90(%rax,%r12), %rdi
testq %rdi, %rdi
je 0x1a55c
movq 0x4e0aa(%rip), %rax     # 0x68600
callq *0x110(%rax)
movq %r15, %rdi
callq 0x18100
movq 0x58(%r14), %rcx
movq %rax, 0xf90(%rcx,%r12)
movq %rbx, 0xf98(%rcx,%r12)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rdi, %rbx
movq 0x58(%rdi), %rax
xorl %r14d, %r14d
movq 0x4e05d(%rip), %r15     # 0x68600
movq 0xf90(%rax,%r14), %rdi
testq %rdi, %rdi
je 0x1a5c7
callq *0x110(%r15)
movq 0x58(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0xf90(%rax,%r14)
addq $0x10, %r14
cmpq $0x120, %r14            # imm = 0x120
jne 0x1a5a3
movq 0x58(%rbx), %rax
movabsq $0x100000000, %rcx      # imm = 0x100000000
movq %rcx, 0xf84(%rax)
movq 0xfa0(%rax), %rdi
testq %rdi, %rdi
je 0x1a5fc
callq *0x110(%r15)
leaq 0x37d6f(%rip), %rdi     # 0x52372
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfa0(%rcx)
movq $0x0, 0xfa8(%rcx)
movq 0xfb0(%rcx), %rdi
testq %rdi, %rdi
je 0x1a631
callq *0x110(%r15)
leaq 0x37ba9(%rip), %rdi     # 0x521e1
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfb0(%rcx)
movq $0x0, 0xfb8(%rcx)
movq 0xfd0(%rcx), %rdi
testq %rdi, %rdi
je 0x1a666
callq *0x110(%r15)
leaq 0x37d19(%rip), %rdi     # 0x52386
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfd0(%rcx)
movq 0x4de44(%rip), %rax     # 0x684c8
movq %rax, 0xfd8(%rcx)
movabsq $0x206576726573624f, %rax # imm = 0x206576726573624F
movq %rax, (%rsp)
movl $0x646552, 0x8(%rsp)    # imm = 0x646552
movq 0xff0(%rcx), %rdi
testq %rdi, %rdi
je 0x1a6b4
callq *0x110(%r15)
movq %rsp, %r14
movq %r14, %rdi
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xff0(%rcx)
movq 0x4e297(%rip), %rax     # 0x68968
movq %rax, 0xff8(%rcx)
movabsq $0x5f6576726573624f, %r12 # imm = 0x5F6576726573624F
movq %r12, (%r14)
movabsq $0x65756c425f6576, %rax # imm = 0x65756C425F6576
movq %rax, 0x5(%r14)
movq 0x1000(%rcx), %rdi
testq %rdi, %rdi
je 0x1a706
callq *0x110(%r15)
movq %rsp, %r14
movq %r14, %rdi
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1000(%rcx)
movq 0x4e865(%rip), %rax     # 0x68f88
movq %rax, 0x1008(%rcx)
movq %r12, (%r14)
movl $0x6c6c41, 0x8(%r14)    # imm = 0x6C6C41
movq 0x1010(%rcx), %rdi
testq %rdi, %rdi
je 0x1a748
callq *0x110(%r15)
movq %rsp, %rdi
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1010(%rcx)
movq 0x4dd1e(%rip), %rax     # 0x68480
movq %rax, 0x1018(%rcx)
movq 0x1030(%rcx), %rdi
testq %rdi, %rdi
je 0x1a77c
callq *0x110(%r15)
leaq 0x37cfc(%rip), %rdi     # 0x5247f
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1030(%rcx)
movq 0x4e076(%rip), %rax     # 0x68810
movq %rax, 0x1038(%rcx)
movq %rbx, %rdi
callq 0x196b0
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 %rbx
movq %rdi, %rbx
movq 0x58(%rdi), %rax
cmpl $0x0, 0x1100(%rax)
js 0x1a7d8
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x19690
jmp 0x1a7e0
movq %rbx, %rdi
callq 0x19880
movq %rbx, %rdi
popq %rbx
jmp 0x197d0
// File: /workspace/github_c_makefile_star2_O3/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 %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x58(%rdi), %rax
xorl %r15d, %r15d
movq 0x4ddd1(%rip), %r14     # 0x68600
movq 0xf90(%rax,%r15), %rdi
testq %rdi, %rdi
je 0x1a853
callq *0x110(%r14)
movq 0x58(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0xf90(%rax,%r15)
addq $0x10, %r15
cmpq $0x120, %r15            # imm = 0x120
jne 0x1a82f
movq 0x58(%rbx), %rax
movq $0x0, 0xf84(%rax)
movq 0xf90(%rax), %rdi
testq %rdi, %rdi
je 0x1a882
callq *0x110(%r14)
leaq 0x3859b(%rip), %rdi     # 0x52e24
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xf90(%rcx)
movq 0x4df00(%rip), %rax     # 0x687a0
movq %rax, 0xf98(%rcx)
movq 0xfa0(%rcx), %rdi
testq %rdi, %rdi
je 0x1a8ba
callq *0x110(%r14)
leaq 0x37924(%rip), %rdi     # 0x521e5
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfa0(%rcx)
movq $0x0, 0xfa8(%rcx)
movl $0x2, %r14d
movq 0x4e6cf(%rip), %r12     # 0x68fb8
movq 0x4e380(%rip), %r15     # 0x68c70
movq (%r12,%r14,8), %rdx
testq %rdx, %rdx
je 0x1a907
movq %rbx, %rdi
movl %r14d, %esi
movq %r15, %rcx
callq 0x18370
incq %r14
cmpq $0x12, %r14
jne 0x1a8f0
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x196b0
// File: /workspace/github_c_makefile_star2_O3/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 %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x58(%rdi), %rax
movslq 0xf88(%rax), %rcx
movslq 0x10c4(%rax), %rax
leaq (%rax,%rax,4), %rax
leaq (%rax,%rax,2), %r14
addq %rcx, %r14
callq 0x18710
movq -0x10(%rax,%r14,8), %rsi
movq %rbx, %rdi
callq 0x196e0
movq 0x58(%rbx), %rax
movq 0x4dad6(%rip), %rcx     # 0x689d8
movq %rcx, 0x10b0(%rax)
movl $0x0, 0x10c0(%rax)
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x19af0
// File: /workspace/github_c_makefile_star2_O3/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 %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x58(%rdi), %rax
xorl %ecx, %ecx
movq %rcx, 0xe24(%rax)
movl %ecx, 0xe2c(%rax)
movq %rcx, 0xf74(%rax)
movl %ecx, 0xe34(%rax)
cmpl %ecx, 0xf80(%rax)
je 0x1afa8
movl $0x0, 0xf80(%rax)
movq 0x4d68a(%rip), %r14     # 0x68600
movl $0x4, %edi
callq *0xc8(%r14)
leaq 0x38fbc(%rip), %rdi     # 0x53f45
callq *0xe8(%r14)
movq 0xb8(%r14), %rax
movq %rbx, %rdi
movl $0x1, %esi
addq $0x8, %rsp
popq %rbx
popq %r14
jmpq *%rax
movabsq $0x600000001, %rcx      # imm = 0x600000001
movq %rcx, 0xf80(%rax)
movl $0x1, 0xf88(%rax)
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x196b0
// File: /workspace/github_c_makefile_star2_O3/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 %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x58(%rdi), %rax
xorl %ecx, %ecx
movq %rcx, 0xe24(%rax)
movl %ecx, 0xe2c(%rax)
movq %rcx, 0xf74(%rax)
movl %ecx, 0xe34(%rax)
cmpl %ecx, 0xf80(%rax)
je 0x1b044
movl $0x0, 0xf80(%rax)
movq 0x4d5ee(%rip), %r14     # 0x68600
movl $0x4, %edi
callq *0xc8(%r14)
leaq 0x38f20(%rip), %rdi     # 0x53f45
callq *0xe8(%r14)
movq 0xb8(%r14), %rax
movq %rbx, %rdi
movl $0x1, %esi
addq $0x8, %rsp
popq %rbx
popq %r14
jmpq *%rax
movq $0x1, 0xf80(%rax)
movl $0x1, 0xf88(%rax)
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x19b10
// File: /workspace/github_c_makefile_star2_O3/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 %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movq 0x58(%rdi), %rax
xorl %r15d, %r15d
movq 0x4d582(%rip), %r14     # 0x68600
movq 0xf90(%rax,%r15), %rdi
testq %rdi, %rdi
je 0x1b0a2
callq *0x110(%r14)
movq 0x58(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0xf90(%rax,%r15)
addq $0x10, %r15
cmpq $0x120, %r15            # imm = 0x120
jne 0x1b07e
movq 0x58(%rbx), %rax
movq $0x0, 0xf84(%rax)
movq 0xf90(%rax), %rdi
testq %rdi, %rdi
je 0x1b0d1
callq *0x110(%r14)
leaq 0x37cde(%rip), %rdi     # 0x52db6
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xf90(%rcx)
movq 0x4da01(%rip), %rax     # 0x68af0
movq %rax, 0xf98(%rcx)
movq 0xfa0(%rcx), %rdi
testq %rdi, %rdi
je 0x1b109
callq *0x110(%r14)
leaq 0x370dc(%rip), %rdi     # 0x521ec
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfa0(%rcx)
movq $0x0, 0xfa8(%rcx)
movq 0xfb0(%rcx), %rdi
testq %rdi, %rdi
je 0x1b13e
callq *0x110(%r14)
leaq 0x37c2d(%rip), %rdi     # 0x52d72
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfb0(%rcx)
movq 0x4d604(%rip), %rax     # 0x68760
movq %rax, 0xfb8(%rcx)
movq 0xfc0(%rcx), %rdi
testq %rdi, %rdi
je 0x1b176
callq *0x110(%r14)
leaq 0x37c01(%rip), %rdi     # 0x52d7e
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfc0(%rcx)
movq 0x4d9dc(%rip), %rax     # 0x68b70
movq %rax, 0xfc8(%rcx)
movq 0xfd0(%rcx), %rdi
testq %rdi, %rdi
je 0x1b1ae
callq *0x110(%r14)
leaq 0x37bd5(%rip), %rdi     # 0x52d8a
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfd0(%rcx)
movq 0x4d84c(%rip), %rax     # 0x68a18
movq %rax, 0xfd8(%rcx)
movq 0xfe0(%rcx), %rdi
testq %rdi, %rdi
je 0x1b1e6
callq *0x110(%r14)
leaq 0x37ba9(%rip), %rdi     # 0x52d96
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfe0(%rcx)
movq 0x4d1bc(%rip), %rax     # 0x683c0
movq %rax, 0xfe8(%rcx)
movq 0xff0(%rcx), %rdi
testq %rdi, %rdi
je 0x1b21e
callq *0x110(%r14)
leaq 0x37b7d(%rip), %rdi     # 0x52da2
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xff0(%rcx)
movq 0x4d504(%rip), %rax     # 0x68740
movq %rax, 0xff8(%rcx)
movq 0x4db8e(%rip), %rax     # 0x68dd8
cmpl $-0x2, (%rax)
je 0x1b287
movq 0x1000(%rcx), %rdi
testq %rdi, %rdi
je 0x1b262
callq *0x110(%r14)
leaq 0x37b45(%rip), %rdi     # 0x52dae
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1000(%rcx)
movq 0x4d890(%rip), %rax     # 0x68b10
movq %rax, 0x1008(%rcx)
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x196b0
// File: /workspace/github_c_makefile_star2_O3/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rdi, %rbx
movq 0x58(%rdi), %rax
xorl %r15d, %r15d
movq 0x4cf09(%rip), %r14     # 0x68600
movq 0xf90(%rax,%r15), %rdi
testq %rdi, %rdi
je 0x1b71b
callq *0x110(%r14)
movq 0x58(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0xf90(%rax,%r15)
addq $0x10, %r15
cmpq $0x120, %r15            # imm = 0x120
jne 0x1b6f7
movq 0x58(%rbx), %rax
movq $0x0, 0xf84(%rax)
movl 0x1110(%rax), %edx
leaq 0x37020(%rip), %rsi     # 0x52764
movq %rsp, %rdi
xorl %eax, %eax
callq 0x196f0
movq 0x58(%rbx), %rax
movq 0xf90(%rax), %rdi
testq %rdi, %rdi
je 0x1b765
callq *0x110(%r14)
movq %rsp, %rdi
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xf90(%rcx)
movq 0x4d371(%rip), %rax     # 0x68af0
movq %rax, 0xf98(%rcx)
movq 0xfa0(%rcx), %rdi
testq %rdi, %rdi
je 0x1b799
callq *0x110(%r14)
leaq 0x36a42(%rip), %rdi     # 0x521e2
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfa0(%rcx)
movq $0x0, 0xfa8(%rcx)
movl $0x2, %r14d
movq 0x4cef8(%rip), %rbp     # 0x686c0
leaq 0x370b7(%rip), %r15     # 0x52886
movq %rsp, %r12
movq 0x4cd37(%rip), %r13     # 0x68510
movl (%rbp,%r14,4), %edx
movq %r12, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x196f0
movq %rbx, %rdi
movl %r14d, %esi
movq %r12, %rdx
movq %r13, %rcx
callq 0x18370
incq %r14
cmpq $0x12, %r14
jne 0x1b7d9
movq %rbx, %rdi
callq 0x196b0
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rdi, %rbx
movq 0x58(%rdi), %rax
xorl %r15d, %r15d
movq 0x4cdbf(%rip), %r14     # 0x68600
movq 0xf90(%rax,%r15), %rdi
testq %rdi, %rdi
je 0x1b865
callq *0x110(%r14)
movq 0x58(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0xf90(%rax,%r15)
addq $0x10, %r15
cmpq $0x120, %r15            # imm = 0x120
jne 0x1b841
movq 0x58(%rbx), %rax
movq $0x0, 0xf84(%rax)
movl 0x1114(%rax), %edx
leaq 0x36eef(%rip), %rsi     # 0x5277d
movq %rsp, %rdi
xorl %eax, %eax
callq 0x196f0
movq 0x58(%rbx), %rax
movq 0xf90(%rax), %rdi
testq %rdi, %rdi
je 0x1b8af
callq *0x110(%r14)
movq %rsp, %rdi
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xf90(%rcx)
movq 0x4d227(%rip), %rax     # 0x68af0
movq %rax, 0xf98(%rcx)
movq 0xfa0(%rcx), %rdi
testq %rdi, %rdi
je 0x1b8e3
callq *0x110(%r14)
leaq 0x368f8(%rip), %rdi     # 0x521e2
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfa0(%rcx)
movq $0x0, 0xfa8(%rcx)
movl $0x2, %r14d
movq 0x4cdae(%rip), %rbp     # 0x686c0
leaq 0x36f6d(%rip), %r15     # 0x52886
movq %rsp, %r12
movq 0x4ccd5(%rip), %r13     # 0x685f8
movl (%rbp,%r14,4), %edx
movq %r12, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x196f0
movq %rbx, %rdi
movl %r14d, %esi
movq %r12, %rdx
movq %r13, %rcx
callq 0x18370
incq %r14
cmpq $0x12, %r14
jne 0x1b923
movq %rbx, %rdi
callq 0x196b0
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Ref_Match_Menu
void Ref_Match_Menu (edict_t *ent)
{
	Menu_Free(ent);
	ent->client->menu = MENU_LOCAL;
	ent->client->menuselect = 0;

	//gi.dprintf("Ref_Match_Menu\n");
	Menu_Set(ent, 0, "Match Menu", Ref_Main_Menu);
	Menu_Set(ent, 1, "----------", NULL);
	Menu_Set(ent, 2, "LMCTF Set 1", Ref_Match_A_Menu);
	Menu_Set(ent, 3, "LMCTF Set 2", Ref_Match_B_Menu);
	Menu_Set(ent, 4, "LMCTF Set 3", Ref_Match_C_Menu);
	Menu_Set(ent, 5, "LMCTF Set 4", Ref_Match_D_Menu);
	Menu_Set(ent, 6, "LMCTF Set 5", Ref_Match_E_Menu);
	if (maplistindex != -2) // No list
		Menu_Set(ent, 7, "Maplist", Ref_Match_Maplist_Menu);
	Menu_Draw (ent);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movq 0x58(%rdi), %rax
xorl %r15d, %r15d
movq 0x4cc6d(%rip), %r14     # 0x68600
movq 0xf90(%rax,%r15), %rdi
testq %rdi, %rdi
je 0x1b9b7
callq *0x110(%r14)
movq 0x58(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0xf90(%rax,%r15)
addq $0x10, %r15
cmpq $0x120, %r15            # imm = 0x120
jne 0x1b993
movq 0x58(%rbx), %rax
movq $0x0, 0xf84(%rax)
movq 0xf90(%rax), %rdi
testq %rdi, %rdi
je 0x1b9e6
callq *0x110(%r14)
leaq 0x3737a(%rip), %rdi     # 0x52d67
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xf90(%rcx)
movq 0x4d0ec(%rip), %rax     # 0x68af0
movq %rax, 0xf98(%rcx)
movq 0xfa0(%rcx), %rdi
testq %rdi, %rdi
je 0x1ba1e
callq *0x110(%r14)
leaq 0x367c5(%rip), %rdi     # 0x521ea
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfa0(%rcx)
movq $0x0, 0xfa8(%rcx)
movq 0xfb0(%rcx), %rdi
testq %rdi, %rdi
je 0x1ba53
callq *0x110(%r14)
leaq 0x37318(%rip), %rdi     # 0x52d72
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfb0(%rcx)
movq 0x4ce47(%rip), %rax     # 0x688b8
movq %rax, 0xfb8(%rcx)
movq 0xfc0(%rcx), %rdi
testq %rdi, %rdi
je 0x1ba8b
callq *0x110(%r14)
leaq 0x372ec(%rip), %rdi     # 0x52d7e
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfc0(%rcx)
movq 0x4c947(%rip), %rax     # 0x683f0
movq %rax, 0xfc8(%rcx)
movq 0xfd0(%rcx), %rdi
testq %rdi, %rdi
je 0x1bac3
callq *0x110(%r14)
leaq 0x372c0(%rip), %rdi     # 0x52d8a
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfd0(%rcx)
movq 0x4d1b7(%rip), %rax     # 0x68c98
movq %rax, 0xfd8(%rcx)
movq 0xfe0(%rcx), %rdi
testq %rdi, %rdi
je 0x1bafb
callq *0x110(%r14)
leaq 0x37294(%rip), %rdi     # 0x52d96
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfe0(%rcx)
movq 0x4ca97(%rip), %rax     # 0x685b0
movq %rax, 0xfe8(%rcx)
movq 0xff0(%rcx), %rdi
testq %rdi, %rdi
je 0x1bb33
callq *0x110(%r14)
leaq 0x37268(%rip), %rdi     # 0x52da2
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xff0(%rcx)
movq 0x4d157(%rip), %rax     # 0x68ca8
movq %rax, 0xff8(%rcx)
movq 0x4d279(%rip), %rax     # 0x68dd8
cmpl $-0x2, (%rax)
je 0x1bb9c
movq 0x1000(%rcx), %rdi
testq %rdi, %rdi
je 0x1bb77
callq *0x110(%r14)
leaq 0x37230(%rip), %rdi     # 0x52dae
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1000(%rcx)
movq 0x4d30b(%rip), %rax     # 0x68ea0
movq %rax, 0x1008(%rcx)
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x196b0
// File: /workspace/github_c_makefile_star2_O3/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Ref_Kick_Menu
void Ref_Kick_Menu (edict_t *ent)
{
	int i;
	char message[MAX_INFO_STRING];
	edict_t * player = NULL;

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

	Menu_Set(ent, 0, "LMCTF Kick Menu", Ref_Main_Menu);
	Menu_Set(ent, 1, "---------------", NULL);

	i = 2;
	player = ctf_findplayer(NULL, NULL, CTF_TEAM_IGNORETEAM);
	while (player && i < 17)
	{
		sprintf(message, "%lu %s", player->client->ctf.ctfid, player->client->pers.netname);
		Menu_Set(ent, i, message, SelectKick);
		player = ctf_findplayer(player, NULL, CTF_TEAM_IGNORETEAM);
		i++;
	}

	Menu_Draw (ent);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rdi, %rbx
movq 0x58(%rdi), %rax
xorl %r15d, %r15d
movq 0x4ca35(%rip), %r14     # 0x68600
movq 0xf90(%rax,%r15), %rdi
testq %rdi, %rdi
je 0x1bbef
callq *0x110(%r14)
movq 0x58(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0xf90(%rax,%r15)
addq $0x10, %r15
cmpq $0x120, %r15            # imm = 0x120
jne 0x1bbcb
movq 0x58(%rbx), %rax
movq $0x0, 0xf84(%rax)
movq 0xf90(%rax), %rdi
testq %rdi, %rdi
je 0x1bc1e
callq *0x110(%r14)
leaq 0x371ac(%rip), %rdi     # 0x52dd1
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xf90(%rcx)
movq 0x4ceb4(%rip), %rax     # 0x68af0
movq %rax, 0xf98(%rcx)
movq 0xfa0(%rcx), %rdi
testq %rdi, %rdi
je 0x1bc56
callq *0x110(%r14)
leaq 0x36588(%rip), %rdi     # 0x521e5
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfa0(%rcx)
movq $0x0, 0xfa8(%rcx)
xorl %edi, %edi
xorl %esi, %esi
movl $0xfffffffc, %edx       # imm = 0xFFFFFFFC
callq 0x19170
testq %rax, %rax
je 0x1bcfa
movq %rax, %r14
movl $0x2, %r12d
leaq 0x37146(%rip), %r15     # 0x52de1
movq %rsp, %r13
movq 0x4cd3b(%rip), %rbp     # 0x689e0
movq 0x58(%r14), %rcx
movq 0x9120(%rcx), %rdx
addq $0x2c0, %rcx            # imm = 0x2C0
movq %r13, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x196f0
movq %rbx, %rdi
movl %r12d, %esi
movq %r13, %rdx
movq %rbp, %rcx
callq 0x18370
movq %r14, %rdi
xorl %esi, %esi
movl $0xfffffffc, %edx       # imm = 0xFFFFFFFC
callq 0x19170
testq %rax, %rax
je 0x1bcfa
movq %rax, %r14
leal 0x1(%r12), %eax
cmpl $0x10, %r12d
movl %eax, %r12d
jb 0x1bca5
movq %rbx, %rdi
callq 0x196b0
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Ref_Practice_Menu
void Ref_Practice_Menu(edict_t *ent)
{
	char text[MAX_INFO_STRING];
	Menu_Free(ent);
	ent->client->menu = MENU_LOCAL;
	ent->client->menuselect = 1;
	ctf_validateflags();
	Menu_Set(ent, 1, "LMCTF Practice Menu", Ref_Main_Menu);
	Menu_Set(ent, 2, "-------------------", NULL);
	if (redflag && ((int)refset->value & CTF_RED_FLAG_FROZEN) )
		sprintf(text, "Red Flag:     %s", "FROZEN");
	else
		sprintf(text, "Red Flag:     %s", "NORMAL");
	Menu_Set(ent, 3, text, Ref_PracticeFlagRed_Exec);
	if (blueflag && ((int)refset->value & CTF_BLUE_FLAG_FROZEN) )
		sprintf(text, "Blue Flag:    %s", "FROZEN");
	else
		sprintf(text, "Blue Flag:    %s", "NORMAL");
	Menu_Set(ent, 4, text, Ref_PracticeFlagBlue_Exec);
	Menu_Draw (ent);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x200, %rsp            # imm = 0x200
movq %rdi, %rbx
movq 0x58(%rdi), %rax
xorl %r15d, %r15d
movq 0x4c8ae(%rip), %r14     # 0x68600
movq 0xf90(%rax,%r15), %rdi
testq %rdi, %rdi
je 0x1bd76
callq *0x110(%r14)
movq 0x58(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0xf90(%rax,%r15)
addq $0x10, %r15
cmpq $0x120, %r15            # imm = 0x120
jne 0x1bd52
movq 0x58(%rbx), %rax
movabsq $0x100000000, %rcx      # imm = 0x100000000
movq %rcx, 0xf84(%rax)
xorl %eax, %eax
callq 0x18590
movq 0x58(%rbx), %rax
movq 0xfa0(%rax), %rdi
testq %rdi, %rdi
je 0x1bdb6
callq *0x110(%r14)
leaq 0x3695c(%rip), %rdi     # 0x52719
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfa0(%rcx)
movq 0x4cd1c(%rip), %rax     # 0x68af0
movq %rax, 0xfa8(%rcx)
movq 0xfb0(%rcx), %rdi
testq %rdi, %rdi
je 0x1bdee
callq *0x110(%r14)
leaq 0x363ec(%rip), %rdi     # 0x521e1
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfb0(%rcx)
movq $0x0, 0xfb8(%rcx)
movq 0x4c9e1(%rip), %rax     # 0x687f8
cmpq $0x0, (%rax)
je 0x1be30
movq 0x4cb74(%rip), %rax     # 0x68998
movq (%rax), %rax
cvttss2si 0x20(%rax), %eax
testb $0x1, %al
jne 0x1be39
leaq 0x3690e(%rip), %rdx     # 0x52745
jmp 0x1be40
leaq 0x368fe(%rip), %rdx     # 0x5273e
leaq 0x368e6(%rip), %rsi     # 0x5272d
movq %rsp, %rdi
xorl %eax, %eax
callq 0x196f0
movq 0x58(%rbx), %rax
movq 0xfc0(%rax), %rdi
testq %rdi, %rdi
je 0x1be68
callq *0x110(%r14)
movq %rsp, %rdi
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfc0(%rcx)
movq 0x4c686(%rip), %rax     # 0x68508
movq %rax, 0xfc8(%rcx)
movq 0x4c9d0(%rip), %rax     # 0x68860
cmpq $0x0, (%rax)
je 0x1bea9
movq 0x4cafb(%rip), %rax     # 0x68998
movq (%rax), %rax
cvttss2si 0x20(%rax), %eax
testb $0x2, %al
jne 0x1beb2
leaq 0x36895(%rip), %rdx     # 0x52745
jmp 0x1beb9
leaq 0x36885(%rip), %rdx     # 0x5273e
leaq 0x3688c(%rip), %rsi     # 0x5274c
movq %rsp, %rdi
xorl %eax, %eax
callq 0x196f0
movq 0x58(%rbx), %rax
movq 0xfd0(%rax), %rdi
testq %rdi, %rdi
je 0x1bee1
callq *0x110(%r14)
movq %rsp, %rdi
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfd0(%rcx)
movq 0x4c525(%rip), %rax     # 0x68420
movq %rax, 0xfd8(%rcx)
movq %rbx, %rdi
callq 0x196b0
addq $0x200, %rsp            # imm = 0x200
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Ref_Help_Menu
void Ref_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 (!refhelptext[i]) // 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 Ref Commands", Ref_Main_Menu);
	Menu_Set(ent, 1, "------------------", NULL);
	for (i=2, j=start; i < 17 && refhelptext[j]; i++, j++)
	{
		sprintf(text, "%.24s", refhelptext[j]);
		Menu_Set(ent, i, text, NULL);
	}
	Menu_Set(ent, 17, "<next page>", Ref_Help_Menu);

	Menu_Draw (ent);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rdi, %rbx
movq 0x58(%rdi), %rax
movl 0x10c0(%rax), %ecx
leal (%rcx,%rcx,4), %edx
leal (%rdx,%rdx,2), %r14d
testl %ecx, %ecx
jle 0x1bf6d
leal -0xf(%r14), %ecx
movslq %ecx, %rcx
movq 0x4cc2a(%rip), %rdx     # 0x68b78
cmpq $0x0, (%rdx,%rcx,8)
jne 0x1bf62
movl $0x0, 0x10c0(%rax)
xorl %r14d, %r14d
incq %rcx
movslq %r14d, %rsi
cmpq %rsi, %rcx
jl 0x1bf4e
xorl %r15d, %r15d
movq 0x4c689(%rip), %r12     # 0x68600
movq 0xf90(%rax,%r15), %rdi
testq %rdi, %rdi
je 0x1bf9c
callq *0x110(%r12)
movq 0x58(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0xf90(%rax,%r15)
addq $0x10, %r15
cmpq $0x120, %r15            # imm = 0x120
jne 0x1bf77
movq 0x58(%rbx), %rax
movq $0x0, 0xf84(%rax)
movq 0xf90(%rax), %rdi
testq %rdi, %rdi
je 0x1bfcc
callq *0x110(%r12)
leaq 0x3672d(%rip), %rdi     # 0x52700
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xf90(%rcx)
movq 0x4cb06(%rip), %rax     # 0x68af0
movq %rax, 0xf98(%rcx)
movq 0xfa0(%rcx), %rdi
testq %rdi, %rdi
je 0x1c005
callq *0x110(%r12)
leaq 0x361d6(%rip), %rdi     # 0x521e2
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfa0(%rcx)
movslq %r14d, %rbp
shlq $0x3, %rbp
addq 0x4cb4e(%rip), %rbp     # 0x68b78
movq $0x0, 0xfa8(%rcx)
leaq 0x366d7(%rip), %r14     # 0x52713
movq %rsp, %r15
xorl %r13d, %r13d
movq (%rbp,%r13,8), %rdx
testq %rdx, %rdx
je 0x1c076
leaq 0x2(%r13), %r12
movq %r15, %rdi
movq %r14, %rsi
xorl %eax, %eax
callq 0x196f0
movq %rbx, %rdi
movl %r12d, %esi
movq %r15, %rdx
xorl %ecx, %ecx
callq 0x18370
incq %r13
cmpl $0xf, %r13d
jne 0x1c042
movq 0x58(%rbx), %rax
movq 0x10a0(%rax), %rdi
testq %rdi, %rdi
je 0x1c093
movq 0x4c573(%rip), %rax     # 0x68600
callq *0x110(%rax)
leaq 0x362cc(%rip), %rdi     # 0x52366
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x10a0(%rcx)
movq 0x4c63f(%rip), %rax     # 0x686f0
movq %rax, 0x10a8(%rcx)
movq %rbx, %rdi
callq 0x196b0
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Ref_PracticeFlagRed_Exec
void Ref_PracticeFlagRed_Exec(edict_t *ent)
{
	if (redflag && ((int)refset->value & CTF_RED_FLAG_FROZEN) )
		gi.cvar_set("refset", va("%d", ((int) refset->value & ~CTF_RED_FLAG_FROZEN)));
	else
		gi.cvar_set("refset", va("%d", ((int) refset->value | CTF_RED_FLAG_FROZEN)));
	Ref_Practice_Menu(ent);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x4c397(%rip), %rax     # 0x687f8
cmpq $0x0, (%rax)
sete %al
movq 0x4c529(%rip), %rcx     # 0x68998
movq (%rcx), %rcx
cvttss2si 0x20(%rcx), %ecx
testb $0x1, %cl
sete %dl
orb %al, %dl
movq 0x4c17a(%rip), %rax     # 0x68600
movq 0x128(%rax), %r14
andl $-0x2, %ecx
movzbl %dl, %esi
orl %ecx, %esi
leaq 0x363ea(%rip), %rdi     # 0x52886
xorl %eax, %eax
callq 0x19340
leaq 0x362b3(%rip), %rdi     # 0x5275d
movq %rax, %rsi
callq *%r14
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x19b30
// File: /workspace/github_c_makefile_star2_O3/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Ref_PracticeFlagBlue_Exec
void Ref_PracticeFlagBlue_Exec(edict_t *ent)
{
	if (blueflag && ((int)refset->value & CTF_BLUE_FLAG_FROZEN) )
		gi.cvar_set("refset", va("%d", ((int) refset->value & ~CTF_BLUE_FLAG_FROZEN)));
	else
		gi.cvar_set("refset", va("%d", ((int) refset->value | CTF_BLUE_FLAG_FROZEN)));
	Ref_Practice_Menu(ent);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x4c393(%rip), %rax     # 0x68860
cmpq $0x0, (%rax)
sete %al
movq 0x4c4bd(%rip), %rcx     # 0x68998
movq (%rcx), %rcx
cvttss2si 0x20(%rcx), %ecx
testb $0x2, %cl
sete %dl
orb %al, %dl
movq 0x4c10e(%rip), %rax     # 0x68600
movq 0x128(%rax), %r14
andl $-0x3, %ecx
movzbl %dl, %eax
leal (%rcx,%rax,2), %esi
leaq 0x3637d(%rip), %rdi     # 0x52886
xorl %eax, %eax
callq 0x19340
leaq 0x36246(%rip), %rdi     # 0x5275d
movq %rax, %rsi
callq *%r14
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x19b30
// File: /workspace/github_c_makefile_star2_O3/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Ref_Timelimit_Menu
void Ref_Timelimit_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 Timelimit:  %3d", (int)timelimit->value);
	Menu_Set(ent, 0, text, Ref_Settings_Menu);
	Menu_Set(ent, 1, "------------------", NULL);
	for (i=2; i < 18; i++)
	{
		sprintf(text, "%d", timeslist[i]);
		Menu_Set(ent, i, text, SetTimelimit);
	}

	Menu_Draw (ent);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rdi, %rbx
movq 0x58(%rdi), %rax
xorl %r15d, %r15d
movq 0x4c072(%rip), %r14     # 0x68600
movq 0xf90(%rax,%r15), %rdi
testq %rdi, %rdi
je 0x1c5b2
callq *0x110(%r14)
movq 0x58(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0xf90(%rax,%r15)
addq $0x10, %r15
cmpq $0x120, %r15            # imm = 0x120
jne 0x1c58e
movq 0x58(%rbx), %rax
movq $0x0, 0xf84(%rax)
movq 0x4c0db(%rip), %rax     # 0x686b0
movq (%rax), %rax
cvttss2si 0x20(%rax), %edx
leaq 0x36564(%rip), %rsi     # 0x52b48
movq %rsp, %rdi
xorl %eax, %eax
callq 0x196f0
movq 0x58(%rbx), %rax
movq 0xf90(%rax), %rdi
testq %rdi, %rdi
je 0x1c605
callq *0x110(%r14)
movq %rsp, %rdi
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xf90(%rcx)
movq 0x4c631(%rip), %rax     # 0x68c50
movq %rax, 0xf98(%rcx)
movq 0xfa0(%rcx), %rdi
testq %rdi, %rdi
je 0x1c639
callq *0x110(%r14)
leaq 0x35ba2(%rip), %rdi     # 0x521e2
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfa0(%rcx)
movq $0x0, 0xfa8(%rcx)
movl $0x2, %r14d
movq 0x4c718(%rip), %rbp     # 0x68d80
leaq 0x36217(%rip), %r15     # 0x52886
movq %rsp, %r12
movq 0x4c2e7(%rip), %r13     # 0x68960
movl (%rbp,%r14,4), %edx
movq %r12, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x196f0
movq %rbx, %rdi
movl %r14d, %esi
movq %r12, %rdx
movq %r13, %rcx
callq 0x18370
incq %r14
cmpq $0x12, %r14
jne 0x1c679
movq %rbx, %rdi
callq 0x196b0
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Ref_Fraglimit_Menu
void Ref_Fraglimit_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 Fraglimit:  %3d", (int)fraglimit->value);
	Menu_Set(ent, 0, text, Ref_Settings_Menu);
	Menu_Set(ent, 1, "------------------", NULL);
	for (i=2; i < 18; i++)
	{
		sprintf(text, "%d", fragslist[i]);
		Menu_Set(ent, i, text, SetFraglimit);
	}

	Menu_Draw (ent);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rdi, %rbx
movq 0x58(%rdi), %rax
xorl %r15d, %r15d
movq 0x4bf1f(%rip), %r14     # 0x68600
movq 0xf90(%rax,%r15), %rdi
testq %rdi, %rdi
je 0x1c705
callq *0x110(%r14)
movq 0x58(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0xf90(%rax,%r15)
addq $0x10, %r15
cmpq $0x120, %r15            # imm = 0x120
jne 0x1c6e1
movq 0x58(%rbx), %rax
movq $0x0, 0xf84(%rax)
movq 0x4c6d8(%rip), %rax     # 0x68e00
movq (%rax), %rax
cvttss2si 0x20(%rax), %edx
leaq 0x36429(%rip), %rsi     # 0x52b60
movq %rsp, %rdi
xorl %eax, %eax
callq 0x196f0
movq 0x58(%rbx), %rax
movq 0xf90(%rax), %rdi
testq %rdi, %rdi
je 0x1c758
callq *0x110(%r14)
movq %rsp, %rdi
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xf90(%rcx)
movq 0x4c4de(%rip), %rax     # 0x68c50
movq %rax, 0xf98(%rcx)
movq 0xfa0(%rcx), %rdi
testq %rdi, %rdi
je 0x1c78c
callq *0x110(%r14)
leaq 0x35a4f(%rip), %rdi     # 0x521e2
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfa0(%rcx)
movq $0x0, 0xfa8(%rcx)
movl $0x2, %r14d
movq 0x4c045(%rip), %rbp     # 0x68800
leaq 0x360c4(%rip), %r15     # 0x52886
movq %rsp, %r12
movq 0x4c814(%rip), %r13     # 0x68fe0
movl (%rbp,%r14,4), %edx
movq %r12, %rdi
movq %r15, %rsi
xorl %eax, %eax
callq 0x196f0
movq %rbx, %rdi
movl %r14d, %esi
movq %r12, %rdx
movq %r13, %rcx
callq 0x18370
incq %r14
cmpq $0x12, %r14
jne 0x1c7cc
movq %rbx, %rdi
callq 0x196b0
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: DMFlags_Exec
void DMFlags_Exec (edict_t *ent)
{
	int i;

	i = ent->client->menuselect - 2;
	if ((int)dmflags->value & (1 << i)) // is it set?
		gi.cvar_set("dmflags", va("%d", ((int)dmflags->value & ~(1 << i))));
	else
		gi.cvar_set("dmflags", va("%d", ((int)dmflags->value |(1 << i))));
	Ref_DMFlags_Menu(ent);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x58(%rdi), %rax
movq 0x4b11b(%rip), %rcx     # 0x68618
movq (%rcx), %rcx
cvttss2si 0x20(%rcx), %ecx
movb 0xf88(%rax), %al
addb $-0x2, %al
movzbl %al, %eax
movl %ecx, %edx
btsl %eax, %edx
movl %ecx, %esi
btrl %eax, %esi
btl %eax, %ecx
movq 0x4b0dc(%rip), %rax     # 0x68600
movq 0x128(%rax), %r14
cmovael %edx, %esi
leaq 0x35351(%rip), %rdi     # 0x52886
xorl %eax, %eax
callq 0x19340
leaq 0x34fd4(%rip), %rdi     # 0x52517
movq %rax, %rsi
callq *%r14
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x19a80
// File: /workspace/github_c_makefile_star2_O3/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: CTFFlags_Exec
void CTFFlags_Exec (edict_t *ent)
{
	int i;

	i = ent->client->menuselect - 2;
	if ((int)ctfflags->value & (1 << i)) // is it set?
		gi.cvar_set("ctfflags", va("%d", ((int)ctfflags->value & ~(1 << i))));
	else
		gi.cvar_set("ctfflags", va("%d", ((int)ctfflags->value |(1 << i))));
	Ref_CTFFlags_Menu(ent);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x58(%rdi), %rax
movq 0x4b5ee(%rip), %rcx     # 0x68b58
movq (%rcx), %rcx
cvttss2si 0x20(%rcx), %ecx
movb 0xf88(%rax), %al
addb $-0x2, %al
movzbl %al, %eax
movl %ecx, %edx
btsl %eax, %edx
movl %ecx, %esi
btrl %eax, %esi
btl %eax, %ecx
movq 0x4b06f(%rip), %rax     # 0x68600
movq 0x128(%rax), %r14
cmovael %edx, %esi
leaq 0x352e4(%rip), %rdi     # 0x52886
xorl %eax, %eax
callq 0x19340
leaq 0x34f73(%rip), %rdi     # 0x52523
movq %rax, %rsi
callq *%r14
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x19a88