// File: /workspace/github_cpp_makefile_star2_O3/chhylp123[P]hifiasm/inter.cpp
// Function: check_contain_pair(ug_opt_t const*, unsigned int, unsigned int, unsigned int)
uint32_t check_contain_pair(const ug_opt_t *uopt, uint32_t x, uint32_t y, uint32_t check_el)
{
	ma_hit_t_alloc* src = uopt->sources;
	int64_t min_ovlp = uopt->min_ovlp;
	int64_t max_hang = uopt->max_hang;
	uint64_t z, qn, tn; int32_t r = 1; asg_arc_t e;
	for (z = 0; z < src[x].length; z++) {
		if(check_el && (!src[x].buffer[z].el)) continue;
		qn = Get_qn(src[x].buffer[z]); tn = Get_tn(src[x].buffer[z]);
		if(tn != y) continue;
		r = ma_hit2arc(&(src[x].buffer[z]), Get_READ_LENGTH(R_INF, qn), Get_READ_LENGTH(R_INF, tn), max_hang, asm_opt.max_hang_rate, min_ovlp, &e);
		if(r == MA_HT_QCONT || r == MA_HT_TCONT) break;
	}

	if(z < src[x].length) return 1;
	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movl %ecx, -0x1c(%rsp)
movq 0x8(%rdi), %rax
movl %esi, %ecx
leaq (%rcx,%rcx,2), %rcx
movl 0xc(%rax,%rcx,8), %ebx
testq %rbx, %rbx
je 0x1aa1a3
movl 0x44(%rdi), %esi
movl %esi, -0x28(%rsp)
movl 0x40(%rdi), %esi
movl %esi, -0x24(%rsp)
leaq (%rax,%rcx,8), %rax
leaq 0xec213(%rip), %rcx     # 0x296230
movq 0x18(%rcx), %rcx
movq %rcx, -0x18(%rsp)
leaq 0xeb72b(%rip), %rcx     # 0x295758
movss 0x158(%rcx), %xmm0
movq (%rax), %r9
movl %edx, -0x20(%rsp)
movl %edx, %eax
movq %rax, -0x10(%rsp)
movq %rbx, -0x8(%rsp)
negq %rbx
addq $0x20, %r9
movb $0x1, %r11b
movl $0x1, %r14d
cmpl $0x0, -0x1c(%rsp)
je 0x1aa069
cmpb $0x0, (%r9)
je 0x1aa179
movl -0x20(%rsp), %eax
cmpl %eax, -0x14(%r9)
jne 0x1aa179
movq -0x18(%rsp), %rax
movq -0x10(%rsp), %rcx
movl (%rax,%rcx,8), %ebp
testb $-0x80, -0x5(%r9)
jne 0x1aa09e
movl -0x10(%r9), %r8d
movl -0xc(%r9), %r10d
subl %r10d, %ebp
movl %ebp, %r15d
movl %r8d, %ebp
jmp 0x1aa0ac
movl -0x10(%r9), %r8d
movl -0xc(%r9), %r10d
subl %r10d, %ebp
movl %r8d, %r15d
movq -0x20(%r9), %r12
movq %r12, %rax
shrq $0x20, %rax
movq -0x18(%rsp), %rcx
movl (%rcx,%rax,8), %eax
cmpl %r12d, %ebp
movl %r12d, %ecx
cmovll %ebp, %ecx
movl -0x18(%r9), %esi
movl %eax, %r13d
subl %esi, %r13d
cmpl %r15d, %r13d
movl %r15d, %edi
cmovll %r13d, %edi
cmpl -0x24(%rsp), %ecx
jg 0x1aa179
cmpl -0x24(%rsp), %edi
jg 0x1aa179
movl %esi, %edx
subl %r12d, %edx
xorps %xmm1, %xmm1
cvtsi2ss %rdx, %xmm1
addl %ecx, %edx
addl %edi, %edx
xorps %xmm2, %xmm2
cvtsi2ss %rdx, %xmm2
mulss %xmm0, %xmm2
ucomiss %xmm1, %xmm2
ja 0x1aa179
subl %r8d, %r10d
xorps %xmm1, %xmm1
cvtsi2ss %r10, %xmm1
addl %ecx, %edi
addl %r10d, %edi
xorps %xmm2, %xmm2
cvtsi2ss %rdi, %xmm2
mulss %xmm0, %xmm2
ucomiss %xmm1, %xmm2
ja 0x1aa179
cmpl %r15d, %r13d
setl %cl
setg %r10b
cmpl %ebp, %r12d
setg %r13b
setl %r8b
orb %r10b, %r13b
cmpb $0x1, %r13b
jne 0x1aa19a
orb %cl, %r8b
je 0x1aa19a
cmpl -0x28(%rsp), %edx
jl 0x1aa179
cmpl -0x28(%rsp), %edi
jl 0x1aa179
addl %esi, %r15d
subl %r15d, %eax
subl %ebp, %r12d
cmovlel %eax, %r12d
addl $0x3, %r12d
cmpl $0x2, %r12d
jb 0x1aa19a
cmpq -0x8(%rsp), %r14
setb %r11b
leaq (%rbx,%r14), %rax
incq %rax
incq %r14
addq $0x28, %r9
cmpq $0x1, %rax
jne 0x1aa058
movzbl %r11b, %eax
andl $0x1, %eax
jmp 0x1aa1a5
xorl %eax, %eax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq