// File: /workspace/github_c_makefile_star2_O0/mishun[P]plantri/plantri.c
// Function: find_extensions_min5
static void
find_extensions_min5(int nbtot, int nbop, EDGE *extA1[], EDGE *extA2[],
   int *nextA, EDGE *extB[], int extBmirror[], int *nextB,
   EDGE *extC[], int *nextC, EDGE *lastA)

/* Determine the inequivalent places to make extensions, for the
   ordinary triangulations of minimum degree 5.  The results are
   put in the arrays extD1[0..*nextD-1], etc..
   nbtot and nbop are the usual group parameters.
   If lastA != NULL, this graph was made with an A-operation and lastA
   is its central edge.  If lastA == NULL, it wasn't made with A.
*/
{
    register int i,k;
    register EDGE *e,*e1,*e2,*elast,*elast1,*elast2;
    EDGE **nb,**nb0,**nblim,**nboplim,**nb1,**nb2;
    int v1,v2,d1,d2,xd1,xd2,oldcola,oldcolb,alpha,cola,colb;


    RESETMARKS_V;
    if (lastA)
    {
        v1 = lastA->start;
	v2 = lastA->end;
	d1 = degree[v1];
	d2 = degree[v2];
        MARK_V(v1);
        MARK_V(v2);
        MARK_V(lastA->prev->end);
        MARK_V(lastA->next->end);
    }

    if (nbtot == 1)
    {
      /* A-extensions, trivial group */

	k = 0;
	for (i = 0; i < nv; ++i)
	if (degree[i] >= 6)
	{
	    cola = degree[i] + 4;

	    if (ISMARKED_V(i) || !lastA || cola >= d1+d2+2)
	    {
	        e1 = elast1 = firstedge[i];
                do
                {
		    e2 = e1->next->next->next;
		    elast2 = e1->prev->prev;
		    do
		    {
		        if (e2 > e1)
		        {
			    extA1[k] = e1;
			    extA2[k] = e2;
			    ++k;
		        }
		        e2 = e2->next;
		    } while (e2 != elast2);
		    e1 = e1->next;
	        } while (e1 != elast1);
	    }
	    else if (cola < d1+d2)
		continue;
	    else
            {
                e1 = elast1 = firstedge[i];
                do
                {
                    e2 = e1->next->next->next;
                    elast2 = e1->prev->prev;
                    alpha = 2;
                    do
                    {
                        if (e2 > e1)
                        {
			    if (e1->end == v1 || e2->end == v1) xd1 = d1+1;
			    else                                xd1 = d1;
			    if (e1->end == v2 || e2->end == v2) xd2 = d2+1;
			    else                                xd2 = d2;

			    oldcola = xd1 + xd2;
			    if (cola > oldcola)
			    {
                                extA1[k] = e1;
                                extA2[k] = e2;
                                ++k;
			    }
			    else if (cola == oldcola)
			    {
			        oldcolb = MIN(xd1,xd2);
				colb = 3 + MIN(alpha,degree[i]-alpha-2);
			   	if (colb >= oldcolb)
			        {
                                    extA1[k] = e1;
                                    extA2[k] = e2;
                                    ++k;
			        }
			    }
                        }
                        ++alpha;
                        e2 = e2->next;
                    } while (e2 != elast2);
                    e1 = e1->next;
                } while (e1 != elast1);
            }
	}

	*nextA = k;

      /* B-extensions, trivial group */

	if (lastA || nv >= maxnv-1)
	    *nextB = 0;
	else
	{
            k = 0;

	    for (i = 0; i < nv; ++i)
	    if (degree[i] == 5)
	    {
		e = elast = firstedge[i];
		do
		{
		    if (degree[e->end] == 5 && e == e->min)
		    {
			extB[k] = extB[k+1] = e;
			extBmirror[k] = FALSE;
			extBmirror[k+1] = TRUE;
			k += 2;
		    }
		    e = e->next;
		} while (e != elast);
	    }
	    *nextB = k;
	}

      /* C-extensions, trivial group */

	if (nv >= maxnv-4)
	    *nextC = 0;
	else
	{
	    k = 0;
	    for (i = 0; i < nv; ++i)
		if (degree[i] == 5) extC[k++] = firstedge[i];
	    *nextC = k;
	}
    }
    else    
    {
        nb0 = (EDGE**)numbering[0];
        nboplim = (EDGE**)numbering[nbop==0?nbtot:nbop];
        nblim = (EDGE**)numbering[nbtot];

	for (i = 0; i < ne; ++i) nb0[i]->index = i;

      /* A-extensions, non-trivial group */
    
	k = 0;

	for (i = 0; i < nv; ++i)
	if (degree[i] >= 6)
	{
            if (!ISMARKED_V(i) && lastA && degree[i]+4 < d1+d2) continue;

	    e1 = elast1 = firstedge[i];
            do
            {
		e2 = e1->next->next->next;
		elast2 = e1->prev->prev;
		do
		{
		    if (e1 < e2)
		    {
			nb1 = &nb0[e1->index + MAXE];
			nb2 = &nb0[e2->index + MAXE];
			for ( ; nb1 < nblim; nb1 += MAXE, nb2 += MAXE)
			    if (*nb1 < *nb2)
			    {
				if (*nb1 < e1 || (*nb1 == e1 && *nb2 < e2))
				    break;	
			    }
			    else
			    {
				if (*nb2 < e1 || (*nb2 == e1 && *nb1 < e2))
				    break;	
			    }

			if (nb1 >= nblim)
			{
			    extA1[k] = e1;
			    extA2[k] = e2;
			    ++k;
			}
		    }
		    e2 = e2->next;
		} while (e2 != elast2);
		e1 = e1->next;
	    } while (e1 != elast1);
	}

	*nextA = k;

      /* B-extensions, non-trivial group */

        if (lastA || nv >= maxnv-1)
            *nextB = 0;
        else
        {
            k = 0;
            RESETMARKS;

	    for (i = 0; i < ne; ++i)
		if (!ISMARKEDLO(nb0[i]) && degree[nb0[i]->start] == 5
					 && degree[nb0[i]->end] == 5)
		{
		    extB[k] = nb0[i]->min;
		    if (nb0[i] == nb0[i]->min)
		    {
			extBmirror[k] = TRUE;

		        for (nb = &nb0[i]; nb < nboplim; nb += MAXE)
			    MARKLO((*nb)->min);
		        for ( ; nb < nblim; nb += MAXE)
			    MARKLO((*nb)->min->invers);
		    }
		    else
                    {
                        extBmirror[k] = FALSE;

                        for (nb = &nb0[i]; nb < nboplim; nb += MAXE)
                            MARKLO((*nb)->min->invers);
                        for ( ; nb < nblim; nb += MAXE)
                            MARKLO((*nb)->min);
                    }
		    ++k;
		}

	    *nextB = k;
	}

      /* C-extensions, non-trivial group */

        if (nv >= maxnv-4)
            *nextC = 0;
        else
        {
            k = 0;

	    RESETMARKS_V;
	    for (i = 0; i < nv; ++i)
	        if (!ISMARKED_V(i) && degree[i] == 5)
		{
		    extC[k++] = firstedge[i];
		    for (nb = nb0+firstedge[i]->index; nb < nblim; nb += MAXE)
			MARK_V((*nb)->start);
		}
	    *nextC = k;
	}		
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x58, %rsp
movq 0x30(%rbp), %rax
movq 0x28(%rbp), %rax
movq 0x20(%rbp), %rax
movq 0x18(%rbp), %rax
movq 0x10(%rbp), %rax
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movq %r8, -0x20(%rbp)
movq %r9, -0x28(%rbp)
movl 0x1f698(%rip), %eax     # 0x3c090
addl $0x1, %eax
movl %eax, 0x1f68f(%rip)     # 0x3c090
cmpl $0x7530, %eax           # imm = 0x7530
jle 0x1ca4d
movl $0x1, 0x1f67e(%rip)     # 0x3c090
movl $0x0, -0xc0(%rbp)
cmpl $0x40, -0xc0(%rbp)
jge 0x1ca4b
movslq -0xc0(%rbp), %rcx
leaq 0x28420d(%rip), %rax    # 0x2a0c40
movl $0x0, (%rax,%rcx,4)
movl -0xc0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc0(%rbp)
jmp 0x1ca1c
jmp 0x1ca4d
cmpq $0x0, 0x30(%rbp)
je 0x1cb05
movq 0x30(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x94(%rbp)
movq 0x30(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, -0x98(%rbp)
movslq -0x94(%rbp), %rcx
leaq 0x21181(%rip), %rax     # 0x3dc00
movl (%rax,%rcx,4), %eax
movl %eax, -0x9c(%rbp)
movslq -0x98(%rbp), %rcx
leaq 0x2116a(%rip), %rax     # 0x3dc00
movl (%rax,%rcx,4), %eax
movl %eax, -0xa0(%rbp)
movl 0x1f5eb(%rip), %edx     # 0x3c090
movslq -0x94(%rbp), %rcx
leaq 0x28418d(%rip), %rax    # 0x2a0c40
movl %edx, (%rax,%rcx,4)
movl 0x1f5d4(%rip), %edx     # 0x3c090
movslq -0x98(%rbp), %rcx
leaq 0x284176(%rip), %rax    # 0x2a0c40
movl %edx, (%rax,%rcx,4)
movl 0x1f5bd(%rip), %edx     # 0x3c090
movq 0x30(%rbp), %rax
movq 0x10(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0x28415a(%rip), %rax    # 0x2a0c40
movl %edx, (%rax,%rcx,4)
movl 0x1f5a1(%rip), %edx     # 0x3c090
movq 0x30(%rbp), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0x28413e(%rip), %rax    # 0x2a0c40
movl %edx, (%rax,%rcx,4)
cmpl $0x1, -0x4(%rbp)
jne 0x1d047
movl $0x0, -0x30(%rbp)
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x23dafa(%rip), %eax    # 0x25a620
jge 0x1ce9e
movslq -0x2c(%rbp), %rcx
leaq 0x210c9(%rip), %rax     # 0x3dc00
cmpl $0x6, (%rax,%rcx,4)
jl 0x1ce8e
movslq -0x2c(%rbp), %rcx
leaq 0x210b4(%rip), %rax     # 0x3dc00
movl (%rax,%rcx,4), %eax
addl $0x4, %eax
movl %eax, -0xb8(%rbp)
movslq -0x2c(%rbp), %rcx
leaq 0x2840dd(%rip), %rax    # 0x2a0c40
movl (%rax,%rcx,4), %eax
cmpl 0x1f524(%rip), %eax     # 0x3c090
je 0x1cb92
cmpq $0x0, 0x30(%rbp)
je 0x1cb92
movl -0xb8(%rbp), %eax
movl -0x9c(%rbp), %ecx
addl -0xa0(%rbp), %ecx
addl $0x2, %ecx
cmpl %ecx, %eax
jl 0x1cc35
movslq -0x2c(%rbp), %rcx
leaq 0x20e63(%rip), %rax     # 0x3da00
movq (%rax,%rcx,8), %rax
movq %rax, -0x58(%rbp)
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x60(%rbp)
movq -0x48(%rbp), %rax
cmpq -0x40(%rbp), %rax
jbe 0x1cc00
movq -0x40(%rbp), %rdx
movq -0x10(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x48(%rbp), %rdx
movq -0x18(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
cmpq -0x60(%rbp), %rax
jne 0x1cbcd
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
cmpq -0x58(%rbp), %rax
jne 0x1cba9
jmp 0x1ce8c
movl -0xb8(%rbp), %eax
movl -0x9c(%rbp), %ecx
addl -0xa0(%rbp), %ecx
cmpl %ecx, %eax
jge 0x1cc50
jmp 0x1ce90
movslq -0x2c(%rbp), %rcx
leaq 0x20da5(%rip), %rax     # 0x3da00
movq (%rax,%rcx,8), %rax
movq %rax, -0x58(%rbp)
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x60(%rbp)
movl $0x2, -0xb4(%rbp)
movq -0x48(%rbp), %rax
cmpq -0x40(%rbp), %rax
jbe 0x1ce45
movq -0x40(%rbp), %rax
movl 0x4(%rax), %eax
cmpl -0x94(%rbp), %eax
je 0x1ccc1
movq -0x48(%rbp), %rax
movl 0x4(%rax), %eax
cmpl -0x94(%rbp), %eax
jne 0x1ccd2
movl -0x9c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa4(%rbp)
jmp 0x1ccde
movl -0x9c(%rbp), %eax
movl %eax, -0xa4(%rbp)
movq -0x40(%rbp), %rax
movl 0x4(%rax), %eax
cmpl -0x98(%rbp), %eax
je 0x1ccfc
movq -0x48(%rbp), %rax
movl 0x4(%rax), %eax
cmpl -0x98(%rbp), %eax
jne 0x1cd0d
movl -0xa0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa8(%rbp)
jmp 0x1cd19
movl -0xa0(%rbp), %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %eax
addl -0xa8(%rbp), %eax
movl %eax, -0xac(%rbp)
movl -0xb8(%rbp), %eax
cmpl -0xac(%rbp), %eax
jle 0x1cd67
movq -0x40(%rbp), %rdx
movq -0x10(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x48(%rbp), %rdx
movq -0x18(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x1ce43
movl -0xb8(%rbp), %eax
cmpl -0xac(%rbp), %eax
jne 0x1ce41
movl -0xa4(%rbp), %eax
cmpl -0xa8(%rbp), %eax
jle 0x1cd95
movl -0xa8(%rbp), %eax
movl %eax, -0xcc(%rbp)
jmp 0x1cda1
movl -0xa4(%rbp), %eax
movl %eax, -0xcc(%rbp)
movl -0xcc(%rbp), %eax
movl %eax, -0xb0(%rbp)
movl -0xb4(%rbp), %eax
movslq -0x2c(%rbp), %rdx
leaq 0x20e42(%rip), %rcx     # 0x3dc00
movl (%rcx,%rdx,4), %ecx
subl -0xb4(%rbp), %ecx
subl $0x2, %ecx
cmpl %ecx, %eax
jle 0x1cded
movslq -0x2c(%rbp), %rcx
leaq 0x20e27(%rip), %rax     # 0x3dc00
movl (%rax,%rcx,4), %eax
subl -0xb4(%rbp), %eax
subl $0x2, %eax
movl %eax, -0xd0(%rbp)
jmp 0x1cdf9
movl -0xb4(%rbp), %eax
movl %eax, -0xd0(%rbp)
movl -0xd0(%rbp), %eax
addl $0x3, %eax
movl %eax, -0xbc(%rbp)
movl -0xbc(%rbp), %eax
cmpl -0xb0(%rbp), %eax
jl 0x1ce3f
movq -0x40(%rbp), %rdx
movq -0x10(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x48(%rbp), %rdx
movq -0x18(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x1ce41
jmp 0x1ce43
jmp 0x1ce45
movl -0xb4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb4(%rbp)
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
cmpq -0x60(%rbp), %rax
jne 0x1cc95
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
cmpq -0x58(%rbp), %rax
jne 0x1cc67
jmp 0x1ce8a
jmp 0x1ce8c
jmp 0x1ce8e
jmp 0x1ce90
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x1cb1d
movl -0x30(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
cmpq $0x0, 0x30(%rbp)
jne 0x1cec1
movl 0x23d76c(%rip), %eax    # 0x25a620
movl 0x1f3c6(%rip), %ecx     # 0x3c280
subl $0x1, %ecx
cmpl %ecx, %eax
jl 0x1ced0
movq 0x18(%rbp), %rax
movl $0x0, (%rax)
jmp 0x1cfbe
movl $0x0, -0x30(%rbp)
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x23d739(%rip), %eax    # 0x25a620
jge 0x1cfb5
movslq -0x2c(%rbp), %rcx
leaq 0x20d08(%rip), %rax     # 0x3dc00
cmpl $0x5, (%rax,%rcx,4)
jne 0x1cfa5
movslq -0x2c(%rbp), %rcx
leaq 0x20af3(%rip), %rax     # 0x3da00
movq (%rax,%rcx,8), %rax
movq %rax, -0x50(%rbp)
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0x20cd8(%rip), %rax     # 0x3dc00
cmpl $0x5, (%rax,%rcx,4)
jne 0x1cf89
movq -0x38(%rbp), %rax
movq -0x38(%rbp), %rcx
cmpq 0x28(%rcx), %rax
jne 0x1cf89
movq -0x38(%rbp), %rdx
movq -0x28(%rbp), %rax
movl -0x30(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x28(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x10(%rbp), %rax
movslq -0x30(%rbp), %rcx
movl $0x0, (%rax,%rcx,4)
movq 0x10(%rbp), %rax
movl -0x30(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movl $0x1, (%rax,%rcx,4)
movl -0x30(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x30(%rbp)
movq -0x38(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
cmpq -0x50(%rbp), %rax
jne 0x1cf19
jmp 0x1cfa5
jmp 0x1cfa7
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x1cede
movl -0x30(%rbp), %ecx
movq 0x18(%rbp), %rax
movl %ecx, (%rax)
movl 0x23d65c(%rip), %eax    # 0x25a620
movl 0x1f2b6(%rip), %ecx     # 0x3c280
subl $0x4, %ecx
cmpl %ecx, %eax
jl 0x1cfdd
movq 0x28(%rbp), %rax
movl $0x0, (%rax)
jmp 0x1d042
movl $0x0, -0x30(%rbp)
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x23d62c(%rip), %eax    # 0x25a620
jge 0x1d039
movslq -0x2c(%rbp), %rcx
leaq 0x20bff(%rip), %rax     # 0x3dc00
cmpl $0x5, (%rax,%rcx,4)
jne 0x1d02c
movslq -0x2c(%rbp), %rcx
leaq 0x209ee(%rip), %rax     # 0x3da00
movq (%rax,%rcx,8), %rdx
movq 0x20(%rbp), %rax
movl -0x30(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x30(%rbp)
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x1d02e
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x1cfeb
movl -0x30(%rbp), %ecx
movq 0x28(%rbp), %rax
movl %ecx, (%rax)
jmp 0x1d6ec
leaq 0x20cb2(%rip), %rax     # 0x3dd00
movq %rax, -0x70(%rbp)
cmpl $0x0, -0x8(%rbp)
jne 0x1d063
movl -0x4(%rbp), %eax
movl %eax, -0xd4(%rbp)
jmp 0x1d06c
movl -0x8(%rbp), %eax
movl %eax, -0xd4(%rbp)
movl -0xd4(%rbp), %eax
movslq %eax, %rcx
leaq 0x20c84(%rip), %rax     # 0x3dd00
imulq $0xba0, %rcx, %rcx      # imm = 0xBA0
addq %rcx, %rax
movq %rax, -0x80(%rbp)
movslq -0x4(%rbp), %rcx
leaq 0x20c6b(%rip), %rax     # 0x3dd00
imulq $0xba0, %rcx, %rcx      # imm = 0xBA0
addq %rcx, %rax
movq %rax, -0x78(%rbp)
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x23d571(%rip), %eax    # 0x25a624
jge 0x1d0d2
movl -0x2c(%rbp), %ecx
movq -0x70(%rbp), %rax
movslq -0x2c(%rbp), %rdx
movq (%rax,%rdx,8), %rax
movl %ecx, 0x34(%rax)
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x1d0aa
movl $0x0, -0x30(%rbp)
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x23d537(%rip), %eax    # 0x25a620
jge 0x1d310
movslq -0x2c(%rbp), %rcx
leaq 0x20b06(%rip), %rax     # 0x3dc00
cmpl $0x6, (%rax,%rcx,4)
jl 0x1d300
movslq -0x2c(%rbp), %rcx
leaq 0x283b31(%rip), %rax    # 0x2a0c40
movl (%rax,%rcx,4), %eax
cmpl 0x1ef78(%rip), %eax     # 0x3c090
je 0x1d147
cmpq $0x0, 0x30(%rbp)
je 0x1d147
movslq -0x2c(%rbp), %rcx
leaq 0x20ad4(%rip), %rax     # 0x3dc00
movl (%rax,%rcx,4), %eax
addl $0x4, %eax
movl -0x9c(%rbp), %ecx
addl -0xa0(%rbp), %ecx
cmpl %ecx, %eax
jge 0x1d147
jmp 0x1d302
movslq -0x2c(%rbp), %rcx
leaq 0x208ae(%rip), %rax     # 0x3da00
movq (%rax,%rcx,8), %rax
movq %rax, -0x58(%rbp)
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x60(%rbp)
movq -0x40(%rbp), %rax
cmpq -0x48(%rbp), %rax
jae 0x1d2ca
movq -0x70(%rbp), %rax
movq -0x40(%rbp), %rcx
movl 0x34(%rcx), %ecx
addl $0x174, %ecx            # imm = 0x174
movslq %ecx, %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x88(%rbp)
movq -0x70(%rbp), %rax
movq -0x48(%rbp), %rcx
movl 0x34(%rcx), %ecx
addl $0x174, %ecx            # imm = 0x174
movslq %ecx, %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x90(%rbp)
movq -0x88(%rbp), %rax
cmpq -0x78(%rbp), %rax
jae 0x1d292
movq -0x88(%rbp), %rax
movq (%rax), %rax
movq -0x90(%rbp), %rcx
cmpq (%rcx), %rax
jae 0x1d22f
movq -0x88(%rbp), %rax
movq (%rax), %rax
cmpq -0x40(%rbp), %rax
jb 0x1d22b
movq -0x88(%rbp), %rax
movq (%rax), %rax
cmpq -0x40(%rbp), %rax
jne 0x1d22d
movq -0x90(%rbp), %rax
movq (%rax), %rax
cmpq -0x48(%rbp), %rax
jae 0x1d22d
jmp 0x1d292
jmp 0x1d263
movq -0x90(%rbp), %rax
movq (%rax), %rax
cmpq -0x40(%rbp), %rax
jb 0x1d25f
movq -0x90(%rbp), %rax
movq (%rax), %rax
cmpq -0x40(%rbp), %rax
jne 0x1d261
movq -0x88(%rbp), %rax
movq (%rax), %rax
cmpq -0x48(%rbp), %rax
jae 0x1d261
jmp 0x1d292
jmp 0x1d263
jmp 0x1d265
movq -0x88(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x88(%rbp)
movq -0x90(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x90(%rbp)
jmp 0x1d1d4
movq -0x88(%rbp), %rax
cmpq -0x78(%rbp), %rax
jb 0x1d2c8
movq -0x40(%rbp), %rdx
movq -0x10(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x48(%rbp), %rdx
movq -0x18(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x1d2ca
movq -0x48(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
cmpq -0x60(%rbp), %rax
jne 0x1d182
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
cmpq -0x58(%rbp), %rax
jne 0x1d15e
jmp 0x1d300
jmp 0x1d302
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x1d0e0
movl -0x30(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
cmpq $0x0, 0x30(%rbp)
jne 0x1d333
movl 0x23d2fa(%rip), %eax    # 0x25a620
movl 0x1ef54(%rip), %ecx     # 0x3c280
subl $0x1, %ecx
cmpl %ecx, %eax
jl 0x1d342
movq 0x18(%rbp), %rax
movl $0x0, (%rax)
jmp 0x1d58f
movl $0x0, -0x30(%rbp)
movl 0x1ed35(%rip), %eax     # 0x3c084
addl $0x2, %eax
movl %eax, 0x1ed2c(%rip)     # 0x3c084
cmpl $0x7530, %eax           # imm = 0x7530
jle 0x1d3ae
movl $0x2, 0x1ed1b(%rip)     # 0x3c084
movl $0x0, -0xc4(%rbp)
cmpl $0x1198, -0xc4(%rbp)    # imm = 0x1198
jge 0x1d3ac
movslq -0xc4(%rbp), %rcx
leaq 0x23d2a3(%rip), %rax    # 0x25a630
shlq $0x6, %rcx
addq %rcx, %rax
movl $0x0, 0x30(%rax)
movl -0xc4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc4(%rbp)
jmp 0x1d373
jmp 0x1d3ae
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x23d266(%rip), %eax    # 0x25a624
jge 0x1d586
movq -0x70(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl 0x30(%rax), %eax
cmpl 0x1ecab(%rip), %eax     # 0x3c084
je 0x1d576
movq -0x70(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq (%rax), %rcx
leaq 0x2080b(%rip), %rax     # 0x3dc00
cmpl $0x5, (%rax,%rcx,4)
jne 0x1d576
movq -0x70(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x4(%rax), %rcx
leaq 0x207ea(%rip), %rax     # 0x3dc00
cmpl $0x5, (%rax,%rcx,4)
jne 0x1d576
movq -0x70(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x28(%rax), %rdx
movq -0x28(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x70(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq -0x70(%rbp), %rcx
movslq -0x2c(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
cmpq 0x28(%rcx), %rax
jne 0x1d4e7
movq 0x10(%rbp), %rax
movslq -0x30(%rbp), %rcx
movl $0x1, (%rax,%rcx,4)
movq -0x70(%rbp), %rax
movslq -0x2c(%rbp), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
cmpq -0x80(%rbp), %rax
jae 0x1d4ae
movl 0x1ebf4(%rip), %ecx     # 0x3c084
movq -0x68(%rbp), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x68(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x68(%rbp)
jmp 0x1d480
jmp 0x1d4b0
movq -0x68(%rbp), %rax
cmpq -0x78(%rbp), %rax
jae 0x1d4e2
movl 0x1ebc4(%rip), %ecx     # 0x3c084
movq -0x68(%rbp), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
movq 0x20(%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x68(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x68(%rbp)
jmp 0x1d4b0
jmp 0x1d56d
movq 0x10(%rbp), %rax
movslq -0x30(%rbp), %rcx
movl $0x0, (%rax,%rcx,4)
movq -0x70(%rbp), %rax
movslq -0x2c(%rbp), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
cmpq -0x80(%rbp), %rax
jae 0x1d53b
movl 0x1eb6b(%rip), %ecx     # 0x3c084
movq -0x68(%rbp), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
movq 0x20(%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x68(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x68(%rbp)
jmp 0x1d509
jmp 0x1d53d
movq -0x68(%rbp), %rax
cmpq -0x78(%rbp), %rax
jae 0x1d56b
movl 0x1eb37(%rip), %ecx     # 0x3c084
movq -0x68(%rbp), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x68(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x68(%rbp)
jmp 0x1d53d
jmp 0x1d56d
movl -0x30(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x1d578
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x1d3b5
movl -0x30(%rbp), %ecx
movq 0x18(%rbp), %rax
movl %ecx, (%rax)
movl 0x23d08b(%rip), %eax    # 0x25a620
movl 0x1ece5(%rip), %ecx     # 0x3c280
subl $0x4, %ecx
cmpl %ecx, %eax
jl 0x1d5b1
movq 0x28(%rbp), %rax
movl $0x0, (%rax)
jmp 0x1d6ea
movl $0x0, -0x30(%rbp)
movl 0x1ead2(%rip), %eax     # 0x3c090
addl $0x1, %eax
movl %eax, 0x1eac9(%rip)     # 0x3c090
cmpl $0x7530, %eax           # imm = 0x7530
jle 0x1d613
movl $0x1, 0x1eab8(%rip)     # 0x3c090
movl $0x0, -0xc8(%rbp)
cmpl $0x40, -0xc8(%rbp)
jge 0x1d611
movslq -0xc8(%rbp), %rcx
leaq 0x283647(%rip), %rax    # 0x2a0c40
movl $0x0, (%rax,%rcx,4)
movl -0xc8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc8(%rbp)
jmp 0x1d5e2
jmp 0x1d613
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x23cffd(%rip), %eax    # 0x25a620
jge 0x1d6e1
movslq -0x2c(%rbp), %rcx
leaq 0x28360c(%rip), %rax    # 0x2a0c40
movl (%rax,%rcx,4), %eax
cmpl 0x1ea53(%rip), %eax     # 0x3c090
je 0x1d6d1
movslq -0x2c(%rbp), %rcx
leaq 0x205b2(%rip), %rax     # 0x3dc00
cmpl $0x5, (%rax,%rcx,4)
jne 0x1d6d1
movslq -0x2c(%rbp), %rcx
leaq 0x203a1(%rip), %rax     # 0x3da00
movq (%rax,%rcx,8), %rdx
movq 0x20(%rbp), %rax
movl -0x30(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x30(%rbp)
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x70(%rbp), %rax
movslq -0x2c(%rbp), %rdx
leaq 0x20378(%rip), %rcx     # 0x3da00
movq (%rcx,%rdx,8), %rcx
movslq 0x34(%rcx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
cmpq -0x78(%rbp), %rax
jae 0x1d6cf
movl 0x1e9e5(%rip), %edx     # 0x3c090
movq -0x68(%rbp), %rax
movq (%rax), %rax
movslq (%rax), %rcx
leaq 0x283584(%rip), %rax    # 0x2a0c40
movl %edx, (%rax,%rcx,4)
movq -0x68(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x68(%rbp)
jmp 0x1d69b
jmp 0x1d6d1
jmp 0x1d6d3
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x1d61a
movl -0x30(%rbp), %ecx
movq 0x28(%rbp), %rax
movl %ecx, (%rax)
jmp 0x1d6ec
addq $0x58, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)