// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_ctffunc.c
// Function: ctf_faceEnemyFlag
char *
ctf_faceEnemyFlag(edict_t *ent)
{
	int angle;
	edict_t *flag;
	vec3_t distvector, angles;

	if (ent->client->ctf.teamnum == CTF_TEAM_RED)
		flag = blueflag;
	else if (ent->client->ctf.teamnum == CTF_TEAM_BLUE)
		flag = redflag;
	else return "north";

	if (!flag) //surt no flags mode always points north.
		return "north";

	if (flag->owner)
		flag = flag->owner;

	if (flag == ent)
	{
		if (ent->client->ctf.teamnum == CTF_TEAM_RED)
			return "blueflaggone";		
		else if (ent->client->ctf.teamnum == CTF_TEAM_BLUE)
			return "redflaggone";
	}

	VectorSubtract(flag->s.origin, ent->s.origin, distvector);

	/*
	if (abs(distvector[0]) > abs(distvector[1]) &&		// 0 Biggest
		abs(distvector[0]) > abs(distvector[2]))
	{
		if (distvector[0] > 0)
			strcpy(temp, "north of ");
		else
			strcpy(temp, "south of ");
	}
	else if (abs(distvector[1]) > abs(distvector[2]))	// 1 biggest
	{
		if (distvector[1] > 0)
			strcpy(temp, "west of ");
		else
			strcpy(temp, "east of ");
	}
	*/
	vectoangles(distvector, angles);
	//angle = angles[1];
	angle = (int)ent->client->v_angle[1] - angles[1];

	// Turn the angle positive
	angle = (angle + 720) % 360;

	if (angle < 22 || angle >= 338)
		return "north";
	else if (angle < 67)
		return "northeast";
	else if (angle < 112)
		return "east";
	else if (angle < 157)
		return "southeast";
	else if (angle < 202)
		return "south";
	else if (angle < 247)
		return "southwest";
	else if (angle < 292)
		return "west";
	else // MJD See Previous Error - Requires Default
		return "northwest";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
cmpl $0x1, 0x1100(%rax)
jne 0x24add
movq 0x5dd8c(%rip), %rax     # 0x82860
movq (%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x24b10
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
cmpl $0x2, 0x1100(%rax)
jne 0x24afe
movq 0x5dd03(%rip), %rax     # 0x827f8
movq (%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x24b0e
leaq 0x4bd01(%rip), %rax     # 0x70806
movq %rax, -0x8(%rbp)
jmp 0x24cc1
jmp 0x24b10
cmpq $0x0, -0x20(%rbp)
jne 0x24b27
leaq 0x4bce8(%rip), %rax     # 0x70806
movq %rax, -0x8(%rbp)
jmp 0x24cc1
movq -0x20(%rbp), %rax
cmpq $0x0, 0x110(%rax)
je 0x24b44
movq -0x20(%rbp), %rax
movq 0x110(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x10(%rbp), %rax
jne 0x24b94
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
cmpl $0x1, 0x1100(%rax)
jne 0x24b6f
leaq 0x4bcba(%rip), %rax     # 0x70820
movq %rax, -0x8(%rbp)
jmp 0x24cc1
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
cmpl $0x2, 0x1100(%rax)
jne 0x24b90
leaq 0x4bca6(%rip), %rax     # 0x7082d
movq %rax, -0x8(%rbp)
jmp 0x24cc1
jmp 0x24b92
jmp 0x24b94
movq -0x20(%rbp), %rax
movss 0x4(%rax), %xmm0
movq -0x10(%rbp), %rax
subss 0x4(%rax), %xmm0
movss %xmm0, -0x2c(%rbp)
movq -0x20(%rbp), %rax
movss 0x8(%rax), %xmm0
movq -0x10(%rbp), %rax
subss 0x8(%rax), %xmm0
movss %xmm0, -0x28(%rbp)
movq -0x20(%rbp), %rax
movss 0xc(%rax), %xmm0
movq -0x10(%rbp), %rax
subss 0xc(%rax), %xmm0
movss %xmm0, -0x24(%rbp)
leaq -0x2c(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x192a0
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
cvttss2si 0xec0(%rax), %eax
cvtsi2ss %eax, %xmm0
subss -0x34(%rbp), %xmm0
cvttss2si %xmm0, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
addl $0x2d0, %eax            # imm = 0x2D0
movl $0x168, %ecx            # imm = 0x168
cltd
idivl %ecx
movl %edx, -0x14(%rbp)
cmpl $0x16, -0x14(%rbp)
jl 0x24c28
cmpl $0x152, -0x14(%rbp)     # imm = 0x152
jl 0x24c38
leaq 0x4bbd7(%rip), %rax     # 0x70806
movq %rax, -0x8(%rbp)
jmp 0x24cc1
cmpl $0x43, -0x14(%rbp)
jge 0x24c4b
leaq 0x4bbc7(%rip), %rax     # 0x7080c
movq %rax, -0x8(%rbp)
jmp 0x24cc1
cmpl $0x70, -0x14(%rbp)
jge 0x24c5e
leaq 0x4bbb9(%rip), %rax     # 0x70811
movq %rax, -0x8(%rbp)
jmp 0x24cc1
cmpl $0x9d, -0x14(%rbp)
jge 0x24c74
leaq 0x4bba8(%rip), %rax     # 0x70816
movq %rax, -0x8(%rbp)
jmp 0x24cc1
cmpl $0xca, -0x14(%rbp)
jge 0x24c8a
leaq 0x4bb68(%rip), %rax     # 0x707ec
movq %rax, -0x8(%rbp)
jmp 0x24cc1
cmpl $0xf7, -0x14(%rbp)
jge 0x24ca0
leaq 0x4bb58(%rip), %rax     # 0x707f2
movq %rax, -0x8(%rbp)
jmp 0x24cc1
cmpl $0x124, -0x14(%rbp)     # imm = 0x124
jge 0x24cb6
leaq 0x4bb51(%rip), %rax     # 0x70801
movq %rax, -0x8(%rbp)
jmp 0x24cc1
leaq 0x4bb3f(%rip), %rax     # 0x707fc
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)