// File: /workspace/github_c_makefile_star2_O2/mishun[P]plantri/plantri.c
// Function: scanpoly
static void
scanpoly(int nbtot, int nbop, EDGE *oldfeas[], int noldfeas,
         int oldmaxface, int oldmaxlist0, int oldmaxlist1, int connec)

/* This is the recursive search procedure for polytopes.
   oldfeas[0..noldfeas-1] are the edges which can be removed without
   violating the degree bound minpolydeg, with some (but not necessarily
   all) missing because they are known to violate the connectivity
   bound minpolyconnec.  nbtot/nbop represent the group, as usual.
   oldmaxface is the size of the largest face.
   inmaxface[oldmaxlist0..oldmaxlist1-1] lists the edges whose
   left face has greatest size (unless that is 3).  connec is
   the actual connectivity, except that values greater than 3
   are given as 3. */
{
    EDGE *newfeas[MAXE/2],*good_or[MAXE],*good_inv[MAXE],*e,*esave;
    int i,nnewfeas,minimal[MAXE/2],newmaxface;
    int code,xnbtot,xnbop;
    int ngood_or,ncan_or,ngood_inv,ncan_inv;
    int newmaxlist0,newmaxlist1,newconnec;

    if (ne <= edgebound[1]) got_one(nbtot,nbop,connec);
    if (ne == edgebound[0]) return;
    if (ne - 2*noldfeas > edgebound[1]) return;

#ifdef PRE_FILTER_POLY
    if (!(PRE_FILTER_POLY)) return;
#endif

    mark_edge_orbits(oldfeas,noldfeas,minimal,nbtot);

    for (i = 0; i < noldfeas; ++i)
    {
        if (!minimal[i]) continue;

        e = oldfeas[i];
        if (e->left_facesize != 3) e = e->invers;
	if (e->invers->left_facesize < oldmaxface-1
                      || e->invers->left_facesize == maxfacesize)
            continue;

	AMDELEDGE(e->start,e->end);

	newconnec = connec;
        code = maybe_delete(e,oldmaxface,oldmaxlist0,oldmaxlist1,
		            &newmaxface,&newmaxlist0,&newmaxlist1,
		            good_or,&ngood_or,&ncan_or,
		            good_inv,&ngood_inv,&ncan_inv,&newconnec);

        if (code == 0)
        {
#ifdef FAST_FILTER_POLY
            if (FAST_FILTER_POLY)
#endif  
            {
	        if (ngood_or + ngood_inv == 1)
	        {
                    esave = oldfeas[i];
                    oldfeas[i] = oldfeas[noldfeas-1];
                    prune_poly_edgelist(oldfeas,noldfeas-1,newfeas,&nnewfeas);
                    oldfeas[i] = esave;
                    scanpoly(1,1,newfeas,nnewfeas,
                             newmaxface,newmaxlist0,newmaxlist1,newconnec);
                }
                else if (canon_edge_oriented(good_or,ngood_or,ncan_or,
                    		             good_inv,ngood_inv,ncan_inv,
                    		             degree,numbering,&xnbtot,&xnbop))
                {
                 /* The following line corrects for the fact that canon*()
                    finds each automorphism twice if the maximum degree is
                    at most 2.  However, it interferes with -o so is disabled.
    
	            if (ne <= 2*nv && maxdegree() <= 2) xnbtot = xnbop;
                 */
		    esave = oldfeas[i];
                    oldfeas[i] = oldfeas[noldfeas-1];
                    prune_poly_edgelist(oldfeas,noldfeas-1,newfeas,&nnewfeas);
                    oldfeas[i] = esave;
                    scanpoly(xnbtot,xnbop,newfeas,nnewfeas,
			     newmaxface,newmaxlist0,newmaxlist1,newconnec);
                }
	    }
            insert_edge_tri(e);
        }
        else if (code == 1)
	{
	    oldfeas[i] = oldfeas[noldfeas-1];
	    minimal[i] = minimal[noldfeas-1];
	    --i;
	    --noldfeas;
	}
	AMADDEDGE(e->start,e->end);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x20e8, %rsp           # imm = 0x20E8
movl %r9d, 0xa4(%rsp)
movl %r8d, %r14d
movl %ecx, %r13d
movq %rdx, %r12
movl %edi, %ebx
movl 0x2128(%rsp), %edx
movl 0x22e8bf(%rip), %eax    # 0x242604
cmpl 0x10505(%rip), %eax     # 0x24250
jg 0x13d5a
movl %ebx, %edi
callq 0x658a
movl 0x22e8aa(%rip), %eax    # 0x242604
cmpl 0x104ec(%rip), %eax     # 0x2424c
je 0x13d70
subl %r13d, %eax
subl %r13d, %eax
cmpl 0x104e2(%rip), %eax     # 0x24250
jle 0x13d82
addq $0x20e8, %rsp           # imm = 0x20E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xe0(%rsp), %rdx
movq %r12, %rdi
movl %r13d, %esi
movl %ebx, %ecx
callq 0xd1e1
leal -0x1(%r14), %ebx
movslq 0x2120(%rsp), %rdx
leal 0x1(%rdx), %eax
leal 0x2(%rdx), %ecx
cltq
movq %rax, 0xd8(%rsp)
leal 0x3(%rdx), %eax
movslq %ecx, %rcx
movq %rcx, 0xd0(%rsp)
cltq
movq %rax, 0xc8(%rsp)
movq %rdx, %rax
shlq $0x20, %rax
movq %rax, 0xc0(%rsp)
leal -0x1(%rdx), %eax
movl %eax, 0xa0(%rsp)
leaq 0x275f45(%rip), %r15    # 0x289d30
movq %rdx, 0x98(%rsp)
leaq (%r15,%rdx,8), %rax
movq %rax, 0xb0(%rsp)
leaq 0x11dda(%rip), %r8      # 0x25be0
xorl %r10d, %r10d
movq %r12, 0x18(%rsp)
movq %r14, 0x20(%rsp)
movl %ebx, 0xc(%rsp)
cmpl %r13d, %r10d
jge 0x13d70
movslq %r10d, %rdx
cmpl $0x0, 0xe0(%rsp,%rdx,4)
je 0x14cd1
movq (%r12,%rdx,8), %rbp
cmpl $0x3, 0x38(%rbp)
je 0x13e3f
movq 0x20(%rbp), %rbp
movq 0x20(%rbp), %rcx
movl 0x38(%rcx), %eax
cmpl %ebx, %eax
jl 0x14cd1
cmpl 0x10400(%rip), %eax     # 0x24254
je 0x14cd1
movq %rdx, 0x90(%rsp)
movl %r10d, 0x8(%rsp)
movslq 0x4(%rbp), %r9
movslq (%rbp), %r10
movq %r9, %rax
shlq $0x6, %rax
leaq 0x274eb3(%rip), %rdi    # 0x288d30
addq %rdi, %rax
xorl %edx, %edx
movb %dl, (%r10,%rax)
movq %r10, %rax
shlq $0x6, %rax
addq %rdi, %rax
movb %dl, (%r9,%rax)
movl 0x38(%rcx), %eax
leal 0x1(%rax), %esi
cmpl %r14d, %eax
movl 0x2120(%rsp), %eax
cmovll 0xa4(%rsp), %eax
movl %eax, 0x84(%rsp)
movq %r8, %rax
movq %r10, 0x28(%rsp)
movl (%r8,%r10,4), %r8d
movq %r9, 0x30(%rsp)
movl (%rax,%r9,4), %edx
cmpl %edx, %r8d
movl %edx, %r9d
cmovll %r8d, %r9d
movq %r9, 0xb8(%rsp)
cmovgl %r8d, %edx
movq 0x10(%rbp), %r9
movq 0x18(%rbp), %r10
movq %r9, 0x70(%rsp)
movslq 0x4(%r9), %r11
movq %r10, 0x58(%rsp)
movslq 0x4(%r10), %r9
movq 0x10(%rcx), %r10
movl %esi, 0x4c(%rsp)
cmpl $0x4, %esi
jne 0x13f32
movq %r11, %rsi
shlq $0x6, %rsi
addq %rdi, %rsi
cmpb $0x0, (%r9,%rsi)
jne 0x13f62
leaq 0x11cc3(%rip), %rax     # 0x25be0
cmpl %edx, (%rax,%r11,4)
jge 0x1403d
cmpl %edx, (%rax,%r9,4)
jl 0x13f62
jmp 0x14c9a
cmpl %edx, (%rax,%r11,4)
jl 0x13f62
movslq 0x4(%r10), %rdi
movq %r11, %rsi
shlq $0x6, %rsi
leaq 0x274de6(%rip), %rax    # 0x288d30
addq %rax, %rsi
cmpb $0x0, (%rdi,%rsi)
je 0x14c9a
cmpb $0x0, (%r9,%rsi)
je 0x14c9a
leal -0x1(%rdx), %edi
movq 0x18(%rcx), %rax
movq %rax, 0x78(%rsp)
decl %r8d
leaq 0x11c68(%rip), %rax     # 0x25be0
movq 0x28(%rsp), %rcx
movl %r8d, (%rax,%rcx,4)
movq %rax, %r8
movq 0x30(%rsp), %rax
movslq (%r8,%rax,4), %r14
movq %r14, %rsi
decq %rsi
movq %rsi, 0x50(%rsp)
movl %esi, (%r8,%rax,4)
movslq (%r8,%rcx,4), %rbx
xorl %r12d, %r12d
cmpl %edi, %ebx
movq %rbx, 0x68(%rsp)
jne 0x13ffb
movq 0x70(%rsp), %rax
movslq 0x4(%rax), %rcx
movslq (%r8,%rcx,4), %r15
movq %rax, 0xf70(%rsp)
cmpl $0x4, 0x4c(%rsp)
jne 0x14019
movq 0x58(%rsp), %rax
movslq 0x4(%rax), %rcx
movslq (%r8,%rcx,4), %rcx
cmpl %r15d, %ecx
movabsq $0x100000000, %rax      # imm = 0x100000000
jle 0x14045
movq $0x0, 0x38(%rsp)
movq %rcx, 0x10(%rsp)
leaq 0x275d37(%rip), %r15    # 0x289d30
jmp 0x1405e
movq $0x0, 0x38(%rsp)
movq $0x0, 0x10(%rsp)
movabsq $0x100000000, %rax      # imm = 0x100000000
jmp 0x14071
movq %r15, 0x10(%rsp)
xorl %r12d, %r12d
pushq $0x1
popq %rax
movq %rax, 0x38(%rsp)
cmpl %edx, %r14d
movabsq $0x100000000, %rax      # imm = 0x100000000
je 0x14076
jmp 0x1417f
movq %rax, %r8
jmp 0x14ca1
pushq $0x1
popq %rsi
movq %rsi, 0x38(%rsp)
movq %r15, 0x10(%rsp)
cmpl %r15d, %ecx
leaq 0x275cd4(%rip), %r15    # 0x289d30
jne 0x14071
movq 0x58(%rsp), %rcx
movq %rcx, 0x3d0(%rsp)
pushq $0x1
popq %rcx
movl %ecx, %r12d
cmpl %edx, %r14d
jne 0x140e1
movl %edi, 0x8c(%rsp)
movq %r13, %rdi
movq %r9, %r13
movq %r12, %rsi
movq 0x78(%rsp), %r9
movslq 0x4(%r9), %rcx
movslq (%r8,%rcx,4), %rcx
xorl %r14d, %r14d
leaq 0x3d0(%rsp), %r15
pushq $0x1
popq %r12
cmpq %rcx, 0x10(%rsp)
jl 0x140cf
jne 0x140f1
movl %esi, %ecx
incl %esi
leaq (%rsp,%rcx,8), %r15
addq $0x3d0, %r15            # imm = 0x3D0
movq 0x38(%rsp), %rcx
movl %ecx, %r14d
movl %esi, %r12d
movq 0x10(%rsp), %rcx
movq 0x78(%rsp), %r9
movq %r9, (%r15)
movl %r14d, %esi
movq %rsi, 0x38(%rsp)
movq %rcx, 0x10(%rsp)
jmp 0x140f4
cmpl $0x4, 0x4c(%rsp)
jne 0x1417f
jmp 0x143d8
movq %rsi, %r12
cmpl $0x4, 0x4c(%rsp)
movq 0x68(%rsp), %rbx
movq %r13, %r9
jne 0x14175
movq %r12, %rsi
movslq 0x4(%r10), %rcx
movslq (%r8,%rcx,4), %rcx
xorl %r14d, %r14d
leaq 0xf70(%rsp), %r15
pushq $0x1
popq %r12
cmpq %rcx, 0x10(%rsp)
movq %rdi, %r13
movl 0x8c(%rsp), %edi
jl 0x14153
jne 0x143ce
movq 0x38(%rsp), %rax
movl %eax, %ecx
incl %eax
leaq (%rsp,%rcx,8), %r15
addq $0xf70, %r15            # imm = 0xF70
movq 0x10(%rsp), %rcx
movl %esi, %r14d
movl %eax, %r12d
movq %r10, (%r15)
movq %rcx, 0x10(%rsp)
movl %r14d, %ecx
movl %r12d, %eax
movq %rcx, %r12
movq %rax, 0x38(%rsp)
leaq 0x275bc0(%rip), %r15    # 0x289d30
jmp 0x143d8
movq %rdi, %r13
movl 0x8c(%rsp), %edi
movslq 0x4(%r10), %rcx
movq %r11, %r15
shlq $0x6, %r15
leaq 0x274b9f(%rip), %rsi    # 0x288d30
addq %rsi, %r15
cmpb $0x0, (%rcx,%r15)
movq 0x38(%rsp), %r14
movq %r12, 0x60(%rsp)
je 0x142e4
cmpb $0x0, (%r9,%r15)
je 0x14330
movq %r13, 0x40(%rsp)
movq 0x20(%r10), %r11
movq 0xb0(%rsp), %r10
movl 0xa0(%rsp), %ecx
movl %ecx, %ebx
movq 0xc0(%rsp), %r9
movq 0x10(%r11), %r15
movslq 0x4(%r11), %rsi
movslq 0x4(%r15), %rcx
movq %rsi, %r13
shlq $0x6, %r13
leaq 0x274b40(%rip), %r8     # 0x288d30
addq %r8, %r13
cmpb $0x0, (%rcx,%r13)
jne 0x1427e
leaq 0x119db(%rip), %r8      # 0x25be0
movl (%r8,%rsi,4), %esi
cmpl %edx, %esi
jge 0x145ca
movl (%r8,%rcx,4), %ecx
cmpl %edx, %ecx
jge 0x145ca
movslq (%r11), %r13
movslq (%r8,%r13,4), %r13
cmpl %edi, %esi
jne 0x14251
cmpq %r13, 0x10(%rsp)
jl 0x145ca
jne 0x14251
movq 0x20(%r11), %rsi
movslq %r14d, %rax
incl %r14d
movq %rsi, 0xf70(%rsp,%rax,8)
movabsq $0x100000000, %rax      # imm = 0x100000000
cmpl %edi, %ecx
jne 0x1427e
cmpq %r13, 0x10(%rsp)
jl 0x14647
jne 0x1427e
movq 0x20(%r15), %rax
movslq %r12d, %rcx
incl %r12d
movq %rax, 0x3d0(%rsp,%rcx,8)
movabsq $0x100000000, %rax      # imm = 0x100000000
movq %r11, (%r10)
movq 0x20(%r15), %r11
addq %rax, %r9
incl %ebx
addq $0x8, %r10
cmpq 0x58(%rsp), %r11
jne 0x141d6
movq %rax, %rcx
movq %r9, %rax
sarq $0x1d, %rax
leaq 0x275a86(%rip), %r15    # 0x289d30
movq 0x78(%rsp), %rsi
movq %rsi, (%rax,%r15)
movq 0x70(%rsp), %rax
movq 0x20(%rax), %rax
addq %r9, %rcx
sarq $0x1d, %rcx
movq %rax, (%rcx,%r15)
movabsq $0x200000000, %rax      # imm = 0x200000000
addq %rax, %r9
sarq $0x20, %r9
leaq 0x11901(%rip), %r8      # 0x25be0
jmp 0x1444a
movl (%r8,%rcx,4), %ecx
cmpl %edx, %ecx
jge 0x1438b
movq %r11, %rsi
movq %rbx, %r11
movslq 0x50(%rsp), %rbx
movq 0x38(%rsp), %r14
movq %rsi, 0x50(%rsp)
cmpl %edi, (%r8,%rsi,4)
movq 0x18(%rsp), %r12
jne 0x14794
cmpq %rbx, 0x10(%rsp)
jge 0x1476a
incl %r11d
movq 0x28(%rsp), %rax
movl %r11d, (%r8,%rax,4)
jmp 0x147ac
movq %r11, %rsi
movq %rbx, %r11
movl (%r8,%r9,4), %ecx
cmpl %edx, %ecx
movl 0xc(%rsp), %ebx
jge 0x143a9
movq %r10, %r9
cmpl %edi, (%r8,%rsi,4)
jne 0x14838
cmpq %r11, 0x10(%rsp)
leaq 0x2759d5(%rip), %r15    # 0x289d30
movl 0x8(%rsp), %r10d
jge 0x1481f
leal 0x1(%r11), %eax
movq 0x28(%rsp), %rcx
movl %eax, (%r8,%rcx,4)
movq 0x30(%rsp), %rax
incl (%r8,%rax,4)
movq 0x20(%rsp), %r14
movq 0x18(%rsp), %r12
jmp 0x14ca6
incl %ebx
movq 0x28(%rsp), %rax
movl %ebx, (%r8,%rax,4)
movq 0x30(%rsp), %rax
incl (%r8,%rax,4)
movq 0x20(%rsp), %r14
jmp 0x1466a
leal 0x1(%r11), %eax
movq 0x28(%rsp), %rcx
movl %eax, (%r8,%rcx,4)
movq 0x30(%rsp), %rax
incl (%r8,%rax,4)
movq 0x20(%rsp), %r14
movq 0x18(%rsp), %r12
jmp 0x14673
leaq 0x27595b(%rip), %r15    # 0x289d30
movq %rsi, %r12
movq %r11, %rcx
shlq $0x6, %rcx
leaq 0x27494a(%rip), %rax    # 0x288d30
addq %rax, %rcx
cmpb $0x0, (%r9,%rcx)
movq 0x38(%rsp), %r14
movq %r12, 0x60(%rsp)
je 0x1467f
movq %r13, 0x40(%rsp)
movq 0x70(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x98(%rsp), %rax
movq %rcx, (%r15,%rax,8)
movq 0xd8(%rsp), %rax
movq 0x78(%rsp), %rcx
movq %rcx, (%r15,%rax,8)
movq 0x20(%r10), %rcx
movq 0xd0(%rsp), %rax
movq %rcx, (%r15,%rax,8)
movq 0xc8(%rsp), %r9
movl 0x2120(%rsp), %eax
movl %eax, %ebx
movq 0xb8(%rsp), %rax
decl %eax
movq %rax, 0x50(%rsp)
movq 0x58(%rsp), %rax
movq %rax, (%r15,%r9,8)
addl $0x4, %ebx
movslq 0x84(%rsp), %r9
leaq (%r15,%r9,8), %r10
movslq %r12d, %r13
movslq %r14d, %r15
cmpq 0x98(%rsp), %r9
jge 0x145dc
movq (%r10), %r11
movslq (%r11), %rcx
movl (%r8,%rcx,4), %esi
cmpl %edx, %esi
jge 0x144d3
cmpl %edi, %esi
jne 0x145be
movslq 0x4(%r11), %rax
movslq (%r8,%rax,4), %rax
cmpq %rax, 0x10(%rsp)
jge 0x14520
movq 0x20(%r11), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rax
shlq $0x6, %rcx
leaq 0x27486f(%rip), %rsi    # 0x288d30
addq %rsi, %rcx
cmpb $0x0, (%rax,%rcx)
jne 0x1454e
jmp 0x14647
movq 0x20(%r11), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rax
shlq $0x6, %rcx
leaq 0x274846(%rip), %rsi    # 0x288d30
addq %rsi, %rcx
cmpb $0x0, (%rax,%rcx)
je 0x14647
movq 0x10(%r11), %rax
movslq (%rax), %rcx
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movslq 0x4(%rax), %rax
shlq $0x6, %rcx
addq %rsi, %rcx
cmpb $0x0, (%rax,%rcx)
jne 0x145be
jmp 0x145ca
jne 0x1454e
movq 0x20(%r11), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rax
shlq $0x6, %rcx
leaq 0x2747f7(%rip), %rsi    # 0x288d30
addq %rsi, %rcx
cmpb $0x0, (%rax,%rcx)
jne 0x1454e
leal 0x1(%r13), %r12d
movq %r11, 0x3d0(%rsp,%r13,8)
movq 0x10(%r11), %rcx
movslq 0x4(%rcx), %rax
movslq (%r8,%rax,4), %rax
cmpq %rax, 0x10(%rsp)
jge 0x14586
movslq (%rcx), %rax
movq 0x20(%rcx), %rcx
movq 0x10(%rcx), %rcx
movslq 0x4(%rcx), %rcx
shlq $0x6, %rax
leaq 0x2747b5(%rip), %rsi    # 0x288d30
addq %rsi, %rax
cmpb $0x0, (%rcx,%rax)
jne 0x145be
jmp 0x145ca
jne 0x145be
movslq (%rcx), %rax
movq 0x20(%rcx), %rsi
movq 0x10(%rsi), %rsi
movslq 0x4(%rsi), %rsi
shlq $0x6, %rax
leaq 0x27478e(%rip), %r8     # 0x288d30
addq %r8, %rax
cmpb $0x0, (%rsi,%rax)
jne 0x145b7
leal 0x1(%r15), %r14d
movq %rcx, 0xf70(%rsp,%r15,8)
leaq 0x11622(%rip), %r8      # 0x25be0
incq %r9
addq $0x8, %r10
jmp 0x14471
movq 0x68(%rsp), %rcx
incl %ecx
movq 0x28(%rsp), %rax
movl %ecx, (%r8,%rax,4)
jmp 0x14657
movq 0xb8(%rsp), %rax
cmpl 0x2128(%rsp), %eax
movl 0x8(%rsp), %r10d
movq 0x90(%rsp), %r11
movq 0x50(%rsp), %rdx
jle 0x14943
movl 0x2128(%rsp), %eax
cmpl $0x2, %eax
je 0x14713
pushq $0x1
popq %rcx
movl %ecx, %edx
cmpl $0x3, %eax
jne 0x14943
movq %rbp, %rdi
callq 0x14e47
movq 0x90(%rsp), %r11
movl 0x8(%rsp), %r10d
leaq 0x115a3(%rip), %r8      # 0x25be0
movl %eax, %edx
orl $0x2, %edx
jmp 0x14943
movq 0x68(%rsp), %rax
incl %eax
movq 0x28(%rsp), %rcx
movl %eax, (%r8,%rcx,4)
movq 0x30(%rsp), %rax
incl (%r8,%rax,4)
movq 0x20(%rsp), %r14
movq 0x40(%rsp), %r13
movq 0x18(%rsp), %r12
movl 0xc(%rsp), %ebx
leaq 0x2756b6(%rip), %r15    # 0x289d30
jmp 0x14ca1
movq 0x38(%rsp), %r14
movq 0x60(%rsp), %r12
cmpl %edi, (%r8,%r11,4)
movq 0x10(%rsp), %rax
jne 0x148a8
cmpq %rbx, %rax
jge 0x146b9
leal 0x1(%rbx), %eax
movq 0x28(%rsp), %rcx
movl %eax, (%r8,%rcx,4)
movq 0x30(%rsp), %rax
incl (%r8,%rax,4)
movq 0x20(%rsp), %r14
jmp 0x14705
movq 0x60(%rsp), %r12
movq 0x20(%rsp), %r14
jne 0x146e6
movq 0x70(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x60(%rsp), %rax
leal 0x1(%rax), %r12d
movl %eax, %esi
movq 0x10(%rsp), %rax
movq %rcx, 0x3d0(%rsp,%rsi,8)
cmpq 0x50(%rsp), %rax
jge 0x147d1
incl %ebx
movq 0x28(%rsp), %rax
movl %ebx, (%r8,%rax,4)
movq 0x30(%rsp), %rax
incl (%r8,%rax,4)
movq 0x18(%rsp), %r12
movl 0xc(%rsp), %ebx
jmp 0x14ca1
pushq $0x1
popq %rax
movl %eax, %edx
movq 0x58(%rsp), %rax
cmpq 0x70(%rsp), %rax
je 0x14943
movq 0x70(%rsp), %rax
movslq 0x4(%rax), %rcx
cmpl $0x2, (%r8,%rcx,4)
pushq $0x2
popq %rax
movl %eax, %edx
je 0x14943
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rax
movq %rbp, %rdx
movq 0x20(%rdx), %rdx
movq 0x10(%rdx), %rdx
cmpq %rax, %rdx
je 0x1493e
cmpl %ecx, 0x4(%rdx)
jne 0x1474d
pushq $0x1
jmp 0x14940
movq 0x38(%rsp), %r14
jne 0x14794
movq 0x78(%rsp), %rsi
movq 0x20(%rsi), %rsi
movq 0x38(%rsp), %r12
leal 0x1(%r12), %r14d
movl %r12d, %r12d
movq %rsi, 0xf70(%rsp,%r12,8)
movq 0x18(%rsp), %r12
cmpl %edi, %ecx
jne 0x147bf
cmpq %rbx, 0x10(%rsp)
jge 0x147fd
leal 0x1(%r11), %eax
movq 0x28(%rsp), %rcx
movl %eax, (%r8,%rcx,4)
movq 0x30(%rsp), %rax
incl (%r8,%rax,4)
movq 0x20(%rsp), %r14
jmp 0x1466f
movq 0x60(%rsp), %r12
movq %r11, %rbx
movq 0x50(%rsp), %r11
jmp 0x141a9
jne 0x148a3
movq 0x78(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x38(%rsp), %rax
leal 0x1(%rax), %r14d
movl %eax, %esi
movq 0x10(%rsp), %rax
movq %rcx, 0xf70(%rsp,%rsi,8)
jmp 0x148a8
movq %r11, %rbx
jne 0x1492c
movq 0x20(%r10), %rcx
movq 0x60(%rsp), %rsi
leal 0x1(%rsi), %r12d
movl %esi, %esi
movq %rcx, 0x3d0(%rsp,%rsi,8)
jmp 0x147c7
jne 0x1483d
movq 0x70(%rsp), %rsi
movq 0x20(%rsi), %rsi
movl %r12d, %r10d
incl %r12d
movq %rsi, 0x3d0(%rsp,%r10,8)
movl 0x8(%rsp), %r10d
cmpl %edi, %ecx
jne 0x1486c
cmpq %r11, 0x10(%rsp)
jge 0x14879
incl %r11d
movq 0x28(%rsp), %rax
movl %r11d, (%r8,%rax,4)
movq 0x30(%rsp), %rax
incl (%r8,%rax,4)
movq 0x20(%rsp), %r14
movq 0x18(%rsp), %r12
jmp 0x14993
movq %r13, 0x40(%rsp)
movq %r9, %r10
jmp 0x141b9
movq %r9, %r10
movq %r13, 0x40(%rsp)
jne 0x141b9
movq 0x58(%rsp), %rcx
movq 0x20(%rcx), %rcx
movl %r14d, %esi
incl %r14d
movq %rcx, 0xf70(%rsp,%rsi,8)
jmp 0x141b9
movq 0x38(%rsp), %r14
cmpl %edi, (%r8,%r9,4)
jne 0x143fe
movq %r10, %r9
cmpq %rbx, %rax
movl 0x8(%rsp), %r10d
jge 0x148cc
incl %ebx
movq 0x28(%rsp), %rax
movl %ebx, (%r8,%rax,4)
jmp 0x148fd
jne 0x148ea
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x10(%rsp), %rax
movl %r14d, %esi
incl %r14d
movq %rcx, 0xf70(%rsp,%rsi,8)
cmpq 0x50(%rsp), %rax
jge 0x14910
leal 0x1(%rbx), %eax
movq 0x28(%rsp), %rcx
movl %eax, (%r8,%rcx,4)
movq 0x30(%rsp), %rax
incl (%r8,%rax,4)
movq 0x20(%rsp), %r14
jmp 0x14dcd
jne 0x14936
movq %r9, %r10
movq 0x20(%r9), %rcx
movl %r12d, %esi
incl %r12d
movq %rcx, 0x3d0(%rsp,%rsi,8)
jmp 0x143fe
movq 0x60(%rsp), %r12
jmp 0x147c7
movq %r9, %r10
jmp 0x143fe
pushq $0x2
popq %rax
movl %eax, %edx
movq 0x40(%rsp), %rcx
movslq %ecx, %rsi
cmpl 0xf843(%rip), %edx      # 0x24194
jge 0x1499f
movq 0x28(%rsp), %rax
incl (%r8,%rax,4)
movq 0x30(%rsp), %rax
incl (%r8,%rax,4)
decl %ecx
movq 0x18(%rsp), %r12
movq -0x8(%r12,%rsi,8), %rax
movq %rax, (%r12,%r11,8)
movl 0xdc(%rsp,%rsi,4), %eax
movl %eax, 0xe0(%rsp,%r11,4)
decl %r10d
movq 0x20(%rsp), %r14
movq %rcx, %r13
movl 0xc(%rsp), %ebx
leaq 0x275396(%rip), %r15    # 0x289d30
jmp 0x14ca6
movq %rsi, 0x10(%rsp)
movq %rdx, 0x50(%rsp)
movq %rcx, 0x40(%rsp)
movq 0x10(%rbp), %rax
movq 0x18(%rbp), %rcx
movq %rcx, 0x18(%rax)
movq %rax, 0x10(%rcx)
movq 0x20(%rbp), %rax
movq 0x10(%rax), %rcx
movq 0x18(%rax), %rax
movq %rax, 0x18(%rcx)
movq %rcx, 0x10(%rax)
movslq %ebx, %rax
movq 0xb0(%rsp), %rcx
movq 0x98(%rsp), %r9
movl 0x4c(%rsp), %edi
movq 0x38(%rsp), %rdx
movq 0x78(%rsp), %r10
cmpq %rax, %r9
jge 0x14a07
movq (%rcx), %rsi
movl %edi, 0x38(%rsi)
incq %r9
addq $0x8, %rcx
jmp 0x149f3
addl $-0x2, 0x22dbf6(%rip)   # 0x242604
leaq 0x10fcb(%rip), %rax     # 0x259e0
movq 0x28(%rsp), %rcx
movq 0x70(%rsp), %rsi
movq %rsi, (%rax,%rcx,8)
movq 0x30(%rsp), %rcx
movq %r10, (%rax,%rcx,8)
leal (%r12,%r14), %eax
cmpl $0x1, %eax
jne 0x14aa3
leaq 0x2752f4(%rip), %r15    # 0x289d30
leal (%r14,%r12), %eax
cmpl $0x1, %eax
movq 0x40(%rsp), %r13
jne 0x14bc4
movq 0x18(%rsp), %r12
movq (%r12,%r11,8), %rax
movq %rax, 0x58(%rsp)
leal -0x1(%r13), %esi
movq 0x10(%rsp), %rax
movq -0x8(%r12,%rax,8), %rax
movq %rax, (%r12,%r11,8)
movq %r12, %rdi
leaq 0x1b10(%rsp), %rdx
leaq 0x88(%rsp), %rcx
movq %r11, %r14
callq 0x13115
movq 0x58(%rsp), %rax
movq %rax, (%r12,%r14,8)
movl 0x88(%rsp), %ecx
pushq $0x1
popq %rdi
movl %edi, %esi
jmp 0x14c68
movl %edx, %r10d
xorl %ecx, %ecx
xorl %eax, %eax
movq 0x18(%rsp), %r12
cmpq %rcx, %r10
je 0x14ae3
movq 0xf70(%rsp,%rcx,8), %rsi
movq 0x20(%rsi), %rdi
movq 0x10(%rdi), %rdi
movslq 0x4(%rdi), %rdi
movslq (%r8,%rdi,4), %rdi
shlq $0xa, %rdi
movslq 0x38(%rsi), %rsi
addq %rdi, %rsi
cmpq %rax, %rsi
cmovgq %rsi, %rax
incq %rcx
jmp 0x14aaf
movl 0x60(%rsp), %ecx
xorl %esi, %esi
cmpq %rsi, %rcx
je 0x14b24
movq 0x3d0(%rsp,%rsi,8), %rdi
movq 0x20(%rdi), %rdi
movq 0x18(%rdi), %r8
movslq 0x4(%r8), %r8
leaq 0x110d7(%rip), %r9      # 0x25be0
movslq (%r9,%r8,4), %r8
shlq $0xa, %r8
movslq 0x38(%rdi), %rdi
addq %r8, %rdi
cmpq %rax, %rdi
cmovgq %rdi, %rax
incq %rsi
jmp 0x14ae9
xorl %esi, %esi
xorl %edx, %edx
cmpq %rsi, %r10
je 0x14b6e
movq 0xf70(%rsp,%rsi,8), %rdi
movq 0x20(%rdi), %r8
movq 0x10(%r8), %r8
movslq 0x4(%r8), %r8
leaq 0x11098(%rip), %r9      # 0x25be0
movslq (%r9,%r8,4), %r8
shlq $0xa, %r8
movslq 0x38(%rdi), %r9
addq %r8, %r9
cmpq %rax, %r9
jne 0x14b69
movslq %edx, %r8
incl %edx
movq %rdi, 0xf70(%rsp,%r8,8)
incq %rsi
jmp 0x14b28
movl %edx, %r14d
cmpq %r15, %r10
leaq 0x11065(%rip), %r8      # 0x25be0
jge 0x14cd9
movq 0xf70(%rsp,%r10,8), %rsi
movq 0x20(%rsi), %rdi
movq 0x10(%rdi), %rdi
movslq 0x4(%rdi), %rdi
movslq (%r8,%rdi,4), %rdi
shlq $0xa, %rdi
movslq 0x38(%rsi), %r8
addq %rdi, %r8
cmpq %rax, %r8
jne 0x14bb9
movslq %r14d, %rdi
incl %r14d
movq %rsi, 0xf70(%rsp,%rdi,8)
jmp 0x14bbf
jg 0x14d81
incq %r10
jmp 0x14b71
subq $0x8, %rsp
leaq 0xf78(%rsp), %rdi
movl %r14d, %esi
leaq 0x3d8(%rsp), %rcx
movl %r12d, %r8d
movq 0x68(%rsp), %r9
leaq 0xb0(%rsp), %rax
pushq %rax
leaq 0xbc(%rsp), %rax
pushq %rax
leaq 0x10fe4(%rip), %rax     # 0x25be0
pushq %rax
callq 0xb886
addq $0x20, %rsp
testl %eax, %eax
movq 0x18(%rsp), %r12
je 0x14c89
movq 0x90(%rsp), %r14
movq (%r12,%r14,8), %rax
movq %rax, 0x58(%rsp)
leal -0x1(%r13), %esi
movq 0x10(%rsp), %rax
movq -0x8(%r12,%rax,8), %rax
movq %rax, (%r12,%r14,8)
movq %r12, %rdi
leaq 0x1b10(%rsp), %rdx
leaq 0x88(%rsp), %rcx
callq 0x13115
movq 0x58(%rsp), %rax
movq %rax, (%r12,%r14,8)
movl 0xac(%rsp), %edi
movl 0xa8(%rsp), %esi
movl 0x88(%rsp), %ecx
leaq 0x1b10(%rsp), %rdx
movl 0x4c(%rsp), %r8d
movl 0x84(%rsp), %r9d
pushq 0x50(%rsp)
pushq %rbx
callq 0x13d14
popq %rax
popq %rcx
movq %rbp, %rdi
callq 0x14ddb
movq 0x20(%rsp), %r14
movl 0xc(%rsp), %ebx
leaq 0x10f3f(%rip), %r8      # 0x25be0
movl 0x8(%rsp), %r10d
movslq 0x4(%rbp), %rax
movslq (%rbp), %rcx
movq %rax, %rdx
shlq $0x6, %rdx
leaq 0x274074(%rip), %rsi    # 0x288d30
addq %rsi, %rdx
movb $0x1, %dil
movb %dil, (%rcx,%rdx)
shlq $0x6, %rcx
addq %rsi, %rcx
movb %dil, (%rax,%rcx)
incl %r10d
jmp 0x13e17
xorl %r10d, %r10d
xorl %r12d, %r12d
leaq 0x27504a(%rip), %r15    # 0x289d30
cmpq %r10, %rcx
je 0x14d2d
movq 0x3d0(%rsp,%r10,8), %rsi
movq 0x20(%rsi), %rdi
movq 0x18(%rdi), %r8
movslq 0x4(%r8), %r8
leaq 0x10eda(%rip), %r9      # 0x25be0
movslq (%r9,%r8,4), %r8
shlq $0xa, %r8
movslq 0x38(%rdi), %rdi
addq %r8, %rdi
cmpq %rax, %rdi
jne 0x14d28
movslq %r12d, %rdi
incl %r12d
movq %rsi, 0x3d0(%rsp,%rdi,8)
incq %r10
jmp 0x14ce6
movq %r12, 0x60(%rsp)
leaq 0x10ea7(%rip), %r8      # 0x25be0
cmpq %r13, %rcx
jge 0x14a3c
movq 0x3d0(%rsp,%rcx,8), %r9
movq 0x20(%r9), %rsi
movq 0x18(%rsi), %rdi
movslq 0x4(%rdi), %rdi
movslq (%r8,%rdi,4), %rdi
shlq $0xa, %rdi
movslq 0x38(%rsi), %rsi
addq %rdi, %rsi
cmpq %rax, %rsi
jne 0x14d7a
movslq %r12d, %rsi
incl %r12d
movq %r9, 0x3d0(%rsp,%rsi,8)
jmp 0x14d7c
jg 0x14daf
incq %rcx
jmp 0x14d39
movq %rbp, %rdi
callq 0x14ddb
movl 0x8(%rsp), %r10d
movq 0x20(%rsp), %r14
movq 0x40(%rsp), %r13
movl 0xc(%rsp), %ebx
leaq 0x274f8d(%rip), %r15    # 0x289d30
leaq 0x10e36(%rip), %r8      # 0x25be0
jmp 0x14ca6
movq %rbp, %rdi
callq 0x14ddb
movl 0x8(%rsp), %r10d
leaq 0x10e1d(%rip), %r8      # 0x25be0
movq 0x20(%rsp), %r14
movq 0x40(%rsp), %r13
movq 0x18(%rsp), %r12
movl 0xc(%rsp), %ebx
jmp 0x14ca6