// File: /workspace/github_cpp_makefile_star2_O3/Luthaf[P]zeopp/networkanalysis.cc
// Function: TRAVERSAL_NETWORK::findMaxFreeSphere()
PATH TRAVERSAL_NETWORK::findMaxFreeSphere(){
  double maxR = -1;
  PATH bestPath;
  vector<bool> haveVisited = vector<bool> (dnet->nodes.size(), false);
  HEAP<PATH> heap (hasLowerMaxR);
  
  // Initialize the stack with all nodes connected to the source nodes
  for(unsigned int i = 0; i < sourceNodeIDs.size(); i++){
    DIJKSTRA_NODE sourceNode = dnet->nodes.at(sourceNodeIDs.at(i));
    vector<CONN> viableConns = connectToSink.at(sourceNode.id);
    for(unsigned int j = 0; j <  viableConns.size(); j++){
      CONN nextConn = viableConns.at(j);
      DIJKSTRA_NODE nextNode = dnet->nodes.at(nextConn.to);
      PATH newPath = PATH(nextNode, nextConn.max_radius, max(sourceNode.max_radius, nextNode.max_radius), nextConn.length);
      newPath.visitedIDs.push_back(sourceNode.id);
      heap.insert(newPath);
    }
  }

  while(heap.size() != 0){
    PATH best = heap.pop();
    best.visitedIDs.push_back(best.currentNode.id);
    
    //Done searching if max radius path leads to sink node
    if(best.toSink){
      maxR = best.max_radius;
      bestPath = best;
      break;
    }
    
    // Mark nodes that have been visited or abandon current path if node
    // already visited
    if(haveVisited.at(best.currentNode.id))
      continue;
    else
      haveVisited.at(best.currentNode.id) = true;
    
    // Add all nodes that are connected within the unit cell to the stack
    vector<CONN> regConns = regConnections.at(best.currentNode.id);
    for(unsigned int i = 0; i < regConns.size(); i++){
      CONN nextConn = regConns.at(i);
      if(!haveVisited.at(nextConn.to)){
	DIJKSTRA_NODE nextNode = dnet->nodes.at(nextConn.to);
	PATH nextPath = PATH(nextNode,min(best.max_radius,nextConn.max_radius), max(best.max_inc_radius, nextNode.max_radius), best.length + nextConn.length);
	nextPath.visitedIDs = best.visitedIDs;
	heap.insert(nextPath);
      }
    }

    // Add all nodes that are connected in the sink to the stack
    vector<CONN> sinkConns = connectToSink.at(best.currentNode.id);
    for(unsigned int i = 0; i < sinkConns.size(); i++){
      CONN nextConn = sinkConns.at(i);
      DIJKSTRA_NODE nextNode = dnet->nodes.at(nextConn.to);
      PATH nextPath = PATH(nextNode, min(best.max_radius, nextConn.max_radius), max(best.max_inc_radius, nextNode.max_radius), best.length + nextConn.length);
      nextPath.toSink = true;
      nextPath.visitedIDs = best.visitedIDs;
      heap.insert(nextPath);
    }
  }
  return bestPath;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x648, %rsp            # imm = 0x648
movq %rsi, %r14
movq %rdi, 0x78(%rsp)
callq 0x30f0c
movq 0x70(%r14), %rax
movq 0x8(%rax), %rsi
subq (%rax), %rsi
sarq $0x3, %rsi
movabsq $-0x71c71c71c71c71c7, %rax # imm = 0x8E38E38E38E38E39
imulq %rax, %rsi
leaq 0x140(%rsp), %rdx
movb $0x0, (%rdx)
leaq 0x208(%rsp), %rdi
leaq 0x230(%rsp), %rcx
callq 0x37f36
leaq -0x2353(%rip), %rax     # 0x315f1
movq %rax, 0x68(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x50(%rsp)
xorl %eax, %eax
movq %rax, 0x60(%rsp)
leaq 0x140(%rsp), %rbp
movapd %xmm0, (%rbp)
movq %rax, 0x10(%rbp)
leaq 0x230(%rsp), %rbx
movapd %xmm0, (%rbx)
movq %rax, 0x10(%rbx)
movq %rbp, %rdi
callq 0x38fce
movq %rbx, %rdi
callq 0x38fce
xorl %edx, %edx
movq (%r14), %rax
cmpq %rax, 0x8(%r14)
movq %r14, 0x8(%rsp)
je 0x33e26
leaq 0x250(%rsp), %r15
leaq 0xb0(%rsp), %r13
movl $0x80, %ecx
leaq (%rcx,%rbp), %rsi
movq %rsi, 0x20(%rsp)
leaq 0x580(%rsp), %rsi
addq %rsi, %rcx
movq %rcx, 0x80(%rsp)
movl $0x98, %ecx
addq %rcx, %rsi
movq %rsi, 0x18(%rsp)
addq %rbp, %rcx
movq %rcx, 0x30(%rsp)
movq 0x70(%r14), %rcx
movq %rdx, 0x88(%rsp)
movslq (%rax,%rdx,4), %rsi
movq (%rcx), %r14
movq 0x8(%rcx), %rdx
subq %r14, %rdx
sarq $0x3, %rdx
movabsq $-0x71c71c71c71c71c7, %rax # imm = 0x8E38E38E38E38E39
imulq %rax, %rdx
cmpq %rsi, %rdx
jbe 0x3483a
leaq (%rsi,%rsi,8), %rbp
leaq (%r14,%rbp,8), %rsi
addq $0x20, %rsi
movupd -0x20(%rsi), %xmm0
movupd -0x10(%rsi), %xmm1
movapd %xmm1, 0x240(%rsp)
movapd %xmm0, 0x230(%rsp)
movq %r15, %rdi
callq 0x37e9e
leaq (%r14,%rbp,8), %rax
movb 0x40(%rax), %cl
movb %cl, 0x20(%r15)
movq 0x38(%rax), %rax
movq %rax, 0x18(%r15)
movslq 0x230(%rsp), %rsi
movq 0x8(%rsp), %r14
movq 0x48(%r14), %rax
movq 0x50(%r14), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rdx
cmpq %rsi, %rdx
jbe 0x3482c
leaq (%rsi,%rsi,2), %rcx
leaq (%rax,%rcx,8), %rsi
leaq 0x38(%rsp), %rdi
callq 0x37e9e
leaq 0x140(%rsp), %rbp
movq 0x38(%rsp), %rdi
cmpq %rdi, 0x40(%rsp)
je 0x33dce
movl $0x1, %r14d
xorl %eax, %eax
leaq (%rax,%rax,4), %rax
movslq 0x4(%rdi,%rax,8), %rsi
movq 0x8(%rsp), %rcx
movq 0x70(%rcx), %rcx
movq (%rcx), %rbp
movq 0x8(%rcx), %rdx
subq %rbp, %rdx
sarq $0x3, %rdx
movabsq $-0x71c71c71c71c71c7, %rcx # imm = 0x8E38E38E38E38E39
imulq %rcx, %rdx
cmpq %rsi, %rdx
jbe 0x347ff
movsd 0x8(%rdi,%rax,8), %xmm0
movsd %xmm0, 0x28(%rsp)
movsd 0x10(%rdi,%rax,8), %xmm0
movsd %xmm0, 0x10(%rsp)
leaq (%rsi,%rsi,8), %r15
leaq 0x20(%rbp,%r15,8), %rsi
movupd -0x20(%rsi), %xmm0
movupd -0x10(%rsi), %xmm1
movapd %xmm1, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq %r13, %rdi
callq 0x37e9e
leaq (,%r15,8), %rax
addq %rbp, %rax
movb 0x40(%rax), %cl
movb %cl, 0x20(%r13)
movq 0x38(%rax), %rax
movq %rax, 0x18(%r13)
movapd 0x90(%rsp), %xmm0
movapd 0xa0(%rsp), %xmm1
movapd %xmm0, 0x3a0(%rsp)
movapd %xmm1, 0x3b0(%rsp)
leaq 0x3c0(%rsp), %r15
movq %r15, %rdi
movq %r13, %rsi
callq 0x37e9e
movb 0x20(%r13), %al
movb %al, 0x20(%r15)
movq 0x18(%r13), %rax
movq %rax, 0x18(%r15)
movsd 0xc8(%rsp), %xmm1
maxsd 0x268(%rsp), %xmm1
leaq 0x140(%rsp), %rbp
movq %rbp, %rdi
leaq 0x3a0(%rsp), %rsi
movsd 0x10(%rsp), %xmm0
movsd 0x28(%rsp), %xmm2
callq 0x3107e
movq 0x3c0(%rsp), %rdi
testq %rdi, %rdi
je 0x33bf2
movq 0x3d0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x1c8(%rsp), %rsi
cmpq 0x1d0(%rsp), %rsi
leaq 0x580(%rsp), %r15
je 0x33c23
movl 0x230(%rsp), %eax
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x1c8(%rsp)
jmp 0x33c35
movq 0x20(%rsp), %rdi
leaq 0x230(%rsp), %rdx
callq 0xf864
movq %r15, %rdi
movq %rbp, %rsi
callq 0x38b26
leaq 0x158(%rsp), %rbx
movupd (%rbx), %xmm0
movupd 0x10(%rbx), %xmm1
leaq 0x598(%rsp), %r12
movupd %xmm1, 0x10(%r12)
movupd %xmm0, (%r12)
leaq 0x5b8(%rsp), %rdi
leaq 0x178(%rsp), %rsi
callq 0x37e9e
movb 0x40(%rbx), %al
movb %al, 0x40(%r12)
movq 0x38(%rbx), %rax
movq %rax, 0x38(%r12)
movupd 0x48(%rbx), %xmm0
movupd 0x51(%rbx), %xmm1
movupd %xmm1, 0x51(%r12)
movupd %xmm0, 0x48(%r12)
movq 0x80(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0xe8f8
movq 0x18(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0x11100
leaq 0x50(%rsp), %rdi
movq %r15, %rsi
callq 0x39788
movq 0x50(%rsp), %rdi
movq 0x58(%rsp), %rsi
movq 0x68(%rsp), %rdx
callq 0x397b4
movq 0x18(%rsp), %rdi
callq 0xf206
movq 0x600(%rsp), %rdi
testq %rdi, %rdi
je 0x33d0d
movq 0x610(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x5b8(%rsp), %rdi
testq %rdi, %rdi
je 0x33d2a
movq 0x5c8(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq %r15, %rdi
callq 0xf10e
movq 0x30(%rsp), %rdi
callq 0xf206
movq 0x1c0(%rsp), %rdi
testq %rdi, %rdi
je 0x33d59
movq 0x1d0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x178(%rsp), %rdi
testq %rdi, %rdi
je 0x33d76
movq 0x188(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq %rbp, %rdi
callq 0xf10e
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x33d9b
movq 0xc0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movl %r14d, %eax
movq 0x38(%rsp), %rdi
movq 0x40(%rsp), %rcx
subq %rdi, %rcx
sarq $0x3, %rcx
movabsq $-0x3333333333333333, %rdx # imm = 0xCCCCCCCCCCCCCCCD
imulq %rdx, %rcx
incl %r14d
cmpq %rax, %rcx
ja 0x33ac2
movq 0x8(%rsp), %r14
testq %rdi, %rdi
je 0x33de0
movq 0x48(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x250(%rsp), %rdi
testq %rdi, %rdi
je 0x33dfd
movq 0x260(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x88(%rsp), %rdx
incl %edx
movq (%r14), %rax
movq 0x8(%r14), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
cmpq %rdx, %rcx
leaq 0x250(%rsp), %r15
ja 0x339e5
movl $0x80, %ebx
leaq (%rbx,%rbp), %rax
movq %rax, 0x10(%rsp)
leaq 0x158(%rsp), %r14
leaq 0x230(%rsp), %rax
leaq (%rax,%rbx), %rcx
movq %rcx, 0x20(%rsp)
leaq 0x4b8(%rsp), %rcx
leaq (%rcx,%rbx), %rdx
movq %rdx, 0x138(%rsp)
movl $0x98, %edx
leaq (%rcx,%rdx), %rcx
movq %rcx, 0xe8(%rsp)
addq %rdx, %rax
movq %rax, 0x80(%rsp)
leaq 0x3f0(%rsp), %rax
leaq (%rax,%rbx), %rcx
movq %rcx, 0x88(%rsp)
addq %rdx, %rax
movq %rax, 0x30(%rsp)
movq 0x78(%rsp), %rax
addq %rax, %rbx
leaq (%rax,%rdx), %rcx
movq %rcx, 0x110(%rsp)
addq %rbp, %rdx
movq %rdx, 0xe0(%rsp)
leaq 0x248(%rsp), %r15
leaq 0xb0(%rsp), %rbp
leaq 0x18(%rax), %rcx
movq %rcx, 0x130(%rsp)
leaq 0x38(%rax), %rcx
movq %rcx, 0x128(%rsp)
leaq 0x50(%rax), %rcx
movq %rcx, 0x120(%rsp)
addq $0x60, %rax
movq %rax, 0x118(%rsp)
movq %rbx, 0x108(%rsp)
movq 0x58(%rsp), %rax
subq 0x50(%rsp), %rax
shrq $0x3, %rax
imull $0xc28f5c29, %eax, %eax # imm = 0xC28F5C29
testl %eax, %eax
je 0x347c1
leaq 0x140(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x37fe8
movq 0x1c8(%rsp), %rsi
cmpq 0x1d0(%rsp), %rsi
je 0x33f57
movl 0x158(%rsp), %eax
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x1c8(%rsp)
jmp 0x33f64
movq 0x10(%rsp), %rdi
movq %r14, %rdx
callq 0xf864
movb 0x1b8(%rsp), %al
movb %al, 0x7(%rsp)
cmpb $0x1, %al
jne 0x34014
movq 0x78(%rsp), %rdi
leaq 0x140(%rsp), %rsi
callq 0x38c96
movupd (%r14), %xmm0
movupd 0x10(%r14), %xmm1
movq 0x130(%rsp), %rax
movupd %xmm1, 0x10(%rax)
movupd %xmm0, (%rax)
movq 0x128(%rsp), %rdi
leaq 0x178(%rsp), %rsi
callq 0x389b8
movb 0x40(%r14), %al
movq 0x120(%rsp), %rcx
movb %al, 0x8(%rcx)
movq 0x38(%r14), %rax
movq %rax, (%rcx)
movupd 0x48(%r14), %xmm0
movupd 0x51(%r14), %xmm1
movq 0x118(%rsp), %rax
movupd %xmm1, 0x9(%rax)
movupd %xmm0, (%rax)
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
callq 0x100d2
movq 0x110(%rsp), %rdi
movq 0xe0(%rsp), %rsi
callq 0x127ba
jmp 0x34762
movslq 0x158(%rsp), %rsi
leaq 0x208(%rsp), %rdi
callq 0xee36
testq %rdx, (%rax)
jne 0x34762
movslq 0x158(%rsp), %rsi
leaq 0x208(%rsp), %rdi
callq 0xee36
orq %rdx, (%rax)
movslq 0x158(%rsp), %rsi
movq 0x8(%rsp), %rcx
movq 0x18(%rcx), %rax
movq 0x20(%rcx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rdx
cmpq %rsi, %rdx
jbe 0x34848
leaq (%rsi,%rsi,2), %rcx
leaq (%rax,%rcx,8), %rsi
leaq 0x38(%rsp), %rdi
callq 0x37e9e
movq 0x38(%rsp), %rax
cmpq %rax, 0x40(%rsp)
je 0x343b9
movl $0x1, %ebx
xorl %ecx, %ecx
leaq (%rcx,%rcx,4), %rcx
movslq 0x4(%rax,%rcx,8), %r14
movsd 0x8(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x18(%rsp)
movsd 0x10(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x28(%rsp)
leaq 0x208(%rsp), %rdi
movq %r14, %rsi
callq 0xee36
testq %rdx, (%rax)
jne 0x3438d
movq 0x8(%rsp), %rax
movq 0x70(%rax), %rax
movq (%rax), %r12
movq 0x8(%rax), %rdx
subq %r12, %rdx
sarq $0x3, %rdx
movabsq $-0x71c71c71c71c71c7, %rax # imm = 0x8E38E38E38E38E39
imulq %rax, %rdx
cmpq %r14, %rdx
jbe 0x3481b
leaq (%r14,%r14,8), %r14
leaq (%r12,%r14,8), %rsi
addq $0x20, %rsi
movupd -0x20(%rsi), %xmm0
movupd -0x10(%rsi), %xmm1
movapd %xmm1, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
leaq 0xb0(%rsp), %r13
movq %r13, %rdi
callq 0x37e9e
leaq (%r12,%r14,8), %rax
movb 0x40(%rax), %cl
movb %cl, 0x20(%r13)
movq 0x38(%rax), %rax
movq %rax, 0x18(%r13)
movapd 0x90(%rsp), %xmm0
movapd 0xa0(%rsp), %xmm1
movapd %xmm0, 0x350(%rsp)
movapd %xmm1, 0x360(%rsp)
leaq 0x370(%rsp), %r14
movq %r14, %rdi
movq %r13, %rsi
callq 0x37e9e
movb 0x20(%r13), %al
movb %al, 0x20(%r14)
movq 0x18(%r13), %rax
movq %rax, 0x18(%r14)
movsd 0x28(%rsp), %xmm0
minsd 0x1a0(%rsp), %xmm0
movsd 0xc8(%rsp), %xmm1
maxsd 0x1a8(%rsp), %xmm1
movsd 0x18(%rsp), %xmm2
addsd 0x1b0(%rsp), %xmm2
leaq 0x230(%rsp), %r14
movq %r14, %rdi
leaq 0x350(%rsp), %rsi
callq 0x3107e
movq 0x20(%rsp), %r12
movq 0x370(%rsp), %rdi
testq %rdi, %rdi
je 0x3420a
movq 0x380(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq %rbp, %r13
movq %r12, %rdi
movq 0x10(%rsp), %rsi
callq 0x100d2
leaq 0x4b8(%rsp), %rdi
movq %r14, %rsi
callq 0x38b26
movupd (%r15), %xmm0
movupd 0x10(%r15), %xmm1
leaq 0x4d0(%rsp), %rbp
movupd %xmm1, 0x10(%rbp)
movupd %xmm0, (%rbp)
leaq 0x4f0(%rsp), %rdi
leaq 0x268(%rsp), %rsi
callq 0x37e9e
movb 0x40(%r15), %al
movb %al, 0x40(%rbp)
movq 0x38(%r15), %rax
movq %rax, 0x38(%rbp)
movupd 0x48(%r15), %xmm0
movupd 0x51(%r15), %xmm1
movupd %xmm1, 0x51(%rbp)
movupd %xmm0, 0x48(%rbp)
movq 0x138(%rsp), %rdi
movq %r12, %rsi
callq 0xe8f8
movq 0xe8(%rsp), %rdi
movq 0x80(%rsp), %r12
movq %r12, %rsi
callq 0x11100
movq %r13, %rbp
leaq 0x50(%rsp), %rdi
leaq 0x4b8(%rsp), %rsi
callq 0x39788
movq 0x50(%rsp), %rdi
movq 0x58(%rsp), %rsi
movq 0x68(%rsp), %rdx
callq 0x397b4
movq 0xe8(%rsp), %rdi
callq 0xf206
movq 0x538(%rsp), %rdi
testq %rdi, %rdi
je 0x342fc
movq 0x548(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x4f0(%rsp), %rdi
testq %rdi, %rdi
je 0x34319
movq 0x500(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
leaq 0x4b8(%rsp), %rdi
callq 0xf10e
movq %r12, %rdi
callq 0xf206
movq 0x2b0(%rsp), %rdi
testq %rdi, %rdi
je 0x3434b
movq 0x2c0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x268(%rsp), %rdi
testq %rdi, %rdi
je 0x34368
movq 0x278(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq %r14, %rdi
callq 0xf10e
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x3438d
movq 0xc0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movl %ebx, %ecx
movq 0x38(%rsp), %rax
movq 0x40(%rsp), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rsi # imm = 0xCCCCCCCCCCCCCCCD
imulq %rsi, %rdx
incl %ebx
cmpq %rcx, %rdx
ja 0x340a6
movslq 0x158(%rsp), %rsi
movq 0x8(%rsp), %rcx
movq 0x48(%rcx), %rax
movq 0x50(%rcx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rdx
cmpq %rsi, %rdx
jbe 0x34856
leaq (%rsi,%rsi,2), %rcx
leaq (%rax,%rcx,8), %rsi
leaq 0xf0(%rsp), %rdi
callq 0x37e9e
leaq 0x158(%rsp), %r14
movq 0xf0(%rsp), %rdi
cmpq %rdi, 0xf8(%rsp)
je 0x3472e
movl $0x1, %ebx
xorl %eax, %eax
leaq (%rax,%rax,4), %rax
movslq 0x4(%rdi,%rax,8), %rsi
movq 0x8(%rsp), %rcx
movq 0x70(%rcx), %rcx
movq (%rcx), %r14
movq 0x8(%rcx), %rdx
subq %r14, %rdx
sarq $0x3, %rdx
movabsq $-0x71c71c71c71c71c7, %rcx # imm = 0x8E38E38E38E38E39
imulq %rcx, %rdx
cmpq %rsi, %rdx
jbe 0x3480d
movsd 0x8(%rdi,%rax,8), %xmm0
movsd %xmm0, 0x18(%rsp)
movsd 0x10(%rdi,%rax,8), %xmm0
movsd %xmm0, 0x28(%rsp)
leaq (%rsi,%rsi,8), %r12
leaq 0x20(%r14,%r12,8), %rsi
movupd -0x20(%rsi), %xmm0
movupd -0x10(%rsi), %xmm1
movapd %xmm1, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq %rbp, %rdi
callq 0x37e9e
leaq (%r14,%r12,8), %rax
movb 0x40(%rax), %cl
leaq 0xb0(%rsp), %r14
movb %cl, 0x20(%r14)
movq 0x38(%rax), %rax
movq %rax, 0x18(%r14)
movapd 0x90(%rsp), %xmm0
movapd 0xa0(%rsp), %xmm1
movapd %xmm0, 0x300(%rsp)
movapd %xmm1, 0x310(%rsp)
leaq 0x320(%rsp), %r12
movq %r12, %rdi
movq %rbp, %rsi
callq 0x37e9e
movb 0x20(%r14), %al
movb %al, 0x20(%r12)
movq 0x18(%r14), %rax
movq %rax, 0x18(%r12)
movsd 0x28(%rsp), %xmm0
minsd 0x1a0(%rsp), %xmm0
movsd 0xc8(%rsp), %xmm1
maxsd 0x1a8(%rsp), %xmm1
movsd 0x18(%rsp), %xmm2
addsd 0x1b0(%rsp), %xmm2
leaq 0x230(%rsp), %r14
movq %r14, %rdi
leaq 0x300(%rsp), %rsi
callq 0x3107e
movq 0x20(%rsp), %r12
movq 0x320(%rsp), %rdi
testq %rdi, %rdi
je 0x34570
movq 0x330(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movb $0x1, 0x2a8(%rsp)
movq %r12, %rdi
movq 0x10(%rsp), %rsi
callq 0x100d2
leaq 0x3f0(%rsp), %rdi
movq %r14, %rsi
callq 0x38b26
movupd (%r15), %xmm0
movupd 0x10(%r15), %xmm1
leaq 0x408(%rsp), %r13
movupd %xmm1, 0x10(%r13)
movupd %xmm0, (%r13)
leaq 0x428(%rsp), %rdi
leaq 0x268(%rsp), %rsi
callq 0x37e9e
movb 0x40(%r15), %al
movb %al, 0x40(%r13)
movq 0x38(%r15), %rax
movq %rax, 0x38(%r13)
movupd 0x48(%r15), %xmm0
movupd 0x51(%r15), %xmm1
movupd %xmm1, 0x51(%r13)
movupd %xmm0, 0x48(%r13)
movq 0x88(%rsp), %rdi
movq %r12, %rsi
callq 0xe8f8
movq 0x30(%rsp), %rdi
movq 0x80(%rsp), %r12
movq %r12, %rsi
callq 0x11100
leaq 0x50(%rsp), %rdi
leaq 0x3f0(%rsp), %rsi
callq 0x39788
movq 0x50(%rsp), %rdi
movq 0x58(%rsp), %rsi
movq 0x68(%rsp), %rdx
callq 0x397b4
movq 0x30(%rsp), %rdi
callq 0xf206
movq 0x470(%rsp), %rdi
testq %rdi, %rdi
je 0x34663
movq 0x480(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x428(%rsp), %rdi
testq %rdi, %rdi
je 0x34680
movq 0x438(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
leaq 0x3f0(%rsp), %rdi
callq 0xf10e
movq %r12, %rdi
callq 0xf206
movq 0x2b0(%rsp), %rdi
testq %rdi, %rdi
je 0x346b2
movq 0x2c0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x268(%rsp), %rdi
testq %rdi, %rdi
je 0x346cf
movq 0x278(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq %r14, %rdi
callq 0xf10e
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x346f4
movq 0xc0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movl %ebx, %eax
movq 0xf0(%rsp), %rdi
movq 0xf8(%rsp), %rcx
subq %rdi, %rcx
sarq $0x3, %rcx
movabsq $-0x3333333333333333, %rdx # imm = 0xCCCCCCCCCCCCCCCD
imulq %rdx, %rcx
incl %ebx
cmpq %rax, %rcx
ja 0x34426
leaq 0x158(%rsp), %r14
testq %rdi, %rdi
movq 0x108(%rsp), %rbx
je 0x3474b
movq 0x100(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x34762
movq 0x48(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0xe0(%rsp), %rdi
callq 0xf206
movq 0x1c0(%rsp), %rdi
testq %rdi, %rdi
je 0x3478c
movq 0x1d0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x178(%rsp), %rdi
testq %rdi, %rdi
je 0x347a9
movq 0x188(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
leaq 0x140(%rsp), %rdi
callq 0xf10e
cmpb $0x0, 0x7(%rsp)
je 0x33f00
leaq 0x50(%rsp), %rdi
callq 0x38fce
movq 0x208(%rsp), %rdi
testq %rdi, %rdi
je 0x347e8
movq 0x228(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x78(%rsp), %rax
addq $0x648, %rsp            # imm = 0x648
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x118eef(%rip), %rdi    # 0x14d6f5
xorl %eax, %eax
callq 0x4630
leaq 0x118ee1(%rip), %rdi    # 0x14d6f5
xorl %eax, %eax
callq 0x4630
leaq 0x118ed3(%rip), %rdi    # 0x14d6f5
movq %r14, %rsi
xorl %eax, %eax
callq 0x4630
leaq 0x118ec2(%rip), %rdi    # 0x14d6f5
xorl %eax, %eax
callq 0x4630
leaq 0x118eb4(%rip), %rdi    # 0x14d6f5
xorl %eax, %eax
callq 0x4630
leaq 0x118ea6(%rip), %rdi    # 0x14d6f5
xorl %eax, %eax
callq 0x4630
leaq 0x118e98(%rip), %rdi    # 0x14d6f5
xorl %eax, %eax
callq 0x4630
movq %rax, %rbx
jmp 0x34bb9
jmp 0x34a04
jmp 0x34a04
jmp 0x3492e
jmp 0x3492e
jmp 0x3492e
jmp 0x3492e
jmp 0x3488e
jmp 0x3488e
movq %rax, %rbx
jmp 0x34b92
jmp 0x34898
movq %rax, %rbx
jmp 0x34b75
jmp 0x34a04
jmp 0x34a04
movq %rax, %rbx
movq 0x370(%rsp), %rdi
testq %rdi, %rdi
je 0x34958
movq 0x380(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
jmp 0x34958
movq %rax, %rbx
jmp 0x348f8
movq %rax, %rbx
movq 0x538(%rsp), %rdi
testq %rdi, %rdi
je 0x348f8
movq 0x548(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x4f0(%rsp), %rdi
testq %rdi, %rdi
je 0x3491f
movq 0x500(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
jmp 0x3491f
movq %rax, %rbx
jmp 0x34958
movq %rax, %rbx
leaq 0x4b8(%rsp), %rdi
callq 0xf10e
jmp 0x3494b
movq %rax, %rbx
jmp 0x34a7c
movq %rax, %rbx
jmp 0x3494b
movq %rax, %rbx
leaq 0x4b8(%rsp), %rdi
callq 0x37f9e
leaq 0x230(%rsp), %rdi
callq 0x37f9e
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x34a65
movq 0xc0(%rsp), %rsi
jmp 0x34a5d
jmp 0x34978
movq %rax, %rbx
jmp 0x34a48
movq %rax, %rbx
jmp 0x349f5
movq %rax, %rbx
jmp 0x34a2b
movq %rax, %rbx
jmp 0x349d8
movq %rax, %rbx
movq 0x320(%rsp), %rdi
testq %rdi, %rdi
je 0x34a2b
movq 0x330(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
jmp 0x34a2b
movq %rax, %rbx
movq 0x470(%rsp), %rdi
testq %rdi, %rdi
je 0x349d8
movq 0x480(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x428(%rsp), %rdi
testq %rdi, %rdi
je 0x349f5
movq 0x438(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
leaq 0x3f0(%rsp), %rdi
callq 0xf10e
jmp 0x34a1e
movq %rax, %rbx
jmp 0x34a65
movq %rax, %rbx
leaq 0x3f0(%rsp), %rdi
callq 0x37f9e
jmp 0x34a1e
movq %rax, %rbx
leaq 0x230(%rsp), %rdi
callq 0x37f9e
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x34a48
movq 0xc0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x34a65
movq 0x100(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x34a7c
movq 0x48(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
leaq 0x140(%rsp), %rdi
callq 0x37f9e
jmp 0x34b92
jmp 0x34ac1
movq %rax, %rbx
movq 0x3c0(%rsp), %rdi
testq %rdi, %rdi
je 0x34b41
movq 0x3d0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
jmp 0x34b41
movq %rax, %rbx
jmp 0x34b41
movq %rax, %rbx
jmp 0x34b5e
movq %rax, %rbx
jmp 0x34b10
movq %rax, %rbx
movq 0x600(%rsp), %rdi
testq %rdi, %rdi
je 0x34af3
movq 0x610(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
jmp 0x34af3
movq %rax, %rbx
movq 0x5b8(%rsp), %rdi
testq %rdi, %rdi
je 0x34b10
movq 0x5c8(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
leaq 0x580(%rsp), %rdi
callq 0xf10e
jmp 0x34b34
movq %rax, %rbx
jmp 0x34b34
movq %rax, %rbx
leaq 0x580(%rsp), %rdi
callq 0x37f9e
leaq 0x140(%rsp), %rdi
callq 0x37f9e
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x34b5e
movq 0xc0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x34b75
movq 0x48(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x250(%rsp), %rdi
testq %rdi, %rdi
je 0x34b92
movq 0x260(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
leaq 0x50(%rsp), %rdi
callq 0x38fce
movq 0x208(%rsp), %rdi
testq %rdi, %rdi
je 0x34bb9
movq 0x228(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x78(%rsp), %rdi
callq 0x37f9e
movq %rbx, %rdi
callq 0x4780