// File: /workspace/github_cpp_makefile_star2_O1/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 $0x638, %rsp            # imm = 0x638
movq %rsi, %r14
movq %rdi, 0x50(%rsp)
callq 0x31174
movq 0x70(%r14), %rax
movq 0x8(%rax), %rsi
subq (%rax), %rsi
sarq $0x3, %rsi
movabsq $-0x71c71c71c71c71c7, %rax # imm = 0x8E38E38E38E38E39
imulq %rax, %rsi
leaq 0x158(%rsp), %rbp
movb $0x0, (%rbp)
leaq 0x88(%rsp), %rdi
leaq 0x220(%rsp), %rcx
movq %rbp, %rdx
callq 0x383b0
leaq -0x24a5(%rip), %rsi     # 0x318ed
leaq 0x60(%rsp), %rdi
callq 0x38418
movq (%r14), %rax
cmpq %rax, 0x8(%r14)
movq %r14, 0x8(%rsp)
je 0x34231
leaq 0x240(%rsp), %r15
leaq 0xd0(%rsp), %r13
movl $0x80, %ecx
leaq (%rcx,%rbp), %rdx
movq %rdx, 0x20(%rsp)
leaq 0x570(%rsp), %rdx
addq %rdx, %rcx
movq %rcx, 0x58(%rsp)
movl $0x98, %ecx
addq %rcx, %rdx
movq %rdx, 0x18(%rsp)
addq %rbp, %rcx
movq %rcx, 0x30(%rsp)
xorl %edx, %edx
movq 0x70(%r14), %rcx
movq %rdx, 0x80(%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 0x34c64
leaq (%rsi,%rsi,8), %rbp
leaq (%r14,%rbp,8), %rsi
addq $0x20, %rsi
movupd -0x20(%rsi), %xmm0
movupd -0x10(%rsi), %xmm1
movapd %xmm1, 0x230(%rsp)
movapd %xmm0, 0x220(%rsp)
movq %r15, %rdi
callq 0x38318
leaq (%r14,%rbp,8), %rax
movb 0x40(%rax), %cl
movb %cl, 0x20(%r15)
movq 0x38(%rax), %rax
movq %rax, 0x18(%r15)
movslq 0x220(%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 0x34c56
leaq (%rsi,%rsi,2), %rcx
leaq (%rax,%rcx,8), %rsi
leaq 0x38(%rsp), %rdi
callq 0x38318
leaq 0x158(%rsp), %rbp
movq 0x38(%rsp), %rdi
cmpq %rdi, 0x40(%rsp)
je 0x341d9
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 0x34c29
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, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movq %r13, %rdi
callq 0x38318
leaq (,%r15,8), %rax
addq %rbp, %rax
movb 0x40(%rax), %cl
movb %cl, 0x20(%r13)
movq 0x38(%rax), %rax
movq %rax, 0x18(%r13)
movapd 0xb0(%rsp), %xmm0
movapd 0xc0(%rsp), %xmm1
movapd %xmm0, 0x390(%rsp)
movapd %xmm1, 0x3a0(%rsp)
leaq 0x3b0(%rsp), %r15
movq %r15, %rdi
movq %r13, %rsi
callq 0x38318
movb 0x20(%r13), %al
movb %al, 0x20(%r15)
movq 0x18(%r13), %rax
movq %rax, 0x18(%r15)
movsd 0xe8(%rsp), %xmm1
maxsd 0x258(%rsp), %xmm1
leaq 0x158(%rsp), %rbp
movq %rbp, %rdi
leaq 0x390(%rsp), %rsi
movsd 0x10(%rsp), %xmm0
movsd 0x28(%rsp), %xmm2
callq 0x3131e
movq 0x3b0(%rsp), %rdi
testq %rdi, %rdi
je 0x34000
movq 0x3c0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x1e0(%rsp), %rsi
cmpq 0x1e8(%rsp), %rsi
leaq 0x570(%rsp), %r15
je 0x34031
movl 0x220(%rsp), %eax
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x1e0(%rsp)
jmp 0x34043
movq 0x20(%rsp), %rdi
leaq 0x220(%rsp), %rdx
callq 0xf7b4
movq %r15, %rdi
movq %rbp, %rsi
callq 0x38ec6
leaq 0x170(%rsp), %rbx
movupd (%rbx), %xmm0
movupd 0x10(%rbx), %xmm1
leaq 0x588(%rsp), %r12
movupd %xmm1, 0x10(%r12)
movupd %xmm0, (%r12)
leaq 0x5a8(%rsp), %rdi
leaq 0x190(%rsp), %rsi
callq 0x38318
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 0x58(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0xe886
movq 0x18(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0x11076
leaq 0x60(%rsp), %rdi
movq %r15, %rsi
callq 0x39b82
movq 0x60(%rsp), %rdi
movq 0x68(%rsp), %rsi
movq 0x78(%rsp), %rdx
callq 0x39bae
movq 0x18(%rsp), %rdi
callq 0xf168
movq 0x5f0(%rsp), %rdi
testq %rdi, %rdi
je 0x34118
movq 0x600(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x5a8(%rsp), %rdi
testq %rdi, %rdi
je 0x34135
movq 0x5b8(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq %r15, %rdi
callq 0xf07c
movq 0x30(%rsp), %rdi
callq 0xf168
movq 0x1d8(%rsp), %rdi
testq %rdi, %rdi
je 0x34164
movq 0x1e8(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x190(%rsp), %rdi
testq %rdi, %rdi
je 0x34181
movq 0x1a0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq %rbp, %rdi
callq 0xf07c
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x341a6
movq 0xe0(%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 0x33ed0
movq 0x8(%rsp), %r14
testq %rdi, %rdi
je 0x341eb
movq 0x48(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x240(%rsp), %rdi
testq %rdi, %rdi
je 0x34208
movq 0x250(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x80(%rsp), %rdx
incl %edx
movq (%r14), %rax
movq 0x8(%r14), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
cmpq %rdx, %rcx
leaq 0x240(%rsp), %r15
ja 0x33df3
movl $0x80, %ebx
leaq (%rbx,%rbp), %rax
movq %rax, 0x10(%rsp)
leaq 0x170(%rsp), %r14
leaq 0x220(%rsp), %rax
leaq (%rax,%rbx), %rcx
movq %rcx, 0x20(%rsp)
leaq 0x4a8(%rsp), %rcx
leaq (%rcx,%rbx), %rdx
movq %rdx, 0x150(%rsp)
movl $0x98, %edx
leaq (%rcx,%rdx), %rcx
movq %rcx, 0x100(%rsp)
addq %rdx, %rax
movq %rax, 0x58(%rsp)
leaq 0x3e0(%rsp), %rax
leaq (%rax,%rbx), %rcx
movq %rcx, 0x80(%rsp)
addq %rdx, %rax
movq %rax, 0x30(%rsp)
movq 0x50(%rsp), %rax
addq %rax, %rbx
leaq (%rax,%rdx), %rcx
movq %rcx, 0x128(%rsp)
addq %rbp, %rdx
movq %rdx, 0xf8(%rsp)
leaq 0x238(%rsp), %r15
leaq 0xd0(%rsp), %rbp
leaq 0x18(%rax), %rcx
movq %rcx, 0x148(%rsp)
leaq 0x38(%rax), %rcx
movq %rcx, 0x140(%rsp)
leaq 0x50(%rax), %rcx
movq %rcx, 0x138(%rsp)
addq $0x60, %rax
movq %rax, 0x130(%rsp)
movq %rbx, 0x120(%rsp)
movq 0x68(%rsp), %rax
subq 0x60(%rsp), %rax
shrq $0x3, %rax
imull $0xc28f5c29, %eax, %eax # imm = 0xC28F5C29
testl %eax, %eax
je 0x34bc3
leaq 0x158(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x384e6
movq 0x1e0(%rsp), %rsi
cmpq 0x1e8(%rsp), %rsi
je 0x3435f
movl 0x170(%rsp), %eax
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x1e0(%rsp)
jmp 0x3436c
movq 0x10(%rsp), %rdi
movq %r14, %rdx
callq 0xf7b4
movb 0x1d0(%rsp), %al
movb %al, 0x7(%rsp)
cmpb $0x1, %al
jne 0x3441c
movq 0x50(%rsp), %rdi
leaq 0x158(%rsp), %rsi
callq 0x39036
movupd (%r14), %xmm0
movupd 0x10(%r14), %xmm1
movq 0x148(%rsp), %rax
movupd %xmm1, 0x10(%rax)
movupd %xmm0, (%rax)
movq 0x140(%rsp), %rdi
leaq 0x190(%rsp), %rsi
callq 0x38d5a
movb 0x40(%r14), %al
movq 0x138(%rsp), %rcx
movb %al, 0x8(%rcx)
movq 0x38(%r14), %rax
movq %rax, (%rcx)
movupd 0x48(%r14), %xmm0
movupd 0x51(%r14), %xmm1
movq 0x130(%rsp), %rax
movupd %xmm1, 0x9(%rax)
movupd %xmm0, (%rax)
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
callq 0x1005e
movq 0x128(%rsp), %rdi
movq 0xf8(%rsp), %rsi
callq 0x127ec
jmp 0x34b64
movslq 0x170(%rsp), %rsi
leaq 0x88(%rsp), %rdi
callq 0xedb6
testq %rdx, (%rax)
jne 0x34b64
movslq 0x170(%rsp), %rsi
leaq 0x88(%rsp), %rdi
callq 0xedb6
orq %rdx, (%rax)
movslq 0x170(%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 0x34c72
leaq (%rsi,%rsi,2), %rcx
leaq (%rax,%rcx,8), %rsi
leaq 0x38(%rsp), %rdi
callq 0x38318
movq 0x38(%rsp), %rax
cmpq %rax, 0x40(%rsp)
je 0x347be
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 0x88(%rsp), %rdi
movq %r14, %rsi
callq 0xedb6
testq %rdx, (%rax)
jne 0x34792
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 0x34c45
leaq (%r14,%r14,8), %r14
leaq (%r12,%r14,8), %rsi
addq $0x20, %rsi
movupd -0x20(%rsi), %xmm0
movupd -0x10(%rsi), %xmm1
movapd %xmm1, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
leaq 0xd0(%rsp), %r13
movq %r13, %rdi
callq 0x38318
leaq (%r12,%r14,8), %rax
movb 0x40(%rax), %cl
movb %cl, 0x20(%r13)
movq 0x38(%rax), %rax
movq %rax, 0x18(%r13)
movapd 0xb0(%rsp), %xmm0
movapd 0xc0(%rsp), %xmm1
movapd %xmm0, 0x340(%rsp)
movapd %xmm1, 0x350(%rsp)
leaq 0x360(%rsp), %r14
movq %r14, %rdi
movq %r13, %rsi
callq 0x38318
movb 0x20(%r13), %al
movb %al, 0x20(%r14)
movq 0x18(%r13), %rax
movq %rax, 0x18(%r14)
movsd 0x28(%rsp), %xmm0
minsd 0x1b8(%rsp), %xmm0
movsd 0xe8(%rsp), %xmm1
maxsd 0x1c0(%rsp), %xmm1
movsd 0x18(%rsp), %xmm2
addsd 0x1c8(%rsp), %xmm2
leaq 0x220(%rsp), %r14
movq %r14, %rdi
leaq 0x340(%rsp), %rsi
callq 0x3131e
movq 0x20(%rsp), %r12
movq 0x360(%rsp), %rdi
testq %rdi, %rdi
je 0x34612
movq 0x370(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq %rbp, %r13
movq %r12, %rdi
movq 0x10(%rsp), %rsi
callq 0x1005e
leaq 0x4a8(%rsp), %rdi
movq %r14, %rsi
callq 0x38ec6
movupd (%r15), %xmm0
movupd 0x10(%r15), %xmm1
leaq 0x4c0(%rsp), %rbp
movupd %xmm1, 0x10(%rbp)
movupd %xmm0, (%rbp)
leaq 0x4e0(%rsp), %rdi
leaq 0x258(%rsp), %rsi
callq 0x38318
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 0x150(%rsp), %rdi
movq %r12, %rsi
callq 0xe886
movq 0x100(%rsp), %rdi
movq 0x58(%rsp), %r12
movq %r12, %rsi
callq 0x11076
movq %r13, %rbp
leaq 0x60(%rsp), %rdi
leaq 0x4a8(%rsp), %rsi
callq 0x39b82
movq 0x60(%rsp), %rdi
movq 0x68(%rsp), %rsi
movq 0x78(%rsp), %rdx
callq 0x39bae
movq 0x100(%rsp), %rdi
callq 0xf168
movq 0x528(%rsp), %rdi
testq %rdi, %rdi
je 0x34701
movq 0x538(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x4e0(%rsp), %rdi
testq %rdi, %rdi
je 0x3471e
movq 0x4f0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
leaq 0x4a8(%rsp), %rdi
callq 0xf07c
movq %r12, %rdi
callq 0xf168
movq 0x2a0(%rsp), %rdi
testq %rdi, %rdi
je 0x34750
movq 0x2b0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x258(%rsp), %rdi
testq %rdi, %rdi
je 0x3476d
movq 0x268(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq %r14, %rdi
callq 0xf07c
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x34792
movq 0xe0(%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 0x344ae
movslq 0x170(%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 0x34c80
leaq (%rsi,%rsi,2), %rcx
leaq (%rax,%rcx,8), %rsi
leaq 0x108(%rsp), %rdi
callq 0x38318
leaq 0x170(%rsp), %r14
movq 0x108(%rsp), %rdi
cmpq %rdi, 0x110(%rsp)
je 0x34b30
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 0x34c37
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, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movq %rbp, %rdi
callq 0x38318
leaq (%r14,%r12,8), %rax
movb 0x40(%rax), %cl
leaq 0xd0(%rsp), %r14
movb %cl, 0x20(%r14)
movq 0x38(%rax), %rax
movq %rax, 0x18(%r14)
movapd 0xb0(%rsp), %xmm0
movapd 0xc0(%rsp), %xmm1
movapd %xmm0, 0x2f0(%rsp)
movapd %xmm1, 0x300(%rsp)
leaq 0x310(%rsp), %r12
movq %r12, %rdi
movq %rbp, %rsi
callq 0x38318
movb 0x20(%r14), %al
movb %al, 0x20(%r12)
movq 0x18(%r14), %rax
movq %rax, 0x18(%r12)
movsd 0x28(%rsp), %xmm0
minsd 0x1b8(%rsp), %xmm0
movsd 0xe8(%rsp), %xmm1
maxsd 0x1c0(%rsp), %xmm1
movsd 0x18(%rsp), %xmm2
addsd 0x1c8(%rsp), %xmm2
leaq 0x220(%rsp), %r14
movq %r14, %rdi
leaq 0x2f0(%rsp), %rsi
callq 0x3131e
movq 0x20(%rsp), %r12
movq 0x310(%rsp), %rdi
testq %rdi, %rdi
je 0x34975
movq 0x320(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movb $0x1, 0x298(%rsp)
movq %r12, %rdi
movq 0x10(%rsp), %rsi
callq 0x1005e
leaq 0x3e0(%rsp), %rdi
movq %r14, %rsi
callq 0x38ec6
movupd (%r15), %xmm0
movupd 0x10(%r15), %xmm1
leaq 0x3f8(%rsp), %r13
movupd %xmm1, 0x10(%r13)
movupd %xmm0, (%r13)
leaq 0x418(%rsp), %rdi
leaq 0x258(%rsp), %rsi
callq 0x38318
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 0x80(%rsp), %rdi
movq %r12, %rsi
callq 0xe886
movq 0x30(%rsp), %rdi
movq 0x58(%rsp), %r12
movq %r12, %rsi
callq 0x11076
leaq 0x60(%rsp), %rdi
leaq 0x3e0(%rsp), %rsi
callq 0x39b82
movq 0x60(%rsp), %rdi
movq 0x68(%rsp), %rsi
movq 0x78(%rsp), %rdx
callq 0x39bae
movq 0x30(%rsp), %rdi
callq 0xf168
movq 0x460(%rsp), %rdi
testq %rdi, %rdi
je 0x34a65
movq 0x470(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x418(%rsp), %rdi
testq %rdi, %rdi
je 0x34a82
movq 0x428(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
leaq 0x3e0(%rsp), %rdi
callq 0xf07c
movq %r12, %rdi
callq 0xf168
movq 0x2a0(%rsp), %rdi
testq %rdi, %rdi
je 0x34ab4
movq 0x2b0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x258(%rsp), %rdi
testq %rdi, %rdi
je 0x34ad1
movq 0x268(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq %r14, %rdi
callq 0xf07c
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x34af6
movq 0xe0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movl %ebx, %eax
movq 0x108(%rsp), %rdi
movq 0x110(%rsp), %rcx
subq %rdi, %rcx
sarq $0x3, %rcx
movabsq $-0x3333333333333333, %rdx # imm = 0xCCCCCCCCCCCCCCCD
imulq %rdx, %rcx
incl %ebx
cmpq %rax, %rcx
ja 0x3482b
leaq 0x170(%rsp), %r14
testq %rdi, %rdi
movq 0x120(%rsp), %rbx
je 0x34b4d
movq 0x118(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x34b64
movq 0x48(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0xf8(%rsp), %rdi
callq 0xf168
movq 0x1d8(%rsp), %rdi
testq %rdi, %rdi
je 0x34b8e
movq 0x1e8(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x190(%rsp), %rdi
testq %rdi, %rdi
je 0x34bab
movq 0x1a0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
leaq 0x158(%rsp), %rdi
callq 0xf07c
cmpb $0x0, 0x7(%rsp)
je 0x34308
leaq 0x60(%rsp), %rdi
callq 0x39340
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x34c12
movq 0xa8(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
xorl %eax, %eax
movq %rax, 0x88(%rsp)
movl %eax, 0x90(%rsp)
movq %rax, 0x98(%rsp)
movl %eax, 0xa0(%rsp)
movq %rax, 0xa8(%rsp)
movq 0x50(%rsp), %rax
addq $0x638, %rsp            # imm = 0x638
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x11aa75(%rip), %rdi    # 0x14f6a5
xorl %eax, %eax
callq 0x4630
leaq 0x11aa67(%rip), %rdi    # 0x14f6a5
xorl %eax, %eax
callq 0x4630
leaq 0x11aa59(%rip), %rdi    # 0x14f6a5
movq %r14, %rsi
xorl %eax, %eax
callq 0x4630
leaq 0x11aa48(%rip), %rdi    # 0x14f6a5
xorl %eax, %eax
callq 0x4630
leaq 0x11aa3a(%rip), %rdi    # 0x14f6a5
xorl %eax, %eax
callq 0x4630
leaq 0x11aa2c(%rip), %rdi    # 0x14f6a5
xorl %eax, %eax
callq 0x4630
leaq 0x11aa1e(%rip), %rdi    # 0x14f6a5
xorl %eax, %eax
callq 0x4630
movq %rax, %rbx
jmp 0x3500b
jmp 0x34e2e
jmp 0x34e2e
jmp 0x34d58
jmp 0x34d58
jmp 0x34d58
jmp 0x34d58
jmp 0x34cb8
jmp 0x34cb8
movq %rax, %rbx
jmp 0x34fbc
jmp 0x34cc2
movq %rax, %rbx
jmp 0x34f9f
jmp 0x34e2e
jmp 0x34e2e
movq %rax, %rbx
movq 0x360(%rsp), %rdi
testq %rdi, %rdi
je 0x34d82
movq 0x370(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
jmp 0x34d82
movq %rax, %rbx
jmp 0x34d22
movq %rax, %rbx
movq 0x528(%rsp), %rdi
testq %rdi, %rdi
je 0x34d22
movq 0x538(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x4e0(%rsp), %rdi
testq %rdi, %rdi
je 0x34d49
movq 0x4f0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
jmp 0x34d49
movq %rax, %rbx
jmp 0x34d82
movq %rax, %rbx
leaq 0x4a8(%rsp), %rdi
callq 0xf07c
jmp 0x34d75
movq %rax, %rbx
jmp 0x34ea6
movq %rax, %rbx
jmp 0x34d75
movq %rax, %rbx
leaq 0x4a8(%rsp), %rdi
callq 0x3849c
leaq 0x220(%rsp), %rdi
callq 0x3849c
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x34e8f
movq 0xe0(%rsp), %rsi
jmp 0x34e87
jmp 0x34da2
movq %rax, %rbx
jmp 0x34e72
movq %rax, %rbx
jmp 0x34e1f
movq %rax, %rbx
jmp 0x34e55
movq %rax, %rbx
jmp 0x34e02
movq %rax, %rbx
movq 0x310(%rsp), %rdi
testq %rdi, %rdi
je 0x34e55
movq 0x320(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
jmp 0x34e55
movq %rax, %rbx
movq 0x460(%rsp), %rdi
testq %rdi, %rdi
je 0x34e02
movq 0x470(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x418(%rsp), %rdi
testq %rdi, %rdi
je 0x34e1f
movq 0x428(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
leaq 0x3e0(%rsp), %rdi
callq 0xf07c
jmp 0x34e48
movq %rax, %rbx
jmp 0x34e8f
movq %rax, %rbx
leaq 0x3e0(%rsp), %rdi
callq 0x3849c
jmp 0x34e48
movq %rax, %rbx
leaq 0x220(%rsp), %rdi
callq 0x3849c
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x34e72
movq 0xe0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x108(%rsp), %rdi
testq %rdi, %rdi
je 0x34e8f
movq 0x118(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x34ea6
movq 0x48(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
leaq 0x158(%rsp), %rdi
callq 0x3849c
jmp 0x34fbc
jmp 0x34eeb
movq %rax, %rbx
movq 0x3b0(%rsp), %rdi
testq %rdi, %rdi
je 0x34f6b
movq 0x3c0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
jmp 0x34f6b
movq %rax, %rbx
jmp 0x34f6b
movq %rax, %rbx
jmp 0x34f88
movq %rax, %rbx
jmp 0x34f3a
movq %rax, %rbx
movq 0x5f0(%rsp), %rdi
testq %rdi, %rdi
je 0x34f1d
movq 0x600(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
jmp 0x34f1d
movq %rax, %rbx
movq 0x5a8(%rsp), %rdi
testq %rdi, %rdi
je 0x34f3a
movq 0x5b8(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
leaq 0x570(%rsp), %rdi
callq 0xf07c
jmp 0x34f5e
movq %rax, %rbx
jmp 0x34f5e
movq %rax, %rbx
leaq 0x570(%rsp), %rdi
callq 0x3849c
leaq 0x158(%rsp), %rdi
callq 0x3849c
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x34f88
movq 0xe0(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x34f9f
movq 0x48(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
movq 0x240(%rsp), %rdi
testq %rdi, %rdi
je 0x34fbc
movq 0x250(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
leaq 0x60(%rsp), %rdi
callq 0x39340
movq 0x88(%rsp), %rdi
testq %rdi, %rdi
je 0x3500b
movq 0xa8(%rsp), %rsi
subq %rdi, %rsi
callq 0x4470
xorl %eax, %eax
movq %rax, 0x88(%rsp)
movl %eax, 0x90(%rsp)
movq %rax, 0x98(%rsp)
movl %eax, 0xa0(%rsp)
movq %rax, 0xa8(%rsp)
movq 0x50(%rsp), %rdi
callq 0x3849c
movq %rbx, %rdi
callq 0x4780