// File: ncbi[P]amr/tsv.cpp
// Function: Common_sp::TextTable::merge(unsigned long, unsigned long, Common_sp::Vector<unsigned long> const&, Common_sp::Vector<unsigned long> const&, Common_sp::Vector<unsigned long> const&, Common_sp::Vector<unsigned long> const&)
void TextTable::merge (RowNum toRowNum,
                       RowNum fromRowNum,
                       const Vector<ColNum> &sum,
                       const Vector<ColNum> &minV,
                       const Vector<ColNum> &maxV,
                       const Vector<ColNum> &aggr) 
{
  ASSERT (toRowNum < fromRowNum);
  
        StringVector& to   = rows [toRowNum];
  const StringVector& from = rows [fromRowNum];

  for (const ColNum i : sum)
  {
    const Header& h = header [i];
    ASSERT (h. numeric);
    ostringstream oss;
    ONumber on (oss, h. decimals, h. scientific);
    const string& s1 = to   [i];
    const string& s2 = from [i];
    const double d1 = strNull (s1) ? 0.0 : stod (s1);
    const double d2 = strNull (s2) ? 0.0 : stod (s2);
    oss << (d1 + d2);
    to [i] = oss. str ();
  }

  for (const ColNum i : minV)
    if (   to [i]. empty ()
        || (   ! from [i]. empty ()
            && compare (to, from, i) == 1
           )
       )
      to [i] = from [i];

  for (const ColNum i : maxV)
    if (   to [i]. empty ()
        || (   ! from [i]. empty ()
            && compare (to, from, i) == -1
           )
       )
      to [i] = from [i];

  for (const ColNum i : aggr)
  {
    if (from [i]. empty ())
      continue;
    if (contains (from [i], aggr_sep))
      throw runtime_error ("Cannot aggregate column " + header [i]. name + " for row " + to_string (fromRowNum + 1) + " because it contains " + strQuote (string (1, aggr_sep)));
    if (to [i]. empty ())
      to [i] = from [i];
    else
      aggregate (to [i], from [i], aggr_sep);
  }
}

// Assembly:
subq $0x688, %rsp            # imm = 0x688
movq 0x690(%rsp), %rax
movq %rdi, 0x680(%rsp)
movq %rsi, 0x678(%rsp)
movq %rdx, 0x670(%rsp)
movq %rcx, 0x668(%rsp)
movq %r8, 0x660(%rsp)
movq %r9, 0x658(%rsp)
movq 0x680(%rsp), %rax
movq %rax, 0xb0(%rsp)
callq 0xc090
movl $0x0, (%rax)
movq 0x678(%rsp), %rax
cmpq 0x670(%rsp), %rax
jb 0xbc043
callq 0xc8c0
cmpl $0x0, %eax
jne 0xbc039
leaq 0x5b7(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0xcd00
movq 0xa8(%rsp), %rdx
leaq 0x158e7(%rip), %rsi     # 0xd16c9
leaq 0x5b8(%rsp), %rdi
callq 0x29fd0
jmp 0xbbdf1
leaq 0x580(%rsp), %rdi
movl $0x26c, %esi            # imm = 0x26C
callq 0x2ded0
jmp 0xbbe05
leaq 0x5d8(%rsp), %rdi
leaq 0x5b8(%rsp), %rsi
leaq 0x580(%rsp), %rdx
callq 0x2dde0
jmp 0xbbe24
leaq 0xfd76(%rip), %rdx      # 0xcbba1
leaq 0x5f8(%rsp), %rdi
leaq 0x5d8(%rsp), %rsi
callq 0x2a2f0
jmp 0xbbe42
leaq 0x53f(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
callq 0xcd00
movq 0xa0(%rsp), %rdx
leaq 0x15bcc(%rip), %rsi     # 0xd1a32
leaq 0x540(%rsp), %rdi
callq 0x29fd0
jmp 0xbbe75
leaq 0x11b9a(%rip), %rdx     # 0xcda16
leaq 0x560(%rsp), %rdi
leaq 0x540(%rsp), %rsi
callq 0x2a2f0
jmp 0xbbe93
leaq 0x618(%rsp), %rdi
leaq 0x5f8(%rsp), %rsi
leaq 0x560(%rsp), %rdx
callq 0x2dde0
jmp 0xbbeb2
leaq 0x15c0a(%rip), %rdx     # 0xd1ac3
leaq 0x638(%rsp), %rdi
leaq 0x618(%rsp), %rsi
callq 0x2a2f0
jmp 0xbbed0
leaq 0x638(%rsp), %rdi
callq 0x3e9b0
jmp 0xbbedf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbc027
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbc01a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbc00d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbc000
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbbfe6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbbfd9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbbfcc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbbfbf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
leaq 0x638(%rsp), %rdi
callq 0xce98
leaq 0x618(%rsp), %rdi
callq 0xce98
leaq 0x560(%rsp), %rdi
callq 0xce98
leaq 0x540(%rsp), %rdi
callq 0xce98
leaq 0x53f(%rsp), %rdi
callq 0xc7a0
leaq 0x5f8(%rsp), %rdi
callq 0xce98
leaq 0x5d8(%rsp), %rdi
callq 0xce98
leaq 0x580(%rsp), %rdi
callq 0xce98
leaq 0x5b8(%rsp), %rdi
callq 0xce98
leaq 0x5b7(%rsp), %rdi
callq 0xc7a0
jmp 0xbccd3
movl $0x1, %edi
callq 0xc8d0
movq 0xb0(%rsp), %rdi
addq $0x50, %rdi
movq 0x678(%rsp), %rsi
callq 0x38120
movq 0xb0(%rsp), %rdi
movq %rax, 0x530(%rsp)
addq $0x50, %rdi
movq 0x670(%rsp), %rsi
callq 0x38120
movq %rax, 0x528(%rsp)
movq 0x668(%rsp), %rax
movq %rax, 0x520(%rsp)
movq 0x520(%rsp), %rdi
callq 0x746c0
movq %rax, 0x518(%rsp)
movq 0x520(%rsp), %rdi
callq 0x746f0
movq %rax, 0x510(%rsp)
leaq 0x518(%rsp), %rdi
leaq 0x510(%rsp), %rsi
callq 0x74720
testb $0x1, %al
jne 0xbc0dd
jmp 0xbc628
leaq 0x518(%rsp), %rdi
callq 0x74760
movq 0xb0(%rsp), %rdi
movq (%rax), %rax
movq %rax, 0x508(%rsp)
addq $0x30, %rdi
movq 0x508(%rsp), %rsi
callq 0xbfee0
movq %rax, 0x500(%rsp)
callq 0xc090
movl $0x0, (%rax)
movq 0x500(%rsp), %rax
testb $0x1, 0x30(%rax)
jne 0xbc3c6
callq 0xc8c0
cmpl $0x0, %eax
jne 0xbc3bc
leaq 0x45f(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0xcd00
movq 0x98(%rsp), %rdx
leaq 0x15564(%rip), %rsi     # 0xd16c9
leaq 0x460(%rsp), %rdi
callq 0x29fd0
jmp 0xbc174
leaq 0x438(%rsp), %rdi
movl $0x274, %esi            # imm = 0x274
callq 0x2ded0
jmp 0xbc188
leaq 0x480(%rsp), %rdi
leaq 0x460(%rsp), %rsi
leaq 0x438(%rsp), %rdx
callq 0x2dde0
jmp 0xbc1a7
leaq 0xf9f3(%rip), %rdx      # 0xcbba1
leaq 0x4a0(%rsp), %rdi
leaq 0x480(%rsp), %rsi
callq 0x2a2f0
jmp 0xbc1c5
leaq 0x3f7(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0xcd00
movq 0x90(%rsp), %rdx
leaq 0x15849(%rip), %rsi     # 0xd1a32
leaq 0x3f8(%rsp), %rdi
callq 0x29fd0
jmp 0xbc1f8
leaq 0x11817(%rip), %rdx     # 0xcda16
leaq 0x418(%rsp), %rdi
leaq 0x3f8(%rsp), %rsi
callq 0x2a2f0
jmp 0xbc216
leaq 0x4c0(%rsp), %rdi
leaq 0x4a0(%rsp), %rsi
leaq 0x418(%rsp), %rdx
callq 0x2dde0
jmp 0xbc235
leaq 0x1589d(%rip), %rdx     # 0xd1ad9
leaq 0x4e0(%rsp), %rdi
leaq 0x4c0(%rsp), %rsi
callq 0x2a2f0
jmp 0xbc253
leaq 0x4e0(%rsp), %rdi
callq 0x3e9b0
jmp 0xbc262
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbc3aa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbc39d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbc390
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbc383
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbc369
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbc35c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbc34f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbc342
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
leaq 0x4e0(%rsp), %rdi
callq 0xce98
leaq 0x4c0(%rsp), %rdi
callq 0xce98
leaq 0x418(%rsp), %rdi
callq 0xce98
leaq 0x3f8(%rsp), %rdi
callq 0xce98
leaq 0x3f7(%rsp), %rdi
callq 0xc7a0
leaq 0x4a0(%rsp), %rdi
callq 0xce98
leaq 0x480(%rsp), %rdi
callq 0xce98
leaq 0x438(%rsp), %rdi
callq 0xce98
leaq 0x460(%rsp), %rdi
callq 0xce98
leaq 0x45f(%rsp), %rdi
callq 0xc7a0
jmp 0xbccd3
movl $0x1, %edi
callq 0xc8d0
leaq 0x278(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0xc9e0
movq 0x88(%rsp), %rsi
movq 0x500(%rsp), %rax
movq 0x38(%rax), %rdx
movzbl 0x31(%rax), %ecx
andl $0x1, %ecx
leaq 0x260(%rsp), %rdi
callq 0x73400
jmp 0xbc405
movq 0x530(%rsp), %rdi
movq 0x508(%rsp), %rsi
callq 0x2f970
movq %rax, 0x80(%rsp)
jmp 0xbc424
movq 0x80(%rsp), %rax
movq %rax, 0x258(%rsp)
movq 0x528(%rsp), %rdi
movq 0x508(%rsp), %rsi
callq 0x2f4e0
movq %rax, 0x78(%rsp)
jmp 0xbc450
movq 0x78(%rsp), %rax
movq %rax, 0x250(%rsp)
movq 0x258(%rsp), %rdi
callq 0xc00a0
movb %al, 0x77(%rsp)
jmp 0xbc470
movb 0x77(%rsp), %al
testb $0x1, %al
jne 0xbc47a
jmp 0xbc485
xorps %xmm0, %xmm0
movsd %xmm0, 0x68(%rsp)
jmp 0xbc4ac
movq 0x258(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xc0720
movsd %xmm0, 0x60(%rsp)
jmp 0xbc49e
movsd 0x60(%rsp), %xmm0
movsd %xmm0, 0x68(%rsp)
jmp 0xbc4ac
movsd 0x68(%rsp), %xmm0
movsd %xmm0, 0x248(%rsp)
movq 0x250(%rsp), %rdi
callq 0xc00a0
movb %al, 0x5f(%rsp)
jmp 0xbc4ce
movb 0x5f(%rsp), %al
testb $0x1, %al
jne 0xbc4d8
jmp 0xbc4e3
xorps %xmm0, %xmm0
movsd %xmm0, 0x50(%rsp)
jmp 0xbc50a
movq 0x250(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xc0720
movsd %xmm0, 0x48(%rsp)
jmp 0xbc4fc
movsd 0x48(%rsp), %xmm0
movsd %xmm0, 0x50(%rsp)
jmp 0xbc50a
movsd 0x50(%rsp), %xmm0
movsd %xmm0, 0x240(%rsp)
movsd 0x248(%rsp), %xmm0
movsd 0x240(%rsp), %xmm1
addsd %xmm1, %xmm0
leaq 0x278(%rsp), %rdi
callq 0xcdd0
jmp 0xbc53e
leaq 0x220(%rsp), %rdi
leaq 0x278(%rsp), %rsi
callq 0xc730
jmp 0xbc555
movq 0x530(%rsp), %rdi
movq 0x508(%rsp), %rsi
callq 0x2f970
movq %rax, 0x40(%rsp)
jmp 0xbc571
movq 0x40(%rsp), %rdi
leaq 0x220(%rsp), %rsi
callq 0xc8f0
leaq 0x220(%rsp), %rdi
callq 0xce98
leaq 0x260(%rsp), %rdi
callq 0x734b0
leaq 0x278(%rsp), %rdi
callq 0xc170
leaq 0x518(%rsp), %rdi
callq 0x74770
jmp 0xbc0bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbc616
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbc609
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
leaq 0x220(%rsp), %rdi
callq 0xce98
leaq 0x260(%rsp), %rdi
callq 0x734b0
leaq 0x278(%rsp), %rdi
callq 0xc170
jmp 0xbccd3
movq 0x660(%rsp), %rax
movq %rax, 0x218(%rsp)
movq 0x218(%rsp), %rdi
callq 0x746c0
movq %rax, 0x210(%rsp)
movq 0x218(%rsp), %rdi
callq 0x746f0
movq %rax, 0x208(%rsp)
leaq 0x210(%rsp), %rdi
leaq 0x208(%rsp), %rsi
callq 0x74720
testb $0x1, %al
jne 0xbc680
jmp 0xbc754
leaq 0x210(%rsp), %rdi
callq 0x74760
movq (%rax), %rax
movq %rax, 0x200(%rsp)
movq 0x530(%rsp), %rdi
movq 0x200(%rsp), %rsi
callq 0x2f970
movq %rax, %rdi
callq 0xcc10
testb $0x1, %al
jne 0xbc704
movq 0x528(%rsp), %rdi
movq 0x200(%rsp), %rsi
callq 0x2f4e0
movq %rax, %rdi
callq 0xcc10
testb $0x1, %al
jne 0xbc740
movq 0xb0(%rsp), %rdi
movq 0x530(%rsp), %rsi
movq 0x528(%rsp), %rdx
movq 0x200(%rsp), %rcx
callq 0xba3e0
cmpl $0x1, %eax
jne 0xbc740
movq 0x528(%rsp), %rdi
movq 0x200(%rsp), %rsi
callq 0x2f4e0
movq %rax, 0x38(%rsp)
movq 0x530(%rsp), %rdi
movq 0x200(%rsp), %rsi
callq 0x2f970
movq 0x38(%rsp), %rsi
movq %rax, %rdi
callq 0xc080
jmp 0xbc742
leaq 0x210(%rsp), %rdi
callq 0x74770
jmp 0xbc662
movq 0x658(%rsp), %rax
movq %rax, 0x1f8(%rsp)
movq 0x1f8(%rsp), %rdi
callq 0x746c0
movq %rax, 0x1f0(%rsp)
movq 0x1f8(%rsp), %rdi
callq 0x746f0
movq %rax, 0x1e8(%rsp)
leaq 0x1f0(%rsp), %rdi
leaq 0x1e8(%rsp), %rsi
callq 0x74720
testb $0x1, %al
jne 0xbc7ac
jmp 0xbc880
leaq 0x1f0(%rsp), %rdi
callq 0x74760
movq (%rax), %rax
movq %rax, 0x1e0(%rsp)
movq 0x530(%rsp), %rdi
movq 0x1e0(%rsp), %rsi
callq 0x2f970
movq %rax, %rdi
callq 0xcc10
testb $0x1, %al
jne 0xbc830
movq 0x528(%rsp), %rdi
movq 0x1e0(%rsp), %rsi
callq 0x2f4e0
movq %rax, %rdi
callq 0xcc10
testb $0x1, %al
jne 0xbc86c
movq 0xb0(%rsp), %rdi
movq 0x530(%rsp), %rsi
movq 0x528(%rsp), %rdx
movq 0x1e0(%rsp), %rcx
callq 0xba3e0
cmpl $-0x1, %eax
jne 0xbc86c
movq 0x528(%rsp), %rdi
movq 0x1e0(%rsp), %rsi
callq 0x2f4e0
movq %rax, 0x30(%rsp)
movq 0x530(%rsp), %rdi
movq 0x1e0(%rsp), %rsi
callq 0x2f970
movq 0x30(%rsp), %rsi
movq %rax, %rdi
callq 0xc080
jmp 0xbc86e
leaq 0x1f0(%rsp), %rdi
callq 0x74770
jmp 0xbc78e
movq 0x690(%rsp), %rax
movq %rax, 0x1d8(%rsp)
movq 0x1d8(%rsp), %rdi
callq 0x746c0
movq %rax, 0x1d0(%rsp)
movq 0x1d8(%rsp), %rdi
callq 0x746f0
movq %rax, 0x1c8(%rsp)
leaq 0x1d0(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
callq 0x74720
testb $0x1, %al
jne 0xbc8d8
jmp 0xbcccb
leaq 0x1d0(%rsp), %rdi
callq 0x74760
movq (%rax), %rax
movq %rax, 0x1c0(%rsp)
movq 0x528(%rsp), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x2f4e0
movq %rax, %rdi
callq 0xcc10
testb $0x1, %al
jne 0xbc913
jmp 0xbc918
jmp 0xbccb9
movq 0x528(%rsp), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x2f4e0
movq %rax, %rdi
movl $0x2c, %esi
callq 0x2dbd0
testb $0x1, %al
jne 0xbc943
jmp 0xbcc15
movb $0x1, 0xbe(%rsp)
movl $0x10, %edi
callq 0xc3b0
movq 0xb0(%rsp), %rdi
movq %rax, 0x20(%rsp)
addq $0x30, %rdi
movq 0x1c0(%rsp), %rsi
callq 0xbfee0
movq %rax, 0x28(%rsp)
jmp 0xbc97a
movq 0x28(%rsp), %rdx
addq $0x8, %rdx
leaq 0x1515a(%rip), %rsi     # 0xd1ae4
leaq 0x120(%rsp), %rdi
callq 0x2a1c0
jmp 0xbc999
leaq 0x1515d(%rip), %rdx     # 0xd1afd
leaq 0x140(%rsp), %rdi
leaq 0x120(%rsp), %rsi
callq 0x2a2f0
jmp 0xbc9b7
movq 0x670(%rsp), %rsi
incq %rsi
leaq 0x100(%rsp), %rdi
callq 0x2bf10
jmp 0xbc9d1
leaq 0x160(%rsp), %rdi
leaq 0x140(%rsp), %rsi
leaq 0x100(%rsp), %rdx
callq 0x2dde0
jmp 0xbc9f0
leaq 0x15110(%rip), %rdx     # 0xd1b07
leaq 0x180(%rsp), %rdi
leaq 0x160(%rsp), %rsi
callq 0x2a2f0
jmp 0xbca0e
leaq 0xbf(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xcd00
movq 0x18(%rsp), %rcx
leaq 0xc0(%rsp), %rdi
movl $0x1, %esi
movl $0x2c, %edx
callq 0x2c1e0
jmp 0xbca3e
leaq 0xe0(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
movl $0x22, %edx
callq 0x424f0
jmp 0xbca5a
leaq 0x1a0(%rsp), %rdi
leaq 0x180(%rsp), %rsi
leaq 0xe0(%rsp), %rdx
callq 0x2dde0
jmp 0xbca79
movq 0x20(%rsp), %rdi
leaq 0x1a0(%rsp), %rsi
callq 0xcbb0
jmp 0xbca8d
movq 0x20(%rsp), %rdi
movb $0x0, 0xbe(%rsp)
movq 0x4954f(%rip), %rsi     # 0x105ff0
movq 0x494c8(%rip), %rdx     # 0x105f70
callq 0xcc80
jmp 0xbcce0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbcbfa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbcbed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbcbe0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbcbd3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbcbc6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbcbac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbcb9f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
jmp 0xbcb92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5a8(%rsp)
movl %eax, 0x5a4(%rsp)
leaq 0x1a0(%rsp), %rdi
callq 0xce98
leaq 0xe0(%rsp), %rdi
callq 0xce98
leaq 0xc0(%rsp), %rdi
callq 0xce98
leaq 0xbf(%rsp), %rdi
callq 0xc7a0
leaq 0x180(%rsp), %rdi
callq 0xce98
leaq 0x160(%rsp), %rdi
callq 0xce98
leaq 0x100(%rsp), %rdi
callq 0xce98
leaq 0x140(%rsp), %rdi
callq 0xce98
leaq 0x120(%rsp), %rdi
callq 0xce98
testb $0x1, 0xbe(%rsp)
jne 0xbcc06
jmp 0xbcc10
movq 0x20(%rsp), %rdi
callq 0xc580
jmp 0xbccd3
movq 0x530(%rsp), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x2f970
movq %rax, %rdi
callq 0xcc10
testb $0x1, %al
jne 0xbcc38
jmp 0xbcc76
movq 0x528(%rsp), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x2f4e0
movq %rax, 0x10(%rsp)
movq 0x530(%rsp), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x2f970
movq 0x10(%rsp), %rsi
movq %rax, %rdi
callq 0xc080
jmp 0xbccb7
movq 0x530(%rsp), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x2f970
movq %rax, 0x8(%rsp)
movq 0x528(%rsp), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x2f4e0
movq 0x8(%rsp), %rdi
movq %rax, %rsi
movl $0x2c, %edx
callq 0xc0b60
jmp 0xbccb9
leaq 0x1d0(%rsp), %rdi
callq 0x74770
jmp 0xbc8ba
addq $0x688, %rsp            # imm = 0x688
retq
movq 0x5a8(%rsp), %rdi
callq 0xccf0