LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/gslog.c
// Function: sl_GameEnd
void sl_GameEnd( game_import_t      *gi,
                 level_locals_t      level )
{
    if( sl_Logging( gi, pPatch ) )
    {
        sl_LogGameEnd( gi, level.time );
        sl_CloseLogFile();

        fWasAlreadyOpen = 0;
    }   
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x10(%rbp)
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq 0x62191(%rip), %rsi     # 0x8ca70
callq 0x197c0
cmpl $0x0, %eax
je 0x2a90a
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rdi
movss 0x4(%rax), %xmm0
callq 0x18f40
callq 0x184e0
movl $0x0, 0x6215e(%rip)     # 0x8ca68
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/gslog.c
// Function: sl_WriteStdLogPlayerEntered
void sl_WriteStdLogPlayerEntered( game_import_t     *gi,
                                  level_locals_t     level,
                                  edict_t           *ent )
{
    if( sl_Logging( gi, pPatch ) )
    {
        sl_LogPlayerConnect( gi,
                             ent->client->pers.netname,
                             NULL,
                             level.time);        
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq 0x61d9d(%rip), %rsi     # 0x8ca70
callq 0x197c0
cmpl $0x0, %eax
je 0x2ad09
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rcx
movq 0x58(%rcx), %rsi
addq $0xc0, %rsi
addq $0x200, %rsi            # imm = 0x200
movss 0x4(%rax), %xmm0
xorl %eax, %eax
movl %eax, %edx
callq 0x18130
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/gslog.c
// Function: sl_LogPlayerDisconnect
void sl_LogPlayerDisconnect( game_import_t      *gi,
                             level_locals_t      level,
                             edict_t            *ent )
{
    // GSLogMod Start: Player disconnected
    if( sl_Logging( gi, pPatch ) )
    {
        sl_LogPlayerLeft( gi,
                          ent->client->pers.netname,
                          level.time );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq 0x61d3d(%rip), %rsi     # 0x8ca70
callq 0x197c0
cmpl $0x0, %eax
je 0x2ad65
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rcx
movq 0x58(%rcx), %rsi
addq $0xc0, %rsi
addq $0x200, %rsi            # imm = 0x200
movss 0x4(%rax), %xmm0
callq 0x18f10
addq $0x20, %rsp
popq %rbp
retq
nop
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_vote.c
// Function: Clear_All_Ballots
int Clear_All_Ballots (edict_t *ent)
{
	edict_t * player = NULL;
	unsigned int num_players = 0;

	//Reset the flags to neither yes or no (ie abstain) to prepare for next vote
	player = ctf_findplayer(NULL, NULL, CTF_TEAM_IGNORETEAM);
	while (player)
	{
		num_players++;
		//gi.bprintf(PRINT_HIGH, "processing: %s --", player->client->pers.netname); //for debugging
		player->client->ctf.extra_flags &= ~CTF_EXTRAFLAGS_VOTE_NO; //reset all players so they are all in
		player->client->ctf.extra_flags &= ~CTF_EXTRAFLAGS_VOTE_YES;  //'abstain' mode.
		//gi.bprintf(PRINT_HIGH," reset\n"); //for debugging
		player = ctf_findplayer(player, NULL, CTF_TEAM_IGNORETEAM);
	}
	return (num_players);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
xorl %eax, %eax
movl %eax, %esi
movl $0xfffffffc, %edx       # imm = 0xFFFFFFFC
movq %rsi, %rdi
callq 0x19340
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x2adf9
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x1108(%rax), %ecx
andl $0xffffff7f, %ecx       # imm = 0xFFFFFF7F
movl %ecx, 0x1108(%rax)
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x1108(%rax), %ecx
andl $-0x41, %ecx
movl %ecx, 0x1108(%rax)
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0xfffffffc, %edx       # imm = 0xFFFFFFFC
callq 0x19340
movq %rax, -0x10(%rbp)
jmp 0x2ada0
movl -0x14(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_vote.c
// Function: Vote_Skip_Level
void Vote_Skip_Level (edict_t *ent)
{
	unsigned int num_players = 0;

	num_players = Clear_All_Ballots (ent);
	if (num_players < 4 )
		gi.cprintf(ent, PRINT_HIGH,"You need at least four players on the server to initiate a vote\n");
	else if (VoteStarted)
		gi.cprintf(ent, PRINT_HIGH,"Vote has already been started\n");
	else
	{
		VoteStarted = true;
		VoteTime = level.time;  //start the 30 second timer
		VoteType |= CTF_VOTETYPE_SKIP;

		gi.bprintf(PRINT_HIGH,"%s started vote to skip level.\n", ent->client->pers.netname);
		gi.sound(ent, CHAN_ITEM, gi.soundindex("misc/secret.wav"), 1, ATTN_NONE, 0);
		ent->client->ctf.extra_flags |= CTF_EXTRAFLAGS_VOTE_YES; //client who initiates vote must vote yes by default
		ent->client->ctf.extra_flags &= ~CTF_EXTRAFLAGS_VOTE_NO;
	}
	Vote_Menu(ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18040
movl %eax, -0xc(%rbp)
cmpl $0x4, -0xc(%rbp)
jae 0x2ae59
movq 0x577c4(%rip), %rax     # 0x82600
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x462a3(%rip), %rdx     # 0x710f3
movb $0x0, %al
callq *%rcx
jmp 0x2af6c
movq 0x57848(%rip), %rax     # 0x826a8
cmpl $0x0, (%rax)
je 0x2ae89
movq 0x57794(%rip), %rax     # 0x82600
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x462b4(%rip), %rdx     # 0x71134
movb $0x0, %al
callq *%rcx
jmp 0x2af6a
movq 0x57818(%rip), %rax     # 0x826a8
movl $0x1, (%rax)
movq 0x57f03(%rip), %rax     # 0x82da0
movss 0x4(%rax), %xmm0
movq 0x5782f(%rip), %rax     # 0x826d8
movss %xmm0, (%rax)
movq 0x5811c(%rip), %rax     # 0x82fd0
movl (%rax), %ecx
orl $0x1, %ecx
movq 0x58110(%rip), %rax     # 0x82fd0
movl %ecx, (%rax)
movq 0x57737(%rip), %rax     # 0x82600
movq (%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rdx
addq $0xc0, %rdx
addq $0x200, %rdx            # imm = 0x200
movl $0x2, %edi
leaq 0x46265(%rip), %rsi     # 0x71153
movb $0x0, %al
callq *%rcx
movq 0x57707(%rip), %rax     # 0x82600
movq 0x20(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0x46263(%rip), %rdi     # 0x71173
movq 0x576e9(%rip), %rax     # 0x82600
callq *0x48(%rax)
movq -0x20(%rbp), %rdi
movl %eax, %edx
movq -0x18(%rbp), %rax
movl $0x3, %esi
movss 0x44fbb(%rip), %xmm0    # 0x6feec
xorps %xmm2, %xmm2
movaps %xmm2, %xmm1
callq *%rax
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x1108(%rax), %ecx
orl $0x40, %ecx
movl %ecx, 0x1108(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x1108(%rax), %ecx
andl $0xffffff7f, %ecx       # imm = 0xFFFFFF7F
movl %ecx, 0x1108(%rax)
jmp 0x2af6c
movq -0x8(%rbp), %rdi
callq 0x19dc0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_vote.c
// Function: Vote_Ref_Player
void Vote_Ref_Player (edict_t *ent)
{
	unsigned int num_players = 0;

	num_players = Clear_All_Ballots (ent);
	if (num_players < 4 )
		gi.cprintf(ent, PRINT_HIGH,"You need at least four players on the server to initiate a vote\n");
	else if (VoteStarted)
		gi.cprintf(ent, PRINT_HIGH,"Vote has already been started\n");
	else
	{
		VoteStarted = true;
		VoteTime = level.time;  //start the 30 second timer
		VoteType |= CTF_VOTETYPE_REFPLAYER;

		gi.bprintf(PRINT_HIGH,"%s started vote to referee a player.\n", ent->client->pers.netname);
		gi.sound(ent, CHAN_ITEM, gi.soundindex("misc/secret.wav"), 1, ATTN_NONE, 0);
		ent->client->ctf.extra_flags |= CTF_EXTRAFLAGS_VOTE_YES; //client who initiates vote must vote yes by default
		ent->client->ctf.extra_flags &= ~CTF_EXTRAFLAGS_VOTE_NO;
	}	
	Vote_Menu(ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18040
movl %eax, -0xc(%rbp)
cmpl $0x4, -0xc(%rbp)
jae 0x2b369
movq 0x572b4(%rip), %rax     # 0x82600
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x45d93(%rip), %rdx     # 0x710f3
movb $0x0, %al
callq *%rcx
jmp 0x2b47c
movq 0x57338(%rip), %rax     # 0x826a8
cmpl $0x0, (%rax)
je 0x2b399
movq 0x57284(%rip), %rax     # 0x82600
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x45da4(%rip), %rdx     # 0x71134
movb $0x0, %al
callq *%rcx
jmp 0x2b47a
movq 0x57308(%rip), %rax     # 0x826a8
movl $0x1, (%rax)
movq 0x579f3(%rip), %rax     # 0x82da0
movss 0x4(%rax), %xmm0
movq 0x5731f(%rip), %rax     # 0x826d8
movss %xmm0, (%rax)
movq 0x57c0c(%rip), %rax     # 0x82fd0
movl (%rax), %ecx
orl $0x4, %ecx
movq 0x57c00(%rip), %rax     # 0x82fd0
movl %ecx, (%rax)
movq 0x57227(%rip), %rax     # 0x82600
movq (%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rdx
addq $0xc0, %rdx
addq $0x200, %rdx            # imm = 0x200
movl $0x2, %edi
leaq 0x45db1(%rip), %rsi     # 0x711af
movb $0x0, %al
callq *%rcx
movq 0x571f7(%rip), %rax     # 0x82600
movq 0x20(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0x45d53(%rip), %rdi     # 0x71173
movq 0x571d9(%rip), %rax     # 0x82600
callq *0x48(%rax)
movq -0x20(%rbp), %rdi
movl %eax, %edx
movq -0x18(%rbp), %rax
movl $0x3, %esi
movss 0x44aab(%rip), %xmm0    # 0x6feec
xorps %xmm2, %xmm2
movaps %xmm2, %xmm1
callq *%rax
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x1108(%rax), %ecx
orl $0x40, %ecx
movl %ecx, 0x1108(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x1108(%rax), %ecx
andl $0xffffff7f, %ecx       # imm = 0xFFFFFF7F
movl %ecx, 0x1108(%rax)
jmp 0x2b47c
movq -0x8(%rbp), %rdi
callq 0x19dc0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_vote.c
// Function: Vote_YES
void Vote_YES (edict_t *ent)
{
	gi.cprintf(ent, PRINT_HIGH,"You have voted YES\n");
	ent->client->ctf.extra_flags |= CTF_EXTRAFLAGS_VOTE_YES;
	ent->client->ctf.extra_flags &= ~CTF_EXTRAFLAGS_VOTE_NO;
	Vote_Menu(ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq 0x56e8d(%rip), %rax     # 0x82600
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x45ba9(%rip), %rdx     # 0x71330
movb $0x0, %al
callq *%rcx
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x1108(%rax), %ecx
orl $0x40, %ecx
movl %ecx, 0x1108(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x1108(%rax), %ecx
andl $0xffffff7f, %ecx       # imm = 0xFFFFFF7F
movl %ecx, 0x1108(%rax)
movq -0x8(%rbp), %rdi
callq 0x19dc0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_vote.c
// Function: Vote_NO
void Vote_NO (edict_t *ent)
{
	gi.cprintf(ent, PRINT_HIGH,"You have voted NO\n");
	ent->client->ctf.extra_flags &= ~CTF_EXTRAFLAGS_VOTE_YES;
	ent->client->ctf.extra_flags |= CTF_EXTRAFLAGS_VOTE_NO;
	Vote_Menu(ent);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq 0x56e1d(%rip), %rax     # 0x82600
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x45b4d(%rip), %rdx     # 0x71344
movb $0x0, %al
callq *%rcx
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x1108(%rax), %ecx
andl $-0x41, %ecx
movl %ecx, 0x1108(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x1108(%rax), %ecx
orl $0x80, %ecx
movl %ecx, 0x1108(%rax)
movq -0x8(%rbp), %rdi
callq 0x19dc0
addq $0x10, %rsp
popq %rbp
retq
nop
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Cmd_LockTeams_f
void Cmd_LockTeams_f(edict_t *ent)
{
	if (!ISREF(ent)) {
		gi.cprintf(ent, PRINT_HIGH, "Only referees can (un)lock teams.\n");
		return;
	}

	game.teamslocked = !game.teamslocked;
	gi.bprintf(PRINT_HIGH, "Teams are now %slocked\n", game.teamslocked ? "" : "un");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x1108(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
jne 0x2b883
movq 0x56d97(%rip), %rax     # 0x82600
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x45bc7(%rip), %rdx     # 0x71444
movb $0x0, %al
callq *%rcx
jmp 0x2b8e4
movq 0x574b6(%rip), %rax     # 0x82d40
cmpl $0x0, 0x624(%rax)
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %ecx
movq 0x5749e(%rip), %rax     # 0x82d40
movl %ecx, 0x624(%rax)
movq 0x56d51(%rip), %rax     # 0x82600
movq (%rax), %rcx
movq 0x57487(%rip), %rax     # 0x82d40
movl 0x624(%rax), %esi
leaq 0x4b411(%rip), %rdx     # 0x76cd7
leaq 0x456b3(%rip), %rax     # 0x70f80
cmpl $0x0, %esi
cmovneq %rax, %rdx
movl $0x2, %edi
leaq 0x45b87(%rip), %rsi     # 0x71467
movb $0x0, %al
callq *%rcx
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Cmd_StartMatch_f
void Cmd_StartMatch_f(edict_t *ent) {
	if (!ISREF(ent)) {
		gi.cprintf(ent, PRINT_HIGH, "Referee-only command denied.\n");
		return;
	}

	if (matchstate > MATCH_NONE) {
		gi.cprintf(ent, PRINT_HIGH, "Match already running, stop it first\n");
		return;
	}

	// start countdown
	SpawnTourneyClock();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x1108(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
jne 0x2b933
movq 0x56ce7(%rip), %rax     # 0x82600
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x45b52(%rip), %rdx     # 0x7147f
movb $0x0, %al
callq *%rcx
jmp 0x2b967
movq 0x56e9e(%rip), %rax     # 0x827d8
cmpl $0x0, (%rax)
jle 0x2b960
movq 0x56cba(%rip), %rax     # 0x82600
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x45b43(%rip), %rdx     # 0x7149d
movb $0x0, %al
callq *%rcx
jmp 0x2b967
movb $0x0, %al
callq 0x18a10
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Cmd_StopMatch_f
void Cmd_StopMatch_f(edict_t *ent) {
	if (!ISREF(ent)) {
		gi.cprintf(ent, PRINT_HIGH, "Referee-only command denied.\n");
		return;
	}

	if (matchstate == MATCH_NONE) {
		gi.cprintf(ent, PRINT_HIGH, "No match running\n");
		return;
	}

	KillMatch();
	gi.bprintf(PRINT_HIGH, "Match stopped by %s\n", ent->client->pers.netname);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x1108(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
jne 0x2b9b3
movq 0x56c67(%rip), %rax     # 0x82600
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x45ad2(%rip), %rdx     # 0x7147f
movb $0x0, %al
callq *%rcx
jmp 0x2ba17
movq 0x56e1e(%rip), %rax     # 0x827d8
cmpl $0x0, (%rax)
jne 0x2b9e0
movq 0x56c3a(%rip), %rax     # 0x82600
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x45ae9(%rip), %rdx     # 0x714c3
movb $0x0, %al
callq *%rcx
jmp 0x2ba17
movb $0x0, %al
callq 0x180d0
movq 0x56c12(%rip), %rax     # 0x82600
movq (%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rdx
addq $0xc0, %rdx
addq $0x200, %rdx            # imm = 0x200
movl $0x2, %edi
leaq 0x45ac2(%rip), %rsi     # 0x714d5
movb $0x0, %al
callq *%rcx
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: ForceCommand
void ForceCommand(edict_t *ent, char *command)
{
	if (!command || strlen(command) > MAX_INFO_STRING)
		return;
	if (strcmp(level.level_name, "") == 0)
		return;

   	gi.WriteByte (11);
	gi.WriteString (command);
    gi.unicast (ent, true);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x2ba68
movq -0x10(%rbp), %rdi
callq 0x186e0
cmpq $0x200, %rax            # imm = 0x200
jbe 0x2ba6a
jmp 0x2bac7
movq 0x5732f(%rip), %rdi     # 0x82da0
addq $0x8, %rdi
leaq 0x45504(%rip), %rsi     # 0x70f80
callq 0x18bf0
cmpl $0x0, %eax
jne 0x2ba88
jmp 0x2bac7
movl $0xb, %edi
movq 0x56b6c(%rip), %rax     # 0x82600
callq *0xc8(%rax)
movq 0x56b5f(%rip), %rax     # 0x82600
movq 0xe8(%rax), %rax
movq -0x10(%rbp), %rdi
callq *%rax
movq 0x56b4b(%rip), %rax     # 0x82600
movq 0xb8(%rax), %rax
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq *%rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Cmd_SetPassword_f
void Cmd_SetPassword_f(edict_t *ent)
{
	if (!ISREF(ent)) {
		gi.cprintf(ent, PRINT_HIGH, "Referee-only command\n");
		return;
	}

	// no password supplied, clear current password
	if (gi.argc() < 2) {
		gi.cvar_set("password", "");
		gi.cprintf(ent, PRINT_HIGH, "Server password has been cleared\n");
		return;
	}

	char *pw = gi.argv(1);
	gi.cvar_set("password", pw);
	gi.cprintf(ent, PRINT_HIGH, "Server password set to \"%s\"\n", pw);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x1108(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
jne 0x2bb16
movq 0x56b07(%rip), %rax     # 0x82600
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x459dd(%rip), %rdx     # 0x714ea
movb $0x0, %al
callq *%rcx
jmp 0x2bbb9
movq 0x56ae3(%rip), %rax     # 0x82600
callq *0x138(%rax)
cmpl $0x2, %eax
jge 0x2bb64
leaq 0x490d2(%rip), %rdi     # 0x74c01
leaq 0x4544a(%rip), %rsi     # 0x70f80
movq 0x56ac3(%rip), %rax     # 0x82600
callq *0x128(%rax)
movq 0x56ab6(%rip), %rax     # 0x82600
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x459a2(%rip), %rdx     # 0x71500
movb $0x0, %al
callq *%rcx
jmp 0x2bbb9
movl $0x1, %edi
movq 0x56a90(%rip), %rax     # 0x82600
callq *0x140(%rax)
movq %rax, -0x10(%rbp)
movq 0x56a7f(%rip), %rax     # 0x82600
movq 0x128(%rax), %rax
movq -0x10(%rbp), %rsi
leaq 0x4906e(%rip), %rdi     # 0x74c01
callq *%rax
movq 0x56a64(%rip), %rax     # 0x82600
movq 0x10(%rax), %r8
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rcx
movl $0x2, %esi
leaq 0x4596e(%rip), %rdx     # 0x71522
movb $0x0, %al
callq *%r8
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: OnSameTeam
qboolean OnSameTeam (edict_t *ent1, edict_t *ent2)
{
	if ((int)ctfflags->value & CTF_TEAM_NOTEAMS)
		return false; //surt there are no teams allowed

	if (ent1->client && ent2->client &&
		(ent1->client->ctf.teamnum == ent2->client->ctf.teamnum) &&
		ent1->inuse && ent2->inuse)
		return true;
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq 0x56c85(%rip), %rax     # 0x82b58
movq (%rax), %rax
cvttss2si 0x20(%rax), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x2beee
movl $0x0, -0x4(%rbp)
jmp 0x2bf46
movq -0x10(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x2bf3f
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x2bf3f
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
movl 0x1100(%rax), %eax
movq -0x18(%rbp), %rcx
movq 0x58(%rcx), %rcx
cmpl 0x1100(%rcx), %eax
jne 0x2bf3f
movq -0x10(%rbp), %rax
cmpl $0x0, 0x60(%rax)
je 0x2bf3f
movq -0x18(%rbp), %rax
cmpl $0x0, 0x60(%rax)
je 0x2bf3f
movl $0x1, -0x4(%rbp)
jmp 0x2bf46
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: ValidateSoundName
static char* ValidateSoundName(char* sound)
{
	static char buffer[MAX_QPATH] = { 0 };
	static char result[MAX_QPATH] = { 0 };	//QW// blank path for now

	memset(result, 0, MAX_QPATH);
	memcpy(buffer, sound, MAX_QPATH - 1);
	if (sscanf(buffer, "%[^;\\/:*?\"<>| \t\n\r]", result))
		return result;	// a valid sound file
	else
		return result;	// a default sound file
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x10(%rbp)
leaq 0x60b3d(%rip), %rdi     # 0x8ccd0
xorl %esi, %esi
movl $0x40, %edx
callq 0x188f0
movq -0x10(%rbp), %rsi
leaq 0x60ae6(%rip), %rdi     # 0x8cc90
movl $0x3f, %edx
callq 0x18dc0
leaq 0x60ad5(%rip), %rdi     # 0x8cc90
leaq 0x46946(%rip), %rsi     # 0x72b08
leaq 0x60b07(%rip), %rdx     # 0x8ccd0
movb $0x0, %al
callq 0x19180
cmpl $0x0, %eax
je 0x2c1e2
leaq 0x60af4(%rip), %rax     # 0x8ccd0
movq %rax, -0x8(%rbp)
jmp 0x2c1ed
leaq 0x60ae7(%rip), %rax     # 0x8ccd0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: SelectNextItem
void SelectNextItem (edict_t *ent, int itflags)
{
	gclient_t	*cl;
	int			i, index;
	gitem_t		*it;
	it = 0;

	cl = ent->client;

	if (cl->showmenu)
	{
		Menu_Next(ent);
//		return; //surt, this causes a bug with dropping items ... this can
		//be called from validate selected item in which case it must _not_
		//return early!!!!
	}

	if (cl->chase_target) {
		ChaseNext(ent);
		return;
	}

	// scan  for the next valid one
	for (i=1 ; i<=MAX_ITEMS ; i++)
	{
		index = (cl->pers.selected_item + i)%MAX_ITEMS;
		if (!cl->pers.inventory[index])
			continue;
		it = &itemlist[index];
		if (!it->use)
			continue;
		if (!(it->flags & itflags))
			continue;

		cl->pers.selected_item = index;
		return;
	}

	cl->pers.selected_item = -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpl $0x0, 0xf80(%rax)
je 0x2c279
movq -0x8(%rbp), %rdi
callq 0x18cd0
movq -0x18(%rbp), %rax
cmpq $0x0, 0xf30(%rax)
je 0x2c295
movq -0x8(%rbp), %rdi
callq 0x197b0
jmp 0x2c337
movl $0x1, -0x1c(%rbp)
cmpl $0x100, -0x1c(%rbp)     # imm = 0x100
jg 0x2c329
movq -0x18(%rbp), %rax
movl 0x314(%rax), %eax
addl -0x1c(%rbp), %eax
movl $0x100, %ecx            # imm = 0x100
cltd
idivl %ecx
movl %edx, -0x20(%rbp)
movq -0x18(%rbp), %rax
movslq -0x20(%rbp), %rcx
cmpl $0x0, 0x318(%rax,%rcx,4)
jne 0x2c2d5
jmp 0x2c31b
movslq -0x20(%rbp), %rcx
movq 0x56b60(%rip), %rax     # 0x82e40
imulq $0x88, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x2c2fb
jmp 0x2c31b
movq -0x28(%rbp), %rax
movl 0x68(%rax), %eax
andl -0xc(%rbp), %eax
cmpl $0x0, %eax
jne 0x2c30c
jmp 0x2c31b
movl -0x20(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x314(%rax)
jmp 0x2c337
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x2c29c
movq -0x18(%rbp), %rax
movl $0xffffffff, 0x314(%rax) # imm = 0xFFFFFFFF
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: SelectPrevItem
void SelectPrevItem (edict_t *ent, int itflags)
{
	gclient_t	*cl;
	int			i;
	int			index;
	gitem_t		*it;

	it = 0;

	cl = ent->client;

	if (cl->showmenu)
	{
		Menu_Prev(ent);
//		return; //surt, see above ... this should not fail!!
	}

	if (cl->chase_target) {
		ChasePrev(ent);
		return;
	}

	// scan  for the next valid one
	for (i=1 ; i<=MAX_ITEMS ; i++)
	{
		index = (cl->pers.selected_item + MAX_ITEMS - i)%MAX_ITEMS;
		if (!cl->pers.inventory[index])
			continue;
		it = &itemlist[index];
		if (!it->use)
			continue;
		if (!(it->flags & itflags))
			continue;

		cl->pers.selected_item = index;
		return;
	}

	cl->pers.selected_item = -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpl $0x0, 0xf80(%rax)
je 0x2c379
movq -0x8(%rbp), %rdi
callq 0x19be0
movq -0x18(%rbp), %rax
cmpq $0x0, 0xf30(%rax)
je 0x2c395
movq -0x8(%rbp), %rdi
callq 0x18950
jmp 0x2c43c
movl $0x1, -0x1c(%rbp)
cmpl $0x100, -0x1c(%rbp)     # imm = 0x100
jg 0x2c42e
movq -0x18(%rbp), %rax
movl 0x314(%rax), %eax
addl $0x100, %eax            # imm = 0x100
subl -0x1c(%rbp), %eax
movl $0x100, %ecx            # imm = 0x100
cltd
idivl %ecx
movl %edx, -0x20(%rbp)
movq -0x18(%rbp), %rax
movslq -0x20(%rbp), %rcx
cmpl $0x0, 0x318(%rax,%rcx,4)
jne 0x2c3da
jmp 0x2c420
movslq -0x20(%rbp), %rcx
movq 0x56a5b(%rip), %rax     # 0x82e40
imulq $0x88, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x2c400
jmp 0x2c420
movq -0x28(%rbp), %rax
movl 0x68(%rax), %eax
andl -0xc(%rbp), %eax
cmpl $0x0, %eax
jne 0x2c411
jmp 0x2c420
movl -0x20(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x314(%rax)
jmp 0x2c43c
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x2c39c
movq -0x18(%rbp), %rax
movl $0xffffffff, 0x314(%rax) # imm = 0xFFFFFFFF
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: ValidateSelectedItem
void ValidateSelectedItem (edict_t *ent)
{
	gclient_t	*cl;

	cl = ent->client;

	if (cl->pers.inventory[cl->pers.selected_item])
		return;		// valid

	SelectNextItem (ent, -1);
}

// 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
movq -0x10(%rbp), %rcx
movslq 0x314(%rcx), %rcx
cmpl $0x0, 0x318(%rax,%rcx,4)
je 0x2c483
jmp 0x2c491
movq -0x8(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x189e0
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Cmd_God_f
void Cmd_God_f (edict_t *ent)
{
	char	*msg;

	if (deathmatch->value && !sv_cheats->value)
	{
		ctf_SafePrint(ent, PRINT_HIGH, "Server does not have '+set cheats 1'.\n");
		return;
	}

	ent->flags ^= FL_GODMODE;
	if (!(ent->flags & FL_GODMODE) )
		msg = "godmode OFF\n";
	else
		msg = "godmode ON\n";

	ctf_SafePrint(ent, PRINT_HIGH, msg);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq 0x5641d(%rip), %rax     # 0x82ec0
movq (%rax), %rax
movss 0x20(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x2cab7
jp 0x2cab7
jmp 0x2cae7
movq 0x55f3a(%rip), %rax     # 0x829f8
movq (%rax), %rax
movss 0x20(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x2cae7
jp 0x2cae7
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x44b1e(%rip), %rdx     # 0x715fe
callq 0x18f20
jmp 0x2cb36
movq -0x8(%rbp), %rax
movl 0x11c(%rax), %ecx
xorl $0x10, %ecx
movl %ecx, 0x11c(%rax)
movq -0x8(%rbp), %rax
movl 0x11c(%rax), %eax
andl $0x10, %eax
cmpl $0x0, %eax
jne 0x2cb19
leaq 0x44b63(%rip), %rax     # 0x71676
movq %rax, -0x10(%rbp)
jmp 0x2cb24
leaq 0x44b63(%rip), %rax     # 0x71683
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movl $0x2, %esi
callq 0x18f20
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Cmd_Notarget_f
void Cmd_Notarget_f (edict_t *ent)
{
	char	*msg;

	if (deathmatch->value && !sv_cheats->value)
	{
		ctf_SafePrint(ent, PRINT_HIGH, "Server does not have '+set cheats 1'.\n");
		return;
	}

	ent->flags ^= FL_NOTARGET;
	if (!(ent->flags & FL_NOTARGET) )
		msg = "notarget OFF\n";
	else
		msg = "notarget ON\n";

	ctf_SafePrint(ent, PRINT_HIGH, msg);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq 0x5636d(%rip), %rax     # 0x82ec0
movq (%rax), %rax
movss 0x20(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x2cb67
jp 0x2cb67
jmp 0x2cb97
movq 0x55e8a(%rip), %rax     # 0x829f8
movq (%rax), %rax
movss 0x20(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x2cb97
jp 0x2cb97
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x44a6e(%rip), %rdx     # 0x715fe
callq 0x18f20
jmp 0x2cbe6
movq -0x8(%rbp), %rax
movl 0x11c(%rax), %ecx
xorl $0x20, %ecx
movl %ecx, 0x11c(%rax)
movq -0x8(%rbp), %rax
movl 0x11c(%rax), %eax
andl $0x20, %eax
cmpl $0x0, %eax
jne 0x2cbc9
leaq 0x44acc(%rip), %rax     # 0x7168f
movq %rax, -0x10(%rbp)
jmp 0x2cbd4
leaq 0x44acd(%rip), %rax     # 0x7169d
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movl $0x2, %esi
callq 0x18f20
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Cmd_Noclip_f
void Cmd_Noclip_f (edict_t *ent)
{
	char	*msg;

	if (deathmatch->value && !sv_cheats->value)
	{
		ctf_SafePrint(ent, PRINT_HIGH, "Server does not have '+set cheats 1'.\n");
		return;
	}

	if (ent->movetype == MOVETYPE_NOCLIP)
	{
		ent->movetype = MOVETYPE_WALK;
		msg = "noclip OFF\n";
	}
	else
	{
		ent->movetype = MOVETYPE_NOCLIP;
		msg = "noclip ON\n";
	}

	ctf_SafePrint(ent, PRINT_HIGH, msg);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq 0x562bd(%rip), %rax     # 0x82ec0
movq (%rax), %rax
movss 0x20(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x2cc17
jp 0x2cc17
jmp 0x2cc47
movq 0x55dda(%rip), %rax     # 0x829f8
movq (%rax), %rax
movss 0x20(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x2cc47
jp 0x2cc47
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x449be(%rip), %rdx     # 0x715fe
callq 0x18f20
jmp 0x2cc9a
movq -0x8(%rbp), %rax
cmpl $0x1, 0x118(%rax)
jne 0x2cc6f
movq -0x8(%rbp), %rax
movl $0x4, 0x118(%rax)
leaq 0x44a41(%rip), %rax     # 0x716aa
movq %rax, -0x10(%rbp)
jmp 0x2cc88
movq -0x8(%rbp), %rax
movl $0x1, 0x118(%rax)
leaq 0x44a32(%rip), %rax     # 0x716b6
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movl $0x2, %esi
callq 0x18f20
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Cmd_Use_f
void Cmd_Use_f (edict_t *ent)
{
	int			index;
	gitem_t		*it;
	char		*s;
	char message[MAX_INFO_STRING];

	s = gi.args();

	// CTF CODE -- LM_JORM
	if (Q_stricmp(s, "hook") == 0)
		s = "grappling hook";
	else if (Q_stricmp(s, "grapple") == 0)
		s = "grappling hook";
	if (Q_stricmp(s, "flag") == 0)
		s = "Enemy Flag";
	// END CTF CODE -- LM_JORM

	it = FindItem (s);
	if (!it)
	{
		sprintf(message, "unknown item: %s\n", s);
		ctf_SafePrint(ent, PRINT_HIGH, message);
		return;
	}
	if (!it->use)
	{
		ctf_SafePrint(ent, PRINT_HIGH, "Item is not usable.\n");
		return;
	}
	index = ITEM_INDEX(it);
	if (!ent->client->pers.inventory[index])
	{
		sprintf(message, "Out of item: %s\n", s);
		ctf_SafePrint(ent, PRINT_HIGH, message);
		return;
	}

		it->use (ent, it);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x220, %rsp            # imm = 0x220
movq %rdi, -0x8(%rbp)
movq 0x5594a(%rip), %rax     # 0x82600
callq *0x148(%rax)
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
leaq 0x4a272(%rip), %rsi     # 0x76f3d
callq 0x186f0
cmpl $0x0, %eax
jne 0x2cce2
leaq 0x4a257(%rip), %rax     # 0x76f33
movq %rax, -0x20(%rbp)
jmp 0x2cd04
movq -0x20(%rbp), %rdi
leaq 0x449d4(%rip), %rsi     # 0x716c1
callq 0x186f0
cmpl $0x0, %eax
jne 0x2cd02
leaq 0x4a235(%rip), %rax     # 0x76f33
movq %rax, -0x20(%rbp)
jmp 0x2cd04
movq -0x20(%rbp), %rdi
leaq 0x4ae0c(%rip), %rsi     # 0x77b1b
callq 0x186f0
cmpl $0x0, %eax
jne 0x2cd24
leaq 0x449a9(%rip), %rax     # 0x716c9
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x18a90
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x2cd6b
leaq -0x220(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x4498a(%rip), %rsi     # 0x716d4
movb $0x0, %al
callq 0x19940
movq -0x8(%rbp), %rdi
leaq -0x220(%rbp), %rdx
movl $0x2, %esi
callq 0x18f20
jmp 0x2ce00
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x2cd8d
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x44960(%rip), %rdx     # 0x716e6
callq 0x18f20
jmp 0x2ce00
movq -0x18(%rbp), %rax
movq 0x560a8(%rip), %rcx     # 0x82e40
subq %rcx, %rax
movl $0x88, %ecx
cqto
idivq %rcx
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movslq -0xc(%rbp), %rcx
cmpl $0x0, 0x318(%rax,%rcx,4)
jne 0x2cdee
leaq -0x220(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x4492b(%rip), %rsi     # 0x716fb
movb $0x0, %al
callq 0x19940
movq -0x8(%rbp), %rdi
leaq -0x220(%rbp), %rdx
movl $0x2, %esi
callq 0x18f20
jmp 0x2ce00
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq *%rax
addq $0x220, %rsp            # imm = 0x220
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Cmd_Inven_f
void Cmd_Inven_f (edict_t *ent)
{
	int			i;
	gclient_t	*cl;

	cl = ent->client;

	ent->client->showscores = false;
	ent->client->showhelp = false;
	ent->client->showctfhud = false;
	ent->client->showmod = false;
	ent->client->showmenu = false;
	cl->showsquadboard = false; // ADC

	if (cl->showinventory)
	{
		cl->showinventory = false;
		return;
	}

	cl->showinventory = true;

	gi.WriteByte (svc_inventory);
	for (i=0 ; i<MAX_ITEMS ; i++)
	{
		gi.WriteShort (cl->pers.inventory[i]);
	}
	gi.unicast (ent, true);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xe24(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xe2c(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf78(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf74(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf80(%rax)
movq -0x18(%rbp), %rax
movl $0x0, 0xe34(%rax)
movq -0x18(%rbp), %rax
cmpl $0x0, 0xe28(%rax)
je 0x2d16d
movq -0x18(%rbp), %rax
movl $0x0, 0xe28(%rax)
jmp 0x2d1e0
movq -0x18(%rbp), %rax
movl $0x1, 0xe28(%rax)
movl $0x5, %edi
movq 0x55479(%rip), %rax     # 0x82600
callq *0xc8(%rax)
movl $0x0, -0xc(%rbp)
cmpl $0x100, -0xc(%rbp)      # imm = 0x100
jge 0x2d1c7
movq 0x5545c(%rip), %rax     # 0x82600
movq 0xd0(%rax), %rax
movq -0x18(%rbp), %rcx
movslq -0xc(%rbp), %rdx
movl 0x318(%rcx,%rdx,4), %edi
callq *%rax
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x2d194
movq 0x55432(%rip), %rax     # 0x82600
movq 0xb8(%rax), %rax
movq -0x8(%rbp), %rdi
movl $0x1, %esi
callq *%rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Cmd_InvUse_f
void Cmd_InvUse_f (edict_t *ent)
{
	gitem_t		*it;

	if (ent->client->showmenu)
	{
		Menu_Use(ent);
		return;
	}

	ValidateSelectedItem (ent);

	if (ent->client->pers.selected_item == -1)
	{
		ctf_SafePrint(ent, PRINT_HIGH, "No item to use.\n");
		return;
	}

	it = &itemlist[ent->client->pers.selected_item];
	if (!it->use)
	{
		ctf_SafePrint(ent, PRINT_HIGH, "Item is not usable.\n");
		return;
	}
	it->use (ent, it);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
cmpl $0x0, 0xf80(%rax)
je 0x2d21b
movq -0x8(%rbp), %rdi
callq 0x19710
jmp 0x2d2a4
movq -0x8(%rbp), %rdi
callq 0x182a0
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
cmpl $-0x1, 0x314(%rax)
jne 0x2d24c
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x444fe(%rip), %rdx     # 0x71743
callq 0x18f20
jmp 0x2d2a4
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movslq 0x314(%rax), %rcx
movq 0x55bde(%rip), %rax     # 0x82e40
imulq $0x88, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x2d292
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x4445b(%rip), %rdx     # 0x716e6
callq 0x18f20
jmp 0x2d2a4
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq *%rax
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Cmd_WeapPrev_f
void Cmd_WeapPrev_f (edict_t *ent)
{
	gclient_t	*cl;
	int			i, index;
	gitem_t		*it;
	int			selected_weapon;


	if(matchstate == MATCH_RAILGUN_INPLAY)
		return;


	cl = ent->client;

	if (!cl->pers.weapon)
		return;

	selected_weapon = ITEM_INDEX(cl->pers.weapon);

	// scan  for the next valid one
	for (i=1 ; i<=MAX_ITEMS ; i++)
	{
		index = (selected_weapon + i)%MAX_ITEMS;
		if (!cl->pers.inventory[index])
			continue;
		it = &itemlist[index];
		if (!it->use)
			continue;
		if (! (it->flags & IT_WEAPON) )
			continue;

		// LM_JORM -- Remove grapple from list if offhand is on
		if ((int)ctfflags->value & CTF_OFFHAND_HOOK &&
			it == FindItem("Grappling Hook"))
			continue;
		// END LM_JORM

		it->use (ent, it);
		if (cl->pers.weapon == it)
			return;	// successful
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq 0x55515(%rip), %rax     # 0x827d8
cmpl $0x6, (%rax)
jne 0x2d2cd
jmp 0x2d3ef
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x730(%rax)
jne 0x2d2ec
jmp 0x2d3ef
movq -0x10(%rbp), %rax
movq 0x730(%rax), %rax
movq 0x55b42(%rip), %rcx     # 0x82e40
subq %rcx, %rax
movl $0x88, %ecx
cqto
idivq %rcx
movl %eax, -0x24(%rbp)
movl $0x1, -0x14(%rbp)
cmpl $0x100, -0x14(%rbp)     # imm = 0x100
jg 0x2d3ef
movl -0x24(%rbp), %eax
addl -0x14(%rbp), %eax
movl $0x100, %ecx            # imm = 0x100
cltd
idivl %ecx
movl %edx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
cmpl $0x0, 0x318(%rax,%rcx,4)
jne 0x2d34a
jmp 0x2d3e1
movslq -0x18(%rbp), %rcx
movq 0x55aeb(%rip), %rax     # 0x82e40
imulq $0x88, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x2d370
jmp 0x2d3e1
movq -0x20(%rbp), %rax
movl 0x68(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x2d381
jmp 0x2d3e1
movq 0x557d0(%rip), %rax     # 0x82b58
movq (%rax), %rax
cvttss2si 0x20(%rax), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x2d3ba
movq -0x20(%rbp), %rax
movq %rax, -0x30(%rbp)
leaq 0x43430(%rip), %rdi     # 0x707d7
callq 0x18a90
movq %rax, %rcx
movq -0x30(%rbp), %rax
cmpq %rcx, %rax
jne 0x2d3ba
jmp 0x2d3e1
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq *%rax
movq -0x10(%rbp), %rax
movq 0x730(%rax), %rax
cmpq -0x20(%rbp), %rax
jne 0x2d3df
jmp 0x2d3ef
jmp 0x2d3e1
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x2d315
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Cmd_WeapLast_f
void Cmd_WeapLast_f (edict_t *ent)
{
	gclient_t	*cl;
	int			index;
	gitem_t		*it;


	if(matchstate == MATCH_RAILGUN_INPLAY)
		return;


	cl = ent->client;

	if (!cl->pers.weapon || !cl->pers.lastweapon)
		return;

	index = ITEM_INDEX(cl->pers.lastweapon);
	if (!cl->pers.inventory[index])
		return;
	it = &itemlist[index];
	if (!it->use)
		return;
	if (! (it->flags & IT_WEAPON) )
		return;
	it->use (ent, it);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq 0x55275(%rip), %rax     # 0x827d8
cmpl $0x6, (%rax)
jne 0x2d56d
jmp 0x2d616
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x730(%rax)
je 0x2d595
movq -0x10(%rbp), %rax
cmpq $0x0, 0x738(%rax)
jne 0x2d597
jmp 0x2d616
movq -0x10(%rbp), %rax
movq 0x738(%rax), %rax
movq 0x55897(%rip), %rcx     # 0x82e40
subq %rcx, %rax
movl $0x88, %ecx
cqto
idivq %rcx
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
cmpl $0x0, 0x318(%rax,%rcx,4)
jne 0x2d5cd
jmp 0x2d616
movslq -0x14(%rbp), %rcx
movq 0x55868(%rip), %rax     # 0x82e40
imulq $0x88, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x2d5f3
jmp 0x2d616
movq -0x20(%rbp), %rax
movl 0x68(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x2d604
jmp 0x2d616
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq *%rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Cmd_InvDrop_f
void Cmd_InvDrop_f (edict_t *ent)
{
	gitem_t		*it;

	ValidateSelectedItem (ent);

	if (ent->client->pers.selected_item == -1)
	{
		ctf_SafePrint(ent, PRINT_HIGH, "No item to drop.\n");
		return;
	}

	it = &itemlist[ent->client->pers.selected_item];
	if (!it->drop)
	{
		ctf_SafePrint(ent, PRINT_HIGH, "Item is not dropable.\n");
		return;
	}
	it->drop (ent, it);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x182a0
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
cmpl $-0x1, 0x314(%rax)
jne 0x2d65d
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x440fe(%rip), %rdx     # 0x71754
callq 0x18f20
jmp 0x2d6b5
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movslq 0x314(%rax), %rcx
movq 0x557cd(%rip), %rax     # 0x82e40
imulq $0x88, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x2d6a3
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x44090(%rip), %rdx     # 0x7172c
callq 0x18f20
jmp 0x2d6b5
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq *%rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Cmd_Kill_f
void Cmd_Kill_f (edict_t *ent)
{
	if((level.time - ent->client->respawn_time) < 5)
		return;
	ent->flags &= ~FL_GODMODE;
	ent->health = 0;
	meansOfDeath = MOD_SUICIDE;
	player_die (ent, ent, ent, 100000, vec3_origin);
#ifdef OLDOBSERVERCODE
	if (ent->client->ctf.teamnum == CTF_TEAM_OBSERVER) // An observer
		Observer_Start(ent);
#endif
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq 0x556cd(%rip), %rax     # 0x82da0
movss 0x4(%rax), %xmm1
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
subss 0xf28(%rax), %xmm1
movss 0x42818(%rip), %xmm0    # 0x6ff08
ucomiss %xmm1, %xmm0
jbe 0x2d6f7
jmp 0x2d742
movq -0x8(%rbp), %rax
movl 0x11c(%rax), %ecx
andl $-0x11, %ecx
movl %ecx, 0x11c(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x254(%rax)
movq 0x55409(%rip), %rax     # 0x82b28
movl $0x17, (%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x8(%rbp), %rdx
movl $0x186a0, %ecx          # imm = 0x186A0
movq 0x5502b(%rip), %r8      # 0x82768
callq 0x19d28
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Cmd_PutAway_f
void Cmd_PutAway_f (edict_t *ent)
{
	ent->client->showscores = false;
	ent->client->showhelp = false;
	ent->client->showinventory = false;
	ent->client->showctfhud = false;
	ent->client->showmod = false;
	ent->client->showmenu = false;
	ent->client->showsquadboard = false; // ADC
	//ent->client->awayframe = level.framenum;
	gi.WriteByte (svc_layout);
	gi.WriteString ("");
	gi.unicast (ent, false);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xe24(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xe2c(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xe28(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf78(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf74(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xf80(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl $0x0, 0xe34(%rax)
movl $0x4, %edi
movq 0x54e1a(%rip), %rax     # 0x82600
callq *0xc8(%rax)
leaq 0x4378d(%rip), %rdi     # 0x70f80
movq 0x54e06(%rip), %rax     # 0x82600
callq *0xe8(%rax)
movq 0x54df9(%rip), %rax     # 0x82600
movq 0xb8(%rax), %rax
movq -0x8(%rbp), %rdi
xorl %esi, %esi
callq *%rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Team_Change
void Team_Change (edict_t *ent, int newnum)
{
	if (!newnum) {
		return;
	}

	if (game.teamslocked) {
		gi.cprintf(ent, PRINT_HIGH, "Teams are locked\n");
		return;
	}

	ent->health = 0;
	player_die (ent, ent, ent, 100000, vec3_origin);
	ent->client->resp.score++;
	stats_add(ent, STATS_SCORE, 1);
	stats_add(ent, STATS_DEATHS, -1);

	// don't even bother waiting for death frames
	ctf_SetEntTeam(ent, newnum); //switch teams after they die

	respawn (ent); //force them to respawn on the new team
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
cmpl $0x0, -0xc(%rbp)
jne 0x2d83a
jmp 0x2d8ea
movq 0x554ff(%rip), %rax     # 0x82d40
cmpl $0x0, 0x624(%rax)
je 0x2d86b
movq 0x54daf(%rip), %rax     # 0x82600
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rdi
movl $0x2, %esi
leaq 0x43f01(%rip), %rdx     # 0x71766
movb $0x0, %al
callq *%rcx
jmp 0x2d8ea
movq -0x8(%rbp), %rax
movl $0x0, 0x254(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x8(%rbp), %rdx
movl $0x186a0, %ecx          # imm = 0x186A0
movq 0x54ed7(%rip), %r8      # 0x82768
callq 0x19d28
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movl 0xdf4(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0xdf4(%rax)
movq -0x8(%rbp), %rdi
movl $0x3, %esi
movl $0x1, %edx
callq 0x19550
movq -0x8(%rbp), %rdi
movl $0x6, %esi
movq $-0x1, %rdx
callq 0x19550
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x18240
movq -0x8(%rbp), %rdi
callq 0x19850
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Drop_All
void Drop_All (edict_t *ent)
{
	edict_t *flag;
	flag = ClientHasFlag(ent);
	if (flag)
	{
		ctf_playerdropflag(ent, flag->item);
	}

	if (ent->client->hook)
	{
		G_FreeEdict (ent->client->hook);
		ent->client->hook = NULL;
	}

	if (ent->client->rune && ent->client->rune->item)
	{
		Drop_Rune(ent, ent->client->rune->item);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18150
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x2d924
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x330(%rax), %rsi
callq 0x19a90
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
cmpq $0x0, 0xf60(%rax)
je 0x2d95d
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movq 0xf60(%rax), %rdi
callq 0x19cd0
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movq $0x0, 0xf60(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
cmpq $0x0, 0xf68(%rax)
je 0x2d9a7
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movq 0xf68(%rax), %rax
cmpq $0x0, 0x330(%rax)
je 0x2d9a7
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movq 0xf68(%rax), %rax
movq 0x330(%rax), %rsi
callq 0x19bb0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_cmds.c
// Function: Cmd_Position_f
void Cmd_Position_f(edict_t* ent)
{
	char temp[MAX_INFO_STRING];
	double f1, f2, f3, a1, a2, a3;
	char message[MAX_INFO_STRING];

	f1 = ent->s.origin[0];
	f2 = ent->s.origin[1];
	f3 = ent->s.origin[2];

	a1 = ent->s.angles[0];
	a2 = ent->s.angles[1];
	a3 = ent->s.angles[2];

	string_replace(ent, "%p", temp, sizeof temp);

	Com_sprintf(message, sizeof message, "LOC: { %.0f, %.0f, %.0f }\nANGLE: { %.0f, %.0f, %.0f }\n"
		"You are %s\n",
		f1, f2, f3, a1, a2, a3, temp);

	ctf_SafePrint(ent, PRINT_HIGH, message);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x440, %rsp            # imm = 0x440
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movss 0x4(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x218(%rbp)
movq -0x8(%rbp), %rax
movss 0x8(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x220(%rbp)
movq -0x8(%rbp), %rax
movss 0xc(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x228(%rbp)
movq -0x8(%rbp), %rax
movss 0x10(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x230(%rbp)
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x238(%rbp)
movq -0x8(%rbp), %rax
movss 0x18(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x240(%rbp)
movq -0x8(%rbp), %rdi
leaq -0x210(%rbp), %rdx
leaq 0x42c5b(%rip), %rsi     # 0x70bca
movl $0x200, %ecx            # imm = 0x200
callq 0x18050
leaq -0x440(%rbp), %rdi
movsd -0x218(%rbp), %xmm0
movsd -0x220(%rbp), %xmm1
movsd -0x228(%rbp), %xmm2
movsd -0x230(%rbp), %xmm3
movsd -0x238(%rbp), %xmm4
movsd -0x240(%rbp), %xmm5
leaq -0x210(%rbp), %rcx
movl $0x200, %esi            # imm = 0x200
leaq 0x438b0(%rip), %rdx     # 0x71873
movb $0x6, %al
callq 0x18f90
movq -0x8(%rbp), %rdi
leaq -0x440(%rbp), %rdx
movl $0x2, %esi
callq 0x18f20
addq $0x440, %rsp            # imm = 0x440
popq %rbp
retq
nopl (%rax,%rax)