// File: suhasjains[P]AMR-Solver/src/ghost.cpp
// Function: amrsolver::exchange_ghost_val(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void exchange_ghost_val(int level, std::string name) {

	myOctree::create_lists_of_level_nodes();

	if(level_nodes[level].empty()) {
		std::cerr << "Error!: No blocks to exchange ghost values in level " << level << std::endl; 
		exit(1);
	}

	for (std::list<Octree*>::iterator it = level_nodes[level].begin(), end = level_nodes[level].end(); it != end; ++it) {	

		for(int l = 0; l<scalar_fields.size() ; l++) {
			
			Field *f = (*it)->get_block_data()->scalarfields[l];

                        if( f->name == name ) {
			
				//exchanging ghost cells
				for (int m=0; m<3; m++) {
                        		for (int n=0; n<2; n++) {

						if((*it)->bc[m][n] == NONE && (*it)->neighbour[m][n] != NULL) {
				
										
							if(n==RIGHT && m==XDIR) {
						
								for(int i=nx_block+pad; i<f->Nx; i++) {
                                                			for(int j=pad; j<ny_block+pad; j++) {
                                                        			for(int k=pad; k<nz_block+pad; k++) {
								
											f->val[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->scalarfields[l]->val[i-nx_block][j][k]; 
										}
									}
								}
							}
							if(n==LEFT && m==XDIR) {
						
								for(int i=0; i<pad; i++) {
                                                			for(int j=pad; j<ny_block+pad; j++) {
                                                        			for(int k=pad; k<nz_block+pad; k++) {
								
											f->val[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->scalarfields[l]->val[i+nx_block][j][k]; 
										}
									}
								}	
							}
							if(n==RIGHT && m==YDIR) {
						
								for(int i=pad; i<nx_block+pad; i++) {
                                                			for(int j=ny_block+pad; j<f->Ny; j++) {
                                                        			for(int k=pad; k<nz_block+pad; k++) {
								
											f->val[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->scalarfields[l]->val[i][j-ny_block][k]; 
										}
									}
								}
							}
							if(n==LEFT && m==YDIR) {
						
								for(int i=pad; i<nx_block+pad; i++) {
                                                			for(int j=0; j<pad; j++) {
                                                        			for(int k=pad; k<nz_block+pad; k++) {
								
											f->val[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->scalarfields[l]->val[i][j+ny_block][k]; 
										}
									}
								}	
							}
							if(n==RIGHT && m==ZDIR) {
						
								for(int i=pad; i<nx_block+pad; i++) {
                                                			for(int j=pad; j<ny_block+pad; j++) {
                                                        			for(int k=nz_block+pad; k<f->Nz; k++) {
								
											f->val[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->scalarfields[l]->val[i][j][k-nz_block]; 
										}
									}
								}
							}
							if(n==LEFT && m==ZDIR) {
						
								for(int i=pad; i<nx_block+pad; i++) {
                                                			for(int j=pad; j<ny_block+pad; j++) {
                                                        			for(int k=0; k<pad; k++) {
								
											f->val[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->scalarfields[l]->val[i][j][k+nz_block]; 
										}
									}
								}	
							}
						}
                                   	}
                          	}
			}
		}
		
		for(int l = 0; l<vector_fields.size() ; l++) {
			
			VecField *f = (*it)->get_block_data()->vectorfields[l];

                        if( f->name == name ) {
			
				//exchanging ghost cells
				for (int m=0; m<3; m++) {
                        		for (int n=0; n<2; n++) {

						if((*it)->bc[m][n] == NONE && (*it)->neighbour[m][n] != NULL) {
										
						
							if(n==RIGHT && m==XDIR) {
						
								for(int i=nx_block+pad; i<f->Nx; i++) {
                                                			for(int j=pad; j<ny_block+pad; j++) {
                                                        			for(int k=pad; k<nz_block+pad; k++) {
								
											f->x[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->x[i-nx_block][j][k]; 
											f->y[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->y[i-nx_block][j][k]; 
											f->z[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->z[i-nx_block][j][k]; 
										}
									}
								}
							}
							if(n==LEFT && m==XDIR) {
						
								for(int i=0; i<pad; i++) {
                                                			for(int j=pad; j<ny_block+pad; j++) {
                                                        			for(int k=pad; k<nz_block+pad; k++) {
								
											f->x[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->x[i+nx_block][j][k]; 
											f->y[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->y[i+nx_block][j][k]; 
											f->z[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->z[i+nx_block][j][k]; 
										}
									}
								}	
							}
							if(n==RIGHT && m==YDIR) {
						
								for(int i=pad; i<nx_block+pad; i++) {
                                                			for(int j=ny_block+pad; j<f->Ny; j++) {
                                                        			for(int k=pad; k<nz_block+pad; k++) {
								
											f->x[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->x[i][j-ny_block][k]; 
											f->y[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->y[i][j-ny_block][k]; 
											f->z[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->z[i][j-ny_block][k]; 
										}
									}
								}
							}
							if(n==LEFT && m==YDIR) {
						
								for(int i=pad; i<nx_block+pad; i++) {
                                                			for(int j=0; j<pad; j++) {
                                                        			for(int k=pad; k<nz_block+pad; k++) {
								
											f->x[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->x[i][j+ny_block][k]; 
											f->y[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->y[i][j+ny_block][k]; 
											f->z[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->z[i][j+ny_block][k]; 
										}
									}
								}	
							}
							if(n==RIGHT && m==ZDIR) {
						
								for(int i=pad; i<nx_block+pad; i++) {
                                                			for(int j=pad; j<ny_block+pad; j++) {
                                                        			for(int k=nz_block+pad; k<f->Nz; k++) {
								
											f->x[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->x[i][j][k-nz_block]; 
											f->y[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->y[i][j][k-nz_block]; 
											f->z[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->z[i][j][k-nz_block]; 
										}
									}
								}
							}
							if(n==LEFT && m==ZDIR) {
						
								for(int i=pad; i<nx_block+pad; i++) {
                                                			for(int j=pad; j<ny_block+pad; j++) {
                                                        			for(int k=0; k<pad; k++) {
								
											f->x[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->x[i][j][k+nz_block]; 
											f->y[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->y[i][j][k+nz_block]; 
											f->z[i][j][k] = \
							 (*it)->neighbour[m][n]->get_block_data()->vectorfields[l]->z[i][j][k+nz_block]; 
										}
									}
								}	
							}
						
						
						
						
						
						
						}
                                   	}
                          	}
			}
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rsi, -0xe8(%rbp)
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
callq 0x4a50
movslq -0x4(%rbp), %rax
leaq 0x19097(%rip), %rdi     # 0x262e0
imulq $0x18, %rax, %rax
addq %rax, %rdi
callq 0x12570
testb $0x1, %al
jne 0xd25b
jmp 0xd292
movq 0x18d8e(%rip), %rdi     # 0x25ff0
leaq 0x13f67(%rip), %rsi     # 0x211d0
callq 0x3240
movq %rax, %rdi
movl -0x4(%rbp), %esi
callq 0x3400
movq %rax, %rdi
movq 0x18d3d(%rip), %rsi     # 0x25fc0
callq 0x3270
movl $0x1, %edi
callq 0x32e0
movslq -0x4(%rbp), %rax
leaq 0x19043(%rip), %rdi     # 0x262e0
imulq $0x18, %rax, %rax
addq %rax, %rdi
callq 0x4490
movq %rax, -0x18(%rbp)
movslq -0x4(%rbp), %rax
leaq 0x19028(%rip), %rdi     # 0x262e0
imulq $0x18, %rax, %rax
addq %rax, %rdi
callq 0x44c0
movq %rax, -0x20(%rbp)
leaq -0x18(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x44f0
testb $0x1, %al
jne 0xd2de
jmp 0xecaa
movl $0x0, -0x24(%rbp)
movslq -0x24(%rbp), %rax
movq %rax, -0xf0(%rbp)
leaq 0x193c1(%rip), %rdi     # 0x266b8
callq 0x5b00
movq %rax, %rcx
movq -0xf0(%rbp), %rax
cmpq %rcx, %rax
jae 0xdb21
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rdi
callq 0x6de0
movq -0xe8(%rbp), %rsi
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
addq $0x18, %rdi
callq 0xd110
testb $0x1, %al
jne 0xd34d
jmp 0xdb11
movl $0x0, -0x34(%rbp)
cmpl $0x3, -0x34(%rbp)
jge 0xdb0f
movl $0x0, -0x38(%rbp)
cmpl $0x2, -0x38(%rbp)
jge 0xdaff
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x38, %rax
movslq -0x34(%rbp), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movslq -0x38(%rbp), %rcx
cmpl $0x0, (%rax,%rcx,4)
jne 0xdaef
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x34(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x38(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0xdaef
cmpl $0x0, -0x38(%rbp)
jne 0xd4f9
cmpl $0x0, -0x34(%rbp)
jne 0xd4f9
leaq 0x18e8f(%rip), %rax     # 0x2626c
movl (%rax), %eax
leaq 0x18e82(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
movq -0x30(%rbp), %rcx
cmpl (%rcx), %eax
jge 0xd4f7
leaq 0x18e67(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %eax
leaq 0x18e60(%rip), %rcx     # 0x26270
movl (%rcx), %ecx
leaq 0x18e4f(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xd4e7
leaq 0x18e3e(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %eax
leaq 0x18e3b(%rip), %rcx     # 0x26274
movl (%rcx), %ecx
leaq 0x18e26(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xd4d7
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x34(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x38(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movl -0x3c(%rbp), %ecx
leaq 0x18dde(%rip), %rdx     # 0x2626c
subl (%rdx), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0x40(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x44(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x40(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x44(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0xd42f
jmp 0xd4d9
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0xd406
jmp 0xd4e9
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0xd3eb
jmp 0xd4f9
cmpl $0x1, -0x38(%rbp)
jne 0xd625
cmpl $0x0, -0x34(%rbp)
jne 0xd625
movl $0x0, -0x48(%rbp)
movl -0x48(%rbp), %eax
leaq 0x18d4a(%rip), %rcx     # 0x26268
cmpl (%rcx), %eax
jge 0xd623
leaq 0x18d3b(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0x4c(%rbp)
movl -0x4c(%rbp), %eax
leaq 0x18d34(%rip), %rcx     # 0x26270
movl (%rcx), %ecx
leaq 0x18d23(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xd613
leaq 0x18d12(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0x50(%rbp)
movl -0x50(%rbp), %eax
leaq 0x18d0f(%rip), %rcx     # 0x26274
movl (%rcx), %ecx
leaq 0x18cfa(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xd603
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x34(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x38(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movl -0x48(%rbp), %ecx
leaq 0x18cb2(%rip), %rdx     # 0x2626c
addl (%rdx), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0x4c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x50(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x48(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x4c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x50(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x50(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x50(%rbp)
jmp 0xd55b
jmp 0xd605
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0xd532
jmp 0xd615
movl -0x48(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x48(%rbp)
jmp 0xd514
jmp 0xd625
cmpl $0x0, -0x38(%rbp)
jne 0xd75d
cmpl $0x1, -0x34(%rbp)
jne 0xd75d
leaq 0x18c28(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0x54(%rbp)
movl -0x54(%rbp), %eax
leaq 0x18c1d(%rip), %rcx     # 0x2626c
movl (%rcx), %ecx
leaq 0x18c10(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xd75b
leaq 0x18c07(%rip), %rax     # 0x26270
movl (%rax), %eax
leaq 0x18bf6(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl %eax, -0x58(%rbp)
movl -0x58(%rbp), %eax
movq -0x30(%rbp), %rcx
cmpl 0x4(%rcx), %eax
jge 0xd74b
leaq 0x18bda(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0x5c(%rbp)
movl -0x5c(%rbp), %eax
leaq 0x18bd7(%rip), %rcx     # 0x26274
movl (%rcx), %ecx
leaq 0x18bc2(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xd73b
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x34(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x38(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movslq -0x54(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x58(%rbp), %ecx
leaq 0x18b76(%rip), %rdx     # 0x26270
subl (%rdx), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0x5c(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x54(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x58(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x5c(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x5c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x5c(%rbp)
jmp 0xd693
jmp 0xd73d
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0xd677
jmp 0xd74d
movl -0x54(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x54(%rbp)
jmp 0xd645
jmp 0xd75d
cmpl $0x1, -0x38(%rbp)
jne 0xd889
cmpl $0x1, -0x34(%rbp)
jne 0xd889
leaq 0x18af0(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0x60(%rbp)
movl -0x60(%rbp), %eax
leaq 0x18ae5(%rip), %rcx     # 0x2626c
movl (%rcx), %ecx
leaq 0x18ad8(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xd887
movl $0x0, -0x64(%rbp)
movl -0x64(%rbp), %eax
leaq 0x18abd(%rip), %rcx     # 0x26268
cmpl (%rcx), %eax
jge 0xd877
leaq 0x18aae(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0x68(%rbp)
movl -0x68(%rbp), %eax
leaq 0x18aab(%rip), %rcx     # 0x26274
movl (%rcx), %ecx
leaq 0x18a96(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xd867
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x34(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x38(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movslq -0x60(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x64(%rbp), %ecx
leaq 0x18a4a(%rip), %rdx     # 0x26270
addl (%rdx), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0x68(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x60(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x64(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x68(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x68(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x68(%rbp)
jmp 0xd7bf
jmp 0xd869
movl -0x64(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x64(%rbp)
jmp 0xd7a1
jmp 0xd879
movl -0x60(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x60(%rbp)
jmp 0xd77d
jmp 0xd889
cmpl $0x0, -0x38(%rbp)
jne 0xd9c1
cmpl $0x2, -0x34(%rbp)
jne 0xd9c1
leaq 0x189c4(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0x6c(%rbp)
movl -0x6c(%rbp), %eax
leaq 0x189b9(%rip), %rcx     # 0x2626c
movl (%rcx), %ecx
leaq 0x189ac(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xd9bf
leaq 0x1899b(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0x70(%rbp)
movl -0x70(%rbp), %eax
leaq 0x18994(%rip), %rcx     # 0x26270
movl (%rcx), %ecx
leaq 0x18983(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xd9af
leaq 0x1897e(%rip), %rax     # 0x26274
movl (%rax), %eax
leaq 0x18969(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl %eax, -0x74(%rbp)
movl -0x74(%rbp), %eax
movq -0x30(%rbp), %rcx
cmpl 0x8(%rcx), %eax
jge 0xd99f
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x34(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x38(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movslq -0x6c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x70(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x74(%rbp), %ecx
leaq 0x1890e(%rip), %rdx     # 0x26274
subl (%rdx), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x6c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x70(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x74(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x74(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x74(%rbp)
jmp 0xd904
jmp 0xd9a1
movl -0x70(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x70(%rbp)
jmp 0xd8d2
jmp 0xd9b1
movl -0x6c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6c(%rbp)
jmp 0xd8a9
jmp 0xd9c1
cmpl $0x1, -0x38(%rbp)
jne 0xdaed
cmpl $0x2, -0x34(%rbp)
jne 0xdaed
leaq 0x1888c(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0x78(%rbp)
movl -0x78(%rbp), %eax
leaq 0x18881(%rip), %rcx     # 0x2626c
movl (%rcx), %ecx
leaq 0x18874(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xdaeb
leaq 0x18863(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0x7c(%rbp)
movl -0x7c(%rbp), %eax
leaq 0x1885c(%rip), %rcx     # 0x26270
movl (%rcx), %ecx
leaq 0x1884b(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xdadb
movl $0x0, -0x80(%rbp)
movl -0x80(%rbp), %eax
leaq 0x18830(%rip), %rcx     # 0x26268
cmpl (%rcx), %eax
jge 0xdacb
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x34(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x38(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x10(%rax), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movslq -0x78(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x7c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0x80(%rbp), %ecx
leaq 0x187e2(%rip), %rdx     # 0x26274
addl (%rdx), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x78(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x7c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x80(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x80(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x80(%rbp)
jmp 0xda2e
jmp 0xdacd
movl -0x7c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x7c(%rbp)
jmp 0xda0a
jmp 0xdadd
movl -0x78(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x78(%rbp)
jmp 0xd9e1
jmp 0xdaed
jmp 0xdaef
jmp 0xdaf1
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0xd365
jmp 0xdb01
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0xd354
jmp 0xdb11
jmp 0xdb13
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0xd2e5
movl $0x0, -0x84(%rbp)
movslq -0x84(%rbp), %rax
movq %rax, -0xf8(%rbp)
leaq 0x18b90(%rip), %rdi     # 0x266d0
callq 0x5b00
movq %rax, %rcx
movq -0xf8(%rbp), %rax
cmpq %rcx, %rax
jae 0xec9a
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rdi
callq 0x6de0
movq -0xe8(%rbp), %rsi
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rdi
addq $0x28, %rdi
callq 0xd110
testb $0x1, %al
jne 0xdb9f
jmp 0xec84
movl $0x0, -0x94(%rbp)
cmpl $0x3, -0x94(%rbp)
jge 0xec82
movl $0x0, -0x98(%rbp)
cmpl $0x2, -0x98(%rbp)
jge 0xec6c
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x38, %rax
movslq -0x94(%rbp), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
cmpl $0x0, (%rax,%rcx,4)
jne 0xec56
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0xec56
cmpl $0x0, -0x98(%rbp)
jne 0xdee4
cmpl $0x0, -0x94(%rbp)
jne 0xdee4
leaq 0x1861f(%rip), %rax     # 0x2626c
movl (%rax), %eax
leaq 0x18612(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl %eax, -0x9c(%rbp)
movl -0x9c(%rbp), %eax
movq -0x90(%rbp), %rcx
cmpl (%rcx), %eax
jge 0xdee2
leaq 0x185ee(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0xa0(%rbp)
movl -0xa0(%rbp), %eax
leaq 0x185e1(%rip), %rcx     # 0x26270
movl (%rcx), %ecx
leaq 0x185d0(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xdecc
leaq 0x185bf(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0xa4(%rbp)
movl -0xa4(%rbp), %eax
leaq 0x185b6(%rip), %rcx     # 0x26274
movl (%rcx), %ecx
leaq 0x185a1(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xdeb6
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movl -0x9c(%rbp), %ecx
leaq 0x1854d(%rip), %rdx     # 0x2626c
subl (%rdx), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0xa0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xa4(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x9c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xa0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xa4(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x18(%rax), %rax
movl -0x9c(%rbp), %ecx
leaq 0x184b2(%rip), %rdx     # 0x2626c
subl (%rdx), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0xa0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xa4(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0x9c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xa0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xa4(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x20(%rax), %rax
movl -0x9c(%rbp), %ecx
leaq 0x18417(%rip), %rdx     # 0x2626c
subl (%rdx), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0xa0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xa4(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0x9c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xa0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xa4(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0xa4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa4(%rbp)
jmp 0xdcb1
jmp 0xdeb8
movl -0xa0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa0(%rbp)
jmp 0xdc82
jmp 0xdece
movl -0x9c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x9c(%rbp)
jmp 0xdc5e
jmp 0xdee4
cmpl $0x1, -0x98(%rbp)
jne 0xe18e
cmpl $0x0, -0x94(%rbp)
jne 0xe18e
movl $0x0, -0xa8(%rbp)
movl -0xa8(%rbp), %eax
leaq 0x18353(%rip), %rcx     # 0x26268
cmpl (%rcx), %eax
jge 0xe18c
leaq 0x18344(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0xac(%rbp)
movl -0xac(%rbp), %eax
leaq 0x18337(%rip), %rcx     # 0x26270
movl (%rcx), %ecx
leaq 0x18326(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xe176
leaq 0x18315(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0xb0(%rbp)
movl -0xb0(%rbp), %eax
leaq 0x1830c(%rip), %rcx     # 0x26274
movl (%rcx), %ecx
leaq 0x182f7(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xe160
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movl -0xa8(%rbp), %ecx
leaq 0x182a3(%rip), %rdx     # 0x2626c
addl (%rdx), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0xac(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xb0(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0xa8(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xac(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xb0(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x18(%rax), %rax
movl -0xa8(%rbp), %ecx
leaq 0x18208(%rip), %rdx     # 0x2626c
addl (%rdx), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0xac(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xb0(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0xa8(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xac(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xb0(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x20(%rax), %rax
movl -0xa8(%rbp), %ecx
leaq 0x1816d(%rip), %rdx     # 0x2626c
addl (%rdx), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0xac(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xb0(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0xa8(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xac(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xb0(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0xb0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb0(%rbp)
jmp 0xdf5b
jmp 0xe162
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0xdf2c
jmp 0xe178
movl -0xa8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa8(%rbp)
jmp 0xdf08
jmp 0xe18e
cmpl $0x0, -0x98(%rbp)
jne 0xe447
cmpl $0x1, -0x94(%rbp)
jne 0xe447
leaq 0x180b9(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0xb4(%rbp)
movl -0xb4(%rbp), %eax
leaq 0x180a8(%rip), %rcx     # 0x2626c
movl (%rcx), %ecx
leaq 0x1809b(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xe445
leaq 0x18092(%rip), %rax     # 0x26270
movl (%rax), %eax
leaq 0x18081(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl %eax, -0xb8(%rbp)
movl -0xb8(%rbp), %eax
movq -0x90(%rbp), %rcx
cmpl 0x4(%rcx), %eax
jge 0xe42f
leaq 0x1805c(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0xbc(%rbp)
movl -0xbc(%rbp), %eax
leaq 0x18053(%rip), %rcx     # 0x26274
movl (%rcx), %ecx
leaq 0x1803e(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xe419
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movslq -0xb4(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0xb8(%rbp), %ecx
leaq 0x17fe3(%rip), %rdx     # 0x26270
subl (%rdx), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0xbc(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0xb4(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xb8(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xbc(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x18(%rax), %rax
movslq -0xb4(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0xb8(%rbp), %ecx
leaq 0x17f48(%rip), %rdx     # 0x26270
subl (%rdx), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0xbc(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0xb4(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xb8(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xbc(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x20(%rax), %rax
movslq -0xb4(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0xb8(%rbp), %ecx
leaq 0x17ead(%rip), %rdx     # 0x26270
subl (%rdx), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0xbc(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0xb4(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xb8(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xbc(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0xbc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xbc(%rbp)
jmp 0xe214
jmp 0xe41b
movl -0xb8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb8(%rbp)
jmp 0xe1ef
jmp 0xe431
movl -0xb4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb4(%rbp)
jmp 0xe1b7
jmp 0xe447
cmpl $0x1, -0x98(%rbp)
jne 0xe6f1
cmpl $0x1, -0x94(%rbp)
jne 0xe6f1
leaq 0x17e00(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0xc0(%rbp)
movl -0xc0(%rbp), %eax
leaq 0x17def(%rip), %rcx     # 0x2626c
movl (%rcx), %ecx
leaq 0x17de2(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xe6ef
movl $0x0, -0xc4(%rbp)
movl -0xc4(%rbp), %eax
leaq 0x17dc1(%rip), %rcx     # 0x26268
cmpl (%rcx), %eax
jge 0xe6d9
leaq 0x17db2(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0xc8(%rbp)
movl -0xc8(%rbp), %eax
leaq 0x17da9(%rip), %rcx     # 0x26274
movl (%rcx), %ecx
leaq 0x17d94(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xe6c3
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movslq -0xc0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0xc4(%rbp), %ecx
leaq 0x17d39(%rip), %rdx     # 0x26270
addl (%rdx), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0xc8(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0xc0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xc4(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xc8(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x18(%rax), %rax
movslq -0xc0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0xc4(%rbp), %ecx
leaq 0x17c9e(%rip), %rdx     # 0x26270
addl (%rdx), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0xc8(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0xc0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xc4(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xc8(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x20(%rax), %rax
movslq -0xc0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0xc4(%rbp), %ecx
leaq 0x17c03(%rip), %rdx     # 0x26270
addl (%rdx), %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0xc8(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0xc0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xc4(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xc8(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0xc8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc8(%rbp)
jmp 0xe4be
jmp 0xe6c5
movl -0xc4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc4(%rbp)
jmp 0xe49a
jmp 0xe6db
movl -0xc0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc0(%rbp)
jmp 0xe470
jmp 0xe6f1
cmpl $0x0, -0x98(%rbp)
jne 0xe9aa
cmpl $0x2, -0x94(%rbp)
jne 0xe9aa
leaq 0x17b56(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0xcc(%rbp)
movl -0xcc(%rbp), %eax
leaq 0x17b45(%rip), %rcx     # 0x2626c
movl (%rcx), %ecx
leaq 0x17b38(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xe9a8
leaq 0x17b27(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0xd0(%rbp)
movl -0xd0(%rbp), %eax
leaq 0x17b1a(%rip), %rcx     # 0x26270
movl (%rcx), %ecx
leaq 0x17b09(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xe992
leaq 0x17b04(%rip), %rax     # 0x26274
movl (%rax), %eax
leaq 0x17aef(%rip), %rcx     # 0x26268
addl (%rcx), %eax
movl %eax, -0xd4(%rbp)
movl -0xd4(%rbp), %eax
movq -0x90(%rbp), %rcx
cmpl 0x8(%rcx), %eax
jge 0xe97c
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movslq -0xcc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xd0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0xd4(%rbp), %ecx
leaq 0x17a79(%rip), %rdx     # 0x26274
subl (%rdx), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0xcc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xd0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xd4(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x18(%rax), %rax
movslq -0xcc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xd0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0xd4(%rbp), %ecx
leaq 0x179de(%rip), %rdx     # 0x26274
subl (%rdx), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0xcc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xd0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xd4(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x20(%rax), %rax
movslq -0xcc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xd0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0xd4(%rbp), %ecx
leaq 0x17943(%rip), %rdx     # 0x26274
subl (%rdx), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0xcc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xd0(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xd4(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0xd4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xd4(%rbp)
jmp 0xe781
jmp 0xe97e
movl -0xd0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xd0(%rbp)
jmp 0xe749
jmp 0xe994
movl -0xcc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xcc(%rbp)
jmp 0xe71a
jmp 0xe9aa
cmpl $0x1, -0x98(%rbp)
jne 0xec54
cmpl $0x2, -0x94(%rbp)
jne 0xec54
leaq 0x1789d(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0xd8(%rbp)
movl -0xd8(%rbp), %eax
leaq 0x1788c(%rip), %rcx     # 0x2626c
movl (%rcx), %ecx
leaq 0x1787f(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xec52
leaq 0x1786e(%rip), %rax     # 0x26268
movl (%rax), %eax
movl %eax, -0xdc(%rbp)
movl -0xdc(%rbp), %eax
leaq 0x17861(%rip), %rcx     # 0x26270
movl (%rcx), %ecx
leaq 0x17850(%rip), %rdx     # 0x26268
addl (%rdx), %ecx
cmpl %ecx, %eax
jge 0xec3c
movl $0x0, -0xe0(%rbp)
movl -0xe0(%rbp), %eax
leaq 0x1782f(%rip), %rcx     # 0x26268
cmpl (%rcx), %eax
jge 0xec26
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movslq -0xd8(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xdc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0xe0(%rbp), %ecx
leaq 0x177cf(%rip), %rdx     # 0x26274
addl (%rdx), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0xd8(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xdc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xe0(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x18(%rax), %rax
movslq -0xd8(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xdc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0xe0(%rbp), %ecx
leaq 0x17734(%rip), %rdx     # 0x26274
addl (%rdx), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x18(%rax), %rax
movslq -0xd8(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xdc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xe0(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
leaq -0x18(%rbp), %rdi
callq 0x4520
movq (%rax), %rax
addq $0x8, %rax
movslq -0x94(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movslq -0x98(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x6de0
movq 0x18(%rax), %rax
movslq -0x84(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x20(%rax), %rax
movslq -0xd8(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xdc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl -0xe0(%rbp), %ecx
leaq 0x17699(%rip), %rdx     # 0x26274
addl (%rdx), %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x90(%rbp), %rax
movq 0x20(%rax), %rax
movslq -0xd8(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xdc(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0xe0(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0xe0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe0(%rbp)
jmp 0xea2c
jmp 0xec28
movl -0xdc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xdc(%rbp)
jmp 0xea02
jmp 0xec3e
movl -0xd8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xd8(%rbp)
jmp 0xe9d3
jmp 0xec54
jmp 0xec56
jmp 0xec58
movl -0x98(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x98(%rbp)
jmp 0xdbc0
jmp 0xec6e
movl -0x94(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x94(%rbp)
jmp 0xdba9
jmp 0xec84
jmp 0xec86
movl -0x84(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x84(%rbp)
jmp 0xdb2b
jmp 0xec9c
leaq -0x18(%rbp), %rdi
callq 0x4550
jmp 0xd2c8
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
nopw %cs:(%rax,%rax)