// File: /workspace/github_c_makefile_star2_O0/QwazyWabbitWOS[P]lmctf60/g_combat.c
// Function: CanDamage
qboolean CanDamage (edict_t *targ, edict_t *inflictor)
{
	vec3_t	dest;
	trace_t	trace;

// bmodels need special checking because their origin is 0,0,0
	if (targ->movetype == MOVETYPE_PUSH)
	{
		VectorAdd (targ->absmin, targ->absmax, dest);
		VectorScale (dest, 0.5, dest);
		trace = gi.trace (inflictor->s.origin, vec3_origin, vec3_origin, dest, inflictor, MASK_SOLID);
		if (trace.fraction == 1.0)
			return true;
		if (trace.ent == targ)
			return true;
		return false;
	}
	
	trace = gi.trace (inflictor->s.origin, vec3_origin, vec3_origin, targ->s.origin, inflictor, MASK_SOLID);
	if (trace.fraction == 1.0)
		return true;

	VectorCopy (targ->s.origin, dest);
	dest[0] += 15.0;
	dest[1] += 15.0;
	trace = gi.trace (inflictor->s.origin, vec3_origin, vec3_origin, dest, inflictor, MASK_SOLID);
	if (trace.fraction == 1.0)
		return true;

	VectorCopy (targ->s.origin, dest);
	dest[0] += 15.0;
	dest[1] -= 15.0;
	trace = gi.trace (inflictor->s.origin, vec3_origin, vec3_origin, dest, inflictor, MASK_SOLID);
	if (trace.fraction == 1.0)
		return true;

	VectorCopy (targ->s.origin, dest);
	dest[0] -= 15.0;
	dest[1] += 15.0;
	trace = gi.trace (inflictor->s.origin, vec3_origin, vec3_origin, dest, inflictor, MASK_SOLID);
	if (trace.fraction == 1.0)
		return true;

	VectorCopy (targ->s.origin, dest);
	dest[0] -= 15.0;
	dest[1] -= 15.0;
	trace = gi.trace (inflictor->s.origin, vec3_origin, vec3_origin, dest, inflictor, MASK_SOLID);
	if (trace.fraction == 1.0)
		return true;


	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x230, %rsp            # imm = 0x230
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x2, 0x118(%rax)
jne 0x31eb1
movq -0x10(%rbp), %rax
movss 0xe4(%rax), %xmm0
movq -0x10(%rbp), %rax
addss 0xf0(%rax), %xmm0
movss %xmm0, -0x24(%rbp)
movq -0x10(%rbp), %rax
movss 0xe8(%rax), %xmm0
movq -0x10(%rbp), %rax
addss 0xf4(%rax), %xmm0
movss %xmm0, -0x20(%rbp)
movq -0x10(%rbp), %rax
movss 0xec(%rax), %xmm0
movq -0x10(%rbp), %rax
addss 0xf8(%rax), %xmm0
movss %xmm0, -0x1c(%rbp)
leaq -0x24(%rbp), %rdi
leaq -0x24(%rbp), %rsi
movss 0x40d35(%rip), %xmm0    # 0x72b50
callq 0x18a80
movq 0x507d9(%rip), %rax     # 0x82600
movq 0x60(%rax), %rax
movq -0x18(%rbp), %rsi
addq $0x4, %rsi
leaq -0x24(%rbp), %r8
movq -0x18(%rbp), %r9
leaq -0xb8(%rbp), %rdi
movq 0x5091f(%rip), %rcx     # 0x82768
movq %rcx, %rdx
movl $0x3, (%rsp)
callq *%rax
leaq -0x70(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
movl $0x48, %edx
callq 0x18dc0
movss -0x68(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x3e0c5(%rip), %xmm1    # 0x6ff40
ucomisd %xmm1, %xmm0
jne 0x31e8f
jp 0x31e8f
movl $0x1, -0x4(%rbp)
jmp 0x3227c
movq -0x30(%rbp), %rax
cmpq -0x10(%rbp), %rax
jne 0x31ea5
movl $0x1, -0x4(%rbp)
jmp 0x3227c
movl $0x0, -0x4(%rbp)
jmp 0x3227c
movq 0x50748(%rip), %rax     # 0x82600
movq 0x60(%rax), %rax
movq -0x18(%rbp), %rsi
addq $0x4, %rsi
movq -0x10(%rbp), %r8
addq $0x4, %r8
movq -0x18(%rbp), %r9
leaq -0x100(%rbp), %rdi
movq 0x5088a(%rip), %rcx     # 0x82768
movq %rcx, %rdx
movl $0x3, (%rsp)
callq *%rax
leaq -0x70(%rbp), %rdi
leaq -0x100(%rbp), %rsi
movl $0x48, %edx
callq 0x18dc0
movss -0x68(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x3e030(%rip), %xmm1    # 0x6ff40
ucomisd %xmm1, %xmm0
jne 0x31f24
jp 0x31f24
movl $0x1, -0x4(%rbp)
jmp 0x3227c
movq -0x10(%rbp), %rax
movss 0x4(%rax), %xmm0
movss %xmm0, -0x24(%rbp)
movq -0x10(%rbp), %rax
movss 0x8(%rax), %xmm0
movss %xmm0, -0x20(%rbp)
movq -0x10(%rbp), %rax
movss 0xc(%rax), %xmm0
movss %xmm0, -0x1c(%rbp)
movss -0x24(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x40bc1(%rip), %xmm1    # 0x72b20
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x24(%rbp)
movss -0x20(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x40ba3(%rip), %xmm1    # 0x72b20
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x20(%rbp)
movq 0x5066f(%rip), %rax     # 0x82600
movq 0x60(%rax), %rax
movq -0x18(%rbp), %rsi
addq $0x4, %rsi
leaq -0x24(%rbp), %r8
movq -0x18(%rbp), %r9
leaq -0x148(%rbp), %rdi
movq 0x507b5(%rip), %rcx     # 0x82768
movq %rcx, %rdx
movl $0x3, (%rsp)
callq *%rax
leaq -0x70(%rbp), %rdi
leaq -0x148(%rbp), %rsi
movl $0x48, %edx
callq 0x18dc0
movss -0x68(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x3df5b(%rip), %xmm1    # 0x6ff40
ucomisd %xmm1, %xmm0
jne 0x31ff9
jp 0x31ff9
movl $0x1, -0x4(%rbp)
jmp 0x3227c
movq -0x10(%rbp), %rax
movss 0x4(%rax), %xmm0
movss %xmm0, -0x24(%rbp)
movq -0x10(%rbp), %rax
movss 0x8(%rax), %xmm0
movss %xmm0, -0x20(%rbp)
movq -0x10(%rbp), %rax
movss 0xc(%rax), %xmm0
movss %xmm0, -0x1c(%rbp)
movss -0x24(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x40aec(%rip), %xmm1    # 0x72b20
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x24(%rbp)
movss -0x20(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x40ace(%rip), %xmm1    # 0x72b20
subsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x20(%rbp)
movq 0x5059a(%rip), %rax     # 0x82600
movq 0x60(%rax), %rax
movq -0x18(%rbp), %rsi
addq $0x4, %rsi
leaq -0x24(%rbp), %r8
movq -0x18(%rbp), %r9
leaq -0x190(%rbp), %rdi
movq 0x506e0(%rip), %rcx     # 0x82768
movq %rcx, %rdx
movl $0x3, (%rsp)
callq *%rax
leaq -0x70(%rbp), %rdi
leaq -0x190(%rbp), %rsi
movl $0x48, %edx
callq 0x18dc0
movss -0x68(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x3de86(%rip), %xmm1    # 0x6ff40
ucomisd %xmm1, %xmm0
jne 0x320ce
jp 0x320ce
movl $0x1, -0x4(%rbp)
jmp 0x3227c
movq -0x10(%rbp), %rax
movss 0x4(%rax), %xmm0
movss %xmm0, -0x24(%rbp)
movq -0x10(%rbp), %rax
movss 0x8(%rax), %xmm0
movss %xmm0, -0x20(%rbp)
movq -0x10(%rbp), %rax
movss 0xc(%rax), %xmm0
movss %xmm0, -0x1c(%rbp)
movss -0x24(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x40a17(%rip), %xmm1    # 0x72b20
subsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x24(%rbp)
movss -0x20(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x409f9(%rip), %xmm1    # 0x72b20
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x20(%rbp)
movq 0x504c5(%rip), %rax     # 0x82600
movq 0x60(%rax), %rax
movq -0x18(%rbp), %rsi
addq $0x4, %rsi
leaq -0x24(%rbp), %r8
movq -0x18(%rbp), %r9
leaq -0x1d8(%rbp), %rdi
movq 0x5060b(%rip), %rcx     # 0x82768
movq %rcx, %rdx
movl $0x3, (%rsp)
callq *%rax
leaq -0x70(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
movl $0x48, %edx
callq 0x18dc0
movss -0x68(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x3ddb1(%rip), %xmm1    # 0x6ff40
ucomisd %xmm1, %xmm0
jne 0x321a3
jp 0x321a3
movl $0x1, -0x4(%rbp)
jmp 0x3227c
movq -0x10(%rbp), %rax
movss 0x4(%rax), %xmm0
movss %xmm0, -0x24(%rbp)
movq -0x10(%rbp), %rax
movss 0x8(%rax), %xmm0
movss %xmm0, -0x20(%rbp)
movq -0x10(%rbp), %rax
movss 0xc(%rax), %xmm0
movss %xmm0, -0x1c(%rbp)
movss -0x24(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x40942(%rip), %xmm1    # 0x72b20
subsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x24(%rbp)
movss -0x20(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x40924(%rip), %xmm1    # 0x72b20
subsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x20(%rbp)
movq 0x503f0(%rip), %rax     # 0x82600
movq 0x60(%rax), %rax
movq -0x18(%rbp), %rsi
addq $0x4, %rsi
leaq -0x24(%rbp), %r8
movq -0x18(%rbp), %r9
leaq -0x220(%rbp), %rdi
movq 0x50536(%rip), %rcx     # 0x82768
movq %rcx, %rdx
movl $0x3, (%rsp)
callq *%rax
leaq -0x70(%rbp), %rdi
leaq -0x220(%rbp), %rsi
movl $0x48, %edx
callq 0x18dc0
movss -0x68(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x3dcdc(%rip), %xmm1    # 0x6ff40
ucomisd %xmm1, %xmm0
jne 0x32275
jp 0x32275
movl $0x1, -0x4(%rbp)
jmp 0x3227c
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x230, %rsp            # imm = 0x230
popq %rbp
retq
nopl (%rax,%rax)