// File: /workspace/github_c_makefile_star2_O1/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 $0x20f8, %rsp           # imm = 0x20F8
movl %r9d, 0xa8(%rsp)
movq %r8, 0xb8(%rsp)
movl %ecx, %r15d
movq %rdx, %r12
movl %edi, %ebx
movl 0x22f38a(%rip), %eax    # 0x244614
cmpl 0x10fd0(%rip), %eax     # 0x26260
jg 0x152a0
movl %ebx, %edi
movl 0x2138(%rsp), %edx
callq 0x76f0
movl 0x22f36e(%rip), %eax    # 0x244614
cmpl 0x10fb0(%rip), %eax     # 0x2625c
je 0x16225
subl %r15d, %eax
subl %r15d, %eax
cmpl 0x10fa2(%rip), %eax     # 0x26260
jg 0x16225
leaq 0xf0(%rsp), %rdx
movq %r12, %rdi
movl %r15d, %esi
movl %ebx, %ecx
callq 0xe1f9
testl %r15d, %r15d
jle 0x16225
movabsq $0x100000000, %rdx      # imm = 0x100000000
movq 0xb8(%rsp), %rax
decl %eax
movl %eax, 0xac(%rsp)
movslq 0x2130(%rsp), %rsi
leal 0x1(%rsi), %eax
leal 0x2(%rsi), %ecx
cltq
movq %rax, 0xe0(%rsp)
leal 0x3(%rsi), %eax
movslq %ecx, %rcx
movq %rcx, 0xd8(%rsp)
cltq
movq %rax, 0xd0(%rsp)
movq %rsi, %rax
shlq $0x20, %rax
movq %rax, 0xc8(%rsp)
leal -0x1(%rsi), %eax
movl %eax, 0xa4(%rsp)
leaq 0x2769f3(%rip), %rax    # 0x28bd40
leaq (%rax,%rsi,8), %rdi
movq %rsi, 0xe8(%rsp)
negq %rsi
movq %rsi, 0xc0(%rsp)
leaq 0x12885(%rip), %rbp     # 0x27bf0
xorl %r8d, %r8d
movq %rax, 0x50(%rsp)
movq %r12, 0x20(%rsp)
movq %rdi, 0x90(%rsp)
movslq %r8d, %rcx
cmpl $0x0, 0xf0(%rsp,%rcx,4)
je 0x161ee
movq (%r12,%rcx,8), %r13
cmpl $0x3, 0x38(%r13)
je 0x153a0
movq 0x20(%r13), %r13
movq 0x20(%r13), %rsi
movl 0x38(%rsi), %eax
cmpl 0xac(%rsp), %eax
jl 0x161ee
cmpl 0x10eaa(%rip), %eax     # 0x26264
je 0x161ee
movl %r8d, 0x8c(%rsp)
movq %rcx, 0x98(%rsp)
movslq 0x4(%r13), %rdi
movslq (%r13), %r9
movq %rdi, %rax
shlq $0x6, %rax
movq %rbp, %r14
leaq 0x275957(%rip), %rbp    # 0x28ad40
addq %rbp, %rax
xorl %ecx, %ecx
movb %cl, (%r9,%rax)
movq %r9, %rax
shlq $0x6, %rax
addq %rbp, %rax
movb %cl, (%rdi,%rax)
movl 0x38(%rsi), %eax
leal 0x1(%rax), %r8d
cmpl 0xb8(%rsp), %eax
movl 0x2130(%rsp), %eax
cmovll 0xa8(%rsp), %eax
movl %eax, 0x68(%rsp)
movq %r9, 0x10(%rsp)
movl (%r14,%r9,4), %r11d
movq %rdi, 0x18(%rsp)
movl (%r14,%rdi,4), %ecx
cmpl %ecx, %r11d
movl %ecx, %eax
cmovll %r11d, %eax
movq %rax, 0x48(%rsp)
cmovgl %r11d, %ecx
movq 0x10(%r13), %rax
movq 0x18(%r13), %rdi
movq %rax, 0x78(%rsp)
movslq 0x4(%rax), %r10
movslq 0x4(%rdi), %r9
movq 0x10(%rsi), %rbx
movl %r8d, 0x3c(%rsp)
cmpl $0x4, %r8d
jne 0x15498
movq %r10, %rax
shlq $0x6, %rax
addq %rbp, %rax
cmpb $0x0, (%r9,%rax)
movq %r14, %rbp
jne 0x154db
movl $0x2, %eax
cmpl %ecx, (%rbp,%r10,4)
jge 0x16051
cmpl %ecx, (%rbp,%r9,4)
jl 0x154db
jmp 0x16051
cmpl %ecx, (%r14,%r10,4)
movq %r14, %rbp
jl 0x154db
movslq 0x4(%rbx), %r14
movq %r10, %rdx
shlq $0x6, %rdx
leaq 0x27588d(%rip), %rax    # 0x28ad40
addq %rax, %rdx
movl $0x2, %eax
cmpb $0x0, (%r14,%rdx)
je 0x16051
cmpb $0x0, (%r9,%rdx)
movabsq $0x100000000, %rdx      # imm = 0x100000000
je 0x16051
movq %r15, 0x28(%rsp)
leal -0x1(%rcx), %r14d
movq 0x18(%rsi), %rax
movq %rax, 0x40(%rsp)
decl %r11d
movq 0x10(%rsp), %rsi
movl %r11d, (%rbp,%rsi,4)
movq 0x18(%rsp), %rax
movslq (%rbp,%rax,4), %r12
leaq -0x1(%r12), %r11
movl %r11d, (%rbp,%rax,4)
movslq (%rbp,%rsi,4), %rax
xorl %r8d, %r8d
movq %rax, 0x30(%rsp)
movl %r14d, 0xc(%rsp)
cmpl %r14d, %eax
jne 0x1556f
movq 0x78(%rsp), %rsi
movslq 0x4(%rsi), %rax
movslq (%rbp,%rax,4), %rax
movq %rsi, 0xf80(%rsp)
movl $0x1, %r14d
cmpl $0x4, 0x3c(%rsp)
leaq 0x2757f3(%rip), %r15    # 0x28ad40
jne 0x15595
movslq 0x4(%rdi), %rsi
movslq (%rbp,%rsi,4), %rsi
cmpl %eax, %esi
jle 0x1557d
movq %rdi, 0x3e0(%rsp)
movl $0x1, %r8d
xorl %r14d, %r14d
jmp 0x15598
xorl %r14d, %r14d
xorl %esi, %esi
leaq 0x2757c5(%rip), %r15    # 0x28ad40
jmp 0x15598
cmpl %eax, %esi
jne 0x15595
movq %rdi, 0x3e0(%rsp)
movl $0x1, %r14d
movl $0x1, %r8d
movq %rax, %rsi
cmpl %ecx, %r12d
jne 0x15640
movq %rdi, (%rsp)
movq %r9, %rdi
movq %rbx, %r9
movq %r11, %rbx
movq 0x40(%rsp), %r11
movslq 0x4(%r11), %rax
movslq (%rbp,%rax,4), %r12
cmpq %r12, %rsi
jge 0x155d4
movq %r11, 0x3e0(%rsp)
movl $0x1, %r8d
xorl %r14d, %r14d
jmp 0x155ec
jne 0x155e9
movl %r8d, %eax
incl %r8d
movq 0x40(%rsp), %r11
movq %r11, 0x3e0(%rsp,%rax,8)
movq %rsi, %r12
movq %rbx, %r11
cmpl $0x4, 0x3c(%rsp)
movq %r9, %rbx
jne 0x1561d
movslq 0x4(%rbx), %rax
movslq (%rbp,%rax,4), %rsi
cmpq %rsi, %r12
movq %rdi, %r9
jge 0x15629
movq %rbx, 0xf80(%rsp)
xorl %r8d, %r8d
movl $0x1, %r14d
jmp 0x15623
movq %r12, %rsi
movq %rdi, %r9
movq (%rsp), %rdi
jmp 0x15640
movq (%rsp), %rdi
jne 0x1563d
movl %r14d, %eax
incl %r14d
movq %rbx, 0xf80(%rsp,%rax,8)
movq %r12, %rsi
cmpl $0x4, 0x3c(%rsp)
movq %r14, 0x58(%rsp)
jne 0x156c7
movq %r10, %rax
shlq $0x6, %rax
addq %r15, %rax
cmpb $0x0, (%r9,%rax)
movl %r8d, %edx
je 0x15ad1
movq %r8, 0x80(%rsp)
movq %rdx, (%rsp)
movq 0x78(%rsp), %rax
movq 0x20(%rax), %rax
movq 0xe8(%rsp), %rdx
leaq 0x2766b8(%rip), %r9     # 0x28bd40
movq %rax, (%r9,%rdx,8)
movq 0xe0(%rsp), %rax
movq 0x40(%rsp), %rdx
movq %rdx, (%r9,%rax,8)
movq 0x20(%rbx), %rax
movq 0xd8(%rsp), %rdx
movq %rax, (%r9,%rdx,8)
movq %r9, %rdx
movq 0xd0(%rsp), %r8
movl 0x2130(%rsp), %eax
movl %eax, %r12d
jmp 0x15863
movslq 0x4(%rbx), %rax
movq %r10, %r12
shlq $0x6, %r12
addq %r15, %r12
cmpb $0x0, (%rax,%r12)
movq %r8, 0x80(%rsp)
je 0x15b5a
cmpb $0x0, (%r9,%r12)
je 0x15ba0
movq %r14, 0x70(%rsp)
movq %r8, (%rsp)
movq 0x20(%rbx), %r10
movq 0x90(%rsp), %r9
movl 0xa4(%rsp), %r12d
movq 0xc8(%rsp), %r8
movq 0x10(%r10), %r11
movslq 0x4(%r10), %r14
movslq 0x4(%r11), %rax
movq %r14, %r15
shlq $0x6, %r15
leaq 0x27560e(%rip), %rbp    # 0x28ad40
addq %rbp, %r15
cmpb $0x0, (%rax,%r15)
jne 0x157ef
leaq 0x124a9(%rip), %rbp     # 0x27bf0
movl (%rbp,%r14,4), %r15d
cmpl %ecx, %r15d
jge 0x15b8b
movl (%rbp,%rax,4), %eax
cmpl %ecx, %eax
jge 0x15b8b
movq %r13, %rbx
movq %rsi, %r13
movslq (%r10), %r14
movslq (%rbp,%r14,4), %r14
movl 0xc(%rsp), %esi
cmpl %esi, %r15d
movl %esi, %r15d
jne 0x157bf
cmpq %r14, %r13
jl 0x15e33
movq %r13, %rsi
movq %rbx, %r13
jne 0x157c5
movq 0x20(%r10), %r15
movq 0x70(%rsp), %rdx
movslq %edx, %rbp
incl %edx
movq %rdx, 0x70(%rsp)
movq %r15, 0xf80(%rsp,%rbp,8)
movl 0xc(%rsp), %r15d
leaq 0x1243d(%rip), %rbp     # 0x27bf0
movabsq $0x100000000, %rdx      # imm = 0x100000000
jmp 0x157c5
movq %r13, %rsi
movq %rbx, %r13
cmpl %r15d, %eax
jne 0x157ef
cmpq %r14, %rsi
jl 0x15ebe
jne 0x157ef
movq 0x20(%r11), %rax
movq (%rsp), %r15
movslq %r15d, %r14
incl %r15d
movq %r15, (%rsp)
movq %rax, 0x3e0(%rsp,%r14,8)
movq %r10, (%r9)
movq 0x20(%r11), %r10
addq %rdx, %r8
incl %r12d
addq $0x8, %r9
cmpq %rdi, %r10
jne 0x15718
movq %r8, %rax
sarq $0x1d, %rax
leaq 0x276529(%rip), %r10    # 0x28bd40
movq 0x40(%rsp), %r9
movq %r9, (%rax,%r10)
movq 0x78(%rsp), %rax
movq 0x20(%rax), %rax
leaq (%r8,%rdx), %r9
movq %r10, %rdx
sarq $0x1d, %r9
movq %rax, (%r9,%r10)
movabsq $0x200000000, %rax      # imm = 0x200000000
addq %rax, %r8
sarq $0x20, %r8
movl 0x2130(%rsp), %eax
leaq 0x2754e9(%rip), %r15    # 0x28ad40
leaq 0x12392(%rip), %rbp     # 0x27bf0
movq 0x70(%rsp), %r14
movq %rdi, (%rdx,%r8,8)
movl %eax, %edi
movl 0x68(%rsp), %eax
subl %eax, %edi
jle 0x15990
movslq %eax, %r8
shlq $0x3, %r8
xorl %r9d, %r9d
leaq (%r8,%r9,8), %rax
movq (%rdx,%rax), %r10
movslq (%r10), %r11
movl (%rbp,%r11,4), %eax
cmpl %ecx, %eax
jge 0x158ca
cmpl 0xc(%rsp), %eax
jne 0x15953
movslq 0x4(%r10), %rax
movslq (%rbp,%rax,4), %rax
cmpq %rax, %rsi
jge 0x158ee
movq 0x20(%r10), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rax
shlq $0x6, %r11
addq %r15, %r11
cmpb $0x0, (%rax,%r11)
jne 0x15920
jmp 0x15ebe
movq 0x20(%r10), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rax
shlq $0x6, %r11
addq %r15, %r11
cmpb $0x0, (%rax,%r11)
je 0x15ebe
movq 0x10(%r10), %rax
jmp 0x15932
jne 0x15920
movq 0x20(%r10), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rax
shlq $0x6, %r11
addq %r15, %r11
cmpb $0x0, (%rax,%r11)
jne 0x15920
movq (%rsp), %r11
movslq %r11d, %rax
incl %r11d
movq %r11, (%rsp)
movq %r10, 0x3e0(%rsp,%rax,8)
movq 0x10(%r10), %rax
movslq 0x4(%rax), %r10
movslq (%rbp,%r10,4), %r10
cmpq %r10, %rsi
jge 0x15961
movslq (%rax), %r10
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movslq 0x4(%rax), %rax
shlq $0x6, %r10
addq %r15, %r10
cmpb $0x0, (%rax,%r10)
je 0x15b8b
incq %r9
cmpl %r9d, %edi
jne 0x1587f
jmp 0x15990
jne 0x15953
movslq (%rax), %r10
movq 0x20(%rax), %r11
movq 0x10(%r11), %r11
movslq 0x4(%r11), %r11
shlq $0x6, %r10
addq %r15, %r10
cmpb $0x0, (%r11,%r10)
jne 0x15953
movslq %r14d, %r10
incl %r14d
movq %rax, 0xf80(%rsp,%r10,8)
jmp 0x15953
movq %r14, %r15
movl 0x2138(%rsp), %eax
movq 0x48(%rsp), %r8
cmpl %eax, %r8d
movq 0x90(%rsp), %rdi
jle 0x159e8
movl $0x1, %r8d
cmpl $0x2, %eax
movl 0x3c(%rsp), %r14d
movq 0x40(%rsp), %rsi
je 0x15c30
cmpl $0x3, %eax
jne 0x159f5
movq %r13, %rdi
callq 0x162a9
movq 0x40(%rsp), %rsi
movq 0x90(%rsp), %rdi
movl %eax, %r8d
orl $0x2, %r8d
jmp 0x159f5
decl %r8d
movl 0x3c(%rsp), %r14d
movq 0x40(%rsp), %rsi
cmpl 0x107a8(%rip), %r8d     # 0x261a4
jge 0x15a1a
movq 0x10(%rsp), %rax
incl (%rbp,%rax,4)
movq 0x18(%rsp), %rax
incl (%rbp,%rax,4)
movl $0x1, %eax
jmp 0x15edc
addl $0x4, %r12d
movq 0x10(%r13), %rax
movq 0x18(%r13), %rcx
movq %rcx, 0x18(%rax)
movq 0x18(%r13), %rcx
movq %rax, 0x10(%rcx)
movq 0x20(%r13), %rax
movq 0x10(%rax), %rcx
movq 0x18(%rax), %rdx
movq %rdx, 0x18(%rcx)
movq 0x18(%rax), %rax
movq %rcx, 0x10(%rax)
cmpl 0x2130(%rsp), %r12d
jle 0x15a71
movslq %r12d, %rax
addq 0xc0(%rsp), %rax
xorl %ecx, %ecx
movq (%rdi,%rcx,8), %rdx
movl %r14d, 0x38(%rdx)
incq %rcx
cmpq %rcx, %rax
jne 0x15a61
leaq 0x11f78(%rip), %rax     # 0x279f0
movq 0x10(%rsp), %rcx
movq 0x78(%rsp), %rdx
movq %rdx, (%rax,%rcx,8)
addl $-0x2, 0x22eb87(%rip)   # 0x244614
movq 0x18(%rsp), %rcx
movq %rsi, (%rax,%rcx,8)
movq (%rsp), %rax
movq %r15, %rsi
leal (%rax,%r15), %ecx
xorl %eax, %eax
cmpl $0x1, %ecx
jne 0x15bda
movq 0x58(%rsp), %rcx
movl %ecx, 0x88(%rsp)
movq 0x80(%rsp), %rcx
movl %ecx, 0x64(%rsp)
movl %r12d, %ecx
movq %rcx, 0x50(%rsp)
jmp 0x15ef0
movq 0x58(%rsp), %r14
movl %r8d, %edx
movl 0xc(%rsp), %eax
cmpl %eax, (%rbp,%r10,4)
movq 0x28(%rsp), %r15
movq 0x20(%rsp), %r12
movq 0x30(%rsp), %r10
jne 0x15ffa
cmpq %r10, %rsi
jl 0x16036
movl %r8d, %edx
jne 0x15b22
movq 0x78(%rsp), %rax
movq 0x20(%rax), %rax
leal 0x1(%r8), %edx
movl %r8d, %r10d
movq %rax, 0x3e0(%rsp,%r10,8)
movq 0x30(%rsp), %r10
cmpq %r11, %rsi
movq 0x58(%rsp), %r14
jl 0x1600a
jne 0x15ff6
movq 0x40(%rsp), %rax
movq 0x20(%rax), %rax
movq %r14, %r10
incl %r14d
movl %r10d, %r10d
movq %rax, 0xf80(%rsp,%r10,8)
movq 0x30(%rsp), %r10
jmp 0x15ff6
movl (%rbp,%rax,4), %eax
cmpl %ecx, %eax
jge 0x15b8b
movslq %r11d, %r11
movq 0x58(%rsp), %r14
movl 0xc(%rsp), %r15d
cmpl %r15d, (%rbp,%r10,4)
movq 0x80(%rsp), %r8
jne 0x15eb0
cmpq %r11, %rsi
jge 0x15e77
movq 0x30(%rsp), %rcx
incl %ecx
movq 0x10(%rsp), %rax
movl %ecx, (%rbp,%rax,4)
jmp 0x15ece
movl (%rbp,%r9,4), %eax
cmpl %ecx, %eax
movq 0x28(%rsp), %r15
movq 0x20(%rsp), %r12
jge 0x15c24
movl 0xc(%rsp), %r9d
cmpl %r9d, (%rbp,%r10,4)
jne 0x15f5b
movq 0x30(%rsp), %r9
cmpq %r9, %rsi
jge 0x15f42
leal 0x1(%r9), %eax
jmp 0x1603a
movq 0x58(%rsp), %r10
testl %r10d, %r10d
jle 0x15c5b
movl %r10d, %ecx
xorl %edx, %edx
xorl %r9d, %r9d
movq 0xf80(%rsp,%rdx,8), %rax
movq 0x20(%rax), %rdi
movq 0x10(%rdi), %rdi
movslq 0x4(%rdi), %rdi
movslq (%rbp,%rdi,4), %rdi
shlq $0xa, %rdi
movslq 0x38(%rax), %rax
addq %rdi, %rax
cmpq %r9, %rax
cmovleq %r9, %rax
incq %rdx
movq %rax, %r9
cmpq %rdx, %rcx
jne 0x15bec
jmp 0x15c5d
movq 0x30(%rsp), %rax
incl %eax
jmp 0x1603a
movq 0x10(%r13), %rax
movq 0x18(%r13), %rcx
cmpq %rax, %rcx
je 0x159f5
movslq 0x4(%rax), %rax
cmpl $0x2, (%rbp,%rax,4)
jne 0x15eff
movl $0x2, %r8d
jmp 0x159f5
xorl %eax, %eax
movq 0x80(%rsp), %rcx
testl %ecx, %ecx
jle 0x15ca9
movq %rcx, %r15
movl %ecx, %edx
xorl %r9d, %r9d
movq 0x3e0(%rsp,%r9,8), %rcx
movq 0x20(%rcx), %rcx
movq 0x18(%rcx), %rdi
movslq 0x4(%rdi), %rdi
movslq (%rbp,%rdi,4), %rdi
shlq $0xa, %rdi
movslq 0x38(%rcx), %rcx
addq %rdi, %rcx
cmpq %rax, %rcx
cmovleq %rax, %rcx
incq %r9
movq %rcx, %rax
cmpq %r9, %rdx
jne 0x15c71
jmp 0x15caf
movq %rcx, %r15
movq %rax, %rcx
testl %r10d, %r10d
movq %r8, 0x48(%rsp)
jle 0x15d02
movl %r10d, %edx
xorl %eax, %eax
xorl %r11d, %r11d
movq 0xf80(%rsp,%rax,8), %r9
movq 0x20(%r9), %rdi
movq 0x10(%rdi), %rdi
movslq 0x4(%rdi), %rdi
movslq (%rbp,%rdi,4), %rdi
shlq $0xa, %rdi
movslq 0x38(%r9), %r8
addq %rdi, %r8
cmpq %rcx, %r8
jne 0x15cf8
movslq %r11d, %rdi
incl %r11d
movq %r9, 0xf80(%rsp,%rdi,8)
incq %rax
cmpq %rax, %rdx
jne 0x15cc1
jmp 0x15d07
xorl %eax, %eax
xorl %r11d, %r11d
movl %r11d, %edx
cmpl %esi, %eax
movl %r11d, 0x88(%rsp)
jge 0x15d63
movl %eax, %eax
movl %esi, %esi
movl %r11d, %edx
movq 0xf80(%rsp,%rax,8), %rdi
movq 0x20(%rdi), %r8
movq 0x10(%r8), %r8
movslq 0x4(%r8), %r8
movslq (%rbp,%r8,4), %r8
shlq $0xa, %r8
movslq 0x38(%rdi), %r9
addq %r8, %r9
cmpq %rcx, %r9
jne 0x15d55
movslq %edx, %r8
incl %edx
movq %rdi, 0xf80(%rsp,%r8,8)
jmp 0x15d5b
jg 0x15f81
incq %rax
cmpq %rax, %rsi
jne 0x15d1d
xorl %eax, %eax
movl $0x0, %esi
movl $0x0, %r14d
testl %r15d, %r15d
jle 0x15dbc
movl %r15d, %edi
xorl %esi, %esi
xorl %r14d, %r14d
movq 0x3e0(%rsp,%rsi,8), %r8
movq 0x20(%r8), %r9
movq 0x18(%r9), %r10
movslq 0x4(%r10), %r10
movslq (%rbp,%r10,4), %r10
shlq $0xa, %r10
movslq 0x38(%r9), %r9
addq %r10, %r9
cmpq %rcx, %r9
jne 0x15db4
movslq %r14d, %r9
incl %r14d
movq %r8, 0x3e0(%rsp,%r9,8)
incq %rsi
cmpq %rsi, %rdi
jne 0x15d7d
movq (%rsp), %rdi
cmpl %edi, %esi
movl %r14d, 0x64(%rsp)
jge 0x15e25
movl %esi, %esi
movl %edi, %edi
movl %r14d, %r8d
movq %r8, (%rsp)
movq 0x3e0(%rsp,%rsi,8), %r8
movq 0x20(%r8), %r9
movq 0x18(%r9), %r10
movslq 0x4(%r10), %r10
movslq (%rbp,%r10,4), %r10
shlq $0xa, %r10
movslq 0x38(%r9), %r9
addq %r10, %r9
cmpq %rcx, %r9
jne 0x15e15
movq (%rsp), %r10
movslq %r10d, %r9
incl %r10d
movq %r10, (%rsp)
movq %r8, 0x3e0(%rsp,%r9,8)
jmp 0x15e1b
jg 0x15f9d
incq %rsi
cmpq %rsi, %rdi
jne 0x15dd4
jmp 0x15e2c
movl %r14d, %ecx
movq %rcx, (%rsp)
movl %edx, %esi
jmp 0x15fb4
movq 0x30(%rsp), %rcx
incl %ecx
movq 0x10(%rsp), %rax
movl %ecx, (%rbp,%rax,4)
movq 0x18(%rsp), %rax
incl (%rbp,%rax,4)
movl $0x2, %eax
movq $0x0, (%rsp)
xorl %esi, %esi
movl 0x2138(%rsp), %ecx
movl %ecx, %r8d
movq 0x28(%rsp), %r15
movq 0x20(%rsp), %r12
movq %rbx, %r13
jmp 0x16065
movq 0x58(%rsp), %r14
jne 0x15eb0
movq 0x40(%rsp), %r14
movq 0x20(%r14), %r8
movq %r8, (%rsp)
movq 0x58(%rsp), %r15
leal 0x1(%r15), %r14d
movl %r15d, %r15d
movq (%rsp), %r8
movq %r8, 0xf80(%rsp,%r15,8)
movq 0x80(%rsp), %r8
movl 0xc(%rsp), %r15d
cmpl %r15d, %eax
jne 0x15f3d
cmpq %r11, %rsi
jge 0x15f21
movq 0x30(%rsp), %rax
incl %eax
movq 0x10(%rsp), %rcx
movl %eax, (%rbp,%rcx,4)
movq 0x18(%rsp), %rax
incl (%rbp,%rax,4)
movl $0x2, %eax
movq $0x0, (%rsp)
xorl %esi, %esi
movl 0x2138(%rsp), %ecx
movl %ecx, %r8d
movq 0x28(%rsp), %r15
movq 0x20(%rsp), %r12
jmp 0x16065
movq 0x20(%rcx), %rcx
movq %r13, %rdx
movq 0x20(%rdx), %rdx
movq 0x10(%rdx), %rdx
cmpq %rcx, %rdx
je 0x15c50
cmpl %eax, 0x4(%rdx)
jne 0x15f06
jmp 0x159f5
jne 0x15f3d
movq 0x20(%rbx), %rax
movq %r8, %r11
incl %r8d
movl %r11d, %r11d
movq %rax, 0x3e0(%rsp,%r11,8)
jmp 0x156e8
jmp 0x156e8
jne 0x15f60
movq 0x78(%rsp), %r9
movq 0x20(%r9), %r9
movl %r8d, %r10d
incl %r8d
movq %r9, 0x3e0(%rsp,%r10,8)
movq 0x30(%rsp), %r9
cmpl 0xc(%rsp), %eax
jne 0x156f3
cmpq %r9, %rsi
jge 0x15fd0
incl %r9d
movq 0x10(%rsp), %rax
movl %r9d, (%rbp,%rax,4)
jmp 0x16043
movq %r13, %rdi
callq 0x16237
movl $0x2, %eax
movq $0x0, (%rsp)
movl %r15d, 0x64(%rsp)
jmp 0x15fb2
movq %r13, %rdi
callq 0x16237
movl $0x2, %eax
movq $0x0, (%rsp)
xorl %esi, %esi
movl %r12d, %ecx
movq %rcx, 0x50(%rsp)
movq 0x28(%rsp), %r15
movq 0x20(%rsp), %r12
movq 0x48(%rsp), %r8
jmp 0x16065
movq %r8, (%rsp)
jne 0x1621b
movq 0x20(%rdi), %rax
movl %r14d, %r9d
incl %r14d
movq %r14, 0x70(%rsp)
movq %rax, 0xf80(%rsp,%r9,8)
jmp 0x156fc
movl 0xc(%rsp), %eax
cmpl %eax, (%rbp,%r9,4)
jne 0x1620f
cmpq %r10, %rsi
jge 0x16019
incl %r10d
movq 0x10(%rsp), %rax
movl %r10d, (%rbp,%rax,4)
jmp 0x16043
jne 0x1602d
movq 0x20(%rdi), %rax
movl %r14d, %r9d
incl %r14d
movq %rax, 0xf80(%rsp,%r9,8)
cmpq %r11, %rsi
jge 0x161fc
leal 0x1(%r10), %eax
movq 0x10(%rsp), %rcx
movl %eax, (%rbp,%rcx,4)
movq 0x18(%rsp), %rax
incl (%rbp,%rax,4)
movl $0x2, %eax
movq $0x0, (%rsp)
xorl %esi, %esi
movl 0x2138(%rsp), %ecx
movl %ecx, %r8d
cmpl $0x1, %eax
je 0x160cc
testl %eax, %eax
jne 0x161b1
movq %r8, 0x48(%rsp)
movq (%rsp), %r8
leal (%rsi,%r8), %eax
cmpl $0x1, %eax
jne 0x160ff
movq 0x98(%rsp), %r14
movq (%r12,%r14,8), %rbx
leal -0x1(%r15), %esi
movslq %r15d, %rax
movq -0x8(%r12,%rax,8), %rax
movq %rax, (%r12,%r14,8)
movq %r12, %rdi
leaq 0x1b20(%rsp), %rdx
leaq 0x6c(%rsp), %rcx
callq 0x145a9
movq %rbx, (%r12,%r14,8)
movl 0x6c(%rsp), %ecx
movl $0x1, %edi
movl $0x1, %esi
jmp 0x16186
movslq %r15d, %rax
decl %r15d
movq -0x8(%r12,%rax,8), %rcx
movq 0x98(%rsp), %rdx
movq %rcx, (%r12,%rdx,8)
movl 0xec(%rsp,%rax,4), %eax
movl %eax, 0xf0(%rsp,%rdx,4)
decl %edx
movl %edx, 0x8c(%rsp)
jmp 0x161b1
subq $0x8, %rsp
leaq 0xf88(%rsp), %rdi
movl 0x90(%rsp), %edx
leaq 0x3e8(%rsp), %rcx
movl 0x6c(%rsp), %r9d
leaq 0xb8(%rsp), %rax
pushq %rax
leaq 0xc4(%rsp), %rax
pushq %rax
pushq %rbp
callq 0xc654
addq $0x20, %rsp
testl %eax, %eax
je 0x161a9
movq 0x98(%rsp), %r14
movq (%r12,%r14,8), %rbx
leal -0x1(%r15), %esi
movslq %r15d, %rax
movq -0x8(%r12,%rax,8), %rax
movq %rax, (%r12,%r14,8)
movq %r12, %rdi
leaq 0x1b20(%rsp), %rdx
leaq 0x6c(%rsp), %rcx
callq 0x145a9
movq %rbx, (%r12,%r14,8)
movl 0xb4(%rsp), %edi
movl 0xb0(%rsp), %esi
movl 0x6c(%rsp), %ecx
leaq 0x1b20(%rsp), %rdx
movl 0x3c(%rsp), %r8d
movl 0x68(%rsp), %r9d
pushq 0x48(%rsp)
pushq 0x58(%rsp)
callq 0x1525b
addq $0x10, %rsp
movq %r13, %rdi
callq 0x16237
movslq 0x4(%r13), %rax
movslq (%r13), %rcx
movq %rax, %rdx
shlq $0x6, %rdx
leaq 0x274b79(%rip), %rsi    # 0x28ad40
addq %rsi, %rdx
movb $0x1, %r8b
movb %r8b, (%rcx,%rdx)
shlq $0x6, %rcx
addq %rsi, %rcx
movb %r8b, (%rax,%rcx)
movabsq $0x100000000, %rdx      # imm = 0x100000000
movl 0x8c(%rsp), %r8d
incl %r8d
cmpl %r15d, %r8d
jl 0x15380
jmp 0x16225
jne 0x1620f
movq 0x20(%rbx), %rax
movl %edx, %r9d
incl %edx
movq %rax, 0x3e0(%rsp,%r9,8)
leaq 0x274b2a(%rip), %r15    # 0x28ad40
jmp 0x15664
movq %r14, 0x70(%rsp)
jmp 0x156fc
addq $0x20f8, %rsp           # imm = 0x20F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq