// File: ncbi[P]amr/stx/stxtyper.cpp
// Function: (anonymous namespace)::BlastAlignment::less((anonymous namespace)::BlastAlignment const*, (anonymous namespace)::BlastAlignment const*)
static bool less (const BlastAlignment* a,
                    const BlastAlignment* b) 
    // = sameClassLess(), but without stxClass
    { ASSERT (a);
      ASSERT (b);
    //LESS_PART (*a, *b, reported);
      LESS_PART (*a, *b, targetName);
      LESS_PART (*a, *b, targetStrand);
      LESS_PART (*a, *b, subunit);
      LESS_PART (*a, *b, targetStart);
      LESS_PART (*b, *a, getIdentity ());  
      LESS_PART (*b, *a, getRelCoverage ());  
      // Tie resolution
      LESS_PART (*a, *b, refAccession);  
      return false;
    }

// Assembly:
subq $0x288, %rsp            # imm = 0x288
movq %rdi, 0x278(%rsp)
movq %rsi, 0x270(%rsp)
callq 0xc090
movl $0x0, (%rax)
cmpq $0x0, 0x278(%rsp)
jne 0x22a18
callq 0xc8a0
cmpl $0x0, %eax
jne 0x22a0e
leaq 0x1cf(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0xccc0
movq 0x38(%rsp), %rdx
leaq 0xa1eb1(%rip), %rsi     # 0xc466e
leaq 0x1d0(%rsp), %rdi
callq 0x2efd0
jmp 0x227cc
leaq 0x198(%rsp), %rdi
movl $0x1fe, %esi            # imm = 0x1FE
callq 0x32ce0
jmp 0x227e0
leaq 0x1f0(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x198(%rsp), %rdx
callq 0x315c0
jmp 0x227ff
leaq 0xa1e7e(%rip), %rdx     # 0xc4684
leaq 0x210(%rsp), %rdi
leaq 0x1f0(%rsp), %rsi
callq 0x31430
jmp 0x2281d
leaq 0x157(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xccc0
movq 0x30(%rsp), %rdx
leaq 0xa2a3a(%rip), %rsi     # 0xc5275
leaq 0x158(%rsp), %rdi
callq 0x2efd0
jmp 0x2284a
leaq 0xa3483(%rip), %rdx     # 0xc5cd4
leaq 0x178(%rsp), %rdi
leaq 0x158(%rsp), %rsi
callq 0x31430
jmp 0x22868
leaq 0x230(%rsp), %rdi
leaq 0x210(%rsp), %rsi
leaq 0x178(%rsp), %rdx
callq 0x315c0
jmp 0x22887
leaq 0xa1cd9(%rip), %rdx     # 0xc4567
leaq 0x250(%rsp), %rdi
leaq 0x230(%rsp), %rsi
callq 0x31430
jmp 0x228a5
leaq 0x250(%rsp), %rdi
callq 0x3add0
jmp 0x228b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
jmp 0x229fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
jmp 0x229ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
jmp 0x229e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
jmp 0x229d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
jmp 0x229bb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
jmp 0x229ae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
jmp 0x229a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
jmp 0x22994
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
leaq 0x250(%rsp), %rdi
callq 0xce58
leaq 0x230(%rsp), %rdi
callq 0xce58
leaq 0x178(%rsp), %rdi
callq 0xce58
leaq 0x158(%rsp), %rdi
callq 0xce58
leaq 0x157(%rsp), %rdi
callq 0xc780
leaq 0x210(%rsp), %rdi
callq 0xce58
leaq 0x1f0(%rsp), %rdi
callq 0xce58
leaq 0x198(%rsp), %rdi
callq 0xce58
leaq 0x1d0(%rsp), %rdi
callq 0xce58
leaq 0x1cf(%rsp), %rdi
callq 0xc780
jmp 0x22f7b
movl $0x1, %edi
callq 0xc8b0
callq 0xc090
movl $0x0, (%rax)
cmpq $0x0, 0x270(%rsp)
jne 0x22ca1
callq 0xc8a0
cmpl $0x0, %eax
jne 0x22c97
leaq 0xaf(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xccc0
movq 0x28(%rsp), %rdx
leaq 0xa1c10(%rip), %rsi     # 0xc466e
leaq 0xb0(%rsp), %rdi
callq 0x2efd0
jmp 0x22a6d
leaq 0x88(%rsp), %rdi
movl $0x1ff, %esi            # imm = 0x1FF
callq 0x32ce0
jmp 0x22a81
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0x315c0
jmp 0x22aa0
leaq 0xa1bdd(%rip), %rdx     # 0xc4684
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x31430
jmp 0x22abe
leaq 0x47(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xccc0
movq 0x20(%rsp), %rdx
leaq 0xa279c(%rip), %rsi     # 0xc5275
leaq 0x48(%rsp), %rdi
callq 0x2efd0
jmp 0x22ae5
leaq 0xa31e8(%rip), %rdx     # 0xc5cd4
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x31430
jmp 0x22afd
leaq 0x110(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
leaq 0x68(%rsp), %rdx
callq 0x315c0
jmp 0x22b19
leaq 0xa1a53(%rip), %rdx     # 0xc4573
leaq 0x130(%rsp), %rdi
leaq 0x110(%rsp), %rsi
callq 0x31430
jmp 0x22b37
leaq 0x130(%rsp), %rdi
callq 0x3add0
jmp 0x22b46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
jmp 0x22c85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
jmp 0x22c78
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
jmp 0x22c6b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
jmp 0x22c5e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
jmp 0x22c47
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
jmp 0x22c3d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
jmp 0x22c33
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
jmp 0x22c26
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
leaq 0x130(%rsp), %rdi
callq 0xce58
leaq 0x110(%rsp), %rdi
callq 0xce58
leaq 0x68(%rsp), %rdi
callq 0xce58
leaq 0x48(%rsp), %rdi
callq 0xce58
leaq 0x47(%rsp), %rdi
callq 0xc780
leaq 0xf0(%rsp), %rdi
callq 0xce58
leaq 0xd0(%rsp), %rdi
callq 0xce58
leaq 0x88(%rsp), %rdi
callq 0xce58
leaq 0xb0(%rsp), %rdi
callq 0xce58
leaq 0xaf(%rsp), %rdi
callq 0xc780
jmp 0x22f7b
movl $0x1, %edi
callq 0xc8b0
movq 0x278(%rsp), %rdi
addq $0x58, %rdi
movq 0x270(%rsp), %rsi
addq $0x58, %rsi
callq 0x33c40
testb $0x1, %al
jne 0x22cc4
jmp 0x22cd1
movb $0x1, 0x287(%rsp)
jmp 0x22f6a
movq 0x270(%rsp), %rdi
addq $0x58, %rdi
movq 0x278(%rsp), %rsi
addq $0x58, %rsi
callq 0x33c40
testb $0x1, %al
jne 0x22cf4
jmp 0x22d01
movb $0x0, 0x287(%rsp)
jmp 0x22f6a
movq 0x278(%rsp), %rax
movb 0x98(%rax), %al
andb $0x1, %al
movzbl %al, %eax
movq 0x270(%rsp), %rcx
movb 0x98(%rcx), %cl
andb $0x1, %cl
movzbl %cl, %ecx
cmpl %ecx, %eax
jge 0x22d39
movb $0x1, 0x287(%rsp)
jmp 0x22f6a
movq 0x270(%rsp), %rax
movb 0x98(%rax), %al
andb $0x1, %al
movzbl %al, %eax
movq 0x278(%rsp), %rcx
movb 0x98(%rcx), %cl
andb $0x1, %cl
movzbl %cl, %ecx
cmpl %ecx, %eax
jge 0x22d71
movb $0x0, 0x287(%rsp)
jmp 0x22f6a
movq 0x278(%rsp), %rax
movsbl 0x140(%rax), %eax
movq 0x270(%rsp), %rcx
movsbl 0x140(%rcx), %ecx
cmpl %ecx, %eax
jge 0x22da0
movb $0x1, 0x287(%rsp)
jmp 0x22f6a
movq 0x270(%rsp), %rax
movsbl 0x140(%rax), %eax
movq 0x278(%rsp), %rcx
movsbl 0x140(%rcx), %ecx
cmpl %ecx, %eax
jge 0x22dcf
movb $0x0, 0x287(%rsp)
jmp 0x22f6a
movq 0x278(%rsp), %rax
movq 0x30(%rax), %rax
movq 0x270(%rsp), %rcx
cmpq 0x30(%rcx), %rax
jae 0x22df6
movb $0x1, 0x287(%rsp)
jmp 0x22f6a
movq 0x270(%rsp), %rax
movq 0x30(%rax), %rax
movq 0x278(%rsp), %rcx
cmpq 0x30(%rcx), %rax
jae 0x22e1d
movb $0x0, 0x287(%rsp)
jmp 0x22f6a
movq 0x270(%rsp), %rdi
callq 0x26130
movsd %xmm0, 0x18(%rsp)
movq 0x278(%rsp), %rdi
callq 0x26130
movsd 0x18(%rsp), %xmm1
ucomisd %xmm1, %xmm0
jbe 0x22e56
movb $0x1, 0x287(%rsp)
jmp 0x22f6a
movq 0x278(%rsp), %rdi
callq 0x26130
movsd %xmm0, 0x10(%rsp)
movq 0x270(%rsp), %rdi
callq 0x26130
movsd 0x10(%rsp), %xmm1
ucomisd %xmm1, %xmm0
jbe 0x22e8f
movb $0x0, 0x287(%rsp)
jmp 0x22f6a
movq 0x270(%rsp), %rdi
callq 0x27070
movsd %xmm0, 0x8(%rsp)
movq 0x278(%rsp), %rdi
callq 0x27070
movsd 0x8(%rsp), %xmm1
ucomisd %xmm1, %xmm0
jbe 0x22ec8
movb $0x1, 0x287(%rsp)
jmp 0x22f6a
movq 0x278(%rsp), %rdi
callq 0x27070
movsd %xmm0, (%rsp)
movq 0x270(%rsp), %rdi
callq 0x27070
movsd (%rsp), %xmm1
ucomisd %xmm1, %xmm0
jbe 0x22efc
movb $0x0, 0x287(%rsp)
jmp 0x22f6a
movq 0x278(%rsp), %rdi
addq $0xa0, %rdi
movq 0x270(%rsp), %rsi
addq $0xa0, %rsi
callq 0x33c40
testb $0x1, %al
jne 0x22f25
jmp 0x22f2f
movb $0x1, 0x287(%rsp)
jmp 0x22f6a
movq 0x270(%rsp), %rdi
addq $0xa0, %rdi
movq 0x278(%rsp), %rsi
addq $0xa0, %rsi
callq 0x33c40
testb $0x1, %al
jne 0x22f58
jmp 0x22f62
movb $0x0, 0x287(%rsp)
jmp 0x22f6a
movb $0x0, 0x287(%rsp)
movb 0x287(%rsp), %al
andb $0x1, %al
addq $0x288, %rsp            # imm = 0x288
retq
movq 0x1c0(%rsp), %rdi
callq 0xccb0
nopl (%rax,%rax)