// File: /workspace/github_cpp_makefile_star2_O3/Luthaf[P]zeopp/voro++/src/cell.cc
// Function: bool voro::voronoicell_base::nplane<voro::voronoicell_neighbor>(voro::voronoicell_neighbor&, double, double, double, double, int)
bool voronoicell_base::nplane(vc_class &vc,double x,double y,double z,double rsq,int p_id) {
	int i,j,lp=up,cp,qp,*dsp;
	int us=0,ls=0;
	unsigned int uw,lw;
	int *edp,*edd;stackp=ds;
	double u,l=0;up=0;

	// Initialize the safe testing routine
	px=x;py=y;pz=z;prsq=rsq;
	maskc+=4;
	if(maskc<4) reset_mask();

	uw=m_test(up,u);
	if(uw==2) {
		if(!search_downward(lw,lp,ls,us,l,u)) return false;
		if(lw==1) {up=lp;lp=-1;}
	} else if(uw==0) {
		if(!search_upward(uw,lp,ls,us,l,u)) return true;
		if(uw==1) lp=-1;
	} else {
		lp=-1;
	}

	// Set stack pointers
	stackp=ds;stackp2=ds2;stackp3=xse;

	// Store initial number of vertices
	int op=p;

	if(create_facet(vc,lp,ls,l,us,u,p_id)) return false;
	int k=0;int xtra=0;
	while(xse+k<stackp3) {
		lp=xse[k++];
		uw=m_test(lp,l);
		for(ls=0;ls<nu[lp];ls++) {
			up=ed[lp][ls];

			// Skip if this is a new vertex
			uw=m_test(up,u);
			if(up>=op) continue;

			if(uw==0) {
				if(u>-big_tol&&ed[up][nu[up]<<1]!=-1) {
					ed[up][nu[up]<<1]=-1;
					if(stackp3==stacke3) add_memory_xse();
					*(stackp3++)=up;
				}
			} else if(uw==1) {

				// This is a possible facet starting
				// from a vertex on the cutting plane
				if(create_facet(vc,-1,0,0,0,u,p_id)) return false;
			} else {

				// This is a new facet
				us=ed[lp][nu[lp]+ls];
				m_test(lp,l);
				if(create_facet(vc,lp,ls,l,us,u,p_id)) return false;
			}
		}
		xtra++;
	}

	// Reset back pointers on extra search stack
	for(dsp=xse;dsp<stackp3;dsp++) {
		j=*dsp;
		ed[j][nu[j]<<1]=j;
	}

	// Delete points: first, remove any duplicates
	dsp=ds;
	while(dsp<stackp) {
		j=*dsp;
		if(ed[j][nu[j]]!=-1) {
			ed[j][nu[j]]=-1;
			dsp++;
		} else *dsp=*(--stackp);
	}

	// Add the points in the auxiliary delete stack,
	// and reset their back pointers
	for(dsp=ds2;dsp<stackp2;dsp++) {
		j=*dsp;
		ed[j][nu[j]<<1]=j;
		if(ed[j][nu[j]]!=-1) {
			ed[j][nu[j]]=-1;
			if(stackp==stacke) add_memory_ds();
			*(stackp++)=j;
		}
	}

	// Scan connections and add in extras
	for(dsp=ds;dsp<stackp;dsp++) {
		cp=*dsp;
		for(edp=ed[cp];edp<ed[cp]+nu[cp];edp++) {
			qp=*edp;
			if(qp!=-1&&ed[qp][nu[qp]]!=-1) {
				if(stackp==stacke) {
					int dis=stackp-dsp;
					add_memory_ds();
					dsp=ds+dis;
				}
				*(stackp++)=qp;
				ed[qp][nu[qp]]=-1;
			}
		}
	}
	up=0;

	// Delete them from the array structure
	while(stackp>ds) {
		--p;
		while(ed[p][nu[p]]==-1) {
			j=nu[p];
			edp=ed[p];edd=(mep[j]+((j<<1)+1)*--mec[j]);
			while(edp<ed[p]+(j<<1)+1) *(edp++)=*(edd++);
			vc.n_set_aux2_copy(p,j);
			vc.n_copy_pointer(ed[p][(j<<1)],p);
			ed[ed[p][(j<<1)]]=ed[p];
			--p;
		}
		up=*(--stackp);
		if(up<p) {

			// Vertex management
			pts[(up<<2)]=pts[(p<<2)];
			pts[(up<<2)+1]=pts[(p<<2)+1];
			pts[(up<<2)+2]=pts[(p<<2)+2];

			// Memory management
			j=nu[up];
			edp=ed[up];edd=(mep[j]+((j<<1)+1)*--mec[j]);
			while(edp<ed[up]+(j<<1)+1) *(edp++)=*(edd++);
			vc.n_set_aux2_copy(up,j);
			vc.n_copy_pointer(ed[up][j<<1],up);
			vc.n_copy_pointer(up,p);
			ed[ed[up][j<<1]]=ed[up];

			// Edge management
			ed[up]=ed[p];
			nu[up]=nu[p];
			for(i=0;i<nu[up];i++) ed[ed[up][i]][ed[up][nu[up]+i]]=up;
			ed[up][nu[up]<<1]=up;
		} else up=p++;
	}

	// Check for any vertices of zero order
	if(*mec>0) voro_fatal_error("Zero order vertex formed",VOROPP_INTERNAL_ERROR);

	// Collapse any order 2 vertices and exit
	return collapse_order2(vc);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r14
movl 0x20(%rdi), %eax
movl %eax, 0xc(%rsp)
xorl %esi, %esi
movl %esi, 0x14(%rsp)
movl %esi, 0x10(%rsp)
movq 0x78(%rdi), %rax
movq %rax, 0x80(%rdi)
movq $0x0, 0x28(%rsp)
movl %esi, 0x20(%rdi)
movsd %xmm0, 0xc8(%rdi)
movsd %xmm1, 0xd0(%rdi)
movsd %xmm2, 0xd8(%rdi)
movsd %xmm3, 0xe0(%rdi)
movl 0xc0(%rdi), %eax
leal 0x4(%rax), %ecx
movl %ecx, 0xc0(%rdi)
cmpl $-0x4, %eax
jb 0xe6e0
cmpl $0x0, 0x8(%r14)
jle 0xe6ce
movq 0x38(%r14), %rax
xorl %ecx, %ecx
movl $0x0, (%rax,%rcx,4)
incq %rcx
movslq 0x8(%r14), %rdx
cmpq %rdx, %rcx
jl 0xe6b5
movl 0x20(%r14), %esi
jmp 0xe6d0
xorl %esi, %esi
movl $0x4, 0xc0(%r14)
movl $0x4, %ecx
movq 0x38(%r14), %rax
movslq %esi, %rdx
movl (%rax,%rdx,4), %eax
cmpl %ecx, %eax
jae 0xe6fd
leaq 0x18(%rsp), %rdx
movq %r14, %rdi
callq 0xa220
jmp 0xe719
movq 0x40(%r14), %rcx
leal 0x3(,%rsi,4), %edx
movslq %edx, %rdx
movsd (%rcx,%rdx,8), %xmm0
movsd %xmm0, 0x18(%rsp)
andl $0x3, %eax
movl %eax, 0x24(%rsp)
testl %eax, %eax
je 0xe76d
cmpl $0x2, %eax
jne 0xe7ad
leaq 0x18(%rsp), %rax
movq %rax, (%rsp)
leaq 0x34(%rsp), %rsi
leaq 0xc(%rsp), %rdx
leaq 0x10(%rsp), %rcx
leaq 0x14(%rsp), %r8
leaq 0x28(%rsp), %r9
movq %r14, %rdi
callq 0xc850
testb %al, %al
je 0xe80c
cmpl $0x1, 0x34(%rsp)
movl 0xc(%rsp), %edx
jne 0xe7ba
movl %edx, 0x20(%r14)
jmp 0xe7ad
leaq 0x18(%rsp), %rax
movq %rax, (%rsp)
leaq 0x24(%rsp), %rsi
leaq 0xc(%rsp), %rdx
leaq 0x10(%rsp), %rcx
leaq 0x14(%rsp), %r8
leaq 0x28(%rsp), %r9
movq %r14, %rdi
callq 0xca8e
movb $0x1, %r13b
testb %al, %al
je 0xef9c
cmpl $0x1, 0x24(%rsp)
jne 0xefae
movl $0xffffffff, 0xc(%rsp)  # imm = 0xFFFFFFFF
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movq 0x78(%r14), %rax
movq %rax, 0x80(%r14)
movq 0x90(%r14), %rax
movq %rax, 0x98(%r14)
movq 0xa8(%r14), %rax
movq %rax, 0xb0(%r14)
movl 0x1c(%r14), %r15d
movl 0x10(%rsp), %ecx
movsd 0x28(%rsp), %xmm0
movl 0x14(%rsp), %r8d
movsd 0x18(%rsp), %xmm1
movq %r14, %rdi
movq %rbx, %rsi
movl %ebp, %r9d
callq 0xefb8
testb %al, %al
je 0xe814
xorl %r13d, %r13d
jmp 0xef9c
movq 0xa8(%r14), %rdx
movq 0xb0(%r14), %rax
cmpq %rax, %rdx
jae 0xea77
xorl %r12d, %r12d
xorl %r13d, %r13d
movslq (%rdx), %rsi
movl %esi, 0xc(%rsp)
movq 0x38(%r14), %rax
movl (%rax,%rsi,4), %eax
cmpl 0xc0(%r14), %eax
jae 0xe85c
movq %r14, %rdi
leaq 0x28(%rsp), %rdx
callq 0xa220
movslq 0xc(%rsp), %rsi
jmp 0xe876
movq 0x40(%r14), %rcx
movq %rsi, %rdx
shlq $0x5, %rdx
movsd 0x18(%rcx,%rdx), %xmm0
movsd %xmm0, 0x28(%rsp)
andl $0x3, %eax
movl %eax, 0x24(%rsp)
movl $0x0, 0x10(%rsp)
movq 0x30(%r14), %rax
cmpl $0x0, (%rax,%rsi,4)
jle 0xea57
xorl %eax, %eax
movq 0x28(%r14), %rcx
movq 0x38(%r14), %rdx
movq (%rcx,%rsi,8), %rcx
cltq
movl (%rcx,%rax,4), %esi
movslq %esi, %rcx
movl %ecx, 0x20(%r14)
movl (%rdx,%rcx,4), %eax
cmpl 0xc0(%r14), %eax
jae 0xe8c9
movq %r14, %rdi
leaq 0x18(%rsp), %rdx
callq 0xa220
movl 0x20(%r14), %esi
jmp 0xe8e0
movq 0x40(%r14), %rdx
shlq $0x5, %rcx
movsd 0x18(%rdx,%rcx), %xmm0
movsd %xmm0, 0x18(%rsp)
andl $0x3, %eax
movl %eax, 0x24(%rsp)
cmpl %r15d, %esi
jge 0xea25
cmpl $0x1, %eax
je 0xe96a
testl %eax, %eax
jne 0xe999
movsd 0x18(%rsp), %xmm0
movsd 0x58(%r14), %xmm1
xorpd 0x28732(%rip), %xmm1    # 0x37040
ucomisd %xmm1, %xmm0
jbe 0xea25
movslq %esi, %rcx
movq 0x28(%r14), %rax
movq 0x30(%r14), %rdx
movq (%rax,%rcx,8), %rax
movl (%rdx,%rcx,4), %ecx
addl %ecx, %ecx
movslq %ecx, %rcx
cmpl $-0x1, (%rax,%rcx,4)
je 0xea25
movl $0xffffffff, (%rax,%rcx,4) # imm = 0xFFFFFFFF
movq 0xb0(%r14), %rax
cmpq 0xb8(%r14), %rax
je 0xea43
movl 0x20(%r14), %ecx
leaq 0x4(%rax), %rdx
movq %rdx, 0xb0(%r14)
movl %ecx, (%rax)
jmp 0xea25
movsd 0x18(%rsp), %xmm1
xorpd %xmm0, %xmm0
movq %r14, %rdi
movq %rbx, %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %ebp, %r9d
callq 0xefb8
testb %al, %al
je 0xea25
jmp 0xef9c
movl 0xc(%rsp), %edx
movslq %edx, %rax
movq 0x28(%r14), %rcx
movq 0x30(%r14), %rsi
movq (%rcx,%rax,8), %rdi
movslq (%rsi,%rax,4), %rsi
movslq 0x10(%rsp), %rcx
addq %rcx, %rsi
movl (%rdi,%rsi,4), %r8d
movl %r8d, 0x14(%rsp)
movq 0x38(%r14), %rsi
movl (%rsi,%rax,4), %esi
cmpl 0xc0(%r14), %esi
jae 0xe9f5
movq %r14, %rdi
movl %edx, %esi
leaq 0x28(%rsp), %rdx
callq 0xa220
movl 0xc(%rsp), %edx
movl 0x10(%rsp), %ecx
movsd 0x28(%rsp), %xmm0
movl 0x14(%rsp), %r8d
jmp 0xea09
movq 0x40(%r14), %rsi
shlq $0x5, %rax
movsd 0x18(%rsi,%rax), %xmm0
movsd %xmm0, 0x28(%rsp)
movsd 0x18(%rsp), %xmm1
movq %r14, %rdi
movq %rbx, %rsi
movl %ebp, %r9d
callq 0xefb8
testb %al, %al
jne 0xe80c
movl 0x10(%rsp), %eax
incl %eax
movl %eax, 0x10(%rsp)
movq 0x30(%r14), %rcx
movslq 0xc(%rsp), %rsi
cmpl (%rcx,%rsi,4), %eax
jl 0xe892
jmp 0xea57
movq %r14, %rdi
callq 0x234a
movq 0xb0(%r14), %rax
jmp 0xe954
incq %r12
movq 0xa8(%r14), %rcx
movq 0xb0(%r14), %rax
leaq (%rcx,%r12,4), %rdx
cmpq %rax, %rdx
jb 0xe831
jmp 0xea7a
movq %rdx, %rcx
cmpq %rax, %rcx
jae 0xeaa5
movq 0x28(%r14), %rdx
movq 0x30(%r14), %rsi
movslq (%rcx), %rdi
movq (%rdx,%rdi,8), %r8
movl (%rsi,%rdi,4), %r9d
addl %r9d, %r9d
movslq %r9d, %r9
movl %edi, (%r8,%r9,4)
addq $0x4, %rcx
cmpq %rax, %rcx
jb 0xea87
movq 0x78(%r14), %rax
movq 0x80(%r14), %rcx
cmpq %rcx, %rax
jae 0xeaf8
movq 0x28(%r14), %rdx
movq 0x30(%r14), %rsi
movq %rax, %rdi
movslq (%rdi), %r9
movq (%rdx,%r9,8), %r8
movslq (%rsi,%r9,4), %r9
cmpl $-0x1, (%r8,%r9,4)
je 0xeae0
movl $0xffffffff, (%r8,%r9,4) # imm = 0xFFFFFFFF
addq $0x4, %rdi
jmp 0xeaf3
leaq -0x4(%rcx), %r8
movq %r8, 0x80(%r14)
movl -0x4(%rcx), %ecx
movl %ecx, (%rdi)
movq %r8, %rcx
cmpq %rcx, %rdi
jb 0xeac0
movq 0x90(%r14), %r15
movq 0x98(%r14), %rdx
cmpq %rdx, %r15
jae 0xeb79
movslq (%r15), %r12
movq 0x28(%r14), %rax
movq 0x30(%r14), %rsi
movq (%rax,%r12,8), %rax
movl (%rsi,%r12,4), %edi
addl %edi, %edi
movslq %edi, %rdi
movl %r12d, (%rax,%rdi,4)
movslq (%rsi,%r12,4), %rsi
cmpl $-0x1, (%rax,%rsi,4)
je 0xeb52
movl $0xffffffff, (%rax,%rsi,4) # imm = 0xFFFFFFFF
cmpq 0x88(%r14), %rcx
je 0xeb5d
leaq 0x4(%rcx), %rax
movq %rax, 0x80(%r14)
movl %r12d, (%rcx)
movq %rax, %rcx
addq $0x4, %r15
cmpq %rdx, %r15
jb 0xeb0b
jmp 0xeb75
movq %r14, %rdi
callq 0x2410
movq 0x80(%r14), %rcx
movq 0x98(%r14), %rdx
jmp 0xeb41
movq 0x78(%r14), %rax
cmpq %rcx, %rax
jae 0xec35
movq 0x28(%r14), %rdx
movq 0x30(%r14), %rsi
movq %rax, %rdi
movslq (%rdi), %r15
cmpl $0x0, (%rsi,%r15,4)
jle 0xec28
movq (%rdx,%r15,8), %r12
movq %rcx, %r13
movslq (%r12), %rbp
cmpq $-0x1, %rbp
je 0xebe6
movq (%rdx,%rbp,8), %r8
movslq (%rsi,%rbp,4), %r9
cmpl $-0x1, (%r8,%r9,4)
je 0xebe6
cmpq 0x88(%r14), %r13
je 0xebfd
leaq 0x4(%r13), %rcx
movq %rcx, 0x80(%r14)
movl %ebp, (%r13)
movq (%rdx,%rbp,8), %r8
movslq (%rsi,%rbp,4), %r9
movl $0xffffffff, (%r8,%r9,4) # imm = 0xFFFFFFFF
movq %rcx, %r13
addq $0x4, %r12
movslq (%rsi,%r15,4), %r8
shlq $0x2, %r8
addq (%rdx,%r15,8), %r8
cmpq %r8, %r12
jb 0xeba2
jmp 0xec28
subq %rdi, %r13
movq %r14, %rdi
callq 0x2410
movq 0x78(%r14), %rax
shrq $0x2, %r13
movslq %r13d, %rcx
leaq (%rax,%rcx,4), %rdi
movq 0x80(%r14), %r13
movq 0x28(%r14), %rdx
movq 0x30(%r14), %rsi
jmp 0xebc4
addq $0x4, %rdi
cmpq %rcx, %rdi
jb 0xeb8d
movl $0x0, 0x20(%r14)
cmpq %rax, %rcx
jbe 0xef74
movq 0x28(%r14), %rax
movq 0x30(%r14), %rdx
movslq 0x1c(%r14), %rsi
leaq -0x1(%rsi), %r10
movl %r10d, 0x1c(%r14)
movq -0x8(%rax,%rsi,8), %r9
movl -0x4(%rdx,%rsi,4), %edi
movslq %edi, %r8
cmpl $-0x1, (%r9,%r8,4)
jne 0xed80
movq 0x68(%r14), %rcx
movq 0x70(%r14), %rdx
movq (%rdx,%r8,8), %r10
leal (%rdi,%rdi), %edx
movslq (%rcx,%r8,4), %r11
decq %r11
movl %r11d, (%rcx,%r8,4)
movslq %edx, %rcx
movl 0x1c(%r14), %esi
movslq %esi, %rdx
movq (%rax,%rdx,8), %r15
leaq (%r15,%rcx,4), %r15
addq $0x4, %r15
cmpq %r15, %r9
jae 0xece3
movq %rcx, %rdx
orq $0x1, %rdx
imulq %rdx, %r11
leaq (%r10,%r11,4), %r10
addq $-0x4, %r9
leaq (,%rcx,4), %r11
movl (%r10), %edx
addq $0x4, %r10
movl %edx, 0x4(%r9)
addq $0x4, %r9
movl 0x1c(%r14), %esi
movslq %esi, %rdx
movq (%rax,%rdx,8), %r15
addq %r11, %r15
cmpq %r15, %r9
jb 0xecc1
movq 0x68(%rbx), %r9
movq 0xe8(%rbx), %r10
movl (%r9,%r8,4), %r9d
imull %edi, %r9d
movslq %r9d, %r9
shlq $0x2, %r9
addq (%r10,%r8,8), %r9
movq %r9, 0x100(%rbx)
movq 0xf0(%rbx), %r8
testl %edi, %edi
jle 0xed2f
movq (%r8,%rdx,8), %rdx
movl %edi, %esi
xorl %edi, %edi
movl (%r9,%rdi,4), %r10d
movl %r10d, (%rdx,%rdi,4)
incq %rdi
cmpq %rdi, %rsi
jne 0xed1b
movl 0x1c(%r14), %esi
movslq %esi, %rdi
movq (%rax,%rdi,8), %rax
movslq (%rax,%rcx,4), %rax
movq (%r8,%rdi,8), %rdx
movq %rdx, (%r8,%rax,8)
movq 0x28(%r14), %rax
movq (%rax,%rdi,8), %rdx
movslq (%rdx,%rcx,4), %rcx
movq %rdx, (%rax,%rcx,8)
leal -0x1(%rdi), %r10d
movl %r10d, 0x1c(%r14)
movq 0x28(%r14), %rax
movq 0x30(%r14), %rdx
movq -0x8(%rax,%rdi,8), %r9
movl -0x4(%rdx,%rdi,4), %edi
movslq %edi, %r8
cmpl $-0x1, (%r9,%r8,4)
je 0xec71
movq 0x80(%r14), %rcx
leaq -0x4(%rcx), %rdi
movq %rdi, 0x80(%r14)
movslq -0x4(%rcx), %rcx
movl %ecx, 0x20(%r14)
cmpl %r10d, %ecx
jge 0xef5f
movq 0x40(%r14), %rsi
leal (,%r10,4), %edi
movslq %edi, %rdi
movsd (%rsi,%rdi,8), %xmm0
leal (,%rcx,4), %edi
movslq %edi, %rdi
movsd %xmm0, (%rsi,%rdi,8)
leal 0x1(,%r10,4), %edi
movslq %edi, %rdi
movsd (%rsi,%rdi,8), %xmm0
leal 0x1(,%rcx,4), %edi
movslq %edi, %rdi
movsd %xmm0, (%rsi,%rdi,8)
leal 0x2(,%r10,4), %edi
movslq %edi, %rdi
movsd (%rsi,%rdi,8), %xmm0
leal 0x2(,%rcx,4), %edi
movslq %edi, %rdi
movsd %xmm0, (%rsi,%rdi,8)
movslq (%rdx,%rcx,4), %rdx
movq (%rax,%rcx,8), %rsi
movq 0x68(%r14), %rcx
movq 0x70(%r14), %rdi
movq (%rdi,%rdx,8), %r9
leal (%rdx,%rdx), %edi
movslq (%rcx,%rdx,4), %r10
decq %r10
movl %r10d, (%rcx,%rdx,4)
movslq %edi, %rcx
movl 0x20(%r14), %edi
movslq %edi, %r8
movq (%rax,%r8,8), %r11
leaq (%r11,%rcx,4), %r11
addq $0x4, %r11
cmpq %r11, %rsi
jae 0xee73
movq %rcx, %rdi
orq $0x1, %rdi
imulq %rdi, %r10
leaq (%r9,%r10,4), %r9
addq $-0x4, %rsi
movl (%r9), %edi
addq $0x4, %r9
movl %edi, 0x4(%rsi)
addq $0x4, %rsi
movl 0x20(%r14), %edi
movslq %edi, %r8
leaq (,%rcx,4), %r10
addq (%rax,%r8,8), %r10
cmpq %r10, %rsi
jb 0xee4d
movq 0x68(%rbx), %rsi
movq 0xe8(%rbx), %r10
movl (%rsi,%rdx,4), %esi
imull %edx, %esi
movslq %esi, %r9
shlq $0x2, %r9
addq (%r10,%rdx,8), %r9
movq %r9, 0x100(%rbx)
movq 0xf0(%rbx), %rsi
testl %edx, %edx
jle 0xeebc
movq (%rsi,%r8,8), %rdi
xorl %r8d, %r8d
movl (%r9,%r8,4), %r10d
movl %r10d, (%rdi,%r8,4)
incq %r8
cmpq %r8, %rdx
jne 0xeea8
movl 0x20(%r14), %edi
movslq %edi, %rdi
movq (%rax,%rdi,8), %rax
movslq (%rax,%rcx,4), %rax
movq (%rsi,%rdi,8), %rdx
movq %rdx, (%rsi,%rax,8)
movslq 0x1c(%r14), %rax
movq 0xf0(%rbx), %rdx
movq (%rdx,%rax,8), %rsi
movq %rsi, (%rdx,%rdi,8)
movq 0x28(%r14), %rdx
movq (%rdx,%rdi,8), %rsi
movslq (%rsi,%rcx,4), %rcx
movq %rsi, (%rdx,%rcx,8)
movq 0x28(%r14), %rcx
movq (%rcx,%rax,8), %rdx
movq %rdx, (%rcx,%rdi,8)
movq 0x30(%r14), %rdx
movl (%rdx,%rax,4), %eax
movl %eax, (%rdx,%rdi,4)
movl 0x20(%r14), %ecx
movslq %ecx, %rdi
movl (%rdx,%rdi,4), %esi
movq 0x28(%r14), %rax
testl %esi, %esi
jle 0xef4a
xorl %r8d, %r8d
movq (%rax,%rdi,8), %rdi
movslq (%rdi,%r8,4), %r9
movq (%rax,%r9,8), %r9
movslq %esi, %rsi
addq %r8, %rsi
movslq (%rdi,%rsi,4), %rsi
movl %ecx, (%r9,%rsi,4)
incq %r8
movl 0x20(%r14), %ecx
movslq %ecx, %rdi
movslq (%rdx,%rdi,4), %rsi
cmpq %rsi, %r8
jl 0xef1d
movq (%rax,%rdi,8), %rdi
addl %esi, %esi
movslq %esi, %rsi
movl %ecx, (%rdi,%rsi,4)
movq 0x80(%r14), %rdi
jmp 0xef67
movl %esi, 0x1c(%r14)
movl %r10d, 0x20(%r14)
movq %rdi, %rcx
cmpq 0x78(%r14), %rdi
ja 0xec4e
movq 0x68(%r14), %rax
cmpl $0x0, (%rax)
jle 0xef8e
leaq 0x29c2a(%rip), %rdi     # 0x38bae
movl $0x3, %esi
callq 0x133c5
movq %r14, %rdi
movq %rbx, %rsi
callq 0x10b1e
movl %eax, %r13d
movl %r13d, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl 0xc(%rsp), %edx
jmp 0xe7ba
nop