// File: suhasjains[P]AMR-Solver/src/ghost.cpp
// Function: amrsolver::prolongate_multilevel_ghost_exchange_for_child(myOctree::Octree*, myOctree::Octree*, int, int, int, int, int, int, int, int, int, int)
void prolongate_multilevel_ghost_exchange_for_child(Octree* node, Octree* par_neigh, int l, int i, int j, int k, int iv, int jv, int kv, int addx, int addy, int addz) {
	//indices
	int i0, i1, j0, j1, k0, k1;	
	

	//grid and parent's neighbour's grid
	VecField* mesh = node->get_block_data()->mesh;
	VecField* meshp = par_neigh->get_block_data()->mesh; 

	//field and parent's neighbour's field
       	Field *f = node->get_block_data()->scalarfields[l];
       	Field *fp = par_neigh->get_block_data()->scalarfields[l];

	if((((iv-pad)%2==0)&&((iv-pad)!=0))||((iv-pad)==(f->Nx-1-2*pad))) {
		if((((jv-pad)%2==0)&&((jv-pad)!=0))||((jv-pad)==(f->Ny-1-2*pad))) {
			if((((kv-pad)%2==0)&&((kv-pad)!=0))||((kv-pad)==(f->Nz-1-2*pad))) {
				i0=addx+(iv+pad)/2 - 1;
				i1=addx+(iv+pad)/2;
				j0=addy+(jv+pad)/2 - 1;
				j1=addy+(jv+pad)/2;
				k0=addz+(kv+pad)/2 - 1;
				k1=addz+(kv+pad)/2;
				f->val[i][j][k] = Trilinear_interpolate(meshp->x[i0][j][k],meshp->x[i1][j][k],mesh->x[i][j][k], \
									meshp->y[i][j0][k],meshp->y[i][j1][k],mesh->y[i][j][k], \
									meshp->z[i][j][k0],meshp->z[i][j][k1],mesh->z[i][j][k], \
									fp->val[i0][j0][k1],fp->val[i0][j1][k1], \
									fp->val[i1][j0][k1],fp->val[i1][j1][k1], \
									fp->val[i0][j0][k0],fp->val[i0][j1][k0], \
									fp->val[i1][j0][k0],fp->val[i1][j1][k0]);
			}
			else if((((kv-pad)%2!=0)&&((kv-pad)!=(f->Nz-1-2*pad)))||((kv-pad)==0)) {
				i0=addx+(iv+pad)/2 - 1;
				i1=addx+(iv+pad)/2;
				j0=addy+(jv+pad)/2 - 1;
				j1=addy+(jv+pad)/2;
				k0=addz+(kv+pad)/2 ;
				k1=addz+(kv+pad)/2 + 1;
				f->val[i][j][k] = Trilinear_interpolate(meshp->x[i0][j][k],meshp->x[i1][j][k],mesh->x[i][j][k], \
									meshp->y[i][j0][k],meshp->y[i][j1][k],mesh->y[i][j][k], \
									meshp->z[i][j][k0],meshp->z[i][j][k1],mesh->z[i][j][k], \
									fp->val[i0][j0][k1],fp->val[i0][j1][k1], \
									fp->val[i1][j0][k1],fp->val[i1][j1][k1], \
									fp->val[i0][j0][k0],fp->val[i0][j1][k0], \
									fp->val[i1][j0][k0],fp->val[i1][j1][k0]);
			}
		}
		else if((((jv-pad)%2!=0)&&((jv-pad)!=(f->Ny-1-2*pad)))||((jv-pad)==0)) {
			if((((kv-pad)%2==0)&&((kv-pad)!=0))||((kv-pad)==(f->Nz-1-2*pad))) {
				i0=addx+(iv+pad)/2 - 1;
				i1=addx+(iv+pad)/2;
				j0=addy+(jv+pad)/2;
				j1=addy+(jv+pad)/2 + 1;
				k0=addz+(kv+pad)/2 - 1;
				k1=addz+(kv+pad)/2;
				f->val[i][j][k] = Trilinear_interpolate(meshp->x[i0][j][k],meshp->x[i1][j][k],mesh->x[i][j][k], \
									meshp->y[i][j0][k],meshp->y[i][j1][k],mesh->y[i][j][k], \
									meshp->z[i][j][k0],meshp->z[i][j][k1],mesh->z[i][j][k], \
									fp->val[i0][j0][k1],fp->val[i0][j1][k1], \
									fp->val[i1][j0][k1],fp->val[i1][j1][k1], \
									fp->val[i0][j0][k0],fp->val[i0][j1][k0], \
									fp->val[i1][j0][k0],fp->val[i1][j1][k0]);
			}
			else if((((kv-pad)%2!=0)&&((kv-pad)!=(f->Nz-1-2*pad)))||((kv-pad)==0)) {
				i0=addx+(iv+pad)/2 - 1;
				i1=addx+(iv+pad)/2;
				j0=addy+(jv+pad)/2;
				j1=addy+(jv+pad)/2 + 1;
				k0=addz+(kv+pad)/2; 
				k1=addz+(kv+pad)/2 + 1;
				f->val[i][j][k] = Trilinear_interpolate(meshp->x[i0][j][k],meshp->x[i1][j][k],mesh->x[i][j][k], \
									meshp->y[i][j0][k],meshp->y[i][j1][k],mesh->y[i][j][k], \
									meshp->z[i][j][k0],meshp->z[i][j][k1],mesh->z[i][j][k], \
									fp->val[i0][j0][k1],fp->val[i0][j1][k1], \
									fp->val[i1][j0][k1],fp->val[i1][j1][k1], \
									fp->val[i0][j0][k0],fp->val[i0][j1][k0], \
									fp->val[i1][j0][k0],fp->val[i1][j1][k0]);
			}
		}
	}
	else if((((iv-pad)%2!=0)&&((iv-pad)!=(f->Nx-1-2*pad)))||((iv-pad)==0)) {
		if((((jv-pad)%2==0)&&((jv-pad)!=0))||((jv-pad)==(f->Ny-1-2*pad))) {
			if((((kv-pad)%2==0)&&((kv-pad)!=0))||((kv-pad)==(f->Nz-1-2*pad))) {
				i0=addx+(iv+pad)/2; 
				i1=addx+(iv+pad)/2 + 1;
				j0=addy+(jv+pad)/2 - 1;
				j1=addy+(jv+pad)/2;
				k0=addz+(kv+pad)/2 - 1;
				k1=addz+(kv+pad)/2;
				f->val[i][j][k] = Trilinear_interpolate(meshp->x[i0][j][k],meshp->x[i1][j][k],mesh->x[i][j][k], \
									meshp->y[i][j0][k],meshp->y[i][j1][k],mesh->y[i][j][k], \
									meshp->z[i][j][k0],meshp->z[i][j][k1],mesh->z[i][j][k], \
									fp->val[i0][j0][k1],fp->val[i0][j1][k1], \
									fp->val[i1][j0][k1],fp->val[i1][j1][k1], \
									fp->val[i0][j0][k0],fp->val[i0][j1][k0], \
									fp->val[i1][j0][k0],fp->val[i1][j1][k0]);
			}
			else if((((kv-pad)%2!=0)&&((kv-pad)!=(f->Nz-1-2*pad)))||((kv-pad)==0)) {
				i0=addx+(iv+pad)/2; 
				i1=addx+(iv+pad)/2 + 1;
				j0=addy+(jv+pad)/2 - 1;
				j1=addy+(jv+pad)/2;
				k0=addz+(kv+pad)/2; 
				k1=addz+(kv+pad)/2 + 1;
				f->val[i][j][k] = Trilinear_interpolate(meshp->x[i0][j][k],meshp->x[i1][j][k],mesh->x[i][j][k], \
									meshp->y[i][j0][k],meshp->y[i][j1][k],mesh->y[i][j][k], \
									meshp->z[i][j][k0],meshp->z[i][j][k1],mesh->z[i][j][k], \
									fp->val[i0][j0][k1],fp->val[i0][j1][k1], \
									fp->val[i1][j0][k1],fp->val[i1][j1][k1], \
									fp->val[i0][j0][k0],fp->val[i0][j1][k0], \
									fp->val[i1][j0][k0],fp->val[i1][j1][k0]);
			}
		}
		else if((((jv-pad)%2!=0)&&((jv-pad)!=(f->Ny-1-2*pad)))||((jv-pad)==0)) {
			if((((kv-pad)%2==0)&&((kv-pad)!=0))||((kv-pad)==(f->Nz-1-2*pad))) {
				i0=addx+(iv+pad)/2; 
				i1=addx+(iv+pad)/2 + 1;
				j0=addy+(jv+pad)/2; 
				j1=addy+(jv+pad)/2 + 1;
				k0=addz+(kv+pad)/2 - 1;
				k1=addz+(kv+pad)/2;
				f->val[i][j][k] = Trilinear_interpolate(meshp->x[i0][j][k],meshp->x[i1][j][k],mesh->x[i][j][k], \
									meshp->y[i][j0][k],meshp->y[i][j1][k],mesh->y[i][j][k], \
									meshp->z[i][j][k0],meshp->z[i][j][k1],mesh->z[i][j][k], \
									fp->val[i0][j0][k1],fp->val[i0][j1][k1], \
									fp->val[i1][j0][k1],fp->val[i1][j1][k1], \
									fp->val[i0][j0][k0],fp->val[i0][j1][k0], \
									fp->val[i1][j0][k0],fp->val[i1][j1][k0]);
			}
			else if((((kv-pad)%2!=0)&&((kv-pad)!=(f->Nz-1-2*pad)))||((kv-pad)==0)) {
				i0=addx+(iv+pad)/2; 
				i1=addx+(iv+pad)/2 + 1;
				j0=addy+(jv+pad)/2; 
				j1=addy+(jv+pad)/2 + 1;
				k0=addz+(kv+pad)/2; 
				k1=addz+(kv+pad)/2 + 1;
				f->val[i][j][k] = Trilinear_interpolate(meshp->x[i0][j][k],meshp->x[i1][j][k],mesh->x[i][j][k], \
									meshp->y[i][j0][k],meshp->y[i][j1][k],mesh->y[i][j][k], \
									meshp->z[i][j][k0],meshp->z[i][j][k1],mesh->z[i][j][k], \
									fp->val[i0][j0][k1],fp->val[i0][j1][k1], \
									fp->val[i1][j0][k1],fp->val[i1][j1][k1], \
									fp->val[i0][j0][k0],fp->val[i0][j1][k0], \
									fp->val[i1][j0][k0],fp->val[i1][j1][k0]);
			}
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1e0, %rsp            # imm = 0x1E0
movl 0x38(%rbp), %eax
movl 0x30(%rbp), %eax
movl 0x28(%rbp), %eax
movl 0x20(%rbp), %eax
movl 0x18(%rbp), %eax
movl 0x10(%rbp), %eax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl %ecx, -0x18(%rbp)
movl %r8d, -0x1c(%rbp)
movl %r9d, -0x20(%rbp)
movq -0x8(%rbp), %rdi
callq 0x6de0
movq (%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rdi
callq 0x6de0
movq (%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rdi
callq 0x6de0
movq 0x10(%rax), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rdi
callq 0x6de0
movq 0x10(%rax), %rax
movslq -0x14(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x58(%rbp)
movl 0x10(%rbp), %eax
leaq 0x17519(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0xed6f
movl 0x10(%rbp), %eax
leaq 0x17500(%rip), %rcx     # 0x26268
subl (%rcx), %eax
cmpl $0x0, %eax
jne 0xed99
movl 0x10(%rbp), %eax
leaq 0x174ef(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movq -0x50(%rbp), %rcx
movl (%rcx), %ecx
subl $0x1, %ecx
leaq 0x174dd(%rip), %rdx     # 0x26268
movl (%rdx), %edx
shll %edx
subl %edx, %ecx
cmpl %ecx, %eax
jne 0xfe8f
movl 0x18(%rbp), %eax
leaq 0x174c5(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0xedc3
movl 0x18(%rbp), %eax
leaq 0x174ac(%rip), %rcx     # 0x26268
subl (%rcx), %eax
cmpl $0x0, %eax
jne 0xedee
movl 0x18(%rbp), %eax
leaq 0x1749b(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movq -0x50(%rbp), %rcx
movl 0x4(%rcx), %ecx
subl $0x1, %ecx
leaq 0x17488(%rip), %rdx     # 0x26268
movl (%rdx), %edx
shll %edx
subl %edx, %ecx
cmpl %ecx, %eax
jne 0xf5fa
movl 0x20(%rbp), %eax
leaq 0x17470(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0xee18
movl 0x20(%rbp), %eax
leaq 0x17457(%rip), %rcx     # 0x26268
subl (%rcx), %eax
cmpl $0x0, %eax
jne 0xee43
movl 0x20(%rbp), %eax
leaq 0x17446(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movq -0x50(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
leaq 0x17433(%rip), %rdx     # 0x26268
movl (%rdx), %edx
shll %edx
subl %edx, %ecx
cmpl %ecx, %eax
jne 0xf1db
movl 0x28(%rbp), %eax
movl %eax, -0x80(%rbp)
movl 0x10(%rbp), %eax
leaq 0x17415(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x80(%rbp), %eax
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x24(%rbp)
movl 0x28(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl 0x10(%rbp), %eax
leaq 0x173ee(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x7c(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x28(%rbp)
movl 0x30(%rbp), %eax
movl %eax, -0x78(%rbp)
movl 0x18(%rbp), %eax
leaq 0x173ca(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x78(%rbp), %eax
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x2c(%rbp)
movl 0x30(%rbp), %eax
movl %eax, -0x74(%rbp)
movl 0x18(%rbp), %eax
leaq 0x173a3(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x74(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x30(%rbp)
movl 0x38(%rbp), %eax
movl %eax, -0x70(%rbp)
movl 0x20(%rbp), %eax
leaq 0x1737f(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x70(%rbp), %eax
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x34(%rbp)
movl 0x38(%rbp), %eax
movl %eax, -0x6c(%rbp)
movl 0x20(%rbp), %eax
leaq 0x17358(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x6c(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x38(%rbp)
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x68(%rbp)
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
movq -0x40(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm3
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm4
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm5
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm6
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm7
movq -0x40(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm8
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm15
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm14
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm13
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm12
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm11
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm10
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm9
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x68(%rbp), %xmm0
movsd %xmm8, (%rsp)
movsd -0x60(%rbp), %xmm8
movsd %xmm15, 0x8(%rsp)
movsd %xmm14, 0x10(%rsp)
movsd %xmm13, 0x18(%rsp)
movsd %xmm12, 0x20(%rsp)
movsd %xmm11, 0x28(%rsp)
movsd %xmm10, 0x30(%rsp)
movsd %xmm9, 0x38(%rsp)
movsd %xmm8, 0x40(%rsp)
callq 0x1a040
movq -0x50(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0xf5f5
movl 0x20(%rbp), %eax
leaq 0x17083(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
je 0xf21b
movl 0x20(%rbp), %eax
leaq 0x1706a(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movq -0x50(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
leaq 0x17057(%rip), %rdx     # 0x26268
movl (%rdx), %edx
shll %edx
subl %edx, %ecx
cmpl %ecx, %eax
jne 0xf230
movl 0x20(%rbp), %eax
leaq 0x17043(%rip), %rcx     # 0x26268
subl (%rcx), %eax
cmpl $0x0, %eax
jne 0xf5f3
movl 0x28(%rbp), %eax
movl %eax, -0xa8(%rbp)
movl 0x10(%rbp), %eax
leaq 0x17025(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0xa8(%rbp), %eax
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x24(%rbp)
movl 0x28(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl 0x10(%rbp), %eax
leaq 0x16ff8(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0xa4(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x28(%rbp)
movl 0x30(%rbp), %eax
movl %eax, -0xa0(%rbp)
movl 0x18(%rbp), %eax
leaq 0x16fce(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0xa0(%rbp), %eax
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x2c(%rbp)
movl 0x30(%rbp), %eax
movl %eax, -0x9c(%rbp)
movl 0x18(%rbp), %eax
leaq 0x16fa1(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x9c(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x30(%rbp)
movl 0x38(%rbp), %eax
movl %eax, -0x98(%rbp)
movl 0x20(%rbp), %eax
leaq 0x16f77(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x98(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x34(%rbp)
movl 0x38(%rbp), %eax
movl %eax, -0x94(%rbp)
movl 0x20(%rbp), %eax
leaq 0x16f4d(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x94(%rbp), %eax
addl %ecx, %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x90(%rbp)
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
movq -0x40(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm3
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm4
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm5
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm6
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm7
movq -0x40(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm8
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm15
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm14
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm13
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm12
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm11
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm10
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm9
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x88(%rbp)
movsd -0x90(%rbp), %xmm0
movsd %xmm8, (%rsp)
movsd -0x88(%rbp), %xmm8
movsd %xmm15, 0x8(%rsp)
movsd %xmm14, 0x10(%rsp)
movsd %xmm13, 0x18(%rsp)
movsd %xmm12, 0x20(%rsp)
movsd %xmm11, 0x28(%rsp)
movsd %xmm10, 0x30(%rsp)
movsd %xmm9, 0x38(%rsp)
movsd %xmm8, 0x40(%rsp)
callq 0x1a040
movq -0x50(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0xf5f5
jmp 0xfe8a
movl 0x18(%rbp), %eax
leaq 0x16c64(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
je 0xf63a
movl 0x18(%rbp), %eax
leaq 0x16c4b(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movq -0x50(%rbp), %rcx
movl 0x4(%rcx), %ecx
subl $0x1, %ecx
leaq 0x16c38(%rip), %rdx     # 0x26268
movl (%rdx), %edx
shll %edx
subl %edx, %ecx
cmpl %ecx, %eax
jne 0xf64f
movl 0x18(%rbp), %eax
leaq 0x16c24(%rip), %rcx     # 0x26268
subl (%rcx), %eax
cmpl $0x0, %eax
jne 0xfe88
movl 0x20(%rbp), %eax
leaq 0x16c0f(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0xf679
movl 0x20(%rbp), %eax
leaq 0x16bf6(%rip), %rcx     # 0x26268
subl (%rcx), %eax
cmpl $0x0, %eax
jne 0xf6a4
movl 0x20(%rbp), %eax
leaq 0x16be5(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movq -0x50(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
leaq 0x16bd2(%rip), %rdx     # 0x26268
movl (%rdx), %edx
shll %edx
subl %edx, %ecx
cmpl %ecx, %eax
jne 0xfa6c
movl 0x28(%rbp), %eax
movl %eax, -0xd0(%rbp)
movl 0x10(%rbp), %eax
leaq 0x16bb1(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0xd0(%rbp), %eax
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x24(%rbp)
movl 0x28(%rbp), %eax
movl %eax, -0xcc(%rbp)
movl 0x10(%rbp), %eax
leaq 0x16b84(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0xcc(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x28(%rbp)
movl 0x30(%rbp), %eax
movl %eax, -0xc8(%rbp)
movl 0x18(%rbp), %eax
leaq 0x16b5a(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0xc8(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl 0x30(%rbp), %eax
movl %eax, -0xc4(%rbp)
movl 0x18(%rbp), %eax
leaq 0x16b30(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0xc4(%rbp), %eax
addl %ecx, %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
movl 0x38(%rbp), %eax
movl %eax, -0xc0(%rbp)
movl 0x20(%rbp), %eax
leaq 0x16b03(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0xc0(%rbp), %eax
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x34(%rbp)
movl 0x38(%rbp), %eax
movl %eax, -0xbc(%rbp)
movl 0x20(%rbp), %eax
leaq 0x16ad6(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0xbc(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x38(%rbp)
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0xb8(%rbp)
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
movq -0x40(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm3
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm4
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm5
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm6
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm7
movq -0x40(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm8
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm15
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm14
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm13
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm12
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm11
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm10
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm9
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0xb0(%rbp)
movsd -0xb8(%rbp), %xmm0
movsd %xmm8, (%rsp)
movsd -0xb0(%rbp), %xmm8
movsd %xmm15, 0x8(%rsp)
movsd %xmm14, 0x10(%rsp)
movsd %xmm13, 0x18(%rsp)
movsd %xmm12, 0x20(%rsp)
movsd %xmm11, 0x28(%rsp)
movsd %xmm10, 0x30(%rsp)
movsd %xmm9, 0x38(%rsp)
movsd %xmm8, 0x40(%rsp)
callq 0x1a040
movq -0x50(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0xfe86
movl 0x20(%rbp), %eax
leaq 0x167f2(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
je 0xfaac
movl 0x20(%rbp), %eax
leaq 0x167d9(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movq -0x50(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
leaq 0x167c6(%rip), %rdx     # 0x26268
movl (%rdx), %edx
shll %edx
subl %edx, %ecx
cmpl %ecx, %eax
jne 0xfac1
movl 0x20(%rbp), %eax
leaq 0x167b2(%rip), %rcx     # 0x26268
subl (%rcx), %eax
cmpl $0x0, %eax
jne 0xfe84
movl 0x28(%rbp), %eax
movl %eax, -0xf8(%rbp)
movl 0x10(%rbp), %eax
leaq 0x16794(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0xf8(%rbp), %eax
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x24(%rbp)
movl 0x28(%rbp), %eax
movl %eax, -0xf4(%rbp)
movl 0x10(%rbp), %eax
leaq 0x16767(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0xf4(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x28(%rbp)
movl 0x30(%rbp), %eax
movl %eax, -0xf0(%rbp)
movl 0x18(%rbp), %eax
leaq 0x1673d(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0xf0(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl 0x30(%rbp), %eax
movl %eax, -0xec(%rbp)
movl 0x18(%rbp), %eax
leaq 0x16713(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0xec(%rbp), %eax
addl %ecx, %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
movl 0x38(%rbp), %eax
movl %eax, -0xe8(%rbp)
movl 0x20(%rbp), %eax
leaq 0x166e6(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0xe8(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x34(%rbp)
movl 0x38(%rbp), %eax
movl %eax, -0xe4(%rbp)
movl 0x20(%rbp), %eax
leaq 0x166bc(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0xe4(%rbp), %eax
addl %ecx, %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0xe0(%rbp)
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
movq -0x40(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm3
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm4
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm5
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm6
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm7
movq -0x40(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm8
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm15
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm14
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm13
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm12
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm11
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm10
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm9
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0xd8(%rbp)
movsd -0xe0(%rbp), %xmm0
movsd %xmm8, (%rsp)
movsd -0xd8(%rbp), %xmm8
movsd %xmm15, 0x8(%rsp)
movsd %xmm14, 0x10(%rsp)
movsd %xmm13, 0x18(%rsp)
movsd %xmm12, 0x20(%rsp)
movsd %xmm11, 0x28(%rsp)
movsd %xmm10, 0x30(%rsp)
movsd %xmm9, 0x38(%rsp)
movsd %xmm8, 0x40(%rsp)
callq 0x1a040
movq -0x50(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0xfe86
jmp 0xfe88
jmp 0xfe8a
jmp 0x11008
movl 0x10(%rbp), %eax
leaq 0x163cf(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
je 0xfece
movl 0x10(%rbp), %eax
leaq 0x163b6(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movq -0x50(%rbp), %rcx
movl (%rcx), %ecx
subl $0x1, %ecx
leaq 0x163a4(%rip), %rdx     # 0x26268
movl (%rdx), %edx
shll %edx
subl %edx, %ecx
cmpl %ecx, %eax
jne 0xfee3
movl 0x10(%rbp), %eax
leaq 0x16390(%rip), %rcx     # 0x26268
subl (%rcx), %eax
cmpl $0x0, %eax
jne 0x11006
movl 0x18(%rbp), %eax
leaq 0x1637b(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0xff0d
movl 0x18(%rbp), %eax
leaq 0x16362(%rip), %rcx     # 0x26268
subl (%rcx), %eax
cmpl $0x0, %eax
jne 0xff38
movl 0x18(%rbp), %eax
leaq 0x16351(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movq -0x50(%rbp), %rcx
movl 0x4(%rcx), %ecx
subl $0x1, %ecx
leaq 0x1633e(%rip), %rdx     # 0x26268
movl (%rdx), %edx
shll %edx
subl %edx, %ecx
cmpl %ecx, %eax
jne 0x10774
movl 0x20(%rbp), %eax
leaq 0x16326(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0xff62
movl 0x20(%rbp), %eax
leaq 0x1630d(%rip), %rcx     # 0x26268
subl (%rcx), %eax
cmpl $0x0, %eax
jne 0xff8d
movl 0x20(%rbp), %eax
leaq 0x162fc(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movq -0x50(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
leaq 0x162e9(%rip), %rdx     # 0x26268
movl (%rdx), %edx
shll %edx
subl %edx, %ecx
cmpl %ecx, %eax
jne 0x10355
movl 0x28(%rbp), %eax
movl %eax, -0x120(%rbp)
movl 0x10(%rbp), %eax
leaq 0x162c8(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x120(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x24(%rbp)
movl 0x28(%rbp), %eax
movl %eax, -0x11c(%rbp)
movl 0x10(%rbp), %eax
leaq 0x1629e(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x11c(%rbp), %eax
addl %ecx, %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
movl 0x30(%rbp), %eax
movl %eax, -0x118(%rbp)
movl 0x18(%rbp), %eax
leaq 0x16271(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x118(%rbp), %eax
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x2c(%rbp)
movl 0x30(%rbp), %eax
movl %eax, -0x114(%rbp)
movl 0x18(%rbp), %eax
leaq 0x16244(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x114(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x30(%rbp)
movl 0x38(%rbp), %eax
movl %eax, -0x110(%rbp)
movl 0x20(%rbp), %eax
leaq 0x1621a(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x110(%rbp), %eax
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x34(%rbp)
movl 0x38(%rbp), %eax
movl %eax, -0x10c(%rbp)
movl 0x20(%rbp), %eax
leaq 0x161ed(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x10c(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x38(%rbp)
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x108(%rbp)
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
movq -0x40(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm3
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm4
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm5
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm6
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm7
movq -0x40(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm8
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm15
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm14
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm13
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm12
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm11
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm10
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm9
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x100(%rbp)
movsd -0x108(%rbp), %xmm0
movsd %xmm8, (%rsp)
movsd -0x100(%rbp), %xmm8
movsd %xmm15, 0x8(%rsp)
movsd %xmm14, 0x10(%rsp)
movsd %xmm13, 0x18(%rsp)
movsd %xmm12, 0x20(%rsp)
movsd %xmm11, 0x28(%rsp)
movsd %xmm10, 0x30(%rsp)
movsd %xmm9, 0x38(%rsp)
movsd %xmm8, 0x40(%rsp)
callq 0x1a040
movq -0x50(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x1076f
movl 0x20(%rbp), %eax
leaq 0x15f09(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
je 0x10395
movl 0x20(%rbp), %eax
leaq 0x15ef0(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movq -0x50(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
leaq 0x15edd(%rip), %rdx     # 0x26268
movl (%rdx), %edx
shll %edx
subl %edx, %ecx
cmpl %ecx, %eax
jne 0x103aa
movl 0x20(%rbp), %eax
leaq 0x15ec9(%rip), %rcx     # 0x26268
subl (%rcx), %eax
cmpl $0x0, %eax
jne 0x1076d
movl 0x28(%rbp), %eax
movl %eax, -0x148(%rbp)
movl 0x10(%rbp), %eax
leaq 0x15eab(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x148(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x24(%rbp)
movl 0x28(%rbp), %eax
movl %eax, -0x144(%rbp)
movl 0x10(%rbp), %eax
leaq 0x15e81(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x144(%rbp), %eax
addl %ecx, %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
movl 0x30(%rbp), %eax
movl %eax, -0x140(%rbp)
movl 0x18(%rbp), %eax
leaq 0x15e54(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x140(%rbp), %eax
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x2c(%rbp)
movl 0x30(%rbp), %eax
movl %eax, -0x13c(%rbp)
movl 0x18(%rbp), %eax
leaq 0x15e27(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x13c(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x30(%rbp)
movl 0x38(%rbp), %eax
movl %eax, -0x138(%rbp)
movl 0x20(%rbp), %eax
leaq 0x15dfd(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x138(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x34(%rbp)
movl 0x38(%rbp), %eax
movl %eax, -0x134(%rbp)
movl 0x20(%rbp), %eax
leaq 0x15dd3(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x134(%rbp), %eax
addl %ecx, %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x130(%rbp)
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
movq -0x40(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm3
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm4
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm5
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm6
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm7
movq -0x40(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm8
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm15
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm14
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm13
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm12
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm11
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm10
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm9
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x128(%rbp)
movsd -0x130(%rbp), %xmm0
movsd %xmm8, (%rsp)
movsd -0x128(%rbp), %xmm8
movsd %xmm15, 0x8(%rsp)
movsd %xmm14, 0x10(%rsp)
movsd %xmm13, 0x18(%rsp)
movsd %xmm12, 0x20(%rsp)
movsd %xmm11, 0x28(%rsp)
movsd %xmm10, 0x30(%rsp)
movsd %xmm9, 0x38(%rsp)
movsd %xmm8, 0x40(%rsp)
callq 0x1a040
movq -0x50(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x1076f
jmp 0x11004
movl 0x18(%rbp), %eax
leaq 0x15aea(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
je 0x107b4
movl 0x18(%rbp), %eax
leaq 0x15ad1(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movq -0x50(%rbp), %rcx
movl 0x4(%rcx), %ecx
subl $0x1, %ecx
leaq 0x15abe(%rip), %rdx     # 0x26268
movl (%rdx), %edx
shll %edx
subl %edx, %ecx
cmpl %ecx, %eax
jne 0x107c9
movl 0x18(%rbp), %eax
leaq 0x15aaa(%rip), %rcx     # 0x26268
subl (%rcx), %eax
cmpl $0x0, %eax
jne 0x11002
movl 0x20(%rbp), %eax
leaq 0x15a95(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x107f3
movl 0x20(%rbp), %eax
leaq 0x15a7c(%rip), %rcx     # 0x26268
subl (%rcx), %eax
cmpl $0x0, %eax
jne 0x1081e
movl 0x20(%rbp), %eax
leaq 0x15a6b(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movq -0x50(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
leaq 0x15a58(%rip), %rdx     # 0x26268
movl (%rdx), %edx
shll %edx
subl %edx, %ecx
cmpl %ecx, %eax
jne 0x10be6
movl 0x28(%rbp), %eax
movl %eax, -0x170(%rbp)
movl 0x10(%rbp), %eax
leaq 0x15a37(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x170(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x24(%rbp)
movl 0x28(%rbp), %eax
movl %eax, -0x16c(%rbp)
movl 0x10(%rbp), %eax
leaq 0x15a0d(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x16c(%rbp), %eax
addl %ecx, %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
movl 0x30(%rbp), %eax
movl %eax, -0x168(%rbp)
movl 0x18(%rbp), %eax
leaq 0x159e0(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x168(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl 0x30(%rbp), %eax
movl %eax, -0x164(%rbp)
movl 0x18(%rbp), %eax
leaq 0x159b6(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x164(%rbp), %eax
addl %ecx, %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
movl 0x38(%rbp), %eax
movl %eax, -0x160(%rbp)
movl 0x20(%rbp), %eax
leaq 0x15989(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x160(%rbp), %eax
addl %ecx, %eax
subl $0x1, %eax
movl %eax, -0x34(%rbp)
movl 0x38(%rbp), %eax
movl %eax, -0x15c(%rbp)
movl 0x20(%rbp), %eax
leaq 0x1595c(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x15c(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x38(%rbp)
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x158(%rbp)
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
movq -0x40(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm3
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm4
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm5
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm6
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm7
movq -0x40(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm8
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm15
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm14
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm13
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm12
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm11
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm10
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm9
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x150(%rbp)
movsd -0x158(%rbp), %xmm0
movsd %xmm8, (%rsp)
movsd -0x150(%rbp), %xmm8
movsd %xmm15, 0x8(%rsp)
movsd %xmm14, 0x10(%rsp)
movsd %xmm13, 0x18(%rsp)
movsd %xmm12, 0x20(%rsp)
movsd %xmm11, 0x28(%rsp)
movsd %xmm10, 0x30(%rsp)
movsd %xmm9, 0x38(%rsp)
movsd %xmm8, 0x40(%rsp)
callq 0x1a040
movq -0x50(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x11000
movl 0x20(%rbp), %eax
leaq 0x15678(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
je 0x10c26
movl 0x20(%rbp), %eax
leaq 0x1565f(%rip), %rcx     # 0x26268
subl (%rcx), %eax
movq -0x50(%rbp), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
leaq 0x1564c(%rip), %rdx     # 0x26268
movl (%rdx), %edx
shll %edx
subl %edx, %ecx
cmpl %ecx, %eax
jne 0x10c3b
movl 0x20(%rbp), %eax
leaq 0x15638(%rip), %rcx     # 0x26268
subl (%rcx), %eax
cmpl $0x0, %eax
jne 0x10ffe
movl 0x28(%rbp), %eax
movl %eax, -0x198(%rbp)
movl 0x10(%rbp), %eax
leaq 0x1561a(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x198(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x24(%rbp)
movl 0x28(%rbp), %eax
movl %eax, -0x194(%rbp)
movl 0x10(%rbp), %eax
leaq 0x155f0(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x194(%rbp), %eax
addl %ecx, %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
movl 0x30(%rbp), %eax
movl %eax, -0x190(%rbp)
movl 0x18(%rbp), %eax
leaq 0x155c3(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x190(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl 0x30(%rbp), %eax
movl %eax, -0x18c(%rbp)
movl 0x18(%rbp), %eax
leaq 0x15599(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x18c(%rbp), %eax
addl %ecx, %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
movl 0x38(%rbp), %eax
movl %eax, -0x188(%rbp)
movl 0x20(%rbp), %eax
leaq 0x1556c(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x188(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x34(%rbp)
movl 0x38(%rbp), %eax
movl %eax, -0x184(%rbp)
movl 0x20(%rbp), %eax
leaq 0x15542(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movl -0x184(%rbp), %eax
addl %ecx, %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x180(%rbp)
movq -0x48(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm1
movq -0x40(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm2
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm3
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm4
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm5
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm6
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm7
movq -0x40(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm8
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm15
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm14
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm13
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x38(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm12
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm11
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm10
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm9
movq -0x58(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x34(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x178(%rbp)
movsd -0x180(%rbp), %xmm0
movsd %xmm8, (%rsp)
movsd -0x178(%rbp), %xmm8
movsd %xmm15, 0x8(%rsp)
movsd %xmm14, 0x10(%rsp)
movsd %xmm13, 0x18(%rsp)
movsd %xmm12, 0x20(%rsp)
movsd %xmm11, 0x28(%rsp)
movsd %xmm10, 0x30(%rsp)
movsd %xmm9, 0x38(%rsp)
movsd %xmm8, 0x40(%rsp)
callq 0x1a040
movq -0x50(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x11000
jmp 0x11002
jmp 0x11004
jmp 0x11006
jmp 0x11008
addq $0x1e0, %rsp            # imm = 0x1E0
popq %rbp
retq
nopw %cs:(%rax,%rax)