// File: /workspace/github_c_makefile_star2_O1/QwazyWabbitWOS[P]lmctf60/g_menu.c
// Function: Ref_Main_Menu
void Ref_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 Referee Menu", Main_Menu);
	Menu_Set(ent, 2, "------------------", NULL);
	Menu_Set(ent, 3, "Change Map", Ref_Map_Menu);
	Menu_Set(ent, 4, "Server Settings", Ref_Settings_Menu);
	sprintf(text, "Ping Floor:          %3d", ent->client->ctf.pingalertfloor);
	Menu_Set(ent, 5, text, Ref_PingFloor_Menu);
	sprintf(text, "Ping Ceiling:        %3d", ent->client->ctf.pingalertceiling);
	Menu_Set(ent, 6, text, Ref_PingCeiling_Menu);
	if (Match_Mode())
		Menu_Set(ent, 7, "Stop Match", Ref_End_Match);
	else
		Menu_Set(ent, 7, "Start Match", Ref_Match_Menu);
	Menu_Set(ent, 8, "Kick Player", Ref_Kick_Menu);

	if (GamePaused())
		Menu_Set(ent, 9, "Continue Match", RefTogglePause);
	else
		Menu_Set(ent, 9, "Pause Match", RefTogglePause);
	Menu_Set(ent, 10, "Practice Settings", Ref_Practice_Menu);
	Menu_Set(ent, 11, "Toggle Fast Switch", Cmd_ToggleFastSwitch_f);
	Menu_Set(ent, 12, "Referee Help", Ref_Help_Menu);

	if (ent->client->ctf.extra_flags & CTF_EXTRAFLAGS_RCON)
		Menu_Set(ent, 13, "Save Config (RCON)", SaveServer_Exec);

	Menu_Draw (ent);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rdi, %rbx
xorl %r14d, %r14d
movq 0x4eca2(%rip), %r15     # 0x69600
movq 0x58(%rbx), %rax
movq 0xf90(%rax,%r14), %rdi
testq %rdi, %rdi
je 0x1a986
callq *0x110(%r15)
movq 0x58(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0xf90(%rax,%r14)
addq $0x10, %r14
cmpq $0x120, %r14            # imm = 0x120
jne 0x1a95e
movq 0x58(%rbx), %rax
movabsq $0x100000000, %rcx      # imm = 0x100000000
movq %rcx, 0xf84(%rax)
movq 0xfa0(%rax), %rdi
testq %rdi, %rdi
je 0x1a9bb
callq *0x110(%r15)
leaq 0x389f2(%rip), %rdi     # 0x533b4
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfa0(%rcx)
movq 0x4edc7(%rip), %rax     # 0x697a0
movq %rax, 0xfa8(%rcx)
movq 0xfb0(%rcx), %rdi
testq %rdi, %rdi
je 0x1a9f3
callq *0x110(%r15)
leaq 0x387e8(%rip), %rdi     # 0x531e2
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfb0(%rcx)
movq $0x0, 0xfb8(%rcx)
movq 0xfc0(%rcx), %rdi
testq %rdi, %rdi
je 0x1aa28
callq *0x110(%r15)
leaq 0x38998(%rip), %rdi     # 0x533c7
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfc0(%rcx)
movq 0x4ef12(%rip), %rax     # 0x69958
movq %rax, 0xfc8(%rcx)
movq 0xfd0(%rcx), %rdi
testq %rdi, %rdi
je 0x1aa60
callq *0x110(%r15)
leaq 0x3896b(%rip), %rdi     # 0x533d2
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfd0(%rcx)
movq 0x4f1d2(%rip), %rax     # 0x69c50
movq %rax, 0xfd8(%rcx)
movl 0x1110(%rcx), %edx
leaq 0x38950(%rip), %rsi     # 0x533e2
movq %rsp, %rdi
xorl %eax, %eax
callq 0x19700
movq 0x58(%rbx), %rax
movq 0xfe0(%rax), %rdi
testq %rdi, %rdi
je 0x1aab3
callq *0x110(%r15)
movq %rsp, %r14
movq %r14, %rdi
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfe0(%rcx)
movq 0x4f3a0(%rip), %rax     # 0x69e70
movq %rax, 0xfe8(%rcx)
movl 0x1114(%rcx), %edx
leaq 0x38917(%rip), %rsi     # 0x533fb
movq %r14, %rdi
xorl %eax, %eax
callq 0x19700
movq 0x58(%rbx), %rax
movq 0xff0(%rax), %rdi
testq %rdi, %rdi
je 0x1ab05
callq *0x110(%r15)
movq %rsp, %rdi
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xff0(%rcx)
movq 0x4ebc9(%rip), %rax     # 0x696e8
movq %rax, 0xff8(%rcx)
xorl %eax, %eax
callq 0x19110
testl %eax, %eax
movq 0x58(%rbx), %rax
movq 0x1000(%rax), %rdi
leaq 0x388de(%rip), %rax     # 0x5341f
leaq 0x388cc(%rip), %r14     # 0x53414
cmoveq %rax, %r14
movq 0x4ec95(%rip), %r12     # 0x697e8
cmoveq 0x4f185(%rip), %r12     # 0x69ce0
testq %rdi, %rdi
je 0x1ab67
callq *0x110(%r15)
movq %r14, %rdi
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1000(%rcx)
movq %r12, 0x1008(%rcx)
movq 0x1010(%rcx), %rdi
testq %rdi, %rdi
je 0x1ab94
callq *0x110(%r15)
leaq 0x38890(%rip), %rdi     # 0x5342b
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1010(%rcx)
movq 0x4ecb6(%rip), %rax     # 0x69868
movq %rax, 0x1018(%rcx)
xorl %eax, %eax
callq 0x18160
testl %eax, %eax
movq 0x58(%rbx), %rax
movq 0x1020(%rax), %rdi
leaq 0x38872(%rip), %rax     # 0x53446
leaq 0x3885c(%rip), %r14     # 0x53437
cmoveq %rax, %r14
testq %rdi, %rdi
je 0x1abeb
callq *0x110(%r15)
movq %r14, %rdi
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1020(%rcx)
movq 0x4ec4b(%rip), %rax     # 0x69850
movq %rax, 0x1028(%rcx)
movq 0x1030(%rcx), %rdi
testq %rdi, %rdi
je 0x1ac1f
callq *0x110(%r15)
leaq 0x3882c(%rip), %rdi     # 0x53452
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1030(%rcx)
movq 0x4f0f3(%rip), %rax     # 0x69d30
movq %rax, 0x1038(%rcx)
movq 0x1040(%rcx), %rdi
testq %rdi, %rdi
je 0x1ac57
callq *0x110(%r15)
leaq 0x38806(%rip), %rdi     # 0x53464
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1040(%rcx)
movq 0x4ec13(%rip), %rax     # 0x69888
movq %rax, 0x1048(%rcx)
movq 0x1050(%rcx), %rdi
testq %rdi, %rdi
je 0x1ac8f
callq *0x110(%r15)
leaq 0x387e1(%rip), %rdi     # 0x53477
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1050(%rcx)
movq 0x4ea43(%rip), %rax     # 0x696f0
movq %rax, 0x1058(%rcx)
testb $0x4, 0x1108(%rcx)
je 0x1acf5
movq 0x1060(%rcx), %rdi
testq %rdi, %rdi
je 0x1acd0
callq *0x110(%r15)
leaq 0x387ad(%rip), %rdi     # 0x53484
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1060(%rcx)
movq 0x4ee32(%rip), %rax     # 0x69b20
movq %rax, 0x1068(%rcx)
movq %rbx, %rdi
callq 0x196c0
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r14
popq %r15
retq