// File: /workspace/github_c_makefile_star2_O2/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Cmd_Refcommands_f
void Cmd_Refcommands_f(edict_t *ent)
{
	if (!ISREF(ent)) {
		gi.cprintf(ent, PRINT_HIGH, "Referee-only command\n");
		return;
	}

	char buf[0x2000]; //QW// resized unnecessarily large buffer.
	memset(&buf[0], 0, sizeof(buf));

	strcat(buf, "\nReferee, commands:\n");
	strcat(buf, "  gotomap                          Change the map\n");
	strcat(buf, "  users                            List players\n");
	strcat(buf, "  kick <id>                        Kick player by their client ID\n");
	strcat(buf, "  pingalert <floor> <ceiling>      Notify ref if a player is outside this range\n");
	strcat(buf, "  togglefastswitch                 Turn on/off fast weapon switching\n");
	strcat(buf, "  refmenu                          Open the menu in the hud\n");
	strcat(buf, "  startmatch                       Start the match on the current map\n");
	strcat(buf, "  stopmatch                        Stop the current match\n");
	strcat(buf, "  pausematch                       Pause the current match\n");
	strcat(buf, "  lock                             Toggle the team lock\n");
	strcat(buf, "  setpassword <password>           Set a password on server. blank password unsets it\n");
	strcat(buf, "  changemap <mapname>              Change to the selected map\n");
	strcat(buf, "  settimelimit <minutes>           Set the match timelimit in minutes\n");

	gi.cprintf(ent, PRINT_HIGH, buf);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x2000, %rsp           # imm = 0x2000
movq %rdi, %rbx
movq 0x58(%rdi), %rax
testb $0x2, 0x1108(%rax)
jne 0x27e11
movq 0x3e810(%rip), %rax     # 0x66600
movq 0x10(%rax), %rcx
leaq 0x2874b(%rip), %rdx     # 0x50546
pushq $0x2
popq %rsi
movq %rbx, %rdi
xorl %eax, %eax
addq $0x2000, %rsp           # imm = 0x2000
popq %rbx
popq %r14
popq %r15
jmpq *%rcx
movq %rsp, %r14
movl $0x2000, %edx           # imm = 0x2000
movq %r14, %rdi
xorl %esi, %esi
callq 0x188e0
movq %r14, %rdi
callq 0x186c0
movabsq $0xa3a73646e616d, %rcx  # imm = 0xA3A73646E616D
movq %rcx, 0xd(%rsp,%rax)
movups 0x2971c(%rip), %xmm0    # 0x5155d
movups %xmm0, (%rsp,%rax)
movq %r14, %rdi
callq 0x186c0
movups 0x2971e(%rip), %xmm0    # 0x51572
movups %xmm0, (%rsp,%rax)
movups 0x29723(%rip), %xmm0    # 0x51582
movups %xmm0, 0x10(%rsp,%rax)
movups 0x29727(%rip), %xmm0    # 0x51592
movups %xmm0, 0x20(%rsp,%rax)
movl $0xa7061, 0x2f(%rsp,%rax) # imm = 0xA7061
movq %r14, %rdi
callq 0x186c0
movups 0x2971e(%rip), %xmm0    # 0x515a5
movups %xmm0, (%rsp,%rax)
movups 0x29723(%rip), %xmm0    # 0x515b5
movups %xmm0, 0x10(%rsp,%rax)
movups 0x29727(%rip), %xmm0    # 0x515c5
movups %xmm0, 0x20(%rsp,%rax)
movb $0x0, 0x30(%rsp,%rax)
movq %r14, %rdi
callq 0x186c0
leaq (%rsp,%rax), %rdi
leaq 0x2971b(%rip), %rsi     # 0x515d6
pushq $0x43
popq %rdx
callq 0x18d60
movq %r14, %rdi
callq 0x186c0
leaq (%rsp,%rax), %rdi
leaq 0x29743(%rip), %rsi     # 0x51619
pushq $0x51
popq %rdx
callq 0x18d60
movq %r14, %rdi
callq 0x186c0
leaq (%rsp,%rax), %rdi
leaq 0x29779(%rip), %rsi     # 0x5166a
pushq $0x46
popq %rdx
callq 0x18d60
movq %r14, %rdi
callq 0x186c0
movups 0x297a8(%rip), %xmm0    # 0x516b0
movups %xmm0, (%rsp,%rax)
movups 0x297ad(%rip), %xmm0    # 0x516c0
movups %xmm0, 0x10(%rsp,%rax)
movups 0x297b1(%rip), %xmm0    # 0x516d0
movups %xmm0, 0x20(%rsp,%rax)
movups 0x297b2(%rip), %xmm0    # 0x516dd
movups %xmm0, 0x2d(%rsp,%rax)
movq %r14, %rdi
callq 0x186c0
leaq (%rsp,%rax), %rdi
leaq 0x297aa(%rip), %rsi     # 0x516ed
pushq $0x47
popq %r15
movq %r15, %rdx
callq 0x18d60
movq %r14, %rdi
callq 0x186c0
movups 0x297d6(%rip), %xmm0    # 0x51734
movups %xmm0, (%rsp,%rax)
movups 0x297db(%rip), %xmm0    # 0x51744
movups %xmm0, 0x10(%rsp,%rax)
movups 0x297df(%rip), %xmm0    # 0x51754
movups %xmm0, 0x20(%rsp,%rax)
movups 0x297de(%rip), %xmm0    # 0x5175f
movups %xmm0, 0x2b(%rsp,%rax)
movq %r14, %rdi
callq 0x186c0
movups 0x297da(%rip), %xmm0    # 0x5176f
movups %xmm0, (%rsp,%rax)
movups 0x297df(%rip), %xmm0    # 0x5177f
movups %xmm0, 0x10(%rsp,%rax)
movups 0x297e3(%rip), %xmm0    # 0x5178f
movups %xmm0, 0x20(%rsp,%rax)
movups 0x297e3(%rip), %xmm0    # 0x5179b
movups %xmm0, 0x2c(%rsp,%rax)
movq %r14, %rdi
callq 0x186c0
movups 0x297df(%rip), %xmm0    # 0x517ab
movups %xmm0, (%rsp,%rax)
movups 0x297e4(%rip), %xmm0    # 0x517bb
movups %xmm0, 0x10(%rsp,%rax)
movups 0x297e8(%rip), %xmm0    # 0x517cb
movups %xmm0, 0x20(%rsp,%rax)
movups 0x297e5(%rip), %xmm0    # 0x517d4
movups %xmm0, 0x29(%rsp,%rax)
movq %r14, %rdi
callq 0x186c0
leaq (%rsp,%rax), %rdi
leaq 0x297dd(%rip), %rsi     # 0x517e4
pushq $0x57
popq %rdx
callq 0x18d60
movq %r14, %rdi
callq 0x186c0
movups 0x2981d(%rip), %xmm0    # 0x5183b
movups %xmm0, (%rsp,%rax)
movups 0x29822(%rip), %xmm0    # 0x5184b
movups %xmm0, 0x10(%rsp,%rax)
movups 0x29826(%rip), %xmm0    # 0x5185b
movups %xmm0, 0x20(%rsp,%rax)
movups 0x29829(%rip), %xmm0    # 0x5186a
movups %xmm0, 0x2f(%rsp,%rax)
movq %r14, %rdi
callq 0x186c0
leaq (%rsp,%rax), %rdi
leaq 0x29821(%rip), %rsi     # 0x5187a
movq %r15, %rdx
callq 0x18d60
movq 0x3e598(%rip), %rcx     # 0x66600
pushq $0x2
popq %rsi
movq %rbx, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq *0x10(%rcx)
addq $0x2000, %rsp           # imm = 0x2000
popq %rbx
popq %r14
popq %r15
retq