// File: ncbi[P]amr/seq.cpp
// Function: Seq_sp::Peptide::getSimilarity(Seq_sp::Peptide const&, Seq_sp::SubstMat const&, double, double) const
double Peptide::getSimilarity (const Peptide &other,
                               const SubstMat &mat,
                               double gapOpenCost,
                               double gapCost) const
{
  ASSERT (gapOpenCost >= 0.0);
  ASSERT (gapCost >= 0.0);
  ASSERT (sparse);
  ASSERT (other. sparse);
  ASSERT (seq. size () == other. seq. size ());
  
  double s = 0.0;
  char c1_prev = '\0';
  char c2_prev = '\0';
  FFOR (size_t, i, seq. size ())
  {
    const char c1 =        seq [i];
    const char c2 = other. seq [i];
    if (   c1 == '-' 
        && c2 == '-'
       )
      ;
    else if (   c1 == '-' 
             || c2 == '-'
            )
    {
      s -= gapCost;
      if (   (c1 == '-' && c1_prev != '-')
          || (c2 == '-' && c2_prev != '-')
         )
        s -= gapOpenCost;
    }
    else
      s += mat. sim [(size_t) c1] [(size_t) c2];
    c1_prev = c1;
    c2_prev = c2;
  }

  return s;
}

// Assembly:
subq $0x618, %rsp            # imm = 0x618
movq %rdi, 0x610(%rsp)
movq %rsi, 0x608(%rsp)
movq %rdx, 0x600(%rsp)
movsd %xmm0, 0x5f8(%rsp)
movsd %xmm1, 0x5f0(%rsp)
movq 0x610(%rsp), %rax
movq %rax, 0x60(%rsp)
callq 0xd0a0
movl $0x0, (%rax)
movsd 0x5f8(%rsp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jae 0xbe046
callq 0xd8c0
cmpl $0x0, %eax
jne 0xbe03c
leaq 0x54f(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0xdd50
movq 0x58(%rsp), %rdx
leaq 0x2a65b(%rip), %rsi     # 0xe8446
leaq 0x550(%rsp), %rdi
callq 0xfae0
jmp 0xbddfa
leaq 0x518(%rsp), %rdi
movl $0xe2e, %esi            # imm = 0xE2E
callq 0x11600
jmp 0xbde0e
leaq 0x570(%rsp), %rdi
leaq 0x550(%rsp), %rsi
leaq 0x518(%rsp), %rdx
callq 0x11510
jmp 0xbde2d
leaq 0x2539d(%rip), %rdx     # 0xe31d1
leaq 0x590(%rsp), %rdi
leaq 0x570(%rsp), %rsi
callq 0x114c0
jmp 0xbde4b
leaq 0x4d7(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0xdd50
movq 0x50(%rsp), %rdx
leaq 0x2b2f7(%rip), %rsi     # 0xe9160
leaq 0x4d8(%rsp), %rdi
callq 0xfae0
jmp 0xbde78
leaq 0x25b25(%rip), %rdx     # 0xe39a4
leaq 0x4f8(%rsp), %rdi
leaq 0x4d8(%rsp), %rsi
callq 0x114c0
jmp 0xbde96
leaq 0x5b0(%rsp), %rdi
leaq 0x590(%rsp), %rsi
leaq 0x4f8(%rsp), %rdx
callq 0x11510
jmp 0xbdeb5
leaq 0x2b303(%rip), %rdx     # 0xe91bf
leaq 0x5d0(%rsp), %rdi
leaq 0x5b0(%rsp), %rsi
callq 0x114c0
jmp 0xbded3
leaq 0x5d0(%rsp), %rdi
callq 0x173d0
jmp 0xbdee2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe02a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe01d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe010
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe003
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbdfe9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbdfdc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbdfcf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbdfc2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
leaq 0x5d0(%rsp), %rdi
callq 0xdf08
leaq 0x5b0(%rsp), %rdi
callq 0xdf08
leaq 0x4f8(%rsp), %rdi
callq 0xdf08
leaq 0x4d8(%rsp), %rdi
callq 0xdf08
leaq 0x4d7(%rsp), %rdi
callq 0xd7a0
leaq 0x590(%rsp), %rdi
callq 0xdf08
leaq 0x570(%rsp), %rdi
callq 0xdf08
leaq 0x518(%rsp), %rdi
callq 0xdf08
leaq 0x550(%rsp), %rdi
callq 0xdf08
leaq 0x54f(%rsp), %rdi
callq 0xd7a0
jmp 0xbec87
movl $0x1, %edi
callq 0xd8e0
callq 0xd0a0
movl $0x0, (%rax)
movsd 0x5f0(%rsp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jae 0xbe2ee
callq 0xd8c0
cmpl $0x0, %eax
jne 0xbe2e4
leaq 0x42f(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0xdd50
movq 0x48(%rsp), %rdx
leaq 0x2a3b3(%rip), %rsi     # 0xe8446
leaq 0x430(%rsp), %rdi
callq 0xfae0
jmp 0xbe0a2
leaq 0x408(%rsp), %rdi
movl $0xe2f, %esi            # imm = 0xE2F
callq 0x11600
jmp 0xbe0b6
leaq 0x450(%rsp), %rdi
leaq 0x430(%rsp), %rsi
leaq 0x408(%rsp), %rdx
callq 0x11510
jmp 0xbe0d5
leaq 0x250f5(%rip), %rdx     # 0xe31d1
leaq 0x470(%rsp), %rdi
leaq 0x450(%rsp), %rsi
callq 0x114c0
jmp 0xbe0f3
leaq 0x3c7(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0xdd50
movq 0x40(%rsp), %rdx
leaq 0x2b04f(%rip), %rsi     # 0xe9160
leaq 0x3c8(%rsp), %rdi
callq 0xfae0
jmp 0xbe120
leaq 0x2587d(%rip), %rdx     # 0xe39a4
leaq 0x3e8(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
callq 0x114c0
jmp 0xbe13e
leaq 0x490(%rsp), %rdi
leaq 0x470(%rsp), %rsi
leaq 0x3e8(%rsp), %rdx
callq 0x11510
jmp 0xbe15d
leaq 0x2b06e(%rip), %rdx     # 0xe91d2
leaq 0x4b0(%rsp), %rdi
leaq 0x490(%rsp), %rsi
callq 0x114c0
jmp 0xbe17b
leaq 0x4b0(%rsp), %rdi
callq 0x173d0
jmp 0xbe18a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe2d2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe2c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe2b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe2ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe291
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe284
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe277
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe26a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
leaq 0x4b0(%rsp), %rdi
callq 0xdf08
leaq 0x490(%rsp), %rdi
callq 0xdf08
leaq 0x3e8(%rsp), %rdi
callq 0xdf08
leaq 0x3c8(%rsp), %rdi
callq 0xdf08
leaq 0x3c7(%rsp), %rdi
callq 0xd7a0
leaq 0x470(%rsp), %rdi
callq 0xdf08
leaq 0x450(%rsp), %rdi
callq 0xdf08
leaq 0x408(%rsp), %rdi
callq 0xdf08
leaq 0x430(%rsp), %rdi
callq 0xdf08
leaq 0x42f(%rsp), %rdi
callq 0xd7a0
jmp 0xbec87
movl $0x1, %edi
callq 0xd8e0
callq 0xd0a0
movq %rax, %rcx
movq 0x60(%rsp), %rax
movl $0x0, (%rcx)
testb $0x1, 0x48(%rax)
jne 0xbe592
callq 0xd8c0
cmpl $0x0, %eax
jne 0xbe588
leaq 0x31f(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0xdd50
movq 0x38(%rsp), %rdx
leaq 0x2a10f(%rip), %rsi     # 0xe8446
leaq 0x320(%rsp), %rdi
callq 0xfae0
jmp 0xbe346
leaq 0x2f8(%rsp), %rdi
movl $0xe30, %esi            # imm = 0xE30
callq 0x11600
jmp 0xbe35a
leaq 0x340(%rsp), %rdi
leaq 0x320(%rsp), %rsi
leaq 0x2f8(%rsp), %rdx
callq 0x11510
jmp 0xbe379
leaq 0x24e51(%rip), %rdx     # 0xe31d1
leaq 0x360(%rsp), %rdi
leaq 0x340(%rsp), %rsi
callq 0x114c0
jmp 0xbe397
leaq 0x2b7(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xdd50
movq 0x30(%rsp), %rdx
leaq 0x2adab(%rip), %rsi     # 0xe9160
leaq 0x2b8(%rsp), %rdi
callq 0xfae0
jmp 0xbe3c4
leaq 0x255d9(%rip), %rdx     # 0xe39a4
leaq 0x2d8(%rsp), %rdi
leaq 0x2b8(%rsp), %rsi
callq 0x114c0
jmp 0xbe3e2
leaq 0x380(%rsp), %rdi
leaq 0x360(%rsp), %rsi
leaq 0x2d8(%rsp), %rdx
callq 0x11510
jmp 0xbe401
leaq 0x2b0b6(%rip), %rdx     # 0xe94be
leaq 0x3a0(%rsp), %rdi
leaq 0x380(%rsp), %rsi
callq 0x114c0
jmp 0xbe41f
leaq 0x3a0(%rsp), %rdi
callq 0x173d0
jmp 0xbe42e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe576
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe569
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe55c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe54f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe535
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe528
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe51b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe50e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
leaq 0x3a0(%rsp), %rdi
callq 0xdf08
leaq 0x380(%rsp), %rdi
callq 0xdf08
leaq 0x2d8(%rsp), %rdi
callq 0xdf08
leaq 0x2b8(%rsp), %rdi
callq 0xdf08
leaq 0x2b7(%rsp), %rdi
callq 0xd7a0
leaq 0x360(%rsp), %rdi
callq 0xdf08
leaq 0x340(%rsp), %rdi
callq 0xdf08
leaq 0x2f8(%rsp), %rdi
callq 0xdf08
leaq 0x320(%rsp), %rdi
callq 0xdf08
leaq 0x31f(%rsp), %rdi
callq 0xd7a0
jmp 0xbec87
movl $0x1, %edi
callq 0xd8e0
callq 0xd0a0
movl $0x0, (%rax)
movq 0x608(%rsp), %rax
testb $0x1, 0x48(%rax)
jne 0xbe836
callq 0xd8c0
cmpl $0x0, %eax
jne 0xbe82c
leaq 0x20f(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xdd50
movq 0x28(%rsp), %rdx
leaq 0x29e6b(%rip), %rsi     # 0xe8446
leaq 0x210(%rsp), %rdi
callq 0xfae0
jmp 0xbe5ea
leaq 0x1e8(%rsp), %rdi
movl $0xe31, %esi            # imm = 0xE31
callq 0x11600
jmp 0xbe5fe
leaq 0x230(%rsp), %rdi
leaq 0x210(%rsp), %rsi
leaq 0x1e8(%rsp), %rdx
callq 0x11510
jmp 0xbe61d
leaq 0x24bad(%rip), %rdx     # 0xe31d1
leaq 0x250(%rsp), %rdi
leaq 0x230(%rsp), %rsi
callq 0x114c0
jmp 0xbe63b
leaq 0x1a7(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xdd50
movq 0x20(%rsp), %rdx
leaq 0x2ab07(%rip), %rsi     # 0xe9160
leaq 0x1a8(%rsp), %rdi
callq 0xfae0
jmp 0xbe668
leaq 0x25335(%rip), %rdx     # 0xe39a4
leaq 0x1c8(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
callq 0x114c0
jmp 0xbe686
leaq 0x270(%rsp), %rdi
leaq 0x250(%rsp), %rsi
leaq 0x1c8(%rsp), %rdx
callq 0x11510
jmp 0xbe6a5
leaq 0x2ab35(%rip), %rdx     # 0xe91e1
leaq 0x290(%rsp), %rdi
leaq 0x270(%rsp), %rsi
callq 0x114c0
jmp 0xbe6c3
leaq 0x290(%rsp), %rdi
callq 0x173d0
jmp 0xbe6d2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe81a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe80d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe800
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe7f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe7d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe7cc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe7bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbe7b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
leaq 0x290(%rsp), %rdi
callq 0xdf08
leaq 0x270(%rsp), %rdi
callq 0xdf08
leaq 0x1c8(%rsp), %rdi
callq 0xdf08
leaq 0x1a8(%rsp), %rdi
callq 0xdf08
leaq 0x1a7(%rsp), %rdi
callq 0xd7a0
leaq 0x250(%rsp), %rdi
callq 0xdf08
leaq 0x230(%rsp), %rdi
callq 0xdf08
leaq 0x1e8(%rsp), %rdi
callq 0xdf08
leaq 0x210(%rsp), %rdi
callq 0xdf08
leaq 0x20f(%rsp), %rdi
callq 0xd7a0
jmp 0xbec87
movl $0x1, %edi
callq 0xd8e0
callq 0xd0a0
movq 0x60(%rsp), %rdi
movl $0x0, (%rax)
addq $0x28, %rdi
callq 0xd520
movq %rax, 0x18(%rsp)
movq 0x608(%rsp), %rdi
addq $0x28, %rdi
callq 0xd520
movq %rax, %rcx
movq 0x18(%rsp), %rax
cmpq %rcx, %rax
je 0xbeafd
callq 0xd8c0
cmpl $0x0, %eax
jne 0xbeaf3
leaq 0xff(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xdd50
movq 0x10(%rsp), %rdx
leaq 0x29ba4(%rip), %rsi     # 0xe8446
leaq 0x100(%rsp), %rdi
callq 0xfae0
jmp 0xbe8b1
leaq 0xd8(%rsp), %rdi
movl $0xe32, %esi            # imm = 0xE32
callq 0x11600
jmp 0xbe8c5
leaq 0x120(%rsp), %rdi
leaq 0x100(%rsp), %rsi
leaq 0xd8(%rsp), %rdx
callq 0x11510
jmp 0xbe8e4
leaq 0x248e6(%rip), %rdx     # 0xe31d1
leaq 0x140(%rsp), %rdi
leaq 0x120(%rsp), %rsi
callq 0x114c0
jmp 0xbe902
leaq 0x97(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xdd50
movq 0x8(%rsp), %rdx
leaq 0x2a840(%rip), %rsi     # 0xe9160
leaq 0x98(%rsp), %rdi
callq 0xfae0
jmp 0xbe92f
leaq 0x2506e(%rip), %rdx     # 0xe39a4
leaq 0xb8(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x114c0
jmp 0xbe94d
leaq 0x160(%rsp), %rdi
leaq 0x140(%rsp), %rsi
leaq 0xb8(%rsp), %rdx
callq 0x11510
jmp 0xbe96c
leaq 0x2a87c(%rip), %rdx     # 0xe91ef
leaq 0x180(%rsp), %rdi
leaq 0x160(%rsp), %rsi
callq 0x114c0
jmp 0xbe98a
leaq 0x180(%rsp), %rdi
callq 0x173d0
jmp 0xbe999
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbeae1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbead4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbeac7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbeaba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbeaa0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbea93
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbea86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
jmp 0xbea79
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x540(%rsp)
movl %eax, 0x53c(%rsp)
leaq 0x180(%rsp), %rdi
callq 0xdf08
leaq 0x160(%rsp), %rdi
callq 0xdf08
leaq 0xb8(%rsp), %rdi
callq 0xdf08
leaq 0x98(%rsp), %rdi
callq 0xdf08
leaq 0x97(%rsp), %rdi
callq 0xd7a0
leaq 0x140(%rsp), %rdi
callq 0xdf08
leaq 0x120(%rsp), %rdi
callq 0xdf08
leaq 0xd8(%rsp), %rdi
callq 0xdf08
leaq 0x100(%rsp), %rdi
callq 0xdf08
leaq 0xff(%rsp), %rdi
callq 0xd7a0
jmp 0xbec87
movl $0x1, %edi
callq 0xd8e0
movq 0x60(%rsp), %rdi
xorps %xmm0, %xmm0
movsd %xmm0, 0x88(%rsp)
movb $0x0, 0x87(%rsp)
movb $0x0, 0x86(%rsp)
movq $0x0, 0x78(%rsp)
addq $0x28, %rdi
callq 0xd520
movq %rax, 0x70(%rsp)
movq 0x78(%rsp), %rax
cmpq 0x70(%rsp), %rax
jae 0xbec76
movq 0x60(%rsp), %rdi
addq $0x28, %rdi
movq 0x78(%rsp), %rsi
callq 0xd7d0
movb (%rax), %al
movb %al, 0x6f(%rsp)
movq 0x608(%rsp), %rdi
addq $0x28, %rdi
movq 0x78(%rsp), %rsi
callq 0xd7d0
movb (%rax), %al
movb %al, 0x6e(%rsp)
movsbl 0x6f(%rsp), %eax
cmpl $0x2d, %eax
jne 0xbeb93
movsbl 0x6e(%rsp), %eax
cmpl $0x2d, %eax
jne 0xbeb93
jmp 0xbec4d
movsbl 0x6f(%rsp), %eax
cmpl $0x2d, %eax
je 0xbeba7
movsbl 0x6e(%rsp), %eax
cmpl $0x2d, %eax
jne 0xbec15
movsd 0x5f0(%rsp), %xmm1
movsd 0x88(%rsp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x88(%rsp)
movsbl 0x6f(%rsp), %eax
cmpl $0x2d, %eax
jne 0xbebdd
movsbl 0x87(%rsp), %eax
cmpl $0x2d, %eax
jne 0xbebf4
movsbl 0x6e(%rsp), %eax
cmpl $0x2d, %eax
jne 0xbec13
movsbl 0x86(%rsp), %eax
cmpl $0x2d, %eax
je 0xbec13
movsd 0x5f8(%rsp), %xmm1
movsd 0x88(%rsp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x88(%rsp)
jmp 0xbec4b
movq 0x600(%rsp), %rax
addq $0x8, %rax
movsbq 0x6f(%rsp), %rcx
shlq $0xa, %rcx
addq %rcx, %rax
movsbq 0x6e(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
addsd 0x88(%rsp), %xmm0
movsd %xmm0, 0x88(%rsp)
jmp 0xbec4d
movb 0x6f(%rsp), %al
movb %al, 0x87(%rsp)
movb 0x6e(%rsp), %al
movb %al, 0x86(%rsp)
movq 0x78(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x78(%rsp)
jmp 0xbeb35
movsd 0x88(%rsp), %xmm0
addq $0x618, %rsp            # imm = 0x618
retq
movq 0x540(%rsp), %rdi
callq 0xdd40
nopw %cs:(%rax,%rax)