// File: /workspace/github_cpp_makefile_star2_O1/marxn[P]pupp/3rdparty/gmp/mpn/toom8_sqr.c
// Function: _gmpn_toom8_sqr
void
mpn_toom8_sqr  (mp_ptr pp, mp_srcptr ap, mp_size_t an, mp_ptr scratch)
{
  mp_size_t n, s;

  /***************************** decomposition *******************************/

  ASSERT ( an >= 40 );

  n = 1 + ((an - 1)>>3);

  s = an - 7 * n;

  ASSERT (0 < s && s <= n);
  ASSERT ( s + s > 3 );

#define   r6    (pp + 3 * n)			/* 3n+1 */
#define   r4    (pp + 7 * n)			/* 3n+1 */
#define   r2    (pp +11 * n)			/* 3n+1 */
#define   r0    (pp +15 * n)			/* s+t <= 2*n */
#define   r7    (scratch)			/* 3n+1 */
#define   r5    (scratch + 3 * n + 1)		/* 3n+1 */
#define   r3    (scratch + 6 * n + 2)		/* 3n+1 */
#define   r1    (scratch + 9 * n + 3)		/* 3n+1 */
#define   v0    (pp +11 * n)			/* n+1 */
#define   v2    (pp +13 * n+2)			/* n+1 */
#define   wse   (scratch +12 * n + 4)		/* 3n+1 */

  /* Alloc also 3n+1 limbs for ws... toom_interpolate_16pts may
     need all of them, when DO_mpn_sublsh_n usea a scratch  */
/*   if (scratch == NULL) */
/*     scratch = TMP_SALLOC_LIMBS (30 * n + 6); */

  /********************** evaluation and recursive calls *********************/
  /* $\pm1/8$ */
  mpn_toom_eval_pm2rexp (v2, v0, 7, ap, n, s, 3, pp);
  /* A(-1/8)*B(-1/8)*8^. */ /* A(+1/8)*B(+1/8)*8^. */
  TOOM8_SQR_REC(pp, v0, 2, r7, v2, n + 1, wse);
  mpn_toom_couple_handling (r7, 2 * n + 1 + BIT_CORRECTION, pp, 0, n, 3, 0);

  /* $\pm1/4$ */
  mpn_toom_eval_pm2rexp (v2, v0, 7, ap, n, s, 2, pp);
  /* A(-1/4)*B(-1/4)*4^. */ /* A(+1/4)*B(+1/4)*4^. */
  TOOM8_SQR_REC(pp, v0, 2, r5, v2, n + 1, wse);
  mpn_toom_couple_handling (r5, 2 * n + 1, pp, 0, n, 2, 0);

  /* $\pm2$ */
  mpn_toom_eval_pm2 (v2, v0, 7, ap, n, s, pp);
  /* A(-2)*B(-2) */ /* A(+2)*B(+2) */
  TOOM8_SQR_REC(pp, v0, 2, r3, v2, n + 1, wse);
  mpn_toom_couple_handling (r3, 2 * n + 1, pp, 0, n, 1, 2);

  /* $\pm8$ */
  mpn_toom_eval_pm2exp (v2, v0, 7, ap, n, s, 3, pp);
  /* A(-8)*B(-8) */ /* A(+8)*B(+8) */
  TOOM8_SQR_REC(pp, v0, 2, r1, v2, n + 1, wse);
  mpn_toom_couple_handling (r1, 2 * n + 1 + BIT_CORRECTION, pp, 0, n, 3, 6);

  /* $\pm1/2$ */
  mpn_toom_eval_pm2rexp (v2, v0, 7, ap, n, s, 1, pp);
  /* A(-1/2)*B(-1/2)*2^. */ /* A(+1/2)*B(+1/2)*2^. */
  TOOM8_SQR_REC(pp, v0, 2, r6, v2, n + 1, wse);
  mpn_toom_couple_handling (r6, 2 * n + 1, pp, 0, n, 1, 0);

  /* $\pm1$ */
  mpn_toom_eval_pm1 (v2, v0, 7, ap, n, s,    pp);
  /* A(-1)*B(-1) */ /* A(1)*B(1) */
  TOOM8_SQR_REC(pp, v0, 2, r4, v2, n + 1, wse);
  mpn_toom_couple_handling (r4, 2 * n + 1, pp, 0, n, 0, 0);

  /* $\pm4$ */
  mpn_toom_eval_pm2exp (v2, v0, 7, ap, n, s, 2, pp);
  /* A(-4)*B(-4) */ /* A(+4)*B(+4) */
  TOOM8_SQR_REC(pp, v0, 2, r2, v2, n + 1, wse);
  mpn_toom_couple_handling (r2, 2 * n + 1, pp, 0, n, 2, 4);

#undef v0
#undef v2

  /* A(0)*B(0) */
  TOOM8_SQR_REC(pp, ap, 0, pp, ap, n, wse);

  mpn_toom_interpolate_16pts (pp, r1, r3, r5, r7, n, 2 * s, 0, wse);

#undef r0
#undef r1
#undef r2
#undef r3
#undef r4
#undef r5
#undef r6
#undef wse

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movq %rcx, 0x20(%rsp)
movq %rdx, %rbx
movq %rsi, %rcx
movq %rdi, %r15
leaq -0x1(%rdx), %r13
sarq $0x3, %r13
leaq 0x1(%r13), %r8
leaq 0x8(,%r13,8), %rax
subq %r8, %rax
movq %rax, 0x78(%rsp)
subq %rax, %rbx
imulq $0x68, %r13, %rax
leaq (%rax,%rdi), %r12
addq $0x78, %r12
imulq $0x58, %r8, %rbp
addq %rdi, %rbp
movq %rdi, 0x8(%rsp)
movl $0x3, (%rsp)
movq %r12, %rdi
movq %rbp, %rsi
movl $0x7, %edx
movq %rcx, 0x60(%rsp)
movq %r8, 0x58(%rsp)
movq %rbx, %r9
callq 0x281b8
leaq 0x2(%r13), %r14
cmpq $0x1f, %r13
movq %rbx, 0x40(%rsp)
movq %r12, 0x30(%rsp)
movq %r14, 0x28(%rsp)
movq %rbp, 0x48(%rsp)
movq %r13, 0x38(%rsp)
jle 0x25ff1
cmpq $0x7e, %r13
jle 0x26019
cmpq $0x20c, %r13            # imm = 0x20C
jle 0x2606f
movq 0x58(%rsp), %r14
leaq (%r14,%r14,2), %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
addq %rcx, %rax
addq $0x20, %rax
movq %r15, %rdi
cmpq $0x22f, %r13            # imm = 0x22F
jle 0x260c2
movq 0x48(%rsp), %rbp
movq %rbp, %rsi
movq 0x28(%rsp), %rbx
movq %rbx, %rdx
movq %rax, %r13
movq %rax, %rcx
callq 0x25edc
movq 0x20(%rsp), %rdi
movq 0x30(%rsp), %r12
movq %r12, %rsi
movq %rbx, %rdx
movq %r13, %rcx
callq 0x25edc
jmp 0x260f5
movq %r15, %rdi
movq %rbp, %rsi
movq %r14, %rdx
callq 0x1e000
movq 0x20(%rsp), %rdi
movq %r12, %rsi
movq %r14, %rdx
callq 0x1e000
movq 0x58(%rsp), %r14
jmp 0x260fa
movq 0x58(%rsp), %rax
leaq (%rax,%rax,2), %rax
shlq $0x5, %rax
movq 0x20(%rsp), %r12
leaq (%r12,%rax), %rbx
addq $0x20, %rbx
movq %r15, %rdi
movq %r14, %rbp
movq 0x48(%rsp), %r14
movq %r14, %rsi
movq %rbp, %rdx
movq %rbx, %rcx
callq 0x26ee4
movq %r12, %rdi
movq 0x30(%rsp), %r12
movq %r12, %rsi
movq %rbp, %rdx
movq %r14, %rbp
movq 0x58(%rsp), %r14
movq %rbx, %rcx
callq 0x26ee4
jmp 0x260f5
movq 0x58(%rsp), %rax
leaq (%rax,%rax,2), %rax
shlq $0x5, %rax
movq 0x20(%rsp), %r12
leaq (%r12,%rax), %rbx
addq $0x20, %rbx
movq %r15, %rdi
movq %r14, %rbp
movq 0x48(%rsp), %r14
movq %r14, %rsi
movq %rbp, %rdx
movq %rbx, %rcx
callq 0x271b4
movq %r12, %rdi
movq 0x30(%rsp), %r12
movq %r12, %rsi
movq %rbp, %rdx
movq %r14, %rbp
movq 0x58(%rsp), %r14
movq %rbx, %rcx
callq 0x271b4
jmp 0x260f5
movq 0x48(%rsp), %rbp
movq %rbp, %rsi
movq 0x28(%rsp), %rbx
movq %rbx, %rdx
movq %rax, %r13
movq %rax, %rcx
callq 0x2761c
movq 0x20(%rsp), %rdi
movq 0x30(%rsp), %r12
movq %r12, %rsi
movq %rbx, %rdx
movq %r13, %rcx
callq 0x2761c
movq 0x40(%rsp), %rbx
leaq 0x1(,%r14,2), %rsi
movl $0x0, (%rsp)
movq 0x20(%rsp), %rdi
movq %rsi, 0x70(%rsp)
movq %r15, %rdx
xorl %ecx, %ecx
movq %r14, %r8
movl $0x3, %r9d
callq 0x26da4
movq %r15, 0x8(%rsp)
movl $0x2, (%rsp)
movq %r12, %rdi
movq %rbp, %rsi
movl $0x7, %edx
movq 0x60(%rsp), %rcx
movq %r14, %r8
movq %rbx, %r9
callq 0x281b8
cmpq $0x1f, 0x38(%rsp)
jle 0x261d2
cmpq $0x7e, 0x38(%rsp)
jle 0x2620e
leaq (%r14,%r14,2), %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax,8), %r12
addq $0x8, %r12
cmpq $0x20c, 0x38(%rsp)      # imm = 0x20C
jle 0x26262
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %r14
addq $0x20, %r14
cmpq $0x22f, 0x38(%rsp)      # imm = 0x22F
jle 0x262ab
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbx
movq %rbx, %rdx
movq %r14, %rcx
callq 0x25edc
movq %r12, %rdi
movq 0x30(%rsp), %rsi
movq %rsi, %r13
movq %rbx, %rdx
movq %r14, %rcx
callq 0x25edc
jmp 0x262d7
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbp
movq %rbp, %rdx
callq 0x1e000
leaq (%r14,%r14,2), %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax,8), %rdi
addq $0x8, %rdi
movq %r12, %r13
movq %r12, %rsi
movq %rbp, %rdx
movq 0x48(%rsp), %rbp
callq 0x1e000
jmp 0x262e1
movq 0x20(%rsp), %r12
leaq (%r14,%r14,2), %rbx
movq %rbx, %rax
shlq $0x5, %rax
leaq (%r12,%rax), %rcx
addq $0x20, %rcx
movq %rcx, 0x50(%rsp)
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbp
movq %rbp, %rdx
callq 0x26ee4
leaq (%r12,%rbx,8), %rdi
addq $0x8, %rdi
movq 0x30(%rsp), %rsi
movq %rsi, %r13
movq %rbp, %rdx
movq 0x48(%rsp), %rbp
movq 0x50(%rsp), %rcx
callq 0x26ee4
jmp 0x262a4
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %rbx
addq $0x20, %rbx
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbp
movq %rbp, %rdx
movq %rbx, %rcx
callq 0x271b4
movq %r12, %rdi
movq 0x30(%rsp), %rsi
movq %rsi, %r13
movq %rbp, %rdx
movq 0x48(%rsp), %rbp
movq %rbx, %rcx
callq 0x271b4
movq 0x40(%rsp), %rbx
jmp 0x262e1
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbx
movq %rbx, %rdx
movq %r14, %rcx
callq 0x2761c
movq %r12, %rdi
movq 0x30(%rsp), %rsi
movq %rsi, %r13
movq %rbx, %rdx
movq %r14, %rcx
callq 0x2761c
movq 0x40(%rsp), %rbx
movq 0x58(%rsp), %r14
leaq (%r14,%r14,2), %r12
movq 0x20(%rsp), %rax
leaq (%rax,%r12,8), %rdi
addq $0x8, %rdi
movl $0x0, (%rsp)
movq %rdi, 0x90(%rsp)
movq 0x70(%rsp), %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq %r14, %r8
movl $0x2, %r9d
callq 0x26da4
movq %r15, (%rsp)
movq %r13, %rdi
movq %rbp, %rsi
movl $0x7, %edx
movq 0x60(%rsp), %rcx
movq %r14, %r8
movq %rbx, %r9
callq 0x27d20
cmpq $0x1f, 0x38(%rsp)
movq %r12, 0x50(%rsp)
movq %r15, 0x68(%rsp)
jle 0x263d7
cmpq $0x7e, 0x38(%rsp)
jle 0x26413
movq 0x50(%rsp), %r12
movq %r12, %rax
shlq $0x4, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %r14
addq $0x10, %r14
cmpq $0x20c, 0x38(%rsp)      # imm = 0x20C
movq 0x68(%rsp), %r15
jle 0x26470
shlq $0x5, %r12
movq 0x20(%rsp), %rcx
addq %rcx, %r12
addq $0x20, %r12
cmpq $0x22f, 0x38(%rsp)      # imm = 0x22F
jle 0x264bc
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbx
movq %rbx, %rdx
movq %r12, %rcx
callq 0x25edc
movq %r14, %rdi
movq 0x30(%rsp), %rsi
movq %rsi, %r13
movq %rbx, %rdx
movq %r12, %rcx
callq 0x25edc
jmp 0x264e8
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbp
movq %rbp, %rdx
callq 0x1e000
movq %r12, %rax
shlq $0x4, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %rdi
addq $0x10, %rdi
movq %r13, %rsi
movq %rbp, %rdx
movq 0x48(%rsp), %rbp
callq 0x1e000
jmp 0x264f2
movq 0x50(%rsp), %r12
movq %r12, %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rbx
leaq (%rbx,%rax), %r14
addq $0x20, %r14
movq 0x68(%rsp), %r15
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbp
movq %rbp, %rdx
movq %r14, %rcx
callq 0x26ee4
movq %r12, %rax
shlq $0x4, %rax
leaq (%rbx,%rax), %rdi
addq $0x10, %rdi
movq 0x30(%rsp), %rsi
movq %rsi, %r13
movq %rbp, %rdx
movq 0x48(%rsp), %rbp
movq %r14, %rcx
callq 0x26ee4
jmp 0x264b5
movq %r12, %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %rbx
addq $0x20, %rbx
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbp
movq %rbp, %rdx
movq %rbx, %rcx
callq 0x271b4
movq %r14, %rdi
movq 0x30(%rsp), %rsi
movq %rsi, %r13
movq %rbp, %rdx
movq 0x48(%rsp), %rbp
movq %rbx, %rcx
callq 0x271b4
movq 0x40(%rsp), %rbx
jmp 0x264f2
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbx
movq %rbx, %rdx
movq %r12, %rcx
callq 0x2761c
movq %r14, %rdi
movq 0x30(%rsp), %rsi
movq %rsi, %r13
movq %rbx, %rdx
movq %r12, %rcx
callq 0x2761c
movq 0x40(%rsp), %rbx
movq 0x50(%rsp), %r12
shlq $0x4, %r12
movq 0x20(%rsp), %rcx
leaq (%rcx,%r12), %rdi
addq $0x10, %rdi
movl $0x2, (%rsp)
movq %rdi, 0x88(%rsp)
movq 0x70(%rsp), %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq 0x58(%rsp), %r12
movq %r12, %r8
movl $0x1, %r9d
callq 0x26da4
movq %r15, 0x8(%rsp)
movl $0x3, (%rsp)
movq %r13, %rdi
movq %rbp, %rsi
movl $0x7, %edx
movq 0x60(%rsp), %rcx
movq %r12, %r8
movq %rbx, %r9
callq 0x27fb4
cmpq $0x1f, 0x38(%rsp)
jle 0x265ee
cmpq $0x7e, 0x38(%rsp)
jle 0x26627
movq 0x58(%rsp), %r12
leaq (%r12,%r12,8), %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax,8), %r14
addq $0x18, %r14
cmpq $0x20c, 0x38(%rsp)      # imm = 0x20C
movq 0x50(%rsp), %rax
movq 0x68(%rsp), %r15
jle 0x26683
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %r12
addq $0x20, %r12
cmpq $0x22f, 0x38(%rsp)      # imm = 0x22F
jle 0x266cc
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbx
movq %rbx, %rdx
movq %r12, %rcx
callq 0x25edc
movq %r14, %rdi
movq 0x30(%rsp), %r13
movq %r13, %rsi
movq %rbx, %rdx
movq %r12, %rcx
callq 0x25edc
jmp 0x266f8
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbp
movq %rbp, %rdx
callq 0x1e000
leaq (%r12,%r12,8), %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax,8), %rdi
addq $0x18, %rdi
movq %r13, %rsi
movq %rbp, %rdx
movq 0x48(%rsp), %rbp
callq 0x1e000
jmp 0x26702
movq 0x50(%rsp), %rax
shlq $0x5, %rax
movq 0x20(%rsp), %r14
leaq (%r14,%rax), %rbx
addq $0x20, %rbx
movq 0x68(%rsp), %r15
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbp
movq %rbp, %rdx
movq %rbx, %rcx
callq 0x26ee4
movq 0x58(%rsp), %r12
leaq (%r12,%r12,8), %rax
leaq (%r14,%rax,8), %rdi
addq $0x18, %rdi
movq 0x30(%rsp), %r13
movq %r13, %rsi
movq %rbp, %rdx
movq 0x48(%rsp), %rbp
movq %rbx, %rcx
callq 0x26ee4
jmp 0x266c5
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %rbx
addq $0x20, %rbx
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbp
movq %rbp, %rdx
movq %rbx, %rcx
callq 0x271b4
movq %r14, %rdi
movq 0x30(%rsp), %r13
movq %r13, %rsi
movq %rbp, %rdx
movq 0x48(%rsp), %rbp
movq %rbx, %rcx
callq 0x271b4
movq 0x40(%rsp), %rbx
jmp 0x26702
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbx
movq %rbx, %rdx
movq %r12, %rcx
callq 0x2761c
movq %r14, %rdi
movq 0x30(%rsp), %r13
movq %r13, %rsi
movq %rbx, %rdx
movq %r12, %rcx
callq 0x2761c
movq 0x40(%rsp), %rbx
movq 0x58(%rsp), %r12
leaq (%r12,%r12,8), %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax,8), %rdi
addq $0x18, %rdi
movl $0x6, (%rsp)
movq %rdi, 0x80(%rsp)
movq 0x70(%rsp), %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq %r12, %r8
movl $0x3, %r9d
callq 0x26da4
movq %r15, 0x8(%rsp)
movl $0x1, (%rsp)
movq %r13, %rdi
movq %rbp, %rsi
movl $0x7, %edx
movq 0x60(%rsp), %rcx
movq %r12, %r8
movq %rbx, %r9
callq 0x281b8
cmpq $0x1f, 0x38(%rsp)
jle 0x267e1
cmpq $0x7e, 0x38(%rsp)
jle 0x26815
movq 0x50(%rsp), %r12
leaq (%r15,%r12,8), %r14
cmpq $0x20c, 0x38(%rsp)      # imm = 0x20C
jle 0x26862
movq %r12, %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %r12
addq $0x20, %r12
cmpq $0x22f, 0x38(%rsp)      # imm = 0x22F
jle 0x268ae
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbx
movq %rbx, %rdx
movq %r12, %rcx
callq 0x25edc
movq %r14, %rdi
movq 0x30(%rsp), %rsi
movq %rsi, %r14
movq %rbx, %rdx
movq %r12, %rcx
callq 0x25edc
jmp 0x268da
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbp
movq %rbp, %rdx
callq 0x1e000
movq 0x50(%rsp), %r12
leaq (%r15,%r12,8), %rdi
movq %r13, %r14
movq %r13, %rsi
movq %rbp, %rdx
movq 0x48(%rsp), %rbp
callq 0x1e000
jmp 0x268e4
movq 0x50(%rsp), %r12
movq %r12, %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %rbx
addq $0x20, %rbx
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbp
movq %rbp, %rdx
movq %rbx, %rcx
callq 0x26ee4
leaq (%r15,%r12,8), %rdi
movq 0x30(%rsp), %rsi
movq %rsi, %r14
movq %rbp, %rdx
movq 0x48(%rsp), %rbp
movq %rbx, %rcx
callq 0x26ee4
jmp 0x268a7
movq %r12, %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %rbx
addq $0x20, %rbx
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbp
movq %rbp, %rdx
movq %rbx, %rcx
callq 0x271b4
movq %r14, %rdi
movq 0x30(%rsp), %rsi
movq %rsi, %r14
movq %rbp, %rdx
movq 0x48(%rsp), %rbp
movq %rbx, %rcx
callq 0x271b4
movq 0x40(%rsp), %rbx
jmp 0x268e4
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbx
movq %rbx, %rdx
movq %r12, %rcx
callq 0x2761c
movq %r14, %rdi
movq 0x30(%rsp), %rsi
movq %rsi, %r14
movq %rbx, %rdx
movq %r12, %rcx
callq 0x2761c
movq 0x40(%rsp), %rbx
movq 0x50(%rsp), %r12
leaq (%r15,%r12,8), %rdi
movl $0x0, (%rsp)
movq 0x70(%rsp), %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq %r15, %r13
movq 0x58(%rsp), %r15
movq %r15, %r8
movl $0x1, %r9d
callq 0x26da4
movq %r13, (%rsp)
movq %r14, %r12
movq %r14, %rdi
movq %rbp, %rsi
movl $0x7, %edx
movq 0x60(%rsp), %rcx
movq %r15, %r8
movq %rbx, %r9
callq 0x27b38
cmpq $0x1f, 0x38(%rsp)
jle 0x269b8
cmpq $0x7e, 0x38(%rsp)
jle 0x269f3
movq 0x78(%rsp), %r14
movq 0x68(%rsp), %r15
leaq (%r15,%r14,8), %r12
cmpq $0x20c, 0x38(%rsp)      # imm = 0x20C
movq 0x50(%rsp), %rax
jle 0x26a47
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %r14
addq $0x20, %r14
cmpq $0x22f, 0x38(%rsp)      # imm = 0x22F
jle 0x26a90
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbx
movq %rbx, %rdx
movq %r14, %rcx
callq 0x25edc
movq %r12, %rdi
movq 0x30(%rsp), %r12
movq %r12, %rsi
movq %rbx, %rdx
movq %r14, %rcx
callq 0x25edc
jmp 0x26abc
movq %r13, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbp
movq %rbp, %rdx
callq 0x1e000
movq 0x78(%rsp), %r14
leaq (,%r14,8), %rdi
addq %r13, %rdi
movq %r12, %rsi
movq %rbp, %rdx
movq 0x48(%rsp), %rbp
callq 0x1e000
movq %r13, %r15
jmp 0x26ac6
movq 0x50(%rsp), %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %rbx
addq $0x20, %rbx
movq 0x68(%rsp), %r15
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbp
movq %rbp, %rdx
movq %rbx, %rcx
callq 0x26ee4
movq 0x78(%rsp), %r14
leaq (%r15,%r14,8), %rdi
movq 0x30(%rsp), %r12
movq %r12, %rsi
movq %rbp, %rdx
movq 0x48(%rsp), %rbp
movq %rbx, %rcx
callq 0x26ee4
jmp 0x26a89
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %rbx
addq $0x20, %rbx
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbp
movq %rbp, %rdx
movq %rbx, %rcx
callq 0x271b4
movq %r12, %rdi
movq 0x30(%rsp), %r12
movq %r12, %rsi
movq %rbp, %rdx
movq 0x48(%rsp), %rbp
movq %rbx, %rcx
callq 0x271b4
movq 0x40(%rsp), %rbx
jmp 0x26ac6
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbx
movq %rbx, %rdx
movq %r14, %rcx
callq 0x2761c
movq %r12, %rdi
movq 0x30(%rsp), %r12
movq %r12, %rsi
movq %rbx, %rdx
movq %r14, %rcx
callq 0x2761c
movq 0x40(%rsp), %rbx
movq 0x78(%rsp), %r14
leaq (%r15,%r14,8), %rdi
movl $0x0, (%rsp)
movq 0x70(%rsp), %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq 0x58(%rsp), %r14
movq %r14, %r8
xorl %r9d, %r9d
callq 0x26da4
movq %r15, 0x8(%rsp)
movl $0x2, (%rsp)
movq %r12, %rdi
movq %rbp, %rsi
movl $0x7, %edx
movq 0x60(%rsp), %rcx
movq %r14, %r8
movq %rbx, %r9
callq 0x27fb4
cmpq $0x1f, 0x38(%rsp)
jle 0x26b88
cmpq $0x7e, 0x38(%rsp)
jle 0x26bb5
cmpq $0x20c, 0x38(%rsp)      # imm = 0x20C
movq 0x50(%rsp), %rax
jle 0x26bfb
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %r13
addq $0x20, %r13
cmpq $0x22f, 0x38(%rsp)      # imm = 0x22F
jle 0x26c3c
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %r12
movq %r12, %rdx
movq %r13, %rcx
callq 0x25edc
movq %rbp, %rdi
movq 0x30(%rsp), %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x25edc
jmp 0x26c65
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %rbp
movq %rbp, %rdx
callq 0x1e000
movq 0x48(%rsp), %rdi
movq %r12, %rsi
movq %rbp, %rdx
movq 0x48(%rsp), %rbp
callq 0x1e000
jmp 0x26c65
movq 0x50(%rsp), %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %rbx
addq $0x20, %rbx
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %r12
movq %r12, %rdx
movq %rbx, %rcx
callq 0x26ee4
movq %rbp, %rdi
movq 0x30(%rsp), %rsi
movq %r12, %rdx
movq %rbx, %rcx
movq 0x40(%rsp), %rbx
callq 0x26ee4
jmp 0x26c65
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %rbx
addq $0x20, %rbx
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %r12
movq %r12, %rdx
movq %rbx, %rcx
callq 0x271b4
movq %rbp, %rdi
movq 0x30(%rsp), %rsi
movq %r12, %rdx
movq %rbx, %rcx
movq 0x40(%rsp), %rbx
callq 0x271b4
jmp 0x26c65
movq %r15, %rdi
movq %rbp, %rsi
movq 0x28(%rsp), %r12
movq %r12, %rdx
movq %r13, %rcx
callq 0x2761c
movq %rbp, %rdi
movq 0x30(%rsp), %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x2761c
movl $0x4, (%rsp)
movq %rbp, %rdi
movq 0x70(%rsp), %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq %r14, %r8
movl $0x2, %r9d
callq 0x26da4
cmpq $0x20, 0x38(%rsp)
jle 0x26cd7
cmpq $0x7f, 0x38(%rsp)
movq 0x50(%rsp), %r12
jle 0x26cee
cmpq $0x20d, 0x38(%rsp)      # imm = 0x20D
jle 0x26d13
movq %r12, %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
addq %rax, %rcx
addq $0x20, %rcx
cmpq $0x230, 0x38(%rsp)      # imm = 0x230
jle 0x26d38
movq %r15, %rdi
movq 0x60(%rsp), %rsi
movq %r14, %rdx
callq 0x25edc
jmp 0x26d48
movq %r15, %rdi
movq 0x60(%rsp), %rsi
movq %r14, %rdx
callq 0x1e000
movq 0x50(%rsp), %r12
jmp 0x26d48
movq %r12, %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
addq %rax, %rcx
addq $0x20, %rcx
movq %r15, %rdi
movq 0x60(%rsp), %rsi
movq %r14, %rdx
callq 0x26ee4
jmp 0x26d48
movq %r12, %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
addq %rax, %rcx
addq $0x20, %rcx
movq %r15, %rdi
movq 0x60(%rsp), %rsi
movq %r14, %rdx
callq 0x271b4
jmp 0x26d48
movq %r15, %rdi
movq 0x60(%rsp), %rsi
movq %r14, %rdx
callq 0x2761c
addq %rbx, %rbx
shlq $0x5, %r12
movq 0x20(%rsp), %r8
leaq (%r8,%r12), %rax
addq $0x20, %rax
movq %rbx, (%rsp)
movq %rax, 0x10(%rsp)
movl $0x0, 0x8(%rsp)
movq %r15, %rdi
movq 0x80(%rsp), %rsi
movq 0x88(%rsp), %rdx
movq 0x90(%rsp), %rcx
movq %r14, %r9
callq 0x2993c
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop