// File: /workspace/github_c_makefile_star2_O2/mishun[P]plantri/plantri.c
// Function: scansimple
static void
scansimple(int nbtot, int nbop)

/* The main node of the recursion for triangulations without double 
   edges or loops.  As this procedure is entered,
   nv,ne,degree etc are set for some graph, and nbtot/nbop are the
   values returned by canon() for that graph. */
{
    EDGE *ext3[MAXE/3],*ext4[MAXE/2],*ext5[MAXE];
    int next3,next4,next5;
    EDGE *save_list[4];
    register int i;
    register EDGE *e1,*e2,**nb,**nblim;
    EDGE *e,*ex;
    int nc,xnbtot,xnbop,v,needed_deg;
    int colour[MAXN];
    EDGE *firstedge_save[MAXE];

    if (nv == maxnv)
    {
        if (pswitch)               startpolyscan(nbtot,nbop);
	else if (polygonsize >= 0) polygon_triang(nbtot,nbop);
        else if (minconnec == 3)   got_one(nbtot,nbop,3);
        else                       scandouble(nbtot,nbop,0,NULL,NULL,0,NULL);
        return;
    }

    if (nv == splitlevel)
    {
#ifdef SPLITTEST
	ADDBIG(splitcases,1);
	return;
#endif
        if (splitcount-- != 0) return;
        splitcount = mod - 1;
    
        for (i = 0; i < nv; ++i) firstedge_save[i] = firstedge[i];
    }

   /* The following could be improved significantly by avoiding
      extensions that can't lead to success here. */
    if (polygonsize >= 9)
    {
	needed_deg = polygonsize + nv - maxnv;
	for (i = 0; i < nv; ++i)
	    if (degree[i] >= needed_deg) break;
	if (i == nv) return;
    }

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

#ifndef FIND_EXTENSIONS_SIMPLE
#define FIND_EXTENSIONS_SIMPLE find_extensions
#endif

    FIND_EXTENSIONS_SIMPLE(nbtot,nbop,ext3,&next3,ext4,&next4,ext5,&next5);

    for (i = 0; i < next3; ++i)
    {
        nc = make_colours(colour,ext3[i]);
        if (nc)
        {
            extend3(ext3[i]);
#ifdef FAST_FILTER_SIMPLE
            if (FAST_FILTER_SIMPLE)
#endif 
            {
                if (nc == 1 && nv == maxnv && !needgroup)
                    got_one(1,1,3);
                else if (canon(colour,numbering,&xnbtot,&xnbop))
                    scansimple(xnbtot,xnbop);
	    }
            reduce3(ext3[i]);
        }
    }

    for (i = 0; i < next4; ++i)
    {
        extend4(ext4[i],save_list);
#ifdef FAST_FILTER_SIMPLE
        if (FAST_FILTER_SIMPLE)
#endif
        { 
            if (canon(degree,numbering,&xnbtot,&xnbop))   
            {
                e = numbering[0][0];
                v = e->next->next->end;
                ex = e->invers;
                for (e = ex->next; e != ex; e = e->next) if (e->end == v) break;
    
                e1 = ext4[i]->next->invers;
                if (e != ex) e1 = e1->next;
        
                e2 = e1->next->next;
                nblim = (EDGE**)numbering[xnbtot];
                for (nb = (EDGE**)numbering[0]; nb < nblim; nb += MAXE)
                    if (*nb == e1 || *nb == e2) break;
    
                if (nb < nblim) scansimple(xnbtot,xnbop); 
            }
        }
        reduce4(ext4[i],save_list); 
    }

    for (i = 0; i < next5; ++i) 
    { 
        extend5(ext5[i],save_list); 
#ifdef FAST_FILTER_SIMPLE
        if (FAST_FILTER_SIMPLE)
#endif 
        {
            if (canon(degree,numbering,&xnbtot,&xnbop))    
            {
                e1 = ext5[i]->next->invers;
                e2 = numbering[0][0];
                if (xnbtot == 1)
                {
                    if (!valid5edge(e2))
                    {
                        if (xnbop == 1)
                            if (valid5edge(e2->prev)) e2 = e2->prev;
                            else                      e2 = e2->next;
                        else
                            if (valid5edge(e2->next)) e2 = e2->next;
                            else                      e2 = e2->prev;
                    }
                    if (e2 == e1) scansimple(xnbtot,xnbop);
                }
                else
                {
                    for (nb = (EDGE**)numbering[0]; !valid5edge(*nb); ++nb) {}
    
                    nblim = (EDGE**)numbering[xnbtot]; 
                    for ( ; nb < nblim; nb += MAXE) 
                        if (*nb == e1) break; 
         
                    if (nb < nblim) scansimple(xnbtot,xnbop);  
                }
            }
	}
        reduce5(ext5[i],save_list);  
    }

    if (nv == splitlevel)
        for (i = 0; i < nv; ++i) firstedge[i] = firstedge_save[i];
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2248, %rsp           # imm = 0x2248
movl 0x232824(%rip), %r13d   # 0x242600
movl %r13d, %eax
movslq %edi, %r8
subl 0x14478(%rip), %eax     # 0x24260
jne 0xfe0d
cmpb $0x1, 0x143a7(%rip)     # 0x24198
jne 0xfea2
addq $0x2248, %rsp           # imm = 0x2248
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x111f3
cmpl 0x15bc0(%rip), %r13d    # 0x259d4
jne 0xfe61
subl $0x1, 0x278df3(%rip)    # 0x288c10
jae 0x1102d
movl 0x14433(%rip), %ecx     # 0x2425c
decl %ecx
movl %ecx, 0x278ddf(%rip)    # 0x288c10
xorl %ecx, %ecx
testl %r13d, %r13d
movl $0x0, %edx
cmovgl %r13d, %edx
shlq $0x3, %rdx
leaq 0x15b96(%rip), %r9      # 0x259e0
cmpq %rcx, %rdx
je 0xfe61
movq (%rcx,%r9), %r10
movq %r10, 0x16a0(%rsp,%rcx)
addq $0x8, %rcx
jmp 0xfe4a
movl 0x14339(%rip), %ecx     # 0x241a0
cmpl $0x8, %ecx
jle 0xfefe
addl %ecx, %eax
xorl %ecx, %ecx
testl %r13d, %r13d
movl $0x0, %edx
cmovgl %r13d, %edx
leaq 0x15d59(%rip), %r9      # 0x25be0
cmpq %rcx, %rdx
je 0xffc5
cmpl %eax, (%r9)
jge 0xffc7
incq %rcx
addq $0x4, %r9
jmp 0xfe87
movl 0x142f8(%rip), %ecx     # 0x241a0
testl %ecx, %ecx
js 0x102b0
xorl %edx, %edx
testl %r13d, %r13d
movl $0x0, %eax
cmovgl %r13d, %eax
shlq $0x2, %rax
pushq $0x1
popq %r9
leaq 0x15d13(%rip), %r10     # 0x25be0
movq %r10, 0x10(%rsp)
leaq 0x15d07(%rip), %r11     # 0x25be0
cmpq %rdx, %rax
je 0xff0c
movl %r9d, %r10d
testl %ecx, %ecx
je 0xfef0
xorl %r10d, %r10d
cmpl %ecx, (%rdx,%r11)
sete %r10b
movl %r10d, 0x150(%rsp,%rdx)
addq $0x4, %rdx
jmp 0xfed9
xorl %edx, %edx
testl %r13d, %r13d
cmovgl %r13d, %edx
jmp 0xffd0
cmpl $0x3, 0x14295(%rip)     # 0x241a8
je 0x102d6
cmpl $0x3, 0x14180(%rip)     # 0x240a0
je 0x102d6
cmpl $0x1, %edi
jne 0x10332
xorl %ebx, %ebx
pushq $0x3
popq %r14
pushq $0x1
popq %rbp
pushq $0x2
popq %r15
movslq %r13d, %rax
cmpq %rax, %rbx
jge 0x1102d
cmpl $0x0, 0x150(%rsp,%rbx,4)
je 0xffb7
movl %ebx, %edi
callq 0x198fa
movq %rax, 0x2326a8(%rip)    # 0x242608
movq 0x10(%rsp), %rcx
cmpl $0x3, (%rcx)
movl 0x14131(%rip), %r12d    # 0x240a0
movl %r14d, %edx
je 0xff93
cmpl $0x3, %r12d
je 0xff86
testb $0x1, 0x14127(%rip)     # 0x240a8
movl %r15d, %edx
je 0xff93
movq %rax, %rdi
callq 0x19962
movl %eax, %edx
orl $0x2, %edx
cmpl %r12d, %edx
jl 0xffa1
movl %ebp, %edi
movl %ebp, %esi
callq 0x658a
movl %ebx, %edi
callq 0x199fc
andq $0x0, 0x232658(%rip)    # 0x242608
movl 0x232649(%rip), %r13d   # 0x242600
incq %rbx
addq $0x4, 0x10(%rsp)
jmp 0xff3c
movl %edx, %ecx
cmpl %r13d, %ecx
je 0x1102d
leaq (,%rdx,4), %r10
xorl %r11d, %r11d
leaq 0x15bfe(%rip), %rbx     # 0x25be0
xorl %eax, %eax
xorl %ecx, %ecx
cmpq %r11, %r10
je 0x10007
movl (%r11,%rbx), %r9d
cmpl $0x4, %r9d
je 0xffff
cmpl $0x3, %r9d
jne 0x10001
incl %ecx
jmp 0x10001
incl %eax
addq $0x4, %r11
jmp 0xffe6
cmpl $0x1, %edi
jne 0x10057
xorl %esi, %esi
xorl %r15d, %r15d
cmpq %rdx, %rsi
je 0x1008c
leaq 0x159c3(%rip), %rdi     # 0x259e0
movq (%rdi,%rsi,8), %rdi
movq %rdi, %r8
movq 0x20(%r8), %r9
movq 0x10(%r9), %r9
cmpq %r8, %r9
jbe 0x10049
movq 0x20(%r9), %r9
cmpq %r8, 0x10(%r9)
jbe 0x10049
movslq %r15d, %r9
incl %r15d
movq %r8, 0xcf0(%rsp,%r9,8)
movq 0x18(%r8), %r8
cmpq %rdi, %r8
jne 0x10024
incq %rsi
jmp 0x10011
testl %esi, %esi
cmovnel %esi, %edi
movslq %edi, %rsi
movl 0x23259f(%rip), %edx    # 0x242604
xorl %edi, %edi
testl %edx, %edx
cmovlel %edi, %edx
leaq 0x15c6d(%rip), %r9      # 0x25ce0
cmpq %rdi, %rdx
je 0x1011f
movq (%r9), %r10
movl %edi, 0x34(%r10)
incq %rdi
addq $0x8, %r9
jmp 0x10073
cmpl $0x2, %ecx
jg 0x104c8
xorl %esi, %esi
movq $0x0, 0x8(%rsp)
cmpq %rdx, %rsi
je 0x104d6
cmpl $0x3, (%rbx,%rsi,4)
je 0x1011a
leaq 0x1592a(%rip), %rdi     # 0x259e0
movq (%rdi,%rsi,8), %rdi
movq %rdi, %r8
movq 0x18(%r8), %r9
movq 0x20(%r9), %r10
cmpq %r9, %r10
jbe 0x10112
movq 0x10(%r10), %r10
movslq 0x4(%r8), %r11
xorl %r14d, %r14d
cmpl $0x3, (%rbx,%r11,4)
sete %r14b
movslq 0x4(%r10), %r10
xorl %r11d, %r11d
cmpl $0x3, (%rbx,%r10,4)
sete %r11b
addl %r14d, %r11d
cmpl %ecx, %r11d
jne 0x10112
movq 0x8(%rsp), %r10
movslq %r10d, %r9
incl %r10d
movq %r10, 0x8(%rsp)
movq %r8, 0x10d0(%rsp,%r9,8)
movq 0x18(%r8), %r9
movq %r9, %r8
cmpq %rdi, %r9
jne 0x100bd
incq %rsi
jmp 0x100a0
imulq $0xba0, %rsi, %rsi      # imm = 0xBA0
leaq 0x15bb3(%rip), %r11     # 0x25ce0
imulq $0xba0, %r8, %r8        # imm = 0xBA0
movl 0x13f41(%rip), %r9d     # 0x2407c
leal 0x2(%r9), %r14d
movl %r14d, 0x13f36(%rip)    # 0x2407c
leaq 0x2324c3(%rip), %rdi    # 0x242610
cmpl $0x752f, %r9d           # imm = 0x752F
jl 0x1017c
movl $0x2, 0x13f1c(%rip)     # 0x2407c
pushq $0x30
popq %r9
pushq $0x2
popq %r14
cmpq $0x46630, %r9           # imm = 0x46630
je 0x1017c
andl $0x0, (%r9,%rdi)
addq $0x40, %r9
jmp 0x10168
movq %r13, 0x10(%rsp)
addq %r11, %rsi
addq %r11, %r8
xorl %r15d, %r15d
xorl %ebp, %ebp
cmpq %rdx, %r15
je 0x10260
movq (%r11,%r15,8), %r13
cmpl %r14d, 0x30(%r13)
je 0x10258
leaq (%r11,%r15,8), %r9
movslq %ebp, %r10
movq %r13, 0xcf0(%rsp,%r10,8)
cmpq %rsi, %r9
jae 0x101d9
movq (%r9), %r10
movl %r14d, 0x30(%r10)
addq $0xba0, %r9             # imm = 0xBA0
jmp 0x101b2
movq (%r9), %r10
movq 0x20(%r10), %r10
movl %r14d, 0x30(%r10)
addq $0xba0, %r9             # imm = 0xBA0
cmpq %r8, %r9
jb 0x101c7
movq 0x20(%r13), %r9
movq 0x10(%r9), %r13
movslq 0x34(%r13), %r9
leaq (%r11,%r9,8), %r9
cmpq %rsi, %r9
jae 0x10215
movq (%r9), %r10
movl %r14d, 0x30(%r10)
addq $0xba0, %r9             # imm = 0xBA0
jmp 0x101ee
movq (%r9), %r10
movq 0x20(%r10), %r10
movl %r14d, 0x30(%r10)
addq $0xba0, %r9             # imm = 0xBA0
cmpq %r8, %r9
jb 0x10203
movq 0x20(%r13), %r9
movq 0x10(%r9), %r9
movslq 0x34(%r9), %r9
leaq (%r11,%r9,8), %r9
cmpq %rsi, %r9
jae 0x10251
movq (%r9), %r10
movl %r14d, 0x30(%r10)
addq $0xba0, %r9             # imm = 0xBA0
jmp 0x1022a
movq (%r9), %r10
movq 0x20(%r10), %r10
movl %r14d, 0x30(%r10)
addq $0xba0, %r9             # imm = 0xBA0
cmpq %r8, %r9
jb 0x1023f
incl %ebp
incq %r15
jmp 0x1018c
cmpl $0x2, %ecx
jg 0x1056e
leal 0x2(%r14), %r15d
movl %r15d, 0x13e08(%rip)    # 0x2407c
cmpl $0x752f, %r14d          # imm = 0x752F
movq 0x10(%rsp), %r13
jl 0x1058a
movl $0x2, 0x13dec(%rip)     # 0x2407c
pushq $0x30
popq %r9
pushq $0x2
popq %r15
cmpq $0x46630, %r9           # imm = 0x46630
je 0x1058a
andl $0x0, (%r9,%rdi)
addq $0x40, %r9
jmp 0x10298
cmpl $0x3, 0x13de9(%rip)     # 0x240a0
jne 0x106d4
pushq $0x3
popq %rdx
addq $0x2248, %rsp           # imm = 0x2248
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x658a
leaq 0x15703(%rip), %rcx     # 0x259e0
xorl %edx, %edx
leaq 0x158fa(%rip), %r9      # 0x25be0
cmpq %rdx, %rax
je 0xff26
cmpl $0x3, (%rdx,%r9)
jne 0x10328
movq (%rcx), %r10
movq 0x10(%r10), %r11
movslq 0x4(%r11), %r11
andl $0x0, 0x150(%rsp,%r11,4)
movq 0x18(%r10), %r11
movslq 0x4(%r11), %r11
andl $0x0, 0x150(%rsp,%r11,4)
movslq 0x4(%r10), %r10
andl $0x0, 0x150(%rsp,%r10,4)
addq $0x8, %rcx
addq $0x4, %rdx
jmp 0x102e6
movl 0x2322cc(%rip), %ecx    # 0x242604
xorl %eax, %eax
testl %ecx, %ecx
movl $0x0, %edx
cmovgl %ecx, %edx
testl %edi, %edi
cmovlel %eax, %edi
leaq 0x281f10(%rip), %r9     # 0x292260
leaq 0x15989(%rip), %r10     # 0x25ce0
movl $0xba0, %r11d           # imm = 0xBA0
cmpl %edi, %eax
je 0x1037f
xorl %ebx, %ebx
cmpq %rbx, %rdx
je 0x10375
movq (%r10,%rbx,8), %r14
movq %r14, (%r9,%rbx,8)
incq %rbx
jmp 0x10363
incl %eax
addq %r11, %r10
addq %r11, %r9
jmp 0x1035d
imulq $0xba0, %r8, %r13       # imm = 0xBA0
leaq 0x281ed3(%rip), %rdi    # 0x292260
addq %rdi, %r13
movslq %esi, %r12
xorl %edx, %edx
movl $0xba0, %r15d           # imm = 0xBA0
movslq %ecx, %rax
cmpq %rax, %rdx
jge 0x1102d
movq (%rdi,%rdx,8), %rax
movslq (%rax), %rbx
cmpl $0x0, 0x150(%rsp,%rbx,4)
je 0x104c0
movq %rdx, 0x8(%rsp)
leaq (%rdi,%rdx,8), %rax
movl %ecx, %ecx
xorl %edx, %edx
movq %rdi, %rsi
xorl %ebp, %ebp
xorl %r14d, %r14d
cmpq %r13, %rax
jae 0x1043e
movq (%rax), %rdi
movslq (%rdi), %rdi
andl $0x0, 0x150(%rsp,%rdi,4)
cmpl %ebx, %edi
jne 0x10433
movslq %ebp, %rdi
imulq $0xba0, %rdi, %rdi      # imm = 0xBA0
leaq 0x158e7(%rip), %r8      # 0x25ce0
addq %r8, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
cmpq %r8, %rcx
je 0x10425
movq (%rsi,%r8,8), %r10
cmpl %ebx, (%r10)
je 0x10420
cmpl %ebx, 0x4(%r10)
je 0x10420
movslq %r9d, %r11
incl %r9d
movq %r10, (%rdi,%r11,8)
incq %r8
jmp 0x10402
xorl %edi, %edi
cmpq %r12, %rdx
setl %dil
addl %edi, %r14d
incl %ebp
incq %rdx
addq %r15, %rax
addq %r15, %rsi
jmp 0x103d1
movl %ebx, %edi
callq 0x198fa
movq %rax, 0x2321bc(%rip)    # 0x242608
leaq 0x1578d(%rip), %rcx     # 0x25be0
cmpl $0x3, (%rcx,%rbx,4)
movl 0x13c43(%rip), %ecx     # 0x240a0
jne 0x1046b
cmpl $0x3, 0x23219a(%rip)    # 0x242600
pushq $0x3
popq %rdx
jg 0x10491
cmpl $0x3, %ecx
je 0x1047c
testb $0x1, 0x13c31(%rip)     # 0x240a8
pushq $0x2
popq %rdx
je 0x10491
movq %rax, %rdi
movl %ecx, 0x28(%rsp)
callq 0x19962
movl 0x28(%rsp), %ecx
movl %eax, %edx
orl $0x2, %edx
cmpl %ecx, %edx
jl 0x1049f
movl %ebp, %edi
movl %r14d, %esi
callq 0x658a
movl %ebx, %edi
callq 0x199fc
andq $0x0, 0x23215a(%rip)    # 0x242608
movl 0x232150(%rip), %ecx    # 0x242604
leaq 0x281da5(%rip), %rdi    # 0x292260
movq 0x8(%rsp), %rdx
incq %rdx
jmp 0x1039b
movq $0x0, 0x8(%rsp)
jmp 0x10560
testl %ecx, %ecx
sete %cl
cmpl $0x3, %eax
setl %sil
andb %cl, %sil
cmpb $0x1, %sil
jne 0x10560
xorl %ecx, %ecx
xorl %r14d, %r14d
cmpq %rdx, %rcx
je 0x107bd
cmpl $0x6, (%rbx,%rcx,4)
jl 0x1055b
leaq 0x154da(%rip), %rsi     # 0x259e0
movq (%rsi,%rcx,8), %rsi
movq %rsi, %rdi
movq 0x18(%rdi), %r8
movq 0x18(%r8), %r9
movq 0x18(%r9), %r9
movslq 0x4(%rdi), %r10
xorl %r11d, %r11d
cmpl $0x4, (%rbx,%r10,4)
sete %r11b
movslq 0x4(%r9), %r9
xorl %r10d, %r10d
cmpl $0x4, (%rbx,%r9,4)
sete %r10b
addl %r11d, %r10d
cmpl %eax, %r10d
jne 0x10553
movslq %r14d, %r8
incl %r14d
movq %rdi, 0x150(%rsp,%r8,8)
movq 0x18(%rdi), %r8
movq %r8, %rdi
cmpq %rsi, %r8
jne 0x1050d
incq %rcx
jmp 0x104f0
movq $0x0, 0x20(%rsp)
jmp 0x107c2
movq $0x0, 0x8(%rsp)
movq $0x0, 0x20(%rsp)
movq 0x10(%rsp), %r13
jmp 0x106f6
xorl %r14d, %r14d
movq $0x0, 0x8(%rsp)
movq %r11, %r12
cmpq %rdx, %r14
je 0x10685
movq (%r11,%r14,8), %r10
cmpl %r15d, 0x30(%r10)
je 0x1067d
movq 0x18(%r10), %r9
movq 0x20(%r9), %r9
movq 0x10(%r9), %r13
movslq 0x4(%r10), %r9
xorl %r11d, %r11d
cmpl $0x3, (%rbx,%r9,4)
sete %r11b
movslq 0x4(%r13), %r9
xorl %edi, %edi
cmpl $0x3, (%rbx,%r9,4)
sete %dil
addl %r11d, %edi
cmpl %ecx, %edi
jne 0x10675
movq %r12, %r11
leaq (%r12,%r14,8), %r9
movslq 0x8(%rsp), %rdi
movq %r10, 0x10d0(%rsp,%rdi,8)
cmpq %rsi, %r9
jae 0x10625
movq (%r9), %rdi
movl %r15d, 0x30(%rdi)
addq $0xba0, %r9             # imm = 0xBA0
jmp 0x105fa
movq (%r9), %rdi
movq 0x10(%rdi), %rdi
movq 0x10(%rdi), %rdi
movl %r15d, 0x30(%rdi)
addq $0xba0, %r9             # imm = 0xBA0
cmpq %r8, %r9
jb 0x1060f
movslq 0x34(%r13), %rdi
leaq (%r11,%rdi,8), %r9
movq 0x10(%rsp), %r13
cmpq %rsi, %r9
jae 0x10662
movq (%r9), %rdi
movl %r15d, 0x30(%rdi)
addq $0xba0, %r9             # imm = 0xBA0
jmp 0x10637
movq (%r9), %rdi
movq 0x10(%rdi), %rdi
movq 0x10(%rdi), %rdi
movl %r15d, 0x30(%rdi)
addq $0xba0, %r9             # imm = 0xBA0
cmpq %r8, %r9
jb 0x1064c
movq 0x8(%rsp), %rdi
incl %edi
movq %rdi, 0x8(%rsp)
jmp 0x1067d
movq 0x10(%rsp), %r13
movq %r12, %r11
incq %r14
jmp 0x10599
testl %ecx, %ecx
sete %cl
cmpl $0x3, %eax
setl %dil
andb %cl, %dil
cmpb $0x1, %dil
jne 0x106ed
leal 0x2(%r15), %ecx
movl %ecx, 0x139d8(%rip)     # 0x2407c
cmpl $0x752f, %r15d          # imm = 0x752F
jl 0x10701
movl $0x2, 0x139c5(%rip)     # 0x2407c
pushq $0x30
popq %rdi
leaq 0x231f4f(%rip), %rcx    # 0x242610
cmpq $0x46630, %rdi          # imm = 0x46630
je 0x106fe
andl $0x0, (%rdi,%rcx)
addq $0x40, %rdi
jmp 0x106c1
andq $0x0, (%rsp)
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x18f7a
jmp 0x1102d
movq $0x0, 0x20(%rsp)
movq %rbp, %r15
jmp 0x107c2
pushq $0x2
popq %rcx
xorl %r9d, %r9d
xorl %r14d, %r14d
movq %rbp, %r15
cmpq %rdx, %r9
je 0x107bd
movq (%r11,%r9,8), %r11
cmpl %ecx, 0x30(%r11)
je 0x1078a
movslq (%r11), %rdi
cmpl $0x6, (%rbx,%rdi,4)
jl 0x1078a
movq %r14, %r15
movslq 0x4(%r11), %rdi
xorl %r10d, %r10d
cmpl $0x4, (%rbx,%rdi,4)
sete %r10b
movq 0x18(%r11), %rdi
movq 0x18(%rdi), %rdi
movq 0x18(%rdi), %rdi
movslq 0x4(%rdi), %rdi
xorl %r14d, %r14d
cmpl $0x4, (%rbx,%rdi,4)
sete %r14b
addl %r10d, %r14d
cmpl %eax, %r14d
jne 0x10784
leaq (%r12,%r9,8), %r10
movq %r15, %r14
movslq %r14d, %rdi
movq %r11, 0x150(%rsp,%rdi,8)
movq %rbp, %r15
cmpq %rsi, %r10
jae 0x10795
movq (%r10), %rdi
movl %ecx, 0x30(%rdi)
addq $0xba0, %r10            # imm = 0xBA0
jmp 0x10770
movq %r15, %r14
movq %rbp, %r15
movq %r12, %r11
incq %r9
jmp 0x1070a
movq %r12, %r11
cmpq %r8, %r10
jae 0x107b8
movq (%r10), %rdi
movq 0x10(%rdi), %rdi
movq 0x10(%rdi), %rdi
movq 0x10(%rdi), %rdi
movl %ecx, 0x30(%rdi)
addq $0xba0, %r10            # imm = 0xBA0
jmp 0x10798
incl %r14d
jmp 0x1078d
movq %r14, 0x20(%rsp)
xorl %eax, %eax
testl %r15d, %r15d
cmovlel %eax, %r15d
movq %r15, 0x30(%rsp)
cmpq %r15, %rax
je 0x10a0f
movq %rax, 0x28(%rsp)
movq 0xcf0(%rsp,%rax,8), %r14
movslq (%r14), %rax
movslq 0x4(%r14), %rdx
movq 0x18(%r14), %rcx
movslq 0x4(%rcx), %rsi
movl (%rbx,%rax,4), %ecx
incl %ecx
movq %rax, 0x48(%rsp)
movl %ecx, (%rbx,%rax,4)
andb $0x7, %cl
pushq $0x1
popq %rax
movl %eax, %edi
shll %cl, %edi
movl (%rbx,%rdx,4), %ecx
incl %ecx
movq %rdx, 0x40(%rsp)
movl %ecx, (%rbx,%rdx,4)
andb $0x7, %cl
movl %eax, %r8d
shll %cl, %r8d
addl %edi, %r8d
movl (%rbx,%rsi,4), %ecx
incl %ecx
movq %rsi, 0x38(%rsp)
movl %ecx, (%rbx,%rsi,4)
andb $0x7, %cl
movl %eax, %edi
shll %cl, %edi
addl %r8d, %edi
movq %r13, 0x10(%rsp)
movslq %r13d, %rcx
movl $0x2, 0x50(%rsp,%rcx,4)
movl %ecx, %r8d
movl %eax, %r13d
leaq 0x4c(%rsp), %rax
leaq (%rax,%r8,4), %r9
leaq 0x1517e(%rip), %rax     # 0x259e0
leaq (%rax,%r8,8), %r11
addq $-0x8, %r11
leaq (%rbx,%r8,4), %r15
addq $-0x4, %r15
xorl %r10d, %r10d
leal (%r8,%r10), %ecx
testl %ecx, %ecx
jle 0x10907
movl (%r15,%r10,4), %ecx
cmpl $0x3, %ecx
jne 0x108e2
movq (%r11,%r10,8), %r12
movslq 0x4(%r12), %rcx
movb (%rbx,%rcx,4), %cl
andb $0x7, %cl
pushq $0x1
popq %rsi
movl %esi, %ebp
shll %cl, %ebp
movq 0x18(%r12), %r12
movslq 0x4(%r12), %rcx
movb (%rbx,%rcx,4), %cl
andb $0x7, %cl
movq %rbx, %rdx
movl %esi, %ebx
shll %cl, %ebx
movq 0x18(%r12), %rcx
movslq 0x4(%rcx), %rcx
movq %rdx, %rax
movb (%rdx,%rcx,4), %cl
andb $0x7, %cl
shll %cl, %esi
addl %ebp, %ebx
addl %ebx, %esi
cmpl %edi, %esi
ja 0x10901
movq %rax, %rbx
je 0x108eb
movl $0x3, (%r9,%r10,4)
jmp 0x108e6
movl %ecx, (%r9,%r10,4)
decq %r10
jmp 0x10875
movl $0x2, (%r9,%r10,4)
incl %r13d
addq %r10, %r8
decq %r8
jmp 0x10852
xorl %r13d, %r13d
movq %rax, %rbx
movq 0x48(%rsp), %rax
decl (%rbx,%rax,4)
movq 0x40(%rsp), %rax
decl (%rbx,%rax,4)
movq 0x38(%rsp), %rax
decl (%rbx,%rax,4)
testl %r13d, %r13d
movq 0x30(%rsp), %r15
je 0x109fd
movq %r14, %rdi
callq 0x18e8b
cmpl $0x1, %r13d
jne 0x10961
movl 0x231cbf(%rip), %eax    # 0x242600
cmpl 0x13919(%rip), %eax     # 0x24260
jne 0x10961
cmpl $0x0, 0x15080(%rip)     # 0x259d0
jne 0x10961
pushq $0x1
popq %rdi
movl %edi, %esi
pushq $0x3
popq %rdx
callq 0x658a
jmp 0x10986
leaq 0x50(%rsp), %rdi
leaq 0x1c(%rsp), %rsi
leaq 0x18(%rsp), %rdx
callq 0x52ed
testl %eax, %eax
je 0x10986
movl 0x1c(%rsp), %edi
movl 0x18(%rsp), %esi
callq 0xfdc4
movslq (%r14), %rax
leaq 0x15050(%rip), %rsi     # 0x259e0
movq %r14, (%rsi,%rax,8)
movq 0x18(%r14), %rcx
movq 0x18(%rcx), %rcx
movq %rcx, 0x18(%r14)
movq %r14, 0x10(%rcx)
decl (%rbx,%rax,4)
movq 0x20(%r14), %rax
movslq (%rax), %rcx
movq %rax, (%rsi,%rcx,8)
movq 0x10(%rax), %rdx
movq 0x10(%rdx), %rdx
movq %rdx, 0x10(%rax)
movq %rax, 0x18(%rdx)
decl (%rbx,%rcx,4)
movq 0x20(%rdx), %rax
movslq (%rax), %rcx
movq %rax, (%rsi,%rcx,8)
movq 0x10(%rax), %rdx
movq 0x10(%rdx), %rdx
movq %rdx, 0x10(%rax)
movq %rax, 0x18(%rdx)
decl (%rbx,%rcx,4)
movl 0x231c17(%rip), %eax    # 0x242600
decl %eax
movq %rax, 0x10(%rsp)
movl %eax, 0x231c0a(%rip)    # 0x242600
addl $-0x6, 0x231c07(%rip)   # 0x242604
movq 0x28(%rsp), %rax
incq %rax
movq 0x10(%rsp), %r13
jmp 0x107d0
xorl %r14d, %r14d
movq 0x8(%rsp), %rax
testl %eax, %eax
cmovlel %r14d, %eax
movq %rax, 0x8(%rsp)
cmpq 0x8(%rsp), %r14
je 0x10cb7
movq 0x10d0(%rsp,%r14,8), %r12
movq 0x18(%r12), %rbp
movq 0x20(%rbp), %r15
leal (,%r13,8), %eax
cltq
shlq $0x6, %rax
leaq 0x231bbd(%rip), %rdx    # 0x242610
leaq (%rax,%rdx), %rdi
addq $0x8180, %rdi           # imm = 0x8180
leaq 0x81c0(%rax,%rdx), %r8
leaq 0x8200(%rax,%rdx), %rsi
leaq 0x8240(%rax,%rdx), %rcx
leaq 0x8280(%rax,%rdx), %rdx
movq %r13, 0x10(%rsp)
movslq %r13d, %rax
leaq 0x14f53(%rip), %r11     # 0x259e0
movq %rdx, (%r11,%rax,8)
movslq (%r12), %r9
movq %r12, (%r11,%r9,8)
movq -0x60(%rsi), %r10
movl %r9d, 0x4(%r10)
movl %r9d, -0x80(%rsi)
movq 0x18(%r12), %r9
movq 0x18(%r9), %r9
movq %r9, -0x68(%rsi)
movq %rdi, 0x10(%r9)
movq %r12, -0x70(%rsi)
movq %rdi, 0x18(%r12)
movq 0x20(%r12), %rdi
movq 0x10(%rdi), %rdi
movslq (%rdi), %r9
movq -0x60(%rcx), %r10
movl %r9d, 0x4(%r10)
movl %r9d, -0x80(%rcx)
movq 0x18(%rdi), %r10
movq %r8, 0x10(%r10)
movq %r10, -0x68(%rcx)
movq %rdi, -0x70(%rcx)
movq %r8, 0x18(%rdi)
incl (%rbx,%r9,4)
movq 0x20(%rdi), %rdi
movq 0x10(%rdi), %rdi
movq 0x10(%rdi), %rdi
movslq (%rdi), %r8
movq %rdi, (%r11,%r8,8)
movq -0x60(%rdx), %r9
movl %r8d, 0x4(%r9)
movl %r8d, -0x80(%rdx)
movq 0x18(%rdi), %r8
movq 0x18(%r8), %r8
movq %r8, -0x68(%rdx)
movq %rsi, 0x10(%r8)
movq %rdi, -0x70(%rdx)
movq %rsi, 0x18(%rdi)
movq 0x20(%rdi), %rsi
movq 0x10(%rsi), %rsi
movslq (%rsi), %rdi
movq -0x20(%rdx), %r8
movl %edi, 0x4(%r8)
movl %edi, -0x40(%rdx)
movq 0x18(%rsi), %r8
movq %rcx, 0x10(%r8)
movq %r8, -0x28(%rdx)
movq %rsi, -0x30(%rdx)
movq %rcx, 0x18(%rsi)
incl (%rbx,%rdi,4)
movl 0x231aaa(%rip), %r13d   # 0x242604
leal 0x6(%r13), %ecx
movl %ecx, 0x231aa0(%rip)    # 0x242604
movl $0x4, (%rbx,%rax,4)
incl %eax
movl %eax, 0x231a8d(%rip)    # 0x242600
movq %rbx, %rdi
leaq 0x1c(%rsp), %rsi
leaq 0x18(%rsp), %rdx
callq 0x52ed
testl %eax, %eax
je 0x10c26
leaq 0x18(%r12), %rax
movq 0x15147(%rip), %rcx     # 0x25ce0
movq 0x18(%rcx), %rdx
movq 0x20(%rcx), %rcx
movq 0x18(%rdx), %rdx
movl 0x4(%rdx), %edx
movq %rcx, %rsi
movq 0x18(%rsi), %rsi
cmpq %rcx, %rsi
je 0x10bc4
cmpl %edx, 0x4(%rsi)
jne 0x10bab
movq (%rax), %rax
addq $0x20, %rax
pushq $0x18
jmp 0x10bc6
pushq $0x20
popq %rcx
movq (%rax), %rax
movq (%rax,%rcx), %rax
movq 0x18(%rax), %rcx
movq 0x18(%rcx), %rcx
movslq 0x1c(%rsp), %rdi
imulq $0xba0, %rdi, %rdx      # imm = 0xBA0
leaq 0x150f7(%rip), %rsi     # 0x25ce0
addq %rsi, %rdx
cmpq %rdx, %rsi
jae 0x10c26
movq (%rsi), %r8
cmpq %rax, %r8
je 0x10c05
addq $0xba0, %rsi            # imm = 0xBA0
cmpq %rcx, %r8
jne 0x10bec
movl 0x18(%rsp), %esi
callq 0xfdc4
movl 0x2319ec(%rip), %eax    # 0x242600
movl 0x2319e9(%rip), %r13d   # 0x242604
decl %eax
movq %rax, 0x10(%rsp)
addl $-0x6, %r13d
movslq (%r12), %rax
leaq 0x14daf(%rip), %rsi     # 0x259e0
movq %r12, (%rsi,%rax,8)
movq 0x18(%rbp), %rax
movq %rbp, 0x10(%rax)
movq %rbp, 0x18(%r12)
movq 0x20(%r12), %rax
movslq (%rax), %rcx
movq %rax, (%rsi,%rcx,8)
movq 0x10(%rax), %rdx
movq 0x10(%rdx), %rdx
movq %rdx, 0x10(%rax)
movq %rax, 0x18(%rdx)
decl (%rbx,%rcx,4)
movq 0x20(%rdx), %rax
movslq (%rax), %rcx
movq %rax, (%rsi,%rcx,8)
movq 0x10(%r15), %rcx
movq %r15, 0x18(%rcx)
movq %r15, 0x10(%rax)
movq 0x10(%r15), %rax
movq 0x20(%rax), %rax
movslq (%rax), %rcx
movq %rax, (%rsi,%rcx,8)
movq 0x10(%rax), %rdx
movq 0x10(%rdx), %rdx
movq %rdx, 0x10(%rax)
movq %rax, 0x18(%rdx)
decl (%rbx,%rcx,4)
movq 0x10(%rsp), %rax
movl %eax, 0x23195b(%rip)    # 0x242600
movl %r13d, 0x231958(%rip)   # 0x242604
movq %rax, %r13
incq %r14
jmp 0x10a22
xorl %ebp, %ebp
movq 0x20(%rsp), %rax
testl %eax, %eax
cmovlel %ebp, %eax
movq %rax, 0x20(%rsp)
cmpq %rax, %rbp
je 0x10ff9
movq 0x150(%rsp,%rbp,8), %r12
movq 0x18(%r12), %r15
movq 0x18(%r15), %rcx
movq 0x20(%r15), %rax
movq %rax, 0x8(%rsp)
movq %rcx, 0x28(%rsp)
movq 0x20(%rcx), %rax
movq %rax, 0x10(%rsp)
movslq %r13d, %rax
shll $0x4, %r13d
movslq %r13d, %rdi
shlq $0x6, %rdi
leaq 0x231902(%rip), %r13    # 0x242610
leaq (%rdi,%r13), %rsi
addq $0x10180, %rsi          # imm = 0x10180
leaq 0x10200(%rdi,%r13), %rdx
leaq 0x102c0(%rdi,%r13), %rcx
leaq 0x14cb0(%rip), %r14     # 0x259e0
movq %rcx, (%r14,%rax,8)
movslq (%r12), %r8
movq %r12, (%r14,%r8,8)
movq -0x60(%rdx), %r9
movl %r8d, 0x4(%r9)
movl %r8d, -0x80(%rdx)
movq 0x18(%r12), %r9
movq 0x18(%r9), %r9
movq 0x18(%r9), %r9
movq %r9, -0x68(%rdx)
movq %rsi, 0x10(%r9)
movq %r12, -0x70(%rdx)
movq %rsi, 0x18(%r12)
decl (%rbx,%r8,4)
leaq (%rdi,%r13), %r8
addq $0x101c0, %r8           # imm = 0x101C0
leaq 0x10240(%rdi,%r13), %rsi
movq 0x20(%r12), %r9
movq 0x10(%r9), %r9
movslq (%r9), %r10
movq -0x60(%rsi), %r11
movl %r10d, 0x4(%r11)
movl %r10d, -0x80(%rsi)
movq 0x18(%r9), %r11
movq %r8, 0x10(%r11)
movq %r11, -0x68(%rsi)
movq %r9, -0x70(%rsi)
movq %r8, 0x18(%r9)
incl (%rbx,%r10,4)
addq %r13, %rdi
addq $0x10280, %rdi          # imm = 0x10280
movq 0x20(%r9), %r8
movq 0x10(%r8), %r8
movq 0x10(%r8), %r8
movslq (%r8), %r9
movq %r8, (%r14,%r9,8)
movq -0x60(%rdi), %r10
movl %r9d, 0x4(%r10)
movl %r9d, -0x80(%rdi)
movq 0x18(%r8), %r9
movq 0x18(%r9), %r9
movq %r9, -0x68(%rdi)
movq %rdx, 0x10(%r9)
movq %r8, -0x70(%rdi)
movq %rdx, 0x18(%r8)
movq 0x20(%r8), %rdx
movq 0x10(%rdx), %rdx
movq 0x10(%rdx), %rdx
movslq (%rdx), %r8
movq %rdx, (%r14,%r8,8)
movq -0x60(%rcx), %r9
movl %r8d, 0x4(%r9)
movl %r8d, -0x80(%rcx)
movq 0x18(%rdx), %r8
movq 0x18(%r8), %r8
movq %r8, -0x68(%rcx)
movq %rsi, 0x10(%r8)
movq %rdx, -0x70(%rcx)
movq %rsi, 0x18(%rdx)
movq 0x20(%rdx), %rdx
movq 0x10(%rdx), %rdx
movslq (%rdx), %rsi
movq -0x20(%rcx), %r8
movl %esi, 0x4(%r8)
movl %esi, -0x40(%rcx)
movq 0x18(%rdx), %r8
movq %rdi, 0x10(%r8)
movq %r8, -0x28(%rcx)
movq %rdx, -0x30(%rcx)
movq %rdi, 0x18(%rdx)
incl (%rbx,%rsi,4)
movl $0x5, (%rbx,%rax,4)
incl %eax
movl %eax, 0x23179f(%rip)    # 0x242600
addl $0x6, 0x23179c(%rip)    # 0x242604
movq %rbx, %rdi
leaq 0x1c(%rsp), %rsi
leaq 0x18(%rsp), %rdx
callq 0x52ed
testl %eax, %eax
je 0x10f36
movq 0x18(%r12), %rax
movq 0x20(%rax), %r14
movslq 0x1c(%rsp), %r12
cmpq $0x1, %r12
jne 0x10eae
movq 0x14e43(%rip), %r12     # 0x25ce0
movq %r12, %rdi
callq 0x198c1
testl %eax, %eax
je 0x10ef5
movq %r12, %r13
jmp 0x10f25
leaq 0x14e23(%rip), %r13     # 0x25cd8
movq 0x8(%r13), %rdi
addq $0x8, %r13
callq 0x198c1
testl %eax, %eax
je 0x10eb5
imulq $0xba0, %r12, %rax      # imm = 0xBA0
leaq 0x14e0c(%rip), %rcx     # 0x25ce0
addq %rcx, %rax
cmpq %rax, %r13
jae 0x10f36
leaq 0xba0(%r13), %rcx
cmpq %r14, (%r13)
movq %rcx, %r13
jne 0x10ed7
movl 0x18(%rsp), %esi
movl %r12d, %edi
jmp 0x10f31
cmpl $0x1, 0x18(%rsp)
jne 0x10f0d
movq 0x10(%r12), %r13
movq %r13, %rdi
callq 0x198c1
pushq $0x18
jmp 0x10f1c
movq 0x18(%r12), %r13
movq %r13, %rdi
callq 0x198c1
pushq $0x10
popq %rcx
testl %eax, %eax
jne 0x10f25
movq (%r12,%rcx), %r13
cmpq %r14, %r13
jne 0x10f36
movl 0x18(%rsp), %esi
pushq $0x1
popq %rdi
callq 0xfdc4
movq 0x150(%rsp,%rbp,8), %rax
movslq (%rax), %rcx
leaq 0x14a98(%rip), %rsi     # 0x259e0
movq %rax, (%rsi,%rcx,8)
movq %r15, 0x18(%rax)
movq 0x28(%rsp), %rdi
movq 0x18(%rdi), %rdx
movq %rdi, 0x10(%rdx)
incl (%rbx,%rcx,4)
movq 0x20(%rax), %rax
movslq (%rax), %rcx
movq %rax, (%rsi,%rcx,8)
movq 0x10(%rax), %rdx
movq 0x10(%rdx), %rdx
movq %rdx, 0x10(%rax)
movq %rax, 0x18(%rdx)
decl (%rbx,%rcx,4)
movq 0x20(%rdx), %rax
movslq (%rax), %rcx
movq %rax, (%rsi,%rcx,8)
movq 0x8(%rsp), %rcx
movq %rcx, 0x10(%rax)
movq 0x10(%rcx), %rax
movq %rcx, 0x18(%rax)
movq 0x20(%rax), %rax
movslq (%rax), %rcx
movq %rax, (%rsi,%rcx,8)
movq 0x10(%rsp), %rcx
movq %rcx, 0x10(%rax)
movq 0x10(%rcx), %rax
movq %rcx, 0x18(%rax)
movq 0x20(%rax), %rax
movslq (%rax), %rcx
movq %rax, (%rsi,%rcx,8)
movq 0x10(%rax), %rdx
movq 0x10(%rdx), %rdx
movq %rdx, 0x10(%rax)
movq %rax, 0x18(%rdx)
decl (%rbx,%rcx,4)
movl 0x231625(%rip), %r13d   # 0x242600
decl %r13d
movl %r13d, 0x23161b(%rip)   # 0x242600
addl $-0x6, 0x231618(%rip)   # 0x242604
incq %rbp
movq 0x20(%rsp), %rax
jmp 0x10cc8
cmpl 0x149d4(%rip), %r13d    # 0x259d4
jne 0x1102d
xorl %eax, %eax
testl %r13d, %r13d
cmovlel %eax, %r13d
shlq $0x3, %r13
leaq 0x149ca(%rip), %rdx     # 0x259e0
cmpq %rax, %r13
je 0x1102d
movq 0x16a0(%rsp,%rax), %rcx
movq %rcx, (%rax,%rdx)
addq $0x8, %rax
jmp 0x11016
addq $0x2248, %rsp           # imm = 0x2248
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq