// File: /workspace/github_c_makefile_star2_O2/mishun[P]plantri/plantri.c
// Function: scanquadrangulations_min3
static void
scanquadrangulations_min3(int nbtot, int nbop, EDGE *spoke, int dosplit,
                          EDGE *P1edge[], int nP1edges)

/* The main node of the recursion for quadrangulations of mindeg 3.
   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.
   If spoke!=NULL the input is a pseudo-double wheel and this is a
   spoke from the rim towards the hub.
   If dosplit==TRUE, this is the place to do splitting (if any).
   Splitting is a bit more complicated because the P operation adds
   two vertices.
   P1edge[0..nP1edges-1] are edges of the graph that were reference
   edges for P1-operations in ancestors of this graph.  They may not
   be reference edges for P1-reductions now, but at least they are edges.
   However, if nP1edges>0, we can say that certainly P1edge[nP1edges-1]
   is a P1-operation that was just done.
*/

{
    EDGE *firstedge_save[MAXN];
    EDGE *extP1[MAXE],*extP3[MAXE];
    EDGE *good_or[MAXE],*good_mir[MAXE];
    int ngood_or,ngood_mir,ngood_ref,ngood_mir_ref;
    int nextP1,nextP3,i;
    int xnbtot,xnbop,conn;
    EDGE *newP1edge[MAXN],*rededge;
    EDGE *hint;

    if (nv == maxnv)
    {
        if (pswitch || xswitch) conn = con_quad();
        else                    conn = 2;           /* really 2 or 3 */

        if (pswitch) startbipscan(nbtot,nbop,conn);
        else         got_one(nbtot,nbop,conn);
        return;
    }

    if (dosplit)
    {
#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];
    }

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

#ifndef FIND_EXTENSIONS_QUAD_MIN3
#define FIND_EXTENSIONS_QUAD_MIN3 find_extensions_quad_min3
#endif

    FIND_EXTENSIONS_QUAD_MIN3(nbtot,nbop,extP1,&nextP1,extP3,&nextP3,
				  (nP1edges==0?NULL:P1edge[nP1edges-1]));

    if (spoke && nv <= maxnv-2)
    {
        rededge = extend_quadr_P2(spoke);
#ifdef FAST_FILTER_QUAD_MIN3
        if (FAST_FILTER_QUAD_MIN3)
#endif  
        {
            (void)canon(degree,numbering,&xnbtot,&xnbop);
            scanquadrangulations_min3(xnbtot,xnbop,spoke,
                              nv==splitlevel||nv==splitlevel+1,newP1edge,0);
	}
        reduce_quadr_P2(rededge);
    }

    hint = NULL;
    for (i = 0; i < nextP1; ++i)
    {
        rededge = extend_quadr_P1(extP1[i]);
#ifdef FAST_FILTER_QUAD_MIN3
        if (FAST_FILTER_QUAD_MIN3)
#endif  
        {
	    quadr_P1_legal_min3(rededge,good_or,&ngood_or,&ngood_ref,good_mir,
                           &ngood_mir,&ngood_mir_ref,P1edge,nP1edges,&hint);
            if (ngood_ref+ngood_mir_ref > 0)
	    {
	        if (nv == maxnv && !needgroup && ngood_or == ngood_ref
                                              && ngood_mir == ngood_mir_ref)
		    got_one(1,1,3);
	        else if (ngood_or+ngood_mir==1)
	        {
    		    P1edge[nP1edges] = rededge;
    		    scanquadrangulations_min3(1,1,NULL,nv==splitlevel,
						    P1edge,nP1edges+1);
	        }
	        else if (canon_edge_oriented(good_or,ngood_or,ngood_ref,
                                             good_mir,ngood_mir,ngood_mir_ref,
                                             degree,numbering,&xnbtot,&xnbop))
	        {
		    P1edge[nP1edges] = rededge;
	            scanquadrangulations_min3(xnbtot,xnbop,NULL,nv==splitlevel,
                                                            P1edge,nP1edges+1);
	        }
	    }
	}
	reduce_quadr_P1(rededge);
    }

    for (i = 0; i < nextP3; ++i)
    {   
        rededge = extend_quadr_P3(extP3[i]);
#ifdef FAST_FILTER_QUAD_MIN3
        if (FAST_FILTER_QUAD_MIN3)
#endif  
        {
            if (!has_quadr_P1_min3())
            {   
                quadr_P3_legal_min3(rededge,good_or,&ngood_or,&ngood_ref,
                               good_mir,&ngood_mir,&ngood_mir_ref);
                if (ngood_ref+ngood_mir_ref > 0
                    && canon_edge_oriented(good_or,ngood_or,ngood_ref,
                                           good_mir,ngood_mir,ngood_mir_ref,
                                           degree,numbering,&xnbtot,&xnbop))
                    scanquadrangulations_min3(xnbtot,xnbop,NULL,
                                 nv>=splitlevel&&nv<=splitlevel+3,newP1edge,0);
            }
        }
        reduce_quadr_P3(rededge);
    }

    if (dosplit)
        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 $0x3338, %rsp           # imm = 0x3338
movl %r9d, 0x44(%rsp)
movl %esi, %r15d
movl %edi, %ebp
movl 0x23a2ad(%rip), %r11d   # 0x242600
movl 0x1bf06(%rip), %r10d    # 0x24260
cmpl %r10d, %r11d
jne 0x837b
movb 0x1be33(%rip), %bl      # 0x24198
testb %bl, %bl
jne 0x83ee
testb $0x1, 0x1bd34(%rip)     # 0x240a8
jne 0x83ee
pushq $0x2
popq %rdx
jmp 0x83f5
movq %rdx, %rax
movl %ecx, 0x94(%rsp)
testl %ecx, %ecx
je 0x83d4
subl $0x1, 0x280880(%rip)    # 0x288c10
jae 0x9595
movl 0x1bec0(%rip), %edx     # 0x2425c
decl %edx
movl %edx, 0x28086c(%rip)    # 0x288c10
xorl %edx, %edx
testl %r11d, %r11d
movl $0x0, %esi
cmovgl %r11d, %esi
shlq $0x3, %rsi
leaq 0x1d623(%rip), %rdi     # 0x259e0
cmpq %rdx, %rsi
je 0x83d4
movq (%rdx,%rdi), %rcx
movq %rcx, 0x19f0(%rsp,%rdx)
addq $0x8, %rdx
jmp 0x83bd
movl 0x44(%rsp), %ecx
movslq %ecx, %rdx
testl %ecx, %ecx
movq %rdx, 0xa0(%rsp)
je 0x8423
movq -0x8(%r8,%rdx,8), %rdx
jmp 0x8425
callq 0xb5af
movl %eax, %edx
movl %ebp, %edi
movl %r15d, %esi
addq $0x3338, %rsp           # imm = 0x3338
testb %bl, %bl
je 0x8414
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xb767
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x658a
xorl %edx, %edx
cmpl $0x1, %ebp
movq %r8, 0x78(%rsp)
movl %r11d, 0x4(%rsp)
movq %r10, 0x20(%rsp)
jne 0x847a
movl 0x1bc41(%rip), %esi     # 0x24080
leal 0x1(%rsi), %edi
movl %edi, 0x1bc38(%rip)     # 0x24080
cmpl $0x7530, %esi           # imm = 0x7530
jl 0x84b1
movl $0x1, 0x1bc26(%rip)     # 0x24080
xorl %esi, %esi
pushq $0x1
popq %rdi
leaq 0x2807ba(%rip), %r8     # 0x288c20
cmpq $0x100, %rsi            # imm = 0x100
je 0x84b1
andl $0x0, (%rsi,%r8)
addq $0x4, %rsi
jmp 0x8466
testl %r15d, %r15d
cmovel %ebp, %r15d
pushq $0x30
popq %r11
movslq %r15d, %rdx
movl 0x23a176(%rip), %esi    # 0x242604
xorl %edi, %edi
testl %esi, %esi
cmovlel %edi, %esi
leaq 0x1d844(%rip), %r8      # 0x25ce0
cmpq %rdi, %rsi
je 0x84f5
movq (%r8), %r9
movl %edi, 0x34(%r9)
incq %rdi
addq $0x8, %r8
jmp 0x849c
xorl %ebp, %ebp
testq %rdx, %rdx
je 0x8639
movl 0x4(%rdx), %r8d
movslq %r8d, %rsi
leaq 0x1d716(%rip), %r9      # 0x25be0
movl (%r9,%rsi,4), %r9d
movslq (%rdx), %rsi
leaq 0x280748(%rip), %r10    # 0x288c20
movl %edi, (%r10,%rsi,4)
movq 0x18(%rdx), %rdx
movq 0x20(%rdx), %rdx
movq 0x10(%rdx), %rdx
movslq 0x4(%rdx), %rdx
movl %edi, (%r10,%rdx,4)
jmp 0x8642
movq %rax, 0x30(%rsp)
movslq %ebp, %rdi
imulq $0xba0, %rdx, %rdx      # imm = 0xBA0
leaq 0x1d7d5(%rip), %rsi     # 0x25ce0
imulq $0xba0, %rdi, %rdi      # imm = 0xBA0
movl 0x1bb63(%rip), %r8d     # 0x2407c
leal 0x2(%r8), %r14d
movl %r14d, 0x1bb58(%rip)    # 0x2407c
leaq 0x23a0e5(%rip), %rbx    # 0x242610
cmpl $0x752f, %r8d           # imm = 0x752F
jl 0x855a
movl $0x2, 0x1bb3e(%rip)     # 0x2407c
pushq $0x30
popq %r8
pushq $0x2
popq %r14
cmpq $0x46630, %r8           # imm = 0x46630
je 0x855a
andl $0x0, (%r8,%rbx)
addq $0x40, %r8
jmp 0x8546
addq %rsi, %rdx
addq %rsi, %rdi
xorl %r15d, %r15d
movl 0x4(%rsp), %eax
testl %eax, %eax
movl $0x0, %r8d
cmovgl %eax, %r8d
leaq 0x1d666(%rip), %r12     # 0x25be0
leaq 0x1d45f(%rip), %r9      # 0x259e0
xorl %ebp, %ebp
cmpq %r8, %r15
je 0x85e1
movq %rbp, %rax
cmpl $0x4, (%r12,%r15,4)
jl 0x85d9
movq (%r9,%r15,8), %r13
movq %r13, %rbp
cmpl %r14d, 0x30(%rbp)
je 0x85d0
movslq %eax, %r10
movq %rbp, 0x1bf0(%rsp,%r10,8)
movslq 0x34(%rbp), %r10
leaq (%rsi,%r10,8), %r10
addq $0xba0, %r10            # imm = 0xBA0
cmpq %rdi, %r10
jae 0x85ce
movq (%r10), %rcx
movl %r14d, 0x30(%rcx)
addq $0xba0, %r10            # imm = 0xBA0
jmp 0x85b9
incl %eax
movq 0x18(%rbp), %rbp
cmpq %r13, %rbp
jne 0x8599
incq %r15
movq %rax, %rbp
jmp 0x8583
movq 0x20(%rsp), %rax
leal -0x4(%rax), %ecx
cmpl %ecx, 0x4(%rsp)
jle 0x85fd
movq $0x0, 0x70(%rsp)
jmp 0x8840
movq %rbp, %r13
leal 0x2(%r14), %ebp
movl %ebp, 0x1ba72(%rip)     # 0x2407c
cmpl $0x752f, %r14d          # imm = 0x752F
jl 0x87bf
movl $0x2, 0x1ba5b(%rip)     # 0x2407c
cmpq $0x46630, %r11          # imm = 0x46630
je 0x87bc
andl $0x0, (%r11,%rbx)
addq $0x40, %r11
jmp 0x8621
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
xorl %r9d, %r9d
testl %r11d, %r11d
movl $0x0, %edx
cmovgl %r11d, %edx
leaq 0x1d58b(%rip), %r10     # 0x25be0
leaq 0x1d384(%rip), %rsi     # 0x259e0
leaq 0x2805bd(%rip), %r11    # 0x288c20
xorl %ebx, %ebx
cmpq %rdx, %rbx
je 0x86f0
cmpl $0x4, (%r10,%rbx,4)
jl 0x86e8
movq (%rsi,%rbx,8), %r14
cmpq %r8, %rbx
jne 0x86a4
movslq %ebp, %r15
leaq (%rsp,%r15,8), %r15
addq $0x1bf0, %r15           # imm = 0x1BF0
movq %r14, %r12
movq %r12, (%r15)
movq 0x18(%r12), %r12
addq $0x8, %r15
incl %ebp
cmpq %r14, %r12
jne 0x868f
jmp 0x86e8
movq %r14, %r15
movq 0x10(%r15), %r12
movslq 0x4(%r12), %r12
cmpl %edi, (%r11,%r12,4)
je 0x86cf
movq 0x18(%r15), %r12
movslq 0x4(%r12), %r13
cmpl %edi, (%r11,%r13,4)
je 0x86cf
movslq 0x4(%r15), %r13
cmpl %r9d, (%r10,%r13,4)
jl 0x86e0
movslq %ebp, %r12
incl %ebp
movq %r15, 0x1bf0(%rsp,%r12,8)
movq 0x18(%r15), %r12
movq %r12, %r15
cmpq %r14, %r12
jne 0x86a7
incq %rbx
jmp 0x8665
movq 0x20(%rsp), %rcx
leal -0x4(%rcx), %edi
cmpl %edi, 0x4(%rsp)
jle 0x870f
movq $0x0, 0x70(%rsp)
movq %rax, %r14
jmp 0x8845
movl 0x1b966(%rip), %r8d     # 0x2407c
leal 0x2(%r8), %edi
movl %edi, 0x1b95c(%rip)     # 0x2407c
cmpl $0x752f, %r8d           # imm = 0x752F
movq %rax, %r14
jl 0x8758
movl $0x2, 0x1b946(%rip)     # 0x2407c
pushq $0x30
popq %r8
pushq $0x2
popq %rdi
leaq 0x239ecc(%rip), %r9     # 0x242610
cmpq $0x46630, %r8           # imm = 0x46630
je 0x8758
andl $0x0, (%r8,%r9)
addq $0x40, %r8
jmp 0x8744
xorl %r8d, %r8d
xorl %ecx, %ecx
cmpq %rdx, %r8
je 0x87b2
movq (%rsi,%r8,8), %r9
movq %r9, %r10
cmpl %edi, 0x30(%r10)
je 0x87a4
movslq %ecx, %r11
incl %ecx
movq %r10, 0x2790(%rsp,%r11,8)
movl %edi, 0x30(%r10)
movq 0x20(%r10), %r11
movq 0x10(%r11), %r11
movl %edi, 0x30(%r11)
movq 0x20(%r11), %r11
movq 0x10(%r11), %r11
movl %edi, 0x30(%r11)
movq 0x20(%r11), %r11
movq 0x10(%r11), %r11
movl %edi, 0x30(%r11)
movq 0x18(%r10), %r10
cmpq %r9, %r10
jne 0x8769
incq %r8
jmp 0x875d
movq %rcx, 0x70(%rsp)
jmp 0x8845
pushq $0x2
popq %rbp
xorl %r10d, %r10d
xorl %ecx, %ecx
cmpq %r8, %r10
je 0x8838
movq (%r9,%r10,8), %r11
movq %r11, %rbx
cmpl %ebp, 0x30(%rbx)
je 0x882a
movq %rcx, %r12
movslq %ecx, %rcx
movq %rbx, 0x2790(%rsp,%rcx,8)
movq %rbx, %r14
movslq 0x34(%r14), %rcx
leaq (%rsi,%rcx,8), %r15
cmpq %rdx, %r15
jae 0x8813
movq (%r15), %rcx
movl %ebp, 0x30(%rcx)
addq $0xba0, %r15            # imm = 0xBA0
jmp 0x87ee
movq (%r15), %rcx
movq 0x20(%rcx), %rcx
movl %ebp, 0x30(%rcx)
addq $0xba0, %r15            # imm = 0xBA0
cmpq %rdi, %r15
jb 0x8802
movq 0x20(%r14), %rcx
movq 0x10(%rcx), %r14
cmpq %rbx, %r14
jne 0x87e6
movq %r12, %rcx
incl %ecx
movq 0x18(%rbx), %rbx
cmpq %r11, %rbx
jne 0x87d0
incq %r10
jmp 0x87c4
movq %rcx, 0x70(%rsp)
movq %r13, %rbp
movq 0x30(%rsp), %r14
testq %r14, %r14
sete %cl
movq 0x20(%rsp), %rax
addl $-0x2, %eax
cmpl %eax, 0x4(%rsp)
setg %al
orb %cl, %al
jne 0x88c3
movq %r14, %rdi
callq 0xd4db
movq %rax, %r15
leaq 0x1d370(%rip), %rdi     # 0x25be0
leaq 0x5c(%rsp), %rbx
leaq 0x58(%rsp), %r13
movq %rbx, %rsi
movq %r13, %rdx
callq 0x52ed
movl (%rbx), %edi
movl (%r13), %esi
movl 0x239d6f(%rip), %eax    # 0x242600
movl 0x1d13d(%rip), %ecx     # 0x259d4
cmpl %ecx, %eax
sete %dl
incl %ecx
cmpl %ecx, %eax
sete %al
orb %dl, %al
movzbl %al, %ecx
leaq 0x17f0(%rsp), %r8
movq %r14, %rdx
xorl %r9d, %r9d
callq 0x8331
movq %r15, %rdi
callq 0xd618
movl 0x44(%rsp), %eax
movl %eax, %ecx
movq %rcx, 0x50(%rsp)
incl %eax
movl %eax, 0x44(%rsp)
xorl %eax, %eax
testl %ebp, %ebp
cmovlel %eax, %ebp
leaq 0x239d2e(%rip), %r14    # 0x242610
xorl %ecx, %ecx
movq %rax, 0x60(%rsp)
movq %rax, 0x68(%rsp)
movq $0x0, 0x28(%rsp)
movq 0x70(%rsp), %rax
movq %rbp, 0x48(%rsp)
cmpq %rbp, %rcx
je 0x900c
movq %rcx, 0xa8(%rsp)
movq 0x1bf0(%rsp,%rcx,8), %rbx
movq %rbx, %rdi
callq 0xbc48
leaq 0x1d2b7(%rip), %r8      # 0x25be0
movl 0x1b74d(%rip), %eax     # 0x2407c
leal 0x2(%rax), %ebp
movl %ebp, 0x1b744(%rip)     # 0x2407c
cmpl $0x752f, %eax           # imm = 0x752F
movq 0x78(%rsp), %rsi
jl 0x896d
movl $0x2, 0x1b72e(%rip)     # 0x2407c
pushq $0x30
popq %rax
leaq 0x239cb8(%rip), %rcx    # 0x242610
cmpq $0x46630, %rax          # imm = 0x46630
je 0x896a
andl $0x0, (%rax,%rcx)
addq $0x40, %rax
jmp 0x8958
pushq $0x2
popq %rbp
andl $0x0, 0x1c(%rsp)
movslq 0x4(%rbx), %rax
movl (%r8,%rax,4), %eax
movl %eax, 0x4(%rsp)
movq 0x10(%rbx), %rax
movq 0x18(%rbx), %rcx
movslq 0x4(%rax), %rax
movl (%r8,%rax,4), %edx
movl %edx, %edi
shll $0xa, %edi
movslq 0x4(%rcx), %rax
movl (%r8,%rax,4), %eax
addl %eax, %edi
shll $0xa, %eax
addl %edx, %eax
movl %edi, 0x88(%rsp)
cmpl %edi, %eax
jge 0x89bc
leaq 0xb0(%rsp), %rcx
pushq $0x1
popq %rdi
xorl %edx, %edx
jmp 0x89f3
jne 0x89d7
movq %rbx, 0xb0(%rsp)
leaq 0xc50(%rsp), %rcx
pushq $0x1
popq %rax
movl %eax, %edx
movl %eax, %edi
jmp 0x89f3
movl $0x1, 0x18(%rsp)
xorl %edi, %edi
leaq 0xc50(%rsp), %rcx
pushq $0x1
popq %rdx
movl %eax, 0x88(%rsp)
movq %rbx, (%rcx)
movl %edi, 0x10(%rsp)
movl %edx, 0xc(%rsp)
movq %rbx, 0x98(%rsp)
movq 0x20(%rbx), %rax
movl %ebp, 0x30(%rax)
movq 0x50(%rsp), %r14
movl %edx, 0x8(%rsp)
movl %edx, %ecx
movl %edi, 0x38(%rsp)
movl %edi, %r9d
cmpq $0x0, 0x28(%rsp)
movl 0x4(%rsp), %edi
je 0x8b14
movq 0x28(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x50(%rsp), %r14
movl 0x8(%rsp), %ecx
movl 0x38(%rsp), %r9d
cmpl %ebp, 0x30(%rax)
je 0x8b14
movq 0x28(%rsp), %rax
movslq (%rax), %rax
cmpl $0x3, (%r8,%rax,4)
movq 0x50(%rsp), %r14
movl 0x8(%rsp), %ecx
movl 0x38(%rsp), %r9d
jne 0x8b14
movq 0x28(%rsp), %rax
movslq 0x4(%rax), %rax
movq 0x50(%rsp), %r14
movl 0x8(%rsp), %ecx
movl 0x38(%rsp), %r9d
cmpl %edi, (%r8,%rax,4)
jle 0x8b14
movq 0x28(%rsp), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rax
cmpl $0x4, (%r8,%rax,4)
movq 0x50(%rsp), %r14
movl 0x8(%rsp), %ecx
movl 0x38(%rsp), %r9d
jl 0x8b14
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rax
movslq 0x4(%rax), %rax
cmpl $0x4, (%r8,%rax,4)
movq 0x50(%rsp), %r14
movl 0x8(%rsp), %ecx
movl 0x38(%rsp), %r9d
jl 0x8b14
movq 0x28(%rsp), %rdi
callq 0xda21
movl 0x4(%rsp), %edi
leaq 0x1d0f6(%rip), %r8      # 0x25be0
movq 0x78(%rsp), %rsi
movq 0x50(%rsp), %r14
movl 0x8(%rsp), %ecx
movl 0x38(%rsp), %r9d
testl %eax, %eax
je 0x8b14
andl $0x0, 0xc(%rsp)
andl $0x0, 0x10(%rsp)
xorl %edi, %edi
xorl %edx, %edx
jmp 0x8eeb
testl %r14d, %r14d
jle 0x8c30
movq -0x8(%rsi,%r14,8), %r15
movq 0x20(%r15), %r12
cmpl %ebp, 0x30(%r12)
je 0x8c23
movslq 0x4(%r15), %rax
movl (%r8,%rax,4), %r13d
cmpl %edi, %r13d
jl 0x8c23
movslq (%r15), %rax
cmpl $0x3, (%r8,%rax,4)
jne 0x8c23
movq 0x18(%r15), %rax
movslq 0x4(%rax), %rax
movl (%r8,%rax,4), %ebx
cmpl $0x4, %ebx
jl 0x8c23
movq 0x10(%r15), %rax
movslq 0x4(%rax), %rax
movl (%r8,%rax,4), %eax
cmpl $0x4, %eax
jl 0x8c23
movl %eax, 0x14(%rsp)
movl %r9d, 0x20(%rsp)
movl %ecx, 0x30(%rsp)
movq %r15, %rdi
callq 0xda21
testl %eax, %eax
je 0x8bfd
movl 0x4(%rsp), %edi
cmpl %edi, %r13d
movl 0x20(%rsp), %r9d
jg 0x8b01
movl 0x14(%rsp), %edx
movl %edx, %eax
shll $0xa, %eax
addl %ebx, %eax
movl 0x88(%rsp), %ecx
cmpl %ecx, %eax
jg 0x8b01
jne 0x8bcf
movslq %r9d, %rax
incl %r9d
movq %r15, 0xb0(%rsp,%rax,8)
shll $0xa, %ebx
addl %ebx, %edx
cmpl %ecx, %edx
movq 0x78(%rsp), %rsi
jg 0x8b01
jne 0x8c18
movl 0x30(%rsp), %ecx
movslq %ecx, %rax
incl %ecx
movq %r15, 0xc50(%rsp,%rax,8)
leaq 0x1cfe5(%rip), %r8      # 0x25be0
jmp 0x8c23
movq 0x78(%rsp), %rsi
leaq 0x1cfd7(%rip), %r8      # 0x25be0
movl 0x4(%rsp), %edi
movl 0x30(%rsp), %ecx
movl 0x20(%rsp), %r9d
jmp 0x8c23
leaq 0x1cfc1(%rip), %r8      # 0x25be0
movl 0x30(%rsp), %ecx
movl %ebp, 0x30(%r12)
decq %r14
jmp 0x8b14
movl %r9d, 0x1c(%rsp)
movl %ecx, 0x18(%rsp)
movl 0x38(%rsp), %edx
cmpl %edx, %r9d
setg %al
movl 0x8(%rsp), %esi
cmpl %esi, %ecx
setg %cl
orb %al, %cl
cmpb $0x1, %cl
jne 0x8c8f
leaq 0xb0(%rsp), %rdi
leaq 0x1c(%rsp), %rsi
leaq 0x10(%rsp), %rdx
leaq 0xc50(%rsp), %rcx
leaq 0x18(%rsp), %r8
leaq 0xc(%rsp), %r9
callq 0xd354
movl 0x4(%rsp), %edi
leaq 0x1cf59(%rip), %r8      # 0x25be0
movl 0x10(%rsp), %edx
movl 0xc(%rsp), %esi
movl %edx, 0x38(%rsp)
movl %edx, %eax
movl %esi, 0x8(%rsp)
orl %esi, %eax
jne 0x8ca4
xorl %edx, %edx
jmp 0x8e98
movl 0x239956(%rip), %ecx    # 0x242600
movl 0x1c(%rsp), %eax
movl %eax, 0x14(%rsp)
movl 0x18(%rsp), %eax
movl %eax, 0x80(%rsp)
testl %ecx, %ecx
movl $0x0, %eax
cmovlel %eax, %ecx
movq %rcx, 0x30(%rsp)
xorl %r14d, %r14d
cmpq 0x30(%rsp), %r14
je 0x8e3f
cmpl %edi, (%r8,%r14,4)
jle 0x8d46
leaq 0x1ccf9(%rip), %rax     # 0x259e0
movq (%rax,%r14,8), %r15
movq %r15, %rbx
cmpl %ebp, 0x30(%rbx)
je 0x8d34
movslq 0x4(%rbx), %rax
cmpl $0x3, (%r8,%rax,4)
jne 0x8d34
movq 0x20(%rbx), %rdi
movq 0x18(%rdi), %rax
movslq 0x4(%rax), %rax
cmpl $0x4, (%r8,%rax,4)
jl 0x8d34
movq 0x10(%rdi), %rax
movslq 0x4(%rax), %rax
cmpl $0x4, (%r8,%rax,4)
jl 0x8d34
callq 0xda21
leaq 0x1ceb4(%rip), %r8      # 0x25be0
testl %eax, %eax
jne 0x8e74
movq 0x18(%rbx), %rbx
cmpq %r15, %rbx
jne 0x8cee
movl 0x4(%rsp), %edi
jmp 0x8e37
jne 0x8e37
leaq 0x1cc8d(%rip), %rax     # 0x259e0
movq (%rax,%r14,8), %r13
movq %r13, %r12
movq %r14, 0x20(%rsp)
movslq 0x4(%r12), %rax
cmpl $0x3, (%r8,%rax,4)
jne 0x8e29
cmpl %ebp, 0x30(%r12)
je 0x8e29
movq 0x20(%r12), %r15
movq 0x18(%r15), %rax
movslq 0x4(%rax), %rax
movl (%r8,%rax,4), %ebx
cmpl $0x4, %ebx
jl 0x8e29
movq 0x10(%r15), %rax
movslq 0x4(%rax), %rax
movl (%r8,%rax,4), %r14d
cmpl $0x4, %r14d
jl 0x8e24
movq %r15, %rdi
callq 0xda21
testl %eax, %eax
je 0x8e19
movl %r14d, %eax
shll $0xa, %eax
addl %ebx, %eax
movl 0x88(%rsp), %ecx
cmpl %ecx, %eax
movl 0x4(%rsp), %edi
jg 0x8e87
jne 0x8de4
movl 0x14(%rsp), %edx
movslq %edx, %rax
incl %edx
movl %edx, 0x14(%rsp)
movq %r15, 0xb0(%rsp,%rax,8)
shll $0xa, %ebx
addl %ebx, %r14d
cmpl %ecx, %r14d
jg 0x8e87
jne 0x8e10
movl 0x80(%rsp), %ecx
movslq %ecx, %rax
incl %ecx
movl %ecx, 0x80(%rsp)
movq %r15, 0xc50(%rsp,%rax,8)
leaq 0x1cdc9(%rip), %r8      # 0x25be0
jmp 0x8e24
leaq 0x1cdc0(%rip), %r8      # 0x25be0
movl 0x4(%rsp), %edi
movq 0x20(%rsp), %r14
movq 0x18(%r12), %r12
cmpq %r13, %r12
jne 0x8d5f
incq %r14
jmp 0x8ccf
movl 0x14(%rsp), %ecx
movl %ecx, 0x1c(%rsp)
movl 0x80(%rsp), %esi
movl %esi, 0x18(%rsp)
movl 0x38(%rsp), %edx
cmpl %edx, %ecx
movl 0x8(%rsp), %eax
jg 0x8ea8
cmpl %eax, %esi
jg 0x8ea8
movl %eax, %edi
movl %esi, %eax
movq %rax, 0x60(%rsp)
movl %ecx, %eax
movq %rax, 0x68(%rsp)
jmp 0x8eeb
andl $0x0, 0xc(%rsp)
andl $0x0, 0x10(%rsp)
xorl %edx, %edx
movq %rbx, 0x28(%rsp)
jmp 0x8e98
andl $0x0, 0xc(%rsp)
andl $0x0, 0x10(%rsp)
xorl %edx, %edx
movq %r12, 0x28(%rsp)
leaq 0x239771(%rip), %r14    # 0x242610
movq 0x48(%rsp), %rbp
xorl %edi, %edi
jmp 0x8ef7
leaq 0xb0(%rsp), %rdi
leaq 0x1c(%rsp), %rsi
leaq 0x10(%rsp), %rdx
leaq 0xc50(%rsp), %rcx
leaq 0x18(%rsp), %r8
leaq 0xc(%rsp), %r9
callq 0xd354
movl 0x1c(%rsp), %eax
movq %rax, 0x68(%rsp)
movl 0x18(%rsp), %eax
movq %rax, 0x60(%rsp)
movl 0x10(%rsp), %edx
movl 0xc(%rsp), %edi
leaq 0x23971e(%rip), %r14    # 0x242610
movq 0x48(%rsp), %rbp
movl %edi, %eax
addl %edx, %eax
jle 0x8fea
movl 0x2396f9(%rip), %eax    # 0x242600
cmpl 0x1b353(%rip), %eax     # 0x24260
jne 0x8f36
cmpl $0x0, 0x1caba(%rip)     # 0x259d0
jne 0x8f36
cmpl %edx, 0x68(%rsp)
jne 0x8f36
cmpl %edi, 0x60(%rsp)
jne 0x8f36
pushq $0x1
popq %rdi
movl %edi, %esi
pushq $0x3
popq %rdx
callq 0x658a
jmp 0x8fea
movq 0x68(%rsp), %rsi
movq 0x60(%rsp), %r8
leal (%rsi,%r8), %ecx
cmpl $0x1, %ecx
jne 0x8f74
movq 0x78(%rsp), %r8
movq 0xa0(%rsp), %rcx
movq 0x98(%rsp), %rdx
movq %rdx, (%r8,%rcx,8)
xorl %ecx, %ecx
cmpl 0x1ca6a(%rip), %eax     # 0x259d4
sete %cl
pushq $0x1
popq %rdi
movl %edi, %esi
jmp 0x8fde
subq $0x8, %rsp
movl %edi, %r9d
leaq 0xb8(%rsp), %rdi
leaq 0xc58(%rsp), %rcx
leaq 0x60(%rsp), %rax
pushq %rax
leaq 0x6c(%rsp), %rax
pushq %rax
leaq 0x1cc42(%rip), %rax     # 0x25be0
pushq %rax
callq 0xb886
addq $0x20, %rsp
testl %eax, %eax
je 0x8fea
movq 0x78(%rsp), %r8
movq 0xa0(%rsp), %rax
movq 0x98(%rsp), %rcx
movq %rcx, (%r8,%rax,8)
movl 0x5c(%rsp), %edi
movl 0x58(%rsp), %esi
movl 0x23962d(%rip), %eax    # 0x242600
xorl %ecx, %ecx
cmpl 0x1c9f9(%rip), %eax     # 0x259d4
sete %cl
xorl %edx, %edx
movl 0x44(%rsp), %r9d
callq 0x8331
movq 0x98(%rsp), %rdi
callq 0xbd47
movq 0xa8(%rsp), %rcx
incq %rcx
movq 0x70(%rsp), %rax
jmp 0x8901
xorl %ecx, %ecx
testl %eax, %eax
cmovlel %ecx, %eax
xorl %r13d, %r13d
movl 0x94(%rsp), %ebx
movq 0x68(%rsp), %r15
movq 0x60(%rsp), %r12
movq %rax, 0x70(%rsp)
cmpq %rax, %r13
je 0x9562
movq 0x2790(%rsp,%r13,8), %rdi
callq 0xd6b6
movl 0x2395b8(%rip), %edx    # 0x242600
testl %edx, %edx
movl $0x0, %ecx
cmovlel %ecx, %edx
movq %rax, %rbp
movq %rdx, 0x88(%rsp)
leaq (,%rdx,4), %rax
xorl %ecx, %ecx
leaq 0x1c972(%rip), %rdx     # 0x259e0
leaq 0x1cb6b(%rip), %r10     # 0x25be0
cmpq %rcx, %rax
je 0x90d4
cmpl $0x3, (%rcx,%r10)
jne 0x90ca
movq (%rdx), %rsi
movslq 0x4(%rsi), %rdi
xorl %r8d, %r8d
cmpl $0x3, (%r10,%rdi,4)
sete %r8b
movq 0x18(%rsi), %rsi
movslq 0x4(%rsi), %rdi
cmpl $0x3, (%r10,%rdi,4)
leal 0x1(%r8), %edi
cmovnel %r8d, %edi
movq 0x18(%rsi), %rsi
movslq 0x4(%rsi), %rsi
xorl %r8d, %r8d
cmpl $0x3, (%r10,%rsi,4)
sete %r8b
addl %edi, %r8d
cmpl $0x2, %r8d
jb 0x941f
addq $0x8, %rdx
addq $0x4, %rcx
jmp 0x9075
movl 0x1afa2(%rip), %eax     # 0x2407c
leal 0x2(%rax), %ecx
movl %ecx, 0x20(%rsp)
movl %ecx, 0x1af95(%rip)     # 0x2407c
cmpl $0x752f, %eax           # imm = 0x752F
jl 0x9115
movl $0x2, 0x1af84(%rip)     # 0x2407c
pushq $0x30
popq %rax
cmpq $0x46630, %rax          # imm = 0x46630
je 0x910e
andl $0x0, (%rax,%r14)
addq $0x40, %rax
jmp 0x90fb
pushq $0x2
popq %rax
movl %eax, 0x20(%rsp)
movq %r13, 0x50(%rsp)
movq %r12, 0x60(%rsp)
movq %r15, 0x68(%rsp)
movq %rbp, 0x80(%rsp)
movq %rbp, %rcx
addq $0x18, %rcx
xorl %ebp, %ebp
pushq $0x4
popq %rax
leaq 0xc50(%rsp), %r15
pushq $0x1
popq %rbx
movl 0x20(%rsp), %r12d
subl $0x1, %eax
jb 0x928a
movq (%rcx), %rcx
movslq (%rcx), %rdx
movl (%r10,%rdx,4), %esi
cmpl %ebp, %esi
jle 0x91a5
movq 0x10(%rcx), %rdx
movq 0x18(%rcx), %rdi
movslq 0x4(%rdi), %rdi
movl (%r10,%rdi,4), %r8d
movl %r8d, %r13d
shll $0xa, %r13d
movslq 0x4(%rdx), %rdi
movl (%r10,%rdi,4), %edi
addl %edi, %r13d
movq %rcx, 0xb0(%rsp)
shll $0xa, %edi
addl %r8d, %edi
cmpl %r13d, %edi
jle 0x9205
xorl %r14d, %r14d
movq %r15, %r8
movl %ebx, %r9d
movl %edi, %r13d
jmp 0x9249
jne 0x921d
movq 0x10(%rcx), %rdx
movq 0x18(%rcx), %rsi
movslq 0x4(%rsi), %rsi
movl (%r10,%rsi,4), %esi
movl %esi, %edi
shll $0xa, %edi
movslq 0x4(%rdx), %r8
movl (%r10,%r8,4), %r8d
addl %r8d, %edi
xorl %r9d, %r9d
leaq 0xb0(%rsp), %r10
movl %ebx, %r11d
cmpl %r13d, %edi
jg 0x91f8
jne 0x9225
movslq %r14d, %rdi
incl %r14d
leaq (%rsp,%rdi,8), %r10
addq $0xb0, %r10
movl 0x4(%rsp), %r9d
movl %r14d, %r11d
movl %r13d, %edi
movq %rcx, (%r10)
movl %r9d, 0x4(%rsp)
movl %r11d, %r14d
jmp 0x9228
movl $0x0, 0x4(%rsp)
movq %r15, %r8
movl %ebx, %r9d
movl %ebx, %r14d
cmpl %r13d, %edi
je 0x9249
jmp 0x9251
movq 0x10(%rcx), %rdx
movl %ebp, %esi
jmp 0x9251
movl %r13d, %edi
shll $0xa, %r8d
movl %r8d, %r13d
addl %esi, %r13d
cmpl %edi, %r13d
leaq 0x1c9a4(%rip), %r10     # 0x25be0
jle 0x9264
xorl %r14d, %r14d
movq %r15, %r8
movl %ebx, %r9d
movl %ebp, %esi
movq %rcx, (%r8)
movl %r9d, 0x4(%rsp)
movl %r12d, 0x30(%rcx)
movq 0x20(%rdx), %rcx
addq $0x10, %rcx
movl %esi, %ebp
jmp 0x9148
jne 0x9283
movl 0x4(%rsp), %r9d
movslq %r9d, %rsi
incl %r9d
leaq (%rsp,%rsi,8), %r8
addq $0xc50, %r8             # imm = 0xC50
movl %ebp, %esi
jmp 0x919d
movl %ebp, %esi
movl %edi, %r13d
jmp 0x9251
movl %r14d, 0x10(%rsp)
movl 0x4(%rsp), %eax
movl %eax, 0xc(%rsp)
xorl %ecx, %ecx
movl %eax, 0x14(%rsp)
movl %r14d, 0x8(%rsp)
movl %r14d, 0x28(%rsp)
cmpq 0x88(%rsp), %rcx
je 0x9454
cmpl %ebp, (%r10,%rcx,4)
movq %rcx, 0x38(%rsp)
jle 0x92fa
leaq 0x1c719(%rip), %rax     # 0x259e0
movq (%rax,%rcx,8), %rbx
movq %rbx, %r14
cmpl %r12d, 0x30(%r14)
je 0x92ec
movq 0x10(%r14), %rdi
callq 0xda51
leaq 0x1c8fc(%rip), %r10     # 0x25be0
testl %eax, %eax
jne 0x93f9
movq 0x18(%r14), %r14
cmpq %rbx, %r14
jne 0x92ce
jmp 0x93da
jne 0x93da
leaq 0x1c6d9(%rip), %rax     # 0x259e0
movq (%rax,%rcx,8), %rdx
movq %rdx, %r12
movq %rdx, 0x30(%rsp)
movq %r12, %r14
movq 0x18(%r12), %r12
movl 0x20(%rsp), %eax
cmpl %eax, 0x30(%r14)
je 0x93c1
movslq 0x4(%r12), %rax
movl (%r10,%rax,4), %eax
movl %eax, %r15d
shll $0xa, %r15d
movq 0x10(%r14), %rdi
movslq 0x4(%rdi), %rcx
movl (%r10,%rcx,4), %ebx
addl %ebx, %r15d
cmpl %r13d, %r15d
jg 0x93ac
shll $0xa, %ebx
addl %eax, %ebx
cmpl %r13d, %ebx
jg 0x93ac
cmpl %r13d, %r15d
je 0x9361
cmpl %r13d, %ebx
jne 0x93c1
callq 0xda51
testl %eax, %eax
je 0x93cc
cmpl %r13d, %r15d
movq 0x30(%rsp), %rdx
jne 0x9389
movl 0x8(%rsp), %ecx
movslq %ecx, %rax
incl %ecx
movl %ecx, 0x8(%rsp)
movq %r14, 0xb0(%rsp,%rax,8)
leaq 0x1c850(%rip), %r10     # 0x25be0
cmpl %r13d, %ebx
jne 0x93c1
movl 0x14(%rsp), %ecx
movslq %ecx, %rax
incl %ecx
movl %ecx, 0x14(%rsp)
movq %r14, 0xc50(%rsp,%rax,8)
jmp 0x93c1
callq 0xda51
movq 0x30(%rsp), %rdx
leaq 0x1c823(%rip), %r10     # 0x25be0
testl %eax, %eax
jne 0x9429
cmpq %rdx, %r12
jne 0x9313
jmp 0x93da
leaq 0x1c80d(%rip), %r10     # 0x25be0
movq 0x30(%rsp), %rdx
jmp 0x93c1
movq 0x38(%rsp), %rcx
incq %rcx
leaq 0xc50(%rsp), %r15
movl 0x20(%rsp), %r12d
movl 0x28(%rsp), %r14d
jmp 0x92a7
andl $0x0, 0xc(%rsp)
andl $0x0, 0x10(%rsp)
xorl %r9d, %r9d
xorl %r14d, %r14d
movq 0x60(%rsp), %rax
movl %eax, %r12d
movq 0x68(%rsp), %rax
movl %eax, 0x8(%rsp)
jmp 0x94b7
movl %r15d, 0x8(%rsp)
jmp 0x9546
andl $0x0, 0xc(%rsp)
andl $0x0, 0x10(%rsp)
xorl %r9d, %r9d
xorl %r14d, %r14d
movq 0x60(%rsp), %rax
movl %eax, %r12d
movq 0x68(%rsp), %rax
movl %eax, 0x8(%rsp)
leaq 0xc50(%rsp), %r15
jmp 0x94b7
movl 0x8(%rsp), %eax
movl %eax, 0x1c(%rsp)
movl 0x14(%rsp), %r12d
movl %r12d, 0x18(%rsp)
cmpl %r14d, %eax
movl 0x4(%rsp), %r9d
jg 0x9475
cmpl %r9d, %r12d
jle 0x94b7
leaq 0xb0(%rsp), %rdi
leaq 0x1c(%rsp), %rsi
leaq 0x10(%rsp), %rdx
movq %r15, %rcx
leaq 0x18(%rsp), %r8
leaq 0xc(%rsp), %r9
callq 0xd354
leaq 0x1c740(%rip), %r10     # 0x25be0
movl 0x1c(%rsp), %eax
movl %eax, 0x8(%rsp)
movl 0x18(%rsp), %r12d
movl 0x10(%rsp), %r14d
movl 0xc(%rsp), %r9d
movl %r9d, %eax
addl %r14d, %eax
movl 0x94(%rsp), %ebx
movl %r14d, %edx
leaq 0x239142(%rip), %r14    # 0x242610
movq 0x50(%rsp), %r13
movq 0x80(%rsp), %rbp
jle 0x9546
subq $0x8, %rsp
leaq 0xb8(%rsp), %rdi
movl 0x10(%rsp), %esi
movq %r15, %rcx
movl %r12d, %r8d
leaq 0x60(%rsp), %rax
pushq %rax
leaq 0x6c(%rsp), %rax
pushq %rax
pushq %r10
callq 0xb886
addq $0x20, %rsp
testl %eax, %eax
je 0x9546
movl 0x5c(%rsp), %edi
movl 0x58(%rsp), %esi
movl 0x2390e4(%rip), %eax    # 0x242600
movl 0x1c4b2(%rip), %ecx     # 0x259d4
cmpl %ecx, %eax
setge %dl
addl $0x3, %ecx
cmpl %ecx, %eax
setle %al
andb %dl, %al
movzbl %al, %ecx
xorl %edx, %edx
leaq 0x17f0(%rsp), %r8
xorl %r9d, %r9d
callq 0x8331
movq %rbp, %rdi
callq 0xd807
incq %r13
movl 0x8(%rsp), %eax
movl %eax, %r15d
movq 0x70(%rsp), %rax
jmp 0x902c
testl %ebx, %ebx
je 0x9595
movl 0x239094(%rip), %eax    # 0x242600
xorl %ecx, %ecx
testl %eax, %eax
cmovlel %ecx, %eax
shlq $0x3, %rax
leaq 0x1c462(%rip), %rdx     # 0x259e0
cmpq %rcx, %rax
je 0x9595
movq 0x19f0(%rsp,%rcx), %rsi
movq %rsi, (%rcx,%rdx)
addq $0x8, %rcx
jmp 0x957e
addq $0x3338, %rsp           # imm = 0x3338
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq