// File: sundale[P]gcode/rs274ngc/interp_convert.cc
// Function: Interp::convert_setup(block_struct*, setup_struct*)
int Interp::convert_setup(block_pointer block,   //!< pointer to a block of RS274/NGC instructions
                         setup_pointer settings)        //!< pointer to machine settings                 
{
  double x;
  double y;
  double z;
  double a;
  double b;
  double c;
  double u, v, w;
  double r;
  double *parameters;
  int p_int;

  double cx, cy, cz, ca, cb, cc, cu, cv, cw;

  CHKS((block->i_flag || block->j_flag), _("I J words not allowed with G10 L2"));

  parameters = settings->parameters;
  p_int = (int) (block->p_number + 0.0001);

  CHKS((block->l_number == 20 && block->a_flag && settings->a_axis_wrapped && 
        (block->a_number <= -360.0 || block->a_number >= 360.0)), 
       (_("Invalid absolute position %5.2f for wrapped rotary axis %c")), block->a_number, 'A');
  CHKS((block->l_number == 20 && block->b_flag && settings->b_axis_wrapped && 
        (block->b_number <= -360.0 || block->b_number >= 360.0)), 
       (_("Invalid absolute position %5.2f for wrapped rotary axis %c")), block->b_number, 'B');
  CHKS((block->l_number == 20 && block->c_flag && settings->c_axis_wrapped && 
        (block->c_number <= -360.0 || block->c_number >= 360.0)), 
       (_("Invalid absolute position %5.2f for wrapped rotary axis %c")), block->c_number, 'C');

  CHKS((settings->cutter_comp_side && p_int == settings->origin_index),
       (_("Cannot change the active coordinate system with cutter radius compensation on")));

  find_current_in_system(settings, p_int,
                         &cx, &cy, &cz,
                         &ca, &cb, &cc,
                         &cu, &cv, &cw);

  if (block->r_flag == ON) {
    CHKS((block->l_number == 20), "R not allowed in G10 L20");
    r = block->r_number;
    parameters[5210 + (p_int * 20)] = r;
  } else
    r = parameters[5210 + (p_int * 20)];

  if (block->l_number == 20) {
      // old position in rotated system
      double oldx = cx, oldy = cy;

      // find new desired position in rotated system
      x = cx;
      y = cy;

      if (block->x_flag == ON) {
          x = block->x_number;
      }      
      if (block->y_flag == ON) {
          y = block->y_number;
      }

      // move old current position into the unrotated system
      rotate(&oldx, &oldy, r);
      // move desired position into the unrotated system
      rotate(&x, &y, r);

      // find new offset
      x = oldx + USER_TO_PROGRAM_LEN(parameters[5201 + (p_int * 20)]) - x;
      y = oldy + USER_TO_PROGRAM_LEN(parameters[5202 + (p_int * 20)]) - y;

      // parameters are not rotated
      parameters[5201 + (p_int * 20)] = PROGRAM_TO_USER_LEN(x);
      parameters[5202 + (p_int * 20)] = PROGRAM_TO_USER_LEN(y);

      if (p_int == settings->origin_index) {
          // let the code below fix up the current coordinates correctly
          rotate(&settings->current_x, &settings->current_y, settings->rotation_xy);
          settings->rotation_xy = 0;
      }
  } else {
      if (block->x_flag == ON) {
          x = block->x_number;
          parameters[5201 + (p_int * 20)] = PROGRAM_TO_USER_LEN(x);
      } else {
          x = USER_TO_PROGRAM_LEN(parameters[5201 + (p_int * 20)]);
      }
      if (block->y_flag == ON) {
          y = block->y_number;
          parameters[5202 + (p_int * 20)] = PROGRAM_TO_USER_LEN(y);
      } else {
          y = USER_TO_PROGRAM_LEN(parameters[5202 + (p_int * 20)]);
      }
  }

  if (block->z_flag == ON) {
    z = block->z_number;
    if (block->l_number == 20) z = cz + USER_TO_PROGRAM_LEN(parameters[5203 + (p_int * 20)]) - z;
    parameters[5203 + (p_int * 20)] = PROGRAM_TO_USER_LEN(z);
  } else
    z = USER_TO_PROGRAM_LEN(parameters[5203 + (p_int * 20)]);

  if (block->a_flag == ON) {
    a = block->a_number;
    if (block->l_number == 20) a = ca + USER_TO_PROGRAM_ANG(parameters[5204 + (p_int * 20)]) - a;
    parameters[5204 + (p_int * 20)] = PROGRAM_TO_USER_ANG(a);
  } else
    a = USER_TO_PROGRAM_ANG(parameters[5204 + (p_int * 20)]);

  if (block->b_flag == ON) {
    b = block->b_number;
    if (block->l_number == 20) b = cb + USER_TO_PROGRAM_ANG(parameters[5205 + (p_int * 20)]) - b;
    parameters[5205 + (p_int * 20)] = PROGRAM_TO_USER_ANG(b);
  } else
    b = USER_TO_PROGRAM_ANG(parameters[5205 + (p_int * 20)]);

  if (block->c_flag == ON) {
    c = block->c_number;
    if (block->l_number == 20) c = cc + USER_TO_PROGRAM_ANG(parameters[5206 + (p_int * 20)]) - c;
    parameters[5206 + (p_int * 20)] = PROGRAM_TO_USER_ANG(c);
  } else
    c = USER_TO_PROGRAM_ANG(parameters[5206 + (p_int * 20)]);

  if (block->u_flag == ON) {
    u = block->u_number;
    if (block->l_number == 20) u = cu + USER_TO_PROGRAM_LEN(parameters[5207 + (p_int * 20)]) - u;
    parameters[5207 + (p_int * 20)] = PROGRAM_TO_USER_LEN(u);
  } else
    u = USER_TO_PROGRAM_LEN(parameters[5207 + (p_int * 20)]);

  if (block->v_flag == ON) {
    v = block->v_number;
    if (block->l_number == 20) v = cv + USER_TO_PROGRAM_LEN(parameters[5208 + (p_int * 20)]) - v;
    parameters[5208 + (p_int * 20)] = PROGRAM_TO_USER_LEN(v);
  } else
    v = USER_TO_PROGRAM_LEN(parameters[5208 + (p_int * 20)]);

  if (block->w_flag == ON) {
    w = block->w_number;
    if (block->l_number == 20) w = cw + USER_TO_PROGRAM_LEN(parameters[5209 + (p_int * 20)]) - w;
    parameters[5209 + (p_int * 20)] = PROGRAM_TO_USER_LEN(w);
  } else
    w = USER_TO_PROGRAM_LEN(parameters[5209 + (p_int * 20)]);

  if (p_int == settings->origin_index) {        /* system is currently used */

    rotate(&settings->current_x, &settings->current_y, settings->rotation_xy);
      
    settings->current_x += settings->origin_offset_x;
    settings->current_y += settings->origin_offset_y;
    settings->current_z += settings->origin_offset_z;
    settings->AA_current += settings->AA_origin_offset;
    settings->BB_current += settings->BB_origin_offset;
    settings->CC_current += settings->CC_origin_offset;
    settings->u_current += settings->u_origin_offset;
    settings->v_current += settings->v_origin_offset;
    settings->w_current += settings->w_origin_offset;

    settings->origin_offset_x = x;
    settings->origin_offset_y = y;
    settings->origin_offset_z = z;
    settings->AA_origin_offset = a;
    settings->BB_origin_offset = b;
    settings->CC_origin_offset = c;
    settings->u_origin_offset = u;
    settings->v_origin_offset = v;
    settings->w_origin_offset = w;

    settings->current_x -= x;
    settings->current_y -= y;
    settings->current_z -= z;
    settings->AA_current -= a;
    settings->BB_current -= b;
    settings->CC_current -= c;
    settings->u_current -= u;
    settings->v_current -= v;
    settings->w_current -= w;

    SET_ORIGIN_OFFSETS(x + settings->axis_offset_x,
                       y + settings->axis_offset_y,
                       z + settings->axis_offset_z,
                       a + settings->AA_axis_offset,
                       b + settings->BB_axis_offset,
                       c + settings->CC_axis_offset,
                       u + settings->u_axis_offset,
                       v + settings->v_axis_offset,
                       w + settings->w_axis_offset);

    rotate(&settings->current_x, &settings->current_y, - r);
    settings->rotation_xy = r;
    SET_XY_ROTATION(settings->rotation_xy);

  }
#ifdef DEBUG_EMC
  else
    enqueue_COMMENT("interpreter: setting coordinate system origin");
#endif
  return INTERP_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x4c8, %rsp            # imm = 0x4C8
movq %rdi, -0x28(%rbp)
movq %rsi, -0x30(%rbp)
movq %rdx, -0x38(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0x30(%rbp), %rax
testb $0x1, 0x198(%rax)
jne 0x2b435
movq -0x30(%rbp), %rax
testb $0x1, 0x1a8(%rax)
je 0x2b50d
jmp 0x2b437
leaq 0x4f8ba(%rip), %rdi     # 0x7acf8
callq 0x10380
movq -0xf8(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x10df0
movq 0x5bb05(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x5baf4(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x5bae6(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x4f88b(%rip), %rsi     # 0x7ad1a
movl $0x50, %edx
callq 0x10840
movq 0x5bac0(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x5bab2(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x5ba9a(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x5ba8a(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x5ba7d(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x5ba6f(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x1c(%rbp)
jmp 0x2d601
jmp 0x2b50f
movq -0x38(%rbp), %rax
addq $0x17c0, %rax           # imm = 0x17C0
movq %rax, -0x90(%rbp)
movq -0x30(%rbp), %rax
movsd 0x4d324(%rip), %xmm0    # 0x78850
addsd 0x210(%rax), %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x94(%rbp)
movq -0x30(%rbp), %rax
cmpl $0x14, 0x1c8(%rax)
jne 0x2b681
movq -0x30(%rbp), %rax
testb $0x1, (%rax)
je 0x2b681
movq -0x38(%rbp), %rax
cmpl $0x0, 0x1e6cc(%rax)
je 0x2b681
movq -0x30(%rbp), %rax
movsd 0x4d8b7(%rip), %xmm0    # 0x78e30
ucomisd 0x8(%rax), %xmm0
jae 0x2b59b
movq -0x30(%rbp), %rax
movsd 0x8(%rax), %xmm0
movsd 0x4d8a7(%rip), %xmm1    # 0x78e38
ucomisd %xmm1, %xmm0
jb 0x2b681
jmp 0x2b59d
leaq 0x4e4dd(%rip), %rdi     # 0x79a81
callq 0x10380
movq -0xf8(%rbp), %rdi
movq %rax, %rsi
movq -0x30(%rbp), %rax
movsd 0x8(%rax), %xmm0
movl $0x41, %edx
movb $0x1, %al
callq 0x10df0
movq 0x5b991(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x5b980(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x5b972(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x4f717(%rip), %rsi     # 0x7ad1a
movl $0x50, %edx
callq 0x10840
movq 0x5b94c(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x5b93e(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x5b926(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x5b916(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x5b909(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x5b8fb(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x1c(%rbp)
jmp 0x2d601
jmp 0x2b683
jmp 0x2b685
movq -0x30(%rbp), %rax
cmpl $0x14, 0x1c8(%rax)
jne 0x2b7c9
movq -0x30(%rbp), %rax
testb $0x1, 0x10(%rax)
je 0x2b7c9
movq -0x38(%rbp), %rax
cmpl $0x0, 0x1e6d0(%rax)
je 0x2b7c9
movq -0x30(%rbp), %rax
movsd 0x4d76f(%rip), %xmm0    # 0x78e30
ucomisd 0x18(%rax), %xmm0
jae 0x2b6e3
movq -0x30(%rbp), %rax
movsd 0x18(%rax), %xmm0
movsd 0x4d75f(%rip), %xmm1    # 0x78e38
ucomisd %xmm1, %xmm0
jb 0x2b7c9
jmp 0x2b6e5
leaq 0x4e395(%rip), %rdi     # 0x79a81
callq 0x10380
movq -0xf8(%rbp), %rdi
movq %rax, %rsi
movq -0x30(%rbp), %rax
movsd 0x18(%rax), %xmm0
movl $0x42, %edx
movb $0x1, %al
callq 0x10df0
movq 0x5b849(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x5b838(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x5b82a(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x4f5cf(%rip), %rsi     # 0x7ad1a
movl $0x50, %edx
callq 0x10840
movq 0x5b804(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x5b7f6(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x5b7de(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x5b7ce(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x5b7c1(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x5b7b3(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x1c(%rbp)
jmp 0x2d601
jmp 0x2b7cb
jmp 0x2b7cd
movq -0x30(%rbp), %rax
cmpl $0x14, 0x1c8(%rax)
jne 0x2b911
movq -0x30(%rbp), %rax
testb $0x1, 0x20(%rax)
je 0x2b911
movq -0x38(%rbp), %rax
cmpl $0x0, 0x1e6d4(%rax)
je 0x2b911
movq -0x30(%rbp), %rax
movsd 0x4d627(%rip), %xmm0    # 0x78e30
ucomisd 0x28(%rax), %xmm0
jae 0x2b82b
movq -0x30(%rbp), %rax
movsd 0x28(%rax), %xmm0
movsd 0x4d617(%rip), %xmm1    # 0x78e38
ucomisd %xmm1, %xmm0
jb 0x2b911
jmp 0x2b82d
leaq 0x4e24d(%rip), %rdi     # 0x79a81
callq 0x10380
movq -0xf8(%rbp), %rdi
movq %rax, %rsi
movq -0x30(%rbp), %rax
movsd 0x28(%rax), %xmm0
movl $0x43, %edx
movb $0x1, %al
callq 0x10df0
movq 0x5b701(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x5b6f0(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x5b6e2(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x4f487(%rip), %rsi     # 0x7ad1a
movl $0x50, %edx
callq 0x10840
movq 0x5b6bc(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x5b6ae(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x5b696(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x5b686(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x5b679(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x5b66b(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x1c(%rbp)
jmp 0x2d601
jmp 0x2b913
jmp 0x2b915
movq -0x38(%rbp), %rax
cmpl $0x0, 0x624(%rax)
je 0x2ba14
movl -0x94(%rbp), %eax
movq -0x38(%rbp), %rcx
cmpl 0x179c(%rcx), %eax
jne 0x2ba14
jmp 0x2b93e
leaq 0x4f40d(%rip), %rdi     # 0x7ad52
callq 0x10380
movq -0xf8(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x10df0
movq 0x5b5fe(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x5b5ed(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x5b5df(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x4f384(%rip), %rsi     # 0x7ad1a
movl $0x50, %edx
callq 0x10840
movq 0x5b5b9(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x5b5ab(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x5b593(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x5b583(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x5b576(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x5b568(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x1c(%rbp)
jmp 0x2d601
jmp 0x2ba16
movq -0xf8(%rbp), %rdi
movq -0x38(%rbp), %rsi
movl -0x94(%rbp), %edx
leaq -0xa0(%rbp), %rcx
leaq -0xa8(%rbp), %r8
leaq -0xb0(%rbp), %r9
leaq -0xb8(%rbp), %r15
leaq -0xc0(%rbp), %r14
leaq -0xc8(%rbp), %rbx
leaq -0xd0(%rbp), %r11
leaq -0xd8(%rbp), %r10
leaq -0xe0(%rbp), %rax
movq %r15, (%rsp)
movq %r14, 0x8(%rsp)
movq %rbx, 0x10(%rsp)
movq %r11, 0x18(%rsp)
movq %r10, 0x20(%rsp)
movq %rax, 0x28(%rsp)
callq 0x12310
movq -0x30(%rbp), %rax
movb 0x229(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x2bbbf
jmp 0x2baa2
movq -0x30(%rbp), %rax
cmpl $0x14, 0x1c8(%rax)
jne 0x2bb83
jmp 0x2bab5
movq -0xf8(%rbp), %rdi
leaq 0x4f2dd(%rip), %rsi     # 0x7ada0
movb $0x0, %al
callq 0x10df0
movq 0x5b48f(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x5b47e(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x5b470(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x4f215(%rip), %rsi     # 0x7ad1a
movl $0x50, %edx
callq 0x10840
movq 0x5b44a(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x5b43c(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x5b424(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x5b414(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x5b407(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x5b3f9(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x1c(%rbp)
jmp 0x2d601
jmp 0x2bb85
movq -0x30(%rbp), %rax
movsd 0x230(%rax), %xmm0
movsd %xmm0, -0x88(%rbp)
movsd -0x88(%rbp), %xmm0
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x145a, %ecx           # imm = 0x145A
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2bbe3
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x145a, %ecx           # imm = 0x145A
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x88(%rbp)
movq -0x30(%rbp), %rax
cmpl $0x14, 0x1c8(%rax)
jne 0x2c080
movsd -0xa0(%rbp), %xmm0
movsd %xmm0, -0xe8(%rbp)
movsd -0xa8(%rbp), %xmm0
movsd %xmm0, -0xf0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0xa8(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movq -0x30(%rbp), %rax
movb 0x270(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x2bc53
movq -0x30(%rbp), %rax
movsd 0x278(%rax), %xmm0
movsd %xmm0, -0x40(%rbp)
movq -0x30(%rbp), %rax
movb 0x280(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x2bc78
movq -0x30(%rbp), %rax
movsd 0x288(%rax), %xmm0
movsd %xmm0, -0x48(%rbp)
movq -0xf8(%rbp), %rdi
movsd -0x88(%rbp), %xmm0
leaq -0xe8(%rbp), %rsi
leaq -0xf0(%rbp), %rdx
callq 0x11cc0
movq -0xf8(%rbp), %rdi
movsd -0x88(%rbp), %xmm0
leaq -0x40(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x11cc0
movsd -0xe8(%rbp), %xmm0
movsd %xmm0, -0x110(%rbp)
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1451, %ecx           # imm = 0x1451
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x108(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x108(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x100(%rbp)
movq 0x5b253(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2bd28
movsd 0x4d12a(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x118(%rbp)
jmp 0x2bd7a
movq 0x5b231(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4d103(%rip), %xmm0    # 0x78e40
movsd 0x4d0cb(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x128(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x120(%rbp)
je 0x2bd6a
movsd -0x128(%rbp), %xmm0
movsd %xmm0, -0x120(%rbp)
movsd -0x120(%rbp), %xmm0
movsd %xmm0, -0x118(%rbp)
movsd -0x110(%rbp), %xmm0
movsd -0x100(%rbp), %xmm1
movsd -0x118(%rbp), %xmm2
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
subsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0xf0(%rbp), %xmm0
movsd %xmm0, -0x140(%rbp)
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1452, %ecx           # imm = 0x1452
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x138(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x138(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x130(%rbp)
movq 0x5b165(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2be16
movsd 0x4d03c(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x148(%rbp)
jmp 0x2be68
movq 0x5b143(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4d015(%rip), %xmm0    # 0x78e40
movsd 0x4cfdd(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x158(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x150(%rbp)
je 0x2be58
movsd -0x158(%rbp), %xmm0
movsd %xmm0, -0x150(%rbp)
movsd -0x150(%rbp), %xmm0
movsd %xmm0, -0x148(%rbp)
movsd -0x140(%rbp), %xmm0
movsd -0x130(%rbp), %xmm1
movsd -0x148(%rbp), %xmm2
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
subsd -0x48(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x160(%rbp)
movq 0x5b0ba(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2bec1
movsd 0x4cf91(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x168(%rbp)
jmp 0x2bf13
movq 0x5b098(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4cf6a(%rip), %xmm0    # 0x78e40
movsd 0x4cf32(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x178(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x170(%rbp)
je 0x2bf03
movsd -0x178(%rbp), %xmm0
movsd %xmm0, -0x170(%rbp)
movsd -0x170(%rbp), %xmm0
movsd %xmm0, -0x168(%rbp)
movsd -0x160(%rbp), %xmm0
movsd -0x168(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x188(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x188(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1451, %ecx           # imm = 0x1451
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd -0x48(%rbp), %xmm0
movsd %xmm0, -0x180(%rbp)
movq 0x5afed(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2bf8e
movsd 0x4cec4(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x190(%rbp)
jmp 0x2bfe0
movq 0x5afcb(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4ce9d(%rip), %xmm0    # 0x78e40
movsd 0x4ce65(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x1a0(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x198(%rbp)
je 0x2bfd0
movsd -0x1a0(%rbp), %xmm0
movsd %xmm0, -0x198(%rbp)
movsd -0x198(%rbp), %xmm0
movsd %xmm0, -0x190(%rbp)
movsd -0x180(%rbp), %xmm0
movsd -0x190(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x1a8(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x1a8(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1452, %ecx           # imm = 0x1452
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x94(%rbp), %eax
movq -0x38(%rbp), %rcx
cmpl 0x179c(%rcx), %eax
jne 0x2c07b
movq -0xf8(%rbp), %rdi
movq -0x38(%rbp), %rsi
addq $0x600, %rsi            # imm = 0x600
movq -0x38(%rbp), %rdx
addq $0x608, %rdx            # imm = 0x608
movq -0x38(%rbp), %rax
movsd 0x17b8(%rax), %xmm0
callq 0x11cc0
movq -0x38(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x17b8(%rax)
jmp 0x2c412
movq -0x30(%rbp), %rax
movb 0x270(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x2c17b
movq -0x30(%rbp), %rax
movsd 0x278(%rax), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x1b0(%rbp)
movq 0x5aea3(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2c0d8
movsd 0x4cd7a(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x1b8(%rbp)
jmp 0x2c12a
movq 0x5ae81(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4cd53(%rip), %xmm0    # 0x78e40
movsd 0x4cd1b(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x1c8(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x1c0(%rbp)
je 0x2c11a
movsd -0x1c8(%rbp), %xmm0
movsd %xmm0, -0x1c0(%rbp)
movsd -0x1c0(%rbp), %xmm0
movsd %xmm0, -0x1b8(%rbp)
movsd -0x1b0(%rbp), %xmm0
movsd -0x1b8(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x1d0(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x1d0(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1451, %ecx           # imm = 0x1451
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2c248
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1451, %ecx           # imm = 0x1451
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x1e0(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x1e0(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x1d8(%rbp)
movq 0x5ad9e(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2c1dd
movsd 0x4cc75(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x1e8(%rbp)
jmp 0x2c22f
movq 0x5ad7c(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4cc4e(%rip), %xmm0    # 0x78e40
movsd 0x4cc16(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x1f8(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x1f0(%rbp)
je 0x2c21f
movsd -0x1f8(%rbp), %xmm0
movsd %xmm0, -0x1f0(%rbp)
movsd -0x1f0(%rbp), %xmm0
movsd %xmm0, -0x1e8(%rbp)
movsd -0x1d8(%rbp), %xmm0
movsd -0x1e8(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movq -0x30(%rbp), %rax
movb 0x280(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x2c343
movq -0x30(%rbp), %rax
movsd 0x288(%rax), %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x48(%rbp), %xmm0
movsd %xmm0, -0x200(%rbp)
movq 0x5acdb(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2c2a0
movsd 0x4cbb2(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x208(%rbp)
jmp 0x2c2f2
movq 0x5acb9(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4cb8b(%rip), %xmm0    # 0x78e40
movsd 0x4cb53(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x218(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x210(%rbp)
je 0x2c2e2
movsd -0x218(%rbp), %xmm0
movsd %xmm0, -0x210(%rbp)
movsd -0x210(%rbp), %xmm0
movsd %xmm0, -0x208(%rbp)
movsd -0x200(%rbp), %xmm0
movsd -0x208(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x220(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x220(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1452, %ecx           # imm = 0x1452
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2c410
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1452, %ecx           # imm = 0x1452
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x230(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x230(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x228(%rbp)
movq 0x5abd6(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2c3a5
movsd 0x4caad(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x238(%rbp)
jmp 0x2c3f7
movq 0x5abb4(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4ca86(%rip), %xmm0    # 0x78e40
movsd 0x4ca4e(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x248(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x240(%rbp)
je 0x2c3e7
movsd -0x248(%rbp), %xmm0
movsd %xmm0, -0x240(%rbp)
movsd -0x240(%rbp), %xmm0
movsd %xmm0, -0x238(%rbp)
movsd -0x228(%rbp), %xmm0
movsd -0x238(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x48(%rbp)
jmp 0x2c412
movq -0x30(%rbp), %rax
movb 0x290(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x2c60c
movq -0x30(%rbp), %rax
movsd 0x298(%rax), %xmm0
movsd %xmm0, -0x50(%rbp)
movq -0x30(%rbp), %rax
cmpl $0x14, 0x1c8(%rax)
jne 0x2c53a
movsd -0xb0(%rbp), %xmm0
movsd %xmm0, -0x260(%rbp)
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1453, %ecx           # imm = 0x1453
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x258(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x258(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x250(%rbp)
movq 0x5aabd(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2c4be
movsd 0x4c994(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x268(%rbp)
jmp 0x2c510
movq 0x5aa9b(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4c96d(%rip), %xmm0    # 0x78e40
movsd 0x4c935(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x278(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x270(%rbp)
je 0x2c500
movsd -0x278(%rbp), %xmm0
movsd %xmm0, -0x270(%rbp)
movsd -0x270(%rbp), %xmm0
movsd %xmm0, -0x268(%rbp)
movsd -0x260(%rbp), %xmm0
movsd -0x250(%rbp), %xmm1
movsd -0x268(%rbp), %xmm2
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
subsd -0x50(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x50(%rbp), %xmm0
movsd %xmm0, -0x280(%rbp)
movq 0x5aa12(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2c569
movsd 0x4c8e9(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x288(%rbp)
jmp 0x2c5bb
movq 0x5a9f0(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4c8c2(%rip), %xmm0    # 0x78e40
movsd 0x4c88a(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x298(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x290(%rbp)
je 0x2c5ab
movsd -0x298(%rbp), %xmm0
movsd %xmm0, -0x290(%rbp)
movsd -0x290(%rbp), %xmm0
movsd %xmm0, -0x288(%rbp)
movsd -0x280(%rbp), %xmm0
movsd -0x288(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x2a0(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x2a0(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1453, %ecx           # imm = 0x1453
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2c6d9
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1453, %ecx           # imm = 0x1453
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x2b0(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x2b0(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x2a8(%rbp)
movq 0x5a90d(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2c66e
movsd 0x4c7e4(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x2b8(%rbp)
jmp 0x2c6c0
movq 0x5a8eb(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4c7bd(%rip), %xmm0    # 0x78e40
movsd 0x4c785(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x2c8(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x2c0(%rbp)
je 0x2c6b0
movsd -0x2c8(%rbp), %xmm0
movsd %xmm0, -0x2c0(%rbp)
movsd -0x2c0(%rbp), %xmm0
movsd %xmm0, -0x2b8(%rbp)
movsd -0x2a8(%rbp), %xmm0
movsd -0x2b8(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
movq -0x30(%rbp), %rax
movb (%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x2c7a5
movq -0x30(%rbp), %rax
movsd 0x8(%rax), %xmm0
movsd %xmm0, -0x58(%rbp)
movq -0x30(%rbp), %rax
cmpl $0x14, 0x1c8(%rax)
jne 0x2c766
movsd -0xb8(%rbp), %xmm0
movsd %xmm0, -0x2d0(%rbp)
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1454, %ecx           # imm = 0x1454
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x2d8(%rbp)
callq 0x11920
movsd -0x2d8(%rbp), %xmm1
movaps %xmm0, %xmm2
movsd -0x2d0(%rbp), %xmm0
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
subsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x58(%rbp)
movsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x2e0(%rbp)
callq 0x11920
movaps %xmm0, %xmm1
movsd -0x2e0(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1454, %ecx           # imm = 0x1454
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2c7e2
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1454, %ecx           # imm = 0x1454
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x2e8(%rbp)
callq 0x11920
movaps %xmm0, %xmm1
movsd -0x2e8(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rbp)
movq -0x30(%rbp), %rax
movb 0x10(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x2c8af
movq -0x30(%rbp), %rax
movsd 0x18(%rax), %xmm0
movsd %xmm0, -0x60(%rbp)
movq -0x30(%rbp), %rax
cmpl $0x14, 0x1c8(%rax)
jne 0x2c870
movsd -0xc0(%rbp), %xmm0
movsd %xmm0, -0x2f0(%rbp)
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1455, %ecx           # imm = 0x1455
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x2f8(%rbp)
callq 0x11920
movsd -0x2f8(%rbp), %xmm1
movaps %xmm0, %xmm2
movsd -0x2f0(%rbp), %xmm0
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
subsd -0x60(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x60(%rbp), %xmm0
movsd %xmm0, -0x300(%rbp)
callq 0x11920
movaps %xmm0, %xmm1
movsd -0x300(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1455, %ecx           # imm = 0x1455
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2c8ec
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1455, %ecx           # imm = 0x1455
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x308(%rbp)
callq 0x11920
movaps %xmm0, %xmm1
movsd -0x308(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x60(%rbp)
movq -0x30(%rbp), %rax
movb 0x20(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x2c9b9
movq -0x30(%rbp), %rax
movsd 0x28(%rax), %xmm0
movsd %xmm0, -0x68(%rbp)
movq -0x30(%rbp), %rax
cmpl $0x14, 0x1c8(%rax)
jne 0x2c97a
movsd -0xc8(%rbp), %xmm0
movsd %xmm0, -0x310(%rbp)
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1456, %ecx           # imm = 0x1456
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x318(%rbp)
callq 0x11920
movsd -0x318(%rbp), %xmm1
movaps %xmm0, %xmm2
movsd -0x310(%rbp), %xmm0
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
subsd -0x68(%rbp), %xmm0
movsd %xmm0, -0x68(%rbp)
movsd -0x68(%rbp), %xmm0
movsd %xmm0, -0x320(%rbp)
callq 0x11920
movaps %xmm0, %xmm1
movsd -0x320(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1456, %ecx           # imm = 0x1456
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2c9f6
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1456, %ecx           # imm = 0x1456
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x328(%rbp)
callq 0x11920
movaps %xmm0, %xmm1
movsd -0x328(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x68(%rbp)
movq -0x30(%rbp), %rax
movb 0x244(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x2cbf0
movq -0x30(%rbp), %rax
movsd 0x248(%rax), %xmm0
movsd %xmm0, -0x70(%rbp)
movq -0x30(%rbp), %rax
cmpl $0x14, 0x1c8(%rax)
jne 0x2cb1e
movsd -0xd0(%rbp), %xmm0
movsd %xmm0, -0x340(%rbp)
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1457, %ecx           # imm = 0x1457
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x338(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x338(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x330(%rbp)
movq 0x5a4d9(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2caa2
movsd 0x4c3b0(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x348(%rbp)
jmp 0x2caf4
movq 0x5a4b7(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4c389(%rip), %xmm0    # 0x78e40
movsd 0x4c351(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x358(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x350(%rbp)
je 0x2cae4
movsd -0x358(%rbp), %xmm0
movsd %xmm0, -0x350(%rbp)
movsd -0x350(%rbp), %xmm0
movsd %xmm0, -0x348(%rbp)
movsd -0x340(%rbp), %xmm0
movsd -0x330(%rbp), %xmm1
movsd -0x348(%rbp), %xmm2
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
subsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x360(%rbp)
movq 0x5a42e(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2cb4d
movsd 0x4c305(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x368(%rbp)
jmp 0x2cb9f
movq 0x5a40c(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4c2de(%rip), %xmm0    # 0x78e40
movsd 0x4c2a6(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x378(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x370(%rbp)
je 0x2cb8f
movsd -0x378(%rbp), %xmm0
movsd %xmm0, -0x370(%rbp)
movsd -0x370(%rbp), %xmm0
movsd %xmm0, -0x368(%rbp)
movsd -0x360(%rbp), %xmm0
movsd -0x368(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x380(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x380(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1457, %ecx           # imm = 0x1457
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2ccbd
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1457, %ecx           # imm = 0x1457
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x390(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x390(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x388(%rbp)
movq 0x5a329(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2cc52
movsd 0x4c200(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x398(%rbp)
jmp 0x2cca4
movq 0x5a307(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4c1d9(%rip), %xmm0    # 0x78e40
movsd 0x4c1a1(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x3a8(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x3a0(%rbp)
je 0x2cc94
movsd -0x3a8(%rbp), %xmm0
movsd %xmm0, -0x3a0(%rbp)
movsd -0x3a0(%rbp), %xmm0
movsd %xmm0, -0x398(%rbp)
movsd -0x388(%rbp), %xmm0
movsd -0x398(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x70(%rbp)
movq -0x30(%rbp), %rax
movb 0x250(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x2ceb7
movq -0x30(%rbp), %rax
movsd 0x258(%rax), %xmm0
movsd %xmm0, -0x78(%rbp)
movq -0x30(%rbp), %rax
cmpl $0x14, 0x1c8(%rax)
jne 0x2cde5
movsd -0xd8(%rbp), %xmm0
movsd %xmm0, -0x3c0(%rbp)
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1458, %ecx           # imm = 0x1458
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x3b8(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x3b8(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x3b0(%rbp)
movq 0x5a212(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2cd69
movsd 0x4c0e9(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x3c8(%rbp)
jmp 0x2cdbb
movq 0x5a1f0(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4c0c2(%rip), %xmm0    # 0x78e40
movsd 0x4c08a(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x3d8(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x3d0(%rbp)
je 0x2cdab
movsd -0x3d8(%rbp), %xmm0
movsd %xmm0, -0x3d0(%rbp)
movsd -0x3d0(%rbp), %xmm0
movsd %xmm0, -0x3c8(%rbp)
movsd -0x3c0(%rbp), %xmm0
movsd -0x3b0(%rbp), %xmm1
movsd -0x3c8(%rbp), %xmm2
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
subsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x3e0(%rbp)
movq 0x5a167(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2ce14
movsd 0x4c03e(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x3e8(%rbp)
jmp 0x2ce66
movq 0x5a145(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4c017(%rip), %xmm0    # 0x78e40
movsd 0x4bfdf(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x3f8(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x3f0(%rbp)
je 0x2ce56
movsd -0x3f8(%rbp), %xmm0
movsd %xmm0, -0x3f0(%rbp)
movsd -0x3f0(%rbp), %xmm0
movsd %xmm0, -0x3e8(%rbp)
movsd -0x3e0(%rbp), %xmm0
movsd -0x3e8(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x400(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x400(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1458, %ecx           # imm = 0x1458
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2cf84
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1458, %ecx           # imm = 0x1458
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x410(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x410(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x408(%rbp)
movq 0x5a062(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2cf19
movsd 0x4bf39(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x418(%rbp)
jmp 0x2cf6b
movq 0x5a040(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4bf12(%rip), %xmm0    # 0x78e40
movsd 0x4beda(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x428(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x420(%rbp)
je 0x2cf5b
movsd -0x428(%rbp), %xmm0
movsd %xmm0, -0x420(%rbp)
movsd -0x420(%rbp), %xmm0
movsd %xmm0, -0x418(%rbp)
movsd -0x408(%rbp), %xmm0
movsd -0x418(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x78(%rbp)
movq -0x30(%rbp), %rax
movb 0x260(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x2d17e
movq -0x30(%rbp), %rax
movsd 0x268(%rax), %xmm0
movsd %xmm0, -0x80(%rbp)
movq -0x30(%rbp), %rax
cmpl $0x14, 0x1c8(%rax)
jne 0x2d0ac
movsd -0xe0(%rbp), %xmm0
movsd %xmm0, -0x440(%rbp)
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1459, %ecx           # imm = 0x1459
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x438(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x438(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x430(%rbp)
movq 0x59f4b(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2d030
movsd 0x4be22(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x448(%rbp)
jmp 0x2d082
movq 0x59f29(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4bdfb(%rip), %xmm0    # 0x78e40
movsd 0x4bdc3(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x458(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x450(%rbp)
je 0x2d072
movsd -0x458(%rbp), %xmm0
movsd %xmm0, -0x450(%rbp)
movsd -0x450(%rbp), %xmm0
movsd %xmm0, -0x448(%rbp)
movsd -0x440(%rbp), %xmm0
movsd -0x430(%rbp), %xmm1
movsd -0x448(%rbp), %xmm2
divsd %xmm2, %xmm1
addsd %xmm1, %xmm0
subsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x460(%rbp)
movq 0x59ea0(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2d0db
movsd 0x4bd77(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x468(%rbp)
jmp 0x2d12d
movq 0x59e7e(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4bd50(%rip), %xmm0    # 0x78e40
movsd 0x4bd18(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x478(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x470(%rbp)
je 0x2d11d
movsd -0x478(%rbp), %xmm0
movsd %xmm0, -0x470(%rbp)
movsd -0x470(%rbp), %xmm0
movsd %xmm0, -0x468(%rbp)
movsd -0x460(%rbp), %xmm0
movsd -0x468(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x480(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x480(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1459, %ecx           # imm = 0x1459
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x2d24b
movq -0x90(%rbp), %rax
imull $0x14, -0x94(%rbp), %ecx
addl $0x1459, %ecx           # imm = 0x1459
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x490(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x490(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x488(%rbp)
movq 0x59d9b(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x2d1e0
movsd 0x4bc72(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x498(%rbp)
jmp 0x2d232
movq 0x59d79(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x4bc4b(%rip), %xmm0    # 0x78e40
movsd 0x4bc13(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x4a8(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x4a0(%rbp)
je 0x2d222
movsd -0x4a8(%rbp), %xmm0
movsd %xmm0, -0x4a0(%rbp)
movsd -0x4a0(%rbp), %xmm0
movsd %xmm0, -0x498(%rbp)
movsd -0x488(%rbp), %xmm0
movsd -0x498(%rbp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x80(%rbp)
movl -0x94(%rbp), %eax
movq -0x38(%rbp), %rcx
cmpl 0x179c(%rcx), %eax
jne 0x2d5ee
movq -0xf8(%rbp), %rdi
movq -0x38(%rbp), %rsi
addq $0x600, %rsi            # imm = 0x600
movq -0x38(%rbp), %rdx
addq $0x608, %rdx            # imm = 0x608
movq -0x38(%rbp), %rax
movsd 0x17b8(%rax), %xmm0
callq 0x11cc0
movq -0x38(%rbp), %rax
movsd 0x17a0(%rax), %xmm0
movq -0x38(%rbp), %rax
addsd 0x600(%rax), %xmm0
movsd %xmm0, 0x600(%rax)
movq -0x38(%rbp), %rax
movsd 0x17a8(%rax), %xmm0
movq -0x38(%rbp), %rax
addsd 0x608(%rax), %xmm0
movsd %xmm0, 0x608(%rax)
movq -0x38(%rbp), %rax
movsd 0x17b0(%rax), %xmm0
movq -0x38(%rbp), %rax
addsd 0x610(%rax), %xmm0
movsd %xmm0, 0x610(%rax)
movq -0x38(%rbp), %rax
movsd 0x10(%rax), %xmm0
movq -0x38(%rbp), %rax
addsd 0x8(%rax), %xmm0
movsd %xmm0, 0x8(%rax)
movq -0x38(%rbp), %rax
movsd 0x28(%rax), %xmm0
movq -0x38(%rbp), %rax
addsd 0x20(%rax), %xmm0
movsd %xmm0, 0x20(%rax)
movq -0x38(%rbp), %rax
movsd 0x40(%rax), %xmm0
movq -0x38(%rbp), %rax
addsd 0x38(%rax), %xmm0
movsd %xmm0, 0x38(%rax)
movq -0x38(%rbp), %rax
movsd 0x58(%rax), %xmm0
movq -0x38(%rbp), %rax
addsd 0x50(%rax), %xmm0
movsd %xmm0, 0x50(%rax)
movq -0x38(%rbp), %rax
movsd 0x70(%rax), %xmm0
movq -0x38(%rbp), %rax
addsd 0x68(%rax), %xmm0
movsd %xmm0, 0x68(%rax)
movq -0x38(%rbp), %rax
movsd 0x88(%rax), %xmm0
movq -0x38(%rbp), %rax
addsd 0x80(%rax), %xmm0
movsd %xmm0, 0x80(%rax)
movsd -0x40(%rbp), %xmm0
movq -0x38(%rbp), %rax
movsd %xmm0, 0x17a0(%rax)
movsd -0x48(%rbp), %xmm0
movq -0x38(%rbp), %rax
movsd %xmm0, 0x17a8(%rax)
movsd -0x50(%rbp), %xmm0
movq -0x38(%rbp), %rax
movsd %xmm0, 0x17b0(%rax)
movsd -0x58(%rbp), %xmm0
movq -0x38(%rbp), %rax
movsd %xmm0, 0x10(%rax)
movsd -0x60(%rbp), %xmm0
movq -0x38(%rbp), %rax
movsd %xmm0, 0x28(%rax)
movsd -0x68(%rbp), %xmm0
movq -0x38(%rbp), %rax
movsd %xmm0, 0x40(%rax)
movsd -0x70(%rbp), %xmm0
movq -0x38(%rbp), %rax
movsd %xmm0, 0x58(%rax)
movsd -0x78(%rbp), %xmm0
movq -0x38(%rbp), %rax
movsd %xmm0, 0x70(%rax)
movsd -0x80(%rbp), %xmm0
movq -0x38(%rbp), %rax
movsd %xmm0, 0x88(%rax)
movsd -0x40(%rbp), %xmm1
movq -0x38(%rbp), %rax
movsd 0x600(%rax), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x600(%rax)
movsd -0x48(%rbp), %xmm1
movq -0x38(%rbp), %rax
movsd 0x608(%rax), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x608(%rax)
movsd -0x50(%rbp), %xmm1
movq -0x38(%rbp), %rax
movsd 0x610(%rax), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x610(%rax)
movsd -0x58(%rbp), %xmm1
movq -0x38(%rbp), %rax
movsd 0x8(%rax), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x8(%rax)
movsd -0x60(%rbp), %xmm1
movq -0x38(%rbp), %rax
movsd 0x20(%rax), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x20(%rax)
movsd -0x68(%rbp), %xmm1
movq -0x38(%rbp), %rax
movsd 0x38(%rax), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x38(%rax)
movsd -0x70(%rbp), %xmm1
movq -0x38(%rbp), %rax
movsd 0x50(%rax), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x50(%rax)
movsd -0x78(%rbp), %xmm1
movq -0x38(%rbp), %rax
movsd 0x68(%rax), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x68(%rax)
movsd -0x80(%rbp), %xmm1
movq -0x38(%rbp), %rax
movsd 0x80(%rax), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, 0x80(%rax)
movsd -0x40(%rbp), %xmm0
movq -0x38(%rbp), %rax
addsd 0x118(%rax), %xmm0
movsd -0x48(%rbp), %xmm1
movq -0x38(%rbp), %rax
addsd 0x120(%rax), %xmm1
movsd -0x50(%rbp), %xmm2
movq -0x38(%rbp), %rax
addsd 0x128(%rax), %xmm2
movsd -0x58(%rbp), %xmm3
movq -0x38(%rbp), %rax
addsd (%rax), %xmm3
movsd -0x60(%rbp), %xmm4
movq -0x38(%rbp), %rax
addsd 0x18(%rax), %xmm4
movsd -0x68(%rbp), %xmm5
movq -0x38(%rbp), %rax
addsd 0x30(%rax), %xmm5
movsd -0x70(%rbp), %xmm6
movq -0x38(%rbp), %rax
addsd 0x48(%rax), %xmm6
movsd -0x78(%rbp), %xmm7
movq -0x38(%rbp), %rax
addsd 0x60(%rax), %xmm7
movsd -0x80(%rbp), %xmm8
movq -0x38(%rbp), %rax
addsd 0x78(%rax), %xmm8
movsd %xmm8, (%rsp)
callq 0x107e0
movq -0xf8(%rbp), %rdi
movq -0x38(%rbp), %rsi
addq $0x600, %rsi            # imm = 0x600
movq -0x38(%rbp), %rdx
addq $0x608, %rdx            # imm = 0x608
movsd -0x88(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
callq 0x11cc0
movsd -0x88(%rbp), %xmm0
movq -0x38(%rbp), %rax
movsd %xmm0, 0x17b8(%rax)
movq -0x38(%rbp), %rax
movsd 0x17b8(%rax), %xmm0
callq 0x11760
jmp 0x2d5fa
leaq 0x4d7c4(%rip), %rdi     # 0x7adb9
callq 0x11f00
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
addq $0x4c8, %rsp            # imm = 0x4C8
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
nopw %cs:(%rax,%rax)