// File: /workspace/github_c_makefile_star2_O1/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 $0x3338, %rsp           # imm = 0x3338
movl %r9d, 0x8c(%rsp)
movl %ecx, %r14d
movl %edi, %ebp
movl 0x23c5d9(%rip), %ecx    # 0x244610
movl 0x1e232(%rip), %r13d    # 0x26270
movq %rcx, 0x20(%rsp)
cmpl %r13d, %ecx
jne 0x8072
cmpb $0x1, 0x1e159(%rip)     # 0x261a8
jne 0x80d9
movl %ebp, %edi
movl $0x3, %edx
addq $0x3338, %rsp           # imm = 0x3338
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xc52d
movq %r8, %r15
movq %rdx, %r12
testl %r14d, %r14d
je 0x80c4
subl $0x1, 0x282b9c(%rip)    # 0x28ac20
jae 0x92eb
movl 0x1e1dc(%rip), %eax     # 0x2626c
decl %eax
movl %eax, 0x282b88(%rip)    # 0x28ac20
cmpl $0x0, 0x20(%rsp)
jle 0x80c4
movq 0x20(%rsp), %rax
leaq (,%rax,8), %rdx
movl %esi, %ebx
leaq 0x1f93b(%rip), %rsi     # 0x279f0
leaq 0x19f0(%rsp), %rdi
callq 0x1080
movl %ebx, %esi
movl 0x8c(%rsp), %eax
movslq %eax, %rcx
testl %eax, %eax
je 0x80f6
movq -0x8(%r15,%rcx,8), %rbx
jmp 0x80f8
movl %ebp, %edi
movl $0x3, %edx
addq $0x3338, %rsp           # imm = 0x3338
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x76f0
xorl %ebx, %ebx
movq %rcx, 0x90(%rsp)
cmpl $0x1, %ebp
movq %r15, 0x40(%rsp)
movl %r14d, 0x9c(%rsp)
movq %r12, 0x50(%rsp)
movq %r13, 0x38(%rsp)
jne 0x81a5
movl 0x1df72(%rip), %eax     # 0x26098
leal 0x1(%rax), %ecx
movl %ecx, 0x1df69(%rip)     # 0x26098
cmpl $0x7530, %eax           # imm = 0x7530
jl 0x8153
movl $0x1, 0x1df58(%rip)     # 0x26098
leaq 0x282ae9(%rip), %rdi    # 0x28ac30
movl $0x100, %edx            # imm = 0x100
xorl %esi, %esi
callq 0x1030
movl $0x0, 0x30(%rsp)
testq %rbx, %rbx
je 0x83cd
movl 0x4(%rbx), %eax
movq %rax, %rbp
cltq
leaq 0x1fa7d(%rip), %rcx     # 0x27bf0
movl (%rcx,%rax,4), %eax
movl %eax, 0x14(%rsp)
movl 0x1df18(%rip), %eax     # 0x26098
movslq (%rbx), %rcx
leaq 0x282aa6(%rip), %rdx    # 0x28ac30
movl %eax, (%rdx,%rcx,4)
movq 0x18(%rbx), %rcx
movq 0x20(%rcx), %rcx
movq 0x10(%rcx), %rcx
movslq 0x4(%rcx), %rcx
movl %eax, (%rdx,%rcx,4)
jmp 0x83da
testl %esi, %esi
cmovel %ebp, %esi
movl %esi, 0x14(%rsp)
leaq 0x1fb3b(%rip), %r14     # 0x27cf0
movslq %ebp, %rax
movslq 0x23c455(%rip), %rcx    # 0x244614
testq %rcx, %rcx
jle 0x81db
xorl %edx, %edx
movq %r14, %rsi
movq (%rsi), %rdi
movl %edx, 0x34(%rdi)
incq %rdx
addq $0x8, %rsi
cmpq %rdx, %rcx
jne 0x81c9
imulq $0xba0, %rax, %r13      # imm = 0xBA0
movl 0x1deac(%rip), %eax     # 0x26094
leal 0x2(%rax), %ecx
movl %ecx, 0x1dea3(%rip)     # 0x26094
cmpl $0x752f, %eax           # imm = 0x752F
jl 0x8221
movl $0x2, 0x1de92(%rip)     # 0x26094
movl $0x30, %eax
leaq 0x23c412(%rip), %rcx    # 0x244620
movl $0x0, (%rax,%rcx)
addq $0x40, %rax
cmpq $0x46630, %rax          # imm = 0x46630
jne 0x820e
addq %r14, %r13
movl $0x0, 0x30(%rsp)
cmpl $0x0, 0x20(%rsp)
jle 0x82c2
xorl %ebx, %ebx
movl 0x1de54(%rip), %r15d    # 0x26094
movl $0x0, 0x30(%rsp)
leaq 0x1f9a1(%rip), %rax     # 0x27bf0
cmpl $0x4, (%rax,%rbx,4)
jl 0x82b8
leaq 0x1f794(%rip), %rax     # 0x279f0
movq (%rax,%rbx,8), %rbp
movq %rbp, %r12
cmpl %r15d, 0x30(%r12)
je 0x82ae
movq %r12, %rdi
callq 0xe8b8
testl %eax, %eax
je 0x82ae
movl 0x30(%rsp), %ecx
movslq %ecx, %rax
incl %ecx
movl %ecx, 0x30(%rsp)
movq %r12, 0x1bf0(%rsp,%rax,8)
movslq 0x34(%r12), %rax
leaq (%r14,%rax,8), %rax
addq $0xba0, %rax            # imm = 0xBA0
cmpq %r13, %rax
jae 0x82ae
movq (%rax), %rcx
movl %r15d, 0x30(%rcx)
addq $0xba0, %rax            # imm = 0xBA0
jmp 0x829a
movq 0x18(%r12), %r12
cmpq %rbp, %r12
jne 0x8263
incq %rbx
cmpq 0x20(%rsp), %rbx
jne 0x8248
movq 0x38(%rsp), %rax
addl $-0x4, %eax
cmpl %eax, 0x20(%rsp)
jle 0x82dd
xorl %r15d, %r15d
movq 0x50(%rsp), %r12
jmp 0x8588
movl 0x1ddb1(%rip), %eax     # 0x26094
leal 0x2(%rax), %ecx
movl %ecx, 0x1dda8(%rip)     # 0x26094
cmpl $0x752f, %eax           # imm = 0x752F
movq 0x50(%rsp), %r12
jl 0x8321
movl $0x2, 0x1dd92(%rip)     # 0x26094
movl $0x30, %eax
leaq 0x23c312(%rip), %rcx    # 0x244620
movl $0x0, (%rax,%rcx)
addq $0x40, %rax
cmpq $0x46630, %rax          # imm = 0x46630
jne 0x830e
cmpl $0x0, 0x20(%rsp)
movl 0x14(%rsp), %eax
jle 0x8585
cltq
imulq $0xba0, %rax, %rax      # imm = 0xBA0
leaq (%r14,%rax), %rcx
xorl %edx, %edx
movl 0x1dd4f(%rip), %esi     # 0x26094
leaq 0x1f6a4(%rip), %rdi     # 0x279f0
xorl %r15d, %r15d
movq (%rdi,%rdx,8), %r8
movq %r8, %r9
cmpl %esi, 0x30(%r9)
je 0x83b5
movslq %r15d, %r10
movq %r9, 0x2790(%rsp,%r10,8)
movq %r9, %r10
movslq 0x34(%r10), %rbx
leaq (%r14,%rbx,8), %r11
shlq $0x3, %rbx
cmpq %rax, %rbx
jge 0x83a0
movq (%r11), %rbx
movl %esi, 0x30(%rbx)
addq $0xba0, %r11            # imm = 0xBA0
cmpq %rcx, %r11
jb 0x837b
jmp 0x83a0
movq (%r11), %rbx
movq 0x20(%rbx), %rbx
movl %esi, 0x30(%rbx)
addq $0xba0, %r11            # imm = 0xBA0
cmpq %r13, %r11
jb 0x838f
movq 0x20(%r10), %r10
movq 0x10(%r10), %r10
cmpq %r9, %r10
jne 0x836a
incl %r15d
movq 0x18(%r9), %r9
cmpq %r8, %r9
jne 0x8356
incq %rdx
cmpq 0x20(%rsp), %rdx
jne 0x834f
jmp 0x8588
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl $0x0, 0x14(%rsp)
cmpl $0x0, 0x20(%rsp)
jle 0x84b7
xorl %r13d, %r13d
movl 0x1dca9(%rip), %r14d    # 0x26098
leaq 0x28283a(%rip), %rbx    # 0x28ac30
movl $0x0, 0x30(%rsp)
leaq 0x1f7eb(%rip), %rax     # 0x27bf0
cmpl $0x4, (%rax,%r13,4)
jl 0x84a9
leaq 0x1f5d9(%rip), %rax     # 0x279f0
movq (%rax,%r13,8), %r12
movq %r12, %r15
cmpq %rbp, %r13
jne 0x844f
movq %r15, %rdi
callq 0xe8b8
testl %eax, %eax
je 0x8444
movl 0x30(%rsp), %ecx
movslq %ecx, %rax
incl %ecx
movl %ecx, 0x30(%rsp)
movq %r15, 0x1bf0(%rsp,%rax,8)
movq 0x18(%r15), %r15
cmpq %r12, %r15
jne 0x8423
jmp 0x84a9
movq 0x10(%r15), %rax
movslq 0x4(%rax), %rax
cmpl %r14d, (%rbx,%rax,4)
je 0x847f
movq 0x18(%r15), %rax
movslq 0x4(%rax), %rax
cmpl %r14d, (%rbx,%rax,4)
je 0x847f
movslq 0x4(%r15), %rax
movl 0x14(%rsp), %ecx
leaq 0x1f776(%rip), %rdx     # 0x27bf0
cmpl %ecx, (%rdx,%rax,4)
jl 0x84a0
movq %r15, %rdi
callq 0xe8b8
testl %eax, %eax
je 0x84a0
movl 0x30(%rsp), %ecx
movslq %ecx, %rax
incl %ecx
movl %ecx, 0x30(%rsp)
movq %r15, 0x1bf0(%rsp,%rax,8)
movq 0x18(%r15), %r15
cmpq %r12, %r15
jne 0x844f
incq %r13
cmpq 0x20(%rsp), %r13
jne 0x83fe
movq 0x38(%rsp), %rbp
leal -0x4(%rbp), %eax
xorl %r15d, %r15d
cmpl %eax, 0x20(%rsp)
jle 0x84d2
movq 0x50(%rsp), %r12
jmp 0x858d
movl 0x1dbbc(%rip), %eax     # 0x26094
leal 0x2(%rax), %ecx
movl %ecx, 0x1dbb3(%rip)     # 0x26094
cmpl $0x752f, %eax           # imm = 0x752F
movq 0x50(%rsp), %r12
jl 0x8516
movl $0x2, 0x1db9d(%rip)     # 0x26094
movl $0x30, %eax
leaq 0x23c11d(%rip), %rcx    # 0x244620
movl $0x0, (%rax,%rcx)
addq $0x40, %rax
cmpq $0x46630, %rax          # imm = 0x46630
jne 0x8503
cmpl $0x0, 0x20(%rsp)
jle 0x858d
xorl %eax, %eax
movl 0x1db6f(%rip), %ecx     # 0x26094
leaq 0x1f4c4(%rip), %rdx     # 0x279f0
xorl %r15d, %r15d
movq (%rdx,%rax,8), %rsi
movq %rsi, %rdi
cmpl %ecx, 0x30(%rdi)
je 0x8570
movslq %r15d, %r8
incl %r15d
movq %rdi, 0x2790(%rsp,%r8,8)
movl %ecx, 0x30(%rdi)
movq 0x20(%rdi), %r8
movq 0x10(%r8), %r8
movl %ecx, 0x30(%r8)
movq 0x20(%r8), %r8
movq 0x10(%r8), %r8
movl %ecx, 0x30(%r8)
movq 0x20(%r8), %r8
movq 0x10(%r8), %r8
movl %ecx, 0x30(%r8)
movq 0x18(%rdi), %rdi
cmpq %rsi, %rdi
jne 0x8536
incq %rax
cmpq 0x20(%rsp), %rax
jne 0x852f
jmp 0x858d
xorl %r15d, %r15d
movq 0x38(%rsp), %rbp
testq %r12, %r12
sete %al
addl $-0x2, %ebp
cmpl %ebp, 0x20(%rsp)
setg %cl
orb %al, %cl
jne 0x860b
movq %r12, %rdi
callq 0xe4fb
movq %rax, %rbx
leaq 0x1f63d(%rip), %rdi     # 0x27bf0
movq %r12, %r14
leaq 0x5c(%rsp), %r12
leaq 0x58(%rsp), %r13
movq %r12, %rsi
movq %r13, %rdx
callq 0x6408
movl (%r12), %edi
movl (%r13), %esi
movl 0x23c037(%rip), %eax    # 0x244610
movl 0x1f405(%rip), %ecx     # 0x279e4
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 0x8013
movq %rbx, %rdi
callq 0xe638
movl 0x30(%rsp), %edx
testl %edx, %edx
movq 0x40(%rsp), %r13
jle 0x8dc3
movq 0x90(%rsp), %rax
movl %eax, %ecx
incl %eax
movl %eax, 0x88(%rsp)
movl %edx, %eax
movq %rax, 0xa8(%rsp)
incq %rcx
movq %rcx, 0xa0(%rsp)
leaq 0x23bfd5(%rip), %rbx    # 0x244620
xorl %r14d, %r14d
movq $0x0, 0x60(%rsp)
movq %rax, 0x68(%rsp)
movq %rax, 0x70(%rsp)
movl %r15d, 0x20(%rsp)
movq 0x1bf0(%rsp,%r14,8), %r15
movq %r15, %rdi
callq 0xca6d
movl 0x1da18(%rip), %eax     # 0x26094
leal 0x2(%rax), %ecx
movl %ecx, 0x1da0f(%rip)     # 0x26094
cmpl $0x752f, %eax           # imm = 0x752F
jl 0x86ae
movl $0x2, 0x1d9fe(%rip)     # 0x26094
movl $0x30, %eax
movl $0x0, (%rax,%rbx)
addq $0x40, %rax
cmpq $0x46630, %rax          # imm = 0x46630
jne 0x869b
xorl %eax, %eax
movl %eax, 0xc(%rsp)
movl %eax, 0x10(%rsp)
movslq 0x4(%r15), %rax
leaq 0x1f52d(%rip), %rsi     # 0x27bf0
movl (%rsi,%rax,4), %eax
movl %eax, 0x30(%rsp)
movq 0x10(%r15), %rax
movq 0x18(%r15), %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, 0x14(%rsp)
cmpl %edi, %eax
movq %r14, 0x48(%rsp)
jge 0x8710
movl $0x1, 0x10(%rsp)
movq %r15, 0xc50(%rsp)
movq 0x60(%rsp), %rdi
jmp 0x874a
movq 0x60(%rsp), %rdi
jne 0x8736
movl $0x1, %eax
movl %eax, 0x10(%rsp)
movq %r15, 0xc50(%rsp)
movl %eax, 0xc(%rsp)
movq %r15, 0xb0(%rsp)
jmp 0x874a
movl $0x1, 0xc(%rsp)
movq %r15, 0xb0(%rsp)
movl %eax, 0x14(%rsp)
movslq 0x10(%rsp), %r9
movl %r9d, 0x1c(%rsp)
movslq 0xc(%rsp), %r8
movl %r8d, 0x18(%rsp)
movl 0x1d92f(%rip), %r14d    # 0x26094
movq %r15, 0x78(%rsp)
movq 0x20(%r15), %rax
movl %r14d, 0x30(%rax)
testq %rdi, %rdi
je 0x887c
movq 0x20(%rdi), %rax
cmpl %r14d, 0x30(%rax)
je 0x887c
movslq (%rdi), %rax
cmpl $0x3, (%rsi,%rax,4)
jne 0x887c
movslq 0x4(%rdi), %rax
movl (%rsi,%rax,4), %ebx
cmpl 0x30(%rsp), %ebx
jl 0x887c
movq 0x18(%rdi), %rax
movslq 0x4(%rax), %rax
movl (%rsi,%rax,4), %ebp
cmpl $0x4, %ebp
jl 0x887c
movq 0x10(%rdi), %rax
movslq 0x4(%rax), %rax
movl (%rsi,%rax,4), %r15d
cmpl $0x4, %r15d
jl 0x887c
movq %r8, %r12
movq %r9, 0x38(%rsp)
callq 0xe920
movq 0x38(%rsp), %r9
movq %r12, %r8
leaq 0x1f403(%rip), %rsi     # 0x27bf0
testl %eax, %eax
je 0x887c
cmpl 0x30(%rsp), %ebx
jg 0x8809
shll $0xa, %r15d
addl %ebp, %r15d
cmpl 0x14(%rsp), %r15d
jle 0x8818
xorl %eax, %eax
movl %eax, 0x18(%rsp)
movl %eax, 0x1c(%rsp)
jmp 0x8c96
movq 0x60(%rsp), %rdx
jne 0x882f
leal 0x1(%r9), %eax
movl %eax, 0x10(%rsp)
movq %rdx, 0xc50(%rsp,%r9,8)
movq 0x10(%rdx), %rax
movq 0x18(%rdx), %rcx
movslq 0x4(%rcx), %rcx
movl (%rsi,%rcx,4), %ecx
shll $0xa, %ecx
movslq 0x4(%rax), %rax
addl (%rsi,%rax,4), %ecx
cmpl 0x14(%rsp), %ecx
movl 0x20(%rsp), %r15d
jle 0x8862
xorl %eax, %eax
movl %eax, 0x18(%rsp)
movl %eax, 0x1c(%rsp)
jmp 0x8c9b
jne 0x8874
leal 0x1(%r8), %eax
movl %eax, 0xc(%rsp)
movq %rdx, 0xb0(%rsp,%r8,8)
movq 0x20(%rdx), %rax
movl %r14d, 0x30(%rax)
movl 0x10(%rsp), %edi
movl 0xc(%rsp), %edx
cmpl $0x0, 0x8c(%rsp)
jle 0x89d6
movq 0xa0(%rsp), %r15
movl 0x30(%rsp), %ecx
movq -0x10(%r13,%r15,8), %rbp
movq 0x20(%rbp), %r12
cmpl %r14d, 0x30(%r12)
je 0x899e
movslq 0x4(%rbp), %rax
movl (%rsi,%rax,4), %ebx
cmpl %ecx, %ebx
jl 0x899e
movslq (%rbp), %rax
cmpl $0x3, (%rsi,%rax,4)
jne 0x899e
movq 0x18(%rbp), %rax
movslq 0x4(%rax), %rax
movl (%rsi,%rax,4), %r13d
cmpl $0x4, %r13d
jl 0x8999
movq 0x10(%rbp), %rax
movslq 0x4(%rax), %rax
movl (%rsi,%rax,4), %eax
cmpl $0x4, %eax
jl 0x8999
movl %eax, 0x80(%rsp)
movl %edi, 0x28(%rsp)
movl %edx, 0x2c(%rsp)
movq %r9, 0x38(%rsp)
movq %r8, 0x50(%rsp)
movq %rbp, %rdi
callq 0xe920
testl %eax, %eax
je 0x89b2
movl 0x30(%rsp), %ecx
cmpl %ecx, %ebx
movq 0x50(%rsp), %r8
movq 0x38(%rsp), %r9
movl 0x2c(%rsp), %edx
movl 0x28(%rsp), %edi
jg 0x8c7f
movl 0x80(%rsp), %r10d
movl %r10d, %eax
shll $0xa, %eax
addl %r13d, %eax
cmpl 0x14(%rsp), %eax
jg 0x8c7f
leaq 0x1f28e(%rip), %rsi     # 0x27bf0
jne 0x8971
movslq %edi, %rax
incl %edi
movq %rbp, 0xc50(%rsp,%rax,8)
shll $0xa, %r13d
addl %r13d, %r10d
cmpl 0x14(%rsp), %r10d
jg 0x8c7f
movq 0x40(%rsp), %r13
jne 0x899e
movslq %edx, %rax
incl %edx
movq %rbp, 0xb0(%rsp,%rax,8)
jmp 0x899e
movq 0x40(%rsp), %r13
movl %r14d, 0x30(%r12)
decq %r15
cmpq $0x1, %r15
jg 0x889e
jmp 0x89da
movq 0x40(%rsp), %r13
leaq 0x1f232(%rip), %rsi     # 0x27bf0
movl 0x30(%rsp), %ecx
movq 0x50(%rsp), %r8
movq 0x38(%rsp), %r9
movl 0x2c(%rsp), %edx
movl 0x28(%rsp), %edi
jmp 0x899e
movl 0x30(%rsp), %ecx
movl %edi, 0x10(%rsp)
movl %edx, 0xc(%rsp)
cmpl %r9d, %edi
jg 0x89ec
cmpl %r8d, %edx
jle 0x8a20
leaq 0xc50(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x1c(%rsp), %rdx
leaq 0xb0(%rsp), %rcx
leaq 0xc(%rsp), %r8
leaq 0x18(%rsp), %r9
callq 0xe385
movl 0x30(%rsp), %ecx
leaq 0x1f1d0(%rip), %rsi     # 0x27bf0
movl 0x1c(%rsp), %edx
movl 0x18(%rsp), %eax
movl %edx, 0x80(%rsp)
orl %edx, %eax
movl 0x20(%rsp), %r15d
je 0x8c9b
movslq 0x23bbcd(%rip), %rdx    # 0x244610
movl 0x10(%rsp), %eax
movl %eax, 0x2c(%rsp)
movl 0xc(%rsp), %eax
movl %eax, 0x28(%rsp)
movq %rdx, 0x38(%rsp)
testq %rdx, %rdx
jle 0x8be1
xorl %edi, %edi
cmpl %ecx, (%rsi,%rdi,4)
jle 0x8ad6
leaq 0x1ef81(%rip), %rax     # 0x279f0
movq %rdi, %rbp
movq (%rax,%rdi,8), %rbx
movq %rbx, %r12
cmpl %r14d, 0x30(%r12)
je 0x8ac0
movslq 0x4(%r12), %rax
cmpl $0x3, (%rsi,%rax,4)
jne 0x8ac0
movq 0x20(%r12), %rdi
movq 0x18(%rdi), %rax
movslq 0x4(%rax), %rax
cmpl $0x4, (%rsi,%rax,4)
jl 0x8ac0
movq 0x10(%rdi), %rax
movslq 0x4(%rax), %rax
cmpl $0x4, (%rsi,%rax,4)
jl 0x8ac0
callq 0xe920
leaq 0x1f138(%rip), %rsi     # 0x27bf0
testl %eax, %eax
jne 0x8c3d
movq 0x18(%r12), %r12
cmpq %rbx, %r12
jne 0x8a79
movl 0x30(%rsp), %ecx
movq %rbp, %rdi
jmp 0x8bce
jne 0x8bce
leaq 0x1ef0d(%rip), %rax     # 0x279f0
movq (%rax,%rdi,8), %r12
movq %r12, %r13
movq %rdi, 0x50(%rsp)
movslq 0x4(%r13), %rax
cmpl $0x3, (%rsi,%rax,4)
jne 0x8bc1
cmpl %r14d, 0x30(%r13)
je 0x8bc1
movq 0x20(%r13), %rbp
movq 0x18(%rbp), %rax
movslq 0x4(%rax), %rax
movl (%rsi,%rax,4), %ebx
cmpl $0x4, %ebx
jl 0x8bc1
movq 0x10(%rbp), %rax
movslq 0x4(%rax), %rax
movl (%rsi,%rax,4), %r15d
cmpl $0x4, %r15d
jl 0x8ba5
movq %rbp, %rdi
callq 0xe920
testl %eax, %eax
je 0x8bac
movl %r15d, %eax
shll $0xa, %eax
addl %ebx, %eax
cmpl 0x14(%rsp), %eax
movl 0x30(%rsp), %ecx
movq 0x50(%rsp), %rdi
jg 0x8c5e
jne 0x8b6f
movl 0x2c(%rsp), %edx
movslq %edx, %rax
incl %edx
movl %edx, 0x2c(%rsp)
movq %rbp, 0xc50(%rsp,%rax,8)
leaq 0x1f07a(%rip), %rsi     # 0x27bf0
shll $0xa, %ebx
addl %ebx, %r15d
cmpl 0x14(%rsp), %r15d
jg 0x8c5e
movl 0x20(%rsp), %r15d
jne 0x8bc1
movl 0x28(%rsp), %edx
movslq %edx, %rax
incl %edx
movl %edx, 0x28(%rsp)
movq %rbp, 0xb0(%rsp,%rax,8)
jmp 0x8bc1
movl 0x20(%rsp), %r15d
jmp 0x8bc1
movl 0x20(%rsp), %r15d
leaq 0x1f038(%rip), %rsi     # 0x27bf0
movl 0x30(%rsp), %ecx
movq 0x50(%rsp), %rdi
movq 0x18(%r13), %r13
cmpq %r12, %r13
jne 0x8aef
incq %rdi
cmpq 0x38(%rsp), %rdi
movq 0x40(%rsp), %r13
jne 0x8a63
movl 0x2c(%rsp), %ecx
movl %ecx, 0x10(%rsp)
movl 0x28(%rsp), %eax
movl %eax, 0xc(%rsp)
cmpl 0x80(%rsp), %ecx
jg 0x8c00
cmpl 0x18(%rsp), %eax
jle 0x8c29
leaq 0xc50(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x1c(%rsp), %rdx
leaq 0xb0(%rsp), %rcx
leaq 0xc(%rsp), %r8
leaq 0x18(%rsp), %r9
callq 0xe385
movl 0x10(%rsp), %eax
movq %rax, 0x70(%rsp)
movl 0xc(%rsp), %eax
movq %rax, 0x68(%rsp)
jmp 0x8c9b
movl 0x2c(%rsp), %eax
movl %eax, 0x10(%rsp)
movl 0x28(%rsp), %eax
movl %eax, 0xc(%rsp)
xorl %eax, %eax
movl %eax, 0x18(%rsp)
movl %eax, 0x1c(%rsp)
movq %r12, 0x60(%rsp)
jmp 0x8c9b
movl 0x2c(%rsp), %eax
movl %eax, 0x10(%rsp)
movl 0x28(%rsp), %eax
movl %eax, 0xc(%rsp)
xorl %eax, %eax
movl %eax, 0x18(%rsp)
movl %eax, 0x1c(%rsp)
movq %r13, 0x60(%rsp)
jmp 0x8c91
movl %edi, 0x10(%rsp)
movl %edx, 0xc(%rsp)
xorl %eax, %eax
movl %eax, 0x18(%rsp)
movl %eax, 0x1c(%rsp)
movq 0x40(%rsp), %r13
movl 0x20(%rsp), %r15d
leaq 0x23b97e(%rip), %rbx    # 0x244620
movq 0x48(%rsp), %r14
movl 0x1c(%rsp), %edx
movl 0x18(%rsp), %r9d
movl %r9d, %eax
addl %edx, %eax
jle 0x8da6
movl 0x23b94f(%rip), %eax    # 0x244610
movl 0x1d5a9(%rip), %ecx     # 0x26270
xorl %eax, %ecx
orl 0x1ed11(%rip), %ecx     # 0x279e0
movq 0x70(%rsp), %rsi
movl %esi, %edi
xorl %edx, %edi
orl %ecx, %edi
movq 0x68(%rsp), %r8
movl %r8d, %ecx
xorl %r9d, %ecx
orl %edi, %ecx
jne 0x8d02
movl $0x1, %edi
movl $0x1, %esi
movl $0x3, %edx
callq 0x76f0
jmp 0x8da6
leal (%r8,%rsi), %ecx
cmpl $0x1, %ecx
jne 0x8d34
movq 0x90(%rsp), %rcx
movq 0x78(%rsp), %rdx
movq %rdx, (%r13,%rcx,8)
xorl %ecx, %ecx
cmpl 0x1ecbf(%rip), %eax     # 0x279e4
sete %cl
movl $0x1, %edi
movl $0x1, %esi
jmp 0x8d94
subq $0x8, %rsp
leaq 0xc58(%rsp), %rdi
leaq 0xb8(%rsp), %rcx
leaq 0x60(%rsp), %rax
pushq %rax
leaq 0x6c(%rsp), %rax
pushq %rax
leaq 0x1ee95(%rip), %rax     # 0x27bf0
pushq %rax
callq 0xc654
addq $0x20, %rsp
testl %eax, %eax
je 0x8da6
movq 0x90(%rsp), %rax
movq 0x78(%rsp), %rcx
movq %rcx, (%r13,%rax,8)
movl 0x5c(%rsp), %edi
movl 0x58(%rsp), %esi
movl 0x23b887(%rip), %eax    # 0x244610
xorl %ecx, %ecx
cmpl 0x1ec53(%rip), %eax     # 0x279e4
sete %cl
xorl %edx, %edx
movq %r13, %r8
movl 0x88(%rsp), %r9d
callq 0x8013
movq 0x78(%rsp), %rdi
callq 0xcb6c
incq %r14
cmpq 0xa8(%rsp), %r14
jne 0x8666
jmp 0x8dcd
movq %rax, 0x70(%rsp)
movq %rax, 0x68(%rsp)
testl %r15d, %r15d
jle 0x92bd
movl %r15d, %eax
movq %rax, 0x80(%rsp)
leaq 0x1ee08(%rip), %r14     # 0x27bf0
leaq 0x1ec01(%rip), %rbp     # 0x279f0
xorl %ebx, %ebx
movq %rbx, 0x48(%rsp)
movq 0x2790(%rsp,%rbx,8), %rdi
callq 0xe6d6
movq %rax, 0x78(%rsp)
movslq 0x23b801(%rip), %rcx    # 0x244610
movq %rcx, 0x30(%rsp)
testq %rcx, %rcx
jle 0x8e69
xorl %ebx, %ebx
cmpl $0x3, (%r14,%rbx,4)
jne 0x8e5f
movq (%rbp,%rbx,8), %r15
movq %r15, %r12
movq %r12, %rdi
movq 0x18(%r12), %r12
movslq 0x4(%r12), %rax
cmpl $0x4, (%r14,%rax,4)
jl 0x8e5a
movq 0x10(%rdi), %rax
movslq 0x4(%rax), %rax
cmpl $0x4, (%r14,%rax,4)
jl 0x8e5a
callq 0xe920
testl %eax, %eax
jne 0x91c1
cmpq %r15, %r12
jne 0x8e2a
incq %rbx
cmpq 0x30(%rsp), %rbx
jne 0x8e1b
movl 0x1d225(%rip), %eax     # 0x26094
leal 0x2(%rax), %ecx
movl %ecx, 0x1d21c(%rip)     # 0x26094
cmpl $0x752f, %eax           # imm = 0x752F
leaq 0x23b79c(%rip), %rcx    # 0x244620
jl 0x8ea8
movl $0x2, 0x1d204(%rip)     # 0x26094
movl $0x30, %eax
movl $0x0, (%rax,%rcx)
addq $0x40, %rax
cmpq $0x46630, %rax          # imm = 0x46630
jne 0x8e95
movq 0x78(%rsp), %rax
leaq 0x18(%rax), %rcx
movl 0x1d1dd(%rip), %ebx     # 0x26094
movl 0x10(%rsp), %r8d
xorl %r10d, %r10d
movl $0x4, %eax
movl 0xc(%rsp), %r9d
movq (%rcx), %rcx
movslq (%rcx), %rdx
movl (%r14,%rdx,4), %edx
cmpl %r10d, %edx
jle 0x8f26
movq 0x10(%rcx), %rdi
movq 0x18(%rcx), %rsi
movslq 0x4(%rsi), %rsi
movl (%r14,%rsi,4), %r8d
movl %r8d, %esi
shll $0xa, %esi
movslq 0x4(%rdi), %rdi
movl (%r14,%rdi,4), %r15d
addl %r15d, %esi
movq %rcx, 0xc50(%rsp)
shll $0xa, %r15d
addl %r8d, %r15d
cmpl %esi, %r15d
jle 0x8f63
movq %rcx, 0xb0(%rsp)
xorl %r8d, %r8d
movl $0x1, %r9d
movl %edx, %r10d
jmp 0x8fd3
jne 0x8fd3
movq 0x10(%rcx), %rdi
movq 0x18(%rcx), %rdx
movslq 0x4(%rdx), %rdx
movl (%r14,%rdx,4), %esi
movl %esi, %edx
shll $0xa, %edx
movslq 0x4(%rdi), %rdi
movl (%r14,%rdi,4), %edi
addl %edi, %edx
cmpl %r15d, %edx
jle 0x8f7b
movq %rcx, 0xc50(%rsp)
movl $0x1, %r8d
xorl %r9d, %r9d
jmp 0x8f8e
jne 0x8faf
movq %rcx, 0xb0(%rsp)
movl $0x1, %r9d
movl $0x1, %r8d
jmp 0x8fb8
jne 0x8f8b
movslq %r8d, %rdx
incl %r8d
movq %rcx, 0xc50(%rsp,%rdx,8)
movl %r15d, %edx
shll $0xa, %edi
movl %edi, %r15d
addl %esi, %r15d
cmpl %edx, %r15d
jle 0x8fc0
movq %rcx, 0xb0(%rsp)
xorl %r8d, %r8d
movl $0x1, %r9d
jmp 0x8fd3
movl $0x1, %r8d
xorl %r9d, %r9d
movl %edx, %r10d
movl %esi, %r15d
jmp 0x8fd3
jne 0x8fd0
movslq %r9d, %rsi
incl %r9d
movq %rcx, 0xb0(%rsp,%rsi,8)
movl %edx, %r15d
movl %ebx, 0x30(%rcx)
movq 0x10(%rcx), %rcx
movq 0x20(%rcx), %rcx
addq $0x10, %rcx
decl %eax
jne 0x8ec9
movl %r8d, 0x10(%rsp)
movl %r9d, 0xc(%rsp)
movl %r8d, 0x1c(%rsp)
movl %r9d, 0x18(%rsp)
movl %r9d, 0x2c(%rsp)
movl %r8d, 0x28(%rsp)
cmpl $0x0, 0x30(%rsp)
jle 0x9173
xorl %eax, %eax
movl %r8d, 0x28(%rsp)
movl %r9d, 0x2c(%rsp)
movl %r8d, 0x20(%rsp)
movl %r9d, 0x14(%rsp)
movl %r10d, 0x38(%rsp)
cmpl %r10d, (%r14,%rax,4)
movq %rax, 0x40(%rsp)
jle 0x907a
movq (%rbp,%rax,8), %r12
movq %r12, %r13
cmpl %ebx, 0x30(%r13)
je 0x9058
movq 0x10(%r13), %rdi
callq 0xe99c
testl %eax, %eax
jne 0x91cb
movq 0x18(%r13), %r13
cmpq %r12, %r13
jne 0x9041
movl 0x20(%rsp), %r8d
movl 0x14(%rsp), %r9d
movl 0x38(%rsp), %r10d
movq 0x40(%rsp), %rax
jmp 0x915e
jne 0x915e
movq (%rbp,%rax,8), %rdx
movq %rdx, %rbp
movq %rdx, 0x50(%rsp)
cmpl %ebx, 0x30(%rbp)
je 0x9151
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %rax
movslq 0x4(%rax), %rax
movl (%r14,%rax,4), %eax
movl %eax, %r12d
shll $0xa, %r12d
movslq 0x4(%rdi), %rcx
movl (%r14,%rcx,4), %r13d
addl %r13d, %r12d
cmpl %r15d, %r12d
jg 0x912b
shll $0xa, %r13d
addl %eax, %r13d
cmpl %r15d, %r13d
jg 0x912b
cmpl %r15d, %r12d
je 0x90d3
cmpl %r15d, %r13d
jne 0x9115
callq 0xe99c
testl %eax, %eax
je 0x9138
cmpl %r15d, %r12d
movq 0x50(%rsp), %rdx
jne 0x90fb
movl 0x28(%rsp), %ecx
movslq %ecx, %rax
incl %ecx
movl %ecx, 0x28(%rsp)
movq %rbp, 0xc50(%rsp,%rax,8)
cmpl %r15d, %r13d
jne 0x9115
movl 0x2c(%rsp), %ecx
movslq %ecx, %rax
incl %ecx
movl %ecx, 0x2c(%rsp)
movq %rbp, 0xb0(%rsp,%rax,8)
movl 0x20(%rsp), %r8d
movl 0x14(%rsp), %r9d
movl 0x38(%rsp), %r10d
movq 0x40(%rsp), %rax
jmp 0x9151
callq 0xe99c
testl %eax, %eax
jne 0x91f1
movl 0x20(%rsp), %r8d
movl 0x14(%rsp), %r9d
movl 0x38(%rsp), %r10d
movq 0x40(%rsp), %rax
movq 0x50(%rsp), %rdx
movq 0x18(%rbp), %rbp
cmpq %rdx, %rbp
jne 0x908d
incq %rax
cmpq 0x30(%rsp), %rax
leaq 0x1e883(%rip), %rbp     # 0x279f0
jne 0x902e
movl 0x28(%rsp), %ecx
movl %ecx, 0x10(%rsp)
movl 0x2c(%rsp), %eax
movl %eax, 0xc(%rsp)
cmpl %r8d, %ecx
jg 0x918d
cmpl %r9d, %eax
jle 0x91b6
leaq 0xc50(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x1c(%rsp), %rdx
leaq 0xb0(%rsp), %rcx
leaq 0xc(%rsp), %r8
leaq 0x18(%rsp), %r9
callq 0xe385
movl 0x10(%rsp), %esi
movl 0xc(%rsp), %r8d
jmp 0x921c
movq 0x48(%rsp), %rbx
jmp 0x92a2
movl 0x28(%rsp), %eax
movl %eax, 0x10(%rsp)
movl 0x2c(%rsp), %eax
movl %eax, 0xc(%rsp)
xorl %eax, %eax
movl %eax, 0x18(%rsp)
movl %eax, 0x1c(%rsp)
movq 0x70(%rsp), %rsi
movq 0x68(%rsp), %r8
jmp 0x921c
movl 0x28(%rsp), %eax
movl %eax, 0x10(%rsp)
movl 0x2c(%rsp), %eax
movl %eax, 0xc(%rsp)
xorl %eax, %eax
movl %eax, 0x18(%rsp)
movl %eax, 0x1c(%rsp)
movq 0x70(%rsp), %rsi
movq 0x68(%rsp), %r8
leaq 0x1e7d4(%rip), %rbp     # 0x279f0
movq 0x48(%rsp), %rbx
movl 0x1c(%rsp), %edx
movl 0x18(%rsp), %r9d
movl %r9d, %eax
addl %edx, %eax
movq %rsi, 0x70(%rsp)
movq %r8, 0x68(%rsp)
jle 0x92a2
subq $0x8, %rsp
leaq 0xc58(%rsp), %rdi
leaq 0xb8(%rsp), %rcx
leaq 0x60(%rsp), %rax
pushq %rax
leaq 0x6c(%rsp), %rax
pushq %rax
pushq %r14
callq 0xc654
addq $0x20, %rsp
testl %eax, %eax
je 0x92a2
movl 0x5c(%rsp), %edi
movl 0x58(%rsp), %esi
movl 0x23b398(%rip), %eax    # 0x244610
movl 0x1e766(%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 0x17f0(%rsp), %r8
xorl %r9d, %r9d
callq 0x8013
movq 0x78(%rsp), %rdi
callq 0xe827
incq %rbx
cmpq 0x80(%rsp), %rbx
jne 0x8df1
cmpl $0x0, 0x9c(%rsp)
je 0x92eb
movslq 0x23b342(%rip), %rdx    # 0x244610
testq %rdx, %rdx
jle 0x92eb
shlq $0x3, %rdx
leaq 0x1e712(%rip), %rdi     # 0x279f0
leaq 0x19f0(%rsp), %rsi
callq 0x1080
addq $0x3338, %rsp           # imm = 0x3338
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq