// File: /workspace/github_c_makefile_star2_O2/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
movl %r9d, 0x74(%rsp)
movq %r8, 0x98(%rsp)
movl 0x23b6ee(%rip), %r10d   # 0x242600
movl 0x1d347(%rip), %r11d    # 0x24260
cmpl %r11d, %r10d
jne 0x6f44
cmpb $0x1, 0x1d273(%rip)     # 0x24198
jne 0x6fb4
pushq $0x3
popq %rdx
addq $0x3348, %rsp           # imm = 0x3348
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xb767
movl %ecx, 0xac(%rsp)
testl %ecx, %ecx
je 0x6f9a
subl $0x1, 0x281cba(%rip)    # 0x288c10
jae 0x81e6
movl 0x1d2fa(%rip), %eax     # 0x2425c
decl %eax
movl %eax, 0x281ca6(%rip)    # 0x288c10
xorl %eax, %eax
testl %r10d, %r10d
movl $0x0, %ecx
cmovgl %r10d, %ecx
shlq $0x3, %rcx
leaq 0x1ea5d(%rip), %r9      # 0x259e0
cmpq %rax, %rcx
je 0x6f9a
movq (%rax,%r9), %r8
movq %r8, 0x1a00(%rsp,%rax)
addq $0x8, %rax
jmp 0x6f83
movl 0x74(%rsp), %eax
movslq %eax, %rcx
testl %eax, %eax
je 0x6fcd
movq 0x98(%rsp), %rax
movq -0x8(%rax,%rcx,8), %rax
jmp 0x6fcf
pushq $0x3
popq %rdx
addq $0x3348, %rsp           # imm = 0x3348
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x658a
xorl %eax, %eax
movq %rcx, 0xb0(%rsp)
cmpl $0x1, %edi
movl %r10d, 0x18(%rsp)
movq %rdx, 0x38(%rsp)
movq %r11, 0x48(%rsp)
jne 0x702b
movl 0x1d08f(%rip), %ecx     # 0x24080
leal 0x1(%rcx), %ebp
movl %ebp, 0x1d086(%rip)     # 0x24080
cmpl $0x7530, %ecx           # imm = 0x7530
jl 0x705e
movl $0x1, 0x1d074(%rip)     # 0x24080
xorl %ecx, %ecx
pushq $0x1
popq %rbp
leaq 0x281c08(%rip), %rsi    # 0x288c20
cmpq $0x100, %rcx            # imm = 0x100
je 0x705e
andl $0x0, (%rcx,%rsi)
addq $0x4, %rcx
jmp 0x7018
testl %esi, %esi
cmovel %edi, %esi
movslq %esi, %rax
movl 0x23b5cb(%rip), %ecx    # 0x242604
xorl %r9d, %r9d
testl %ecx, %ecx
cmovlel %r9d, %ecx
leaq 0x1ec97(%rip), %rsi     # 0x25ce0
cmpq %r9, %rcx
je 0x70ab
movq (%rsi), %r8
movl %r9d, 0x34(%r8)
incq %r9
addq $0x8, %rsi
jmp 0x7049
movq $0x0, 0x50(%rsp)
testq %rax, %rax
je 0x7228
movl 0x4(%rax), %ecx
movq %rcx, 0x20(%rsp)
movslq %ecx, %rcx
leaq 0x1eb5e(%rip), %rdx     # 0x25be0
movl (%rdx,%rcx,4), %r13d
movslq (%rax), %rcx
leaq 0x281b90(%rip), %rdx    # 0x288c20
movl %ebp, (%rdx,%rcx,4)
movq 0x18(%rax), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movslq 0x4(%rax), %rax
movl %ebp, (%rdx,%rax,4)
jmp 0x7235
movslq %edi, %rcx
imulq $0xba0, %rax, %rbp      # imm = 0xBA0
leaq 0x1ec24(%rip), %r13     # 0x25ce0
imulq $0xba0, %rcx, %r12      # imm = 0xBA0
movl 0x1cfb3(%rip), %eax     # 0x2407c
leal 0x2(%rax), %r15d
movl %r15d, 0x1cfa8(%rip)    # 0x2407c
leaq 0x23b535(%rip), %rcx    # 0x242610
cmpl $0x752f, %eax           # imm = 0x752F
jl 0x7105
movl $0x2, 0x1cf90(%rip)     # 0x2407c
pushq $0x30
popq %rax
pushq $0x2
popq %r15
cmpq $0x46630, %rax          # imm = 0x46630
je 0x7105
andl $0x0, (%rax,%rcx)
addq $0x40, %rax
jmp 0x70f3
addq %r13, %rbp
addq %r13, %r12
xorl %edx, %edx
movl 0x18(%rsp), %eax
testl %eax, %eax
movl $0x0, %ecx
cmovgl %eax, %ecx
movq %rcx, 0x20(%rsp)
movq $0x0, 0x50(%rsp)
cmpq 0x20(%rsp), %rdx
je 0x71b8
leaq 0x1eaa5(%rip), %rax     # 0x25be0
cmpl $0x4, (%rax,%rdx,4)
movq %rdx, 0x40(%rsp)
jl 0x71ab
leaq 0x1e893(%rip), %rax     # 0x259e0
movq (%rax,%rdx,8), %rbx
movq %rbx, %r14
cmpl %r15d, 0x30(%r14)
je 0x71a2
movq %r14, %rdi
callq 0xd898
testl %eax, %eax
je 0x71a2
movslq 0x50(%rsp), %rax
movq %r14, 0x1c00(%rsp,%rax,8)
movslq 0x34(%r14), %rax
leaq 0xba0(,%rax,8), %rax
addq %r13, %rax
cmpq %r12, %rax
jae 0x7196
movq (%rax), %rcx
movl %r15d, 0x30(%rcx)
addq $0xba0, %rax            # imm = 0xBA0
jmp 0x7182
movq 0x50(%rsp), %rax
incl %eax
movq %rax, 0x50(%rsp)
movq 0x18(%r14), %r14
cmpq %rbx, %r14
jne 0x7154
movq 0x40(%rsp), %rdx
incq %rdx
jmp 0x7129
movq 0x48(%rsp), %rax
addl $-0x4, %eax
cmpl %eax, 0x18(%rsp)
leaq 0x23b445(%rip), %rcx    # 0x242610
jle 0x71e4
xorl %r10d, %r10d
movq 0x38(%rsp), %r13
movl 0x18(%rsp), %r11d
movq 0x48(%rsp), %rbx
jmp 0x7332
leal 0x2(%r15), %eax
movl %eax, 0x1ce8e(%rip)     # 0x2407c
cmpl $0x752f, %r15d          # imm = 0x752F
movl 0x18(%rsp), %r11d
movq 0x48(%rsp), %rbx
jl 0x82a4
movl $0x2, 0x1ce6d(%rip)     # 0x2407c
pushq $0x30
popq %rax
cmpq $0x46630, %rax          # imm = 0x46630
je 0x82a1
andl $0x0, (%rax,%rcx)
addq $0x40, %rax
jmp 0x7212
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movq %rax, 0x20(%rsp)
xorl %r13d, %r13d
testl %r10d, %r10d
movl $0x0, %eax
cmovgl %r10d, %eax
movq %rax, 0x40(%rsp)
leaq 0x2819d3(%rip), %r15    # 0x288c20
xorl %r12d, %r12d
cmpq 0x40(%rsp), %r12
je 0x7314
leaq 0x1e97e(%rip), %rax     # 0x25be0
cmpl $0x4, (%rax,%r12,4)
jl 0x730c
leaq 0x1e76c(%rip), %rax     # 0x259e0
movq (%rax,%r12,8), %rbx
cmpq 0x20(%rsp), %r12
jne 0x72b0
movq %rbx, %r14
movq %r14, %rdi
callq 0xd898
testl %eax, %eax
je 0x72a5
movq 0x50(%rsp), %rcx
movslq %ecx, %rax
incl %ecx
movq %rcx, 0x50(%rsp)
movq %r14, 0x1c00(%rsp,%rax,8)
movq 0x18(%r14), %r14
cmpq %rbx, %r14
jne 0x7282
jmp 0x730c
movq %rbx, %r14
movq 0x10(%r14), %rax
movslq 0x4(%rax), %rax
cmpl %ebp, (%r15,%rax,4)
je 0x72e0
movq 0x18(%r14), %rax
movslq 0x4(%rax), %rax
cmpl %ebp, (%r15,%rax,4)
je 0x72e0
movslq 0x4(%r14), %rax
leaq 0x1e906(%rip), %rcx     # 0x25be0
cmpl %r13d, (%rcx,%rax,4)
jl 0x7303
movq %r14, %rdi
callq 0xd898
testl %eax, %eax
je 0x7303
movq 0x50(%rsp), %rcx
movslq %ecx, %rax
incl %ecx
movq %rcx, 0x50(%rsp)
movq %r14, 0x1c00(%rsp,%rax,8)
movq 0x18(%r14), %r14
cmpq %rbx, %r14
jne 0x72b3
incq %r12
jmp 0x7250
movq 0x48(%rsp), %rbx
leal -0x4(%rbx), %eax
movl 0x18(%rsp), %r11d
cmpl %eax, %r11d
jle 0x81f8
xorl %r10d, %r10d
movq 0x38(%rsp), %r13
testq %r13, %r13
sete %al
addl $-0x2, %ebx
cmpl %ebx, %r11d
setg %cl
orb %al, %cl
jne 0x73b7
movq %r13, %rdi
movq %r10, %rbx
callq 0xd4db
movq %rax, %r14
leaq 0x1e886(%rip), %rdi     # 0x25be0
leaq 0x84(%rsp), %r15
leaq 0x80(%rsp), %r12
movq %r15, %rsi
movq %r12, %rdx
callq 0x52ed
movl (%r15), %edi
movl (%r12), %esi
movl 0x23b27e(%rip), %eax    # 0x242600
movl 0x1e64c(%rip), %ecx     # 0x259d4
cmpl %ecx, %eax
sete %dl
incl %ecx
cmpl %ecx, %eax
sete %al
orb %dl, %al
movzbl %al, %ecx
leaq 0x1800(%rsp), %r8
movq %r13, %rdx
xorl %r9d, %r9d
callq 0x6eed
movq %r14, %rdi
callq 0xd618
movq %rbx, %r10
movl 0x74(%rsp), %eax
movl %eax, %ecx
movq %rcx, 0x88(%rsp)
incl %eax
movl %eax, 0x74(%rsp)
xorl %ecx, %ecx
movq 0x50(%rsp), %rax
testl %eax, %eax
cmovlel %ecx, %eax
movq %rax, 0x50(%rsp)
leaq 0x23b22d(%rip), %r13    # 0x242610
leaq 0x1e7f6(%rip), %r12     # 0x25be0
xorl %eax, %eax
movq $0x0, 0x30(%rsp)
movq %r10, 0xa0(%rsp)
cmpq 0x50(%rsp), %rax
je 0x7c4a
movq %rax, 0xb8(%rsp)
movq 0x1c00(%rsp,%rax,8), %rdi
movq %rdi, 0x78(%rsp)
callq 0xbc48
movl 0x1cc54(%rip), %eax     # 0x2407c
leal 0x2(%rax), %r13d
movl %r13d, 0x1cc49(%rip)    # 0x2407c
cmpl $0x752f, %eax           # imm = 0x752F
jl 0x7464
movl $0x2, 0x1cc38(%rip)     # 0x2407c
pushq $0x30
popq %rax
leaq 0x23b1c2(%rip), %rcx    # 0x242610
cmpq $0x46630, %rax          # imm = 0x46630
je 0x7460
andl $0x0, (%rax,%rcx)
addq $0x40, %rax
jmp 0x744e
pushq $0x2
popq %r13
movq 0x78(%rsp), %rcx
movslq 0x4(%rcx), %rax
movl (%r12,%rax,4), %eax
movl %eax, 0x40(%rsp)
movq 0x10(%rcx), %rax
movq 0x18(%rcx), %rcx
movslq 0x4(%rax), %rax
movl (%r12,%rax,4), %edx
movl %edx, %esi
shll $0xa, %esi
movslq 0x4(%rcx), %rax
movl (%r12,%rax,4), %eax
addl %eax, %esi
shll $0xa, %eax
addl %edx, %eax
movl %esi, 0x38(%rsp)
cmpl %esi, %eax
movq %rbp, 0x20(%rsp)
movq %rbx, 0x58(%rsp)
jge 0x74bc
leaq 0xc60(%rsp), %rcx
pushq $0x1
popq %rax
movl %eax, %esi
xorl %edx, %edx
jmp 0x74f5
jne 0x74dc
movq 0x78(%rsp), %rax
movq %rax, 0xc60(%rsp)
leaq 0xc0(%rsp), %rcx
pushq $0x1
popq %rax
movl %eax, %edx
movl %eax, %esi
jmp 0x74f5
movl $0x1, 0x28(%rsp)
xorl %esi, %esi
leaq 0xc0(%rsp), %rcx
pushq $0x1
popq %rdx
movl %eax, 0x38(%rsp)
movq 0x78(%rsp), %rax
movq %rax, (%rcx)
movl %esi, 0x10(%rsp)
movl %edx, 0xc(%rsp)
movq 0x20(%rax), %rax
movl %r13d, 0x30(%rax)
movq 0x88(%rsp), %r15
movq %rdx, 0x60(%rsp)
movl %edx, %ebx
movq %rsi, 0x68(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x76fb
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x88(%rsp), %r15
movq 0x60(%rsp), %rcx
movl %ecx, %ebx
movq 0x68(%rsp), %rcx
movl %ecx, %esi
cmpl %r13d, 0x30(%rax)
je 0x76fb
movq 0x30(%rsp), %rax
movslq (%rax), %rax
cmpl $0x3, (%r12,%rax,4)
movq 0x88(%rsp), %r15
movq 0x60(%rsp), %rax
movl %eax, %ebx
movq 0x68(%rsp), %rax
movl %eax, %esi
jne 0x76fb
movq 0x30(%rsp), %rax
movslq 0x4(%rax), %rax
movl (%r12,%rax,4), %r14d
movq 0x88(%rsp), %r15
movq 0x60(%rsp), %rax
movl %eax, %ebx
movq 0x68(%rsp), %rax
movl %eax, %esi
cmpl 0x40(%rsp), %r14d
jl 0x76fb
movq 0x30(%rsp), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rax
movl (%r12,%rax,4), %ebp
movq 0x88(%rsp), %r15
movq 0x60(%rsp), %rax
movl %eax, %ebx
movq 0x68(%rsp), %rax
movl %eax, %esi
cmpl $0x4, %ebp
jl 0x76fb
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
movslq 0x4(%rax), %rax
movl (%r12,%rax,4), %ecx
movq 0x88(%rsp), %r15
movq 0x60(%rsp), %rax
movl %eax, %ebx
movq 0x68(%rsp), %rax
movl %eax, %esi
cmpl $0x4, %ecx
jl 0x76fb
movq 0x30(%rsp), %rdi
movl %ecx, 0x18(%rsp)
callq 0xd900
movq 0x88(%rsp), %r15
movq 0x60(%rsp), %rcx
movl %ecx, %ebx
movq 0x68(%rsp), %rcx
movl %ecx, %esi
movl 0x18(%rsp), %ecx
testl %eax, %eax
je 0x76fb
cmpl 0x40(%rsp), %r14d
jg 0x7c12
movl %ecx, %eax
shll $0xa, %eax
addl %ebp, %eax
cmpl 0x38(%rsp), %eax
movq 0x58(%rsp), %rbx
jg 0x76a1
movq 0x68(%rsp), %rax
movl %eax, %esi
jne 0x7696
movq 0x68(%rsp), %rax
leal 0x1(%rax), %esi
movl %esi, 0x2c(%rsp)
movl %eax, %eax
movq 0x30(%rsp), %rcx
movq %rcx, 0xc60(%rsp,%rax,8)
movq 0x10(%rcx), %rax
movq 0x18(%rcx), %rcx
movslq 0x4(%rcx), %rcx
movl (%r12,%rcx,4), %ebp
movslq 0x4(%rax), %rax
movl (%r12,%rax,4), %ecx
shll $0xa, %ebp
addl %ecx, %ebp
cmpl 0x38(%rsp), %ebp
jle 0x76c6
andl $0x0, 0xc(%rsp)
andl $0x0, 0x10(%rsp)
movl $0x0, 0x14(%rsp)
xorl %ecx, %ecx
leaq 0x23af54(%rip), %r13    # 0x242610
movq 0x20(%rsp), %rbp
jmp 0x7a64
movq 0x60(%rsp), %rax
movl %eax, %ebx
jne 0x76e1
leal 0x1(%rax), %ebx
movl %eax, %eax
movq 0x30(%rsp), %rcx
movq %rcx, 0xc0(%rsp,%rax,8)
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rbp
addq $0x30, %rbp
movq 0x88(%rsp), %r15
jmp 0x783c
testl %r15d, %r15d
jle 0x77b5
movq 0x98(%rsp), %rax
movq -0x8(%rax,%r15,8), %r14
decq %r15
movq 0x20(%r14), %rax
leaq 0x30(%rax), %rbp
cmpl %r13d, 0x30(%rax)
je 0x783c
movslq 0x4(%r14), %rax
movq %r12, %rcx
movl (%r12,%rax,4), %r12d
cmpl 0x40(%rsp), %r12d
jl 0x7839
movslq (%r14), %rax
cmpl $0x3, (%rcx,%rax,4)
jne 0x7839
movq 0x18(%r14), %rax
movslq 0x4(%rax), %rax
movl (%rcx,%rax,4), %edx
cmpl $0x4, %edx
jl 0x7839
movq 0x10(%r14), %rax
movslq 0x4(%rax), %rax
movl (%rcx,%rax,4), %eax
cmpl $0x4, %eax
jl 0x7bc0
movl %eax, 0x14(%rsp)
movl %edx, 0x48(%rsp)
movl %esi, 0x18(%rsp)
movq %r14, %rdi
callq 0xd900
testl %eax, %eax
je 0x7bcc
cmpl 0x40(%rsp), %r12d
movl 0x18(%rsp), %esi
jle 0x7bdc
andl $0x0, 0xc(%rsp)
andl $0x0, 0x10(%rsp)
movl $0x0, 0x14(%rsp)
xorl %ecx, %ecx
jmp 0x7a4c
movl %esi, 0x2c(%rsp)
movl %ebx, 0x28(%rsp)
movq 0x68(%rsp), %rdx
cmpl %edx, %esi
setg %al
movq 0x60(%rsp), %rsi
cmpl %esi, %ebx
setg %cl
orb %al, %cl
cmpb $0x1, %cl
jne 0x7809
leaq 0xc60(%rsp), %rdi
leaq 0x2c(%rsp), %rsi
leaq 0x10(%rsp), %rdx
leaq 0xc0(%rsp), %rcx
leaq 0x28(%rsp), %r8
leaq 0xc(%rsp), %r9
callq 0xd354
movl 0x10(%rsp), %edx
movl 0xc(%rsp), %esi
movl $0x0, 0x14(%rsp)
movq %rdx, 0x68(%rsp)
movl %edx, %eax
movq %rsi, 0x60(%rsp)
orl %esi, %eax
movq 0x20(%rsp), %rbp
movq 0x58(%rsp), %rbx
jne 0x7845
xorl %ecx, %ecx
leaq 0x23addc(%rip), %r13    # 0x242610
jmp 0x7a64
movq %rcx, %r12
movl %r13d, (%rbp)
jmp 0x76fb
movl 0x23adb5(%rip), %ecx    # 0x242600
movl 0x2c(%rsp), %eax
movl %eax, 0x94(%rsp)
movl 0x28(%rsp), %eax
movl %eax, 0x90(%rsp)
testl %ecx, %ecx
movl $0x0, %eax
cmovlel %eax, %ecx
movq %rcx, 0x48(%rsp)
xorl %r14d, %r14d
cmpq 0x48(%rsp), %r14
je 0x79e4
movl 0x40(%rsp), %eax
cmpl %eax, (%r12,%r14,4)
jle 0x78e4
leaq 0x1e151(%rip), %rax     # 0x259e0
movq (%rax,%r14,8), %r15
movq %r15, %rbx
cmpl %r13d, 0x30(%rbx)
je 0x78d6
movslq 0x4(%rbx), %rax
cmpl $0x3, (%r12,%rax,4)
jne 0x78d6
movq 0x20(%rbx), %rdi
movq 0x18(%rdi), %rax
movslq 0x4(%rax), %rax
cmpl $0x4, (%r12,%rax,4)
jl 0x78d6
movq 0x10(%rdi), %rax
movslq 0x4(%rax), %rax
cmpl $0x4, (%r12,%rax,4)
jl 0x78d6
callq 0xd900
testl %eax, %eax
jne 0x7a21
movq 0x18(%rbx), %rbx
cmpq %r15, %rbx
jne 0x7896
jmp 0x79d7
jne 0x79d7
leaq 0x1e0ef(%rip), %rax     # 0x259e0
movq (%rax,%r14,8), %rbx
movq %rbx, %rbp
movq %r14, 0x18(%rsp)
movslq 0x4(%rbp), %rax
cmpl $0x3, (%r12,%rax,4)
jne 0x79ca
cmpl %r13d, 0x30(%rbp)
je 0x79ca
movq 0x20(%rbp), %r15
movq 0x18(%r15), %rax
movslq 0x4(%rax), %rax
movq %r12, %rcx
movl (%r12,%rax,4), %r12d
cmpl $0x4, %r12d
jl 0x79b9
movq 0x10(%r15), %rax
movslq 0x4(%rax), %rax
movl (%rcx,%rax,4), %r14d
cmpl $0x4, %r14d
jl 0x79be
movq %r15, %rdi
callq 0xd900
testl %eax, %eax
je 0x79be
movl %r14d, %eax
shll $0xa, %eax
addl %r12d, %eax
cmpl 0x38(%rsp), %eax
jg 0x7a3b
jne 0x7981
movl 0x94(%rsp), %ecx
movslq %ecx, %rax
incl %ecx
movl %ecx, 0x94(%rsp)
movq %r15, 0xc60(%rsp,%rax,8)
shll $0xa, %r12d
addl %r12d, %r14d
cmpl 0x38(%rsp), %r14d
jg 0x7a3b
leaq 0x1e246(%rip), %r12     # 0x25be0
jne 0x79c5
movl 0x90(%rsp), %ecx
movslq %ecx, %rax
incl %ecx
movl %ecx, 0x90(%rsp)
movq %r15, 0xc0(%rsp,%rax,8)
jmp 0x79c5
movq %rcx, %r12
jmp 0x79ca
leaq 0x1e21b(%rip), %r12     # 0x25be0
movq 0x18(%rsp), %r14
movq 0x18(%rbp), %rbp
cmpq %rbx, %rbp
jne 0x78fd
incq %r14
movq 0x20(%rsp), %rbp
jmp 0x7873
movl 0x94(%rsp), %edx
movl %edx, 0x2c(%rsp)
movl 0x90(%rsp), %esi
movl %esi, 0x28(%rsp)
movq 0x68(%rsp), %rcx
cmpl %ecx, %edx
movq 0x60(%rsp), %rax
jg 0x7b7e
cmpl %eax, %esi
jg 0x7b7e
movl %eax, 0x14(%rsp)
movl %esi, %ebx
movl %edx, %ebp
jmp 0x782d
andl $0x0, 0xc(%rsp)
andl $0x0, 0x10(%rsp)
xorl %ecx, %ecx
movq %rbx, 0x30(%rsp)
leaq 0x23abd7(%rip), %r13    # 0x242610
jmp 0x7a5f
andl $0x0, 0xc(%rsp)
andl $0x0, 0x10(%rsp)
xorl %ecx, %ecx
movq %rbp, 0x30(%rsp)
leaq 0x23abbd(%rip), %r13    # 0x242610
leaq 0x1e186(%rip), %r12     # 0x25be0
movq 0x20(%rsp), %rbp
movq 0x58(%rsp), %rbx
movl 0x14(%rsp), %eax
addl %ecx, %eax
jle 0x7b5c
movq %rcx, %rdx
movl 0x23ab87(%rip), %eax    # 0x242600
cmpl 0x1c7e1(%rip), %eax     # 0x24260
jne 0x7aa6
cmpl $0x0, 0x1df48(%rip)     # 0x259d0
jne 0x7aa6
cmpl %edx, %ebp
jne 0x7aa6
cmpl 0x14(%rsp), %ebx
jne 0x7aa6
pushq $0x1
popq %rdi
movl %edi, %esi
pushq $0x3
popq %rdx
callq 0x658a
jmp 0x7b5c
leal (%rbx,%rbp), %ecx
cmpl $0x1, %ecx
jne 0x7ad9
movq 0x98(%rsp), %r8
movq 0xb0(%rsp), %rcx
movq 0x78(%rsp), %rdx
movq %rdx, (%r8,%rcx,8)
xorl %ecx, %ecx
cmpl 0x1df05(%rip), %eax     # 0x259d4
sete %cl
pushq $0x1
popq %rdi
movl %edi, %esi
jmp 0x7b50
subq $0x8, %rsp
leaq 0xc68(%rsp), %rdi
movl %ebp, %esi
leaq 0xc8(%rsp), %rcx
movl %ebx, %r8d
movl 0x1c(%rsp), %r9d
leaq 0x88(%rsp), %rax
pushq %rax
leaq 0x94(%rsp), %rax
pushq %rax
pushq %r12
callq 0xb886
addq $0x20, %rsp
testl %eax, %eax
je 0x7b5c
movq 0x98(%rsp), %r8
movq 0xb0(%rsp), %rax
movq 0x78(%rsp), %rcx
movq %rcx, (%r8,%rax,8)
movl 0x84(%rsp), %edi
movl 0x80(%rsp), %esi
movl 0x23aabb(%rip), %eax    # 0x242600
xorl %ecx, %ecx
cmpl 0x1de87(%rip), %eax     # 0x259d4
sete %cl
xorl %edx, %edx
movl 0x74(%rsp), %r9d
callq 0x6eed
movq 0x78(%rsp), %rdi
callq 0xbd47
movq 0xb8(%rsp), %rax
incq %rax
movq 0xa0(%rsp), %r10
jmp 0x73fd
leaq 0xc60(%rsp), %rdi
leaq 0x2c(%rsp), %rsi
leaq 0x10(%rsp), %rdx
leaq 0xc0(%rsp), %rcx
leaq 0x28(%rsp), %r8
leaq 0xc(%rsp), %r9
callq 0xd354
movl 0x2c(%rsp), %ebp
movl 0x28(%rsp), %ebx
movl 0x10(%rsp), %ecx
movl 0xc(%rsp), %eax
movl %eax, 0x14(%rsp)
jmp 0x782d
leaq 0x1e019(%rip), %r12     # 0x25be0
jmp 0x783c
leaq 0x1e00d(%rip), %r12     # 0x25be0
movl 0x18(%rsp), %esi
jmp 0x783c
movl 0x14(%rsp), %edx
movl %edx, %eax
shll $0xa, %eax
movl 0x48(%rsp), %ecx
addl %ecx, %eax
cmpl 0x38(%rsp), %eax
leaq 0x1dfea(%rip), %r12     # 0x25be0
jg 0x7c12
jne 0x7c07
movslq %esi, %rax
incl %esi
movq %r14, 0xc60(%rsp,%rax,8)
shll $0xa, %ecx
addl %ecx, %edx
cmpl 0x38(%rsp), %edx
jle 0x7c32
andl $0x0, 0xc(%rsp)
andl $0x0, 0x10(%rsp)
movl $0x0, 0x14(%rsp)
xorl %ecx, %ecx
leaq 0x23a9e3(%rip), %r13    # 0x242610
jmp 0x7a5a
jne 0x783c
movslq %ebx, %rax
incl %ebx
movq %r14, 0xc0(%rsp,%rax,8)
jmp 0x783c
xorl %eax, %eax
testl %r10d, %r10d
cmovlel %eax, %r10d
xorl %eax, %eax
movq %r10, 0xa0(%rsp)
cmpq %r10, %rax
je 0x81ad
movq %rbx, 0x58(%rsp)
movq %rax, 0x68(%rsp)
movq 0x27a0(%rsp,%rax,8), %rdi
callq 0xd6b6
movq %rax, 0x78(%rsp)
movl 0x23a978(%rip), %ecx    # 0x242600
testl %ecx, %ecx
movl $0x0, %eax
cmovlel %eax, %ecx
movq %rcx, 0x50(%rsp)
xorl %ebx, %ebx
cmpq 0x50(%rsp), %rbx
je 0x7d13
cmpl $0x3, (%r12,%rbx,4)
jne 0x7ce4
leaq 0x1dd32(%rip), %rax     # 0x259e0
movq (%rax,%rbx,8), %r14
movq %r14, %r15
movq %r15, %rdi
movq 0x18(%r15), %r15
movslq 0x4(%r15), %rax
cmpl $0x4, (%r12,%rax,4)
jl 0x7cdf
movq 0x10(%rdi), %rax
movslq 0x4(%rax), %rax
cmpl $0x4, (%r12,%rax,4)
jl 0x7cdf
callq 0xd900
testl %eax, %eax
jne 0x7ce9
cmpq %r14, %r15
jne 0x7cb5
incq %rbx
jmp 0x7c99
movq 0x58(%rsp), %rax
movl %eax, %r14d
movq 0x78(%rsp), %rdi
callq 0xd807
movq 0x68(%rsp), %rax
incq %rax
movl %r14d, %ebx
movq 0xa0(%rsp), %r10
jmp 0x7c5d
movl 0x1c363(%rip), %eax     # 0x2407c
leal 0x2(%rax), %r11d
movl %r11d, 0x1c358(%rip)    # 0x2407c
cmpl $0x752f, %eax           # imm = 0x752F
leaq 0xc0(%rsp), %rbx
jl 0x7d57
movl $0x2, 0x1c33f(%rip)     # 0x2407c
pushq $0x30
popq %rax
cmpq $0x46630, %rax          # imm = 0x46630
je 0x7d53
andl $0x0, (%rax,%r13)
addq $0x40, %rax
jmp 0x7d40
pushq $0x2
popq %r11
movq 0x78(%rsp), %rcx
addq $0x18, %rcx
xorl %r14d, %r14d
pushq $0x4
popq %rax
movl %r11d, 0x40(%rsp)
subl $0x1, %eax
jb 0x7ed0
movq (%rcx), %rcx
movslq (%rcx), %rdx
movl (%r12,%rdx,4), %esi
cmpl %r14d, %esi
jle 0x7dd3
movq 0x10(%rcx), %rdx
movq 0x18(%rcx), %rdi
movslq 0x4(%rdi), %rdi
movl (%r12,%rdi,4), %r8d
movl %r8d, %r15d
shll $0xa, %r15d
movslq 0x4(%rdx), %rdi
movl (%r12,%rdi,4), %edi
addl %edi, %r15d
movq %rcx, 0xc60(%rsp)
shll $0xa, %edi
addl %r8d, %edi
cmpl %r15d, %edi
jle 0x7e3c
movl $0x0, 0x48(%rsp)
movq %rbx, %r8
pushq $0x1
popq %r9
movl %edi, %r15d
jmp 0x7e8c
jne 0x7e5a
movq 0x10(%rcx), %rdx
movq 0x18(%rcx), %rsi
movslq 0x4(%rsi), %rsi
movl (%r12,%rsi,4), %esi
movl %esi, %edi
shll $0xa, %edi
movslq 0x4(%rdx), %r8
movl (%r12,%r8,4), %r8d
addl %r8d, %edi
xorl %r9d, %r9d
leaq 0xc60(%rsp), %r10
pushq $0x1
popq %r11
cmpl %r15d, %edi
jg 0x7e2d
jne 0x7e63
movl 0x48(%rsp), %r11d
movslq %r11d, %rdi
incl %r11d
leaq (%rsp,%rdi,8), %r10
addq $0xc60, %r10            # imm = 0xC60
movl 0x18(%rsp), %r9d
movl %r15d, %edi
movq %rcx, (%r10)
movl %r9d, 0x18(%rsp)
movl %r11d, 0x48(%rsp)
jmp 0x7e66
movl $0x0, 0x18(%rsp)
movq %rbx, %r8
pushq $0x1
popq %r10
movl %r10d, %r9d
movl %r10d, 0x48(%rsp)
cmpl %r15d, %edi
je 0x7e8c
jmp 0x7e94
movq 0x10(%rcx), %rdx
movl %r14d, %esi
jmp 0x7e94
movl %r15d, %edi
shll $0xa, %r8d
movl %r8d, %r15d
addl %esi, %r15d
cmpl %edi, %r15d
movl 0x40(%rsp), %r11d
jle 0x7ea8
movl $0x0, 0x48(%rsp)
movq %rbx, %r8
pushq $0x1
popq %r9
movl %r14d, %esi
movq %rcx, (%r8)
movl %r9d, 0x18(%rsp)
movl %r11d, 0x30(%rcx)
movq 0x20(%rdx), %rcx
addq $0x10, %rcx
movl %esi, %r14d
jmp 0x7d6b
jne 0x7ec8
movl 0x18(%rsp), %r9d
movslq %r9d, %rsi
incl %r9d
leaq (%rsp,%rsi,8), %r8
addq $0xc0, %r8
movl %r14d, %esi
jmp 0x7dcb
movl %r14d, %esi
movl %edi, %r15d
jmp 0x7e94
movq %rbp, 0x20(%rsp)
movl 0x48(%rsp), %eax
movl %eax, 0x10(%rsp)
movl 0x18(%rsp), %ecx
movl %ecx, 0xc(%rsp)
xorl %edx, %edx
movl %ecx, 0x14(%rsp)
movl %eax, 0x30(%rsp)
cmpq 0x50(%rsp), %rdx
je 0x814a
cmpl %r14d, (%r12,%rdx,4)
movq 0x20(%rsp), %rbp
movq %rdx, 0x60(%rsp)
jle 0x7f4c
leaq 0x1dacf(%rip), %rax     # 0x259e0
movq (%rax,%rdx,8), %rbx
movq %rbx, %r12
cmpl %r11d, 0x30(%r12)
je 0x7f36
movq 0x10(%r12), %rdi
callq 0xd97c
movl 0x40(%rsp), %r11d
testl %eax, %eax
jne 0x807d
movq 0x18(%r12), %r12
cmpq %rbx, %r12
jne 0x7f18
leaq 0x1dc99(%rip), %r12     # 0x25be0
jmp 0x8068
jne 0x8068
leaq 0x1da87(%rip), %rax     # 0x259e0
movq 0x60(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
movq %rsi, %rbx
movq %rsi, 0x38(%rsp)
movq %rbx, %rbp
movq 0x18(%rbx), %rbx
cmpl %r11d, 0x30(%rbp)
je 0x805f
movslq 0x4(%rbx), %rax
movl (%r12,%rax,4), %eax
movq %r12, %rdx
movl %eax, %r12d
shll $0xa, %r12d
movq 0x10(%rbp), %rdi
movslq 0x4(%rdi), %rcx
movl (%rdx,%rcx,4), %r13d
addl %r13d, %r12d
cmpl %r15d, %r12d
jg 0x7fca
shll $0xa, %r13d
addl %eax, %r13d
cmpl %r15d, %r13d
jg 0x7fca
cmpl %r15d, %r12d
je 0x7ff0
cmpl %r15d, %r13d
je 0x7ff0
leaq 0x23a652(%rip), %r13    # 0x242610
leaq 0x1dc1b(%rip), %r12     # 0x25be0
jmp 0x805f
callq 0xd97c
movq 0x38(%rsp), %rsi
movl 0x40(%rsp), %r11d
testl %eax, %eax
leaq 0x23a62e(%rip), %r13    # 0x242610
leaq 0x1dbf7(%rip), %r12     # 0x25be0
je 0x805f
jmp 0x809d
callq 0xd97c
testl %eax, %eax
je 0x8047
cmpl %r15d, %r12d
movl 0x40(%rsp), %r11d
movq 0x38(%rsp), %rsi
jne 0x801d
movl 0x30(%rsp), %ecx
movslq %ecx, %rax
incl %ecx
movl %ecx, 0x30(%rsp)
movq %rbp, 0xc60(%rsp,%rax,8)
cmpl %r15d, %r13d
leaq 0x1dbb9(%rip), %r12     # 0x25be0
jne 0x803e
movl 0x14(%rsp), %ecx
movslq %ecx, %rax
incl %ecx
movl %ecx, 0x14(%rsp)
movq %rbp, 0xc0(%rsp,%rax,8)
leaq 0x23a5cb(%rip), %r13    # 0x242610
jmp 0x805f
leaq 0x23a5c2(%rip), %r13    # 0x242610
leaq 0x1db8b(%rip), %r12     # 0x25be0
movl 0x40(%rsp), %r11d
movq 0x38(%rsp), %rsi
cmpq %rsi, %rbx
jne 0x7f6a
movq 0x60(%rsp), %rdx
incq %rdx
leaq 0xc0(%rsp), %rbx
jmp 0x7eef
andl $0x0, 0xc(%rsp)
andl $0x0, 0x10(%rsp)
xorl %r9d, %r9d
xorl %edx, %edx
movq 0x58(%rsp), %rax
movl %eax, %r14d
leaq 0x1db45(%rip), %r12     # 0x25be0
jmp 0x80bb
andl $0x0, 0xc(%rsp)
andl $0x0, 0x10(%rsp)
xorl %r9d, %r9d
xorl %edx, %edx
movq 0x58(%rsp), %rax
movl %eax, %r14d
movq 0x20(%rsp), %rax
movl %eax, %ebp
leaq 0xc0(%rsp), %rbx
movl %r9d, %eax
addl %edx, %eax
jle 0x7cf1
subq $0x8, %rsp
leaq 0xc68(%rsp), %rdi
movl %ebp, %esi
movq %rbx, %rcx
movl %r14d, %r8d
leaq 0x88(%rsp), %rax
pushq %rax
leaq 0x94(%rsp), %rax
pushq %rax
pushq %r12
callq 0xb886
addq $0x20, %rsp
testl %eax, %eax
je 0x7cf1
movl 0x84(%rsp), %edi
movl 0x80(%rsp), %esi
movl 0x23a4e5(%rip), %eax    # 0x242600
movl 0x1d8b3(%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 0x1800(%rsp), %r8
xorl %r9d, %r9d
callq 0x6eed
jmp 0x7cf1
movl 0x30(%rsp), %ebp
movl %ebp, 0x2c(%rsp)
movl 0x14(%rsp), %r14d
movl %r14d, 0x28(%rsp)
movl 0x48(%rsp), %edx
cmpl %edx, %ebp
movl 0x18(%rsp), %r9d
jg 0x8172
cmpl %r9d, %r14d
jle 0x80c3
leaq 0xc60(%rsp), %rdi
leaq 0x2c(%rsp), %rsi
leaq 0x10(%rsp), %rdx
movq %rbx, %rcx
leaq 0x28(%rsp), %r8
leaq 0xc(%rsp), %r9
callq 0xd354
movl 0x2c(%rsp), %ebp
movl 0x28(%rsp), %r14d
movl 0x10(%rsp), %edx
movl 0xc(%rsp), %r9d
jmp 0x80c3
cmpl $0x0, 0xac(%rsp)
je 0x81e6
movl 0x23a443(%rip), %eax    # 0x242600
xorl %ecx, %ecx
testl %eax, %eax
cmovlel %ecx, %eax
shlq $0x3, %rax
leaq 0x1d811(%rip), %rsi     # 0x259e0
cmpq %rcx, %rax
je 0x81e6
movq 0x1a00(%rsp,%rcx), %rdx
movq %rdx, (%rcx,%rsi)
addq $0x8, %rcx
jmp 0x81cf
addq $0x3348, %rsp           # imm = 0x3348
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl 0x1be7e(%rip), %ecx     # 0x2407c
leal 0x2(%rcx), %eax
movl %eax, 0x1be75(%rip)     # 0x2407c
cmpl $0x752f, %ecx           # imm = 0x752F
movq 0x38(%rsp), %r13
jl 0x823e
movl $0x2, 0x1be5e(%rip)     # 0x2407c
pushq $0x30
popq %rcx
pushq $0x2
popq %rax
leaq 0x23a3e5(%rip), %rdx    # 0x242610
cmpq $0x46630, %rcx          # imm = 0x46630
je 0x823e
andl $0x0, (%rcx,%rdx)
addq $0x40, %rcx
jmp 0x822b
xorl %ecx, %ecx
xorl %r10d, %r10d
cmpq 0x40(%rsp), %rcx
je 0x7332
leaq 0x1d78b(%rip), %rdx     # 0x259e0
movq (%rdx,%rcx,8), %rdx
movq %rdx, %rsi
cmpl %eax, 0x30(%rsi)
je 0x8293
movslq %r10d, %rdi
incl %r10d
movq %rsi, 0x27a0(%rsp,%rdi,8)
movl %eax, 0x30(%rsi)
movq 0x20(%rsi), %rdi
movq 0x10(%rdi), %rdi
movl %eax, 0x30(%rdi)
movq 0x20(%rdi), %rdi
movq 0x10(%rdi), %rdi
movl %eax, 0x30(%rdi)
movq 0x20(%rdi), %rdi
movq 0x10(%rdi), %rdi
movl %eax, 0x30(%rdi)
movq 0x18(%rsi), %rsi
cmpq %rdx, %rsi
jne 0x825c
incq %rcx
jmp 0x8243
pushq $0x2
popq %rax
xorl %ecx, %ecx
xorl %r10d, %r10d
cmpq 0x20(%rsp), %rcx
je 0x732d
leaq 0x1d725(%rip), %rdx     # 0x259e0
movq (%rdx,%rcx,8), %rdx
movq %rdx, %rsi
cmpl %eax, 0x30(%rsi)
je 0x8320
movslq %r10d, %rdi
movq %rsi, 0x27a0(%rsp,%rdi,8)
movq %rsi, %rdi
movslq 0x34(%rdi), %r8
leaq (,%r8,8), %r8
addq %r13, %r8
cmpq %rbp, %r8
jae 0x830b
movq (%r8), %r9
movl %eax, 0x30(%r9)
addq $0xba0, %r8             # imm = 0xBA0
jmp 0x82e4
movq (%r8), %r9
movq 0x20(%r9), %r9
movl %eax, 0x30(%r9)
addq $0xba0, %r8             # imm = 0xBA0
cmpq %r12, %r8
jb 0x82f9
movq 0x20(%rdi), %rdi
movq 0x10(%rdi), %rdi
cmpq %rsi, %rdi
jne 0x82d5
incl %r10d
movq 0x18(%rsi), %rsi
cmpq %rdx, %rsi
jne 0x82c2
incq %rcx
jmp 0x82a9