// File: /workspace/github_c_makefile_star2_O0/mishun[P]plantri/plantri.c
// Function: find_extensions
static void
find_extensions(int numb_total, int numb_pres,
                EDGE *ext3[], int *numext3, 
                EDGE *ext4[], int *numext4,
                EDGE *ext5[], int *numext5)

/* Find all nonequivalent places for extension.
   These are listed in ext# according to the degree of the future new vertex.  
   The number of cases is returned in next# (#=3,4,5). */
{
    register int i,k;
    int deg3,deg4;
    register EDGE *e,*e1,*e2,*ex;
    EDGE **nb0,**nb1,**nbop,**nblim;

    deg3 = deg4 = 0;
    for (i = 0; i < nv; ++i)
        if      (degree[i] == 3) ++deg3;
        else if (degree[i] == 4) ++deg4;
    
     /* code for trivial group */

    if (numb_total == 1)
    {
        k = 0;
        for (i = 0; i < nv; ++i)
        {
            e = ex = firstedge[i];
            do
            {
                e1 = e->invers->prev;
                if (e1 > e)
                {
                    e1 = e1->invers->prev;
                    if (e1 > e) ext3[k++] = e;
                }
                e = e->next;
            } while (e != ex);
        }
        *numext3 = k;

        if (deg3 <= 2)
        {
            k = 0;
            for (i = 0; i < nv; ++i)
            {
                if (degree[i] == 3) continue;
                e = ex = firstedge[i];
                do
                {
                    e1 = e->next;
                    if (e1->invers > e1)
                    {
                        e2 = e1->invers->prev;
                        if ((degree[e->end] == 3) 
                                + (degree[e2->end] == 3) == deg3)
                            ext4[k++] = e;
                    }
                    e = e->next;
                } while (e != ex);
            }
            *numext4 = k;
        }
        else
            *numext4 = 0;
 
        if (deg3 == 0 && deg4 <= 2)
        {
            k = 0;
            for (i = 0; i < nv; ++i)
            {
                if (degree[i] < 6) continue;
                e = ex = firstedge[i];
                do
                {
                    e1 = e->next->next->next;
                    if ((degree[e->end] == 4)
                             + (degree[e1->end] == 4) == deg4) 
                        ext5[k++] = e;
                    e = e->next; 
                } while (e != ex);
            }
            *numext5 = k;
        }
        else
            *numext5 = 0;
    }

  /* code for nontrivial group */

    else
    {
        nb0 = (EDGE**)numbering[0];
        nbop = (EDGE**)numbering[numb_pres == 0 ? numb_total : numb_pres];
        nblim = (EDGE**)numbering[numb_total];

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

        RESETMARKS;

        k = 0;
        for (i = 0; i < ne; ++i)
        {
            e = nb0[i];
            if (ISMARKEDLO(e)) continue;
            ext3[k++] = e;
        
            for (nb1 = nb0 + i; nb1 < nbop; nb1 += MAXE) MARKLO(*nb1);

            for (; nb1 < nblim; nb1 += MAXE) MARKLO((*nb1)->invers);

            e1 = e->invers->prev;
            for (nb1 = nb0 + e1->index; nb1 < nbop; nb1 += MAXE) MARKLO(*nb1);
    
            for (; nb1 < nblim; nb1 += MAXE) MARKLO((*nb1)->invers);
    
            e1 = e1->invers->prev;
            for (nb1 = nb0 + e1->index; nb1 < nbop; nb1 += MAXE) MARKLO(*nb1);
    
            for (; nb1 < nblim; nb1 += MAXE) MARKLO((*nb1)->invers);
        }
        *numext3 = k;
    
        if (deg3 <= 2)
        {
            RESETMARKS;

            k = 0;
            for (i = 0; i < ne; ++i)
            {
                e = nb0[i];
                if (ISMARKEDLO(e)) continue;
                e1 = e->next->invers->prev;
                if ((degree[e->end] == 3) + (degree[e1->end] == 3) != deg3)
                    continue;
                ext4[k++] = e;

                for (nb1 = nb0 + i; nb1 < nbop; nb1 += MAXE) MARKLO(*nb1);

                for (; nb1 < nblim; nb1 += MAXE) MARKLO((*nb1)->prev->prev);

                for (nb1 = nb0 + e1->index; nb1 < nbop; nb1 += MAXE)
                    MARKLO(*nb1);
 
                for (; nb1 < nblim; nb1 += MAXE) MARKLO((*nb1)->prev->prev);
            }
            *numext4 = k;
        }
        else
            *numext4 = 0;

        if (deg3 == 0 && deg4 <= 2)
        {
            RESETMARKS;

            k = 0;
            for (i = 0; i < ne; ++i)
            {
                e = nb0[i];
                if (ISMARKEDLO(e) || degree[e->start] < 6) continue;

                if ((degree[e->end] == 4) 
                       + (degree[e->next->next->next->end] == 4) != deg4)
                    continue;
                ext5[k++] = e;
 
                for (nb1 = nb0 + i; nb1 < nbop; nb1 += MAXE) MARKLO(*nb1);
 
                for (; nb1 < nblim; nb1 += MAXE) 
                    MARKLO((*nb1)->prev->prev->prev); 
            } 
            *numext5 = k;
        }
        else
            *numext5 = 0;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %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 $0x0, -0x38(%rbp)
movl $0x0, -0x34(%rbp)
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x22e2ff(%rip), %eax    # 0x25a620
jge 0x2c368
movslq -0x2c(%rbp), %rcx
leaq 0x118d2(%rip), %rax     # 0x3dc00
cmpl $0x3, (%rax,%rcx,4)
jne 0x2c33f
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x2c35b
movslq -0x2c(%rbp), %rcx
leaq 0x118b6(%rip), %rax     # 0x3dc00
cmpl $0x4, (%rax,%rcx,4)
jne 0x2c359
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x2c35b
jmp 0x2c35d
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x2c318
cmpl $0x1, -0x4(%rbp)
jne 0x2c64a
movl $0x0, -0x30(%rbp)
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x22e297(%rip), %eax    # 0x25a620
jge 0x2c41c
movslq -0x2c(%rbp), %rcx
leaq 0x11666(%rip), %rax     # 0x3da00
movq (%rax,%rcx,8), %rax
movq %rax, -0x58(%rbp)
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
cmpq -0x40(%rbp), %rax
jbe 0x2c3f6
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
cmpq -0x40(%rbp), %rax
jbe 0x2c3f4
movq -0x40(%rbp), %rdx
movq -0x10(%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 0x2c3f6
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
cmpq -0x58(%rbp), %rax
jne 0x2c3a6
jmp 0x2c40e
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x2c380
movl -0x30(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
cmpl $0x2, -0x34(%rbp)
jg 0x2c532
movl $0x0, -0x30(%rbp)
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x22e1da(%rip), %eax    # 0x25a620
jge 0x2c527
movslq -0x2c(%rbp), %rcx
leaq 0x117a9(%rip), %rax     # 0x3dc00
cmpl $0x3, (%rax,%rcx,4)
jne 0x2c462
jmp 0x2c519
movslq -0x2c(%rbp), %rcx
leaq 0x11593(%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 %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
cmpq -0x48(%rbp), %rax
jbe 0x2c4fd
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x50(%rbp)
movq -0x40(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0x1174e(%rip), %rax     # 0x3dc00
cmpl $0x3, (%rax,%rcx,4)
sete %al
andb $0x1, %al
movzbl %al, %eax
movq -0x50(%rbp), %rcx
movslq 0x4(%rcx), %rdx
leaq 0x11733(%rip), %rcx     # 0x3dc00
cmpl $0x3, (%rcx,%rdx,4)
sete %cl
andb $0x1, %cl
movzbl %cl, %ecx
addl %ecx, %eax
cmpl -0x34(%rbp), %eax
jne 0x2c4fb
movq -0x40(%rbp), %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 0x2c4fd
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
cmpq -0x58(%rbp), %rax
jne 0x2c479
jmp 0x2c519
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x2c43d
movl -0x30(%rbp), %ecx
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
jmp 0x2c53c
movq -0x28(%rbp), %rax
movl $0x0, (%rax)
cmpl $0x0, -0x34(%rbp)
jne 0x2c63b
cmpl $0x2, -0x38(%rbp)
jg 0x2c63b
movl $0x0, -0x30(%rbp)
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x22e0b9(%rip), %eax    # 0x25a620
jge 0x2c630
movslq -0x2c(%rbp), %rcx
leaq 0x11688(%rip), %rax     # 0x3dc00
cmpl $0x6, (%rax,%rcx,4)
jge 0x2c583
jmp 0x2c622
movslq -0x2c(%rbp), %rcx
leaq 0x11472(%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
movslq 0x4(%rax), %rcx
leaq 0x11643(%rip), %rax     # 0x3dc00
cmpl $0x4, (%rax,%rcx,4)
sete %al
andb $0x1, %al
movzbl %al, %eax
movq -0x48(%rbp), %rcx
movslq 0x4(%rcx), %rdx
leaq 0x11628(%rip), %rcx     # 0x3dc00
cmpl $0x4, (%rcx,%rdx,4)
sete %cl
andb $0x1, %cl
movzbl %cl, %ecx
addl %ecx, %eax
cmpl -0x38(%rbp), %eax
jne 0x2c606
movq -0x40(%rbp), %rdx
movq 0x10(%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 -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
cmpq -0x58(%rbp), %rax
jne 0x2c59a
jmp 0x2c622
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x2c55e
movl -0x30(%rbp), %ecx
movq 0x18(%rbp), %rax
movl %ecx, (%rax)
jmp 0x2c645
movq 0x18(%rbp), %rax
movl $0x0, (%rax)
jmp 0x2ccfe
leaq 0x116af(%rip), %rax     # 0x3dd00
movq %rax, -0x60(%rbp)
cmpl $0x0, -0x8(%rbp)
jne 0x2c666
movl -0x4(%rbp), %eax
movl %eax, -0x88(%rbp)
jmp 0x2c66f
movl -0x8(%rbp), %eax
movl %eax, -0x88(%rbp)
movl -0x88(%rbp), %eax
movslq %eax, %rcx
leaq 0x11681(%rip), %rax     # 0x3dd00
imulq $0xba0, %rcx, %rcx      # imm = 0xBA0
addq %rcx, %rax
movq %rax, -0x70(%rbp)
movslq -0x4(%rbp), %rcx
leaq 0x11668(%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 0x22df6e(%rip), %eax    # 0x25a624
jge 0x2c6d5
movl -0x2c(%rbp), %ecx
movq -0x60(%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 0x2c6ad
movl 0xf9a9(%rip), %eax      # 0x3c084
addl $0x2, %eax
movl %eax, 0xf9a0(%rip)      # 0x3c084
cmpl $0x7530, %eax           # imm = 0x7530
jle 0x2c72b
movl $0x2, 0xf98f(%rip)      # 0x3c084
movl $0x0, -0x7c(%rbp)
cmpl $0x1198, -0x7c(%rbp)    # imm = 0x1198
jge 0x2c729
movslq -0x7c(%rbp), %rcx
leaq 0x22df20(%rip), %rax    # 0x25a630
shlq $0x6, %rcx
addq %rcx, %rax
movl $0x0, 0x30(%rax)
movl -0x7c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x7c(%rbp)
jmp 0x2c6fc
jmp 0x2c72b
movl $0x0, -0x30(%rbp)
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x22dee2(%rip), %eax    # 0x25a624
jge 0x2c905
movq -0x60(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movl 0x30(%rax), %eax
cmpl 0xf91f(%rip), %eax      # 0x3c084
jne 0x2c76c
jmp 0x2c8f7
movq -0x40(%rbp), %rdx
movq -0x10(%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 -0x60(%rbp), %rax
movslq -0x2c(%rbp), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
cmpq -0x70(%rbp), %rax
jae 0x2c7c3
movl 0xf8db(%rip), %ecx      # 0x3c084
movq -0x68(%rbp), %rax
movq (%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x68(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x68(%rbp)
jmp 0x2c799
jmp 0x2c7c5
movq -0x68(%rbp), %rax
cmpq -0x78(%rbp), %rax
jae 0x2c7f3
movl 0xf8af(%rip), %ecx      # 0x3c084
movq -0x68(%rbp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x68(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x68(%rbp)
jmp 0x2c7c5
movq -0x40(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x60(%rbp), %rax
movq -0x48(%rbp), %rcx
movslq 0x34(%rcx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
cmpq -0x70(%rbp), %rax
jae 0x2c844
movl 0xf85a(%rip), %ecx      # 0x3c084
movq -0x68(%rbp), %rax
movq (%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x68(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x68(%rbp)
jmp 0x2c81a
jmp 0x2c846
movq -0x68(%rbp), %rax
cmpq -0x78(%rbp), %rax
jae 0x2c874
movl 0xf82e(%rip), %ecx      # 0x3c084
movq -0x68(%rbp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x68(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x68(%rbp)
jmp 0x2c846
movq -0x48(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x60(%rbp), %rax
movq -0x48(%rbp), %rcx
movslq 0x34(%rcx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
cmpq -0x70(%rbp), %rax
jae 0x2c8c5
movl 0xf7d9(%rip), %ecx      # 0x3c084
movq -0x68(%rbp), %rax
movq (%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x68(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x68(%rbp)
jmp 0x2c89b
jmp 0x2c8c7
movq -0x68(%rbp), %rax
cmpq -0x78(%rbp), %rax
jae 0x2c8f5
movl 0xf7ad(%rip), %ecx      # 0x3c084
movq -0x68(%rbp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x68(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x68(%rbp)
jmp 0x2c8c7
jmp 0x2c8f7
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x2c739
movl -0x30(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
cmpl $0x2, -0x34(%rbp)
jg 0x2cb21
movl 0xf766(%rip), %eax      # 0x3c084
addl $0x2, %eax
movl %eax, 0xf75d(%rip)      # 0x3c084
cmpl $0x7530, %eax           # imm = 0x7530
jle 0x2c96e
movl $0x2, 0xf74c(%rip)      # 0x3c084
movl $0x0, -0x80(%rbp)
cmpl $0x1198, -0x80(%rbp)    # imm = 0x1198
jge 0x2c96c
movslq -0x80(%rbp), %rcx
leaq 0x22dcdd(%rip), %rax    # 0x25a630
shlq $0x6, %rcx
addq %rcx, %rax
movl $0x0, 0x30(%rax)
movl -0x80(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x80(%rbp)
jmp 0x2c93f
jmp 0x2c96e
movl $0x0, -0x30(%rbp)
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x22dc9f(%rip), %eax    # 0x25a624
jge 0x2cb16
movq -0x60(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movl 0x30(%rax), %eax
cmpl 0xf6dc(%rip), %eax      # 0x3c084
jne 0x2c9af
jmp 0x2cb08
movq -0x40(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0x1122e(%rip), %rax     # 0x3dc00
cmpl $0x3, (%rax,%rcx,4)
sete %al
andb $0x1, %al
movzbl %al, %eax
movq -0x48(%rbp), %rcx
movslq 0x4(%rcx), %rdx
leaq 0x11213(%rip), %rcx     # 0x3dc00
cmpl $0x3, (%rcx,%rdx,4)
sete %cl
andb $0x1, %cl
movzbl %cl, %ecx
addl %ecx, %eax
cmpl -0x34(%rbp), %eax
je 0x2ca06
jmp 0x2cb08
movq -0x40(%rbp), %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 -0x60(%rbp), %rax
movslq -0x2c(%rbp), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
cmpq -0x70(%rbp), %rax
jae 0x2ca5d
movl 0xf641(%rip), %ecx      # 0x3c084
movq -0x68(%rbp), %rax
movq (%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x68(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x68(%rbp)
jmp 0x2ca33
jmp 0x2ca5f
movq -0x68(%rbp), %rax
cmpq -0x78(%rbp), %rax
jae 0x2ca91
movl 0xf615(%rip), %ecx      # 0x3c084
movq -0x68(%rbp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x68(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x68(%rbp)
jmp 0x2ca5f
movq -0x60(%rbp), %rax
movq -0x48(%rbp), %rcx
movslq 0x34(%rcx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
cmpq -0x70(%rbp), %rax
jae 0x2cad2
movl 0xf5cc(%rip), %ecx      # 0x3c084
movq -0x68(%rbp), %rax
movq (%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x68(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x68(%rbp)
jmp 0x2caa8
jmp 0x2cad4
movq -0x68(%rbp), %rax
cmpq -0x78(%rbp), %rax
jae 0x2cb06
movl 0xf5a0(%rip), %ecx      # 0x3c084
movq -0x68(%rbp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x68(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x68(%rbp)
jmp 0x2cad4
jmp 0x2cb08
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x2c97c
movl -0x30(%rbp), %ecx
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
jmp 0x2cb2b
movq -0x28(%rbp), %rax
movl $0x0, (%rax)
cmpl $0x0, -0x34(%rbp)
jne 0x2ccf2
cmpl $0x2, -0x38(%rbp)
jg 0x2ccf2
movl 0xf53f(%rip), %eax      # 0x3c084
addl $0x2, %eax
movl %eax, 0xf536(%rip)      # 0x3c084
cmpl $0x7530, %eax           # imm = 0x7530
jle 0x2cba4
movl $0x2, 0xf525(%rip)      # 0x3c084
movl $0x0, -0x84(%rbp)
cmpl $0x1198, -0x84(%rbp)    # imm = 0x1198
jge 0x2cba2
movslq -0x84(%rbp), %rcx
leaq 0x22daad(%rip), %rax    # 0x25a630
shlq $0x6, %rcx
addq %rcx, %rax
movl $0x0, 0x30(%rax)
movl -0x84(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x84(%rbp)
jmp 0x2cb69
jmp 0x2cba4
movl $0x0, -0x30(%rbp)
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl 0x22da69(%rip), %eax    # 0x25a624
jge 0x2cce7
movq -0x60(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movl 0x30(%rax), %eax
cmpl 0xf4a6(%rip), %eax      # 0x3c084
je 0x2cbf4
movq -0x40(%rbp), %rax
movslq (%rax), %rcx
leaq 0x11012(%rip), %rax     # 0x3dc00
cmpl $0x6, (%rax,%rcx,4)
jge 0x2cbf9
jmp 0x2ccd9
movq -0x40(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0x10ff8(%rip), %rax     # 0x3dc00
cmpl $0x4, (%rax,%rcx,4)
sete %al
andb $0x1, %al
movzbl %al, %eax
movq -0x40(%rbp), %rcx
movq 0x18(%rcx), %rcx
movq 0x18(%rcx), %rcx
movq 0x18(%rcx), %rcx
movslq 0x4(%rcx), %rdx
leaq 0x10fd1(%rip), %rcx     # 0x3dc00
cmpl $0x4, (%rcx,%rdx,4)
sete %cl
andb $0x1, %cl
movzbl %cl, %ecx
addl %ecx, %eax
cmpl -0x38(%rbp), %eax
je 0x2cc48
jmp 0x2ccd9
movq -0x40(%rbp), %rdx
movq 0x10(%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 -0x60(%rbp), %rax
movslq -0x2c(%rbp), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
cmpq -0x70(%rbp), %rax
jae 0x2cc9f
movl 0xf3ff(%rip), %ecx      # 0x3c084
movq -0x68(%rbp), %rax
movq (%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x68(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x68(%rbp)
jmp 0x2cc75
jmp 0x2cca1
movq -0x68(%rbp), %rax
cmpq -0x78(%rbp), %rax
jae 0x2ccd7
movl 0xf3d3(%rip), %ecx      # 0x3c084
movq -0x68(%rbp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x68(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x68(%rbp)
jmp 0x2cca1
jmp 0x2ccd9
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
jmp 0x2cbb2
movl -0x30(%rbp), %ecx
movq 0x18(%rbp), %rax
movl %ecx, (%rax)
jmp 0x2ccfc
movq 0x18(%rbp), %rax
movl $0x0, (%rax)
jmp 0x2ccfe
addq $0x8, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)