// File: /workspace/github_cpp_makefile_star2_O3/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, %r12
movq %rdx, %r9
movq %rsi, %rcx
movq %rdi, %r15
leaq -0x1(%rdx), %r14
sarq $0x3, %r14
leaq 0x1(%r14), %r8
leaq 0x8(,%r14,8), %rax
subq %r8, %rax
movq %rax, 0x78(%rsp)
subq %rax, %r9
imulq $0x68, %r14, %rax
leaq (%rax,%rdi), %rbp
addq $0x78, %rbp
imulq $0x58, %r8, %rbx
addq %rdi, %rbx
movq %rdi, 0x8(%rsp)
movl $0x3, (%rsp)
movq %rbp, %rdi
movq %rbx, %rsi
movl $0x7, %edx
movq %rcx, 0x60(%rsp)
movq %r8, 0x50(%rsp)
movq %r9, 0x70(%rsp)
callq 0x27e54
leaq 0x2(%r14), %r13
cmpq $0x1f, %r14
movq %r12, 0x20(%rsp)
movq %rbp, 0x40(%rsp)
movq %rbx, 0x38(%rsp)
movq %r13, 0x30(%rsp)
movq %r14, 0x58(%rsp)
movq %r15, 0x28(%rsp)
jle 0x25b5b
cmpq $0x7e, %r14
jbe 0x25b84
cmpq $0x20c, %r14            # imm = 0x20C
jbe 0x25bdb
movq 0x50(%rsp), %rax
leaq (%rax,%rax,2), %rax
shlq $0x5, %rax
movq %r12, %r15
addq %r12, %rax
addq $0x20, %rax
cmpq $0x22f, %r14            # imm = 0x22F
jbe 0x25c2f
movq 0x28(%rsp), %r12
movq %r12, %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %rax, %r14
movq %rax, %rcx
callq 0x25a40
movq %r15, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq %r14, %rcx
callq 0x25a40
jmp 0x25c68
movq %r15, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x1dad0
movq %r12, %rdi
movq %rbp, %rsi
movq %r13, %rdx
callq 0x1dad0
movq 0x50(%rsp), %r14
movq %r12, %r13
jmp 0x25c73
movq 0x50(%rsp), %r14
leaq (%r14,%r14,2), %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %r12
addq $0x20, %r12
movq 0x28(%rsp), %r15
movq %r15, %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq %r13, %rdx
movq %r12, %rcx
callq 0x26b38
movq 0x20(%rsp), %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq %r12, %rcx
movq 0x20(%rsp), %r13
callq 0x26b38
jmp 0x25c73
movq 0x50(%rsp), %r14
leaq (%r14,%r14,2), %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %r12
addq $0x20, %r12
movq 0x28(%rsp), %r15
movq %r15, %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq %r13, %rdx
movq %r12, %rcx
callq 0x26dec
movq 0x20(%rsp), %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq %r12, %rcx
movq 0x20(%rsp), %r13
callq 0x26dec
jmp 0x25c73
movq 0x28(%rsp), %r12
movq %r12, %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %rax, %r14
movq %rax, %rcx
callq 0x272d0
movq %r15, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq %r14, %rcx
callq 0x272d0
movq 0x50(%rsp), %r14
movq %r15, %r13
movq %r12, %r15
leaq 0x1(,%r14,2), %rsi
movl $0x0, (%rsp)
movq %r13, %rdi
movq %rsi, 0x68(%rsp)
movq %r15, %rdx
xorl %ecx, %ecx
movq %r14, %r8
movl $0x3, %r9d
callq 0x269f8
movq %r15, 0x8(%rsp)
movl $0x2, (%rsp)
movq %rbp, %rdi
movq %rbx, %rsi
movl $0x7, %edx
movq 0x60(%rsp), %rcx
movq %r14, %r8
movq 0x70(%rsp), %r9
callq 0x27e54
movq 0x58(%rsp), %rdx
cmpq $0x1f, %rdx
jle 0x25d4b
cmpq $0x7e, %rdx
jbe 0x25d7d
leaq (%r14,%r14,2), %rax
leaq 0x8(,%rax,8), %rbp
addq %r13, %rbp
shlq $0x5, %rax
cmpq $0x20c, %rdx            # imm = 0x20C
jbe 0x25dda
movq %r13, %r15
leaq (%rax,%r13), %r12
addq $0x20, %r12
cmpq $0x22f, %rdx            # imm = 0x22F
jbe 0x25e1f
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %r12, %rcx
callq 0x25a40
movq %rbp, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq %r12, %rcx
callq 0x25a40
jmp 0x25e52
movq %r15, %rdi
movq %rbx, %rsi
movq %r13, %r15
movq 0x30(%rsp), %r13
movq %r13, %rdx
callq 0x1dad0
leaq (%r14,%r14,2), %rax
leaq (%r15,%rax,8), %rdi
addq $0x8, %rdi
movq %rbp, %rsi
movq %r13, %rdx
callq 0x1dad0
jmp 0x25e52
leaq (%r14,%r14,2), %r12
movq %r12, %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
addq %rax, %rcx
addq $0x20, %rcx
movq %rcx, 0x48(%rsp)
movq %r15, %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
callq 0x26b38
movq 0x20(%rsp), %rax
leaq (%rax,%r12,8), %rdi
addq $0x8, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq 0x48(%rsp), %rcx
movq 0x20(%rsp), %r15
callq 0x26b38
jmp 0x25e52
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %r12
addq $0x20, %r12
movq %r15, %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %r12, %rcx
callq 0x26dec
movq %rbp, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq %r12, %rcx
movq 0x20(%rsp), %r15
callq 0x26dec
jmp 0x25e52
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %r12, %rcx
callq 0x272d0
movq %rbp, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq %r12, %rcx
callq 0x272d0
leaq (%r14,%r14,2), %rax
movq %rax, 0x48(%rsp)
leaq (%r15,%rax,8), %rdi
addq $0x8, %rdi
movl $0x0, (%rsp)
movq %rdi, 0x90(%rsp)
movq 0x68(%rsp), %rsi
movq 0x28(%rsp), %r12
movq %r12, %rdx
xorl %ecx, %ecx
movq %r14, %r8
movl $0x2, %r9d
callq 0x269f8
movq %r12, (%rsp)
movq %rbp, %rdi
movq %rbx, %rsi
movl $0x7, %edx
movq 0x60(%rsp), %rcx
movq %r14, %r8
movq 0x70(%rsp), %r9
callq 0x279c8
movq 0x58(%rsp), %rcx
cmpq $0x1f, %rcx
jle 0x25f3a
cmpq $0x7e, %rcx
jbe 0x25f72
movq %r14, %rax
shlq $0x4, %rax
leaq (%rax,%rax,2), %r12
leaq (%r15,%r12), %rbp
addq $0x10, %rbp
cmpq $0x20c, %rcx            # imm = 0x20C
jbe 0x25fda
movq 0x48(%rsp), %rax
shlq $0x5, %rax
addq %rax, %r15
addq $0x20, %r15
cmpq $0x22f, %rcx            # imm = 0x22F
jbe 0x2602a
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %r15, %rcx
callq 0x25a40
movq %rbp, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq %r15, %rcx
callq 0x25a40
jmp 0x2605d
movq 0x28(%rsp), %rdi
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
callq 0x1dad0
movq %r14, %rax
shlq $0x4, %rax
leaq (%rax,%rax,2), %r12
leaq (%r15,%r12), %rdi
addq $0x10, %rdi
movq %rbp, %rsi
movq %r13, %rdx
callq 0x1dad0
jmp 0x26062
movq 0x48(%rsp), %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %r15
addq $0x20, %r15
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %r15, %rcx
callq 0x26b38
movq %r14, %rax
shlq $0x4, %rax
leaq (%rax,%rax,2), %r12
movq 0x20(%rsp), %rax
leaq (%rax,%r12), %rdi
addq $0x10, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq %r15, %rcx
movq 0x20(%rsp), %r15
callq 0x26b38
jmp 0x26062
movq 0x48(%rsp), %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %r15
addq $0x20, %r15
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %r15, %rcx
callq 0x26dec
movq %rbp, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq %r15, %rcx
movq 0x20(%rsp), %r15
callq 0x26dec
jmp 0x26062
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %r15, %rcx
callq 0x272d0
movq %rbp, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq %r15, %rcx
callq 0x272d0
movq 0x20(%rsp), %r15
leaq (%r15,%r12), %rdi
addq $0x10, %rdi
movl $0x2, (%rsp)
movq %rdi, 0x88(%rsp)
movq 0x68(%rsp), %rsi
movq 0x28(%rsp), %r12
movq %r12, %rdx
xorl %ecx, %ecx
movq %r14, %r8
movl $0x1, %r9d
callq 0x269f8
movq %r12, 0x8(%rsp)
movl $0x3, (%rsp)
movq %rbp, %rdi
movq %rbx, %rsi
movl $0x7, %edx
movq 0x60(%rsp), %rcx
movq %r14, %r8
movq 0x70(%rsp), %r9
callq 0x27c54
movq 0x58(%rsp), %rcx
cmpq $0x1f, %rcx
jle 0x2614e
cmpq $0x7e, %rcx
jbe 0x2618a
leaq (,%r14,8), %rax
leaq (%rax,%rax,8), %r12
leaq (%r15,%r12), %rbp
addq $0x18, %rbp
cmpq $0x20c, %rcx            # imm = 0x20C
jbe 0x261ee
movq 0x48(%rsp), %rax
shlq $0x5, %rax
addq %rax, %r15
addq $0x20, %r15
cmpq $0x22f, %rcx            # imm = 0x22F
jbe 0x2623e
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %r15, %rcx
callq 0x25a40
movq %rbp, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq %r15, %rcx
callq 0x25a40
jmp 0x26271
movq 0x28(%rsp), %rdi
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
callq 0x1dad0
leaq (,%r14,8), %rax
leaq (%rax,%rax,8), %r12
leaq (%r15,%r12), %rdi
addq $0x18, %rdi
movq %rbp, %rsi
movq %r13, %rdx
movq %r15, %r13
callq 0x1dad0
jmp 0x26276
movq 0x48(%rsp), %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %r15
addq $0x20, %r15
movq 0x28(%rsp), %rdi
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %r15, %rcx
callq 0x26b38
leaq (,%r14,8), %rax
leaq (%rax,%rax,8), %r12
movq 0x20(%rsp), %rax
leaq (%rax,%r12), %rdi
addq $0x18, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq %r15, %rcx
movq 0x20(%rsp), %r13
callq 0x26b38
jmp 0x26276
movq 0x48(%rsp), %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %r15
addq $0x20, %r15
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %r15, %rcx
callq 0x26dec
movq %rbp, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq %r15, %rcx
movq 0x20(%rsp), %r13
callq 0x26dec
jmp 0x26276
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %r15, %rcx
callq 0x272d0
movq %rbp, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq %r15, %rcx
callq 0x272d0
movq 0x20(%rsp), %r13
leaq (%r12,%r13), %rdi
addq $0x18, %rdi
movl $0x6, (%rsp)
movq %rdi, 0x80(%rsp)
movq 0x68(%rsp), %rsi
movq 0x28(%rsp), %r12
movq %r12, %rdx
xorl %ecx, %ecx
movq %r14, %r8
movl $0x3, %r9d
callq 0x269f8
movq %r12, 0x8(%rsp)
movl $0x1, (%rsp)
movq %rbp, %rdi
movq %rbx, %rsi
movl $0x7, %edx
movq 0x60(%rsp), %rcx
movq %r14, %r8
movq 0x70(%rsp), %r9
callq 0x27e54
movq 0x58(%rsp), %r13
cmpq $0x1f, %r13
jle 0x26355
cmpq $0x7e, %r13
jbe 0x26386
movq 0x28(%rsp), %rax
movq 0x48(%rsp), %rbx
leaq (%rax,%rbx,8), %r15
cmpq $0x20c, %r13            # imm = 0x20C
jbe 0x263dd
shlq $0x5, %rbx
movq 0x20(%rsp), %rcx
addq %rcx, %rbx
addq $0x20, %rbx
cmpq $0x22f, %r13            # imm = 0x22F
jbe 0x26428
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rsi
movq 0x30(%rsp), %r12
movq %r12, %rdx
movq %rbx, %rcx
callq 0x25a40
movq %r15, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r12, %rdx
movq %rbx, %rcx
callq 0x25a40
jmp 0x26458
movq 0x28(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movq 0x30(%rsp), %r12
movq %r12, %rdx
callq 0x1dad0
movq 0x48(%rsp), %rbx
leaq (%r15,%rbx,8), %rdi
movq %rbp, %rsi
movq %r12, %rdx
callq 0x1dad0
jmp 0x2645d
movq 0x48(%rsp), %rbx
movq %rbx, %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %r12
addq $0x20, %r12
movq 0x28(%rsp), %r15
movq %r15, %rdi
movq 0x38(%rsp), %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %r12, %rcx
callq 0x26b38
leaq (%r15,%rbx,8), %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq 0x58(%rsp), %r13
movq %r12, %rcx
callq 0x26b38
jmp 0x2645d
movq %rbx, %rax
shlq $0x5, %rax
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax), %r12
addq $0x20, %r12
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %r12, %rcx
callq 0x26dec
movq %r15, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq 0x58(%rsp), %r13
movq %r12, %rcx
callq 0x26dec
jmp 0x2645d
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rsi
movq 0x30(%rsp), %r12
movq %r12, %rdx
movq %rbx, %rcx
callq 0x272d0
movq %r15, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r12, %rdx
movq %rbx, %rcx
callq 0x272d0
movq 0x48(%rsp), %rbx
movq 0x28(%rsp), %r15
leaq (%r15,%rbx,8), %rdi
movl $0x0, (%rsp)
movq 0x68(%rsp), %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq %r14, %r8
movl $0x1, %r9d
callq 0x269f8
movq %r15, (%rsp)
movq %rbp, %rdi
movq 0x38(%rsp), %rsi
movl $0x7, %edx
movq 0x60(%rsp), %rcx
movq %r14, %r8
movq 0x70(%rsp), %r9
callq 0x277e4
cmpq $0x1f, %r13
jle 0x26529
cmpq $0x7e, %r13
jbe 0x2655f
movq 0x78(%rsp), %r14
movq 0x28(%rsp), %rax
leaq (%rax,%r14,8), %r15
shlq $0x5, %rbx
cmpq $0x20c, %r13            # imm = 0x20C
jbe 0x265b3
movq 0x20(%rsp), %rax
leaq (%rax,%rbx), %r14
addq $0x20, %r14
cmpq $0x22f, %r13            # imm = 0x22F
jbe 0x265fa
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r12
movq %r12, %rdx
movq %r14, %rcx
callq 0x25a40
movq %r15, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r12, %rdx
movq %r14, %rcx
callq 0x25a40
jmp 0x2662d
movq 0x28(%rsp), %r15
movq %r15, %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r12
movq %r12, %rdx
callq 0x1dad0
movq 0x78(%rsp), %r14
leaq (%r15,%r14,8), %rdi
movq %rbp, %rsi
movq %r12, %rdx
callq 0x1dad0
jmp 0x26632
shlq $0x5, %rbx
movq 0x20(%rsp), %rax
leaq (%rax,%rbx), %r12
addq $0x20, %r12
movq 0x28(%rsp), %r15
movq %r15, %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %r12, %rcx
callq 0x26b38
movq 0x78(%rsp), %r14
leaq (%r15,%r14,8), %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq 0x58(%rsp), %r13
movq %r12, %rcx
callq 0x26b38
jmp 0x26632
movq 0x20(%rsp), %rax
leaq (%rax,%rbx), %r12
addq $0x20, %r12
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %r12, %rcx
callq 0x26dec
movq %r15, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r13, %rdx
movq 0x58(%rsp), %r13
movq %r12, %rcx
callq 0x26dec
jmp 0x26632
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rbx
movq %rbx, %rsi
movq 0x30(%rsp), %r12
movq %r12, %rdx
movq %r14, %rcx
callq 0x272d0
movq %r15, %rdi
movq 0x40(%rsp), %rbp
movq %rbp, %rsi
movq %r12, %rdx
movq %r14, %rcx
callq 0x272d0
movq 0x78(%rsp), %r14
movq 0x28(%rsp), %r15
leaq (%r15,%r14,8), %rdi
movl $0x0, (%rsp)
movq 0x68(%rsp), %r12
movq %r12, %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq 0x50(%rsp), %r14
movq %r14, %r8
xorl %r9d, %r9d
callq 0x269f8
movq %r15, 0x8(%rsp)
movl $0x2, (%rsp)
movq %rbp, %rdi
movq %rbx, %rsi
movl $0x7, %edx
movq 0x60(%rsp), %rcx
movq %r14, %r8
movq 0x70(%rsp), %r9
callq 0x27c54
cmpq $0x1f, %r13
jle 0x26750
cmpq $0x7f, %r13
jb 0x267be
cmpq $0x20d, %r13            # imm = 0x20D
jb 0x26849
movq %r14, %rax
shlq $0x5, %rax
leaq (%rax,%rax,2), %rbx
movq 0x20(%rsp), %rax
leaq (%rax,%rbx), %r12
addq $0x20, %r12
cmpq $0x22f, %r13            # imm = 0x22F
jbe 0x268ef
movq 0x28(%rsp), %r15
movq %r15, %rdi
movq 0x38(%rsp), %rbp
movq %rbp, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %r12, %rcx
callq 0x25a40
movq %rbp, %rdi
movq 0x40(%rsp), %rsi
movq %r13, %rdx
movq %r12, %r13
movq %r12, %rcx
callq 0x25a40
movl $0x4, (%rsp)
movq %rbp, %rdi
movq 0x68(%rsp), %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq %r14, %r8
movl $0x2, %r9d
callq 0x269f8
movl $0xd260, %r12d          # imm = 0xD260
cmpq $0x230, 0x58(%rsp)      # imm = 0x230
je 0x2697c
movq %r15, %rdi
movq 0x60(%rsp), %rsi
movq %r14, %rdx
movq %r13, %rcx
callq 0x25a40
jmp 0x267b4
movq 0x28(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rsi
movq %r12, %r13
movq 0x30(%rsp), %r12
movq %r12, %rdx
callq 0x1dad0
movq %rbx, %rdi
movq %rbp, %rsi
movq %r12, %rdx
callq 0x1dad0
movl $0x4, (%rsp)
movq %rbx, %rdi
movq %r13, %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq %r14, %r8
movl $0x2, %r9d
callq 0x269f8
movq %r14, %rax
shlq $0x5, %rax
leaq (%rax,%rax,2), %rbx
movq %r15, %rdi
movq 0x60(%rsp), %rsi
movq %r14, %rdx
callq 0x1dad0
movq 0x20(%rsp), %r13
jmp 0x2699c
movq %r14, %rax
shlq $0x5, %rax
movq %r12, %r14
leaq (%rax,%rax,2), %r12
movq 0x20(%rsp), %rax
leaq (%rax,%r12), %rbx
addq $0x20, %rbx
movq 0x28(%rsp), %r15
movq %r15, %rdi
movq 0x38(%rsp), %rbp
movq %rbp, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %rbx, %rcx
callq 0x26b38
movq %rbp, %rdi
movq 0x40(%rsp), %rsi
movq %r13, %rdx
movq %rbx, %rcx
callq 0x26b38
movl $0x4, (%rsp)
movq %rbp, %rdi
movq %r14, %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq 0x50(%rsp), %r8
movl $0x2, %r9d
callq 0x269f8
movl $0xc60, %ebx            # imm = 0xC60
cmpq $0x20, 0x58(%rsp)
movq 0x50(%rsp), %r14
je 0x267a4
jmp 0x268cd
shlq $0x5, %r14
leaq (%r14,%r14,2), %rbp
movq 0x20(%rsp), %rax
leaq (%rax,%rbp), %rbx
addq $0x20, %rbx
movq 0x28(%rsp), %r15
movq %r15, %rdi
movq 0x38(%rsp), %r12
movq %r12, %rsi
movq %r13, %r14
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %rbx, %rcx
callq 0x26dec
movq %r12, %rdi
movq 0x40(%rsp), %rsi
movq %r13, %rdx
movq %rbx, %rcx
callq 0x26dec
movl $0x4, (%rsp)
movq %r12, %rdi
movq 0x68(%rsp), %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq 0x50(%rsp), %r8
movl $0x2, %r9d
callq 0x269f8
movl $0x3000, %r12d          # imm = 0x3000
cmpq $0x7f, %r14
movq 0x50(%rsp), %r14
jne 0x26957
movq 0x20(%rsp), %r13
leaq (%r12,%r13), %rcx
addq $0x20, %rcx
movq %r15, %rdi
movq 0x60(%rsp), %rsi
movq %r14, %rdx
callq 0x26b38
jmp 0x26999
movq 0x28(%rsp), %r15
movq %r15, %rdi
movq 0x38(%rsp), %rbp
movq %rbp, %rsi
movq 0x30(%rsp), %r13
movq %r13, %rdx
movq %r12, %rcx
callq 0x272d0
movq %rbp, %rdi
movq 0x40(%rsp), %rsi
movq %r13, %rdx
movq %r12, %rcx
callq 0x272d0
movl $0x4, (%rsp)
movq %rbp, %rdi
movq 0x68(%rsp), %rsi
movq %r15, %rdx
xorl %ecx, %ecx
movq %r14, %r8
movl $0x2, %r9d
callq 0x269f8
movl $0xc540, %ebp           # imm = 0xC540
movq %rbx, %r12
cmpq $0x20d, 0x58(%rsp)      # imm = 0x20D
jne 0x2697c
movq 0x20(%rsp), %r13
leaq 0x20(,%rbp), %rcx
addq %r13, %rcx
movq %r15, %rdi
movq 0x60(%rsp), %rsi
movq %r14, %rdx
callq 0x26dec
movq %rbp, %rbx
jmp 0x2699c
movq 0x20(%rsp), %r13
leaq (%r12,%r13), %rcx
addq $0x20, %rcx
movq %r15, %rdi
movq 0x60(%rsp), %rsi
movq %r14, %rdx
callq 0x272d0
movq %r12, %rbx
movq 0x70(%rsp), %rcx
addq %rcx, %rcx
leaq (%rbx,%r13), %rax
addq $0x20, %rax
movq %rax, 0x10(%rsp)
movq %rcx, (%rsp)
movl $0x0, 0x8(%rsp)
movq %r15, %rdi
movq 0x80(%rsp), %rsi
movq 0x88(%rsp), %rdx
movq 0x90(%rsp), %rcx
movq %r13, %r8
movq %r14, %r9
callq 0x295d0
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax)