// File: /workspace/github_c_makefile_star2_O1/jiqingxiaoxi[P]RPA/RPA.c
// Function: tracebacku
void tracebacku(int bp[],double stackEntropies[],double stackEnthalpies[],double stackint2Entropies[],double stackint2Enthalpies[],double dangleEntropies3[],double dangleEnthalpies3[],double dangleEntropies5[],double dangleEnthalpies5[],double hairpinLoopEntropies[],double interiorLoopEntropies[],double bulgeLoopEntropies[],double hairpinLoopEnthalpies[],double interiorLoopEnthalpies[],double bulgeLoopEnthalpies[],double tstackEntropies[],double tstackEnthalpies[],double tstack2Entropies[],double tstack2Enthalpies[],char *triloopEntropies1,char *triloopEnthalpies1,char *tetraloopEntropies1,char *tetraloopEnthalpies1,double *triloopEntropies2,double *triloopEnthalpies2,double *tetraloopEntropies2,double *tetraloopEnthalpies2,int numTriloops,int numTetraloops,double atpS[],double atpH[],double Initdouble[],int Initint[],double enthalpyDPT[],double entropyDPT[],double send5[],double hend5[],char numSeq1[],char numSeq2[])
{
	int i,j,store[50],total,now,ii,jj,k,d,done;
	double SH1[2],SH2[2],EntropyEnthalpy[2];

        total=newpush(store,Initint[0],0,1,0,0);
        now=0;
        while(now<total)
        {
                i=store[3*now]; // top->i;
                j=store[3*now+1]; // top->j;
                if(store[now*3+2]==1)
                {
                        while(equal(send5[i],send5[i-1])&&equal(hend5[i],hend5[i-1])) // if previous structure is the same as this one
                                --i;
                        if(i==0)
                                continue;
                        if(equal(send5[i],END5_1(i,2,atpS,atpH,Initdouble,Initint,enthalpyDPT,entropyDPT,send5,hend5,numSeq1))&&equal(hend5[i],END5_1(i,1,atpS,atpH,Initdouble,Initint,enthalpyDPT,entropyDPT,send5,hend5,numSeq1)))
                        {
                                for(k=0;k<=i-5;++k)
                                        if(equal(send5[i],atpS[numSeq1[k+1]*5+numSeq1[i]]+entropyDPT[k*Initint[2]+i-1])&&equal(hend5[i],atpH[numSeq1[k+1]*5+numSeq1[i]]+enthalpyDPT[k*Initint[2]+i-1]))
                                        {
                                                total=newpush(store,k+1,i,0,total,now+1);                    
                                                break;
                                        }
                                        else if(equal(send5[i],send5[k]+atpS[numSeq1[k+1]*5+numSeq1[i]]+entropyDPT[k*Initint[2]+i-1])&&equal(hend5[i],hend5[k]+atpH[numSeq1[k+1]*5+numSeq1[i]]+enthalpyDPT[k*Initint[2]+i-1]))
                                        {
                                                total=newpush(store,k+1,i,0,total,now+1);
                                                total=newpush(store,k,0,1,total,now+1);
                                                break;
                                        }
                        }
                        else if(equal(send5[i],END5_2(i,2,dangleEntropies5,dangleEnthalpies5,atpS,atpH,Initdouble,Initint,enthalpyDPT,entropyDPT,send5,hend5,numSeq1))&&equal(hend5[i],END5_2(i,1,dangleEntropies5,dangleEnthalpies5,atpS,atpH,Initdouble,Initint,enthalpyDPT,entropyDPT,send5,hend5,numSeq1)))
                        {
                                for (k=0;k<=i-6;++k)
                                        if(equal(send5[i],atpS[numSeq1[k+2]*5+numSeq1[i]]+Sd5(i,k+2,dangleEntropies5,numSeq1)+entropyDPT[(k+1)*Initint[2]+i-1])&&equal(hend5[i],atpH[numSeq1[k+2]*5+numSeq1[i]]+Hd5(i,k+2,dangleEnthalpies5,numSeq1)+enthalpyDPT[(k+1)*Initint[2]+i-1]))
                                        {
                                                total=newpush(store,k+2,i,0,total,now+1);
                                                break;
                                        }
                                        else if(equal(send5[i],send5[k]+atpS[numSeq1[k+2]*5+numSeq1[i]]+Sd5(i,k+2,dangleEntropies5,numSeq1)+entropyDPT[(k+1)*Initint[2]+i-1])&&equal(hend5[i],hend5[k]+atpH[numSeq1[k+2]*5+numSeq1[i]]+Hd5(i,k+2,dangleEnthalpies5,numSeq1)+enthalpyDPT[(k+1)*Initint[2]+i-1]))
                                        {
                                                total=newpush(store,k+2,i,0,total,now+1);
                                                total=newpush(store,k,0,1,total,now+1);
                                                break;
                                        }
                        }
                        else if(equal(send5[i],END5_3(i,2,dangleEntropies3,dangleEnthalpies3,atpS,atpH,Initdouble,Initint,enthalpyDPT,entropyDPT,send5,hend5,numSeq1))&&equal(hend5[i],END5_3(i,1,dangleEntropies3,dangleEnthalpies3,atpS,atpH,Initdouble,Initint,enthalpyDPT,entropyDPT,send5,hend5,numSeq1)))
                        {
                                for (k=0;k<=i-6;++k)
                                        if(equal(send5[i],atpS[numSeq1[k+1]*5+numSeq1[i-1]]+Sd3(i-1,k+1,dangleEntropies3,numSeq1)+entropyDPT[k*Initint[2]+i-2])&&equal(hend5[i],atpH[numSeq1[k+1]*5+numSeq1[i-1]]+Hd3(i-1,k+1,dangleEnthalpies3,numSeq1)+enthalpyDPT[k*Initint[2]+i-2]))
                                        {
                                                total=newpush(store,k+1,i-1,0,total,now+1);
                                                break;
                                        }
                                        else if(equal(send5[i],send5[k]+atpS[numSeq1[k+1]*5+numSeq1[i-1]]+Sd3(i-1,k+1,dangleEntropies3,numSeq1)+entropyDPT[k*Initint[2]+i-2])&&equal(hend5[i],hend5[k]+atpH[numSeq1[k+1]*5+numSeq1[i-1]]+Hd3(i-1,k+1,dangleEnthalpies3,numSeq1)+enthalpyDPT[k*Initint[2]+i-2]))
                                        {
                                                total=newpush(store,k+1,i-1,0,total,now+1);
                                                total=newpush(store,k,0,1,total,now+1);
                                                break;
                                        }
                        }
                        else if(equal(send5[i],END5_4(i,2,tstack2Entropies,tstack2Enthalpies,atpS,atpH,Initdouble,Initint,enthalpyDPT,entropyDPT,send5,hend5,numSeq1))&&equal(hend5[i],END5_4(i,1,tstack2Entropies,tstack2Enthalpies,atpS,atpH,Initdouble,Initint,enthalpyDPT,entropyDPT,send5,hend5,numSeq1)))
                        {
                                for (k=0;k<=i-7;++k)
                                        if(equal(send5[i],atpS[numSeq1[k+2]*5+numSeq1[i-1]]+Ststack(i-1,k+2,tstack2Entropies,numSeq1)+entropyDPT[(k+1)*Initint[2]+i-2])&&equal(hend5[i],atpH[numSeq1[k+2]*5+numSeq1[i-1]]+Htstack(i-1,k+2,tstack2Enthalpies,numSeq1)+enthalpyDPT[(k+1)*Initint[2]+i-2]))
                                        {
                                                total=newpush(store,k+2,i-1,0,total,now+1);
                                                break;
                                        }
                                        else if(equal(send5[i],send5[k]+atpS[numSeq1[k+2]*5+numSeq1[i-1]]+Ststack(i-1,k+2,tstack2Entropies,numSeq1)+entropyDPT[(k+1)*Initint[2]+i-2])&&equal(hend5[i],hend5[k]+atpH[numSeq1[k+2]*5+numSeq1[i-1]]+Htstack(i-1,k+2,tstack2Enthalpies,numSeq1)+enthalpyDPT[(k+1)*Initint[2]+i-2]))
                                        {
                                                total=newpush(store,k+2,i-1,0,total,now+1);
                                                total=newpush(store,k,0,1,total,now+1);
                                                break;
                                        }
                        }
                }
                else if(store[3*now+2]==0)
                {
                        bp[i-1]=j;
                        bp[j-1]=i;
                        SH1[0]=-1.0;
                        SH1[1]=1.0*INFINITY;
                        calc_hairpin(i,j,SH1,1,hairpinLoopEntropies,hairpinLoopEnthalpies,tstack2Entropies,tstack2Enthalpies,triloopEntropies1,triloopEnthalpies1,tetraloopEntropies1,tetraloopEnthalpies1,triloopEntropies2,triloopEnthalpies2,tetraloopEntropies2,tetraloopEnthalpies2,numTriloops,numTetraloops,atpS,atpH,Initdouble,Initint,enthalpyDPT,entropyDPT,numSeq1);

                        SH2[0]=-1.0;
                        SH2[1]=1.0*INFINITY;
                        CBI(i,j,SH2,2,stackEntropies,stackEnthalpies,stackint2Entropies,stackint2Enthalpies,interiorLoopEntropies,bulgeLoopEntropies,interiorLoopEnthalpies,bulgeLoopEnthalpies,tstackEntropies,tstackEnthalpies,atpS,atpH,Initdouble,Initint,enthalpyDPT,entropyDPT,numSeq1,numSeq2);

                        if (equal(entropyDPT[(i-1)*Initint[2]+j-1],Ss(i,j,2,stackEntropies,Initint,numSeq1,numSeq2)+entropyDPT[i*Initint[2]+j-2])&&equal(enthalpyDPT[(i-1)*Initint[2]+j-1],Hs(i,j,2,stackEnthalpies,Initint,numSeq1,numSeq2)+enthalpyDPT[i*Initint[2]+j-2]))
                                total=newpush(store,i+1,j-1,0,total,now+1);
                        else if(equal(entropyDPT[(i-1)*Initint[2]+j-1],SH1[0])&&equal(enthalpyDPT[(i-1)*Initint[2]+j-1],SH1[1]));
                        else if(equal(entropyDPT[(i-1)*Initint[2]+j-1],SH2[0])&&equal(enthalpyDPT[(i-1)*Initint[2]+j-1],SH2[1]))
                        {
                                for (done=0,d=j-i-3;d>=4&&d>=j-i-32&&!done;--d)
                                        for (ii=i+1;ii<j-d;++ii)
                                        {
                                                jj=d+ii;
                                                EntropyEnthalpy[0]=-1.0;
                                                EntropyEnthalpy[1]=1.0*INFINITY;
                                                calc_bulge_internal2(i,j,ii,jj,EntropyEnthalpy,1,stackEntropies,stackEnthalpies,stackint2Entropies,stackint2Enthalpies,interiorLoopEntropies,bulgeLoopEntropies,interiorLoopEnthalpies,bulgeLoopEnthalpies,tstackEntropies,tstackEnthalpies,atpS,atpH,Initdouble,Initint,enthalpyDPT,entropyDPT,numSeq1,numSeq2);

                                                if (equal(entropyDPT[(i-1)*Initint[2]+j-1],EntropyEnthalpy[0]+entropyDPT[(ii-1)*Initint[2]+jj-1])&&equal(enthalpyDPT[(i-1)*Initint[2]+j-1],EntropyEnthalpy[1]+enthalpyDPT[(ii-1)*Initint[2]+jj-1]))
                                                {
                                                        total=newpush(store,ii,jj,0,total,now+1);
                                                        ++done;
                                                        break;
                                                }
                                        }
                        }
                }
                now++;
        }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %r9, -0x88(%rbp)
movq %r8, -0xf8(%rbp)
movq %rcx, -0xf0(%rbp)
movq %rdx, -0x90(%rbp)
movq %rsi, -0xe8(%rbp)
movq %rdi, -0x230(%rbp)
movq 0x100(%rbp), %r14
movq 0xf8(%rbp), %r10
movq 0xe0(%rbp), %rax
movl (%rax), %ecx
leaq -0x208(%rbp), %rax
movl %ecx, -0x8(%rax)
movabsq $0x100000000, %rcx      # imm = 0x100000000
movq %rcx, -0x4(%rax)
movapd 0x89e5(%rip), %xmm6     # 0xe0b0
movsd 0x895d(%rip), %xmm7     # 0xe030
movapd 0x89d4(%rip), %xmm8     # 0xe0b0
movsd 0x898b(%rip), %xmm9     # 0xe070
movl $0x1, %ecx
movq %rcx, -0x30(%rbp)
xorl %r9d, %r9d
xorl %ecx, %ecx
movl -0x210(%rbp,%rcx,4), %edi
movslq %edi, %r13
movl (%rax), %eax
testl %eax, %eax
je 0x5a5e
cmpl $0x1, %eax
jne 0x6895
movq %r9, -0x38(%rbp)
leal -0x4(%rdi), %eax
leal -0x5(%rdi), %ecx
addl $-0x6, %edi
movl %edi, %edx
movl %ecx, %esi
movl %eax, %r11d
movq %r13, %r8
movq %r8, %rbx
movl %r11d, %r12d
movl %esi, %r15d
movq %rdx, -0x40(%rbp)
movsd (%r10,%r8,8), %xmm3
leaq -0x1(%r8), %r9
movapd %xmm3, %xmm4
andpd %xmm6, %xmm4
ucomisd %xmm7, %xmm4
ja 0x5775
movsd -0x8(%r10,%rbx,8), %xmm0
movapd %xmm0, %xmm1
andpd %xmm6, %xmm1
ucomisd %xmm7, %xmm1
ja 0x5775
movapd %xmm3, %xmm1
subsd %xmm0, %xmm1
andpd %xmm8, %xmm1
ucomisd %xmm1, %xmm9
ja 0x5786
movl %edi, %edx
movl %ecx, %esi
movl %eax, %r11d
movq %r13, %r8
testq %rbx, %rbx
je 0x5727
jmp 0x57d7
movsd (%r14,%rbx,8), %xmm0
movapd %xmm0, %xmm1
andpd %xmm6, %xmm1
ucomisd %xmm7, %xmm1
ja 0x5775
movsd -0x8(%r14,%rbx,8), %xmm1
movapd %xmm1, %xmm2
andpd %xmm6, %xmm2
ucomisd %xmm7, %xmm2
ja 0x5775
subsd %xmm1, %xmm0
andpd %xmm8, %xmm0
leal -0x1(%r12), %r11d
leal -0x1(%r15), %esi
movq -0x40(%rbp), %rdx
decl %edx
ucomisd %xmm0, %xmm9
movq %r9, %r8
ja 0x5727
jmp 0x5775
movq %r9, %r13
movapd %xmm3, -0x50(%rbp)
subq $0x8, %rsp
movl %ebx, %edi
movl $0x2, %esi
movq 0xc8(%rbp), %rdx
movq 0xd0(%rbp), %rcx
movq 0xd8(%rbp), %r8
movq 0xe0(%rbp), %r9
pushq 0x108(%rbp)
pushq %r14
pushq %r10
pushq 0xf0(%rbp)
pushq 0xe8(%rbp)
movapd %xmm4, -0x60(%rbp)
callq 0x4756
movapd 0x8882(%rip), %xmm3     # 0xe0b0
movsd 0x87fa(%rip), %xmm2     # 0xe030
addq $0x30, %rsp
movapd -0x60(%rbp), %xmm1
ucomisd %xmm2, %xmm1
ja 0x5872
movapd %xmm0, %xmm1
andpd %xmm3, %xmm1
ucomisd %xmm2, %xmm1
ja 0x5872
movapd -0x50(%rbp), %xmm1
subsd %xmm0, %xmm1
andpd %xmm3, %xmm1
movsd 0x8808(%rip), %xmm0     # 0xe070
ucomisd %xmm1, %xmm0
ja 0x6114
subq $0x8, %rsp
movl %ebx, %edi
movl $0x2, %esi
movq 0x18(%rbp), %rdx
movq 0x20(%rbp), %rcx
movq 0xc8(%rbp), %r8
movq 0xd0(%rbp), %r9
pushq 0x108(%rbp)
pushq %r14
pushq 0xf8(%rbp)
pushq 0xf0(%rbp)
pushq 0xe8(%rbp)
pushq 0xe0(%rbp)
pushq 0xd8(%rbp)
callq 0x496b
movapd 0x87ea(%rip), %xmm3     # 0xe0b0
movsd 0x8762(%rip), %xmm2     # 0xe030
addq $0x40, %rsp
movapd -0x60(%rbp), %xmm1
ucomisd %xmm2, %xmm1
ja 0x590a
movapd %xmm0, %xmm1
andpd %xmm3, %xmm1
ucomisd %xmm2, %xmm1
ja 0x590a
movapd -0x50(%rbp), %xmm1
subsd %xmm0, %xmm1
andpd %xmm3, %xmm1
movsd 0x8770(%rip), %xmm0     # 0xe070
ucomisd %xmm1, %xmm0
ja 0x6498
subq $0x8, %rsp
movl %ebx, %edi
movl $0x2, %esi
movq -0x88(%rbp), %rdx
movq 0x10(%rbp), %rcx
movq 0xc8(%rbp), %r8
movq 0xd0(%rbp), %r9
pushq 0x108(%rbp)
pushq %r14
pushq 0xf8(%rbp)
pushq 0xf0(%rbp)
pushq 0xe8(%rbp)
pushq 0xe0(%rbp)
pushq 0xd8(%rbp)
callq 0x4be5
movapd 0x874f(%rip), %xmm3     # 0xe0b0
movsd 0x86c7(%rip), %xmm2     # 0xe030
addq $0x40, %rsp
movapd -0x60(%rbp), %xmm1
ucomisd %xmm2, %xmm1
ja 0x59a5
movapd %xmm0, %xmm1
andpd %xmm3, %xmm1
ucomisd %xmm2, %xmm1
ja 0x59a5
movapd -0x50(%rbp), %xmm1
subsd %xmm0, %xmm1
andpd %xmm3, %xmm1
movsd 0x86d5(%rip), %xmm0     # 0xe070
ucomisd %xmm1, %xmm0
ja 0x6793
subq $0x8, %rsp
movl %ebx, %edi
movl $0x2, %esi
movq 0x68(%rbp), %rdx
movq 0x70(%rbp), %rcx
movq 0xc8(%rbp), %r8
movq 0xd0(%rbp), %r9
pushq 0x108(%rbp)
pushq %r14
pushq 0xf8(%rbp)
pushq 0xf0(%rbp)
pushq 0xe8(%rbp)
pushq 0xe0(%rbp)
pushq 0xd8(%rbp)
callq 0x4e51
movsd 0x8637(%rip), %xmm7     # 0xe030
addq $0x40, %rsp
movapd -0x60(%rbp), %xmm1
ucomisd %xmm7, %xmm1
ja 0x6870
movapd %xmm0, %xmm1
movapd 0x8697(%rip), %xmm8     # 0xe0b0
andpd %xmm8, %xmm1
ucomisd %xmm7, %xmm1
ja 0x685f
movapd -0x50(%rbp), %xmm1
subsd %xmm0, %xmm1
andpd %xmm8, %xmm1
movsd 0x8631(%rip), %xmm9     # 0xe070
ucomisd %xmm1, %xmm9
movq 0xf8(%rbp), %r10
ja 0x68b9
movapd 0x8657(%rip), %xmm6     # 0xe0b0
jmp 0x6891
movq %r9, -0x38(%rbp)
shlq $0x20, %rcx
movabsq $0x100000000, %rax      # imm = 0x100000000
addq %rax, %rcx
sarq $0x1e, %rcx
movl -0x210(%rbp,%rcx), %eax
movq %rax, -0x60(%rbp)
movslq %eax, %rbx
leaq -0x1(%r13), %rax
movq %rax, -0x50(%rbp)
movq -0x230(%rbp), %rax
movl %ebx, -0x4(%rax,%r13,4)
movl %edi, -0x4(%rax,%rbx,4)
movabsq $-0x4010000000000000, %r14 # imm = 0xBFF0000000000000
movq %r14, -0x140(%rbp)
movabsq $0x7ff0000000000000, %r15 # imm = 0x7FF0000000000000
movq %r15, -0x138(%rbp)
subq $0x8, %rsp
movl %ebx, %esi
leaq -0x140(%rbp), %rdx
movl $0x1, %ecx
movq 0x28(%rbp), %r8
movq 0x40(%rbp), %r9
movq 0x108(%rbp), %r12
pushq %r12
movq 0xf0(%rbp), %rax
pushq %rax
movq 0xe8(%rbp), %rax
pushq %rax
movq 0xe0(%rbp), %r12
pushq %r12
movq 0xd8(%rbp), %rax
pushq %rax
movq 0xd0(%rbp), %rax
pushq %rax
movq 0xc8(%rbp), %rax
pushq %rax
movl 0xc0(%rbp), %eax
pushq %rax
movl 0xb8(%rbp), %eax
pushq %rax
pushq 0xb0(%rbp)
pushq 0xa8(%rbp)
pushq 0xa0(%rbp)
pushq 0x98(%rbp)
pushq 0x90(%rbp)
pushq 0x88(%rbp)
pushq 0x80(%rbp)
pushq 0x78(%rbp)
pushq 0x70(%rbp)
pushq 0x68(%rbp)
movq %rdi, -0x40(%rbp)
callq 0x3f56
addq $0xa0, %rsp
movq %r14, -0x130(%rbp)
movq %r15, -0x128(%rbp)
movq -0x40(%rbp), %rdi
movl %ebx, %esi
leaq -0x130(%rbp), %rdx
movl $0x2, %ecx
movq -0xe8(%rbp), %r14
movq %r14, %r8
movq -0x90(%rbp), %r9
movq 0x110(%rbp), %r15
pushq %r15
pushq 0x108(%rbp)
movq 0xf0(%rbp), %r12
pushq %r12
pushq 0xe8(%rbp)
movq 0xe0(%rbp), %r15
pushq %r15
pushq 0xd8(%rbp)
pushq 0xd0(%rbp)
pushq 0xc8(%rbp)
pushq 0x60(%rbp)
pushq 0x58(%rbp)
pushq 0x50(%rbp)
pushq 0x48(%rbp)
pushq 0x38(%rbp)
pushq 0x30(%rbp)
pushq -0xf8(%rbp)
pushq -0xf0(%rbp)
callq 0x3d0f
addq $0x80, %rsp
movq %r15, %r8
movl 0x8(%r15), %r15d
movq -0x50(%rbp), %rcx
imull %r15d, %ecx
movq -0x60(%rbp), %rax
addl %eax, %ecx
movslq %ecx, %rax
movq %rax, -0xb0(%rbp)
movsd -0x8(%r12,%rax,8), %xmm0
movapd %xmm0, -0xc0(%rbp)
subq $0x8, %rsp
movq -0x40(%rbp), %rdi
movq %rbx, -0x68(%rbp)
movl %ebx, %esi
movl $0x2, %edx
movq %r14, %rcx
movq 0x108(%rbp), %r9
pushq 0x110(%rbp)
callq 0x3255
movq -0x40(%rbp), %rdi
movsd 0x8415(%rip), %xmm9     # 0xe070
movapd 0x844c(%rip), %xmm8     # 0xe0b0
movsd 0x83c4(%rip), %xmm7     # 0xe030
movapd 0x843c(%rip), %xmm6     # 0xe0b0
addq $0x10, %rsp
movl %r15d, -0x80(%rbp)
imull %edi, %r15d
movapd -0xc0(%rbp), %xmm1
andpd %xmm6, %xmm1
movapd %xmm1, -0x50(%rbp)
ucomisd %xmm7, %xmm1
ja 0x5cd8
movq -0x60(%rbp), %rax
addl %r15d, %eax
movslq %eax, %rbx
movq 0xf0(%rbp), %rax
addsd -0x10(%rax,%rbx,8), %xmm0
movapd %xmm0, %xmm1
andpd %xmm6, %xmm1
ucomisd %xmm7, %xmm1
ja 0x5cd8
movapd -0xc0(%rbp), %xmm1
subsd %xmm0, %xmm1
andpd %xmm8, %xmm1
ucomisd %xmm1, %xmm9
ja 0x635c
movapd -0x50(%rbp), %xmm0
ucomisd %xmm7, %xmm0
ja 0x5d16
movsd -0x140(%rbp), %xmm0
movapd %xmm0, %xmm1
andpd %xmm8, %xmm1
ucomisd %xmm7, %xmm1
ja 0x5d16
movapd -0xc0(%rbp), %xmm1
subsd %xmm0, %xmm1
andpd %xmm8, %xmm1
ucomisd %xmm1, %xmm9
ja 0x6733
movapd -0x50(%rbp), %xmm0
ucomisd %xmm7, %xmm0
movq 0x100(%rbp), %r14
movq 0xf8(%rbp), %r10
movq -0x38(%rbp), %r9
ja 0x6895
movsd -0x130(%rbp), %xmm0
movapd %xmm0, %xmm1
andpd %xmm8, %xmm1
ucomisd %xmm7, %xmm1
ja 0x6895
movapd -0xc0(%rbp), %xmm1
subsd %xmm0, %xmm1
andpd %xmm8, %xmm1
ucomisd %xmm1, %xmm9
jbe 0x6895
movq 0xe8(%rbp), %rax
movq -0xb0(%rbp), %rcx
movsd -0x8(%rax,%rcx,8), %xmm0
movapd %xmm0, -0x110(%rbp)
andpd %xmm6, %xmm0
movapd %xmm0, -0xb0(%rbp)
ucomisd %xmm7, %xmm0
ja 0x6895
movsd -0x128(%rbp), %xmm0
movapd %xmm0, %xmm1
andpd %xmm6, %xmm1
ucomisd %xmm7, %xmm1
ja 0x6895
movapd -0x110(%rbp), %xmm1
subsd %xmm0, %xmm1
andpd %xmm8, %xmm1
ucomisd %xmm1, %xmm9
jbe 0x6895
movq -0x60(%rbp), %rax
subl %edi, %eax
cmpl $0x7, %eax
jl 0x6895
movslq %eax, %rcx
addl $-0x20, %eax
leaq -0x3(%rcx), %r8
leaq 0x1(%r13), %rsi
leaq 0x1(%r9), %rdx
movq %rdx, -0x220(%rbp)
leaq 0x4(,%r9,4), %rdx
movq %rsi, -0x228(%rbp)
movslq %esi, %rsi
movslq %eax, %r11
movq -0x68(%rbp), %rax
subq %rsi, %rax
movq %rax, %rsi
cmpq $0x5, %r11
movl $0x4, %eax
cmovlq %rax, %r11
leaq (%rdx,%rdx,2), %rax
movq %rax, -0x218(%rbp)
leaq (%rcx,%r13), %rbx
addq $-0x2, %rbx
xorl %ecx, %ecx
movl $0xfffffffe, %eax       # imm = 0xFFFFFFFE
movq %rsi, -0x68(%rbp)
movq %r15, -0xd0(%rbp)
movq %r11, -0xc8(%rbp)
cmpq %rsi, %r8
jge 0x603e
movl %ecx, -0x94(%rbp)
movq %r8, -0xe0(%rbp)
movq %rbx, -0xd8(%rbp)
movl %eax, -0x6c(%rbp)
movl %eax, %r14d
movq -0x228(%rbp), %rax
movl %eax, %r12d
movq -0x60(%rbp), %rsi
leal (%rsi,%r14), %r13d
movabsq $-0x4010000000000000, %rax # imm = 0xBFF0000000000000
movq %rax, -0x120(%rbp)
movabsq $0x7ff0000000000000, %rax # imm = 0x7FF0000000000000
movq %rax, -0x118(%rbp)
movl %r12d, %edx
movl %r13d, %ecx
leaq -0x120(%rbp), %r8
movl $0x1, %r9d
pushq 0x110(%rbp)
pushq 0x108(%rbp)
pushq 0xf0(%rbp)
pushq 0xe8(%rbp)
pushq 0xe0(%rbp)
pushq 0xd8(%rbp)
pushq 0xd0(%rbp)
pushq 0xc8(%rbp)
pushq 0x60(%rbp)
pushq 0x58(%rbp)
pushq 0x50(%rbp)
pushq 0x48(%rbp)
pushq 0x38(%rbp)
pushq 0x30(%rbp)
pushq -0xf8(%rbp)
pushq -0xf0(%rbp)
pushq -0x90(%rbp)
pushq -0xe8(%rbp)
callq 0x35a5
movapd 0x8188(%rip), %xmm8     # 0xe0b0
movsd 0x8100(%rip), %xmm7     # 0xe030
addq $0x90, %rsp
movapd -0x50(%rbp), %xmm0
ucomisd %xmm7, %xmm0
ja 0x5fe4
movslq %r15d, %rax
addq %rbx, %rax
movsd -0x120(%rbp), %xmm0
movq 0xf0(%rbp), %rcx
addsd -0x8(%rcx,%rax,8), %xmm0
movapd %xmm0, %xmm1
andpd %xmm8, %xmm1
ucomisd %xmm7, %xmm1
ja 0x5fe4
movapd -0xc0(%rbp), %xmm1
subsd %xmm0, %xmm1
andpd %xmm8, %xmm1
movsd 0x80e7(%rip), %xmm0     # 0xe070
ucomisd %xmm1, %xmm0
jbe 0x5fe4
movapd -0xb0(%rbp), %xmm0
ucomisd %xmm7, %xmm0
ja 0x5fe4
movsd -0x118(%rbp), %xmm0
movq 0xe8(%rbp), %rcx
addsd -0x8(%rcx,%rax,8), %xmm0
movapd %xmm0, %xmm1
andpd %xmm8, %xmm1
ucomisd %xmm7, %xmm1
ja 0x5fe4
movapd -0x110(%rbp), %xmm1
subsd %xmm0, %xmm1
andpd %xmm8, %xmm1
movsd 0x8096(%rip), %xmm0     # 0xe070
ucomisd %xmm1, %xmm0
ja 0x6065
incl %r12d
addl -0x80(%rbp), %r15d
incq %rbx
incl %r14d
movq -0x40(%rbp), %rdi
jne 0x5e83
movq 0x100(%rbp), %r14
movq 0xf8(%rbp), %r10
movapd 0x809f(%rip), %xmm6     # 0xe0b0
movq -0x38(%rbp), %r9
movq -0x68(%rbp), %rsi
movq -0xd0(%rbp), %r15
movq -0xe0(%rbp), %r8
movq -0xc8(%rbp), %r11
movq -0xd8(%rbp), %rbx
movl -0x6c(%rbp), %eax
movl -0x94(%rbp), %ecx
cmpq %r11, %r8
jle 0x6d56
decq %r8
decl %eax
decq %rbx
testl %ecx, %ecx
movsd 0x8016(%rip), %xmm9     # 0xe070
je 0x5e56
jmp 0x6895
movslq -0x30(%rbp), %rax
movq -0x220(%rbp), %rsi
cmpq %rax, %rsi
movq -0xe0(%rbp), %r8
movq -0xc8(%rbp), %r11
jge 0x60ab
leaq (%rax,%rax,2), %rcx
leaq -0x210(,%rcx,4), %rcx
addq %rbp, %rcx
decq %rax
movl -0xc(%rcx), %edx
movl %edx, (%rcx)
movq -0x8(%rcx), %rdx
movq %rdx, 0x4(%rcx)
addq $-0xc, %rcx
cmpq %rsi, %rax
jg 0x6092
movq -0x218(%rbp), %rax
movl %r12d, -0x210(%rbp,%rax)
movl %r13d, -0x20c(%rbp,%rax)
movl $0x0, -0x208(%rbp,%rax)
movq -0x30(%rbp), %rax
incl %eax
movq %rax, -0x30(%rbp)
movl $0x1, %ecx
movq 0x100(%rbp), %r14
movq 0xf8(%rbp), %r10
movapd 0x7fbe(%rip), %xmm6     # 0xe0b0
movq -0x38(%rbp), %r9
movq -0x40(%rbp), %rdi
movq -0x68(%rbp), %rsi
movq -0xd0(%rbp), %r15
movq -0xd8(%rbp), %rbx
movl -0x6c(%rbp), %eax
jmp 0x603e
movsd (%r14,%rbx,8), %xmm0
movapd %xmm0, -0x80(%rbp)
subq $0x8, %rsp
movl %ebx, %edi
movl $0x1, %esi
movq 0xc8(%rbp), %rdx
movq 0xd0(%rbp), %rcx
movq 0xd8(%rbp), %r8
movq 0xe0(%rbp), %r9
pushq 0x108(%rbp)
pushq %r14
pushq 0xf8(%rbp)
pushq 0xf0(%rbp)
pushq 0xe8(%rbp)
callq 0x4756
movapd -0x80(%rbp), %xmm11
movapd 0x7f3c(%rip), %xmm8     # 0xe0b0
movsd 0x7eb4(%rip), %xmm7     # 0xe030
addq $0x30, %rsp
movapd %xmm11, %xmm1
andpd 0x7f23(%rip), %xmm1     # 0xe0b0
ucomisd %xmm7, %xmm1
ja 0x5872
movapd %xmm0, %xmm2
andpd 0x7f0d(%rip), %xmm2     # 0xe0b0
ucomisd %xmm7, %xmm2
ja 0x5872
movapd %xmm11, %xmm2
subsd %xmm0, %xmm2
andpd %xmm8, %xmm2
movsd 0x7ead(%rip), %xmm0     # 0xe070
ucomisd %xmm2, %xmm0
jbe 0x5872
cmpq $0x5, %rbx
jl 0x685f
movq 0x108(%rbp), %rax
movsbq (%rax,%rbx), %rax
movq 0xc8(%rbp), %rcx
leaq (%rcx,%rax,8), %rcx
movq 0xe0(%rbp), %rdx
movslq 0x8(%rdx), %rdx
movq 0xd0(%rbp), %rsi
leaq (%rsi,%rax,8), %rsi
movslq %ebx, %rdi
movl %r12d, %r8d
decq %rdi
xorl %eax, %eax
movq 0xf8(%rbp), %r10
movapd 0x7e92(%rip), %xmm6     # 0xe0b0
movsd 0x7e49(%rip), %xmm9     # 0xe070
movapd -0x50(%rbp), %xmm5
movapd -0x60(%rbp), %xmm10
movq 0x108(%rbp), %r9
movsbq 0x1(%r9,%rax), %r9
shlq $0x3, %r9
ucomisd %xmm7, %xmm10
leaq (%r9,%r9,4), %r9
movsd (%rcx,%r9), %xmm2
movq 0xf0(%rbp), %r11
movsd (%r11,%rdi,8), %xmm0
ja 0x62cd
movapd %xmm2, %xmm3
addsd %xmm0, %xmm3
movapd %xmm3, %xmm4
andpd %xmm8, %xmm4
ucomisd %xmm7, %xmm4
ja 0x62cd
movapd %xmm5, %xmm4
subsd %xmm3, %xmm4
andpd %xmm8, %xmm4
ucomisd %xmm4, %xmm9
jbe 0x62cd
ucomisd %xmm7, %xmm1
ja 0x62cd
movsd (%rsi,%r9), %xmm3
movq 0xe8(%rbp), %r11
addsd (%r11,%rdi,8), %xmm3
movapd %xmm3, %xmm4
andpd %xmm8, %xmm4
ucomisd %xmm7, %xmm4
ja 0x62cd
movapd %xmm11, %xmm4
subsd %xmm3, %xmm4
andpd %xmm8, %xmm4
ucomisd %xmm4, %xmm9
ja 0x6e64
ucomisd %xmm7, %xmm10
ja 0x6348
addsd (%r10,%rax,8), %xmm2
addsd %xmm2, %xmm0
movapd %xmm0, %xmm2
andpd %xmm8, %xmm2
ucomisd %xmm7, %xmm2
ja 0x6348
movapd %xmm5, %xmm2
subsd %xmm0, %xmm2
andpd %xmm8, %xmm2
ucomisd %xmm2, %xmm9
jbe 0x6348
ucomisd %xmm7, %xmm1
ja 0x6348
movsd (%r14,%rax,8), %xmm0
addsd (%rsi,%r9), %xmm0
movq 0xe8(%rbp), %r9
addsd (%r9,%rdi,8), %xmm0
movapd %xmm0, %xmm2
andpd %xmm8, %xmm2
ucomisd %xmm7, %xmm2
ja 0x6348
movapd %xmm11, %xmm2
subsd %xmm0, %xmm2
andpd %xmm8, %xmm2
ucomisd %xmm2, %xmm9
ja 0x6ea4
incq %rax
addq %rdx, %rdi
cmpq %rax, %r8
jne 0x6232
jmp 0x6891
movq 0xe8(%rbp), %rax
movq -0xb0(%rbp), %rcx
movsd -0x8(%rax,%rcx,8), %xmm0
movapd %xmm0, -0x110(%rbp)
subq $0x8, %rsp
movq -0x60(%rbp), %rsi
movl $0x2, %edx
movq -0x90(%rbp), %rcx
movq 0xe0(%rbp), %r8
movq 0x108(%rbp), %r9
pushq 0x110(%rbp)
callq 0x32e4
movapd -0x110(%rbp), %xmm2
movq -0x40(%rbp), %rdi
movsd 0x7cb6(%rip), %xmm9     # 0xe070
movapd 0x7ced(%rip), %xmm8     # 0xe0b0
movsd 0x7c65(%rip), %xmm7     # 0xe030
movapd 0x7cdd(%rip), %xmm6     # 0xe0b0
addq $0x10, %rsp
movapd %xmm2, %xmm1
andpd %xmm6, %xmm1
ucomisd %xmm7, %xmm1
ja 0x5cd8
movq 0xe8(%rbp), %rax
addsd -0x10(%rax,%rbx,8), %xmm0
movapd %xmm0, %xmm1
andpd %xmm6, %xmm1
ucomisd %xmm7, %xmm1
ja 0x5cd8
subsd %xmm0, %xmm2
andpd %xmm8, %xmm2
ucomisd %xmm2, %xmm9
jbe 0x5cd8
movq -0x38(%rbp), %r9
leaq 0x1(%r9), %rax
movslq -0x30(%rbp), %rcx
cmpq %rcx, %rax
jge 0x6455
leaq (%rcx,%rcx,2), %rdx
leaq -0x210(,%rdx,4), %rdx
addq %rbp, %rdx
decq %rcx
movl -0xc(%rdx), %esi
movl %esi, (%rdx)
movq -0x8(%rdx), %rsi
movq %rsi, 0x4(%rdx)
addq $-0xc, %rdx
cmpq %rax, %rcx
jg 0x643c
movq -0x68(%rbp), %rcx
decq %rcx
incl %edi
leaq (%rax,%rax,2), %rax
movl %edi, -0x210(%rbp,%rax,4)
movl %ecx, -0x20c(%rbp,%rax,4)
movl $0x0, -0x208(%rbp,%rax,4)
movq -0x30(%rbp), %rax
incl %eax
movq %rax, -0x30(%rbp)
movq 0x100(%rbp), %r14
movq 0xf8(%rbp), %r10
jmp 0x6895
movsd (%r14,%rbx,8), %xmm0
movapd %xmm0, -0x80(%rbp)
subq $0x8, %rsp
movl %ebx, %edi
movl $0x1, %esi
movq 0x18(%rbp), %rdx
movq 0x20(%rbp), %rcx
movq 0xc8(%rbp), %r8
movq 0xd0(%rbp), %r9
pushq 0x108(%rbp)
pushq %r14
pushq 0xf8(%rbp)
pushq 0xf0(%rbp)
pushq 0xe8(%rbp)
pushq 0xe0(%rbp)
pushq 0xd8(%rbp)
callq 0x496b
movapd -0x80(%rbp), %xmm12
movapd 0x7bb2(%rip), %xmm8     # 0xe0b0
movsd 0x7b2a(%rip), %xmm7     # 0xe030
addq $0x40, %rsp
movapd %xmm12, %xmm1
andpd 0x7b99(%rip), %xmm1     # 0xe0b0
ucomisd %xmm7, %xmm1
ja 0x590a
movapd %xmm0, %xmm2
andpd 0x7b83(%rip), %xmm2     # 0xe0b0
ucomisd %xmm7, %xmm2
ja 0x590a
movapd %xmm12, %xmm2
subsd %xmm0, %xmm2
andpd %xmm8, %xmm2
movsd 0x7b23(%rip), %xmm0     # 0xe070
ucomisd %xmm2, %xmm0
jbe 0x590a
cmpq $0x6, %rbx
jl 0x685f
movq 0x108(%rbp), %rax
movsbq (%rax,%rbx), %rax
movq 0xc8(%rbp), %rcx
leaq (%rcx,%rax,8), %rcx
imulq $0xc8, %rax, %rdx
movq 0x18(%rbp), %rsi
addq %rdx, %rsi
movq 0xe0(%rbp), %rdi
movslq 0x8(%rdi), %rdi
movq 0xd0(%rbp), %r8
leaq (%r8,%rax,8), %r8
addq 0x20(%rbp), %rdx
movslq %ebx, %rax
movl %r15d, %r9d
leaq (%rdi,%rax), %r10
decq %r10
xorl %eax, %eax
movapd 0x7af9(%rip), %xmm6     # 0xe0b0
movsd 0x7ab0(%rip), %xmm9     # 0xe070
movapd -0x50(%rbp), %xmm10
movapd -0x60(%rbp), %xmm11
movq 0x108(%rbp), %r14
movsbq 0x2(%r14,%rax), %r11
shlq $0x3, %r11
leaq (%r11,%r11,4), %r11
leaq (%rsi,%r11), %r15
ucomisd %xmm7, %xmm11
movsd (%rcx,%r11), %xmm2
movsbq 0x1(%r14,%rax), %r14
movsd (%r15,%r14,8), %xmm3
movq 0xf0(%rbp), %r15
movsd (%r15,%r10,8), %xmm0
ja 0x6686
movapd %xmm2, %xmm4
addsd %xmm3, %xmm4
addsd %xmm0, %xmm4
movapd %xmm4, %xmm5
andpd %xmm8, %xmm5
ucomisd %xmm7, %xmm5
ja 0x6686
movapd %xmm10, %xmm5
subsd %xmm4, %xmm5
andpd %xmm8, %xmm5
ucomisd %xmm5, %xmm9
jbe 0x6686
ucomisd %xmm7, %xmm1
ja 0x6686
leaq (%rdx,%r11), %r15
movsd (%r8,%r11), %xmm4
addsd (%r15,%r14,8), %xmm4
movq 0xe8(%rbp), %r15
addsd (%r15,%r10,8), %xmm4
movapd %xmm4, %xmm5
andpd %xmm8, %xmm5
ucomisd %xmm7, %xmm5
ja 0x6686
movapd %xmm12, %xmm5
subsd %xmm4, %xmm5
andpd %xmm8, %xmm5
ucomisd %xmm5, %xmm9
ja 0x6f4f
ucomisd %xmm7, %xmm11
ja 0x6722
movq 0xf8(%rbp), %r15
addsd (%r15,%rax,8), %xmm2
addsd %xmm2, %xmm3
addsd %xmm3, %xmm0
movapd %xmm0, %xmm2
andpd %xmm8, %xmm2
ucomisd %xmm7, %xmm2
ja 0x6722
movapd %xmm10, %xmm2
subsd %xmm0, %xmm2
andpd %xmm8, %xmm2
ucomisd %xmm2, %xmm9
jbe 0x6722
ucomisd %xmm7, %xmm1
ja 0x6722
leaq (%rdx,%r11), %r15
movq 0x100(%rbp), %r12
movsd (%r12,%rax,8), %xmm0
addsd (%r8,%r11), %xmm0
addsd (%r15,%r14,8), %xmm0
movq 0xe8(%rbp), %r11
addsd (%r11,%r10,8), %xmm0
movapd %xmm0, %xmm2
andpd %xmm8, %xmm2
ucomisd %xmm7, %xmm2
ja 0x6722
movapd %xmm12, %xmm2
subsd %xmm0, %xmm2
andpd %xmm8, %xmm2
ucomisd %xmm2, %xmm9
ja 0x6fc5
incq %rax
addq %rdi, %r10
cmpq %rax, %r9
jne 0x65cc
jmp 0x6787
movq 0xe8(%rbp), %rax
movq -0xb0(%rbp), %rcx
movsd -0x8(%rax,%rcx,8), %xmm0
movapd %xmm0, %xmm1
andpd %xmm6, %xmm1
ucomisd %xmm7, %xmm1
ja 0x5d16
movsd -0x138(%rbp), %xmm1
movapd %xmm1, %xmm2
andpd %xmm6, %xmm2
ucomisd %xmm7, %xmm2
ja 0x5d16
subsd %xmm1, %xmm0
andpd %xmm8, %xmm0
ucomisd %xmm0, %xmm9
jbe 0x5d16
movq 0x100(%rbp), %r14
jmp 0x6d4a
movsd (%r14,%rbx,8), %xmm0
movapd %xmm0, -0x80(%rbp)
subq $0x8, %rsp
movl %ebx, %edi
movl $0x1, %esi
movq -0x88(%rbp), %rdx
movq 0x10(%rbp), %rcx
movq 0xc8(%rbp), %r8
movq 0xd0(%rbp), %r9
pushq 0x108(%rbp)
pushq %r14
pushq 0xf8(%rbp)
pushq 0xf0(%rbp)
pushq 0xe8(%rbp)
pushq 0xe0(%rbp)
pushq 0xd8(%rbp)
callq 0x4be5
movapd -0x80(%rbp), %xmm12
movapd 0x78b4(%rip), %xmm8     # 0xe0b0
movsd 0x782c(%rip), %xmm7     # 0xe030
addq $0x40, %rsp
movapd %xmm12, %xmm1
andpd 0x789b(%rip), %xmm1     # 0xe0b0
ucomisd %xmm7, %xmm1
ja 0x59a5
movapd %xmm0, %xmm2
andpd 0x7885(%rip), %xmm2     # 0xe0b0
ucomisd %xmm7, %xmm2
ja 0x59a5
movapd %xmm12, %xmm2
subsd %xmm0, %xmm2
andpd %xmm8, %xmm2
movsd 0x7825(%rip), %xmm0     # 0xe070
ucomisd %xmm2, %xmm0
jbe 0x59a5
cmpq $0x6, %rbx
jge 0x6b7c
movq 0xf8(%rbp), %r10
movapd 0x7842(%rip), %xmm6     # 0xe0b0
jmp 0x6888
movq 0xf8(%rbp), %r10
movapd 0x7831(%rip), %xmm6     # 0xe0b0
movapd 0x7828(%rip), %xmm8     # 0xe0b0
movsd 0x77df(%rip), %xmm9     # 0xe070
movq -0x38(%rbp), %r9
incq %r9
movslq -0x30(%rbp), %rdx
leaq (%r9,%r9,2), %rcx
leaq -0x208(,%rcx,4), %rax
addq %rbp, %rax
cmpq %rdx, %r9
jl 0x56f3
jmp 0x71ba
movsd (%r14,%rbx,8), %xmm0
movapd %xmm0, -0x80(%rbp)
subq $0x8, %rsp
movl %ebx, %edi
movl $0x1, %esi
movq 0x68(%rbp), %rdx
movq 0x70(%rbp), %rcx
movq 0xc8(%rbp), %r8
movq 0xd0(%rbp), %r9
pushq 0x108(%rbp)
pushq %r14
pushq %r10
pushq 0xf0(%rbp)
pushq 0xe8(%rbp)
pushq 0xe0(%rbp)
pushq 0xd8(%rbp)
callq 0x4e51
movapd -0x80(%rbp), %xmm12
movsd 0x7716(%rip), %xmm7     # 0xe030
addq $0x40, %rsp
movapd %xmm12, %xmm1
movapd 0x7785(%rip), %xmm6     # 0xe0b0
andpd %xmm6, %xmm1
ucomisd %xmm7, %xmm1
ja 0x6b70
movapd %xmm0, %xmm2
andpd %xmm6, %xmm2
ucomisd %xmm7, %xmm2
movq 0xf8(%rbp), %r10
movapd -0x60(%rbp), %xmm11
ja 0x687f
movapd %xmm12, %xmm2
subsd %xmm0, %xmm2
movapd 0x7746(%rip), %xmm8     # 0xe0b0
andpd %xmm8, %xmm2
movsd 0x76f8(%rip), %xmm9     # 0xe070
ucomisd %xmm2, %xmm9
setbe %al
cmpq $0x7, %rbx
setl %cl
orb %al, %cl
jne 0x6891
movq 0x108(%rbp), %rdx
movsbq -0x1(%rdx,%rbx), %rax
movq 0xc8(%rbp), %rcx
leaq (%rcx,%rax,8), %rcx
movsbq (%rdx,%rbx), %rdi
imulq $0x3e8, %rax, %rdx      # imm = 0x3E8
movq 0x68(%rbp), %rsi
addq %rdx, %rsi
imulq $0xc8, %rdi, %r9
addq %r9, %rsi
movq 0xe0(%rbp), %rdi
movslq 0x8(%rdi), %rdi
movq 0xd0(%rbp), %r8
leaq (%r8,%rax,8), %r8
addq 0x70(%rbp), %rdx
addq %r9, %rdx
movslq %ebx, %rax
movl -0x40(%rbp), %r9d
leaq (%rdi,%rax), %r10
addq $-0x2, %r10
xorl %eax, %eax
movapd -0x50(%rbp), %xmm10
movq 0x108(%rbp), %rbx
movsbq 0x2(%rbx,%rax), %r11
shlq $0x3, %r11
leaq (%r11,%r11,4), %r11
leaq (%rsi,%r11), %r14
ucomisd %xmm7, %xmm11
movsd (%rcx,%r11), %xmm2
movsbq 0x1(%rbx,%rax), %rbx
movsd (%r14,%rbx,8), %xmm3
movq 0xf0(%rbp), %r14
movsd (%r14,%r10,8), %xmm0
ja 0x6ab2
movapd %xmm2, %xmm4
addsd %xmm3, %xmm4
addsd %xmm0, %xmm4
movapd %xmm4, %xmm5
andpd %xmm8, %xmm5
ucomisd %xmm7, %xmm5
ja 0x6ab2
movapd %xmm10, %xmm5
subsd %xmm4, %xmm5
andpd %xmm8, %xmm5
ucomisd %xmm5, %xmm9
jbe 0x6ab2
ucomisd %xmm7, %xmm1
ja 0x6ab2
leaq (%rdx,%r11), %r14
movsd (%r8,%r11), %xmm4
addsd (%r14,%rbx,8), %xmm4
movq 0xe8(%rbp), %r14
addsd (%r14,%r10,8), %xmm4
movapd %xmm4, %xmm5
andpd %xmm8, %xmm5
ucomisd %xmm7, %xmm5
ja 0x6ab2
movapd %xmm12, %xmm5
subsd %xmm4, %xmm5
andpd %xmm8, %xmm5
ucomisd %xmm5, %xmm9
ja 0x6d64
ucomisd %xmm7, %xmm11
movq 0x100(%rbp), %r14
ja 0x6b5c
movq 0xf8(%rbp), %r15
addsd (%r15,%rax,8), %xmm2
addsd %xmm2, %xmm3
addsd %xmm3, %xmm0
movapd %xmm0, %xmm2
andpd %xmm8, %xmm2
ucomisd %xmm7, %xmm2
ja 0x6b5c
movapd %xmm10, %xmm2
subsd %xmm0, %xmm2
andpd %xmm8, %xmm2
ucomisd %xmm2, %xmm9
jbe 0x6b5c
ucomisd %xmm7, %xmm1
ja 0x6b5c
leaq (%rdx,%r11), %r14
movq 0x100(%rbp), %r15
movsd (%r15,%rax,8), %xmm0
addsd (%r8,%r11), %xmm0
addsd (%r14,%rbx,8), %xmm0
movq 0x100(%rbp), %r14
movq 0xe8(%rbp), %r11
addsd (%r11,%r10,8), %xmm0
movapd %xmm0, %xmm2
andpd %xmm8, %xmm2
ucomisd %xmm7, %xmm2
ja 0x6b5c
movapd %xmm12, %xmm2
subsd %xmm0, %xmm2
andpd %xmm8, %xmm2
ucomisd %xmm2, %xmm9
ja 0x6db4
incq %rax
addq %rdi, %r10
cmpq %rax, %r9
jne 0x69f8
jmp 0x6d4a
movq 0xf8(%rbp), %r10
jmp 0x687f
movq 0x108(%rbp), %rdx
movsbq -0x1(%rdx,%rbx), %rax
movq 0xc8(%rbp), %rcx
leaq (%rcx,%rax,8), %rcx
movsbq (%rdx,%rbx), %rdx
imulq $0xc8, %rax, %r9
shlq $0x3, %rdx
leaq (%rdx,%rdx,4), %rdx
movq -0x88(%rbp), %rsi
addq %rdx, %rsi
addq %r9, %rsi
movq 0xe0(%rbp), %rdi
movslq 0x8(%rdi), %rdi
movq 0xd0(%rbp), %r8
leaq (%r8,%rax,8), %r8
addq 0x10(%rbp), %rdx
addq %r9, %rdx
movslq %ebx, %r9
movl %r15d, %r10d
addq $-0x2, %r9
xorl %eax, %eax
movapd 0x74ca(%rip), %xmm6     # 0xe0b0
movsd 0x7481(%rip), %xmm9     # 0xe070
movapd -0x50(%rbp), %xmm10
movapd -0x60(%rbp), %xmm11
movq 0x108(%rbp), %r11
movsbq 0x1(%r11,%rax), %r11
leaq (,%r11,8), %rbx
ucomisd %xmm7, %xmm11
leaq (%rbx,%rbx,4), %rbx
movsd (%rcx,%rbx), %xmm3
movsd (%rsi,%r11,8), %xmm2
movq 0xf0(%rbp), %r15
movsd (%r15,%r9,8), %xmm0
ja 0x6caa
movapd %xmm3, %xmm4
addsd %xmm2, %xmm4
addsd %xmm0, %xmm4
movapd %xmm4, %xmm5
andpd %xmm8, %xmm5
ucomisd %xmm7, %xmm5
ja 0x6caa
movapd %xmm10, %xmm5
subsd %xmm4, %xmm5
andpd %xmm8, %xmm5
ucomisd %xmm5, %xmm9
jbe 0x6caa
ucomisd %xmm7, %xmm1
ja 0x6caa
movsd (%r8,%rbx), %xmm4
addsd (%rdx,%r11,8), %xmm4
movq 0xe8(%rbp), %r15
addsd (%r15,%r9,8), %xmm4
movapd %xmm4, %xmm5
andpd %xmm8, %xmm5
ucomisd %xmm7, %xmm5
ja 0x6caa
movapd %xmm12, %xmm5
subsd %xmm4, %xmm5
andpd %xmm8, %xmm5
ucomisd %xmm5, %xmm9
ja 0x707e
ucomisd %xmm7, %xmm11
ja 0x6d3b
movq 0xf8(%rbp), %r15
addsd (%r15,%rax,8), %xmm3
addsd %xmm3, %xmm2
addsd %xmm2, %xmm0
movapd %xmm0, %xmm2
andpd %xmm8, %xmm2
ucomisd %xmm7, %xmm2
ja 0x6d3b
movapd %xmm10, %xmm2
subsd %xmm0, %xmm2
andpd %xmm8, %xmm2
ucomisd %xmm2, %xmm9
jbe 0x6d3b
ucomisd %xmm7, %xmm1
ja 0x6d3b
movsd (%r14,%rax,8), %xmm0
addsd (%r8,%rbx), %xmm0
addsd (%rdx,%r11,8), %xmm0
movq 0xe8(%rbp), %r11
addsd (%r11,%r9,8), %xmm0
movapd %xmm0, %xmm2
andpd %xmm8, %xmm2
ucomisd %xmm7, %xmm2
ja 0x6d3b
movapd %xmm12, %xmm2
subsd %xmm0, %xmm2
andpd %xmm8, %xmm2
ucomisd %xmm2, %xmm9
ja 0x70ea
incq %rax
addq %rdi, %r9
cmpq %rax, %r10
jne 0x6bfb
movq 0xf8(%rbp), %r10
jmp 0x6891
movsd 0x7311(%rip), %xmm9     # 0xe070
jmp 0x6895
movq -0x38(%rbp), %r9
leaq 0x1(%r9), %rcx
movslq -0x30(%rbp), %rdx
cmpq %rdx, %rcx
movq 0x100(%rbp), %r14
movq 0xf8(%rbp), %r10
jge 0x6dab
leaq (%rdx,%rdx,2), %rsi
leaq -0x210(,%rsi,4), %rsi
addq %rbp, %rsi
decq %rdx
movl -0xc(%rsi), %edi
movl %edi, (%rsi)
movq -0x8(%rsi), %rdi
movq %rdi, 0x4(%rsi)
addq $-0xc, %rsi
cmpq %rcx, %rdx
jg 0x6d92
addq $0x2, %rax
jmp 0x70c1
movq -0x38(%rbp), %r9
leaq 0x1(%r9), %rcx
movslq -0x30(%rbp), %rsi
cmpq %rsi, %rcx
jge 0x6df2
leaq (%rsi,%rsi,2), %rdx
leaq -0x210(,%rdx,4), %rdx
addq %rbp, %rdx
movq %rsi, %rdi
decq %rdi
movl -0xc(%rdx), %r8d
movl %r8d, (%rdx)
movq -0x8(%rdx), %r8
movq %r8, 0x4(%rdx)
addq $-0xc, %rdx
cmpq %rcx, %rdi
jg 0x6dd7
leaq 0x2(%rax), %rdi
leaq (,%rcx,4), %rdx
leaq (%rdx,%rdx,2), %rdx
movl %edi, -0x210(%rbp,%rdx)
movl %r13d, -0x20c(%rbp,%rdx)
movl $0x0, -0x208(%rbp,%rdx)
cmpq %rsi, %r9
movq 0xf8(%rbp), %r10
jge 0x7191
movq -0x30(%rbp), %rsi
incl %esi
movslq %esi, %rsi
leaq (%rsi,%rsi,2), %rdi
leaq -0x210(,%rdi,4), %rdi
addq %rbp, %rdi
decq %rsi
movl -0xc(%rdi), %r8d
movl %r8d, (%rdi)
movq -0x8(%rdi), %r8
movq %r8, 0x4(%rdi)
addq $-0xc, %rdi
cmpq %rcx, %rsi
jg 0x6e44
jmp 0x7191
movq -0x38(%rbp), %rcx
incq %rcx
movslq -0x30(%rbp), %rdx
cmpq %rdx, %rcx
jge 0x6e9c
leaq (%rdx,%rdx,2), %rsi
leaq -0x210(,%rsi,4), %rsi
addq %rbp, %rsi
decq %rdx
movl -0xc(%rsi), %edi
movl %edi, (%rsi)
movq -0x8(%rsi), %rdi
movq %rdi, 0x4(%rsi)
addq $-0xc, %rsi
cmpq %rcx, %rdx
jg 0x6e83
incq %rax
jmp 0x6f99
movq -0x38(%rbp), %rcx
incq %rcx
movslq -0x30(%rbp), %rsi
cmpq %rsi, %rcx
jge 0x6ee1
leaq (%rsi,%rsi,2), %rdx
leaq -0x210(,%rdx,4), %rdx
addq %rbp, %rdx
movq %rsi, %rdi
decq %rdi
movl -0xc(%rdx), %r8d
movl %r8d, (%rdx)
movq -0x8(%rdx), %r8
movq %r8, 0x4(%rdx)
addq $-0xc, %rdx
cmpq %rcx, %rdi
jg 0x6ec6
leaq 0x1(%rax), %rdi
leaq (,%rcx,4), %rdx
leaq (%rdx,%rdx,2), %rdx
movl %edi, -0x210(%rbp,%rdx)
movl %ebx, -0x20c(%rbp,%rdx)
movl $0x0, -0x208(%rbp,%rdx)
movq -0x38(%rbp), %r9
cmpq %rsi, %r9
jge 0x7191
movq -0x30(%rbp), %rsi
incl %esi
movslq %esi, %rsi
leaq (%rsi,%rsi,2), %rdi
leaq -0x210(,%rdi,4), %rdi
addq %rbp, %rdi
decq %rsi
movl -0xc(%rdi), %r8d
movl %r8d, (%rdi)
movq -0x8(%rdi), %r8
movq %r8, 0x4(%rdi)
addq $-0xc, %rdi
cmpq %rcx, %rsi
jg 0x6f2f
jmp 0x7191
movq -0x38(%rbp), %rcx
incq %rcx
movslq -0x30(%rbp), %rdx
cmpq %rdx, %rcx
movq 0x100(%rbp), %r14
movq 0xf8(%rbp), %r10
jge 0x6f95
leaq (%rdx,%rdx,2), %rsi
leaq -0x210(,%rsi,4), %rsi
addq %rbp, %rsi
decq %rdx
movl -0xc(%rsi), %edi
movl %edi, (%rsi)
movq -0x8(%rsi), %rdi
movq %rdi, 0x4(%rsi)
addq $-0xc, %rsi
cmpq %rcx, %rdx
jg 0x6f7c
addq $0x2, %rax
leaq (%rcx,%rcx,2), %rcx
movl %eax, -0x210(%rbp,%rcx,4)
movl %ebx, -0x20c(%rbp,%rcx,4)
movl $0x0, -0x208(%rbp,%rcx,4)
movq -0x30(%rbp), %rax
incl %eax
movq %rax, -0x30(%rbp)
jmp 0x6891
movq -0x38(%rbp), %rcx
incq %rcx
movslq -0x30(%rbp), %rsi
cmpq %rsi, %rcx
jge 0x7002
leaq (%rsi,%rsi,2), %rdx
leaq -0x210(,%rdx,4), %rdx
addq %rbp, %rdx
movq %rsi, %rdi
decq %rdi
movl -0xc(%rdx), %r8d
movl %r8d, (%rdx)
movq -0x8(%rdx), %r8
movq %r8, 0x4(%rdx)
addq $-0xc, %rdx
cmpq %rcx, %rdi
jg 0x6fe7
leaq 0x2(%rax), %rdi
leaq (,%rcx,4), %rdx
leaq (%rdx,%rdx,2), %rdx
movl %edi, -0x210(%rbp,%rdx)
movl %ebx, -0x20c(%rbp,%rdx)
movl $0x0, -0x208(%rbp,%rdx)
movq -0x38(%rbp), %r9
cmpq %rsi, %r9
movq 0x100(%rbp), %r14
movq 0xf8(%rbp), %r10
jge 0x7191
movq -0x30(%rbp), %rsi
incl %esi
movslq %esi, %rsi
leaq (%rsi,%rsi,2), %rdi
leaq -0x210(,%rdi,4), %rdi
addq %rbp, %rdi
decq %rsi
movl -0xc(%rdi), %r8d
movl %r8d, (%rdi)
movq -0x8(%rdi), %r8
movq %r8, 0x4(%rdi)
addq $-0xc, %rdi
cmpq %rcx, %rsi
jg 0x705e
jmp 0x7191
movq -0x38(%rbp), %r9
leaq 0x1(%r9), %rcx
movslq -0x30(%rbp), %rdx
cmpq %rdx, %rcx
movq 0xf8(%rbp), %r10
jge 0x70be
leaq (%rdx,%rdx,2), %rsi
leaq -0x210(,%rsi,4), %rsi
addq %rbp, %rsi
decq %rdx
movl -0xc(%rsi), %edi
movl %edi, (%rsi)
movq -0x8(%rsi), %rdi
movq %rdi, 0x4(%rsi)
addq $-0xc, %rsi
cmpq %rcx, %rdx
jg 0x70a5
incq %rax
leaq (%rcx,%rcx,2), %rcx
movl %eax, -0x210(%rbp,%rcx,4)
movl %r13d, -0x20c(%rbp,%rcx,4)
movl $0x0, -0x208(%rbp,%rcx,4)
movq -0x30(%rbp), %rax
incl %eax
jmp 0x71b1
movq -0x38(%rbp), %r9
leaq 0x1(%r9), %rcx
movslq -0x30(%rbp), %rsi
cmpq %rsi, %rcx
jge 0x7128
leaq (%rsi,%rsi,2), %rdx
leaq -0x210(,%rdx,4), %rdx
addq %rbp, %rdx
movq %rsi, %rdi
decq %rdi
movl -0xc(%rdx), %r8d
movl %r8d, (%rdx)
movq -0x8(%rdx), %r8
movq %r8, 0x4(%rdx)
addq $-0xc, %rdx
cmpq %rcx, %rdi
jg 0x710d
leaq 0x1(%rax), %rdi
leaq (,%rcx,4), %rdx
leaq (%rdx,%rdx,2), %rdx
movl %edi, -0x210(%rbp,%rdx)
movl %r13d, -0x20c(%rbp,%rdx)
movl $0x0, -0x208(%rbp,%rdx)
cmpq %rsi, %r9
movq 0xf8(%rbp), %r10
jge 0x7191
movq -0x30(%rbp), %rsi
incl %esi
movslq %esi, %rsi
leaq (%rsi,%rsi,2), %rdi
leaq -0x210(,%rdi,4), %rdi
addq %rbp, %rdi
decq %rsi
movl -0xc(%rdi), %r8d
movl %r8d, (%rdi)
movq -0x8(%rdi), %r8
movq %r8, 0x4(%rdi)
addq $-0xc, %rdi
cmpq %rcx, %rsi
jg 0x7176
movl %eax, -0x210(%rbp,%rdx)
movabsq $0x100000000, %rax      # imm = 0x100000000
movq %rax, -0x20c(%rbp,%rdx)
movq -0x30(%rbp), %rax
addl $0x2, %eax
movq %rax, -0x30(%rbp)
jmp 0x6895
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq