// File: /workspace/github_c_makefile_star2_O3/mishun[P]plantri/plantri.c
// Function: initialize_min5
static void
initialize_min5(void)

/* initialize edges for minimum degree 5 generation, and make the
   inital icosahedron */
{
    EDGE *run,*start;
    int n,i;

/* First initialize the edges for operation a.). They look like

       a
    \ / \ /
    ?b---c?   Vertex c is the new point. (a,c),(b,c) and (d,c) are the
    / \ / \   new edges with a-->c taken as min5_a(n) 
       d

a,b and d will be from the old graph -- they cannot be initialised so far.
It is assumed that for 12<=n<MAXN after min5_a(n) there is room for 6 edges.
*/

    for (n=12; n<MAXN; n++)
      { run=start=min5_a(n);
        run->end=n; run->min=run;
        run->invers=start+1; 

        run=start+1; run->start=n; 
        run->min=run->invers=start; run->prev=start+3;

        run=start+2; run->end=n; run->min=run; run->invers=start+3;

        run=start+3; run->start=n; run->min=run->invers=start+2;
	run->next=start+1; run->prev=start+5;

        run=start+4; run->end=n; run->min=run; run->invers=start+5;

        run=start+5; run->start=n; run->min=run->invers=start+4;
	run->next=start+3;
      }


/* The edges for operation b.) look like


        a
     \ / \
      b---e-
     /|  /|      The new vertices are e,f, the new edges (a,e),(b,e)(c,e),
      | / |      (c,f),(d,f)(e,f) with a-->e taken as min5_b0(n)
      |/  |/
     -c---f
       \ / \
        d

It is assumed that after min5_b(n) there is room for 12 edges.
*/

    for (n=12; n<MAXN-1; n++)
      { run=start=min5_b0(n);
        run->end=n; run->min=run;
        run->invers=start+1; 

        run=start+1; run->start=n; 
        run->min=run->invers=start; run->prev=start+3; 

        run=start+2; run->end=n;
        run->min=run; run->invers=start+3 ; 

        run=start+3; run->start=n;
        run->min=run->invers=start+2; run->prev=start+5; run->next=start+1;

        run=start+4; run->end=n;
        run->min=run; run->invers=start+5; run->next=start+8;

        run=start+5; run->start=n; 
        run->min=run->invers=start+4; run->prev=start+7; run->next=start+3;

        run=start+6; run->start=n+1; run->end=n;
        run->min=run; run->invers=start+7; run->prev=start+9;

        run=start+7; run->start=n; run->end=n+1;
        run->min=run->invers=start+6; run->next=start+5;

        run=start+8; run->end=n+1;
        run->min=run; run->invers=start+9; run->prev=start+4; 

        run=start+9; run->start=n+1; 
        run->min=run->invers=start+8; run->prev=start+11; run->next=start+6;

        run=start+10; run->end=n+1;
        run->min=run; run->invers=start+11; 

        run=start+11; run->start=n+1;
        run->min=run->invers=start+10; run->next=start+9;

      }

    /* The mirror image operation */

    for (n=12; n<MAXN-1; n++)
      { run=start=min5_b1(n);
        run->end=n; run->min=run;
        run->invers=start+1; 

        run=start+1; run->start=n; 
        run->min=run->invers=start; run->next=start+3; 

        run=start+2; run->end=n;
        run->min=run; run->invers=start+3 ; 

        run=start+3; run->start=n;
        run->min=run->invers=start+2; run->next=start+5; run->prev=start+1;

        run=start+4; run->end=n;
        run->min=run; run->invers=start+5; run->prev=start+8;

        run=start+5; run->start=n; 
        run->min=run->invers=start+4; run->next=start+7; run->prev=start+3;

        run=start+6; run->start=n+1; run->end=n;
        run->min=run; run->invers=start+7; run->next=start+9;

        run=start+7; run->start=n; run->end=n+1;
        run->min=run->invers=start+6; run->prev=start+5;

        run=start+8; run->end=n+1;
        run->min=run; run->invers=start+9; run->next=start+4; 

        run=start+9; run->start=n+1; 
        run->min=run->invers=start+8; run->next=start+11; run->prev=start+6;

        run=start+10; run->end=n+1;
        run->min=run; run->invers=start+11; 

        run=start+11; run->start=n+1;
        run->min=run->invers=start+10; run->prev=start+9;

      }


/* The last operation is c.) It is much too hard too "draw" this way.
   The new part that has to be inserted is a vertex of valency 5 surrounded
   by 5 vertices of the same valency and the "corona" of them. All this is
   inserted into a pentagon. The edge min5_c(n) is one in the corona that
   has its start at an old vertex and an edge of the pentagon in next direction. */

    for (n=12; n<MAXN-5; n++)
      { 
	start=min5_c(n);

	/* The rotation and starts around the inner vertices is easy: */

	for (i=0; i<4; i++)
	  { run=start+10+5*i;
	    run->start=n+i; run->prev=run+4; run->next=run+1;
	    run++; run->start=n+i; run->prev=run-1; run->next=run+1;
	    run++; run->start=n+i; run->prev=run-1; run->next=run+1;
	    run++; run->start=n+i; run->prev=run-1; run->next=run+1;
	    run++; run->start=n+i; run->prev=run-1; run->next=run-4;
	  }
	run=start+10+5*i;
	run->prev=run+4; run->next=run+1;
	run++; run->start=n+i; run->prev=run-1; run->next=run+1;
	run++; run->start=n+i; run->prev=run-1; run->next=run+1;
	run++; run->start=n+i; run->prev=run-1; run->next=run+1;
	run++; run->start=n+i; run->prev=run-1; run->next=run-4;
	i++;
	run=start+10+5*i;
	run->start=n+i-1; run->prev=run+4; run->next=run+1;
	run++; run->start=n+i-1; run->prev=run-1; run->next=run+1;
	run++; run->start=n+i-1; run->prev=run-1; run->next=run+1;
	run++; run->start=n+i-1; run->prev=run-1; run->next=run+1;
	run++; run->start=n+i-1; run->prev=run-1; run->next=run-4;




	/* The edges starting at the boundary 5-gon */
	run=start;
	run->prev=run+1; (run+1)->next=run;
	run+=2; run->prev=run+1; (run+1)->next=run;
	run+=2; run->prev=run+1; (run+1)->next=run;
	run+=2; run->prev=run+1; (run+1)->next=run;
	run+=2; run->prev=run+1; (run+1)->next=run;

	/* Now all the ends, inverses, and mins */

	run=start;    run->end=n;   run->min=start; run->invers=start+10;
	run++; /*1*/  run->end=n+1; run->min=run; run->invers=start+15;
	run++; /*2*/  run->end=n+1; run->min=run; run->invers=start+16;
	run++; /*3*/  run->end=n+2; run->min=run; run->invers=start+21;
	run++; /*4*/  run->end=n+2; run->min=run; run->invers=start+22;
	run++; /*5*/  run->end=n+3; run->min=run; run->invers=start+26;
	run++; /*6*/  run->end=n+3; run->min=run; run->invers=start+27;
	run++; /*7*/                run->min=run; run->invers=start+31;
	run++; /*8*/                run->min=run; run->invers=start+32;
	run++; /*9*/  run->end=n;   run->min=run; run->invers=start+14;
	run++; /*10*/               run->min=run->invers=start;
	run++; /*11*/ run->end=n+1; run->min=run; run->invers=start+19;
	run++; /*12*/ run->end=n+4; run->min=run; run->invers=start+35;
	run++; /*13*/               run->min=run; run->invers=start+33;
	run++; /*14*/               run->min=run->invers=start+9;
	run++; /*15*/               run->min=run->invers=start+1;
	run++; /*16*/               run->min=run->invers=start+2;
	run++; /*17*/ run->end=n+2; run->min=run; run->invers=start+20;
	run++; /*18*/ run->end=n+4; run->min=run; run->invers=start+36;
	run++; /*19*/ run->end=n;   run->min=run->invers=start+11;
	run++; /*20*/ run->end=n+1; run->min=run->invers=start+17;
	run++; /*21*/               run->min=run->invers=start+3;
	run++; /*22*/               run->min=run->invers=start+4;
	run++; /*23*/ run->end=n+3; run->min=run; run->invers=start+25;
	run++; /*24*/ run->end=n+4; run->min=run; run->invers=start+37;
	run++; /*25*/ run->end=n+2; run->min=run->invers=start+23;
	run++; /*26*/               run->min=run->invers=start+5;
	run++; /*27*/               run->min=run->invers=start+6;
	run++; /*28*/               run->min=run; run->invers=start+30;
	run++; /*29*/ run->end=n+4; run->min=run; run->invers=start+38;
	run++; /*30*/ run->end=n+3; run->min=run->invers=start+28;
	run++; /*31*/               run->min=run->invers=start+7;
	run++; /*32*/               run->min=run->invers=start+8;
	run++; /*33*/ run->end=n;   run->min=run->invers=start+13;
	run++; /*34*/ run->end=n+4; run->min=run; run->invers=start+39;
	run++; /*35*/ run->end=n;   run->min=run->invers=start+12;
	run++; /*36*/ run->end=n+1; run->min=run->invers=start+18;
	run++; /*37*/ run->end=n+2; run->min=run->invers=start+24;
	run++; /*38*/ run->end=n+3; run->min=run->invers=start+29;
	run++; /*39*/               run->min=run->invers=start+34;

      }

   make_icosahedron();
}

// Assembly:
movl $0xc, %eax
xorl %ecx, %ecx
leaq 0x235a71(%rip), %r11    # 0x244620
leaq (%rcx,%r11), %rdx
addq $0xf00, %rdx            # imm = 0xF00
movl %eax, 0x4(%rdx)
movq %rdx, 0x28(%rdx)
leaq 0xf40(%rcx,%r11), %rsi
movq %rsi, -0x20(%rsi)
movl %eax, (%rsi)
movq %rdx, 0x20(%rsi)
movq %rdx, 0x28(%rsi)
leaq 0xfc0(%rcx,%r11), %rdx
movq %rdx, -0x70(%rdx)
leaq 0xf80(%rcx,%r11), %rdi
movl %eax, 0x4(%rdi)
movq %rdi, 0x28(%rdi)
movq %rdx, 0x20(%rdi)
movl %eax, 0x40(%rdi)
movq %rdi, 0x60(%rdi)
movq %rdi, 0x68(%rdi)
movq %rsi, 0x58(%rdi)
leaq 0x1040(%rcx,%r11), %rsi
movq %rsi, -0x70(%rsi)
leaq 0x1000(%rcx,%r11), %rdi
movl %eax, 0x4(%rdi)
movq %rdi, 0x28(%rdi)
movq %rsi, 0x20(%rdi)
movl %eax, 0x40(%rdi)
movq %rdi, 0x60(%rdi)
movq %rdi, 0x68(%rdi)
movq %rdx, 0x58(%rdi)
addq $0x180, %rcx            # imm = 0x180
incl %eax
cmpq $0x4e00, %rcx           # imm = 0x4E00
jne 0xebaf
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl $0xc, %edx
leaq 0x23b6c0(%rip), %rax    # 0x24a320
movl $0xc, %ecx
movl %edx, 0x4(%rax)
movq %rax, 0x28(%rax)
leaq 0x40(%rax), %rsi
movq %rsi, 0x20(%rax)
movl %edx, 0x40(%rax)
movq %rax, 0x60(%rax)
movq %rax, 0x68(%rax)
leaq 0xc0(%rax), %rdi
movq %rdi, 0x50(%rax)
leaq 0x80(%rax), %r8
movl %edx, 0x84(%rax)
movq %r8, 0xa8(%rax)
movq %rdi, 0xa0(%rax)
movl %edx, 0xc0(%rax)
movq %r8, 0xe0(%rax)
movq %r8, 0xe8(%rax)
leaq 0x140(%rax), %r8
movq %r8, 0xd0(%rax)
movq %rsi, 0xd8(%rax)
leaq 0x100(%rax), %rsi
movl %edx, 0x104(%rax)
movq %rsi, 0x128(%rax)
movq %r8, 0x120(%rax)
leaq 0x200(%rax), %r9
movq %r9, 0x118(%rax)
movl %edx, 0x140(%rax)
movq %rsi, 0x160(%rax)
movq %rsi, 0x168(%rax)
leaq 0x1c0(%rax), %r10
movq %r10, 0x150(%rax)
movq %rdi, 0x158(%rax)
leaq 0x180(%rax), %rdi
incq %rcx
movl %ecx, 0x180(%rax)
movl %edx, 0x184(%rax)
movq %rdi, 0x1a8(%rax)
movq %r10, 0x1a0(%rax)
leaq 0x240(%rax), %r10
movq %r10, 0x190(%rax)
movl %edx, 0x1c0(%rax)
movl %ecx, 0x1c4(%rax)
movq %rdi, 0x1e0(%rax)
movq %rdi, 0x1e8(%rax)
movq %r8, 0x1d8(%rax)
movl %ecx, 0x204(%rax)
movq %r9, 0x228(%rax)
movq %r10, 0x220(%rax)
movq %rsi, 0x210(%rax)
movl %ecx, 0x240(%rax)
movq %r9, 0x260(%rax)
movq %r9, 0x268(%rax)
leaq 0x2c0(%rax), %rdx
movq %rdx, 0x250(%rax)
movq %rdi, 0x258(%rax)
leaq 0x280(%rax), %rsi
movl %ecx, 0x284(%rax)
movq %rsi, 0x2a8(%rax)
movq %rdx, 0x2a0(%rax)
movl %ecx, 0x2c0(%rax)
movq %rsi, 0x2e0(%rax)
movq %rsi, 0x2e8(%rax)
movq %r10, 0x2d8(%rax)
addq $0x300, %rax            # imm = 0x300
movq %rcx, %rdx
cmpq $0x3f, %rcx
jne 0xec65
movl $0xc, %edx
leaq 0x245114(%rip), %rax    # 0x253f20
movl $0xc, %ecx
movl %edx, 0x4(%rax)
movq %rax, 0x28(%rax)
leaq 0x40(%rax), %rsi
movq %rsi, 0x20(%rax)
movl %edx, 0x40(%rax)
movq %rax, 0x60(%rax)
movq %rax, 0x68(%rax)
leaq 0xc0(%rax), %rdi
movq %rdi, 0x58(%rax)
leaq 0x80(%rax), %r8
movl %edx, 0x84(%rax)
movq %r8, 0xa8(%rax)
movq %rdi, 0xa0(%rax)
movl %edx, 0xc0(%rax)
movq %r8, 0xe0(%rax)
movq %r8, 0xe8(%rax)
leaq 0x140(%rax), %r8
movq %r8, 0xd8(%rax)
movq %rsi, 0xd0(%rax)
leaq 0x100(%rax), %rsi
movl %edx, 0x104(%rax)
movq %rsi, 0x128(%rax)
movq %r8, 0x120(%rax)
leaq 0x200(%rax), %r9
movq %r9, 0x110(%rax)
movl %edx, 0x140(%rax)
movq %rsi, 0x160(%rax)
movq %rsi, 0x168(%rax)
leaq 0x1c0(%rax), %r10
movq %r10, 0x158(%rax)
movq %rdi, 0x150(%rax)
leaq 0x180(%rax), %rdi
incq %rcx
movl %ecx, 0x180(%rax)
movl %edx, 0x184(%rax)
movq %rdi, 0x1a8(%rax)
movq %r10, 0x1a0(%rax)
leaq 0x240(%rax), %r10
movq %r10, 0x198(%rax)
movl %edx, 0x1c0(%rax)
movl %ecx, 0x1c4(%rax)
movq %rdi, 0x1e0(%rax)
movq %rdi, 0x1e8(%rax)
movq %r8, 0x1d0(%rax)
movl %ecx, 0x204(%rax)
movq %r9, 0x228(%rax)
movq %r10, 0x220(%rax)
movq %rsi, 0x218(%rax)
movl %ecx, 0x240(%rax)
movq %r9, 0x260(%rax)
movq %r9, 0x268(%rax)
leaq 0x2c0(%rax), %rdx
movq %rdx, 0x258(%rax)
movq %rdi, 0x250(%rax)
leaq 0x280(%rax), %rsi
movl %ecx, 0x284(%rax)
movq %rsi, 0x2a8(%rax)
movq %rdx, 0x2a0(%rax)
movl %ecx, 0x2c0(%rax)
movq %rsi, 0x2e0(%rax)
movq %rsi, 0x2e8(%rax)
movq %r10, 0x2d0(%rax)
addq $0x300, %rax            # imm = 0x300
movq %rcx, %rdx
cmpq $0x3f, %rcx
jne 0xee11
movl $0xc, %r15d
movq %r11, %rcx
leaq (%r15,%r15,4), %rax
shlq $0x9, %rax
leaq (%rax,%r11), %rsi
addq $0x11d00, %rsi          # imm = 0x11D00
leaq (%rax,%r11), %rbx
addq $0x11f80, %rbx          # imm = 0x11F80
movl %r15d, %eax
xorl %edi, %edi
leaq (%rcx,%rdi), %rdx
addq $0x19780, %rdx          # imm = 0x19780
movl %eax, (%rdx)
leaq 0x19880(%rcx,%rdi), %r8
movq %r8, 0x10(%rdx)
leaq 0x197c0(%rcx,%rdi), %r9
movq %r9, -0x28(%r9)
movl %eax, (%r9)
movq %rdx, 0x10(%r9)
leaq 0x19800(%rcx,%rdi), %r11
movq %r11, -0x28(%r11)
movl %eax, (%r11)
movq %r9, 0x10(%r11)
leaq 0x19840(%rcx,%rdi), %r9
movq %r9, -0x28(%r9)
movl %eax, (%r9)
movq %r11, 0x10(%r9)
movq %r8, 0x18(%r9)
movl %eax, 0x40(%r9)
movq %r9, 0x50(%r9)
movq %rdx, 0x58(%r9)
addq $0x140, %rdi            # imm = 0x140
incl %eax
cmpq $0x500, %rdi            # imm = 0x500
jne 0xefd8
leaq 0x780(%rsi), %rdx
movq %rdx, -0x10(%rsp)
leaq 0x880(%rsi), %rax
movq %rax, 0x790(%rsi)
movq %rax, (%rsp)
leaq 0x7c0(%rsi), %rdi
movq %rdi, -0x38(%rsp)
movq %rdi, 0x798(%rsi)
leal 0x4(%r15), %r8d
movl %r8d, 0x7c0(%rsi)
movq %rdx, 0x7d0(%rsi)
leaq 0x800(%rsi), %r9
movq %r9, -0x40(%rsp)
movq %r9, 0x7d8(%rsi)
movl %r8d, 0x800(%rsi)
movq %rdi, 0x810(%rsi)
leaq 0x840(%rsi), %rdi
movq %rdi, -0x30(%rsp)
movq %rdi, 0x818(%rsi)
movl %r8d, 0x840(%rsi)
movq %r9, 0x850(%rsi)
movq %rax, 0x858(%rsi)
movl %r8d, 0x880(%rsi)
movq %rdi, 0x890(%rsi)
movq %rdx, 0x898(%rsi)
leaq 0x8c0(%rsi), %rdi
movl %r8d, 0x8c0(%rsi)
leaq 0x9c0(%rsi), %rax
movq %rax, 0x8d0(%rsi)
movq %rax, -0x8(%rsp)
leaq 0x900(%rsi), %rdx
movq %rdx, -0x28(%rsp)
movq %rdx, 0x8d8(%rsi)
movl %r8d, 0x900(%rsi)
movq %rdi, 0x910(%rsi)
movq %rdi, %r9
movq %rdi, -0x58(%rsp)
leaq 0x940(%rsi), %rdi
movq %rdi, -0x20(%rsp)
movq %rdi, 0x918(%rsi)
movl %r8d, 0x940(%rsi)
movq %rdx, 0x950(%rsi)
leaq 0x980(%rsi), %rdx
movq %rdx, -0x18(%rsp)
movq %rdx, 0x958(%rsi)
movl %r8d, 0x980(%rsi)
movq %rdi, 0x990(%rsi)
movq %rax, 0x998(%rsi)
movl %r8d, 0x9c0(%rsi)
movq %rdx, 0x9d0(%rsi)
movq %r9, 0x9d8(%rsi)
leaq 0x40(%rsi), %rax
movq %rax, 0x10(%rsi)
movq %rax, %r13
movq %rax, -0x80(%rsp)
movq %rsi, 0x58(%rsi)
leaq 0xc0(%rsi), %rax
movq %rax, 0x90(%rsi)
movq %rax, %rbp
movq %rax, -0x70(%rsp)
leaq 0x80(%rsi), %r14
movq %r14, 0xd8(%rsi)
leaq 0x140(%rsi), %rax
movq %rax, 0x110(%rsi)
movq %rax, %r12
movq %rax, -0x60(%rsp)
leaq 0x100(%rsi), %rdi
movq %rdi, 0x158(%rsi)
movq %rdi, -0x78(%rsp)
leaq 0x1c0(%rsi), %rax
movq %rax, 0x190(%rsi)
movq %rax, %r11
movq %rax, -0x48(%rsp)
leaq 0x180(%rsi), %r9
movq %r9, 0x1d8(%rsi)
movq %r9, -0x68(%rsp)
leaq 0x240(%rsi), %rax
movq %rax, 0x210(%rsi)
leaq 0x200(%rsi), %r10
movq %r10, 0x258(%rsi)
movq %r10, -0x50(%rsp)
movl %r15d, 0x4(%rsi)
movq %rsi, 0x28(%rsi)
movq %rbx, 0x20(%rsi)
movq %r15, %rbx
incq %rbx
movl %ebx, 0x44(%rsi)
movq %r13, 0x68(%rsi)
leaq 0x3c0(%rsi), %rdx
movq %rdx, 0x60(%rsi)
movl %ebx, 0x84(%rsi)
movq %r14, 0xa8(%rsi)
leaq 0x400(%rsi), %rdx
movq %rdx, 0xa0(%rsi)
leal 0x2(%r15), %r13d
movl %r13d, 0xc4(%rsi)
movq %rbp, 0xe8(%rsi)
leaq 0x540(%rsi), %rdx
movq %rdx, 0xe0(%rsi)
movl %r13d, 0x104(%rsi)
movq %rdi, 0x128(%rsi)
leaq 0x580(%rsi), %rdx
movq %rdx, 0x120(%rsi)
leal 0x3(%r15), %ebp
movl %ebp, 0x144(%rsi)
movq %r12, 0x168(%rsi)
leaq 0x680(%rsi), %rdx
movq %rdx, 0x160(%rsi)
movl %ebp, 0x184(%rsi)
movq %r9, 0x1a8(%rsi)
leaq 0x6c0(%rsi), %rdx
movq %rdx, 0x1a0(%rsi)
movq %r11, 0x1e8(%rsi)
movq -0x38(%rsp), %rdx
movq %rdx, 0x1e0(%rsi)
movq %r10, 0x228(%rsi)
movq -0x40(%rsp), %rdx
movq %rdx, 0x220(%rsi)
movl %r15d, 0x244(%rsi)
movq %rax, 0x268(%rsi)
leaq 0x380(%rsi), %rdx
movq %rdx, 0x260(%rsi)
movq %rsi, 0x2a0(%rsi)
movq %rsi, 0x2a8(%rsi)
movl %ebx, 0x2c4(%rsi)
leaq 0x2c0(%rsi), %rdx
movq %rdx, 0x2e8(%rsi)
leaq 0x4c0(%rsi), %r11
movq %r11, 0x2e0(%rsi)
movl %r8d, 0x304(%rsi)
leaq 0x300(%rsi), %r12
movq %r12, 0x328(%rsi)
movq -0x58(%rsp), %rdi
movq %rdi, 0x320(%rsi)
leaq 0x340(%rsi), %r11
movq %r11, 0x368(%rsi)
movq -0x30(%rsp), %rdi
movq %rdi, 0x360(%rsi)
movq %rax, 0x3a0(%rsi)
movq %rax, 0x3a8(%rsi)
movq -0x80(%rsp), %rax
movq %rax, 0x3e0(%rsi)
movq %rax, 0x3e8(%rsi)
movq %r14, 0x420(%rsi)
movq %r14, 0x428(%rsi)
movl %r13d, 0x444(%rsi)
leaq 0x440(%rsi), %rdi
movq %rdi, 0x468(%rsi)
leaq 0x500(%rsi), %rax
movq %rax, 0x460(%rsi)
movl %r8d, 0x484(%rsi)
leaq 0x480(%rsi), %rax
movq %rax, 0x4a8(%rsi)
movq -0x28(%rsp), %r9
movq %r9, 0x4a0(%rsi)
movl %r15d, 0x4c4(%rsi)
movq %rdx, 0x4e0(%rsi)
movq %rdx, 0x4e8(%rsi)
movl %ebx, 0x504(%rsi)
movq %rdi, 0x520(%rsi)
movq %rdi, 0x528(%rsi)
movq -0x70(%rsp), %rdx
movq %rdx, 0x560(%rsi)
movq %rdx, 0x568(%rsi)
movq -0x78(%rsp), %rdx
movq %rdx, 0x5a0(%rsi)
movq %rdx, 0x5a8(%rsi)
movl %ebp, 0x5c4(%rsi)
leaq 0x5c0(%rsi), %rdx
movq %rdx, 0x5e8(%rsi)
leaq 0x640(%rsi), %rdi
movq %rdi, 0x5e0(%rsi)
movl %r8d, 0x604(%rsi)
leaq 0x600(%rsi), %rdi
movq %rdi, 0x628(%rsi)
movq -0x20(%rsp), %r9
movq %r9, 0x620(%rsi)
movl %r13d, 0x644(%rsi)
movq %rdx, 0x660(%rsi)
movq %rdx, 0x668(%rsi)
movq -0x60(%rsp), %rdx
movq %rdx, 0x6a0(%rsi)
movq %rdx, 0x6a8(%rsi)
movq -0x68(%rsp), %rdx
movq %rdx, 0x6e0(%rsi)
movq %rdx, 0x6e8(%rsi)
leaq 0x700(%rsi), %rdx
movq %rdx, 0x728(%rsi)
movq -0x10(%rsp), %r9
movq %r9, 0x720(%rsi)
movl %r8d, 0x744(%rsi)
leaq 0x740(%rsi), %r9
movq %r9, 0x768(%rsi)
movq -0x18(%rsp), %r14
movq %r14, 0x760(%rsi)
movl %ebp, 0x784(%rsi)
movq %rdx, 0x7a0(%rsi)
movq %rdx, 0x7a8(%rsi)
movq -0x48(%rsp), %rdx
movq %rdx, 0x7e0(%rsi)
movq %rdx, 0x7e8(%rsi)
movq -0x50(%rsp), %rdx
movq %rdx, 0x820(%rsi)
movq %rdx, 0x828(%rsi)
movl %r15d, 0x844(%rsi)
movq %r11, 0x860(%rsi)
movq %r11, 0x868(%rsi)
movl %r8d, 0x884(%rsi)
movq (%rsp), %rdx
movq %rdx, 0x8a8(%rsi)
movq -0x8(%rsp), %r8
movq %r8, 0x8a0(%rsi)
movl %r15d, 0x8c4(%rsi)
movq %r12, 0x8e0(%rsi)
movq %r12, 0x8e8(%rsi)
movl %ebx, 0x904(%rsi)
movq %rax, 0x920(%rsi)
movq %rax, 0x928(%rsi)
movl %r13d, 0x944(%rsi)
movq %rdi, 0x960(%rsi)
movq %rdi, 0x968(%rsi)
movl %ebp, 0x984(%rsi)
movq %r9, 0x9a0(%rsi)
movq %r9, 0x9a8(%rsi)
movq %rdx, 0x9e0(%rsi)
movq %rdx, 0x9e8(%rsi)
addq $0xa00, %rcx            # imm = 0xA00
movq %rbx, %r15
cmpq $0x3b, %rbx
leaq 0x235021(%rip), %r11    # 0x244620
jne 0xefb5
xorl %eax, %eax
leaq 0x185e2(%rip), %rdx     # 0x27bf0
leaq 0x183db(%rip), %rsi     # 0x279f0
leaq 0x235004(%rip), %rcx    # 0x244620
xorl %edi, %edi
leaq (%rcx,%rdi), %r8
movq %r8, (%rsi)
movl $0x5, (%rdx)
leaq (%rdi,%rcx), %r9
addq $0x40, %r9
movq %r9, -0x28(%r9)
leaq 0x100(%rdi,%rcx), %r10
movq %r10, -0x30(%r9)
movl %eax, -0x40(%r9)
leaq 0x80(%rdi,%rcx), %r11
movq %r11, -0x28(%r11)
movq %r8, -0x30(%r11)
movl %eax, -0x40(%r11)
leaq 0xc0(%rdi,%rcx), %rbx
movq %rbx, -0x28(%rbx)
movq %r9, -0x30(%rbx)
movl %eax, -0x40(%rbx)
movq %r10, 0x18(%rbx)
movq %r11, 0x10(%rbx)
movl %eax, (%rbx)
movq %r8, 0x58(%rbx)
movq %rbx, 0x50(%rbx)
movl %eax, 0x40(%rbx)
addq $0x140, %rdi            # imm = 0x140
incl %eax
addq $0x4, %rdx
addq $0x8, %rsi
cmpq $0xf00, %rdi            # imm = 0xF00
jne 0xf61e
movl $0x1, %r10d
movl %r10d, 0x234f7a(%rip)   # 0x244624
leaq 0x2350af(%rip), %rax    # 0x244760
movq %rax, 0x234f88(%rip)    # 0x244640
movq %rcx, 0x234f89(%rip)    # 0x244648
movl $0x2, %r14d
movl %r14d, 0x234f98(%rip)   # 0x244664
leaq 0x2351cd(%rip), %rax    # 0x2448a0
movq %rax, 0x234fa6(%rip)    # 0x244680
leaq 0x234f7f(%rip), %r11    # 0x244660
movq %r11, 0x234fa0(%rip)    # 0x244688
movl $0x3, %eax
movl %eax, 0x234fb1(%rip)    # 0x2446a4
movl $0x3, %r13d
leaq 0x2352e0(%rip), %rax    # 0x2449e0
movq %rax, 0x234fb9(%rip)    # 0x2446c0
leaq 0x234f92(%rip), %r8     # 0x2446a0
movq %r8, 0x234fb3(%rip)     # 0x2446c8
movl $0x4, %eax
movl %eax, 0x234fc4(%rip)    # 0x2446e4
leaq 0x2353f9(%rip), %rax    # 0x244b20
movq %rax, 0x234fd2(%rip)    # 0x244700
leaq 0x234fab(%rip), %rdi    # 0x2446e0
movq %rdi, 0x234fcc(%rip)    # 0x244708
movl $0x5, %esi
movl %esi, 0x234fdd(%rip)    # 0x244724
leaq 0x235512(%rip), %rax    # 0x244c60
movq %rax, 0x234feb(%rip)    # 0x244740
leaq 0x234fc4(%rip), %rdx    # 0x244720
movq %rdx, 0x234fe5(%rip)    # 0x244748
xorl %eax, %eax
movl %eax, 0x234ff9(%rip)    # 0x244764
movq %rcx, 0x23500e(%rip)    # 0x244780
movq %rcx, 0x23500f(%rip)    # 0x244788
movl %esi, 0x235025(%rip)    # 0x2447a4
leaq 0x2355da(%rip), %rcx    # 0x244d60
movq %rcx, 0x235033(%rip)    # 0x2447c0
leaq 0x23500c(%rip), %r9     # 0x2447a0
movq %r9, 0x23502d(%rip)     # 0x2447c8
movl $0x6, %ecx
movl %ecx, 0x23503e(%rip)    # 0x2447e4
leaq 0x2355f3(%rip), %rcx    # 0x244da0
movq %rcx, 0x23504c(%rip)    # 0x244800
leaq 0x235025(%rip), %rsi    # 0x2447e0
movq %rsi, 0x235046(%rip)    # 0x244808
movl $0x7, %ebx
movl %ebx, 0x235057(%rip)    # 0x244824
movl $0x7, %ebp
leaq 0x235707(%rip), %rbx    # 0x244ee0
movq %rbx, 0x235060(%rip)    # 0x244840
leaq 0x235039(%rip), %rcx    # 0x244820
movq %rcx, 0x23505a(%rip)    # 0x244848
movl %r14d, 0x23506f(%rip)   # 0x244864
leaq 0x2350e4(%rip), %rbx    # 0x2448e0
movq %rbx, 0x23507d(%rip)    # 0x244880
leaq 0x235056(%rip), %rbx    # 0x244860
movq %rbx, 0x235077(%rip)    # 0x244888
movl %eax, 0x23508d(%rip)    # 0x2448a4
movq %r11, 0x2350a2(%rip)    # 0x2448c0
movq %r11, 0x2350a3(%rip)    # 0x2448c8
movl %r10d, 0x2350b8(%rip)   # 0x2448e4
movq %rbx, 0x2350cd(%rip)    # 0x244900
movq %rbx, 0x2350ce(%rip)    # 0x244908
movl %ebp, 0x2350e4(%rip)    # 0x244924
leaq 0x235799(%rip), %r11    # 0x244fe0
movq %r11, 0x2350f2(%rip)    # 0x244940
leaq 0x2350cb(%rip), %rcx    # 0x244920
movq %rcx, 0x2350ec(%rip)    # 0x244948
movl $0x8, %ecx
movl %ecx, 0x2350fd(%rip)    # 0x244964
leaq 0x2357b2(%rip), %r11    # 0x245020
movq %r11, 0x23510b(%rip)    # 0x244980
leaq 0x2350e4(%rip), %r12    # 0x244960
movq %r12, 0x235105(%rip)    # 0x244988
movl %r13d, 0x23511a(%rip)   # 0x2449a4
leaq 0x23518f(%rip), %r11    # 0x244a20
movq %r11, 0x235128(%rip)    # 0x2449c0
leaq 0x235101(%rip), %r11    # 0x2449a0
movq %r11, 0x235122(%rip)    # 0x2449c8
movl %eax, 0x235138(%rip)    # 0x2449e4
movq %r8, 0x23514d(%rip)     # 0x244a00
movq %r8, 0x23514e(%rip)     # 0x244a08
movl %r14d, 0x235163(%rip)   # 0x244a24
movq %r11, 0x235178(%rip)    # 0x244a40
movq %r11, 0x235179(%rip)    # 0x244a48
movl %ecx, 0x23518f(%rip)    # 0x244a64
leaq 0x235844(%rip), %r8     # 0x245120
movq %r8, 0x23519d(%rip)     # 0x244a80
leaq 0x235176(%rip), %rcx    # 0x244a60
movq %rcx, 0x235197(%rip)    # 0x244a88
movl $0x9, %r15d
movl %r15d, 0x2351a6(%rip)   # 0x244aa4
leaq 0x23585b(%rip), %r8     # 0x245160
movq %r8, 0x2351b4(%rip)     # 0x244ac0
leaq 0x23518d(%rip), %rbp    # 0x244aa0
movq %rbp, 0x2351ae(%rip)    # 0x244ac8
movl $0x4, %r11d
movl %r11d, 0x2351bd(%rip)   # 0x244ae4
leaq 0x235232(%rip), %r8     # 0x244b60
movq %r8, 0x2351cb(%rip)     # 0x244b00
leaq 0x2351a4(%rip), %r8     # 0x244ae0
movq %r8, 0x2351c5(%rip)     # 0x244b08
movl %eax, 0x2351db(%rip)    # 0x244b24
movq %rdi, 0x2351f0(%rip)    # 0x244b40
movq %rdi, 0x2351f1(%rip)    # 0x244b48
movl %r13d, 0x235206(%rip)   # 0x244b64
movq %r8, 0x23521b(%rip)     # 0x244b80
movq %r8, 0x23521c(%rip)     # 0x244b88
movl %r15d, 0x235231(%rip)   # 0x244ba4
leaq 0x2358e6(%rip), %rdi    # 0x245260
movq %rdi, 0x23523f(%rip)    # 0x244bc0
leaq 0x235218(%rip), %rcx    # 0x244ba0
movq %rcx, 0x235239(%rip)    # 0x244bc8
movl $0xa, %ebx
movl %ebx, 0x23524a(%rip)    # 0x244be4
leaq 0x2358ff(%rip), %rdi    # 0x2452a0
movq %rdi, 0x235258(%rip)    # 0x244c00
leaq 0x235231(%rip), %r8     # 0x244be0
movq %r8, 0x235252(%rip)     # 0x244c08
movl $0x5, %ecx
movl %ecx, 0x235263(%rip)    # 0x244c24
leaq 0x2352d8(%rip), %rdi    # 0x244ca0
movq %rdi, 0x235271(%rip)    # 0x244c40
leaq 0x23524a(%rip), %rdi    # 0x244c20
movq %rdi, 0x23526b(%rip)    # 0x244c48
movl %eax, 0x235281(%rip)    # 0x244c64
movq %rdx, 0x235296(%rip)    # 0x244c80
movq %rdx, 0x235297(%rip)    # 0x244c88
movl %r11d, 0x2352ac(%rip)   # 0x244ca4
movq %rdi, 0x2352c1(%rip)    # 0x244cc0
movq %rdi, 0x2352c2(%rip)    # 0x244cc8
movl %ebx, 0x2352d8(%rip)    # 0x244ce4
leaq 0x23598d(%rip), %rax    # 0x2453a0
movq %rax, 0x2352e6(%rip)    # 0x244d00
leaq 0x2352bf(%rip), %r13    # 0x244ce0
movq %r13, 0x2352e0(%rip)    # 0x244d08
movl $0x6, %edi
movl %edi, 0x2352f1(%rip)    # 0x244d24
leaq 0x2353a6(%rip), %rax    # 0x244de0
movq %rax, 0x2352ff(%rip)    # 0x244d40
leaq 0x2352d8(%rip), %rax    # 0x244d20
movq %rax, 0x2352f9(%rip)    # 0x244d48
movl %r10d, 0x23530e(%rip)   # 0x244d64
movq %r9, 0x235323(%rip)     # 0x244d80
movq %r9, 0x235324(%rip)     # 0x244d88
movl %r10d, 0x235339(%rip)   # 0x244da4
movq %rsi, 0x23534e(%rip)    # 0x244dc0
movq %rsi, 0x23534f(%rip)    # 0x244dc8
movl %ecx, 0x235365(%rip)    # 0x244de4
movq %rax, 0x23537a(%rip)    # 0x244e00
movq %rax, 0x23537b(%rip)    # 0x244e08
movl %ebx, 0x235391(%rip)    # 0x244e24
leaq 0x2358c6(%rip), %rax    # 0x245360
movq %rax, 0x23539f(%rip)    # 0x244e40
leaq 0x235378(%rip), %r11    # 0x244e20
movq %r11, 0x235399(%rip)    # 0x244e48
movl $0xb, %edx
movl %edx, 0x2353aa(%rip)    # 0x244e64
leaq 0x23591f(%rip), %rcx    # 0x2453e0
movq %rcx, 0x2353b8(%rip)    # 0x244e80
leaq 0x235391(%rip), %rcx    # 0x244e60
movq %rcx, 0x2353b2(%rip)    # 0x244e88
movl $0x7, %r9d
movl %r9d, 0x2353c1(%rip)    # 0x244ea4
leaq 0x235436(%rip), %rsi    # 0x244f20
movq %rsi, 0x2353cf(%rip)    # 0x244ec0
leaq 0x2353a8(%rip), %rsi    # 0x244ea0
movq %rsi, 0x2353c9(%rip)    # 0x244ec8
movl %r10d, 0x2353de(%rip)   # 0x244ee4
leaq 0x234d13(%rip), %r10    # 0x244820
movq %r10, 0x2353ec(%rip)    # 0x244f00
movq %r10, 0x2353ed(%rip)    # 0x244f08
movl %edi, 0x235403(%rip)    # 0x244f24
movq %rsi, 0x235418(%rip)    # 0x244f40
movq %rsi, 0x235419(%rip)    # 0x244f48
movl %edx, 0x23542f(%rip)    # 0x244f64
leaq 0x2359a4(%rip), %rsi    # 0x2454e0
movq %rsi, 0x23543d(%rip)    # 0x244f80
leaq 0x235416(%rip), %rsi    # 0x244f60
movq %rsi, 0x235437(%rip)    # 0x244f88
movl $0x8, %edi
movl %edi, 0x235448(%rip)    # 0x244fa4
leaq 0x2354fd(%rip), %r10    # 0x245060
movq %r10, 0x235456(%rip)    # 0x244fc0
leaq 0x23542f(%rip), %r10    # 0x244fa0
movq %r10, 0x235450(%rip)    # 0x244fc8
movl %r14d, 0x235465(%rip)   # 0x244fe4
leaq 0x234d9a(%rip), %rax    # 0x244920
movq %rax, 0x235473(%rip)    # 0x245000
movq %rax, 0x235474(%rip)    # 0x245008
movl %r14d, 0x235489(%rip)   # 0x245024
movq %r12, 0x23549e(%rip)    # 0x245040
movq %r12, 0x23549f(%rip)    # 0x245048
movl %r9d, 0x2354b4(%rip)    # 0x245064
movq %r10, 0x2354c9(%rip)    # 0x245080
movq %r10, 0x2354ca(%rip)    # 0x245088
movl %edx, 0x2354e0(%rip)    # 0x2450a4
leaq 0x2358d5(%rip), %r9     # 0x2454a0
movq %r9, 0x2354ee(%rip)     # 0x2450c0
leaq 0x2354c7(%rip), %r9     # 0x2450a0
movq %r9, 0x2354e8(%rip)     # 0x2450c8
movl %r15d, 0x2354fd(%rip)   # 0x2450e4
leaq 0x2355b2(%rip), %r10    # 0x2451a0
movq %r10, 0x23550b(%rip)    # 0x245100
leaq 0x2354e4(%rip), %r10    # 0x2450e0
movq %r10, 0x235505(%rip)    # 0x245108
movl $0x3, %r14d
movl %r14d, 0x235514(%rip)   # 0x245124
leaq 0x234e49(%rip), %rax    # 0x244a60
movq %rax, 0x235522(%rip)    # 0x245140
movq %rax, 0x235523(%rip)    # 0x245148
movl %r14d, 0x235538(%rip)   # 0x245164
movq %rbp, 0x23554d(%rip)    # 0x245180
movq %rbp, 0x23554e(%rip)    # 0x245188
movl %edi, 0x235564(%rip)    # 0x2451a4
movl $0x8, %r14d
movq %r10, 0x235573(%rip)    # 0x2451c0
movq %r10, 0x235574(%rip)    # 0x2451c8
movl %edx, 0x23558a(%rip)    # 0x2451e4
leaq 0x2357ff(%rip), %r10    # 0x245460
movq %r10, 0x235598(%rip)    # 0x245200
leaq 0x235571(%rip), %r10    # 0x2451e0
movq %r10, 0x235592(%rip)    # 0x245208
movl %ebx, 0x2355a8(%rip)    # 0x245224
leaq 0x23565d(%rip), %r12    # 0x2452e0
movq %r12, 0x2355b6(%rip)    # 0x245240
leaq 0x23558f(%rip), %r12    # 0x245220
movq %r12, 0x2355b0(%rip)    # 0x245248
movl $0x4, %ebp
movl %ebp, 0x2355c1(%rip)    # 0x245264
leaq 0x234ef6(%rip), %rax    # 0x244ba0
movq %rax, 0x2355cf(%rip)    # 0x245280
movq %rax, 0x2355d0(%rip)    # 0x245288
movl %ebp, 0x2355e6(%rip)    # 0x2452a4
movq %r8, 0x2355fb(%rip)     # 0x2452c0
movq %r8, 0x2355fc(%rip)     # 0x2452c8
movl %r15d, 0x235611(%rip)   # 0x2452e4
movq %r12, 0x235626(%rip)    # 0x245300
movq %r12, 0x235627(%rip)    # 0x245308
movl %edx, 0x23563d(%rip)    # 0x245324
leaq 0x235732(%rip), %rax    # 0x245420
movq %rax, 0x23564b(%rip)    # 0x245340
leaq 0x235624(%rip), %rax    # 0x245320
movq %rax, 0x235645(%rip)    # 0x245348
movl $0x6, %r8d
movl %r8d, 0x235654(%rip)    # 0x245364
movq %r11, 0x235669(%rip)    # 0x245380
movq %r11, 0x23566a(%rip)    # 0x245388
movl $0x5, %edx
movl %edx, 0x23567b(%rip)    # 0x2453a4
movq %r13, 0x235690(%rip)    # 0x2453c0
movq %r13, 0x235691(%rip)    # 0x2453c8
movl %r8d, 0x2356a6(%rip)    # 0x2453e4
movq %rcx, 0x2356bb(%rip)    # 0x245400
movq %rcx, 0x2356bc(%rip)    # 0x245408
movl %ebx, 0x2356d2(%rip)    # 0x245424
movq %rax, 0x2356e7(%rip)    # 0x245440
movq %rax, 0x2356e8(%rip)    # 0x245448
movl %r15d, 0x2356fd(%rip)   # 0x245464
movq %r10, 0x235712(%rip)    # 0x245480
movq %r10, 0x235713(%rip)    # 0x245488
movl %r14d, 0x235728(%rip)   # 0x2454a4
movq %r9, 0x23573d(%rip)     # 0x2454c0
movq %r9, 0x23573e(%rip)     # 0x2454c8
movl $0x7, %eax
movl %eax, 0x23574f(%rip)    # 0x2454e4
movq %rsi, 0x235764(%rip)    # 0x245500
movq %rsi, 0x235765(%rip)    # 0x245508
movl $0xc, 0x234863(%rip)    # 0x244610
movl $0x3c, 0x23485d(%rip)   # 0x244614
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq