// File: Luthaf[P]zeopp/networkanalysis.cc
// Function: CAGE::reconstructCage(std::set<int, std::less<int>, std::allocator<int>>, ATOM_NETWORK*, VORONOI_NETWORK*)
void CAGE::reconstructCage(set<int> ids, ATOM_NETWORK *atmnet, VORONOI_NETWORK *vornet){
  int idCount = 0;
  set<int>::iterator iter = ids.begin();
  Point pivot = atmnet->xyz_to_abc(vornet->nodes[*iter].x, vornet->nodes[*iter].y, vornet->nodes[*iter].z);
  vector<Point> nodeXYZCoords;   nodeXYZCoords.push_back(Point(vornet->nodes[*iter].x, vornet->nodes[*iter].y, vornet->nodes[*iter].z));
  nodeIDs.push_back(*iter); 
  nodeOffsets.push_back(DELTA_POS(0,0,0));
  nodeIndices.insert(pair<int,int>(*iter, idCount));
  iter++;
  idCount++;
  
  // Calculate and store the closest positions of other points to pivot point
  while(iter != ids.end()) {
    double minDa = DBL_MAX, minDb = DBL_MAX, minDc = DBL_MAX;
    Point other = atmnet->xyz_to_abc(vornet->nodes[*iter].x,  vornet->nodes[*iter].y, vornet->nodes[*iter].z);
    atmnet->getDistCalc().minimum_periodic_distance(pivot[0], pivot[1], pivot[2], other[0], other[1], other[2], minDa, minDb, minDc);
    Point shifted = Point(minDa, minDb, minDc).add(pivot);
    nodeXYZCoords.push_back(atmnet->abc_to_xyz(shifted));
    
    Point offset = shifted.subtract(other);
    nodeIDs.push_back(*iter);  
    nodeOffsets.push_back(DELTA_POS((int)(floor(offset[0] + 0.5)), (int)(floor(offset[1] + 0.5)), (int)(floor(offset[2] + 0.5))));
    nodeIndices.insert(pair<int,int>(*iter, idCount));
    iter++;
    idCount++;
  }
  
  // Compute the center point of the cage
  cx = cy = cz = 0;
  for(unsigned int i = 0; i < nodeXYZCoords.size(); i++){
    cx += nodeXYZCoords[i][0]; cy += nodeXYZCoords[i][1]; cz += nodeXYZCoords[i][2];
  }
  cx /= nodeXYZCoords.size(); cy /= nodeXYZCoords.size(); cz /= nodeXYZCoords.size();
  
  // Compute the radius of the cage
  iter = ids.begin();
  radius = DBL_MAX;
  for(unsigned int i = 0; i < nodeXYZCoords.size(); i++){
    radius = min(radius, calcEuclideanDistance(cx, cy, cz, nodeXYZCoords[i][0], nodeXYZCoords[i][1], nodeXYZCoords[i][2]) + vornet->nodes[*iter].rad_stat_sphere);
    iter++;
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x4c0, %rsp            # imm = 0x4C0
movq %rsi, -0x2e0(%rbp)
movq %rdi, %rax
movq -0x2e0(%rbp), %rdi
movq %rdi, -0x2d8(%rbp)
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x2d0(%rbp)
movl $0x0, -0x24(%rbp)
callq 0x655f0
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x2b0(%rbp)
movq -0x20(%rbp), %rax
addq $0x48, %rax
movq %rax, -0x2c8(%rbp)
leaq -0x30(%rbp), %rdi
movq %rdi, -0x288(%rbp)
callq 0x65620
movq -0x2c8(%rbp), %rdi
movslq (%rax), %rsi
callq 0x24e20
movq -0x288(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x2a8(%rbp)
movq -0x20(%rbp), %rax
addq $0x48, %rax
movq %rax, -0x2c0(%rbp)
callq 0x65620
movq -0x2c0(%rbp), %rdi
movslq (%rax), %rsi
callq 0x24e20
movq -0x288(%rbp), %rdi
movsd 0x8(%rax), %xmm0
movsd %xmm0, -0x2a0(%rbp)
movq -0x20(%rbp), %rax
addq $0x48, %rax
movq %rax, -0x2b8(%rbp)
callq 0x65620
movq -0x2b8(%rbp), %rdi
movslq (%rax), %rsi
callq 0x24e20
movq -0x2b0(%rbp), %rsi
movsd -0x2a8(%rbp), %xmm0
movsd -0x2a0(%rbp), %xmm1
movsd 0x10(%rax), %xmm2
leaq -0x48(%rbp), %rdi
callq 0x97360
leaq -0x60(%rbp), %rdi
callq 0xed40
movq -0x288(%rbp), %rdi
movq -0x20(%rbp), %rax
addq $0x48, %rax
movq %rax, -0x298(%rbp)
callq 0x65620
movq -0x298(%rbp), %rdi
movslq (%rax), %rsi
callq 0x24e20
movq -0x288(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x278(%rbp)
movq -0x20(%rbp), %rax
addq $0x48, %rax
movq %rax, -0x290(%rbp)
callq 0x65620
movq -0x290(%rbp), %rdi
movslq (%rax), %rsi
callq 0x24e20
movq -0x288(%rbp), %rdi
movsd 0x8(%rax), %xmm0
movsd %xmm0, -0x270(%rbp)
movq -0x20(%rbp), %rax
addq $0x48, %rax
movq %rax, -0x280(%rbp)
callq 0x65620
movq -0x280(%rbp), %rdi
movslq (%rax), %rsi
callq 0x24e20
movsd -0x278(%rbp), %xmm0
movsd -0x270(%rbp), %xmm1
movsd 0x10(%rax), %xmm2
leaq -0x78(%rbp), %rdi
callq 0xe9c70
jmp 0x611b9
leaq -0x60(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0xed80
jmp 0x611c8
movq -0x2d0(%rbp), %rax
addq $0x30, %rax
movq %rax, -0x2e8(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x65620
movq -0x2e8(%rbp), %rdi
movq %rax, %rsi
callq 0xd1b0
jmp 0x611f4
movq -0x2d0(%rbp), %rax
addq $0x48, %rax
movq %rax, -0x2f0(%rbp)
leaq -0x90(%rbp), %rdi
xorl %ecx, %ecx
movl %ecx, %esi
movl %ecx, %edx
callq 0x94010
jmp 0x6121a
movq -0x2f0(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x65840
jmp 0x6122f
movq -0x2d0(%rbp), %rax
movq %rax, -0x2f8(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x65620
movq %rax, %rsi
leaq -0x98(%rbp), %rdi
leaq -0x24(%rbp), %rdx
callq 0x65870
jmp 0x6125b
movq -0x2f8(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0xf550
movb %dl, -0x301(%rbp)
movq %rax, -0x300(%rbp)
jmp 0x6127d
movb -0x301(%rbp), %al
movq -0x300(%rbp), %rcx
movq %rcx, -0xa8(%rbp)
movb %al, -0xa0(%rbp)
leaq -0x30(%rbp), %rdi
xorl %esi, %esi
callq 0x65660
movq %rax, -0xb0(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movq -0x2d8(%rbp), %rdi
callq 0xf520
movq %rax, -0xb8(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0xf4b0
testb $0x1, %al
jne 0x612de
jmp 0x61817
movabsq $0x7fefffffffffffff, %rax # imm = 0x7FEFFFFFFFFFFFFF
movq %rax, -0xc0(%rbp)
movq %rax, -0xc8(%rbp)
movq %rax, -0xd0(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x320(%rbp)
movq -0x20(%rbp), %rax
addq $0x48, %rax
movq %rax, -0x340(%rbp)
leaq -0x30(%rbp), %rdi
movq %rdi, -0x330(%rbp)
callq 0x65620
movq -0x340(%rbp), %rdi
movslq (%rax), %rsi
callq 0x24e20
movq -0x330(%rbp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, -0x318(%rbp)
movq -0x20(%rbp), %rax
addq $0x48, %rax
movq %rax, -0x338(%rbp)
callq 0x65620
movq -0x338(%rbp), %rdi
movslq (%rax), %rsi
callq 0x24e20
movq -0x330(%rbp), %rdi
movsd 0x8(%rax), %xmm0
movsd %xmm0, -0x310(%rbp)
movq -0x20(%rbp), %rax
addq $0x48, %rax
movq %rax, -0x328(%rbp)
callq 0x65620
movq -0x328(%rbp), %rdi
movslq (%rax), %rsi
callq 0x24e20
movq -0x320(%rbp), %rsi
movsd -0x318(%rbp), %xmm0
movsd -0x310(%rbp), %xmm1
movsd 0x10(%rax), %xmm2
leaq -0xe8(%rbp), %rdi
callq 0x97360
jmp 0x613cd
movq -0x18(%rbp), %rsi
leaq -0x160(%rbp), %rdi
callq 0x96bf0
jmp 0x613df
leaq -0x48(%rbp), %rdi
xorl %esi, %esi
callq 0xe9d70
movq %rax, -0x348(%rbp)
jmp 0x613f3
movq -0x348(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x358(%rbp)
leaq -0x48(%rbp), %rdi
movl $0x1, %esi
callq 0xe9d70
movq %rax, -0x350(%rbp)
jmp 0x6141d
movq -0x350(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x368(%rbp)
leaq -0x48(%rbp), %rdi
movl $0x2, %esi
callq 0xe9d70
movq %rax, -0x360(%rbp)
jmp 0x61447
movq -0x360(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x378(%rbp)
leaq -0xe8(%rbp), %rdi
xorl %esi, %esi
callq 0xe9d70
movq %rax, -0x370(%rbp)
jmp 0x61471
movq -0x370(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x388(%rbp)
leaq -0xe8(%rbp), %rdi
movl $0x1, %esi
callq 0xe9d70
movq %rax, -0x380(%rbp)
jmp 0x6149e
movq -0x380(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x398(%rbp)
leaq -0xe8(%rbp), %rdi
movl $0x2, %esi
callq 0xe9d70
movq %rax, -0x390(%rbp)
jmp 0x614cb
movsd -0x398(%rbp), %xmm4
movsd -0x388(%rbp), %xmm3
movsd -0x378(%rbp), %xmm2
movsd -0x368(%rbp), %xmm1
movsd -0x358(%rbp), %xmm0
movq -0x390(%rbp), %rax
movsd (%rax), %xmm5
leaq -0x160(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
leaq -0xc8(%rbp), %rdx
leaq -0xd0(%rbp), %rcx
callq 0xd75d0
jmp 0x61521
leaq -0x160(%rbp), %rdi
callq 0x122d0
movsd -0xc0(%rbp), %xmm0
movsd -0xc8(%rbp), %xmm1
movsd -0xd0(%rbp), %xmm2
leaq -0x190(%rbp), %rdi
callq 0xe9c70
jmp 0x61553
movq -0x38(%rbp), %rax
movq %rax, -0x1a0(%rbp)
movups -0x48(%rbp), %xmm0
movaps %xmm0, -0x1b0(%rbp)
movq -0x1a0(%rbp), %rcx
movq %rsp, %rax
movq %rcx, 0x10(%rax)
movaps -0x1b0(%rbp), %xmm0
movups %xmm0, (%rax)
leaq -0x178(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0xe9cb0
jmp 0x61596
movq -0x18(%rbp), %rsi
movq -0x168(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movups -0x178(%rbp), %xmm0
movaps %xmm0, -0x1e0(%rbp)
movq -0x1d0(%rbp), %rcx
movq %rsp, %rax
movq %rcx, 0x10(%rax)
movaps -0x1e0(%rbp), %xmm0
movups %xmm0, (%rax)
leaq -0x1c8(%rbp), %rdi
callq 0x961d0
jmp 0x615dc
leaq -0x60(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x59bf0
jmp 0x615ee
movq -0xd8(%rbp), %rax
movq %rax, -0x200(%rbp)
movups -0xe8(%rbp), %xmm0
movaps %xmm0, -0x210(%rbp)
movq -0x200(%rbp), %rcx
movq %rsp, %rax
movq %rcx, 0x10(%rax)
movaps -0x210(%rbp), %xmm0
movups %xmm0, (%rax)
leaq -0x1f8(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0xe9ef0
jmp 0x61637
movq -0x2d0(%rbp), %rax
addq $0x30, %rax
movq %rax, -0x3a0(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x65620
movq -0x3a0(%rbp), %rdi
movq %rax, %rsi
callq 0xd1b0
jmp 0x61663
movq -0x2d0(%rbp), %rax
addq $0x48, %rax
movq %rax, -0x3b0(%rbp)
leaq -0x1f8(%rbp), %rdi
xorl %esi, %esi
callq 0xe9d70
movq %rax, -0x3a8(%rbp)
jmp 0x6168c
movq -0x3a8(%rbp), %rax
movsd (%rax), %xmm0
movsd 0x1909d9(%rip), %xmm1   # 0x1f2078
addsd %xmm1, %xmm0
callq 0x5870
cvttsd2si %xmm0, %eax
movl %eax, -0x3bc(%rbp)
leaq -0x1f8(%rbp), %rdi
movl $0x1, %esi
callq 0xe9d70
movq %rax, -0x3b8(%rbp)
jmp 0x616cc
movq -0x3b8(%rbp), %rax
movsd (%rax), %xmm0
movsd 0x190999(%rip), %xmm1   # 0x1f2078
addsd %xmm1, %xmm0
callq 0x5870
cvttsd2si %xmm0, %eax
movl %eax, -0x3cc(%rbp)
leaq -0x1f8(%rbp), %rdi
movl $0x2, %esi
callq 0xe9d70
movq %rax, -0x3c8(%rbp)
jmp 0x6170c
movq -0x3c8(%rbp), %rax
movsd (%rax), %xmm0
movsd 0x190959(%rip), %xmm1   # 0x1f2078
addsd %xmm1, %xmm0
callq 0x5870
movl -0x3bc(%rbp), %esi
movl -0x3cc(%rbp), %edx
cvttsd2si %xmm0, %ecx
leaq -0x21c(%rbp), %rdi
callq 0x94010
jmp 0x61746
movq -0x3b0(%rbp), %rdi
leaq -0x21c(%rbp), %rsi
callq 0x65840
jmp 0x6175b
movq -0x2d0(%rbp), %rax
movq %rax, -0x3d8(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x65620
movq %rax, %rsi
leaq -0x224(%rbp), %rdi
leaq -0x24(%rbp), %rdx
callq 0x65870
jmp 0x61787
movq -0x3d8(%rbp), %rdi
leaq -0x224(%rbp), %rsi
callq 0xf550
movb %dl, -0x3e1(%rbp)
movq %rax, -0x3e0(%rbp)
jmp 0x617a9
movb -0x3e1(%rbp), %al
movq -0x3e0(%rbp), %rcx
movq %rcx, -0x238(%rbp)
movb %al, -0x230(%rbp)
leaq -0x30(%rbp), %rdi
xorl %esi, %esi
callq 0x65660
movq %rax, -0x240(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x612b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x61c65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x160(%rbp), %rdi
callq 0x122d0
jmp 0x61c65
movq -0x2d0(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x70(%rax)
xorps %xmm0, %xmm0
movsd %xmm0, 0x68(%rax)
xorps %xmm0, %xmm0
movsd %xmm0, 0x60(%rax)
movl $0x0, -0x244(%rbp)
movl -0x244(%rbp), %eax
movq %rax, -0x3f0(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x17c60
movq %rax, %rcx
movq -0x3f0(%rbp), %rax
cmpq %rcx, %rax
jae 0x6194b
movl -0x244(%rbp), %eax
movl %eax, %esi
leaq -0x60(%rbp), %rdi
callq 0x5c150
movq %rax, %rdi
xorl %esi, %esi
callq 0xe9d70
movq %rax, -0x3f8(%rbp)
jmp 0x6188d
movq -0x2d0(%rbp), %rax
movq -0x3f8(%rbp), %rcx
movsd (%rcx), %xmm1
movsd 0x60(%rax), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x60(%rax)
movl -0x244(%rbp), %eax
movl %eax, %esi
leaq -0x60(%rbp), %rdi
callq 0x5c150
movq %rax, %rdi
movl $0x1, %esi
callq 0xe9d70
movq %rax, -0x400(%rbp)
jmp 0x618d4
movq -0x2d0(%rbp), %rax
movq -0x400(%rbp), %rcx
movsd (%rcx), %xmm1
movsd 0x68(%rax), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x68(%rax)
movl -0x244(%rbp), %eax
movl %eax, %esi
leaq -0x60(%rbp), %rdi
callq 0x5c150
movq %rax, %rdi
movl $0x2, %esi
callq 0xe9d70
movq %rax, -0x408(%rbp)
jmp 0x6191b
movq -0x2d0(%rbp), %rax
movq -0x408(%rbp), %rcx
movsd (%rcx), %xmm0
addsd 0x70(%rax), %xmm0
movsd %xmm0, 0x70(%rax)
movl -0x244(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x244(%rbp)
jmp 0x61840
leaq -0x60(%rbp), %rdi
movq %rdi, -0x438(%rbp)
callq 0x17c60
movq -0x438(%rbp), %rdi
movq %rax, %rcx
movq -0x2d0(%rbp), %rax
movq %rcx, %xmm1
movaps 0x1949e8(%rip), %xmm0   # 0x1f6360
movaps %xmm0, -0x430(%rbp)
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movapd 0x1949e5(%rip), %xmm0   # 0x1f6370
movaps %xmm0, -0x420(%rbp)
subpd %xmm0, %xmm1
movaps %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movsd 0x60(%rax), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0x60(%rax)
callq 0x17c60
movq -0x438(%rbp), %rdi
movaps -0x430(%rbp), %xmm2
movaps -0x420(%rbp), %xmm0
movq %rax, %rcx
movq -0x2d0(%rbp), %rax
movq %rcx, %xmm1
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
subpd %xmm0, %xmm1
movaps %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movsd 0x68(%rax), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0x68(%rax)
callq 0x17c60
movaps -0x430(%rbp), %xmm2
movaps -0x420(%rbp), %xmm0
movq -0x2d8(%rbp), %rdi
movq %rax, %rcx
movq -0x2d0(%rbp), %rax
movq %rcx, %xmm1
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
subpd %xmm0, %xmm1
movaps %xmm1, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm0, %xmm1
movsd 0x70(%rax), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, 0x70(%rax)
callq 0x655f0
movq %rax, %rcx
movq -0x2d0(%rbp), %rax
movq %rcx, -0x250(%rbp)
movq -0x250(%rbp), %rcx
movq %rcx, -0x30(%rbp)
movsd 0x1948dc(%rip), %xmm0   # 0x1f6348
movsd %xmm0, 0x78(%rax)
movl $0x0, -0x254(%rbp)
movl -0x254(%rbp), %eax
movq %rax, -0x440(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x17c60
movq %rax, %rcx
movq -0x440(%rbp), %rax
cmpq %rcx, %rax
jae 0x61c53
movq -0x2d0(%rbp), %rax
movq %rax, %rcx
addq $0x78, %rcx
movq %rcx, -0x468(%rbp)
movsd 0x60(%rax), %xmm0
movsd %xmm0, -0x460(%rbp)
movsd 0x68(%rax), %xmm0
movsd %xmm0, -0x458(%rbp)
movsd 0x70(%rax), %xmm0
movsd %xmm0, -0x450(%rbp)
movl -0x254(%rbp), %eax
movl %eax, %esi
leaq -0x60(%rbp), %rdi
callq 0x5c150
movq %rax, %rdi
xorl %esi, %esi
callq 0xe9d70
movq %rax, -0x448(%rbp)
jmp 0x61b04
movq -0x448(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x478(%rbp)
movl -0x254(%rbp), %eax
movl %eax, %esi
leaq -0x60(%rbp), %rdi
callq 0x5c150
movq %rax, %rdi
movl $0x1, %esi
callq 0xe9d70
movq %rax, -0x470(%rbp)
jmp 0x61b3e
movq -0x470(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x488(%rbp)
movl -0x254(%rbp), %eax
movl %eax, %esi
leaq -0x60(%rbp), %rdi
callq 0x5c150
movq %rax, %rdi
movl $0x2, %esi
callq 0xe9d70
movq %rax, -0x480(%rbp)
jmp 0x61b78
movsd -0x488(%rbp), %xmm4
movsd -0x478(%rbp), %xmm3
movsd -0x450(%rbp), %xmm2
movsd -0x458(%rbp), %xmm1
movsd -0x460(%rbp), %xmm0
movq -0x480(%rbp), %rax
movsd (%rax), %xmm5
callq 0xebaf0
movsd %xmm0, -0x490(%rbp)
jmp 0x61bba
movq -0x20(%rbp), %rax
addq $0x48, %rax
movq %rax, -0x4a0(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x65620
movq -0x4a0(%rbp), %rdi
movslq (%rax), %rsi
callq 0x24e20
movsd -0x490(%rbp), %xmm0
movq -0x468(%rbp), %rdi
movsd 0x18(%rax), %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, -0x260(%rbp)
leaq -0x260(%rbp), %rsi
callq 0x64f50
movq %rax, -0x498(%rbp)
jmp 0x61c16
movq -0x2d0(%rbp), %rax
movq -0x498(%rbp), %rcx
movsd (%rcx), %xmm0
movsd %xmm0, 0x78(%rax)
leaq -0x30(%rbp), %rdi
xorl %esi, %esi
callq 0x65660
movq %rax, -0x268(%rbp)
movl -0x254(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x254(%rbp)
jmp 0x61a7b
leaq -0x60(%rbp), %rdi
callq 0xefe0
addq $0x4c0, %rsp            # imm = 0x4C0
popq %rbp
retq
leaq -0x60(%rbp), %rdi
callq 0xefe0
movq -0x80(%rbp), %rdi
callq 0x58f0
nopw (%rax,%rax)