// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_utils.c
// Function: vectoangles
void vectoangles (vec3_t value1, vec3_t angles)
{
	float	forward;
	float	yaw, pitch;
	
	if (value1[1] == 0 && value1[0] == 0)
	{
		yaw = 0;
		if (value1[2] > 0)
			pitch = 90;
		else
			pitch = 270;
	}
	else
	{
		if (value1[0])
			yaw = (int) (atan2(value1[1], value1[0]) * 180 / M_PI);
		else if (value1[1] > 0)
			yaw = 90;
		else
			yaw = -90;
		if (yaw < 0)
			yaw += 360;

		forward = sqrtf (value1[0]*value1[0] + value1[1]*value1[1]);
		pitch = (int) (atan2(value1[2], forward) * 180 / M_PI);
		if (pitch < 0)
			pitch += 360;
	}

	angles[PITCH] = -pitch;
	angles[YAW] = yaw;
	angles[ROLL] = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movss 0x4(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x50e7f
jp 0x50e7f
movq -0x8(%rbp), %rax
movss (%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x50e7f
jp 0x50e7f
xorps %xmm0, %xmm0
movss %xmm0, -0x18(%rbp)
movq -0x8(%rbp), %rax
movss 0x8(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jbe 0x50e6d
movss 0x205be(%rip), %xmm0    # 0x71424
movss %xmm0, -0x1c(%rbp)
jmp 0x50e7a
movss 0x2529b(%rip), %xmm0    # 0x76110
movss %xmm0, -0x1c(%rbp)
jmp 0x50fb3
movq -0x8(%rbp), %rax
movss (%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jne 0x50e93
jp 0x50e93
jmp 0x50ed8
movq -0x8(%rbp), %rax
movss 0x4(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movq -0x8(%rbp), %rax
movss (%rax), %xmm1
cvtss2sd %xmm1, %xmm1
callq 0x19270
movsd 0x25267(%rip), %xmm1    # 0x76120
mulsd %xmm1, %xmm0
movsd 0x25253(%rip), %xmm1    # 0x76118
divsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
cvtsi2ss %eax, %xmm0
movss %xmm0, -0x18(%rbp)
jmp 0x50f07
movq -0x8(%rbp), %rax
movss 0x4(%rax), %xmm0
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
jbe 0x50ef8
movss 0x20533(%rip), %xmm0    # 0x71424
movss %xmm0, -0x18(%rbp)
jmp 0x50f05
movss 0x2520c(%rip), %xmm0    # 0x7610c
movss %xmm0, -0x18(%rbp)
jmp 0x50f07
xorps %xmm0, %xmm0
ucomiss -0x18(%rbp), %xmm0
jbe 0x50f22
movss 0x1fe0c(%rip), %xmm0    # 0x70d24
addss -0x18(%rbp), %xmm0
movss %xmm0, -0x18(%rbp)
movq -0x8(%rbp), %rax
movss (%rax), %xmm0
movq -0x8(%rbp), %rax
movss (%rax), %xmm2
movq -0x8(%rbp), %rax
movss 0x4(%rax), %xmm1
movq -0x8(%rbp), %rax
mulss 0x4(%rax), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
callq 0x19000
movss %xmm0, -0x14(%rbp)
movq -0x8(%rbp), %rax
movss 0x8(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movss -0x14(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
callq 0x19270
movsd 0x251a7(%rip), %xmm1    # 0x76120
mulsd %xmm1, %xmm0
movsd 0x25193(%rip), %xmm1    # 0x76118
divsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
cvtsi2ss %eax, %xmm0
movss %xmm0, -0x1c(%rbp)
xorps %xmm0, %xmm0
ucomiss -0x1c(%rbp), %xmm0
jbe 0x50fb1
movss 0x1fd7d(%rip), %xmm0    # 0x70d24
addss -0x1c(%rbp), %xmm0
movss %xmm0, -0x1c(%rbp)
jmp 0x50fb3
movss -0x1c(%rbp), %xmm0
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, (%rax)
movss -0x18(%rbp), %xmm0
movq -0x10(%rbp), %rax
movss %xmm0, 0x4(%rax)
movq -0x10(%rbp), %rax
xorps %xmm0, %xmm0
movss %xmm0, 0x8(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)