// File: /workspace/github_cpp_makefile_star2_O1/sundale[P]gcode/rs274ngc/interp_cycles.cc
// Function: Interp::convert_cycle_xy(int, block_struct*, setup_struct*)
int Interp::convert_cycle_xy(int motion, //!< a g-code between G_81 and G_89, a canned cycle
                            block_pointer block,        //!< pointer to a block of RS274 instructions      
                            setup_pointer settings)     //!< pointer to machine settings                   
{
  double aa;
  double aa_increment=0.;
  double bb;
  double bb_increment=0.;
  double cc;
  double clear_cc;
  double i;
  double j;
  double k;
  double old_cc;
  double radius_increment = 0.;
  double theta_increment = 0.;
  CANON_PLANE plane;
  double r;
  int repeat;
  CANON_MOTION_MODE save_mode;
  double save_tolerance;

  plane = CANON_PLANE_XY;
  if (settings->motion_mode != motion) {
    CHKS((block->z_flag == OFF),
        _readers[(int)'z']? NCE_Z_VALUE_UNSPECIFIED_IN_XY_PLANE_CANNED_CYCLE: _("G17 canned cycle is not possible on a machine without Z axis"));
  }
  block->z_number =
    block->z_flag == ON ? block->z_number : settings->cycle_cc;
  old_cc = settings->current_z;

  if (settings->distance_mode == MODE_ABSOLUTE) {
    double radius, theta;
    aa_increment = 0.0;
    bb_increment = 0.0;
    r = block->r_number;
    cc = block->z_number;
    if(block->radius_flag)
        radius = block->radius;
    else
        radius = hypot(settings->current_y, settings->current_x);
    if(block->theta_flag)
        theta = D2R(block->theta);
    else
        theta = atan2(settings->current_y, settings->current_x);
    if(block->radius_flag || block->theta_flag) {
        aa = radius * cos(theta);
        bb = radius * sin(theta);
    } else {
        aa = block->x_flag == ON ? block->x_number : settings->current_x;
        bb = block->y_flag == ON ? block->y_number : settings->current_y;
    }
  } else if (settings->distance_mode == MODE_INCREMENTAL) {
    if (block->x_flag) aa_increment = block->x_number;
    if (block->y_flag) bb_increment = block->y_number;
    if (block->radius_flag) radius_increment = block->radius;
    if (block->theta_flag) theta_increment = D2R(block->theta);
    r = (block->r_number + old_cc);
    cc = (r + block->z_number); /* [NCMS, page 98] */
    aa = settings->current_x;
    bb = settings->current_y;
  } else
    ERS(NCE_BUG_DISTANCE_MODE_NOT_G90_OR_G91);
  CHKS((r < cc), NCE_R_LESS_THAN_Z_IN_CYCLE_IN_XY_PLANE);

  if (old_cc < r) {
    STRAIGHT_TRAVERSE(block->line_number, settings->current_x, settings->current_y, r,
                      settings->AA_current, settings->BB_current, settings->CC_current, 
                      settings->u_current, settings->v_current, settings->w_current);
    old_cc = r;
  }
  clear_cc = (settings->retract_mode == R_PLANE) ? r : old_cc;

  save_mode = GET_EXTERNAL_MOTION_CONTROL_MODE();
  save_tolerance = GET_EXTERNAL_MOTION_CONTROL_TOLERANCE();
  if (save_mode != CANON_EXACT_PATH)
    SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH, 0);

  switch (motion) {
  case G_81:
      CYCLE_MACRO(convert_cycle_g81(block, CANON_PLANE_XY, aa, bb, clear_cc, cc))
      break;
  case G_82:
    CHKS(((settings->motion_mode != G_82) && (block->p_number == -1.0)),
        NCE_DWELL_TIME_P_WORD_MISSING_WITH_G82);
    block->p_number =
      block->p_number == -1.0 ? settings->cycle_p : block->p_number;
    CYCLE_MACRO(convert_cycle_g82(block, CANON_PLANE_XY, aa, bb, clear_cc, cc,
                                  block->p_number))
      settings->cycle_p = block->p_number;
    break;
  case G_73:
    CHKS(((settings->motion_mode != G_73) && (block->q_number == -1.0)),
        NCE_Q_WORD_MISSING_WITH_G73);
    block->q_number =
      block->q_number == -1.0 ? settings->cycle_q : block->q_number;
    CYCLE_MACRO(convert_cycle_g73(block, CANON_PLANE_XY, aa, bb, r, clear_cc, cc,
                                  block->q_number))
      settings->cycle_q = block->q_number;
    break;
  case G_83:
    CHKS(((settings->motion_mode != G_83) && (block->q_number == -1.0)),
        NCE_Q_WORD_MISSING_WITH_G83);
    block->q_number =
      block->q_number == -1.0 ? settings->cycle_q : block->q_number;
    CYCLE_MACRO(convert_cycle_g83(block, CANON_PLANE_XY, aa, bb, r, clear_cc, cc,
                                  block->q_number))
      settings->cycle_q = block->q_number;
    break;
  case G_84:
      CYCLE_MACRO(convert_cycle_g84(block, CANON_PLANE_XY, aa, bb, clear_cc, cc,
                                  settings->spindle_turning,
                                  settings->speed_feed_mode)) break;
  case G_85:
      CYCLE_MACRO(convert_cycle_g85(block, CANON_PLANE_XY, aa, bb, clear_cc, cc))
      break;
  case G_86:
    CHKS(((settings->motion_mode != G_86) && (block->p_number == -1.0)),
        NCE_DWELL_TIME_P_WORD_MISSING_WITH_G86);
    block->p_number =
      block->p_number == -1.0 ? settings->cycle_p : block->p_number;
    CYCLE_MACRO(convert_cycle_g86(block, CANON_PLANE_XY, aa, bb, clear_cc, cc,
                                  block->p_number,
                                  settings->spindle_turning)) settings->
      cycle_p = block->p_number;
    break;
  case G_87:
    if (settings->motion_mode != G_87) {
      CHKS((block->i_flag == OFF), NCE_I_WORD_MISSING_WITH_G87);
      CHKS((block->j_flag == OFF), NCE_J_WORD_MISSING_WITH_G87);
      CHKS((block->k_flag == OFF), NCE_K_WORD_MISSING_WITH_G87);
    }
    i = block->i_flag == ON ? block->i_number : settings->cycle_i;
    j = block->j_flag == ON ? block->j_number : settings->cycle_j;
    k = block->k_flag == ON ? block->k_number : settings->cycle_k;
    settings->cycle_i = i;
    settings->cycle_j = j;
    settings->cycle_k = k;
    if (settings->distance_mode == MODE_INCREMENTAL) {
      k = (cc + k);             /* k always absolute in function call below */
    }
    CYCLE_MACRO(convert_cycle_g87(block, CANON_PLANE_XY, aa, (aa + i), bb,
                                  (bb + j), r, clear_cc, k, cc,
                                  settings->spindle_turning)) break;
  case G_88:
    CHKS(((settings->motion_mode != G_88) && (block->p_number == -1.0)),
        NCE_DWELL_TIME_P_WORD_MISSING_WITH_G88);
    block->p_number =
      block->p_number == -1.0 ? settings->cycle_p : block->p_number;
    CYCLE_MACRO(convert_cycle_g88(block, CANON_PLANE_XY, aa, bb, cc,
                                  block->p_number,
                                  settings->spindle_turning)) settings->
      cycle_p = block->p_number;
    break;
  case G_89:
    CHKS(((settings->motion_mode != G_89) && (block->p_number == -1.0)),
        NCE_DWELL_TIME_P_WORD_MISSING_WITH_G89);
    block->p_number =
      block->p_number == -1.0 ? settings->cycle_p : block->p_number;
    CYCLE_MACRO(convert_cycle_g89(block, CANON_PLANE_XY, aa, bb, clear_cc, cc,
                                  block->p_number))
      settings->cycle_p = block->p_number;
    break;
  default:
    ERS(NCE_BUG_FUNCTION_SHOULD_NOT_HAVE_BEEN_CALLED);
  }
  settings->current_x = aa;     /* CYCLE_MACRO updates aa and bb */
  settings->current_y = bb;
  settings->current_z = clear_cc;
  settings->cycle_cc = block->z_number;

  if (save_mode != CANON_EXACT_PATH)
    SET_MOTION_CONTROL_MODE(save_mode, save_tolerance);

  return INTERP_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
movq %rcx, %rbx
movq %rdx, %r15
movl %esi, %r12d
movq %rdi, %r14
cmpl %esi, 0x1798(%rcx)
je 0x1c0d4
cmpb $0x0, 0x290(%r15)
je 0x1c226
leaq 0x298(%r15), %rcx
cmpb $0x0, 0x290(%r15)
leaq 0x628(%rbx), %rax
movq %rcx, -0xe0(%rbp)
cmovneq %rcx, %rax
movsd (%rax), %xmm1
movsd %xmm1, 0x298(%r15)
movsd 0x610(%rbx), %xmm4
movl 0x668(%rbx), %eax
cmpl $0x1, %eax
je 0x1c157
testl %eax, %eax
jne 0x1c21a
movsd %xmm1, -0x88(%rbp)
movsd 0x230(%r15), %xmm2
cmpl $0x0, 0x2a0(%r15)
movsd %xmm2, -0x98(%rbp)
movsd %xmm4, -0x60(%rbp)
je 0x1c245
movsd 0x2a8(%r15), %xmm0
jmp 0x1c267
xorpd %xmm0, %xmm0
movsd %xmm0, -0xb8(%rbp)
cmpb $0x1, 0x270(%r15)
movsd %xmm0, -0xb0(%rbp)
jne 0x1c186
movsd 0x278(%r15), %xmm0
movsd %xmm0, -0xb0(%rbp)
cmpb $0x1, 0x280(%r15)
jne 0x1c1a1
movsd 0x288(%r15), %xmm0
movsd %xmm0, -0xb8(%rbp)
xorpd %xmm0, %xmm0
movsd %xmm0, -0x70(%rbp)
cmpl $0x0, 0x2a0(%r15)
movsd %xmm0, -0x78(%rbp)
je 0x1c1c7
movsd 0x2a8(%r15), %xmm0
movsd %xmm0, -0x78(%rbp)
cmpl $0x0, 0x2b0(%r15)
je 0x1c1ef
movsd 0x2b8(%r15), %xmm0
mulsd 0x1acee(%rip), %xmm0    # 0x36ed0
divsd 0x1acee(%rip), %xmm0    # 0x36ed8
movsd %xmm0, -0x70(%rbp)
movsd 0x230(%r15), %xmm2
addsd %xmm4, %xmm2
addsd %xmm2, %xmm1
movsd 0x600(%rbx), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd 0x608(%rbx), %xmm3
jmp 0x1c325
leaq 0x1dea0(%rip), %rdi     # 0x3a0c1
jmp 0x1c33a
cmpq $0x0, 0x7a8(%r14)
leaq 0x1de4f(%rip), %rax     # 0x3a084
leaq 0x1de1b(%rip), %rdi     # 0x3a057
cmoveq %rax, %rdi
jmp 0x1c33a
movsd 0x600(%rbx), %xmm1
movsd 0x608(%rbx), %xmm0
callq 0xa290
movsd -0x60(%rbp), %xmm4
movsd -0x98(%rbp), %xmm2
movsd %xmm0, -0x40(%rbp)
cmpl $0x0, 0x2b0(%r15)
je 0x1c291
movsd 0x2b8(%r15), %xmm0
mulsd 0x1ac49(%rip), %xmm0    # 0x36ed0
divsd 0x1ac49(%rip), %xmm0    # 0x36ed8
jmp 0x1c2b3
movsd 0x600(%rbx), %xmm1
movsd 0x608(%rbx), %xmm0
callq 0xa100
movsd -0x60(%rbp), %xmm4
movsd -0x98(%rbp), %xmm2
cmpl $0x0, 0x2a0(%r15)
jne 0x1c2cb
cmpl $0x0, 0x2b0(%r15)
je 0x1cd50
movsd %xmm0, -0x80(%rbp)
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x80(%rbp), %xmm0
callq 0xa1d0
movsd -0x60(%rbp), %xmm4
movsd -0x98(%rbp), %xmm2
movapd %xmm0, %xmm3
mulsd -0x40(%rbp), %xmm3
xorpd %xmm0, %xmm0
movsd %xmm0, -0x70(%rbp)
movsd %xmm0, -0x78(%rbp)
movsd %xmm0, -0xb8(%rbp)
movsd %xmm0, -0xb0(%rbp)
movsd -0x88(%rbp), %xmm1
movsd %xmm1, -0x88(%rbp)
ucomisd %xmm2, %xmm1
jbe 0x1c39f
leaq 0x1dda8(%rip), %rdi     # 0x3a0e2
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movq 0x27c0d(%rip), %rbx     # 0x43f60
movl $0x0, 0xd670(%rbx)
leaq 0xc6d0(%rbx), %rdi
leaq 0x1d6d2(%rip), %rsi     # 0x39a3d
movl $0x50, %edx
callq 0xa8a0
movw $0x0, 0xc71f(%rbx)
movl $0x1, 0xd670(%rbx)
movl $0x5, %eax
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movapd %xmm3, -0x40(%rbp)
ucomisd %xmm4, %xmm2
movsd %xmm2, -0x98(%rbp)
jbe 0x1c402
movl 0x1d0(%r15), %edi
movsd 0x600(%rbx), %xmm0
movsd 0x608(%rbx), %xmm1
movsd 0x8(%rbx), %xmm3
movsd 0x20(%rbx), %xmm4
movsd 0x38(%rbx), %xmm5
movsd 0x50(%rbx), %xmm6
movsd 0x68(%rbx), %xmm7
movsd 0x80(%rbx), %xmm8
movsd %xmm8, (%rsp)
callq 0xa8d0
movsd -0x98(%rbp), %xmm2
movapd %xmm2, %xmm4
cmpl $0x0, 0xc6a8(%rbx)
movsd %xmm2, -0x80(%rbp)
je 0x1c415
movsd %xmm4, -0x80(%rbp)
movsd %xmm4, -0x60(%rbp)
callq 0xa1e0
movl %eax, %r13d
callq 0xb5b0
movsd %xmm0, -0xd8(%rbp)
movl %r13d, -0xc4(%rbp)
cmpl $0x2, %r13d
je 0x1c44a
xorpd %xmm0, %xmm0
movl $0x2, %edi
callq 0xa0d0
cmpl $0x351, %r12d           # imm = 0x351
movapd -0x40(%rbp), %xmm8
movq %r14, -0x90(%rbp)
movq %rbx, -0xa0(%rbp)
jg 0x1c8c8
cmpl $0x333, %r12d           # imm = 0x333
movapd -0x50(%rbp), %xmm2
jle 0x1c93a
cmpl $0x334, %r12d           # imm = 0x334
je 0x1d178
cmpl $0x33e, %r12d           # imm = 0x33E
je 0x1d663
cmpl $0x348, %r12d           # imm = 0x348
jne 0x1d6d5
movl 0x1c8(%r15), %r12d
testl %r12d, %r12d
jle 0x1ee36
incl %r12d
xorpd %xmm3, %xmm3
movq 0x27a9e(%rip), %r13     # 0x43f60
leaq 0xc6d0(%r13), %rax
movq %rax, -0x58(%rbp)
movsd -0x78(%rbp), %xmm0
ucomisd %xmm3, %xmm0
addsd -0xb0(%rbp), %xmm2
addsd -0xb8(%rbp), %xmm8
jne 0x1c4ef
jnp 0x1c5f2
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %ebx
testb $0x1, %bl
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1c587
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
movl %eax, %r14d
callq 0xa100
movsd %xmm0, -0x88(%rbp)
movapd -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
addsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x88(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x88(%rbp), %xmm0
callq 0xa1d0
movl %r14d, %eax
movq -0x90(%rbp), %r14
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1c5e0
leaq 0x1db77(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%r13)
movl $0x50, %edx
movq -0x58(%rbp), %rdi
leaq 0x1d482(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%r13)
movl $0x1, 0xd670(%r13)
movl $0x5, %eax
testb $0x1, %bl
movapd -0x50(%rbp), %xmm2
xorpd %xmm3, %xmm3
je 0x1c38d
movsd -0x70(%rbp), %xmm0
ucomisd %xmm3, %xmm0
jne 0x1c603
jnp 0x1c6fa
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %ebx
testb $0x1, %bl
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1c693
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
movl %eax, %r14d
callq 0xa100
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x88(%rbp)
movaps -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
movsd %xmm0, -0x40(%rbp)
movsd -0x88(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x88(%rbp), %xmm0
callq 0xa1d0
movl %r14d, %eax
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1c6ec
leaq 0x1da6b(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%r13)
movl $0x50, %edx
movq -0x58(%rbp), %rdi
leaq 0x1d376(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%r13)
movl $0x1, 0xd670(%r13)
movl $0x5, %eax
testb $0x1, %bl
movapd -0x50(%rbp), %xmm2
je 0x1c38d
movapd %xmm8, -0x40(%rbp)
movapd %xmm2, -0x50(%rbp)
movl %eax, -0x88(%rbp)
movl 0x1d0(%r15), %edi
movsd 0x8(%r13), %xmm3
movsd 0x20(%r13), %xmm4
movsd 0x38(%r13), %xmm5
movsd 0x50(%r13), %xmm6
movsd 0x68(%r13), %xmm7
movsd 0x80(%r13), %xmm0
movsd %xmm0, (%rsp)
movapd %xmm2, %xmm0
movapd %xmm8, %xmm1
movsd -0x60(%rbp), %xmm2
callq 0xa8d0
movsd -0x98(%rbp), %xmm2
movsd -0x60(%rbp), %xmm0
ucomisd %xmm2, %xmm0
jne 0x1c766
jnp 0x1c7a8
movl 0x1d0(%r15), %edi
movsd 0x8(%r13), %xmm3
movsd 0x20(%r13), %xmm4
movsd 0x38(%r13), %xmm5
movsd 0x50(%r13), %xmm6
movsd 0x68(%r13), %xmm7
movsd 0x80(%r13), %xmm0
movsd %xmm0, (%rsp)
movapd -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
callq 0xa8d0
movq -0xa0(%rbp), %rax
movl 0xc6cc(%rax), %ebx
xorl %r14d, %r14d
cmpl $0x2, %ebx
je 0x1c815
leaq 0x1d566(%rip), %rdi     # 0x39d2a
callq 0xa1f0
movq -0x90(%rbp), %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%r13)
movl $0x50, %edx
movq -0x58(%rbp), %rdi
leaq 0x1d55a(%rip), %rsi     # 0x39d4f
callq 0xa8a0
movw $0x0, 0xc71f(%r13)
movl $0x1, 0xd670(%r13)
movl $0x5, %r14d
cmpl $0x2, %ebx
movapd -0x50(%rbp), %xmm2
movapd -0x40(%rbp), %xmm8
movl -0x88(%rbp), %eax
xorpd %xmm3, %xmm3
je 0x1c89c
movslq 0xd670(%r13), %rax
cmpq $0x30, %rax
jg 0x1c899
leaq (%rax,%rax,4), %rax
shlq $0x4, %rax
leaq (%rax,%r13), %rdi
addq $0xc6d0, %rdi           # imm = 0xC6D0
movl $0x50, %edx
leaq 0x1d1e2(%rip), %rsi     # 0x39a3d
callq 0xa8a0
xorpd %xmm3, %xmm3
movapd -0x40(%rbp), %xmm8
movapd -0x50(%rbp), %xmm2
movslq 0xd670(%r13), %rax
leaq (%rax,%rax,4), %rcx
shlq $0x4, %rcx
xorl %edx, %edx
movb %dl, 0xc71f(%r13,%rcx)
incl %eax
movl %eax, 0xd670(%r13)
movb %dl, 0xc720(%r13,%rcx)
movl %r14d, %eax
cmpl $0x2, %ebx
jne 0x1c38d
decl %r12d
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
cmpl $0x2, %r12d
movq -0x90(%rbp), %r14
jge 0x1c4cd
jmp 0x1ee36
cmpl $0x365, %r12d           # imm = 0x365
movapd -0x50(%rbp), %xmm2
jle 0x1ccfd
cmpl $0x366, %r12d           # imm = 0x366
je 0x1d1b1
cmpl $0x370, %r12d           # imm = 0x370
je 0x1d69c
cmpl $0x37a, %r12d           # imm = 0x37A
jne 0x1d6d5
cmpl $0x37a, 0x1798(%rbx)    # imm = 0x37A
je 0x1e277
movsd 0x210(%r15), %xmm0
ucomisd 0x19f4e(%rip), %xmm0    # 0x36870
jne 0x1e277
jp 0x1e277
leaq 0x1d8ff(%rip), %rdi     # 0x3a234
jmp 0x1c33a
cmpl $0x2da, %r12d           # imm = 0x2DA
je 0x1cd96
cmpl $0x32a, %r12d           # imm = 0x32A
jne 0x1d6d5
movl 0x1c8(%r15), %ebx
testl %ebx, %ebx
jle 0x1ee36
incl %ebx
xorpd %xmm3, %xmm3
movq 0x275f0(%rip), %r12     # 0x43f60
leaq 0xc6d0(%r12), %rax
movq %rax, -0x68(%rbp)
movsd -0x78(%rbp), %xmm0
ucomisd %xmm3, %xmm0
addsd -0xb0(%rbp), %xmm2
addsd -0xb8(%rbp), %xmm8
jne 0x1c99e
jnp 0x1ca8c
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r13d
testb $0x1, %r13b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1ca22
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
callq 0xa100
movsd %xmm0, -0x58(%rbp)
movapd -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
addsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xa1d0
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1ca79
leaq 0x1d6dc(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%r12)
movl $0x50, %edx
movq -0x68(%rbp), %rdi
leaq 0x1cfe6(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%r12)
movl $0x1, 0xd670(%r12)
testb $0x1, %r13b
movapd -0x50(%rbp), %xmm2
xorpd %xmm3, %xmm3
je 0x1c388
movsd -0x70(%rbp), %xmm0
ucomisd %xmm3, %xmm0
jne 0x1ca9d
jnp 0x1cb86
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r13d
testb $0x1, %r13b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1cb20
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
callq 0xa100
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movaps -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
movsd %xmm0, -0x40(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xa1d0
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1cb77
leaq 0x1d5de(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%r12)
movl $0x50, %edx
movq -0x68(%rbp), %rdi
leaq 0x1cee8(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%r12)
movl $0x1, 0xd670(%r12)
testb $0x1, %r13b
movapd -0x50(%rbp), %xmm2
je 0x1c388
movapd %xmm8, -0x40(%rbp)
movapd %xmm2, -0x50(%rbp)
movl 0x1d0(%r15), %edi
movsd 0x8(%r12), %xmm3
movsd 0x20(%r12), %xmm4
movsd 0x38(%r12), %xmm5
movsd 0x50(%r12), %xmm6
movsd 0x68(%r12), %xmm7
movsd 0x80(%r12), %xmm0
movsd %xmm0, (%rsp)
movapd %xmm2, %xmm0
movapd %xmm8, %xmm1
movsd -0x60(%rbp), %xmm2
callq 0xa8d0
movsd -0x98(%rbp), %xmm2
movsd -0x60(%rbp), %xmm0
ucomisd %xmm2, %xmm0
jne 0x1cbf2
jnp 0x1cc3a
movl 0x1d0(%r15), %edi
movsd 0x8(%r12), %xmm3
movsd 0x20(%r12), %xmm4
movsd 0x38(%r12), %xmm5
movsd 0x50(%r12), %xmm6
movsd 0x68(%r12), %xmm7
movsd 0x80(%r12), %xmm0
movsd %xmm0, (%rsp)
movapd -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
callq 0xa8d0
movl 0x1d0(%r15), %edi
movsd 0x8(%r12), %xmm3
movsd 0x20(%r12), %xmm4
movsd 0x38(%r12), %xmm5
movsd 0x50(%r12), %xmm6
movsd 0x68(%r12), %xmm7
movsd 0x80(%r12), %xmm0
movsd %xmm0, (%rsp)
movaps -0x50(%rbp), %xmm0
movaps -0x40(%rbp), %xmm1
movsd -0x88(%rbp), %xmm2
callq 0xa6d0
movl 0x1d0(%r15), %edi
movsd 0x8(%r12), %xmm3
movsd 0x20(%r12), %xmm4
movsd 0x38(%r12), %xmm5
movsd 0x50(%r12), %xmm6
movsd 0x68(%r12), %xmm7
movsd 0x80(%r12), %xmm0
movsd %xmm0, (%rsp)
movaps -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
movsd -0x80(%rbp), %xmm2
callq 0xa8d0
decl %ebx
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
cmpl $0x1, %ebx
movapd -0x50(%rbp), %xmm2
movapd -0x40(%rbp), %xmm8
xorpd %xmm3, %xmm3
jg 0x1c97c
jmp 0x1ee36
cmpl $0x352, %r12d           # imm = 0x352
je 0x1cdcf
cmpl $0x35c, %r12d           # imm = 0x35C
jne 0x1d6d5
cmpl $0x35c, 0x1798(%rbx)    # imm = 0x35C
je 0x1d6e1
movsd 0x210(%r15), %xmm0
ucomisd 0x19b38(%rip), %xmm0    # 0x36870
jne 0x1d6e1
jp 0x1d6e1
leaq 0x1d45b(%rip), %rdi     # 0x3a1a6
jmp 0x1c33a
leaq 0x278(%r15), %rax
leaq 0x600(%rbx), %rcx
cmpb $0x0, 0x270(%r15)
cmovneq %rax, %rcx
movsd (%rcx), %xmm0
movapd %xmm0, -0x50(%rbp)
leaq 0x288(%r15), %rax
cmpb $0x0, 0x280(%r15)
leaq 0x608(%rbx), %rcx
cmovneq %rax, %rcx
movsd (%rcx), %xmm3
jmp 0x1c2ff
cmpl $0x2da, 0x1798(%rbx)    # imm = 0x2DA
je 0x1dae1
movsd 0x220(%r15), %xmm0
ucomisd 0x19ab9(%rip), %xmm0    # 0x36870
jne 0x1dae1
jp 0x1dae1
leaq 0x1d3ac(%rip), %rdi     # 0x3a176
jmp 0x1c33a
movl 0x1c8(%r15), %ebx
testl %ebx, %ebx
jle 0x1ee36
incl %ebx
xorpd %xmm3, %xmm3
movq 0x27175(%rip), %r12     # 0x43f60
leaq 0xc6d0(%r12), %rax
movq %rax, -0x68(%rbp)
movsd -0x78(%rbp), %xmm0
ucomisd %xmm3, %xmm0
addsd -0xb0(%rbp), %xmm2
addsd -0xb8(%rbp), %xmm8
jne 0x1ce19
jnp 0x1cf07
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r13d
testb $0x1, %r13b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1ce9d
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
callq 0xa100
movsd %xmm0, -0x58(%rbp)
movapd -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
addsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xa1d0
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1cef4
leaq 0x1d261(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%r12)
movl $0x50, %edx
movq -0x68(%rbp), %rdi
leaq 0x1cb6b(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%r12)
movl $0x1, 0xd670(%r12)
testb $0x1, %r13b
movapd -0x50(%rbp), %xmm2
xorpd %xmm3, %xmm3
je 0x1c388
movsd -0x70(%rbp), %xmm0
ucomisd %xmm3, %xmm0
jne 0x1cf18
jnp 0x1d001
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r13d
testb $0x1, %r13b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1cf9b
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
callq 0xa100
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movaps -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
movsd %xmm0, -0x40(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xa1d0
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1cff2
leaq 0x1d163(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%r12)
movl $0x50, %edx
movq -0x68(%rbp), %rdi
leaq 0x1ca6d(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%r12)
movl $0x1, 0xd670(%r12)
testb $0x1, %r13b
movapd -0x50(%rbp), %xmm2
je 0x1c388
movapd %xmm8, -0x40(%rbp)
movapd %xmm2, -0x50(%rbp)
movl 0x1d0(%r15), %edi
movsd 0x8(%r12), %xmm3
movsd 0x20(%r12), %xmm4
movsd 0x38(%r12), %xmm5
movsd 0x50(%r12), %xmm6
movsd 0x68(%r12), %xmm7
movsd 0x80(%r12), %xmm0
movsd %xmm0, (%rsp)
movapd %xmm2, %xmm0
movapd %xmm8, %xmm1
movsd -0x60(%rbp), %xmm2
callq 0xa8d0
movsd -0x98(%rbp), %xmm2
movsd -0x60(%rbp), %xmm0
ucomisd %xmm2, %xmm0
jne 0x1d06d
jnp 0x1d0b5
movl 0x1d0(%r15), %edi
movsd 0x8(%r12), %xmm3
movsd 0x20(%r12), %xmm4
movsd 0x38(%r12), %xmm5
movsd 0x50(%r12), %xmm6
movsd 0x68(%r12), %xmm7
movsd 0x80(%r12), %xmm0
movsd %xmm0, (%rsp)
movapd -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
callq 0xa8d0
movl 0x1d0(%r15), %edi
movsd 0x8(%r12), %xmm3
movsd 0x20(%r12), %xmm4
movsd 0x38(%r12), %xmm5
movsd 0x50(%r12), %xmm6
movsd 0x68(%r12), %xmm7
movsd 0x80(%r12), %xmm0
movsd %xmm0, (%rsp)
movaps -0x50(%rbp), %xmm0
movaps -0x40(%rbp), %xmm1
movsd -0x88(%rbp), %xmm2
callq 0xa6d0
movl 0x1d0(%r15), %edi
movsd 0x8(%r12), %xmm3
movsd 0x20(%r12), %xmm4
movsd 0x38(%r12), %xmm5
movsd 0x50(%r12), %xmm6
movsd 0x68(%r12), %xmm7
movsd 0x80(%r12), %xmm0
movsd %xmm0, (%rsp)
movaps -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
movsd -0x80(%rbp), %xmm2
callq 0xa6d0
decl %ebx
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
cmpl $0x1, %ebx
movapd -0x50(%rbp), %xmm2
movapd -0x40(%rbp), %xmm8
xorpd %xmm3, %xmm3
jg 0x1cdf7
jmp 0x1ee36
cmpl $0x334, 0x1798(%rbx)    # imm = 0x334
je 0x1df03
movsd 0x210(%r15), %xmm0
ucomisd 0x196d7(%rip), %xmm0    # 0x36870
jne 0x1df03
jp 0x1df03
leaq 0x1cfa7(%rip), %rdi     # 0x3a153
jmp 0x1c33a
cmpl $0x366, 0x1798(%rbx)    # imm = 0x366
jne 0x1ee93
leaq 0x1a0(%r15), %rax
leaq 0x630(%rbx), %rcx
cmpb $0x0, 0x198(%r15)
cmovneq %rax, %rcx
movsd (%rcx), %xmm0
leaq 0x1b0(%r15), %rax
cmpb $0x0, 0x1a8(%r15)
leaq 0x638(%rbx), %rcx
cmovneq %rax, %rcx
movsd (%rcx), %xmm1
leaq 0x1c0(%r15), %rax
leaq 0x640(%rbx), %rcx
cmpb $0x0, 0x1b8(%r15)
cmovneq %rax, %rcx
movsd (%rcx), %xmm3
movsd %xmm0, -0x58(%rbp)
movsd %xmm0, 0x630(%rbx)
movapd %xmm3, %xmm0
movsd %xmm1, -0x68(%rbp)
movsd %xmm1, 0x638(%rbx)
movsd %xmm3, 0x640(%rbx)
cmpl $0x1, 0x668(%rbx)
jne 0x1d252
addsd -0x88(%rbp), %xmm0
movl 0x1c8(%r15), %r13d
testl %r13d, %r13d
jle 0x1ee36
movsd %xmm0, -0xa8(%rbp)
incl %r13d
xorpd %xmm3, %xmm3
movq 0x26ce8(%rip), %rbx     # 0x43f60
leaq 0xc6d0(%rbx), %rax
movq %rax, -0xd0(%rbp)
movsd -0x78(%rbp), %xmm0
ucomisd %xmm3, %xmm0
addsd -0xb0(%rbp), %xmm2
addsd -0xb8(%rbp), %xmm8
jne 0x1d2a8
jnp 0x1d3ae
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r12d
testb $0x1, %r12b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1d342
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
movl %eax, %r14d
callq 0xa100
movsd %xmm0, -0xc0(%rbp)
movapd -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
addsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0xc0(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0xc0(%rbp), %xmm0
callq 0xa1d0
movl %r14d, %eax
movq -0x90(%rbp), %r14
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1d39b
leaq 0x1cdbc(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%rbx)
movl $0x50, %edx
movq -0xd0(%rbp), %rdi
leaq 0x1c6c5(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%rbx)
movl $0x1, 0xd670(%rbx)
movl $0x5, %eax
testb $0x1, %r12b
movapd -0x50(%rbp), %xmm2
xorpd %xmm3, %xmm3
je 0x1c38d
movsd -0x70(%rbp), %xmm0
ucomisd %xmm3, %xmm0
jne 0x1d3bf
jnp 0x1d4b9
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r12d
testb $0x1, %r12b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1d451
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
movl %eax, %r14d
callq 0xa100
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0xc0(%rbp)
movaps -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
movsd %xmm0, -0x40(%rbp)
movsd -0xc0(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0xc0(%rbp), %xmm0
callq 0xa1d0
movl %r14d, %eax
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1d4aa
leaq 0x1ccad(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%rbx)
movl $0x50, %edx
movq -0xd0(%rbp), %rdi
leaq 0x1c5b6(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%rbx)
movl $0x1, 0xd670(%rbx)
movl $0x5, %eax
testb $0x1, %r12b
movapd -0x50(%rbp), %xmm2
je 0x1c38d
movapd %xmm8, -0x40(%rbp)
movapd %xmm2, -0x50(%rbp)
movl %eax, %r14d
movl 0x1d0(%r15), %edi
movsd 0x8(%rbx), %xmm3
movsd 0x20(%rbx), %xmm4
movsd 0x38(%rbx), %xmm5
movsd 0x50(%rbx), %xmm6
movsd 0x68(%rbx), %xmm7
movsd 0x80(%rbx), %xmm0
movsd %xmm0, (%rsp)
movapd %xmm2, %xmm0
movapd %xmm8, %xmm1
movsd -0x60(%rbp), %xmm2
callq 0xa8d0
movsd -0x98(%rbp), %xmm8
movsd -0x60(%rbp), %xmm0
ucomisd %xmm8, %xmm0
jne 0x1d51e
jnp 0x1d568
movl 0x1d0(%r15), %edi
movsd 0x8(%rbx), %xmm3
movsd 0x20(%rbx), %xmm4
movsd 0x38(%rbx), %xmm5
movsd 0x50(%rbx), %xmm6
movsd 0x68(%rbx), %xmm7
movsd 0x80(%rbx), %xmm0
movsd %xmm0, (%rsp)
movapd -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
movapd %xmm8, %xmm2
callq 0xa8d0
movsd -0x98(%rbp), %xmm8
movsd -0x58(%rbp), %xmm1
movapd -0x50(%rbp), %xmm0
addsd %xmm0, %xmm1
movsd -0x68(%rbp), %xmm3
movapd -0x40(%rbp), %xmm2
addsd %xmm2, %xmm3
movq -0xa0(%rbp), %rax
movl 0xc6cc(%rax), %ecx
movq -0x90(%rbp), %rdi
movq %r15, %rsi
movl $0x1, %edx
movapd %xmm8, %xmm4
movsd -0x80(%rbp), %xmm5
movsd -0xa8(%rbp), %xmm6
movsd -0x88(%rbp), %xmm7
callq 0xaac0
movl %eax, %r12d
testl %eax, %eax
movl %r14d, %eax
xorpd %xmm3, %xmm3
je 0x1d62c
movslq 0xd670(%rbx), %rax
cmpq $0x30, %rax
jg 0x1d629
leaq (%rax,%rax,4), %rax
shlq $0x4, %rax
leaq (%rbx,%rax), %rdi
addq $0xc6d0, %rdi           # imm = 0xC6D0
movl $0x50, %edx
leaq 0x1c444(%rip), %rsi     # 0x39a3d
callq 0xa8a0
xorpd %xmm3, %xmm3
movslq 0xd670(%rbx), %rax
leaq (%rax,%rax,4), %rcx
shlq $0x4, %rcx
xorl %edx, %edx
movb %dl, 0xc71f(%rbx,%rcx)
incl %eax
movl %eax, 0xd670(%rbx)
movb %dl, 0xc720(%rbx,%rcx)
movl %r12d, %eax
testl %r12d, %r12d
jne 0x1c38d
decl %r13d
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
cmpl $0x2, %r13d
movapd -0x50(%rbp), %xmm2
movapd -0x40(%rbp), %xmm8
movq -0x90(%rbp), %r14
jge 0x1d286
jmp 0x1ee36
cmpl $0x33e, 0x1798(%rbx)    # imm = 0x33E
je 0x1e5eb
movsd 0x220(%r15), %xmm0
ucomisd 0x191ec(%rip), %xmm0    # 0x36870
jne 0x1e5eb
jp 0x1e5eb
leaq 0x1caf7(%rip), %rdi     # 0x3a18e
jmp 0x1c33a
cmpl $0x370, 0x1798(%rbx)    # imm = 0x370
je 0x1ea0a
movsd 0x210(%r15), %xmm0
ucomisd 0x191b3(%rip), %xmm0    # 0x36870
jne 0x1ea0a
jp 0x1ea0a
leaq 0x1cb41(%rip), %rdi     # 0x3a211
jmp 0x1c33a
leaq 0x1cb7b(%rip), %rdi     # 0x3a257
jmp 0x1c33a
movsd 0x210(%r15), %xmm0
ucomisd 0x1917e(%rip), %xmm0    # 0x36870
jne 0x1d6fe
jp 0x1d6fe
movsd 0x650(%rbx), %xmm0
leaq 0x210(%r15), %rax
movsd %xmm0, 0x210(%r15)
movl 0x1c8(%r15), %r13d
movl $0x650, %ecx            # imm = 0x650
testl %r13d, %r13d
jle 0x1ee2d
movq %rax, -0xa8(%rbp)
incl %r13d
xorpd %xmm3, %xmm3
movq 0x26828(%rip), %rbx     # 0x43f60
leaq 0xc6d0(%rbx), %rax
movq %rax, -0x68(%rbp)
movsd -0x78(%rbp), %xmm0
ucomisd %xmm3, %xmm0
addsd -0xb0(%rbp), %xmm2
addsd -0xb8(%rbp), %xmm8
jne 0x1d765
jnp 0x1d85f
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r12d
testb $0x1, %r12b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1d7f6
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
movl %eax, %r14d
callq 0xa100
movsd %xmm0, -0x58(%rbp)
movapd -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
addsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xa1d0
movl %r14d, %eax
movq -0x90(%rbp), %r14
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1d84c
leaq 0x1c908(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%rbx)
movl $0x50, %edx
movq -0x68(%rbp), %rdi
leaq 0x1c214(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%rbx)
movl $0x1, 0xd670(%rbx)
movl $0x5, %eax
testb $0x1, %r12b
movapd -0x50(%rbp), %xmm2
xorpd %xmm3, %xmm3
je 0x1c38d
movsd -0x70(%rbp), %xmm0
ucomisd %xmm3, %xmm0
jne 0x1d870
jnp 0x1d95e
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r12d
testb $0x1, %r12b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1d8f9
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
movl %eax, %r14d
callq 0xa100
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movaps -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
movsd %xmm0, -0x40(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xa1d0
movl %r14d, %eax
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1d94f
leaq 0x1c805(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%rbx)
movl $0x50, %edx
movq -0x68(%rbp), %rdi
leaq 0x1c111(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%rbx)
movl $0x1, 0xd670(%rbx)
movl $0x5, %eax
testb $0x1, %r12b
movapd -0x50(%rbp), %xmm2
je 0x1c38d
movapd %xmm8, -0x40(%rbp)
movapd %xmm2, -0x50(%rbp)
movl %eax, %r14d
movl 0x1d0(%r15), %edi
movsd 0x8(%rbx), %xmm3
movsd 0x20(%rbx), %xmm4
movsd 0x38(%rbx), %xmm5
movsd 0x50(%rbx), %xmm6
movsd 0x68(%rbx), %xmm7
movsd 0x80(%rbx), %xmm0
movsd %xmm0, (%rsp)
movapd %xmm2, %xmm0
movapd %xmm8, %xmm1
movsd -0x60(%rbp), %xmm2
callq 0xa8d0
movsd -0x98(%rbp), %xmm2
movsd -0x60(%rbp), %xmm0
ucomisd %xmm2, %xmm0
jne 0x1d9c1
jnp 0x1d9fd
movl 0x1d0(%r15), %edi
movsd 0x8(%rbx), %xmm3
movsd 0x20(%rbx), %xmm4
movsd 0x38(%rbx), %xmm5
movsd 0x50(%rbx), %xmm6
movsd 0x68(%rbx), %xmm7
movsd 0x80(%rbx), %xmm0
movsd %xmm0, (%rsp)
movapd -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
callq 0xa8d0
movsd 0x210(%r15), %xmm4
movq -0xa0(%rbp), %rax
movl 0xc6cc(%rax), %ecx
movq -0x90(%rbp), %rdi
movq %r15, %rsi
movl $0x1, %edx
movaps -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
movsd -0x80(%rbp), %xmm2
movsd -0x88(%rbp), %xmm3
callq 0xb620
movl %eax, %r12d
testl %eax, %eax
movl %r14d, %eax
xorpd %xmm3, %xmm3
je 0x1daaa
movslq 0xd670(%rbx), %rax
cmpq $0x30, %rax
jg 0x1daa7
leaq (%rax,%rax,4), %rax
shlq $0x4, %rax
leaq (%rbx,%rax), %rdi
addq $0xc6d0, %rdi           # imm = 0xC6D0
movl $0x50, %edx
leaq 0x1bfc6(%rip), %rsi     # 0x39a3d
callq 0xa8a0
xorpd %xmm3, %xmm3
movslq 0xd670(%rbx), %rax
leaq (%rax,%rax,4), %rcx
shlq $0x4, %rcx
xorl %edx, %edx
movb %dl, 0xc71f(%rbx,%rcx)
incl %eax
movl %eax, 0xd670(%rbx)
movb %dl, 0xc720(%rbx,%rcx)
movl %r12d, %eax
testl %r12d, %r12d
jne 0x1c38d
decl %r13d
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
cmpl $0x2, %r13d
movapd -0x50(%rbp), %xmm2
movapd -0x40(%rbp), %xmm8
movq -0x90(%rbp), %r14
jge 0x1d743
jmp 0x1ee11
movsd 0x220(%r15), %xmm0
ucomisd 0x18d7e(%rip), %xmm0    # 0x36870
jne 0x1dafe
jp 0x1dafe
movsd 0x658(%rbx), %xmm0
leaq 0x220(%r15), %rax
movsd %xmm0, 0x220(%r15)
movl 0x1c8(%r15), %ebx
movl $0x658, %ecx            # imm = 0x658
testl %ebx, %ebx
jle 0x1ee26
movq %rax, -0xa8(%rbp)
incl %ebx
xorpd %xmm3, %xmm3
movq 0x2642a(%rip), %r12     # 0x43f60
leaq 0xc6d0(%r12), %rax
movq %rax, -0x68(%rbp)
movsd -0x78(%rbp), %xmm0
ucomisd %xmm3, %xmm0
addsd -0xb0(%rbp), %xmm2
addsd -0xb8(%rbp), %xmm8
jne 0x1db64
jnp 0x1dc64
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r13d
testb $0x1, %r13b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1dbf5
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
movl %eax, %r14d
callq 0xa100
movsd %xmm0, -0x58(%rbp)
movapd -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
addsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xa1d0
movl %r14d, %eax
movq -0x90(%rbp), %r14
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1dc51
leaq 0x1c509(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%r12)
movl $0x50, %edx
movq -0x68(%rbp), %rdi
leaq 0x1be13(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%r12)
movl $0x1, 0xd670(%r12)
movl $0x5, %eax
testb $0x1, %r13b
movapd -0x50(%rbp), %xmm2
xorpd %xmm3, %xmm3
je 0x1c38d
movsd -0x70(%rbp), %xmm0
ucomisd %xmm3, %xmm0
jne 0x1dc75
jnp 0x1dd69
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r13d
testb $0x1, %r13b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1dcfe
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
movl %eax, %r14d
callq 0xa100
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movaps -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
movsd %xmm0, -0x40(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xa1d0
movl %r14d, %eax
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1dd5a
leaq 0x1c400(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%r12)
movl $0x50, %edx
movq -0x68(%rbp), %rdi
leaq 0x1bd0a(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%r12)
movl $0x1, 0xd670(%r12)
movl $0x5, %eax
testb $0x1, %r13b
movapd -0x50(%rbp), %xmm2
je 0x1c38d
movapd %xmm8, -0x40(%rbp)
movapd %xmm2, -0x50(%rbp)
movl %eax, %r14d
movl 0x1d0(%r15), %edi
movsd 0x8(%r12), %xmm3
movsd 0x20(%r12), %xmm4
movsd 0x38(%r12), %xmm5
movsd 0x50(%r12), %xmm6
movsd 0x68(%r12), %xmm7
movsd 0x80(%r12), %xmm0
movsd %xmm0, (%rsp)
movapd %xmm2, %xmm0
movapd %xmm8, %xmm1
movsd -0x60(%rbp), %xmm2
callq 0xa8d0
movsd -0x98(%rbp), %xmm2
movsd -0x60(%rbp), %xmm0
ucomisd %xmm2, %xmm0
jne 0x1ddd8
jnp 0x1de28
movl 0x1d0(%r15), %edi
movsd 0x8(%r12), %xmm3
movsd 0x20(%r12), %xmm4
movsd 0x38(%r12), %xmm5
movsd 0x50(%r12), %xmm6
movsd 0x68(%r12), %xmm7
movsd 0x80(%r12), %xmm0
movsd %xmm0, (%rsp)
movapd -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
callq 0xa8d0
movsd -0x98(%rbp), %xmm2
movsd 0x220(%r15), %xmm5
movq -0x90(%rbp), %rdi
movq %r15, %rsi
movl $0x1, %edx
movaps -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
movsd -0x80(%rbp), %xmm3
movsd -0x88(%rbp), %xmm4
callq 0xb350
movl %eax, %r13d
testl %eax, %eax
movl %r14d, %eax
xorpd %xmm3, %xmm3
je 0x1dece
movslq 0xd670(%r12), %rax
cmpq $0x30, %rax
jg 0x1decb
leaq (%rax,%rax,4), %rax
shlq $0x4, %rax
leaq (%r12,%rax), %rdi
addq $0xc6d0, %rdi           # imm = 0xC6D0
movl $0x50, %edx
leaq 0x1bba7(%rip), %rsi     # 0x39a3d
callq 0xa8a0
xorpd %xmm3, %xmm3
movslq 0xd670(%r12), %rax
leaq (%rax,%rax,4), %rcx
shlq $0x4, %rcx
xorl %edx, %edx
movb %dl, 0xc71f(%r12,%rcx)
incl %eax
movl %eax, 0xd670(%r12)
movb %dl, 0xc720(%r12,%rcx)
movl %r13d, %eax
testl %r13d, %r13d
jne 0x1c38d
decl %ebx
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
cmpl $0x2, %ebx
movapd -0x50(%rbp), %xmm2
movapd -0x40(%rbp), %xmm8
movq -0x90(%rbp), %r14
jge 0x1db42
jmp 0x1e9f2
movsd 0x210(%r15), %xmm0
ucomisd 0x1895c(%rip), %xmm0    # 0x36870
jne 0x1df20
jp 0x1df20
movsd 0x650(%rbx), %xmm0
leaq 0x210(%r15), %rax
movsd %xmm0, 0x210(%r15)
movl 0x1c8(%r15), %ebx
movl $0x650, %ecx            # imm = 0x650
testl %ebx, %ebx
jle 0x1ee26
movq %rax, -0xa8(%rbp)
incl %ebx
xorpd %xmm3, %xmm3
movq 0x26008(%rip), %r12     # 0x43f60
leaq 0xc6d0(%r12), %rax
movq %rax, -0x68(%rbp)
movsd -0x78(%rbp), %xmm0
ucomisd %xmm3, %xmm0
addsd -0xb0(%rbp), %xmm2
addsd -0xb8(%rbp), %xmm8
jne 0x1df86
jnp 0x1e074
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r13d
testb $0x1, %r13b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1e00a
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
callq 0xa100
movsd %xmm0, -0x58(%rbp)
movapd -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
addsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xa1d0
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1e061
leaq 0x1c0f4(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%r12)
movl $0x50, %edx
movq -0x68(%rbp), %rdi
leaq 0x1b9fe(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%r12)
movl $0x1, 0xd670(%r12)
testb $0x1, %r13b
movapd -0x50(%rbp), %xmm2
xorpd %xmm3, %xmm3
je 0x1c388
movsd -0x70(%rbp), %xmm0
ucomisd %xmm3, %xmm0
jne 0x1e085
jnp 0x1e16e
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r13d
testb $0x1, %r13b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1e108
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
callq 0xa100
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movaps -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
movsd %xmm0, -0x40(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xa1d0
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1e15f
leaq 0x1bff6(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%r12)
movl $0x50, %edx
movq -0x68(%rbp), %rdi
leaq 0x1b900(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%r12)
movl $0x1, 0xd670(%r12)
testb $0x1, %r13b
movapd -0x50(%rbp), %xmm2
je 0x1c388
movapd %xmm8, -0x40(%rbp)
movapd %xmm2, -0x50(%rbp)
movl 0x1d0(%r15), %edi
movsd 0x8(%r12), %xmm3
movsd 0x20(%r12), %xmm4
movsd 0x38(%r12), %xmm5
movsd 0x50(%r12), %xmm6
movsd 0x68(%r12), %xmm7
movsd 0x80(%r12), %xmm0
movsd %xmm0, (%rsp)
movapd %xmm2, %xmm0
movapd %xmm8, %xmm1
movsd -0x60(%rbp), %xmm2
callq 0xa8d0
movsd -0x98(%rbp), %xmm2
movsd -0x60(%rbp), %xmm0
ucomisd %xmm2, %xmm0
jne 0x1e1da
jnp 0x1e222
movl 0x1d0(%r15), %edi
movsd 0x8(%r12), %xmm3
movsd 0x20(%r12), %xmm4
movsd 0x38(%r12), %xmm5
movsd 0x50(%r12), %xmm6
movsd 0x68(%r12), %xmm7
movsd 0x80(%r12), %xmm0
movsd %xmm0, (%rsp)
movapd -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
callq 0xa8d0
movsd 0x210(%r15), %xmm4
movq %r15, %rsi
movl $0x1, %edx
movaps -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
movsd -0x80(%rbp), %xmm2
movsd -0x88(%rbp), %xmm3
callq 0xa2b0
decl %ebx
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
cmpl $0x1, %ebx
movapd -0x50(%rbp), %xmm2
movapd -0x40(%rbp), %xmm8
xorpd %xmm3, %xmm3
jg 0x1df64
jmp 0x1ee11
movsd 0x210(%r15), %xmm0
ucomisd 0x185e8(%rip), %xmm0    # 0x36870
jne 0x1e294
jp 0x1e294
movsd 0x650(%rbx), %xmm0
leaq 0x210(%r15), %rax
movsd %xmm0, 0x210(%r15)
movl 0x1c8(%r15), %ebx
movl $0x650, %ecx            # imm = 0x650
testl %ebx, %ebx
jle 0x1ee26
movq %rax, -0xa8(%rbp)
incl %ebx
xorpd %xmm3, %xmm3
movq 0x25c94(%rip), %r12     # 0x43f60
leaq 0xc6d0(%r12), %rax
movq %rax, -0x68(%rbp)
movsd -0x78(%rbp), %xmm0
ucomisd %xmm3, %xmm0
addsd -0xb0(%rbp), %xmm2
addsd -0xb8(%rbp), %xmm8
jne 0x1e2fa
jnp 0x1e3e8
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r13d
testb $0x1, %r13b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1e37e
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
callq 0xa100
movsd %xmm0, -0x58(%rbp)
movapd -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
addsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xa1d0
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1e3d5
leaq 0x1bd80(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%r12)
movl $0x50, %edx
movq -0x68(%rbp), %rdi
leaq 0x1b68a(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%r12)
movl $0x1, 0xd670(%r12)
testb $0x1, %r13b
movapd -0x50(%rbp), %xmm2
xorpd %xmm3, %xmm3
je 0x1c388
movsd -0x70(%rbp), %xmm0
ucomisd %xmm3, %xmm0
jne 0x1e3f9
jnp 0x1e4e2
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r13d
testb $0x1, %r13b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1e47c
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
callq 0xa100
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movaps -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
movsd %xmm0, -0x40(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xa1d0
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1e4d3
leaq 0x1bc82(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%r12)
movl $0x50, %edx
movq -0x68(%rbp), %rdi
leaq 0x1b58c(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%r12)
movl $0x1, 0xd670(%r12)
testb $0x1, %r13b
movapd -0x50(%rbp), %xmm2
je 0x1c388
movapd %xmm8, -0x40(%rbp)
movapd %xmm2, -0x50(%rbp)
movl 0x1d0(%r15), %edi
movsd 0x8(%r12), %xmm3
movsd 0x20(%r12), %xmm4
movsd 0x38(%r12), %xmm5
movsd 0x50(%r12), %xmm6
movsd 0x68(%r12), %xmm7
movsd 0x80(%r12), %xmm0
movsd %xmm0, (%rsp)
movapd %xmm2, %xmm0
movapd %xmm8, %xmm1
movsd -0x60(%rbp), %xmm2
callq 0xa8d0
movsd -0x98(%rbp), %xmm2
movsd -0x60(%rbp), %xmm0
ucomisd %xmm2, %xmm0
jne 0x1e54e
jnp 0x1e596
movl 0x1d0(%r15), %edi
movsd 0x8(%r12), %xmm3
movsd 0x20(%r12), %xmm4
movsd 0x38(%r12), %xmm5
movsd 0x50(%r12), %xmm6
movsd 0x68(%r12), %xmm7
movsd 0x80(%r12), %xmm0
movsd %xmm0, (%rsp)
movapd -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
callq 0xa8d0
movsd 0x210(%r15), %xmm4
movq %r15, %rsi
movl $0x1, %edx
movaps -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
movsd -0x80(%rbp), %xmm2
movsd -0x88(%rbp), %xmm3
callq 0xb500
decl %ebx
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
cmpl $0x1, %ebx
movapd -0x50(%rbp), %xmm2
movapd -0x40(%rbp), %xmm8
xorpd %xmm3, %xmm3
jg 0x1e2d8
jmp 0x1ee11
movsd 0x220(%r15), %xmm0
ucomisd 0x18274(%rip), %xmm0    # 0x36870
jne 0x1e608
jp 0x1e608
movsd 0x658(%rbx), %xmm0
leaq 0x220(%r15), %rax
movsd %xmm0, 0x220(%r15)
movl 0x1c8(%r15), %ebx
movl $0x658, %ecx            # imm = 0x658
testl %ebx, %ebx
jle 0x1ee26
movq %rax, -0xa8(%rbp)
incl %ebx
xorpd %xmm3, %xmm3
movq 0x25920(%rip), %r13     # 0x43f60
leaq 0xc6d0(%r13), %rax
movq %rax, -0x68(%rbp)
movsd -0x78(%rbp), %xmm0
ucomisd %xmm3, %xmm0
addsd -0xb0(%rbp), %xmm2
addsd -0xb8(%rbp), %xmm8
jne 0x1e66d
jnp 0x1e76a
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r12d
testb $0x1, %r12b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1e6fe
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
movl %eax, %r14d
callq 0xa100
movsd %xmm0, -0x58(%rbp)
movapd -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
addsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xa1d0
movl %r14d, %eax
movq -0x90(%rbp), %r14
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1e757
leaq 0x1ba00(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%r13)
movl $0x50, %edx
movq -0x68(%rbp), %rdi
leaq 0x1b30b(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%r13)
movl $0x1, 0xd670(%r13)
movl $0x5, %eax
testb $0x1, %r12b
movapd -0x50(%rbp), %xmm2
xorpd %xmm3, %xmm3
je 0x1c38d
movsd -0x70(%rbp), %xmm0
ucomisd %xmm3, %xmm0
jne 0x1e77b
jnp 0x1e86c
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r12d
testb $0x1, %r12b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1e804
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
movl %eax, %r14d
callq 0xa100
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movaps -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
movsd %xmm0, -0x40(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xa1d0
movl %r14d, %eax
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1e85d
leaq 0x1b8fa(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%r13)
movl $0x50, %edx
movq -0x68(%rbp), %rdi
leaq 0x1b205(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%r13)
movl $0x1, 0xd670(%r13)
movl $0x5, %eax
testb $0x1, %r12b
movapd -0x50(%rbp), %xmm2
je 0x1c38d
movapd %xmm8, -0x40(%rbp)
movapd %xmm2, -0x50(%rbp)
movl %eax, %r14d
movl 0x1d0(%r15), %edi
movsd 0x8(%r13), %xmm3
movsd 0x20(%r13), %xmm4
movsd 0x38(%r13), %xmm5
movsd 0x50(%r13), %xmm6
movsd 0x68(%r13), %xmm7
movsd 0x80(%r13), %xmm0
movsd %xmm0, (%rsp)
movapd %xmm2, %xmm0
movapd %xmm8, %xmm1
movsd -0x60(%rbp), %xmm2
callq 0xa8d0
movsd -0x98(%rbp), %xmm2
movsd -0x60(%rbp), %xmm0
ucomisd %xmm2, %xmm0
jne 0x1e8d5
jnp 0x1e91f
movl 0x1d0(%r15), %edi
movsd 0x8(%r13), %xmm3
movsd 0x20(%r13), %xmm4
movsd 0x38(%r13), %xmm5
movsd 0x50(%r13), %xmm6
movsd 0x68(%r13), %xmm7
movsd 0x80(%r13), %xmm0
movsd %xmm0, (%rsp)
movapd -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
callq 0xa8d0
movsd -0x98(%rbp), %xmm2
movsd 0x220(%r15), %xmm5
movq -0x90(%rbp), %rdi
movq %r15, %rsi
movl $0x1, %edx
movaps -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
movsd -0x80(%rbp), %xmm3
movsd -0x88(%rbp), %xmm4
callq 0xb220
movl %eax, %r12d
testl %eax, %eax
movl %r14d, %eax
xorpd %xmm3, %xmm3
je 0x1e9c2
movslq 0xd670(%r13), %rax
cmpq $0x30, %rax
jg 0x1e9bf
leaq (%rax,%rax,4), %rax
shlq $0x4, %rax
leaq (%rax,%r13), %rdi
addq $0xc6d0, %rdi           # imm = 0xC6D0
movl $0x50, %edx
leaq 0x1b0b1(%rip), %rsi     # 0x39a3d
callq 0xa8a0
xorpd %xmm3, %xmm3
movslq 0xd670(%r13), %rax
leaq (%rax,%rax,4), %rcx
shlq $0x4, %rcx
xorl %edx, %edx
movb %dl, 0xc71f(%r13,%rcx)
incl %eax
movl %eax, 0xd670(%r13)
movb %dl, 0xc720(%r13,%rcx)
movl %r12d, %eax
testl %r12d, %r12d
jne 0x1c38d
decl %ebx
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
cmpl $0x2, %ebx
movapd -0x50(%rbp), %xmm2
movapd -0x40(%rbp), %xmm8
movq -0x90(%rbp), %r14
jge 0x1e64b
movq -0xa0(%rbp), %rbx
movq -0xa8(%rbp), %rax
movl $0x658, %ecx            # imm = 0x658
jmp 0x1ee2d
movsd 0x210(%r15), %xmm0
ucomisd 0x17e55(%rip), %xmm0    # 0x36870
jne 0x1ea27
jp 0x1ea27
movsd 0x650(%rbx), %xmm0
leaq 0x210(%r15), %rax
movsd %xmm0, 0x210(%r15)
movl 0x1c8(%r15), %ebx
movl $0x650, %ecx            # imm = 0x650
testl %ebx, %ebx
jle 0x1ee26
movq %rax, -0xa8(%rbp)
incl %ebx
xorpd %xmm3, %xmm3
movq 0x25501(%rip), %r13     # 0x43f60
leaq 0xc6d0(%r13), %rax
movq %rax, -0x68(%rbp)
movsd -0x78(%rbp), %xmm0
ucomisd %xmm3, %xmm0
addsd -0xb0(%rbp), %xmm2
addsd -0xb8(%rbp), %xmm8
jne 0x1ea8c
jnp 0x1eb89
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r12d
testb $0x1, %r12b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1eb1d
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
movl %eax, %r14d
callq 0xa100
movsd %xmm0, -0x58(%rbp)
movapd -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
addsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xa1d0
movl %r14d, %eax
movq -0x90(%rbp), %r14
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1eb76
leaq 0x1b5e1(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%r13)
movl $0x50, %edx
movq -0x68(%rbp), %rdi
leaq 0x1aeec(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%r13)
movl $0x1, 0xd670(%r13)
movl $0x5, %eax
testb $0x1, %r12b
movapd -0x50(%rbp), %xmm2
xorpd %xmm3, %xmm3
je 0x1c38d
movsd -0x70(%rbp), %xmm0
ucomisd %xmm3, %xmm0
jne 0x1eb9a
jnp 0x1ec8b
movapd %xmm2, %xmm0
cmpneqpd %xmm3, %xmm0
movapd %xmm8, %xmm1
cmpneqpd %xmm3, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %r12d
testb $0x1, %r12b
movapd %xmm2, -0x50(%rbp)
movapd %xmm8, -0x40(%rbp)
je 0x1ec23
movapd %xmm8, %xmm0
movapd %xmm2, %xmm1
movl %eax, %r14d
callq 0xa100
addsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movaps -0x40(%rbp), %xmm0
movapd -0x50(%rbp), %xmm1
callq 0xa290
movsd %xmm0, -0x40(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xb550
mulsd -0x40(%rbp), %xmm0
movapd %xmm0, -0x50(%rbp)
movsd -0x58(%rbp), %xmm0
callq 0xa1d0
movl %r14d, %eax
movapd %xmm0, %xmm8
mulsd -0x40(%rbp), %xmm8
jmp 0x1ec7c
leaq 0x1b4db(%rip), %rdi     # 0x3a105
callq 0xa1f0
movq %r14, %rdi
movq %rax, %rsi
xorl %eax, %eax
callq 0xa850
movl $0x0, 0xd670(%r13)
movl $0x50, %edx
movq -0x68(%rbp), %rdi
leaq 0x1ade6(%rip), %rsi     # 0x39a3d
callq 0xa8a0
movapd -0x40(%rbp), %xmm8
movw $0x0, 0xc71f(%r13)
movl $0x1, 0xd670(%r13)
movl $0x5, %eax
testb $0x1, %r12b
movapd -0x50(%rbp), %xmm2
je 0x1c38d
movapd %xmm8, -0x40(%rbp)
movapd %xmm2, -0x50(%rbp)
movl %eax, %r14d
movl 0x1d0(%r15), %edi
movsd 0x8(%r13), %xmm3
movsd 0x20(%r13), %xmm4
movsd 0x38(%r13), %xmm5
movsd 0x50(%r13), %xmm6
movsd 0x68(%r13), %xmm7
movsd 0x80(%r13), %xmm0
movsd %xmm0, (%rsp)
movapd %xmm2, %xmm0
movapd %xmm8, %xmm1
movsd -0x60(%rbp), %xmm2
callq 0xa8d0
movsd -0x98(%rbp), %xmm2
movsd -0x60(%rbp), %xmm0
ucomisd %xmm2, %xmm0
jne 0x1ecf4
jnp 0x1ed36
movl 0x1d0(%r15), %edi
movsd 0x8(%r13), %xmm3
movsd 0x20(%r13), %xmm4
movsd 0x38(%r13), %xmm5
movsd 0x50(%r13), %xmm6
movsd 0x68(%r13), %xmm7
movsd 0x80(%r13), %xmm0
movsd %xmm0, (%rsp)
movapd -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
callq 0xa8d0
movsd 0x210(%r15), %xmm3
movq -0xa0(%rbp), %rax
movl 0xc6cc(%rax), %ecx
movq -0x90(%rbp), %rdi
movq %r15, %rsi
movl $0x1, %edx
movaps -0x50(%rbp), %xmm0
movapd -0x40(%rbp), %xmm1
movsd -0x88(%rbp), %xmm2
callq 0xae90
movl %eax, %r12d
testl %eax, %eax
movl %r14d, %eax
xorpd %xmm3, %xmm3
je 0x1ede1
movslq 0xd670(%r13), %rax
cmpq $0x30, %rax
jg 0x1edde
leaq (%rax,%rax,4), %rax
shlq $0x4, %rax
leaq (%rax,%r13), %rdi
addq $0xc6d0, %rdi           # imm = 0xC6D0
movl $0x50, %edx
leaq 0x1ac92(%rip), %rsi     # 0x39a3d
callq 0xa8a0
xorpd %xmm3, %xmm3
movslq 0xd670(%r13), %rax
leaq (%rax,%rax,4), %rcx
shlq $0x4, %rcx
xorl %edx, %edx
movb %dl, 0xc71f(%r13,%rcx)
incl %eax
movl %eax, 0xd670(%r13)
movb %dl, 0xc720(%r13,%rcx)
movl %r12d, %eax
testl %r12d, %r12d
jne 0x1c38d
decl %ebx
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
cmpl $0x2, %ebx
movapd -0x50(%rbp), %xmm2
movapd -0x40(%rbp), %xmm8
movq -0x90(%rbp), %r14
jge 0x1ea6a
movq -0xa0(%rbp), %rbx
movq -0xa8(%rbp), %rax
movl $0x650, %ecx            # imm = 0x650
jmp 0x1ee2d
movq -0xa0(%rbp), %rbx
movsd (%rax), %xmm0
movsd %xmm0, (%rbx,%rcx)
xorl %eax, %eax
movq -0xa0(%rbp), %rdx
movsd %xmm2, 0x600(%rdx)
movsd %xmm8, 0x608(%rdx)
movsd -0x80(%rbp), %xmm0
movsd %xmm0, 0x610(%rdx)
movq -0xe0(%rbp), %rcx
movsd (%rcx), %xmm0
movsd %xmm0, 0x628(%rdx)
movl -0xc4(%rbp), %edi
cmpl $0x2, %edi
je 0x1c38d
movsd -0xd8(%rbp), %xmm0
callq 0xa0d0
xorl %eax, %eax
jmp 0x1c38d
cmpb $0x0, 0x198(%r15)
je 0x1eec1
cmpb $0x0, 0x1a8(%r15)
je 0x1eecd
cmpb $0x0, 0x1b8(%r15)
jne 0x1d1c1
leaq 0x1b33d(%rip), %rdi     # 0x3a1f9
jmp 0x1c33a
leaq 0x1b301(%rip), %rdi     # 0x3a1c9
jmp 0x1c33a
leaq 0x1b30d(%rip), %rdi     # 0x3a1e1
jmp 0x1c33a
nop