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

/* The main node of the recursion for 3-connected quadrangulations.
   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;
    EDGE *newP1edge[MAXN],*rededge;
    EDGE *hint;

    if (nv == maxnv)
    {
	if (pswitch) startbipscan(nbtot,nbop,3);
	else         got_one(nbtot,nbop,3);
	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
    if (!(PRE_FILTER_QUAD)) return;
#endif

#ifndef FIND_EXTENSIONS_QUAD
#define FIND_EXTENSIONS_QUAD find_extensions_quad
#endif

    FIND_EXTENSIONS_QUAD(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
        if (FAST_FILTER_QUAD)
#endif  
        {
            (void)canon(degree,numbering,&xnbtot,&xnbop);
            scanquadrangulations(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
        if (FAST_FILTER_QUAD)
#endif  
        {
	    quadr_P1_legal(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(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(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
        if (FAST_FILTER_QUAD)
#endif  
        {
            if (!has_quadr_P1())
            {   
                quadr_P3_legal(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(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 $0x3348, %rsp           # imm = 0x3348
movq %r9, 0x90(%rsp)
movq %rdx, %r15
movl %esi, %ebp
movl %edi, %r14d
movl 0x23c671(%rip), %edx    # 0x244610
movl 0x1e2ca(%rip), %r13d    # 0x26270
movq %rdx, 0x10(%rsp)
cmpl %r13d, %edx
jne 0x7fdd
cmpb $0x1, 0x1e1f1(%rip)     # 0x261a8
jne 0x8046
movl %r14d, %edi
movl %ebp, %esi
movl $0x3, %edx
addq $0x3348, %rsp           # imm = 0x3348
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xc66f
movq %r8, %r12
testl %ecx, %ecx
je 0x802b
subl $0x1, 0x282c35(%rip)    # 0x28ac20
jae 0x92cb
movl 0x1e275(%rip), %eax     # 0x2626c
decl %eax
movl %eax, 0x282c21(%rip)    # 0x28ac20
cmpl $0x0, 0x10(%rsp)
jle 0x802b
movq 0x10(%rsp), %rax
leaq (,%rax,8), %rdx
leaq 0x1f9d6(%rip), %rsi     # 0x279f0
leaq 0x1a00(%rsp), %rdi
movl %ecx, %ebx
callq 0x1070
movl %ebx, %ecx
movq %r15, 0x50(%rsp)
movq 0x90(%rsp), %rax
movslq %eax, %r8
testl %eax, %eax
je 0x8066
movq -0x8(%r12,%r8,8), %rbx
jmp 0x8068
movl %r14d, %edi
movl %ebp, %esi
movl $0x3, %edx
addq $0x3348, %rsp           # imm = 0x3348
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x761c
xorl %ebx, %ebx
cmpl $0x1, %r14d
movq %r12, 0x30(%rsp)
movl %ecx, 0xa4(%rsp)
movq %r8, 0xa8(%rsp)
movq %r13, 0x60(%rsp)
jne 0x810c
movl 0x1dfff(%rip), %eax     # 0x26090
leal 0x1(%rax), %ebp
movl %ebp, 0x1dff6(%rip)     # 0x26090
cmpl $0x7530, %eax           # imm = 0x7530
jl 0x80c3
movl $0x1, 0x1dfe5(%rip)     # 0x26090
leaq 0x282b7e(%rip), %rdi    # 0x28ac30
movl $0x100, %edx            # imm = 0x100
xorl %esi, %esi
callq 0x1030
movl $0x1, %ebp
xorl %r15d, %r15d
testq %rbx, %rbx
je 0x8365
movl 0x4(%rbx), %eax
movq %rax, 0x58(%rsp)
cltq
leaq 0x1fb10(%rip), %rcx     # 0x27bf0
movl (%rcx,%rax,4), %eax
movl %eax, 0x18(%rsp)
movslq (%rbx), %rax
leaq 0x282b3f(%rip), %rcx    # 0x28ac30
movl %ebp, (%rcx,%rax,4)
movq 0x18(%rbx), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movslq 0x4(%rax), %rax
movl %ebp, (%rcx,%rax,4)
jmp 0x8377
testl %ebp, %ebp
cmovel %r14d, %ebp
movl %ebp, 0x58(%rsp)
leaq 0x1fbd3(%rip), %r15     # 0x27cf0
movslq %r14d, %rax
movslq 0x23c4ed(%rip), %rcx    # 0x244614
testq %rcx, %rcx
jle 0x8143
xorl %edx, %edx
movq %r15, %rsi
movq (%rsi), %rdi
movl %edx, 0x34(%rdi)
incq %rdx
addq $0x8, %rsi
cmpq %rdx, %rcx
jne 0x8131
imulq $0xba0, %rax, %rbp      # imm = 0xBA0
movl 0x1df3c(%rip), %eax     # 0x2608c
leal 0x2(%rax), %r12d
movl %r12d, 0x1df31(%rip)    # 0x2608c
cmpl $0x752f, %eax           # imm = 0x752F
jl 0x8191
movl $0x2, 0x1df20(%rip)     # 0x2608c
movl $0x30, %eax
leaq 0x23c4a8(%rip), %rcx    # 0x244620
movl $0x0, (%rax,%rcx)
addq $0x40, %rax
cmpq $0x46630, %rax          # imm = 0x46630
jne 0x8178
movl $0x2, %r12d
addq %r15, %rbp
movl $0x0, 0x18(%rsp)
cmpl $0x0, 0x10(%rsp)
jle 0x8243
xorl %eax, %eax
movl $0x0, 0x18(%rsp)
leaq 0x1fa38(%rip), %rcx     # 0x27bf0
cmpl $0x4, (%rcx,%rax,4)
movq %rax, 0x40(%rsp)
jl 0x8230
leaq 0x1f826(%rip), %rcx     # 0x279f0
movq (%rcx,%rax,8), %r13
movq %r13, %r14
cmpl %r12d, 0x30(%r14)
jne 0x81dd
movq 0x18(%r14), %rbx
jmp 0x8228
movq 0x10(%r14), %rdi
movq 0x18(%r14), %rbx
movq %rbx, %rsi
callq 0xe9c6
testl %eax, %eax
je 0x8228
movl 0x18(%rsp), %ecx
movslq %ecx, %rax
incl %ecx
movl %ecx, 0x18(%rsp)
movq %r14, 0x1c00(%rsp,%rax,8)
movslq 0x34(%r14), %rax
leaq (%r15,%rax,8), %rax
addq $0xba0, %rax            # imm = 0xBA0
cmpq %rbp, %rax
jae 0x8228
movq (%rax), %rcx
movl %r12d, 0x30(%rcx)
addq $0xba0, %rax            # imm = 0xBA0
jmp 0x8214
movq %rbx, %r14
cmpq %r13, %rbx
jne 0x81d1
movq 0x40(%rsp), %rax
incq %rax
cmpq 0x10(%rsp), %rax
jne 0x81b1
movq 0x60(%rsp), %rax
addl $-0x4, %eax
cmpl %eax, 0x10(%rsp)
jle 0x825e
movq 0x30(%rsp), %r13
xorl %r10d, %r10d
jmp 0x8351
leal 0x2(%r12), %eax
movl %eax, 0x1de23(%rip)     # 0x2608c
cmpl $0x752f, %r12d          # imm = 0x752F
movq 0x30(%rsp), %r13
movl $0x0, %r10d
jl 0x82ab
movl $0x2, 0x1de05(%rip)     # 0x2608c
movl $0x30, %eax
leaq 0x23c38d(%rip), %rcx    # 0x244620
movl $0x0, (%rax,%rcx)
addq $0x40, %rax
cmpq $0x46630, %rax          # imm = 0x46630
jne 0x8293
movl $0x2, %eax
cmpl $0x0, 0x10(%rsp)
jle 0x8351
movslq 0x58(%rsp), %rcx
imulq $0xba0, %rcx, %rcx      # imm = 0xBA0
leaq (%r15,%rcx), %rdx
xorl %esi, %esi
leaq 0x1f721(%rip), %rdi     # 0x279f0
xorl %r10d, %r10d
movq (%rdi,%rsi,8), %r8
movq %r8, %r9
cmpl %eax, 0x30(%r9)
je 0x833e
movl %r10d, %r14d
movslq %r10d, %r10
movq %r9, 0x27a0(%rsp,%r10,8)
movq %r9, %r10
movslq 0x34(%r10), %rbx
leaq (%r15,%rbx,8), %r11
shlq $0x3, %rbx
cmpq %rcx, %rbx
jge 0x8326
movq (%r11), %rbx
movl %eax, 0x30(%rbx)
addq $0xba0, %r11            # imm = 0xBA0
cmpq %rdx, %r11
jb 0x8301
jmp 0x8326
movq (%r11), %rbx
movq 0x20(%rbx), %rbx
movl %eax, 0x30(%rbx)
addq $0xba0, %r11            # imm = 0xBA0
cmpq %rbp, %r11
jb 0x8315
movq 0x20(%r10), %r10
movq 0x10(%r10), %r10
cmpq %r9, %r10
jne 0x82f0
movl %r14d, %r10d
incl %r10d
movq 0x18(%r9), %r9
cmpq %r8, %r9
jne 0x82d9
incq %rsi
cmpq 0x10(%rsp), %rsi
jne 0x82d2
movq 0x50(%rsp), %rbx
movq 0x60(%rsp), %r9
movl 0x18(%rsp), %r15d
jmp 0x8532
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq %rax, 0x58(%rsp)
movl $0x0, 0x18(%rsp)
cmpl $0x0, 0x10(%rsp)
jle 0x845b
xorl %eax, %eax
xorl %r15d, %r15d
leaq 0x1f862(%rip), %rcx     # 0x27bf0
cmpl $0x4, (%rcx,%rax,4)
movq %rax, 0x40(%rsp)
jl 0x8448
leaq 0x1f64c(%rip), %rcx     # 0x279f0
movq (%rcx,%rax,8), %r13
cmpq 0x58(%rsp), %rax
jne 0x83e2
movq %r13, %rbx
movq 0x10(%rbx), %rdi
movq 0x18(%rbx), %r14
movq %r14, %rsi
callq 0xe9c6
testl %eax, %eax
je 0x83d8
movslq %r15d, %rax
incl %r15d
movq %rbx, 0x1c00(%rsp,%rax,8)
movq 0x18(%rbx), %r14
movq %r14, %rbx
cmpq %r13, %r14
jne 0x83b2
jmp 0x8448
movq %r13, %r14
movq 0x10(%r14), %rdi
movq 0x18(%r14), %r12
movslq 0x4(%rdi), %rax
leaq 0x282838(%rip), %rcx    # 0x28ac30
cmpl %ebp, (%rcx,%rax,4)
je 0x8422
movslq 0x4(%r12), %rax
leaq 0x282827(%rip), %rcx    # 0x28ac30
cmpl %ebp, (%rcx,%rax,4)
je 0x8422
movslq 0x4(%r14), %rax
movl 0x18(%rsp), %ecx
leaq 0x1f7d3(%rip), %rdx     # 0x27bf0
cmpl %ecx, (%rdx,%rax,4)
jl 0x8440
movq %r12, %rsi
callq 0xe9c6
testl %eax, %eax
je 0x8440
movslq %r15d, %rax
incl %r15d
movq %r14, 0x1c00(%rsp,%rax,8)
movq 0x18(%r14), %r12
movq %r12, %r14
cmpq %r13, %r12
jne 0x83e5
movq 0x40(%rsp), %rax
incq %rax
cmpq 0x10(%rsp), %rax
jne 0x8387
movq 0x60(%rsp), %r9
leal -0x4(%r9), %eax
xorl %r10d, %r10d
cmpl %eax, 0x10(%rsp)
jle 0x847c
movq 0x30(%rsp), %r13
movq 0x50(%rsp), %rbx
jmp 0x8532
movl 0x1dc0a(%rip), %ecx     # 0x2608c
leal 0x2(%rcx), %eax
movl %eax, 0x1dc01(%rip)     # 0x2608c
cmpl $0x752f, %ecx           # imm = 0x752F
movq 0x30(%rsp), %r13
movq 0x50(%rsp), %rbx
jl 0x84cb
movl $0x2, 0x1dbe5(%rip)     # 0x2608c
movl $0x30, %eax
leaq 0x23c16d(%rip), %rcx    # 0x244620
movl $0x0, (%rax,%rcx)
addq $0x40, %rax
cmpq $0x46630, %rax          # imm = 0x46630
jne 0x84b3
movl $0x2, %eax
cmpl $0x0, 0x10(%rsp)
jle 0x8532
xorl %ecx, %ecx
leaq 0x1f515(%rip), %rdx     # 0x279f0
xorl %r10d, %r10d
movq (%rdx,%rcx,8), %rsi
movq %rsi, %rdi
cmpl %eax, 0x30(%rdi)
je 0x851f
movslq %r10d, %r8
incl %r10d
movq %rdi, 0x27a0(%rsp,%r8,8)
movl %eax, 0x30(%rdi)
movq 0x20(%rdi), %r8
movq 0x10(%r8), %r8
movl %eax, 0x30(%r8)
movq 0x20(%r8), %r8
movq 0x10(%r8), %r8
movl %eax, 0x30(%r8)
movq 0x20(%r8), %r8
movq 0x10(%r8), %r8
movl %eax, 0x30(%r8)
movq 0x18(%rdi), %rdi
cmpq %rsi, %rdi
jne 0x84e5
incq %rcx
cmpq 0x10(%rsp), %rcx
jne 0x84de
movl %r10d, 0xa0(%rsp)
testq %rbx, %rbx
sete %al
addl $-0x2, %r9d
cmpl %r9d, 0x10(%rsp)
setg %cl
orb %al, %cl
jne 0x85bc
movq 0x18(%rbx), %rdi
callq 0xe610
movq %rax, %r14
leaq 0x1f68d(%rip), %rdi     # 0x27bf0
leaq 0x7c(%rsp), %r12
leaq 0x78(%rsp), %rbp
movq %r12, %rsi
movq %rbp, %rdx
callq 0x62d6
movl (%r12), %edi
movl (%rbp), %esi
movl 0x23c08b(%rip), %eax    # 0x244610
movl 0x1f459(%rip), %ecx     # 0x279e4
cmpl %ecx, %eax
sete %dl
incl %ecx
cmpl %ecx, %eax
sete %al
orb %dl, %al
movzbl %al, %ecx
leaq 0x1800(%rsp), %r8
movq %rbx, %rdx
xorl %r9d, %r9d
callq 0x7f78
movq 0x18(%r14), %rdi
movq 0x20(%r14), %rsi
callq 0xe74e
testl %r15d, %r15d
jle 0x8da1
movq 0x90(%rsp), %rax
movl %eax, %ecx
incl %eax
movl %eax, 0x8c(%rsp)
movl %r15d, %eax
movq %rax, 0xb8(%rsp)
incq %rcx
movq %rcx, 0xb0(%rsp)
xorl %ecx, %ecx
movq $0x0, 0x80(%rsp)
movq %rax, 0x38(%rsp)
movq %rax, 0x10(%rsp)
movq %rcx, 0x98(%rsp)
movq 0x1c00(%rsp,%rcx,8), %rdi
movq %rdi, 0x58(%rsp)
callq 0xcbe9
movl 0x1da66(%rip), %eax     # 0x2608c
leal 0x2(%rax), %ebx
movl %ebx, 0x1da5d(%rip)     # 0x2608c
cmpl $0x752f, %eax           # imm = 0x752F
leaq 0x1f5b5(%rip), %rsi     # 0x27bf0
jl 0x866b
movl $0x2, 0x1da45(%rip)     # 0x2608c
movl $0x30, %eax
leaq 0x23bfcd(%rip), %rcx    # 0x244620
movl $0x0, (%rax,%rcx)
addq $0x40, %rax
cmpq $0x46630, %rax          # imm = 0x46630
jne 0x8653
movl $0x2, %ebx
movq 0x58(%rsp), %rcx
movslq 0x4(%rcx), %rax
movl (%rsi,%rax,4), %eax
movl %eax, 0x18(%rsp)
movq 0x10(%rcx), %rax
movq 0x18(%rcx), %rcx
movslq 0x4(%rax), %rax
movl (%rsi,%rax,4), %edx
movl %edx, %edi
shll $0xa, %edi
movslq 0x4(%rcx), %rax
movl (%rsi,%rax,4), %eax
addl %eax, %edi
shll $0xa, %eax
addl %edx, %eax
movl %edi, 0x24(%rsp)
cmpl %edi, %eax
movq 0x80(%rsp), %rdi
jge 0x86bf
movl $0x1, %r12d
xorl %edx, %edx
leaq 0xc60(%rsp), %rcx
jmp 0x8707
jne 0x86eb
movl $0x1, 0x2c(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0xc60(%rsp)
movl $0x1, %edx
leaq 0xc0(%rsp), %rcx
movl $0x1, %r12d
jmp 0x8707
movl $0x1, 0x28(%rsp)
xorl %r12d, %r12d
movl $0x1, %edx
leaq 0xc0(%rsp), %rcx
movl %eax, 0x24(%rsp)
movq 0x58(%rsp), %rax
movq %rax, (%rcx)
movl %r12d, 0xc(%rsp)
movl %edx, 0x8(%rsp)
movq 0x20(%rax), %rax
movl %ebx, 0x30(%rax)
movl %edx, %r9d
movl %r12d, %r8d
testq %rdi, %rdi
movq %r12, 0x50(%rsp)
movq %rdx, 0x70(%rsp)
je 0x886a
movq %rdx, %rcx
movq 0x20(%rdi), %rax
movl %ecx, %r9d
movl %r12d, %r8d
cmpl %ebx, 0x30(%rax)
je 0x886a
movslq (%rdi), %rax
cmpl $0x3, (%rsi,%rax,4)
movl %ecx, %r9d
movl %r12d, %r8d
jne 0x886a
movslq 0x4(%rdi), %rax
movl (%rsi,%rax,4), %ebp
movl %ecx, %r9d
movl %r12d, %r8d
cmpl 0x18(%rsp), %ebp
jl 0x886a
movq 0x18(%rdi), %rax
movslq 0x4(%rax), %rax
movl (%rsi,%rax,4), %r14d
movl %ecx, %r9d
movl %r12d, %r8d
cmpl $0x4, %r14d
jl 0x886a
movq 0x10(%rdi), %rax
movslq 0x4(%rax), %rax
movl (%rsi,%rax,4), %r15d
movl %ecx, %r9d
movl %r12d, %r8d
cmpl $0x4, %r15d
jl 0x886a
callq 0xea26
movq 0x70(%rsp), %rcx
movq 0x80(%rsp), %rdx
leaq 0x1f427(%rip), %rsi     # 0x27bf0
movl %ecx, %r9d
movl %r12d, %r8d
testl %eax, %eax
je 0x886a
cmpl 0x18(%rsp), %ebp
jg 0x8839
movl %r15d, %eax
shll $0xa, %eax
addl %r14d, %eax
cmpl 0x24(%rsp), %eax
jg 0x8839
movq 0x50(%rsp), %rax
movl %eax, %r8d
jne 0x882b
movq 0x50(%rsp), %rax
leal 0x1(%rax), %r8d
movl %r8d, 0x2c(%rsp)
movl %eax, %eax
movq %rdx, 0xc60(%rsp,%rax,8)
movq 0x10(%rdx), %rax
movq 0x18(%rdx), %rcx
movslq 0x4(%rcx), %rcx
movl (%rsi,%rcx,4), %r14d
movq 0x70(%rsp), %rcx
movslq 0x4(%rax), %rax
movl (%rsi,%rax,4), %r15d
shll $0xa, %r14d
addl %r15d, %r14d
cmpl 0x24(%rsp), %r14d
jle 0x884b
xorl %r9d, %r9d
movl %r9d, 0x8(%rsp)
movl %r9d, 0xc(%rsp)
jmp 0x8a10
movl %ecx, %r9d
jne 0x8863
leal 0x1(%rcx), %r9d
movl %r9d, 0x28(%rsp)
movl %ecx, %eax
movq %rdx, 0xc0(%rsp,%rax,8)
movq 0x20(%rdx), %rax
movl %ebx, 0x30(%rax)
cmpl $0x0, 0x90(%rsp)
jle 0x899f
movq 0xb0(%rsp), %r14
movl 0x18(%rsp), %ecx
movq -0x10(%r13,%r14,8), %r12
movq 0x20(%r12), %r15
cmpl %ebx, 0x30(%r15)
je 0x8970
movslq 0x4(%r12), %rax
movl (%rsi,%rax,4), %ebp
cmpl %ecx, %ebp
jl 0x8970
movslq (%r12), %rax
cmpl $0x3, (%rsi,%rax,4)
jne 0x8970
movq 0x18(%r12), %rax
movslq 0x4(%rax), %rax
movl (%rsi,%rax,4), %r13d
cmpl $0x4, %r13d
jl 0x896b
movq 0x10(%r12), %rax
movslq 0x4(%rax), %rax
movl (%rsi,%rax,4), %eax
cmpl $0x4, %eax
jl 0x896b
movl %eax, 0x4c(%rsp)
movl %r9d, 0x60(%rsp)
movl %r8d, 0x40(%rsp)
movq %r12, %rdi
callq 0xea26
testl %eax, %eax
je 0x8983
movl 0x18(%rsp), %ecx
cmpl %ecx, %ebp
movl 0x40(%rsp), %r8d
movl 0x60(%rsp), %r9d
jg 0x8d88
movl 0x4c(%rsp), %esi
movl %esi, %eax
shll $0xa, %eax
addl %r13d, %eax
movl 0x24(%rsp), %edx
cmpl %edx, %eax
jg 0x8d88
jne 0x893e
movslq %r8d, %rax
incl %r8d
movq %r12, 0xc60(%rsp,%rax,8)
shll $0xa, %r13d
addl %r13d, %esi
cmpl %edx, %esi
jg 0x8d88
movq 0x30(%rsp), %r13
jne 0x8962
movslq %r9d, %rax
incl %r9d
movq %r12, 0xc0(%rsp,%rax,8)
leaq 0x1f287(%rip), %rsi     # 0x27bf0
jmp 0x8970
movq 0x30(%rsp), %r13
movl %ebx, 0x30(%r15)
decq %r14
cmpq $0x1, %r14
ja 0x8884
jmp 0x89a3
movq 0x30(%rsp), %r13
leaq 0x1f261(%rip), %rsi     # 0x27bf0
movl 0x18(%rsp), %ecx
movl 0x40(%rsp), %r8d
movl 0x60(%rsp), %r9d
jmp 0x8970
movl 0x18(%rsp), %ecx
movl %r8d, 0x2c(%rsp)
movl %r9d, 0x28(%rsp)
cmpl 0x50(%rsp), %r8d
movq 0x70(%rsp), %rdx
jg 0x89be
cmpl %edx, %r9d
jle 0x89ff
leaq 0xc60(%rsp), %rdi
leaq 0x2c(%rsp), %rsi
leaq 0xc(%rsp), %rdx
leaq 0xc0(%rsp), %rcx
leaq 0x28(%rsp), %r8
leaq 0x8(%rsp), %r9
callq 0xe49a
movl 0x18(%rsp), %ecx
leaq 0x1f1fe(%rip), %rsi     # 0x27bf0
movl 0xc(%rsp), %eax
movq %rax, 0x50(%rsp)
movl 0x8(%rsp), %edx
xorl %r9d, %r9d
movq 0x50(%rsp), %rax
movq %rdx, 0x70(%rsp)
orl %edx, %eax
jne 0x8a6d
xorl %edx, %edx
movq 0x38(%rsp), %rbx
movl %r9d, %eax
addl %edx, %eax
jle 0x8ce2
movl 0x23bbe8(%rip), %eax    # 0x244610
cmpl 0x1d842(%rip), %eax     # 0x26270
jne 0x8c31
cmpl $0x0, 0x1efa5(%rip)     # 0x279e0
jne 0x8c31
cmpl %edx, %ebx
jne 0x8c31
cmpl %r9d, 0x10(%rsp)
jne 0x8c31
movl $0x1, %edi
movl $0x1, %esi
movl $0x3, %edx
callq 0x761c
jmp 0x8ce2
movslq 0x23bb9c(%rip), %rdx    # 0x244610
movl 0x2c(%rsp), %eax
movl %eax, 0x4c(%rsp)
movl 0x28(%rsp), %eax
movl %eax, 0x6c(%rsp)
movq %rdx, 0x60(%rsp)
testq %rdx, %rdx
jle 0x8bf6
xorl %r14d, %r14d
cmpl %ecx, (%rsi,%r14,4)
jle 0x8aff
leaq 0x1ef4e(%rip), %rax     # 0x279f0
movq (%rax,%r14,8), %r12
movq %r12, %r15
cmpl %ebx, 0x30(%r15)
je 0x8aed
movslq 0x4(%r15), %rax
cmpl $0x3, (%rsi,%rax,4)
jne 0x8aed
movq 0x20(%r15), %rdi
movq 0x18(%rdi), %rax
movslq 0x4(%rax), %rax
cmpl $0x4, (%rsi,%rax,4)
jl 0x8aed
movq 0x10(%rdi), %rax
movslq 0x4(%rax), %rax
cmpl $0x4, (%rsi,%rax,4)
jl 0x8aed
callq 0xea26
leaq 0x1f10b(%rip), %rsi     # 0x27bf0
testl %eax, %eax
jne 0x8d53
movq 0x18(%r15), %r15
cmpq %r12, %r15
jne 0x8aa9
movl 0x18(%rsp), %ecx
jmp 0x8be3
jne 0x8be3
leaq 0x1eee4(%rip), %rax     # 0x279f0
movq (%rax,%r14,8), %r15
movq %r15, %r13
movq %r14, 0x40(%rsp)
movslq 0x4(%r13), %rax
cmpl $0x3, (%rsi,%rax,4)
jne 0x8bd6
cmpl %ebx, 0x30(%r13)
je 0x8bd6
movq 0x20(%r13), %r12
movq 0x18(%r12), %rax
movslq 0x4(%rax), %rax
movl (%rsi,%rax,4), %ebp
cmpl $0x4, %ebp
jl 0x8bd6
movq 0x10(%r12), %rax
movslq 0x4(%rax), %rax
movl (%rsi,%rax,4), %r14d
cmpl $0x4, %r14d
jl 0x8bd1
movq %r12, %rdi
callq 0xea26
testl %eax, %eax
je 0x8bc6
movl %r14d, %eax
shll $0xa, %eax
addl %ebp, %eax
movl 0x24(%rsp), %edx
cmpl %edx, %eax
movl 0x18(%rsp), %ecx
jg 0x8d6f
jne 0x8b97
movl 0x4c(%rsp), %esi
movslq %esi, %rax
incl %esi
movl %esi, 0x4c(%rsp)
movq %r12, 0xc60(%rsp,%rax,8)
shll $0xa, %ebp
addl %ebp, %r14d
cmpl %edx, %r14d
jg 0x8d6f
jne 0x8bbd
movl 0x6c(%rsp), %edx
movslq %edx, %rax
incl %edx
movl %edx, 0x6c(%rsp)
movq %r12, 0xc0(%rsp,%rax,8)
leaq 0x1f02c(%rip), %rsi     # 0x27bf0
jmp 0x8bd1
leaq 0x1f023(%rip), %rsi     # 0x27bf0
movl 0x18(%rsp), %ecx
movq 0x40(%rsp), %r14
movq 0x18(%r13), %r13
cmpq %r15, %r13
jne 0x8b18
incq %r14
cmpq 0x60(%rsp), %r14
movq 0x30(%rsp), %r13
jne 0x8a95
movl 0x4c(%rsp), %ecx
movl %ecx, 0x2c(%rsp)
movl 0x6c(%rsp), %esi
movl %esi, 0x28(%rsp)
movq 0x50(%rsp), %rdx
cmpl %edx, %ecx
movq 0x70(%rsp), %rax
jg 0x8d0f
cmpl %eax, %esi
jg 0x8d0f
movl %eax, %r9d
movl %esi, %eax
movq %rax, 0x10(%rsp)
movl %ecx, %ebx
jmp 0x8a17
movq 0x10(%rsp), %r8
leal (%rbx,%r8), %ecx
cmpl $0x1, %ecx
jne 0x8c68
movq 0xa8(%rsp), %rcx
movq 0x58(%rsp), %rdx
movq %rdx, (%r13,%rcx,8)
xorl %ecx, %ecx
cmpl 0x1ed8b(%rip), %eax     # 0x279e4
sete %cl
movl $0x1, %edi
movl $0x1, %esi
jmp 0x8cd0
subq $0x8, %rsp
leaq 0xc68(%rsp), %rdi
movl %ebx, %esi
leaq 0xc8(%rsp), %rcx
leaq 0x80(%rsp), %rax
pushq %rax
leaq 0x8c(%rsp), %rax
pushq %rax
leaq 0x1ef59(%rip), %rax     # 0x27bf0
pushq %rax
callq 0xc7bb
addq $0x20, %rsp
testl %eax, %eax
je 0x8ce2
movq 0xa8(%rsp), %rax
movq 0x58(%rsp), %rcx
movq %rcx, (%r13,%rax,8)
movl 0x7c(%rsp), %edi
movl 0x78(%rsp), %esi
movl 0x23b94b(%rip), %eax    # 0x244610
xorl %ecx, %ecx
cmpl 0x1ed17(%rip), %eax     # 0x279e4
sete %cl
xorl %edx, %edx
movq %r13, %r8
movl 0x8c(%rsp), %r9d
callq 0x7f78
movq %rbx, 0x38(%rsp)
movq 0x58(%rsp), %rdi
callq 0xcce8
movq 0x98(%rsp), %rcx
incq %rcx
cmpq 0xb8(%rsp), %rcx
jne 0x8606
jmp 0x8dab
leaq 0xc60(%rsp), %rdi
leaq 0x2c(%rsp), %rsi
leaq 0xc(%rsp), %rdx
leaq 0xc0(%rsp), %rcx
leaq 0x28(%rsp), %r8
leaq 0x8(%rsp), %r9
callq 0xe49a
movl 0x2c(%rsp), %ebx
movl 0x28(%rsp), %eax
movq %rax, 0x10(%rsp)
movl 0xc(%rsp), %edx
movl 0x8(%rsp), %r9d
jmp 0x8a17
xorl %r9d, %r9d
movl %r9d, 0x8(%rsp)
movl %r9d, 0xc(%rsp)
xorl %edx, %edx
movq %r15, 0x80(%rsp)
jmp 0x8a12
xorl %r9d, %r9d
movl %r9d, 0x8(%rsp)
movl %r9d, 0xc(%rsp)
xorl %edx, %edx
movq %r13, 0x80(%rsp)
jmp 0x8d97
xorl %r9d, %r9d
movl %r9d, 0x8(%rsp)
movl %r9d, 0xc(%rsp)
xorl %edx, %edx
movq 0x30(%rsp), %r13
jmp 0x8a12
movq %rax, 0x10(%rsp)
movq %rax, 0x38(%rsp)
movl 0xa0(%rsp), %eax
testl %eax, %eax
movq 0x10(%rsp), %r13
jle 0x929d
movl %eax, %ebp
xorl %ecx, %ecx
leaq 0x1ee26(%rip), %rbx     # 0x27bf0
movq %rbp, 0x80(%rsp)
movq %rcx, 0x50(%rsp)
movq 0x27a0(%rsp,%rcx,8), %rdi
callq 0xe7e4
movq %rax, 0x58(%rsp)
movslq 0x23b820(%rip), %rcx    # 0x244610
movq %rcx, 0x18(%rsp)
testq %rcx, %rcx
jle 0x8e4f
xorl %r14d, %r14d
cmpl $0x3, (%rbx,%r14,4)
jne 0x8e45
leaq 0x1ebe5(%rip), %rax     # 0x279f0
movq (%rax,%r14,8), %r15
movq %r15, %r12
movq %r12, %rdi
movq 0x18(%r12), %r12
movslq 0x4(%r12), %rax
cmpl $0x4, (%rbx,%rax,4)
jl 0x8e40
movq 0x10(%rdi), %rax
movslq 0x4(%rax), %rax
cmpl $0x4, (%rbx,%rax,4)
jl 0x8e40
callq 0xea26
testl %eax, %eax
jne 0x91c6
cmpq %r15, %r12
jne 0x8e12
incq %r14
cmpq 0x18(%rsp), %r14
jne 0x8dfd
movl 0x1d237(%rip), %eax     # 0x2608c
leal 0x2(%rax), %r12d
movl %r12d, 0x1d22c(%rip)    # 0x2608c
cmpl $0x752f, %eax           # imm = 0x752F
jl 0x8e96
movl $0x2, 0x1d21b(%rip)     # 0x2608c
movl $0x30, %eax
leaq 0x23b7a3(%rip), %rcx    # 0x244620
movl $0x0, (%rax,%rcx)
addq $0x40, %rax
cmpq $0x46630, %rax          # imm = 0x46630
jne 0x8e7d
movl $0x2, %r12d
movq 0x58(%rsp), %rax
leaq 0x18(%rax), %rcx
xorl %r15d, %r15d
movl $0x4, %eax
leaq 0xc0(%rsp), %r14
movq (%rcx), %rcx
movslq (%rcx), %rsi
movl (%rbx,%rsi,4), %esi
cmpl %r15d, %esi
jle 0x8f00
movq 0x10(%rcx), %r10
movq 0x18(%rcx), %rdi
movslq 0x4(%rdi), %rdi
movl (%rbx,%rdi,4), %r8d
movl %r8d, %ebp
shll $0xa, %ebp
movslq 0x4(%r10), %rdi
movl (%rbx,%rdi,4), %edi
addl %edi, %ebp
movq %rcx, 0xc60(%rsp)
shll $0xa, %edi
addl %r8d, %edi
cmpl %ebp, %edi
jle 0x8f37
xorl %edx, %edx
movl $0x1, %r8d
movq %r14, %r9
movl %edi, %ebp
jmp 0x8f8d
jne 0x8f51
movq 0x10(%rcx), %r10
movq 0x18(%rcx), %rsi
movslq 0x4(%rsi), %rsi
movl (%rbx,%rsi,4), %esi
movl %esi, %edi
shll $0xa, %edi
movslq 0x4(%r10), %r8
movl (%rbx,%r8,4), %r8d
addl %r8d, %edi
cmpl %ebp, %edi
jle 0x8f57
movl $0x1, %edx
xorl %r11d, %r11d
leaq 0xc60(%rsp), %r9
jmp 0x8f6b
xorl %r11d, %r11d
movl $0x1, %r8d
movq %r14, %r9
movl $0x1, %edx
movl %esi, %r15d
cmpl %ebp, %edi
je 0x8f8d
jmp 0x8f96
movq 0x10(%rcx), %r10
jmp 0x8f96
jne 0x8f70
movslq %edx, %rdi
incl %edx
leaq (%rsp,%rdi,8), %r9
addq $0xc60, %r9             # imm = 0xC60
movl %ebp, %edi
movq %rcx, (%r9)
jmp 0x8f72
movl %ebp, %edi
shll $0xa, %r8d
movl %r8d, %ebp
addl %esi, %ebp
cmpl %edi, %ebp
jle 0x8fac
xorl %edx, %edx
movl $0x1, %r8d
movq %r14, %r9
movl %r15d, %esi
movq %rcx, (%r9)
movl %r8d, %r11d
movl %esi, %r15d
movl %r12d, 0x30(%rcx)
movq 0x20(%r10), %rcx
addq $0x10, %rcx
decl %eax
jne 0x8eaf
jmp 0x8fce
jne 0x8fca
movslq %r11d, %rsi
incl %r11d
leaq (%rsp,%rsi,8), %r9
addq $0xc0, %r9
movl %r11d, %r8d
movl %r15d, %esi
jmp 0x8ef9
movl %edi, %ebp
jmp 0x8f96
movl %edx, 0xc(%rsp)
movl %r11d, 0x8(%rsp)
movl %r11d, 0x70(%rsp)
movl %edx, 0x24(%rsp)
cmpl $0x0, 0x18(%rsp)
jle 0x916f
xorl %eax, %eax
movl %edx, 0x24(%rsp)
movl %r11d, 0x70(%rsp)
movl %edx, 0x98(%rsp)
movl %r11d, 0x4c(%rsp)
movl %r15d, 0x6c(%rsp)
movq %r13, 0x10(%rsp)
movl %r12d, 0x30(%rsp)
cmpl %r15d, (%rbx,%rax,4)
movq %rax, %rcx
movq %rax, 0x60(%rsp)
jle 0x9052
leaq 0x1e9ca(%rip), %rax     # 0x279f0
movq (%rax,%rcx,8), %r14
movq %r14, %r15
cmpl %r12d, 0x30(%r15)
je 0x9044
movq 0x10(%r15), %rdi
callq 0xeaa2
testl %eax, %eax
jne 0x91d6
movq 0x18(%r15), %r15
cmpq %r14, %r15
jne 0x902d
jmp 0x9143
jne 0x9143
leaq 0x1e991(%rip), %rax     # 0x279f0
movq (%rax,%rcx,8), %rdx
movq %rdx, %r14
movq %rdx, 0x40(%rsp)
movq %r14, %r15
movq 0x18(%r14), %r14
cmpl %r12d, 0x30(%r15)
je 0x913a
movslq 0x4(%r14), %rax
movl (%rbx,%rax,4), %eax
movl %eax, %r12d
shll $0xa, %r12d
movq 0x10(%r15), %rdi
movslq 0x4(%rdi), %rcx
movl (%rbx,%rcx,4), %r13d
addl %r13d, %r12d
cmpl %ebp, %r12d
jg 0x90c0
shll $0xa, %r13d
addl %eax, %r13d
cmpl %ebp, %r13d
jg 0x90c0
cmpl %ebp, %r12d
je 0x90dd
cmpl %ebp, %r13d
je 0x90dd
movq 0x10(%rsp), %r13
movl 0x30(%rsp), %r12d
jmp 0x913a
callq 0xeaa2
movq 0x40(%rsp), %rdx
testl %eax, %eax
movq 0x10(%rsp), %r13
movl 0x30(%rsp), %r12d
je 0x913a
jmp 0x91d6
callq 0xeaa2
testl %eax, %eax
je 0x912b
cmpl %ebp, %r12d
movq 0x40(%rsp), %rdx
jne 0x9105
movl 0x24(%rsp), %ecx
movslq %ecx, %rax
incl %ecx
movl %ecx, 0x24(%rsp)
movq %r15, 0xc60(%rsp,%rax,8)
cmpl %ebp, %r13d
movl 0x30(%rsp), %r12d
jne 0x9124
movl 0x70(%rsp), %ecx
movslq %ecx, %rax
incl %ecx
movl %ecx, 0x70(%rsp)
movq %r15, 0xc0(%rsp,%rax,8)
movq 0x10(%rsp), %r13
jmp 0x913a
movq 0x10(%rsp), %r13
movl 0x30(%rsp), %r12d
movq 0x40(%rsp), %rdx
cmpq %rdx, %r14
jne 0x906b
movq 0x60(%rsp), %rax
incq %rax
cmpq 0x18(%rsp), %rax
leaq 0xc0(%rsp), %r14
movl 0x98(%rsp), %edx
movl 0x4c(%rsp), %r11d
movl 0x6c(%rsp), %r15d
jne 0x9011
movl 0x24(%rsp), %r12d
movl %r12d, 0x2c(%rsp)
movl 0x70(%rsp), %r15d
movl %r15d, 0x28(%rsp)
cmpl %edx, %r12d
jg 0x918d
cmpl %r11d, %r15d
jle 0x91f8
leaq 0xc60(%rsp), %rdi
leaq 0x2c(%rsp), %rsi
leaq 0xc(%rsp), %rdx
movq %r14, %rcx
leaq 0x28(%rsp), %r8
leaq 0x8(%rsp), %r9
callq 0xe49a
movl 0x2c(%rsp), %r12d
movl 0x28(%rsp), %r15d
movl 0xc(%rsp), %edx
movl 0x8(%rsp), %r11d
jmp 0x91f8
movl %r13d, %r15d
movq 0x38(%rsp), %rax
movl %eax, %r12d
jmp 0x9277
xorl %r11d, %r11d
movl %r11d, 0x8(%rsp)
movl %r11d, 0xc(%rsp)
xorl %edx, %edx
movl %r13d, %r15d
movq 0x38(%rsp), %rax
movl %eax, %r12d
leaq 0xc0(%rsp), %r14
movl %r11d, %eax
addl %edx, %eax
movq 0x80(%rsp), %rbp
jle 0x9277
subq $0x8, %rsp
leaq 0xc68(%rsp), %rdi
movl %r12d, %esi
movq %r14, %rcx
movl %r15d, %r8d
movl %r11d, %r9d
leaq 0x80(%rsp), %rax
pushq %rax
leaq 0x8c(%rsp), %rax
pushq %rax
pushq %rbx
callq 0xc7bb
addq $0x20, %rsp
testl %eax, %eax
je 0x9277
movl 0x7c(%rsp), %edi
movl 0x78(%rsp), %esi
movl 0x23b3c3(%rip), %eax    # 0x244610
movl 0x1e791(%rip), %ecx     # 0x279e4
cmpl %ecx, %eax
setge %dl
addl $0x3, %ecx
cmpl %ecx, %eax
setle %al
andb %dl, %al
movzbl %al, %ecx
xorl %edx, %edx
leaq 0x1800(%rsp), %r8
xorl %r9d, %r9d
callq 0x7f78
movq 0x58(%rsp), %rdi
callq 0xe935
movq 0x50(%rsp), %rcx
incq %rcx
movl %r12d, %eax
movq %rax, 0x38(%rsp)
movl %r15d, %r13d
cmpq %rbp, %rcx
jne 0x8dd2
cmpl $0x0, 0xa4(%rsp)
je 0x92cb
movslq 0x23b362(%rip), %rdx    # 0x244610
testq %rdx, %rdx
jle 0x92cb
shlq $0x3, %rdx
leaq 0x1e732(%rip), %rdi     # 0x279f0
leaq 0x1a00(%rsp), %rsi
callq 0x1070
addq $0x3348, %rsp           # imm = 0x3348
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq