// File: jamesliu516[P]amrdg2d/farfield_boundary.cpp
// Function: farFieldBoundary(int)
void farFieldBoundary(int itt)
{
    int j,k;
    int i1, j1;
    double nx;
    double ny;
    SHBL sh;
    JBBL jb1, jb2;

    double speed, a, vbn;

    vbn=0.0;
    //-----------------------------------------------------------------------

    //----Զ���߽�������λ�ں�y�����ᴹֱ���²���----begin--	 
    nx=0.0;
    ny = 1.0;

    for(k=1; k <= Nx; k++)
    {
        //----�²��Ǹ���-------begin--
        sh.q = bodygrid[2*Nx +k].dof[0][0];
        sh.qu = bodygrid[2*Nx +k].dof[1][0];
        sh.qv = bodygrid[2*Nx +k].dof[2][0];
        sh.te = bodygrid[2*Nx +k].dof[3][0];

        bodygrid[Nx +k].dof[0][0] = sh.q;
        bodygrid[Nx +k].dof[1][0]= sh.qu;
        bodygrid[Nx +k].dof[2][0]= sh.qv;
        bodygrid[Nx +k].dof[3][0]= sh.te;
        for( i1=0; i1<4; ++i1) 
            for(j1=1; j1<nDOF; ++j1)
                bodygrid[Nx +k].dof[i1][j1]=0.0;


        //---������������------
        for(i1=0; i1<4; ++i1) {
            bodygrid[k].dof[i1][0] = 2.0*bodygrid[Nx+k].dof[i1][0]
                - bodygrid[2*Nx+k].dof[i1][0];
            for(j1=1; j1<nDOF;++j1)
                bodygrid[k].dof[i1][j1] = 0.0;
        }

        //----�²��Ǹ���-------end--
    }


    //////////////////////////////////////////////////////////////////////////////////---------------------2008.7.1

    //     for(j=1;j<=Ny;j++) {
    //       for(k=1;k<=Nx;k++) {	         				       		       
    //			bodygrid[(j-1)*Nx +k]

    //----Զ���߽�������λ�ں�y�����ᴹֱ���ϲ���----begin--	 
    nx=0.0;
    ny = -1.0;


    for(k=1; k <= Nx; k++)
    {
        //----�ϲ��Ǹ���-------begin--
        sh.q = bodygrid[(Ny-3)*Nx+k].dof[0][0];
        sh.qu = bodygrid[(Ny-3)*Nx+k].dof[1][0];
        sh.qv = bodygrid[(Ny-3)*Nx+k].dof[2][0];
        sh.te = bodygrid[(Ny-3)*Nx+k].dof[3][0];


        bodygrid[(Ny-2)*Nx+k].dof[0][0] = sh.q;
        bodygrid[(Ny-2)*Nx+k].dof[1][0]= sh.qu;
        bodygrid[(Ny-2)*Nx+k].dof[2][0] = sh.qv;
        bodygrid[(Ny-2)*Nx+k].dof[3][0] = sh.te;

        for(i1=0; i1<4; ++i1)
            for(j1=1; j1<nDOF; ++j1) 
                bodygrid[(Ny-2)*Nx+k].dof[i1][j1] = 0.0;

        //--������������------
        for (i1=0; i1<4; ++i1) {
            bodygrid[(Ny-1)*Nx+k].dof[i1][0] = 2.0*bodygrid[(Ny-2)*Nx+k].dof[i1][0]
                - bodygrid[(Ny-3)*Nx+k].dof[i1][0];
            for(j1=1; j1<nDOF; ++j1)
                bodygrid[(Ny-1)*Nx+k].dof[i1][j1] = 0.0;
        }
        //----------------------------------------------
        //----�ϲ��Ǹ���-------end--
    }


    //-------------------�Ҳ���---------0000000000000------begin---
    nx = -1.0;
    ny=0.0;

    for(j=1; j <= Ny; j++)
    {
        /*-----------begin--*/
        sh.q = bodygrid[(j-1)*Nx+Nx-2].dof[0][0];
        sh.qu = bodygrid[(j-1)*Nx+Nx-2].dof[1][0];
        sh.qv = bodygrid[(j-1)*Nx+Nx-2].dof[2][0];
        sh.te = bodygrid[(j-1)*Nx+Nx-2].dof[3][0];

        bodygrid[(j-1)*Nx+Nx-1].dof[0][0]= sh.q;
        bodygrid[(j-1)*Nx+Nx-1].dof[1][0] = sh.qu;
        bodygrid[(j-1)*Nx+Nx-1].dof[2][0] = sh.qv;
        bodygrid[(j-1)*Nx+Nx-1].dof[3][0] = sh.te;

        for(i1=0; i1<4; ++i1)
            for(j1=1; j1<nDOF; ++j1)
                bodygrid[(j-1)*Nx+Nx-1].dof[i1][j1]=0.0;

        //---������������------
        for(i1=0; i1<4; ++i1) {
            bodygrid[(j-1)*Nx+Nx].dof[i1][0]
                = 2.0*bodygrid[(j-1)*Nx+Nx-1].dof[i1][0] - bodygrid[(j-1)*Nx+Nx-2].dof[i1][0];
            for(j1=1; j1<nDOF; ++j1)
                bodygrid[(j-1)*Nx+Nx].dof[i1][j1]=0.0;	
        }	       

    }

    //----�Ҳ���------------------end--------

    //-------------------������----begin------
    nx = 1.0;
    ny=0.0;

    for(j=1; j <= Ny; j++)
    {
        //-----------begin--------
        sh.q = bodygrid[(j-1)*Nx+3].dof[0][0];
        sh.qu = bodygrid[(j-1)*Nx+3].dof[1][0];
        sh.qv = bodygrid[(j-1)*Nx+3].dof[2][0];
        sh.te = bodygrid[(j-1)*Nx+3].dof[3][0];


        bodygrid[(j-1)*Nx+2].dof[0][0] = sh.q;
        bodygrid[(j-1)*Nx+2].dof[1][0]= sh.qu;
        bodygrid[(j-1)*Nx+2].dof[2][0] = sh.qv;
        bodygrid[(j-1)*Nx+2].dof[3][0]= sh.te;
        for(i1=0; i1<4; ++i1) 
            for(j1=1; j1<nDOF; ++j1)
                bodygrid[(j-1)*Nx+2].dof[i1][j1]=0.0;

        //---������������------
        for(i1=0; i1<4; ++i1) {
            bodygrid[(j-1)*Nx+1].dof[i1][0]
                = 2.0*bodygrid[(j-1)*Nx+2].dof[i1][0] - bodygrid[(j-1)*Nx+3].dof[i1][0];
            for(j1=1; j1<nDOF; ++j1)
                bodygrid[(j-1)*Nx+1].dof[i1][j1]=0.0;
        }
    }

    //----������-------------------------end----
}

// Assembly:
subq $0xa8, %rsp
movl %edi, 0xa4(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x21aa0
leaq 0x40(%rsp), %rdi
callq 0x6530
leaq 0x20(%rsp), %rdi
callq 0x6530
xorps %xmm0, %xmm0
movsd %xmm0, 0x8(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x88(%rsp)
movsd 0x103df(%rip), %xmm0    # 0x3f058
movsd %xmm0, 0x80(%rsp)
movl $0x1, 0x9c(%rsp)
cmpl $0x7b, 0x9c(%rsp)
jg 0x2f025
leaq 0x1c6ce(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0xf6, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd 0x30(%rax), %xmm0
movsd %xmm0, 0x60(%rsp)
leaq 0x1c69f(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0xf6, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd 0x60(%rax), %xmm0
movsd %xmm0, 0x68(%rsp)
leaq 0x1c670(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0xf6, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd 0x90(%rax), %xmm0
movsd %xmm0, 0x70(%rsp)
leaq 0x1c63e(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0xf6, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd 0xc0(%rax), %xmm0
movsd %xmm0, 0x78(%rsp)
movsd 0x60(%rsp), %xmm0
leaq 0x1c606(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x7b, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd %xmm0, 0x30(%rax)
movsd 0x68(%rsp), %xmm0
leaq 0x1c5da(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x7b, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd %xmm0, 0x60(%rax)
movsd 0x70(%rsp), %xmm0
leaq 0x1c5ae(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x7b, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd %xmm0, 0x90(%rax)
movsd 0x78(%rsp), %xmm0
leaq 0x1c57f(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x7b, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd %xmm0, 0xc0(%rax)
movl $0x0, 0x98(%rsp)
cmpl $0x4, 0x98(%rsp)
jge 0x2eeb0
movl $0x1, 0x94(%rsp)
cmpl $0x6, 0x94(%rsp)
jge 0x2ee98
leaq 0x1c528(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x7b, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movslq 0x94(%rsp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl 0x94(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x94(%rsp)
jmp 0x2ee37
jmp 0x2ee9a
movl 0x98(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x98(%rsp)
jmp 0x2ee1e
movl $0x0, 0x98(%rsp)
cmpl $0x4, 0x98(%rsp)
jge 0x2f00d
leaq 0x1c4a0(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x7b, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm0
leaq 0x1c468(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0xf6, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
addsd %xmm0, %xmm0
addsd %xmm1, %xmm0
leaq 0x1c40e(%rip), %rax     # 0x4b370
movq (%rax), %rax
movslq 0x9c(%rsp), %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, (%rax)
movl $0x1, 0x94(%rsp)
cmpl $0x6, 0x94(%rsp)
jge 0x2eff5
leaq 0x1c3c6(%rip), %rax     # 0x4b370
movq (%rax), %rax
movslq 0x9c(%rsp), %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movslq 0x94(%rsp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl 0x94(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x94(%rsp)
jmp 0x2ef99
jmp 0x2eff7
movl 0x98(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x98(%rsp)
jmp 0x2eebb
jmp 0x2f00f
movl 0x9c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x9c(%rsp)
jmp 0x2ec8d
xorps %xmm0, %xmm0
movsd %xmm0, 0x88(%rsp)
movsd 0x10357(%rip), %xmm0    # 0x3f390
movsd %xmm0, 0x80(%rsp)
movl $0x1, 0x9c(%rsp)
cmpl $0x7b, 0x9c(%rsp)
jg 0x2f407
leaq 0x1c30e(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x1dca, %ecx           # imm = 0x1DCA
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd 0x30(%rax), %xmm0
movsd %xmm0, 0x60(%rsp)
leaq 0x1c2df(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x1dca, %ecx           # imm = 0x1DCA
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd 0x60(%rax), %xmm0
movsd %xmm0, 0x68(%rsp)
leaq 0x1c2b0(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x1dca, %ecx           # imm = 0x1DCA
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd 0x90(%rax), %xmm0
movsd %xmm0, 0x70(%rsp)
leaq 0x1c27e(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x1dca, %ecx           # imm = 0x1DCA
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd 0xc0(%rax), %xmm0
movsd %xmm0, 0x78(%rsp)
movsd 0x60(%rsp), %xmm0
leaq 0x1c246(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x1e45, %ecx           # imm = 0x1E45
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd %xmm0, 0x30(%rax)
movsd 0x68(%rsp), %xmm0
leaq 0x1c217(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x1e45, %ecx           # imm = 0x1E45
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd %xmm0, 0x60(%rax)
movsd 0x70(%rsp), %xmm0
leaq 0x1c1e8(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x1e45, %ecx           # imm = 0x1E45
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd %xmm0, 0x90(%rax)
movsd 0x78(%rsp), %xmm0
leaq 0x1c1b6(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x1e45, %ecx           # imm = 0x1E45
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd %xmm0, 0xc0(%rax)
movl $0x0, 0x98(%rsp)
cmpl $0x4, 0x98(%rsp)
jge 0x2f27f
movl $0x1, 0x94(%rsp)
cmpl $0x6, 0x94(%rsp)
jge 0x2f267
leaq 0x1c15c(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x1e45, %ecx           # imm = 0x1E45
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movslq 0x94(%rsp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl 0x94(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x94(%rsp)
jmp 0x2f203
jmp 0x2f269
movl 0x98(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x98(%rsp)
jmp 0x2f1ea
movl $0x0, 0x98(%rsp)
cmpl $0x4, 0x98(%rsp)
jge 0x2f3ef
leaq 0x1c0d1(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x1e45, %ecx           # imm = 0x1E45
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm0
leaq 0x1c096(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x1dca, %ecx           # imm = 0x1DCA
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
addsd %xmm0, %xmm0
addsd %xmm1, %xmm0
leaq 0x1c03c(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x1ec0, %ecx           # imm = 0x1EC0
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, (%rax)
movl $0x1, 0x94(%rsp)
cmpl $0x6, 0x94(%rsp)
jge 0x2f3d7
leaq 0x1bfec(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0x9c(%rsp), %ecx
addl $0x1ec0, %ecx           # imm = 0x1EC0
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movslq 0x94(%rsp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl 0x94(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x94(%rsp)
jmp 0x2f373
jmp 0x2f3d9
movl 0x98(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x98(%rsp)
jmp 0x2f28a
jmp 0x2f3f1
movl 0x9c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x9c(%rsp)
jmp 0x2f04d
movsd 0xff81(%rip), %xmm0     # 0x3f390
movsd %xmm0, 0x88(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x80(%rsp)
movl $0x1, 0xa0(%rsp)
cmpl $0x41, 0xa0(%rsp)
jg 0x2f831
leaq 0x1bf2c(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x7b, %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd 0x30(%rax), %xmm0
movsd %xmm0, 0x60(%rsp)
leaq 0x1bef7(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x7b, %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd 0x60(%rax), %xmm0
movsd %xmm0, 0x68(%rsp)
leaq 0x1bec2(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x7b, %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd 0x90(%rax), %xmm0
movsd %xmm0, 0x70(%rsp)
leaq 0x1be8a(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x7b, %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd 0xc0(%rax), %xmm0
movsd %xmm0, 0x78(%rsp)
movsd 0x60(%rsp), %xmm0
leaq 0x1be4c(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x7b, %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd %xmm0, 0x30(%rax)
movsd 0x68(%rsp), %xmm0
leaq 0x1be17(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x7b, %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd %xmm0, 0x60(%rax)
movsd 0x70(%rsp), %xmm0
leaq 0x1bde2(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x7b, %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd %xmm0, 0x90(%rax)
movsd 0x78(%rsp), %xmm0
leaq 0x1bdaa(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x7b, %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd %xmm0, 0xc0(%rax)
movl $0x0, 0x98(%rsp)
cmpl $0x4, 0x98(%rsp)
jge 0x2f697
movl $0x1, 0x94(%rsp)
cmpl $0x6, 0x94(%rsp)
jge 0x2f67f
leaq 0x1bd4a(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x7b, %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movslq 0x94(%rsp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl 0x94(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x94(%rsp)
jmp 0x2f615
jmp 0x2f681
movl 0x98(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x98(%rsp)
jmp 0x2f5fc
movl $0x0, 0x98(%rsp)
cmpl $0x4, 0x98(%rsp)
jge 0x2f819
leaq 0x1bcb9(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x7b, %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm0
leaq 0x1bc78(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x7b, %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
addsd %xmm0, %xmm0
addsd %xmm1, %xmm0
leaq 0x1bc18(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x7b, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, (%rax)
movl $0x1, 0x94(%rsp)
cmpl $0x6, 0x94(%rsp)
jge 0x2f801
leaq 0x1bbc5(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x7b, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movslq 0x94(%rsp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl 0x94(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x94(%rsp)
jmp 0x2f79a
jmp 0x2f803
movl 0x98(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x98(%rsp)
jmp 0x2f6a2
jmp 0x2f81b
movl 0xa0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xa0(%rsp)
jmp 0x2f42f
movsd 0xf81f(%rip), %xmm0     # 0x3f058
movsd %xmm0, 0x88(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x80(%rsp)
movl $0x1, 0xa0(%rsp)
cmpl $0x41, 0xa0(%rsp)
jg 0x2fc3a
leaq 0x1bb02(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x3, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd 0x30(%rax), %xmm0
movsd %xmm0, 0x60(%rsp)
leaq 0x1bad0(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x3, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd 0x60(%rax), %xmm0
movsd %xmm0, 0x68(%rsp)
leaq 0x1ba9e(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x3, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd 0x90(%rax), %xmm0
movsd %xmm0, 0x70(%rsp)
leaq 0x1ba69(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x3, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd 0xc0(%rax), %xmm0
movsd %xmm0, 0x78(%rsp)
movsd 0x60(%rsp), %xmm0
leaq 0x1ba2e(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd %xmm0, 0x30(%rax)
movsd 0x68(%rsp), %xmm0
leaq 0x1b9fc(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd %xmm0, 0x60(%rax)
movsd 0x70(%rsp), %xmm0
leaq 0x1b9ca(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd %xmm0, 0x90(%rax)
movsd 0x78(%rsp), %xmm0
leaq 0x1b995(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
movsd %xmm0, 0xc0(%rax)
movl $0x0, 0x98(%rsp)
cmpl $0x4, 0x98(%rsp)
jge 0x2faa6
movl $0x1, 0x94(%rsp)
cmpl $0x6, 0x94(%rsp)
jge 0x2fa8e
leaq 0x1b938(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movslq 0x94(%rsp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl 0x94(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x94(%rsp)
jmp 0x2fa27
jmp 0x2fa90
movl 0x98(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x98(%rsp)
jmp 0x2fa0e
movl $0x0, 0x98(%rsp)
cmpl $0x4, 0x98(%rsp)
jge 0x2fc22
leaq 0x1b8aa(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm0
leaq 0x1b86c(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x3, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
addsd %xmm0, %xmm0
addsd %xmm1, %xmm0
leaq 0x1b80f(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, (%rax)
movl $0x1, 0x94(%rsp)
cmpl $0x6, 0x94(%rsp)
jge 0x2fc0a
leaq 0x1b7bc(%rip), %rax     # 0x4b370
movq (%rax), %rax
movl 0xa0(%rsp), %ecx
subl $0x1, %ecx
imull $0x7b, %ecx, %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x360, %rcx, %rcx      # imm = 0x360
addq %rcx, %rax
addq $0x30, %rax
movslq 0x98(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movslq 0x94(%rsp), %rcx
xorps %xmm0, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movl 0x94(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x94(%rsp)
jmp 0x2fba3
jmp 0x2fc0c
movl 0x98(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x98(%rsp)
jmp 0x2fab1
jmp 0x2fc24
movl 0xa0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xa0(%rsp)
jmp 0x2f859
addq $0xa8, %rsp
retq
nopw %cs:(%rax,%rax)