// File: /workspace/github_c_makefile_star2_O3/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
movq 0x58(%rdi), %rax
xorl %r14d, %r14d
movq 0x4dcbe(%rip), %r15     # 0x68600
movq 0xf90(%rax,%r14), %rdi
testq %rdi, %rdi
je 0x1a966
callq *0x110(%r15)
movq 0x58(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0xf90(%rax,%r14)
addq $0x10, %r14
cmpq $0x120, %r14            # imm = 0x120
jne 0x1a942
movq 0x58(%rbx), %rax
movabsq $0x100000000, %rcx      # imm = 0x100000000
movq %rcx, 0xf84(%rax)
movq 0xfa0(%rax), %rdi
testq %rdi, %rdi
je 0x1a99b
callq *0x110(%r15)
leaq 0x37a12(%rip), %rdi     # 0x523b4
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfa0(%rcx)
movq 0x4dde7(%rip), %rax     # 0x687a0
movq %rax, 0xfa8(%rcx)
movq 0xfb0(%rcx), %rdi
testq %rdi, %rdi
je 0x1a9d3
callq *0x110(%r15)
leaq 0x37808(%rip), %rdi     # 0x521e2
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfb0(%rcx)
movq $0x0, 0xfb8(%rcx)
movq 0xfc0(%rcx), %rdi
testq %rdi, %rdi
je 0x1aa08
callq *0x110(%r15)
leaq 0x379b8(%rip), %rdi     # 0x523c7
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfc0(%rcx)
movq 0x4df32(%rip), %rax     # 0x68958
movq %rax, 0xfc8(%rcx)
movq 0xfd0(%rcx), %rdi
testq %rdi, %rdi
je 0x1aa40
callq *0x110(%r15)
leaq 0x3798b(%rip), %rdi     # 0x523d2
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfd0(%rcx)
movq 0x4e1f2(%rip), %rax     # 0x68c50
movq %rax, 0xfd8(%rcx)
movl 0x1110(%rcx), %edx
leaq 0x37970(%rip), %rsi     # 0x523e2
movq %rsp, %rdi
xorl %eax, %eax
callq 0x196f0
movq 0x58(%rbx), %rax
movq 0xfe0(%rax), %rdi
testq %rdi, %rdi
je 0x1aa93
callq *0x110(%r15)
movq %rsp, %r14
movq %r14, %rdi
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xfe0(%rcx)
movq 0x4e3c0(%rip), %rax     # 0x68e70
movq %rax, 0xfe8(%rcx)
movl 0x1114(%rcx), %edx
leaq 0x37937(%rip), %rsi     # 0x523fb
movq %r14, %rdi
xorl %eax, %eax
callq 0x196f0
movq 0x58(%rbx), %rax
movq 0xff0(%rax), %rdi
testq %rdi, %rdi
je 0x1aae5
callq *0x110(%r15)
movq %rsp, %rdi
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0xff0(%rcx)
movq 0x4dbe9(%rip), %rax     # 0x686e8
movq %rax, 0xff8(%rcx)
xorl %eax, %eax
callq 0x19110
testl %eax, %eax
movq 0x58(%rbx), %rax
movq 0x1000(%rax), %rdi
leaq 0x378fe(%rip), %rax     # 0x5241f
leaq 0x378ec(%rip), %r14     # 0x52414
cmoveq %rax, %r14
movq 0x4dcb5(%rip), %r12     # 0x687e8
cmoveq 0x4e1a5(%rip), %r12     # 0x68ce0
testq %rdi, %rdi
je 0x1ab47
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 0x1ab74
callq *0x110(%r15)
leaq 0x378b0(%rip), %rdi     # 0x5242b
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1010(%rcx)
movq 0x4dcd6(%rip), %rax     # 0x68868
movq %rax, 0x1018(%rcx)
xorl %eax, %eax
callq 0x18160
testl %eax, %eax
movq 0x58(%rbx), %rax
movq 0x1020(%rax), %rdi
leaq 0x37892(%rip), %rax     # 0x52446
leaq 0x3787c(%rip), %r14     # 0x52437
cmoveq %rax, %r14
testq %rdi, %rdi
je 0x1abcb
callq *0x110(%r15)
movq %r14, %rdi
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1020(%rcx)
movq 0x4dc6b(%rip), %rax     # 0x68850
movq %rax, 0x1028(%rcx)
movq 0x1030(%rcx), %rdi
testq %rdi, %rdi
je 0x1abff
callq *0x110(%r15)
leaq 0x3784c(%rip), %rdi     # 0x52452
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1030(%rcx)
movq 0x4e113(%rip), %rax     # 0x68d30
movq %rax, 0x1038(%rcx)
movq 0x1040(%rcx), %rdi
testq %rdi, %rdi
je 0x1ac37
callq *0x110(%r15)
leaq 0x37826(%rip), %rdi     # 0x52464
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1040(%rcx)
movq 0x4dc33(%rip), %rax     # 0x68888
movq %rax, 0x1048(%rcx)
movq 0x1050(%rcx), %rdi
testq %rdi, %rdi
je 0x1ac6f
callq *0x110(%r15)
leaq 0x37801(%rip), %rdi     # 0x52477
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1050(%rcx)
movq 0x4da63(%rip), %rax     # 0x686f0
movq %rax, 0x1058(%rcx)
testb $0x4, 0x1108(%rcx)
je 0x1acd5
movq 0x1060(%rcx), %rdi
testq %rdi, %rdi
je 0x1acb0
callq *0x110(%r15)
leaq 0x377cd(%rip), %rdi     # 0x52484
callq 0x18100
movq 0x58(%rbx), %rcx
movq %rax, 0x1060(%rcx)
movq 0x4de52(%rip), %rax     # 0x68b20
movq %rax, 0x1068(%rcx)
movq %rbx, %rdi
callq 0x196b0
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r14
popq %r15
retq