// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/amr_report.cpp
// Function: (anonymous namespace)::BlastAlignment::good() const
bool good () const
    { ASSERT (! fromHmm);
      if (refAccession. empty ())
        return true;
    //if (! refMutation. empty ())   // PD-4981: drop
      //return true;
      if (! reportPseudo && pseudo ())
        return false;
      if (isMutationProt () && seqChanges. empty ())  // PD-4981
        return false;
      if (isSusceptibleProt () && ! susceptible)  // Alien organism
        return false;
		  if (susceptible && pIdentity () > susceptible->cutoff + frac_delta)
		    return false;
  	  // PD-1032
	    if (   partial ()
	        && (   parts > 1 
    	        || (! truncatedCds () && refEnd - refStart <= 35)  // PAR  // PD-3287
    	       )
    	   )
  	    return false;
  	  if (brFam)
  	    return true;  	  
  	  if (inFam ())
  	    return false;
	    if (partial ())
        return passBlastRule (partialBR);
      return passBlastRule (completeBR);
    }

// Assembly:
pushq %r14
pushq %rbx
subq $0x108, %rsp            # imm = 0x108
movq %rdi, %r14
callq 0xb060
andl $0x0, (%rax)
cmpb $0x1, 0x24a(%r14)
je 0x21810
movb $0x1, %bl
cmpq $0x0, 0x258(%r14)
je 0x21803
cmpb $0x0, 0x76443(%rip)     # 0x97b0b
je 0x217e7
movq %r14, %rdi
callq 0x202a8
testb %al, %al
je 0x216ee
movq 0x218(%r14), %rax
cmpq 0x220(%r14), %rax
je 0x21801
movq %r14, %rdi
callq 0x20848
movq 0x3d8(%r14), %rcx
testq %rcx, %rcx
sete %dl
testb %dl, %al
jne 0x21801
testq %rcx, %rcx
je 0x21770
movsd 0x200(%r14), %xmm0
movsd 0x4794f(%rip), %xmm1    # 0x69070
unpcklps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x47954(%rip), %xmm2    # 0x69080
subpd %xmm2, %xmm0
movapd %xmm0, %xmm3
unpckhpd %xmm0, %xmm3            # xmm3 = xmm3[1],xmm0[1]
addsd %xmm0, %xmm3
movsd 0x38(%r14), %xmm0
unpcklps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
subpd %xmm2, %xmm0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
divsd %xmm1, %xmm3
movsd 0x28(%rcx), %xmm0
addsd 0x478da(%rip), %xmm0    # 0x69040
ucomisd %xmm0, %xmm3
ja 0x21801
movq %r14, %rdi
callq 0x2056c
testb %al, %al
je 0x217a6
cmpq $0x1, 0x278(%r14)
ja 0x21801
movq %r14, %rdi
callq 0x224b6
testb %al, %al
jne 0x217a6
movq 0xc0(%r14), %rax
subq 0xb8(%r14), %rax
cmpq $0x24, %rax
jb 0x21801
cmpq $0x0, 0x350(%r14)
jne 0x21803
movq %r14, %rdi
callq 0x202bc
testb %al, %al
jne 0x21801
movq %r14, %rdi
callq 0x2056c
movzbl %al, %eax
shll $0x5, %eax
leaq (%r14,%rax), %rsi
addq $0x358, %rsi            # imm = 0x358
movq %r14, %rdi
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %r14
jmp 0x205dc
cmpb $0x0, 0x249(%r14)
jne 0x21801
movq %r14, %rdi
callq 0x224f6
testb %al, %al
je 0x216ce
xorl %ebx, %ebx
movl %ebx, %eax
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %r14
retq
callq 0xb680
testl %eax, %eax
jne 0x218e4
leaq 0x48103(%rip), %rsi     # 0x69927
leaq 0x68(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x27230
leaq 0x48(%rsp), %rdi
movl $0x3e4, %esi            # imm = 0x3E4
callq 0x279bd
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0x27956
leaq 0x480df(%rip), %rdx     # 0x6993f
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x273ec
leaq 0x493b1(%rip), %rsi     # 0x6ac2d
leaq 0x8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x27230
leaq 0x4857e(%rip), %rdx     # 0x69e10
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x273ec
leaq 0xc8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x28(%rsp), %rdx
callq 0x27956
leaq 0x493a4(%rip), %rdx     # 0x6ac66
leaq 0xe8(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x273ec
leaq 0xe8(%rsp), %rdi
callq 0x2f08c
pushq $0x1
popq %rdi
callq 0xb690
movq %rax, %rbx
leaq 0xe8(%rsp), %rdi
callq 0xbb38
jmp 0x21901
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xbb38
jmp 0x21913
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0xbb38
jmp 0x21922
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0xbb38
jmp 0x21931
movq %rax, %rbx
leaq 0xa8(%rsp), %rdi
callq 0xbb38
jmp 0x21943
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0xbb38
jmp 0x21955
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0xbb38
jmp 0x21964
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0xbb38
movq %rbx, %rdi
callq 0xb9f0