// File: /workspace/github_c_makefile_star2_O0/mishun[P]plantri/plantri.c
// Function: bip_P_legal
static void
bip_P_legal(EDGE *ref, EDGE *good_or[], int *ngood_or, int *ngood_ref,
          EDGE *good_mir[], int *ngood_mir, int *ngood_mir_ref, EDGE *hint)

/* The P-operation with reference edge *ref has just been performed.
   Make a list in good_or[0..*ngood_or-1] of the reference edges of
   legal P-reductions (oriented editions) that might be canonical,
   with the first *ngood_ref of those being ref.
   Make a list in good_mir[0..*ngood_mir-1] of the
   reference edges of legal P-reductions (mirror-image editions) that
   might be canonical, with the first *ngood_mir_ref of those being ref.
   *ngood_ref and *ngood_mir_ref might each be 0 or 1.  If they are
   both 0, nothing else need be correct.
   All the edges in good_or[] and good_mir[] must start with the same
   vertex degree and end with the same vertex degree (actually, colour
   as passed to canon_edge_oriented).
   The "type" used in this procedure needs to match the requirements of
   find_extensions_bip(), so changing it is dangerous.
   If hint!=NULL, it is an edge of the graph that has some chance of
   being a better P-reduction than the one just performed.
*/
{
    int i,j,w,z,ok;
    long degend,deg0,deg1,deg2,deg3,deg4,deg5;
    long thistype,besttype;
    EDGE *e,*e1,*ew,*ewlast;

    degend = degree[ref->end];
    deg0 = degend << 21;
    deg1 = nv-degree[ref->next->next->invers->next->next->end];
    deg2 = degree[ref->next->end];
    deg3 = degree[ref->prev->end];
    deg4 = degree[ref->invers->prev->prev->end];
    deg5 = degree[ref->invers->next->next->end];

    besttype = deg0 + (deg1<<11) + (deg2<<2) + (deg3<<1) + deg4-deg5;
    thistype = deg0 + (deg1<<11) + (deg3<<2) + (deg2<<1) + deg5-deg4;
    if (besttype > thistype)
    {
        good_or[0] = ref;
        *ngood_or = *ngood_ref = 1;
        *ngood_mir = *ngood_mir_ref = 0;
    }
    else if (besttype == thistype)
    {
        good_or[0] = good_mir[0] = ref;
        *ngood_or = *ngood_ref = 1;
        *ngood_mir = *ngood_mir_ref = 1;
    }
    else
    {
        good_mir[0] = ref;
        *ngood_or = *ngood_ref = 0;
        *ngood_mir = *ngood_mir_ref = 1;
        besttype = thistype;
    }

    if (hint)
    {
	e = hint;
	w = e->end;
	e1 = e->next->next;
	if (degree[w] >= degend && degree[e->start] == 4
 	          && degree[e->next->end] != 4 && degree[e->prev->end] != 4
		  && degree[e1->end] == 4 && e != ref)
	{
            z = e1->invers->next->next->end;
	    ok = (degree[z] == 4);
	    if (!ok)
	    {
		ew = e->invers;
		ewlast = ew->prev;
		for (ew = ew->next->next; ew != ewlast; ew = ew->next)
		    if (ew->end == z) break;
		ok = (ew == ewlast);
	    }

	    if (ok)
	    {
		deg0 = ((long)degree[w] << 21) + ((long)(nv-degree[z]) << 11);
                deg2 = degree[e->next->end];
                deg3 = degree[e->prev->end];
                deg4 = degree[e->invers->prev->prev->end];
                deg5 = degree[e->invers->next->next->end];

                thistype = deg0 + (deg2<<2) + (deg3<<1) + deg4-deg5;
                if (thistype > besttype)
                {
                    *ngood_ref = *ngood_mir_ref = 0;
                    return;
                }

                thistype = deg0 + (deg3<<2) + (deg2<<1) + deg5-deg4;
                if (thistype > besttype)
                {
                    *ngood_ref = *ngood_mir_ref = 0;
                    return;
                }
	    }
	}
    }

    for (i = 0; i < nv; ++i)
    if (degree[i] == 4)
    {
	e = firstedge[i];
	j = 0;
	if (degree[e->end] == 4) {e1 = e; ++j;} e=e->next;
	if (degree[e->end] == 4) {e1 = e; ++j;} e=e->next;
	if (degree[e->end] == 4) {e1 = e; ++j;} e=e->next;
	if (degree[e->end] == 4) {e1 = e; ++j;}
	if (j != 1) continue;

	e = e1->next->next;
        
	w = e->end;
        if (degree[w] < degend) continue;
	if (e == ref) continue;
	z = e1->invers->next->next->end;
        
	if (degree[z] != 4)
	{
            ew = e->invers;
            ewlast = ew->prev;
            for (ew = ew->next->next; ew != ewlast; ew = ew->next)
                if (ew->end == z) break;
            if (ew != ewlast) continue;
	}

        deg0 = ((long)degree[w] << 21) + ((long)(nv-degree[z]) << 11);
	deg2 = degree[e->next->end];
	deg3 = degree[e->prev->end];
        deg4 = degree[e->invers->prev->prev->end];
        deg5 = degree[e->invers->next->next->end];

	thistype = deg0 + (deg2<<2) + (deg3<<1) + deg4-deg5;
	if (thistype > besttype)
        {
	    *ngood_ref = *ngood_mir_ref = 0;
	    return;
	}
	else if (thistype == besttype)
	    good_or[(*ngood_or)++] = e;

        thistype = deg0 + (deg3<<2) + (deg2<<1) + deg5-deg4;
        if (thistype > besttype)
        {
            *ngood_ref = *ngood_mir_ref = 0;
            return;
        }
        else if (thistype == besttype)
            good_mir[(*ngood_mir)++] = e;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq 0x18(%rbp), %rax
movq 0x10(%rbp), %rax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x8(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0xaeb9(%rip), %rax      # 0x3dc00
movslq (%rax,%rcx,4), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
shlq $0x15, %rax
movq %rax, -0x58(%rbp)
movl 0x2278bf(%rip), %eax    # 0x25a620
movq -0x8(%rbp), %rcx
movq 0x18(%rcx), %rcx
movq 0x18(%rcx), %rcx
movq 0x20(%rcx), %rcx
movq 0x18(%rcx), %rcx
movq 0x18(%rcx), %rcx
movslq 0x4(%rcx), %rdx
leaq 0xae7c(%rip), %rcx      # 0x3dc00
subl (%rcx,%rdx,4), %eax
cltq
movq %rax, -0x60(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0xae60(%rip), %rax      # 0x3dc00
movslq (%rax,%rcx,4), %rax
movq %rax, -0x68(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0xae45(%rip), %rax      # 0x3dc00
movslq (%rax,%rcx,4), %rax
movq %rax, -0x70(%rbp)
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0xae22(%rip), %rax      # 0x3dc00
movslq (%rax,%rcx,4), %rax
movq %rax, -0x78(%rbp)
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0xadff(%rip), %rax      # 0x3dc00
movslq (%rax,%rcx,4), %rax
movq %rax, -0x80(%rbp)
movq -0x58(%rbp), %rax
movq -0x60(%rbp), %rcx
shlq $0xb, %rcx
addq %rcx, %rax
movq -0x68(%rbp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq -0x70(%rbp), %rcx
shlq %rcx
addq %rcx, %rax
addq -0x78(%rbp), %rax
subq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x58(%rbp), %rax
movq -0x60(%rbp), %rcx
shlq $0xb, %rcx
addq %rcx, %rax
movq -0x70(%rbp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq -0x68(%rbp), %rcx
shlq %rcx
addq %rcx, %rax
addq -0x80(%rbp), %rax
subq -0x78(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x90(%rbp), %rax
cmpq -0x88(%rbp), %rax
jle 0x32eb7
movq -0x8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movq 0x10(%rbp), %rax
movl $0x0, (%rax)
movq -0x30(%rbp), %rax
movl $0x0, (%rax)
jmp 0x32f46
movq -0x90(%rbp), %rax
cmpq -0x88(%rbp), %rax
jne 0x32f03
movq -0x8(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rax
movl $0x1, (%rax)
movq -0x18(%rbp), %rax
movl $0x1, (%rax)
movq 0x10(%rbp), %rax
movl $0x1, (%rax)
movq -0x30(%rbp), %rax
movl $0x1, (%rax)
jmp 0x32f44
movq -0x8(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rax
movl $0x0, (%rax)
movq -0x18(%rbp), %rax
movl $0x0, (%rax)
movq 0x10(%rbp), %rax
movl $0x1, (%rax)
movq -0x30(%rbp), %rax
movl $0x1, (%rax)
movq -0x88(%rbp), %rax
movq %rax, -0x90(%rbp)
jmp 0x32f46
cmpq $0x0, 0x18(%rbp)
je 0x33256
movq 0x18(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, -0x3c(%rbp)
movq -0x98(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0xa0(%rbp)
movslq -0x3c(%rbp), %rcx
leaq 0xac76(%rip), %rax      # 0x3dc00
movslq (%rax,%rcx,4), %rax
cmpq -0x50(%rbp), %rax
jl 0x33254
movq -0x98(%rbp), %rax
movslq (%rax), %rcx
leaq 0xac57(%rip), %rax      # 0x3dc00
cmpl $0x4, (%rax,%rcx,4)
jne 0x33254
movq -0x98(%rbp), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0xac37(%rip), %rax      # 0x3dc00
cmpl $0x4, (%rax,%rcx,4)
je 0x33254
movq -0x98(%rbp), %rax
movq 0x10(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0xac17(%rip), %rax      # 0x3dc00
cmpl $0x4, (%rax,%rcx,4)
je 0x33254
movq -0xa0(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0xabfb(%rip), %rax      # 0x3dc00
cmpl $0x4, (%rax,%rcx,4)
jne 0x33254
movq -0x98(%rbp), %rax
cmpq -0x8(%rbp), %rax
je 0x33254
movq -0xa0(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movl 0x4(%rax), %eax
movl %eax, -0x40(%rbp)
movslq -0x40(%rbp), %rcx
leaq 0xabbc(%rip), %rax      # 0x3dc00
cmpl $0x4, (%rax,%rcx,4)
sete %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x44(%rbp)
cmpl $0x0, -0x44(%rbp)
jne 0x330e7
movq -0x98(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0xb0(%rbp)
movq -0xa8(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
cmpq -0xb0(%rbp), %rax
je 0x330ce
movq -0xa8(%rbp), %rax
movl 0x4(%rax), %eax
cmpl -0x40(%rbp), %eax
jne 0x330b8
jmp 0x330ce
jmp 0x330ba
movq -0xa8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0xa8(%rbp)
jmp 0x33097
movq -0xa8(%rbp), %rax
cmpq -0xb0(%rbp), %rax
sete %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x44(%rbp)
cmpl $0x0, -0x44(%rbp)
je 0x33252
movslq -0x3c(%rbp), %rcx
leaq 0xab04(%rip), %rax      # 0x3dc00
movslq (%rax,%rcx,4), %rax
shlq $0x15, %rax
movl 0x227516(%rip), %ecx    # 0x25a620
movslq -0x40(%rbp), %rsi
leaq 0xaaeb(%rip), %rdx      # 0x3dc00
subl (%rdx,%rsi,4), %ecx
movslq %ecx, %rcx
shlq $0xb, %rcx
addq %rcx, %rax
movq %rax, -0x58(%rbp)
movq -0x98(%rbp), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0xaac4(%rip), %rax      # 0x3dc00
movslq (%rax,%rcx,4), %rax
movq %rax, -0x68(%rbp)
movq -0x98(%rbp), %rax
movq 0x10(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0xaaa6(%rip), %rax      # 0x3dc00
movslq (%rax,%rcx,4), %rax
movq %rax, -0x70(%rbp)
movq -0x98(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0xaa80(%rip), %rax      # 0x3dc00
movslq (%rax,%rcx,4), %rax
movq %rax, -0x78(%rbp)
movq -0x98(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0xaa5a(%rip), %rax      # 0x3dc00
movslq (%rax,%rcx,4), %rax
movq %rax, -0x80(%rbp)
movq -0x58(%rbp), %rax
movq -0x68(%rbp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq -0x70(%rbp), %rcx
shlq %rcx
addq %rcx, %rax
addq -0x78(%rbp), %rax
subq -0x80(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
cmpq -0x90(%rbp), %rax
jle 0x331ff
movq 0x10(%rbp), %rax
movl $0x0, (%rax)
movq -0x20(%rbp), %rax
movl $0x0, (%rax)
jmp 0x33670
movq -0x58(%rbp), %rax
movq -0x70(%rbp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq -0x68(%rbp), %rcx
shlq %rcx
addq %rcx, %rax
addq -0x80(%rbp), %rax
subq -0x78(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
cmpq -0x90(%rbp), %rax
jle 0x33250
movq 0x10(%rbp), %rax
movl $0x0, (%rax)
movq -0x20(%rbp), %rax
movl $0x0, (%rax)
jmp 0x33670
jmp 0x33252
jmp 0x33254
jmp 0x33256
movl $0x0, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl 0x2273ba(%rip), %eax    # 0x25a620
jge 0x33670
movslq -0x34(%rbp), %rcx
leaq 0xa989(%rip), %rax      # 0x3dc00
cmpl $0x4, (%rax,%rcx,4)
jne 0x33660
movslq -0x34(%rbp), %rcx
leaq 0xa774(%rip), %rax      # 0x3da00
movq (%rax,%rcx,8), %rax
movq %rax, -0x98(%rbp)
movl $0x0, -0x38(%rbp)
movq -0x98(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0xa950(%rip), %rax      # 0x3dc00
cmpl $0x4, (%rax,%rcx,4)
jne 0x332cd
movq -0x98(%rbp), %rax
movq %rax, -0xa0(%rbp)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
movq -0x98(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0xa90f(%rip), %rax      # 0x3dc00
cmpl $0x4, (%rax,%rcx,4)
jne 0x3330e
movq -0x98(%rbp), %rax
movq %rax, -0xa0(%rbp)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
movq -0x98(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0xa8ce(%rip), %rax      # 0x3dc00
cmpl $0x4, (%rax,%rcx,4)
jne 0x3334f
movq -0x98(%rbp), %rax
movq %rax, -0xa0(%rbp)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
movq -0x98(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0xa88d(%rip), %rax      # 0x3dc00
cmpl $0x4, (%rax,%rcx,4)
jne 0x33390
movq -0x98(%rbp), %rax
movq %rax, -0xa0(%rbp)
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
cmpl $0x1, -0x38(%rbp)
je 0x3339b
jmp 0x33662
movq -0xa0(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, -0x3c(%rbp)
movslq -0x3c(%rbp), %rcx
leaq 0xa837(%rip), %rax      # 0x3dc00
movslq (%rax,%rcx,4), %rax
cmpq -0x50(%rbp), %rax
jge 0x333d8
jmp 0x33662
movq -0x98(%rbp), %rax
cmpq -0x8(%rbp), %rax
jne 0x333ea
jmp 0x33662
movq -0xa0(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movl 0x4(%rax), %eax
movl %eax, -0x40(%rbp)
movslq -0x40(%rbp), %rcx
leaq 0xa7f2(%rip), %rax      # 0x3dc00
cmpl $0x4, (%rax,%rcx,4)
je 0x334a0
movq -0x98(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0xb0(%rbp)
movq -0xa8(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
cmpq -0xb0(%rbp), %rax
je 0x33489
movq -0xa8(%rbp), %rax
movl 0x4(%rax), %eax
cmpl -0x40(%rbp), %eax
jne 0x33473
jmp 0x33489
jmp 0x33475
movq -0xa8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0xa8(%rbp)
jmp 0x33452
movq -0xa8(%rbp), %rax
cmpq -0xb0(%rbp), %rax
je 0x3349e
jmp 0x33662
jmp 0x334a0
movslq -0x3c(%rbp), %rcx
leaq 0xa755(%rip), %rax      # 0x3dc00
movslq (%rax,%rcx,4), %rax
shlq $0x15, %rax
movl 0x227167(%rip), %ecx    # 0x25a620
movslq -0x40(%rbp), %rsi
leaq 0xa73c(%rip), %rdx      # 0x3dc00
subl (%rdx,%rsi,4), %ecx
movslq %ecx, %rcx
shlq $0xb, %rcx
addq %rcx, %rax
movq %rax, -0x58(%rbp)
movq -0x98(%rbp), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0xa715(%rip), %rax      # 0x3dc00
movslq (%rax,%rcx,4), %rax
movq %rax, -0x68(%rbp)
movq -0x98(%rbp), %rax
movq 0x10(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0xa6f7(%rip), %rax      # 0x3dc00
movslq (%rax,%rcx,4), %rax
movq %rax, -0x70(%rbp)
movq -0x98(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0xa6d1(%rip), %rax      # 0x3dc00
movslq (%rax,%rcx,4), %rax
movq %rax, -0x78(%rbp)
movq -0x98(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0xa6ab(%rip), %rax      # 0x3dc00
movslq (%rax,%rcx,4), %rax
movq %rax, -0x80(%rbp)
movq -0x58(%rbp), %rax
movq -0x68(%rbp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq -0x70(%rbp), %rcx
shlq %rcx
addq %rcx, %rax
addq -0x78(%rbp), %rax
subq -0x80(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
cmpq -0x90(%rbp), %rax
jle 0x335ae
movq 0x10(%rbp), %rax
movl $0x0, (%rax)
movq -0x20(%rbp), %rax
movl $0x0, (%rax)
jmp 0x33670
movq -0x88(%rbp), %rax
cmpq -0x90(%rbp), %rax
jne 0x335dd
movq -0x98(%rbp), %rdx
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rsi
movl (%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, (%rsi)
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x335df
movq -0x58(%rbp), %rax
movq -0x70(%rbp), %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq -0x68(%rbp), %rcx
shlq %rcx
addq %rcx, %rax
addq -0x80(%rbp), %rax
subq -0x78(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
cmpq -0x90(%rbp), %rax
jle 0x3362d
movq 0x10(%rbp), %rax
movl $0x0, (%rax)
movq -0x20(%rbp), %rax
movl $0x0, (%rax)
jmp 0x33670
movq -0x88(%rbp), %rax
cmpq -0x90(%rbp), %rax
jne 0x3365c
movq -0x98(%rbp), %rdx
movq -0x28(%rbp), %rax
movq -0x30(%rbp), %rsi
movl (%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, (%rsi)
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x3365e
jmp 0x33660
jmp 0x33662
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x3325d
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)