// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/p_client.c
// Function: LookAtKiller
void LookAtKiller (edict_t *self, edict_t *inflictor, edict_t *attacker)
{
	vec3_t		dir;

	if (attacker && attacker != world && attacker != self)
	{
		VectorSubtract (attacker->s.origin, self->s.origin, dir);
	}
	else if (inflictor && inflictor != world && inflictor != self)
	{
		VectorSubtract (inflictor->s.origin, self->s.origin, dir);
	}
	else
	{
		self->client->killer_yaw = self->s.angles[YAW];
		return;
	}

	if (dir[0])
		self->client->killer_yaw = 180/M_PI*atan2(dir[1], dir[0]);
	else {
		self->client->killer_yaw = 0;
		if (dir[1] > 0)
			self->client->killer_yaw = 90;
		else if (dir[1] < 0)
			self->client->killer_yaw = -90;
	}
	if (self->client->killer_yaw < 0)
		self->client->killer_yaw += 360;
	

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x57602
movq -0x18(%rbp), %rax
movq 0x2afb2(%rip), %rcx     # 0x82558
movq (%rcx), %rcx
cmpq %rcx, %rax
je 0x57602
movq -0x18(%rbp), %rax
cmpq -0x8(%rbp), %rax
je 0x57602
movq -0x18(%rbp), %rax
movss 0x4(%rax), %xmm0
movq -0x8(%rbp), %rax
subss 0x4(%rax), %xmm0
movss %xmm0, -0x24(%rbp)
movq -0x18(%rbp), %rax
movss 0x8(%rax), %xmm0
movq -0x8(%rbp), %rax
subss 0x8(%rax), %xmm0
movss %xmm0, -0x20(%rbp)
movq -0x18(%rbp), %rax
movss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
subss 0xc(%rax), %xmm0
movss %xmm0, -0x1c(%rbp)
jmp 0x5768d
cmpq $0x0, -0x10(%rbp)
je 0x5766d
movq -0x10(%rbp), %rax
movq 0x2af44(%rip), %rcx     # 0x82558
movq (%rcx), %rcx
cmpq %rcx, %rax
je 0x5766d
movq -0x10(%rbp), %rax
cmpq -0x8(%rbp), %rax
je 0x5766d
movq -0x10(%rbp), %rax
movss 0x4(%rax), %xmm0
movq -0x8(%rbp), %rax
subss 0x4(%rax), %xmm0
movss %xmm0, -0x24(%rbp)
movq -0x10(%rbp), %rax
movss 0x8(%rax), %xmm0
movq -0x8(%rbp), %rax
subss 0x8(%rax), %xmm0
movss %xmm0, -0x20(%rbp)
movq -0x10(%rbp), %rax
movss 0xc(%rax), %xmm0
movq -0x8(%rbp), %rax
subss 0xc(%rax), %xmm0
movss %xmm0, -0x1c(%rbp)
jmp 0x5768b
movq -0x8(%rbp), %rax
movss 0x14(%rax), %xmm0
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movss %xmm0, 0xe74(%rax)
jmp 0x5776d
jmp 0x5768d
movss -0x24(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x5769e
jp 0x5769e
jmp 0x576da
movss -0x20(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movss -0x24(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
callq 0x19270
movaps %xmm0, %xmm1
movsd 0x1ef28(%rip), %xmm0    # 0x765e8
mulsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movss %xmm0, 0xe74(%rax)
jmp 0x57739
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
xorps %xmm0, %xmm0
movss %xmm0, 0xe74(%rax)
movss -0x20(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jbe 0x57714
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movss 0x19d1a(%rip), %xmm0    # 0x71424
movss %xmm0, 0xe74(%rax)
jmp 0x57737
xorps %xmm0, %xmm0
ucomiss -0x20(%rbp), %xmm0
jbe 0x57735
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movss 0x1e9df(%rip), %xmm0    # 0x7610c
movss %xmm0, 0xe74(%rax)
jmp 0x57737
jmp 0x57739
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
xorps %xmm0, %xmm0
ucomiss 0xe74(%rax), %xmm0
jbe 0x5776d
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
movss 0x195c7(%rip), %xmm0    # 0x70d24
addss 0xe74(%rax), %xmm0
movss %xmm0, 0xe74(%rax)
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)