// File: /workspace/github_c_makefile_star2_O3/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, %r15d
movq %r8, 0xb8(%rsp)
movq %rcx, 0x78(%rsp)
movq %rdx, %rbp
movl %edi, %ebx
movl 0x2138(%rsp), %edx
movl 0x22f490(%rip), %eax    # 0x244614
cmpl 0x110d6(%rip), %eax     # 0x26260
jg 0x15199
movl %ebx, %edi
callq 0x761c
movl 0x22f47b(%rip), %eax    # 0x244614
cmpl 0x110bd(%rip), %eax     # 0x2625c
je 0x16363
movq 0x78(%rsp), %rcx
addl %ecx, %ecx
subl %ecx, %eax
cmpl 0x110ac(%rip), %eax     # 0x26260
jg 0x16363
leaq 0xf0(%rsp), %rdx
movq %rbp, %rdi
movq 0x78(%rsp), %r14
movl %r14d, %esi
movl %ebx, %ecx
callq 0xe21c
testl %r14d, %r14d
jle 0x16363
movq 0xb8(%rsp), %rax
leal -0x1(%rax), %edx
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, 0xa8(%rsp)
leaq 0x276b08(%rip), %rax    # 0x28bd40
leaq (%rax,%rsi,8), %rax
movq %rax, 0x90(%rsp)
movq %rsi, 0xe8(%rsp)
negq %rsi
movq %rsi, 0xc0(%rsp)
leaq 0x275ae2(%rip), %rsi    # 0x28ad40
leaq 0x1298b(%rip), %r12     # 0x27bf0
xorl %ebx, %ebx
movl %r15d, 0x54(%rsp)
movq %rbp, 0x20(%rsp)
movl %edx, 0xac(%rsp)
movslq %ebx, %rdi
cmpl $0x0, 0xf0(%rsp,%rdi,4)
je 0x15f1e
movq (%rbp,%rdi,8), %r9
cmpl $0x3, 0x38(%r9)
je 0x15299
movq 0x20(%r9), %r9
movq 0x20(%r9), %rcx
movl 0x38(%rcx), %eax
cmpl %edx, %eax
jl 0x15f1e
cmpl 0x10fb6(%rip), %eax     # 0x26264
je 0x15f1e
movq %rbp, %r14
movq %rdi, 0x88(%rsp)
movslq 0x4(%r9), %r8
movslq (%r9), %rdi
movq %r8, %rax
shlq $0x6, %rax
addq %rsi, %rax
xorl %edx, %edx
movb %dl, (%rdi,%rax)
movq %rdi, %rax
shlq $0x6, %rax
addq %rsi, %rax
movb %dl, (%r8,%rax)
movl 0x38(%rcx), %eax
leal 0x1(%rax), %r11d
cmpl 0xb8(%rsp), %eax
movl 0x2130(%rsp), %eax
movl %r15d, %ebp
cmovll %r15d, %eax
movl %eax, 0x80(%rsp)
movq %rdi, 0x28(%rsp)
movl (%r12,%rdi,4), %edi
movl (%r12,%r8,4), %edx
cmpl %edx, %edi
movl %edx, %eax
cmovll %edi, %eax
movq %rax, 0x98(%rsp)
cmovgl %edi, %edx
movq 0x10(%r9), %r10
movq %r9, 0x8(%rsp)
movq 0x18(%r9), %rax
movq %r10, 0x68(%rsp)
movslq 0x4(%r10), %r13
movq %rax, %r15
movslq 0x4(%rax), %r10
movq 0x10(%rcx), %rax
movl %r11d, 0x44(%rsp)
cmpl $0x4, %r11d
jne 0x15383
movq %r13, %r9
shlq $0x6, %r13
addq %rsi, %r13
cmpb $0x0, (%r10,%r13)
movq %r10, %r11
movq %r15, %r13
movl %ebp, %r15d
jne 0x153d0
movq %r14, %rbp
cmpl %edx, (%r12,%r9,4)
jge 0x15ee7
cmpl %edx, (%r12,%r11,4)
jl 0x153d0
jmp 0x15ee7
movq %r13, %r9
cmpl %edx, (%r12,%r13,4)
movq %r10, %r11
movq %r15, %r13
movl %ebp, %r15d
jl 0x153d0
movq %r14, %rbp
movq %r11, %r10
movslq 0x4(%rax), %r11
movq %r9, %rsi
shlq $0x6, %rsi
leaq 0x275993(%rip), %r12    # 0x28ad40
addq %r12, %rsi
cmpb $0x0, (%r11,%rsi)
je 0x154b9
movq %r10, %r11
cmpb $0x0, (%r10,%rsi)
leaq 0x12826(%rip), %r12     # 0x27bf0
je 0x15ee7
leal -0x1(%rdx), %esi
movq 0x18(%rcx), %rcx
movq %rcx, 0x70(%rsp)
decl %edi
movq 0x28(%rsp), %rcx
movl %edi, (%r12,%rcx,4)
movslq (%r12,%r8,4), %rbp
movq %rbp, %r14
decq %r14
movl %r14d, (%r12,%r8,4)
movslq (%r12,%rcx,4), %rcx
xorl %edi, %edi
movq %rcx, 0x48(%rsp)
movl %esi, 0x4(%rsp)
cmpl %esi, %ecx
movq %r8, 0x58(%rsp)
movq 0x68(%rsp), %rsi
jne 0x1546f
movq %r13, %rcx
movq %r14, %r13
movq %r11, 0x10(%rsp)
movq %rcx, %r14
movq %rax, %r10
movslq 0x4(%rsi), %rcx
movslq (%r12,%rcx,4), %rax
movq %rsi, 0xf80(%rsp)
cmpl $0x4, 0x44(%rsp)
movabsq $0x100000000, %rsi      # imm = 0x100000000
jne 0x15486
movslq 0x4(%r14), %rcx
movslq (%r12,%rcx,4), %rcx
cmpl %eax, %ecx
jle 0x154cc
movq $0x0, 0x18(%rsp)
movq %r10, %rax
movq %r14, %rdi
movq 0x10(%rsp), %r11
movq %r13, %r14
movq %rdi, %r13
jmp 0x154f5
movq $0x0, 0x18(%rsp)
xorl %ecx, %ecx
movabsq $0x100000000, %rsi      # imm = 0x100000000
jmp 0x15502
movq %rax, 0x38(%rsp)
movl $0x1, %ecx
movq %rcx, 0x18(%rsp)
xorl %edi, %edi
cmpl %edx, %ebp
movq 0x20(%rsp), %rbp
movq %r10, %rax
movq %r14, %rcx
movq 0x10(%rsp), %r11
movq %r9, %r10
movq %r13, %r14
movq %rcx, %r13
je 0x15513
jmp 0x155ba
leaq 0x275880(%rip), %rsi    # 0x28ad40
leaq 0x12729(%rip), %r12     # 0x27bf0
jmp 0x15eee
movl %r15d, %r11d
movl $0x1, %r15d
movq %r15, 0x18(%rsp)
movl %r11d, %r15d
cmpl %eax, %ecx
movq %rax, %rcx
movq %r10, %rax
movq %r14, %r10
movq 0x10(%rsp), %r11
movq %r13, %r14
movq %r10, %r13
jne 0x15502
movq %r13, 0x3e0(%rsp)
movl $0x1, %edi
movq %rcx, 0x38(%rsp)
cmpl %edx, %ebp
movq %r9, %r10
jne 0x1554b
movq 0x20(%rsp), %rbp
movl %r15d, %r8d
movq %rdi, %r15
movq 0x70(%rsp), %rcx
movslq 0x4(%rcx), %rcx
movslq (%r12,%rcx,4), %rdi
cmpq %rdi, 0x38(%rsp)
jge 0x1555c
movl $0x1, %r15d
movq $0x0, 0x18(%rsp)
leaq 0x3e0(%rsp), %rcx
movq %rdi, 0x38(%rsp)
jmp 0x1556f
cmpl $0x4, 0x44(%rsp)
movq 0x20(%rsp), %rbp
jne 0x155ba
jmp 0x15891
jne 0x15577
movl %r15d, %ecx
incl %r15d
leaq (%rsp,%rcx,8), %rcx
addq $0x3e0, %rcx            # imm = 0x3E0
movq 0x70(%rsp), %rdi
movq %rdi, (%rcx)
cmpl $0x4, 0x44(%rsp)
jne 0x155af
movslq 0x4(%rax), %rcx
movslq (%r12,%rcx,4), %rdi
cmpq %rdi, 0x38(%rsp)
jge 0x15810
movl $0x1, %ecx
movq %rcx, 0x18(%rsp)
leaq 0xf80(%rsp), %rcx
movq %rdi, 0x38(%rsp)
xorl %edi, %edi
jmp 0x1582e
movq %r15, %rdi
movl %r8d, %r15d
movq 0x58(%rsp), %r8
movl %r15d, %r9d
movq %rdi, 0x60(%rsp)
movslq 0x4(%rax), %rcx
movq %r10, %rbp
shlq $0x6, %rbp
leaq 0x27576c(%rip), %rdi    # 0x28ad40
addq %rdi, %rbp
movq 0x60(%rsp), %rdi
cmpb $0x0, (%rcx,%rbp)
movq 0x18(%rsp), %r15
movq %r15, 0x10(%rsp)
movl %edi, %r15d
je 0x15750
cmpb $0x0, (%r11,%rbp)
je 0x157b7
movq %rax, %rdi
movq %r15, 0x30(%rsp)
movq 0x90(%rsp), %r11
movl 0x4(%rsp), %eax
movq 0x20(%rdi), %r10
movq %r11, %r9
movl 0xa8(%rsp), %ecx
movl %ecx, %ebp
movq 0xc8(%rsp), %r8
movq 0x10(%r10), %r11
movslq 0x4(%r10), %rdi
movslq 0x4(%r11), %rcx
movq %rdi, %r15
shlq $0x6, %r15
leaq 0x2756fc(%rip), %r12    # 0x28ad40
addq %r12, %r15
cmpb $0x0, (%rcx,%r15)
jne 0x156e9
leaq 0x12597(%rip), %r12     # 0x27bf0
movl (%r12,%rdi,4), %edi
cmpl %edx, %edi
jge 0x15851
movl (%r12,%rcx,4), %ecx
cmpl %edx, %ecx
jge 0x15851
movslq (%r10), %r15
movslq (%r12,%r15,4), %r15
cmpl %eax, %edi
jne 0x156b9
cmpq %r15, 0x38(%rsp)
jl 0x15851
jne 0x156b9
movq 0x20(%r10), %rdi
movq 0x10(%rsp), %rax
movslq %eax, %r12
incl %eax
movq %rax, 0x10(%rsp)
movl 0x4(%rsp), %eax
movq %rdi, 0xf80(%rsp,%r12,8)
leaq 0x12541(%rip), %r12     # 0x27bf0
movabsq $0x100000000, %rsi      # imm = 0x100000000
cmpl %eax, %ecx
jne 0x156e9
cmpq %r15, 0x38(%rsp)
jl 0x15ec4
jne 0x156e9
movq 0x20(%r11), %rcx
movq 0x30(%rsp), %rax
movslq %eax, %rdi
incl %eax
movq %rax, 0x30(%rsp)
movl 0x4(%rsp), %eax
movq %rcx, 0x3e0(%rsp,%rdi,8)
movq %r10, (%r9)
movq 0x20(%r11), %r10
addq %rsi, %r8
incl %ebp
addq $0x8, %r9
cmpq %r13, %r10
jne 0x1562a
movq %r8, %rcx
sarq $0x1d, %rcx
leaq 0x276630(%rip), %r12    # 0x28bd40
movq 0x70(%rsp), %rax
movq %rax, (%rcx,%r12)
movq 0x68(%rsp), %rax
movq 0x20(%rax), %rcx
leaq (%r8,%rsi), %rdi
sarq $0x1d, %rdi
movq %rcx, (%rdi,%r12)
movabsq $0x200000000, %rcx      # imm = 0x200000000
addq %rcx, %r8
sarq $0x20, %r8
movl 0x54(%rsp), %r15d
movl 0x2130(%rsp), %ecx
jmp 0x15914
movl (%r12,%rcx,4), %ecx
cmpl %edx, %ecx
jge 0x15836
movq %r13, 0x30(%rsp)
movq %r10, %r13
movq %r11, %r10
movslq %r14d, %r11
movq 0x18(%rsp), %r15
movq %r15, 0x10(%rsp)
movl 0x4(%rsp), %r15d
movq %r13, 0xa0(%rsp)
cmpl %r15d, (%r12,%r13,4)
movl %r9d, %r15d
jne 0x16142
cmpq %r11, 0x38(%rsp)
movq 0x8(%rsp), %r13
jge 0x16107
movq 0x48(%rsp), %rcx
incl %ecx
movq 0x28(%rsp), %rax
movl %ecx, (%r12,%rax,4)
incl (%r12,%r8,4)
jmp 0x160f6
movl (%r12,%r11,4), %ecx
cmpl %edx, %ecx
movq 0x20(%rsp), %rbp
movq 0x90(%rsp), %r11
jge 0x15866
movq %rax, %rdi
movq %r15, 0x30(%rsp)
movl 0x4(%rsp), %eax
cmpl %eax, (%r12,%r10,4)
movl %r9d, %r15d
jne 0x15d77
movq 0x48(%rsp), %r10
cmpq %r10, 0x38(%rsp)
movq 0x68(%rsp), %rax
jge 0x161e3
leal 0x1(%r10), %eax
movq 0x28(%rsp), %rcx
movl %eax, (%r12,%rcx,4)
jmp 0x1621f
movq %r15, %rdi
jne 0x15889
movq 0x18(%rsp), %rsi
movl %esi, %ecx
incl %esi
movq %rsi, 0x18(%rsp)
leaq (%rsp,%rcx,8), %rcx
addq $0xf80, %rcx            # imm = 0xF80
movl %r8d, %r15d
movq %rax, (%rcx)
jmp 0x1588c
movq 0x48(%rsp), %rcx
incl %ecx
movq 0x28(%rsp), %rax
movl %ecx, (%r12,%rax,4)
incl (%r12,%r8,4)
movq 0x20(%rsp), %rbp
jmp 0x1587a
movq 0x48(%rsp), %rcx
incl %ecx
movq 0x28(%rsp), %rax
movl %ecx, (%r12,%rax,4)
jmp 0x15ed4
movq 0x48(%rsp), %rax
incl %eax
movq 0x28(%rsp), %rcx
movl %eax, (%r12,%rcx,4)
incl (%r12,%r8,4)
leaq 0x2754bf(%rip), %rsi    # 0x28ad40
movl %r9d, %r15d
jmp 0x15eee
movl %r8d, %r15d
movq 0x58(%rsp), %r8
movq %r10, %rcx
shlq $0x6, %rcx
leaq 0x2754a1(%rip), %rsi    # 0x28ad40
addq %rsi, %rcx
cmpb $0x0, (%r11,%rcx)
movq 0x18(%rsp), %rcx
movq %rcx, 0x10(%rsp)
movl %edi, %ecx
movq %rcx, 0x30(%rsp)
je 0x15c27
movq %rdi, 0x60(%rsp)
movq 0x68(%rsp), %rcx
movq 0x20(%rcx), %rcx
movq 0xe8(%rsp), %rsi
leaq 0x276465(%rip), %r12    # 0x28bd40
movq %rcx, (%r12,%rsi,8)
movq 0xe0(%rsp), %rcx
movq %rax, %rsi
movq 0x70(%rsp), %rax
movq %rax, (%r12,%rcx,8)
movq 0x20(%rsi), %rcx
movq 0xd8(%rsp), %rsi
movq %rcx, (%r12,%rsi,8)
movq 0xd0(%rsp), %r8
movl 0x2130(%rsp), %ecx
movl %ecx, %ebp
movq %r13, (%r12,%r8,8)
movl %ecx, %r8d
movl 0x80(%rsp), %ecx
subl %ecx, %r8d
movl 0x4(%rsp), %eax
jle 0x15aa1
movslq %ecx, %r9
shlq $0x3, %r9
xorl %r10d, %r10d
leaq (%r9,%r10,8), %rcx
movq (%r12,%rcx), %r11
movslq (%r11), %rcx
leaq 0x122a5(%rip), %rsi     # 0x27bf0
movl (%rsi,%rcx,4), %edi
cmpl %edx, %edi
jge 0x15995
cmpl %eax, %edi
jne 0x15a50
movslq 0x4(%r11), %rdi
leaq 0x1228b(%rip), %rsi     # 0x27bf0
movslq (%rsi,%rdi,4), %rdi
cmpq %rdi, 0x38(%rsp)
jge 0x159d2
movq 0x20(%r11), %rdi
movq 0x18(%rdi), %rdi
movslq 0x4(%rdi), %rdi
shlq $0x6, %rcx
leaq 0x2753b9(%rip), %rsi    # 0x28ad40
addq %rsi, %rcx
cmpb $0x0, (%rdi,%rcx)
jne 0x15a0f
jmp 0x16256
movq 0x20(%r11), %rdi
movq 0x18(%rdi), %rdi
movslq 0x4(%rdi), %rdi
shlq $0x6, %rcx
leaq 0x275394(%rip), %rsi    # 0x28ad40
addq %rsi, %rcx
cmpb $0x0, (%rdi,%rcx)
je 0x15cfc
movq 0x10(%r11), %rcx
movslq (%rcx), %rdi
movq 0x20(%rcx), %rcx
movq 0x10(%rcx), %rcx
movslq 0x4(%rcx), %rcx
shlq $0x6, %rdi
jmp 0x15a43
jne 0x15a0f
movq 0x20(%r11), %rdi
movq 0x18(%rdi), %rdi
movslq 0x4(%rdi), %rdi
shlq $0x6, %rcx
leaq 0x275355(%rip), %rsi    # 0x28ad40
addq %rsi, %rcx
cmpb $0x0, (%rdi,%rcx)
jne 0x15a0f
movq 0x30(%rsp), %rax
movslq %eax, %rcx
incl %eax
movq %rax, 0x30(%rsp)
movl 0x4(%rsp), %eax
movq %r11, 0x3e0(%rsp,%rcx,8)
movq 0x10(%r11), %rcx
movslq 0x4(%rcx), %rdi
leaq 0x121d2(%rip), %rsi     # 0x27bf0
movslq (%rsi,%rdi,4), %rdi
cmpq %rdi, 0x38(%rsp)
jge 0x15a5e
movslq (%rcx), %rdi
movq 0x20(%rcx), %rcx
movq 0x10(%rcx), %rcx
movslq 0x4(%rcx), %rcx
shlq $0x6, %rdi
leaq 0x2752fd(%rip), %rsi    # 0x28ad40
addq %rsi, %rdi
cmpb $0x0, (%rcx,%rdi)
je 0x15cb5
incq %r10
cmpl %r10d, %r8d
jne 0x15939
jmp 0x15aa1
jne 0x15a50
movslq (%rcx), %rdi
movq 0x20(%rcx), %r11
movq 0x10(%r11), %r11
movslq 0x4(%r11), %r11
shlq $0x6, %rdi
leaq 0x2752c6(%rip), %rsi    # 0x28ad40
addq %rsi, %rdi
cmpb $0x0, (%r11,%rdi)
jne 0x15a50
movq 0x10(%rsp), %rax
movslq %eax, %rdi
incl %eax
movq %rax, 0x10(%rsp)
movl 0x4(%rsp), %eax
movq %rcx, 0xf80(%rsp,%rdi,8)
jmp 0x15a50
movl 0x2138(%rsp), %ecx
movq 0x98(%rsp), %rax
cmpl %ecx, %eax
jle 0x15b14
movl $0x1, %eax
cmpl $0x2, %ecx
movq 0x90(%rsp), %rsi
leaq 0x12125(%rip), %r12     # 0x27bf0
movq 0x88(%rsp), %r10
movl 0x44(%rsp), %edi
movq 0x68(%rsp), %r8
je 0x15cda
cmpl $0x3, %ecx
movq 0x10(%rsp), %r13
jne 0x15b3b
movq 0x8(%rsp), %rdi
callq 0x163e7
movq 0x68(%rsp), %r8
movl 0x44(%rsp), %edi
movq 0x88(%rsp), %r10
movq 0x90(%rsp), %rsi
orl $0x2, %eax
jmp 0x15b3b
decl %eax
movq 0x90(%rsp), %rsi
leaq 0x120cb(%rip), %r12     # 0x27bf0
movq 0x88(%rsp), %r10
movl 0x44(%rsp), %edi
movq 0x68(%rsp), %r8
movq 0x10(%rsp), %r13
cmpl 0x10663(%rip), %eax     # 0x261a4
jge 0x15b8d
movq 0x28(%rsp), %rax
incl (%r12,%rax,4)
movq 0x58(%rsp), %rax
incl (%r12,%rax,4)
movq 0x78(%rsp), %rcx
movslq %ecx, %rax
decl %ecx
movq %rcx, 0x78(%rsp)
movq 0x20(%rsp), %rbp
movq -0x8(%rbp,%rax,8), %rcx
movq %rcx, (%rbp,%r10,8)
movl 0xec(%rsp,%rax,4), %eax
movl %eax, 0xf0(%rsp,%r10,4)
decl %r10d
movl %r10d, %ebx
jmp 0x15ee7
movq %rax, 0x98(%rsp)
addl $0x4, %ebp
movq 0x8(%rsp), %rdx
movq 0x10(%rdx), %rax
movq 0x18(%rdx), %rcx
movq %rcx, 0x18(%rax)
movq %rax, 0x10(%rcx)
movq 0x20(%rdx), %rax
movq 0x10(%rax), %rcx
movq 0x18(%rax), %rax
movq %rax, 0x18(%rcx)
movq %rcx, 0x10(%rax)
cmpl 0x2130(%rsp), %ebp
jle 0x15be6
movslq %ebp, %rax
addq 0xc0(%rsp), %rax
xorl %ecx, %ecx
movq (%rsi,%rcx,8), %rdx
movl %edi, 0x38(%rdx)
incq %rcx
cmpq %rcx, %rax
jne 0x15bd7
addl $-0x2, 0x22ea27(%rip)   # 0x244614
leaq 0x11dfc(%rip), %rax     # 0x279f0
movq 0x28(%rsp), %rcx
movq %r8, (%rax,%rcx,8)
movq 0x58(%rsp), %rcx
movq 0x70(%rsp), %rdx
movq %rdx, (%rax,%rcx,8)
movq 0x30(%rsp), %rax
addl %r13d, %eax
cmpl $0x1, %eax
jne 0x15c68
movq 0x60(%rsp), %r9
movq 0x30(%rsp), %r8
jmp 0x15fac
movq 0x18(%rsp), %rcx
movq %rcx, 0x10(%rsp)
movl %edi, %ecx
movq %rcx, 0x30(%rsp)
movl 0x4(%rsp), %ecx
cmpl %ecx, (%r12,%r10,4)
movq 0x48(%rsp), %r10
jne 0x162aa
cmpq %r10, 0x38(%rsp)
jge 0x15d26
leal 0x1(%r10), %eax
movq 0x28(%rsp), %rcx
movl %eax, (%r12,%rcx,4)
jmp 0x15d6e
movq 0x18(%rsp), %rax
movl %eax, %esi
testl %eax, %eax
jle 0x15d81
xorl %eax, %eax
xorl %edx, %edx
movq 0xf80(%rsp,%rax,8), %rcx
movq 0x20(%rcx), %rdi
movq 0x10(%rdi), %rdi
movslq 0x4(%rdi), %rdi
movslq (%r12,%rdi,4), %rdi
shlq $0xa, %rdi
movslq 0x38(%rcx), %rcx
addq %rdi, %rcx
cmpq %rdx, %rcx
cmovleq %rdx, %rcx
incq %rax
movq %rcx, %rdx
cmpq %rax, %rsi
jne 0x15c7b
jmp 0x15d83
movq 0x48(%rsp), %rcx
incl %ecx
leaq 0x11f2d(%rip), %r12     # 0x27bf0
movq 0x28(%rsp), %rax
movl %ecx, (%r12,%rax,4)
movq 0x58(%rsp), %rax
incl (%r12,%rax,4)
jmp 0x15ee2
cmpq %r8, %r13
je 0x15b36
movslq 0x4(%r8), %rcx
cmpl $0x2, (%r12,%rcx,4)
jne 0x16228
movl $0x2, %eax
jmp 0x15b36
movq 0x48(%rsp), %rax
incl %eax
leaq 0x11ee6(%rip), %r12     # 0x27bf0
movq 0x28(%rsp), %rcx
movl %eax, (%r12,%rcx,4)
movq 0x58(%rsp), %rax
incl (%r12,%rax,4)
movq 0x20(%rsp), %rbp
jmp 0x15eee
movl %edi, %ecx
movq %rcx, 0x30(%rsp)
jne 0x15d57
movq 0x68(%rsp), %rcx
movq 0x20(%rcx), %rcx
leal 0x1(%rdi), %r9d
movq %r9, 0x30(%rsp)
movq %rdi, %r10
movl %r10d, %edi
movq %rcx, 0x3e0(%rsp,%rdi,8)
movq %r10, %rdi
movq 0x48(%rsp), %r10
cmpq %r14, 0x38(%rsp)
jge 0x16183
incl %r10d
movq 0x28(%rsp), %rax
movl %r10d, (%r12,%rax,4)
incl (%r12,%r8,4)
jmp 0x15eee
movq 0x48(%rsp), %r10
jmp 0x16204
xorl %ecx, %ecx
movq 0x60(%rsp), %rax
movl %eax, %edx
testl %eax, %eax
jle 0x15dc7
xorl %edi, %edi
movq 0x3e0(%rsp,%rdi,8), %rax
movq 0x20(%rax), %rax
movq 0x18(%rax), %r8
movslq 0x4(%r8), %r8
movslq (%r12,%r8,4), %r8
shlq $0xa, %r8
movslq 0x38(%rax), %rax
addq %r8, %rax
cmpq %rcx, %rax
cmovleq %rcx, %rax
incq %rdi
movq %rax, %rcx
cmpq %rdi, %rdx
jne 0x15d90
jmp 0x15dca
movq %rcx, %rax
cmpl $0x0, 0x18(%rsp)
jle 0x15e19
xorl %edi, %edi
xorl %ecx, %ecx
movq 0xf80(%rsp,%rdi,8), %r8
movq 0x20(%r8), %r9
movq 0x10(%r9), %r9
movslq 0x4(%r9), %r9
movslq (%r12,%r9,4), %r9
shlq $0xa, %r9
movslq 0x38(%r8), %r10
addq %r9, %r10
cmpq %rax, %r10
jne 0x15e0a
movslq %ecx, %r9
incl %ecx
movq %r8, 0xf80(%rsp,%r9,8)
incq %rdi
cmpq %rdi, %rsi
jne 0x15dd5
movq 0x18(%rsp), %rdi
jmp 0x15e1d
xorl %edi, %edi
xorl %ecx, %ecx
movl %ecx, %esi
cmpl %r13d, %edi
jge 0x15e70
movl %edi, %edi
movl %r13d, %r8d
movl %ecx, %esi
movq 0xf80(%rsp,%rdi,8), %r9
movq 0x20(%r9), %r10
movq 0x10(%r10), %r10
movslq 0x4(%r10), %r10
movslq (%r12,%r10,4), %r10
shlq $0xa, %r10
movslq 0x38(%r9), %r11
addq %r10, %r11
cmpq %rax, %r11
jne 0x15e62
movslq %esi, %r10
incl %esi
movq %r9, 0xf80(%rsp,%r10,8)
jmp 0x15e68
jg 0x160e9
incq %rdi
cmpq %rdi, %r8
jne 0x15e2b
cmpl $0x0, 0x60(%rsp)
jle 0x15f2f
xorl %r8d, %r8d
xorl %edi, %edi
movq 0x3e0(%rsp,%r8,8), %r9
movq 0x20(%r9), %r10
movq 0x18(%r10), %r11
movslq 0x4(%r11), %r11
movslq (%r12,%r11,4), %r11
shlq $0xa, %r11
movslq 0x38(%r10), %r10
addq %r11, %r10
cmpq %rax, %r10
jne 0x15eb5
movslq %edi, %r10
incl %edi
movq %r9, 0x3e0(%rsp,%r10,8)
incq %r8
cmpq %r8, %rdx
jne 0x15e80
movq 0x60(%rsp), %rdx
jmp 0x15f33
movq 0x48(%rsp), %rax
incl %eax
movq 0x28(%rsp), %rcx
movl %eax, (%r12,%rcx,4)
movq 0x58(%rsp), %rax
incl (%r12,%rax,4)
movl 0x54(%rsp), %r15d
movq 0x20(%rsp), %rbp
leaq 0x274e52(%rip), %rsi    # 0x28ad40
movq 0x8(%rsp), %r13
movslq 0x4(%r13), %rax
movslq (%r13), %rcx
movq %rax, %rdx
shlq $0x6, %rdx
addq %rsi, %rdx
movb $0x1, %dil
movb %dil, (%rcx,%rdx)
shlq $0x6, %rcx
addq %rsi, %rcx
movb %dil, (%rax,%rcx)
movl 0xac(%rsp), %edx
incl %ebx
cmpl 0x78(%rsp), %ebx
jl 0x15278
jmp 0x16363
xorl %edx, %edx
xorl %edi, %edi
movq 0x30(%rsp), %r8
cmpl %r8d, %edx
jge 0x15f94
movl %edx, %edx
movl %r8d, %r13d
movl %edi, %r8d
movq 0x3e0(%rsp,%rdx,8), %r9
movq 0x20(%r9), %r10
movq 0x18(%r10), %r11
movslq 0x4(%r11), %r11
movslq (%r12,%r11,4), %r11
shlq $0xa, %r11
movslq 0x38(%r10), %r10
addq %r11, %r10
cmpq %rax, %r10
jne 0x15f7d
movslq %r8d, %r10
incl %r8d
movq %r9, 0x3e0(%rsp,%r10,8)
jmp 0x15f83
jg 0x160e9
incq %rdx
cmpq %rdx, %r13
jne 0x15f45
movl %ecx, %eax
movq %rax, 0x18(%rsp)
jmp 0x15f9e
movl %ecx, %eax
movq %rax, 0x18(%rsp)
movl %edi, %r8d
movl %edi, %r9d
movl %esi, %r13d
movq 0x88(%rsp), %r10
leal (%r8,%r13), %eax
cmpl $0x1, %eax
jne 0x16009
movq 0x20(%rsp), %r12
movq (%r12,%r10,8), %r14
movq 0x78(%rsp), %rax
leal -0x1(%rax), %esi
cltq
movq -0x8(%r12,%rax,8), %rax
movq %rax, (%r12,%r10,8)
movq %r12, %rdi
leaq 0x1b20(%rsp), %r13
movq %r13, %rdx
leaq 0x84(%rsp), %rcx
movq %r10, %r15
callq 0x14582
movq %r14, (%r12,%r15,8)
movl 0x84(%rsp), %ecx
movl $0x1, %edi
movl $0x1, %esi
jmp 0x1609e
subq $0x8, %rsp
leaq 0xf88(%rsp), %rdi
movl %r13d, %esi
movq 0x20(%rsp), %rdx
leaq 0x3e8(%rsp), %rcx
leaq 0xb8(%rsp), %rax
pushq %rax
leaq 0xc4(%rsp), %rax
pushq %rax
pushq %r12
callq 0xc7bb
addq $0x20, %rsp
testl %eax, %eax
je 0x160bf
movq 0x20(%rsp), %r12
movq 0x88(%rsp), %r15
movq (%r12,%r15,8), %r14
movq 0x78(%rsp), %rax
leal -0x1(%rax), %esi
cltq
movq -0x8(%r12,%rax,8), %rax
movq %rax, (%r12,%r15,8)
movq %r12, %rdi
leaq 0x1b20(%rsp), %r13
movq %r13, %rdx
leaq 0x84(%rsp), %rcx
callq 0x14582
movq %r14, (%r12,%r15,8)
movl 0xb4(%rsp), %edi
movl 0xb0(%rsp), %esi
movl 0x84(%rsp), %ecx
movq %r13, %rdx
movl 0x44(%rsp), %r8d
movl 0x80(%rsp), %r9d
pushq 0x98(%rsp)
pushq %rbp
callq 0x15151
addq $0x10, %rsp
movq 0x8(%rsp), %r13
movq %r13, %rdi
callq 0x16375
movl 0x54(%rsp), %r15d
movq 0x20(%rsp), %rbp
leaq 0x274c63(%rip), %rsi    # 0x28ad40
leaq 0x11b0c(%rip), %r12     # 0x27bf0
jmp 0x15ef3
movq 0x8(%rsp), %r13
movq %r13, %rdi
callq 0x16375
movq 0x20(%rsp), %rbp
leaq 0x274c3e(%rip), %rsi    # 0x28ad40
jmp 0x15ef3
movq 0x18(%rsp), %r15
movq %r15, 0x10(%rsp)
movl %r9d, %r15d
jne 0x16142
movq 0x70(%rsp), %rdi
movq 0x20(%rdi), %rdi
movq 0x18(%rsp), %r15
leal 0x1(%r15), %r9d
movq %r9, 0x10(%rsp)
movl %r15d, %r15d
movq %rdi, 0xf80(%rsp,%r15,8)
movq 0x60(%rsp), %rdi
movl 0x54(%rsp), %r15d
cmpl 0x4(%rsp), %ecx
movq 0x30(%rsp), %r13
jne 0x1616d
cmpq %r11, 0x38(%rsp)
jge 0x161c1
movq 0x48(%rsp), %rax
incl %eax
movq 0x28(%rsp), %rcx
movl %eax, (%r12,%rcx,4)
incl (%r12,%r8,4)
jmp 0x15ee2
movl %r15d, %r9d
movl %edi, %r15d
movq %r10, %r11
movq 0xa0(%rsp), %r10
jmp 0x155f3
jne 0x1629c
movq 0x70(%rsp), %rcx
movq 0x20(%rcx), %rcx
movl %r15d, %r9d
movq 0x18(%rsp), %r15
leal 0x1(%r15), %r10d
movq %r10, 0x10(%rsp)
movq %rdi, %r10
movl %r15d, %edi
movl %r9d, %r15d
movq %rcx, 0xf80(%rsp,%rdi,8)
movq %r10, %rdi
movq 0x48(%rsp), %r10
jmp 0x162a6
movl %r15d, %r9d
movq %r10, %r11
jne 0x16341
movq 0x20(%rax), %rcx
leal 0x1(%rdi), %r15d
movl 0x60(%rsp), %edi
movq %rcx, 0x3e0(%rsp,%rdi,8)
jmp 0x16176
jne 0x16200
movq 0x20(%rax), %r14
movq 0x30(%rsp), %rax
movl %eax, %r9d
incl %eax
movq %rax, 0x30(%rsp)
movq %r14, 0x3e0(%rsp,%r9,8)
movl 0x4(%rsp), %eax
cmpl %eax, %ecx
jne 0x15612
cmpq %r10, 0x38(%rsp)
jge 0x16272
incl %r10d
movq 0x28(%rsp), %rax
movl %r10d, (%r12,%rax,4)
incl (%r12,%r8,4)
jmp 0x15ee7
movq 0x20(%r13), %rax
movq 0x8(%rsp), %rdx
movq 0x10(%rsp), %r13
movq 0x20(%rdx), %rdx
movq 0x10(%rdx), %rdx
cmpq %rax, %rdx
je 0x16349
cmpl %ecx, 0x4(%rdx)
jne 0x16236
movl $0x1, %eax
jmp 0x15b3b
movq 0x48(%rsp), %rax
incl %eax
leaq 0x1198c(%rip), %r12     # 0x27bf0
movq 0x28(%rsp), %rcx
movl %eax, (%r12,%rcx,4)
jmp 0x15ccc
jne 0x15612
movq 0x20(%r13), %rcx
movq 0x10(%rsp), %rax
movl %eax, %r8d
incl %eax
movq %rax, 0x10(%rsp)
movl 0x4(%rsp), %eax
movq %rcx, 0xf80(%rsp,%r8,8)
jmp 0x15612
movq 0x18(%rsp), %rcx
movq %rcx, 0x10(%rsp)
movl 0x4(%rsp), %ecx
cmpl %ecx, (%r12,%r11,4)
jne 0x158be
movq %r13, %r9
movq 0x8(%rsp), %r13
movq %rax, %rcx
movq 0x38(%rsp), %rax
cmpq %r10, %rax
jge 0x162d7
incl %r10d
movq 0x28(%rsp), %rax
movl %r10d, (%r12,%rax,4)
jmp 0x1630f
movq %rdi, 0x60(%rsp)
jne 0x162fd
movq 0x20(%r9), %r11
movq 0x10(%rsp), %rax
movl %eax, %edi
incl %eax
movq %rax, 0x10(%rsp)
movq %r11, 0xf80(%rsp,%rdi,8)
movq 0x38(%rsp), %rax
cmpq %r14, %rax
jge 0x16318
leal 0x1(%r10), %eax
movq 0x28(%rsp), %rcx
movl %eax, (%r12,%rcx,4)
incl (%r12,%r8,4)
jmp 0x15ef3
jne 0x16353
movq %rcx, %rsi
movq 0x20(%rcx), %rcx
movq 0x30(%rsp), %rax
movl %eax, %edi
incl %eax
movq %rax, 0x30(%rsp)
movq %rsi, %rax
movq %rcx, 0x3e0(%rsp,%rdi,8)
movq 0x60(%rsp), %rdi
jmp 0x1635b
movl %edi, %r15d
jmp 0x16176
movl $0x2, %eax
jmp 0x15b3b
movq 0x60(%rsp), %rdi
movq %rcx, %rax
movq %r9, %r13
jmp 0x158be
addq $0x20f8, %rsp           # imm = 0x20F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq