// File: sundale[P]gcode/rs274ngc/interp_convert.cc
// Function: Interp::convert_axis_offsets(int, block_struct*, setup_struct*)
int Interp::convert_axis_offsets(int g_code,     //!< g_code being executed (must be in G_92 series)
                                block_pointer block,    //!< pointer to a block of RS274/NGC instructions  
                                setup_pointer settings) //!< pointer to machine settings                   
{
  double *pars;                 /* short name for settings->parameters            */

  CHKS((settings->cutter_comp_side != OFF),      /* not "== ON" */
      NCE_CANNOT_CHANGE_AXIS_OFFSETS_WITH_CUTTER_RADIUS_COMP);
  CHKS((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->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->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');
  pars = settings->parameters;
  if (g_code == G_92) {
    pars[5210] = 1.0;
    if (block->x_flag == ON) {
      settings->axis_offset_x =
        (settings->current_x + settings->axis_offset_x - block->x_number);
      settings->current_x = block->x_number;
    }

    if (block->y_flag == ON) {
      settings->axis_offset_y =
        (settings->current_y + settings->axis_offset_y - block->y_number);
      settings->current_y = block->y_number;
    }

    if (block->z_flag == ON) {
      settings->axis_offset_z =
        (settings->current_z + settings->axis_offset_z - block->z_number);
      settings->current_z = block->z_number;
    }
    if (block->a_flag == ON) {
      settings->AA_axis_offset = (settings->AA_current +
                                  settings->AA_axis_offset - block->a_number);
      settings->AA_current = block->a_number;
    }
    if (block->b_flag == ON) {
      settings->BB_axis_offset = (settings->BB_current +
                                  settings->BB_axis_offset - block->b_number);
      settings->BB_current = block->b_number;
    }
    if (block->c_flag == ON) {
      settings->CC_axis_offset = (settings->CC_current +
                                  settings->CC_axis_offset - block->c_number);
      settings->CC_current = block->c_number;
    }
    if (block->u_flag == ON) {
      settings->u_axis_offset = (settings->u_current +
                                 settings->u_axis_offset - block->u_number);
      settings->u_current = block->u_number;
    }
    if (block->v_flag == ON) {
      settings->v_axis_offset = (settings->v_current +
                                 settings->v_axis_offset - block->v_number);
      settings->v_current = block->v_number;
    }
    if (block->w_flag == ON) {
      settings->w_axis_offset = (settings->w_current +
                                 settings->w_axis_offset - block->w_number);
      settings->w_current = block->w_number;
    }

    SET_ORIGIN_OFFSETS(settings->origin_offset_x + settings->axis_offset_x,
                       settings->origin_offset_y + settings->axis_offset_y,
                       settings->origin_offset_z + settings->axis_offset_z,
                       (settings->AA_origin_offset +
                        settings->AA_axis_offset),
                       (settings->BB_origin_offset +
                        settings->BB_axis_offset),
                       (settings->CC_origin_offset +
                        settings->CC_axis_offset),
                       (settings->u_origin_offset +
                        settings->u_axis_offset),
                       (settings->v_origin_offset +
                        settings->v_axis_offset),
                       (settings->w_origin_offset +
                        settings->w_axis_offset));
    
    pars[5211] = PROGRAM_TO_USER_LEN(settings->axis_offset_x);
    pars[5212] = PROGRAM_TO_USER_LEN(settings->axis_offset_y);
    pars[5213] = PROGRAM_TO_USER_LEN(settings->axis_offset_z);
    pars[5214] = PROGRAM_TO_USER_ANG(settings->AA_axis_offset);
    pars[5215] = PROGRAM_TO_USER_ANG(settings->BB_axis_offset);
    pars[5216] = PROGRAM_TO_USER_ANG(settings->CC_axis_offset);
    pars[5217] = PROGRAM_TO_USER_LEN(settings->u_axis_offset);
    pars[5218] = PROGRAM_TO_USER_LEN(settings->v_axis_offset);
    pars[5219] = PROGRAM_TO_USER_LEN(settings->w_axis_offset);
  } else if ((g_code == G_92_1) || (g_code == G_92_2)) {
    pars[5210] = 0.0;
    settings->current_x = settings->current_x + settings->axis_offset_x;
    settings->current_y = settings->current_y + settings->axis_offset_y;
    settings->current_z = settings->current_z + settings->axis_offset_z;
    settings->AA_current = (settings->AA_current + settings->AA_axis_offset);
    settings->BB_current = (settings->BB_current + settings->BB_axis_offset);
    settings->CC_current = (settings->CC_current + settings->CC_axis_offset);
    settings->u_current = (settings->u_current + settings->u_axis_offset);
    settings->v_current = (settings->v_current + settings->v_axis_offset);
    settings->w_current = (settings->w_current + settings->w_axis_offset);
    SET_ORIGIN_OFFSETS(settings->origin_offset_x,
                       settings->origin_offset_y, settings->origin_offset_z,
                       settings->AA_origin_offset,
                       settings->BB_origin_offset,
                       settings->CC_origin_offset,
                       settings->u_origin_offset,
                       settings->v_origin_offset,
                       settings->w_origin_offset);
    settings->axis_offset_x = 0.0;
    settings->axis_offset_y = 0.0;
    settings->axis_offset_z = 0.0;
    settings->AA_axis_offset = 0.0;
    settings->BB_axis_offset = 0.0;
    settings->CC_axis_offset = 0.0;
    settings->u_axis_offset = 0.0;
    settings->v_axis_offset = 0.0;
    settings->w_axis_offset = 0.0;
    if (g_code == G_92_1) {
      pars[5211] = 0.0;
      pars[5212] = 0.0;
      pars[5213] = 0.0;
      pars[5214] = 0.0;
      pars[5215] = 0.0;
      pars[5216] = 0.0;
      pars[5217] = 0.0;
      pars[5218] = 0.0;
      pars[5219] = 0.0;
    }
  } else if (g_code == G_92_3) {
    pars[5210] = 1.0;
    settings->current_x =
      settings->current_x + settings->axis_offset_x - USER_TO_PROGRAM_LEN(pars[5211]);
    settings->current_y =
      settings->current_y + settings->axis_offset_y - USER_TO_PROGRAM_LEN(pars[5212]);
    settings->current_z =
      settings->current_z + settings->axis_offset_z - USER_TO_PROGRAM_LEN(pars[5213]);
    settings->AA_current =
      settings->AA_current + settings->AA_axis_offset - USER_TO_PROGRAM_ANG(pars[5214]);
    settings->BB_current =
      settings->BB_current + settings->BB_axis_offset - USER_TO_PROGRAM_ANG(pars[5215]);
    settings->CC_current =
      settings->CC_current + settings->CC_axis_offset - USER_TO_PROGRAM_ANG(pars[5216]);
    settings->u_current =
      settings->u_current + settings->u_axis_offset - USER_TO_PROGRAM_LEN(pars[5217]);
    settings->v_current =
      settings->v_current + settings->v_axis_offset - USER_TO_PROGRAM_LEN(pars[5218]);
    settings->w_current =
      settings->w_current + settings->w_axis_offset - USER_TO_PROGRAM_LEN(pars[5219]);

    settings->axis_offset_x = USER_TO_PROGRAM_LEN(pars[5211]);
    settings->axis_offset_y = USER_TO_PROGRAM_LEN(pars[5212]);
    settings->axis_offset_z = USER_TO_PROGRAM_LEN(pars[5213]);
    settings->AA_axis_offset = USER_TO_PROGRAM_ANG(pars[5214]);
    settings->BB_axis_offset = USER_TO_PROGRAM_ANG(pars[5215]);
    settings->CC_axis_offset = USER_TO_PROGRAM_ANG(pars[5216]);
    settings->u_axis_offset = USER_TO_PROGRAM_LEN(pars[5217]);
    settings->v_axis_offset = USER_TO_PROGRAM_LEN(pars[5218]);
    settings->w_axis_offset = USER_TO_PROGRAM_LEN(pars[5219]);
    SET_ORIGIN_OFFSETS(settings->origin_offset_x + settings->axis_offset_x,
                       settings->origin_offset_y + settings->axis_offset_y,
                       settings->origin_offset_z + settings->axis_offset_z,
                       (settings->AA_origin_offset +
                        settings->AA_axis_offset),
                       (settings->BB_origin_offset +
                        settings->BB_axis_offset),
                       (settings->CC_origin_offset +
                        settings->CC_axis_offset),
                       (settings->u_origin_offset +
                        settings->u_axis_offset),
                       (settings->v_origin_offset +
                        settings->v_axis_offset),
                       (settings->w_origin_offset +
                        settings->w_axis_offset));

  } else
    ERS(NCE_BUG_CODE_NOT_IN_G92_SERIES);

  return INTERP_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3a0, %rsp            # imm = 0x3A0
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rax
cmpl $0x0, 0x624(%rax)
je 0x1c718
jmp 0x1c645
leaq 0x5d3be(%rip), %rdi     # 0x79a0a
callq 0x10380
movq -0x38(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x10df0
movq 0x6a8fa(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x6a8e9(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x6a8db(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x5d3a3(%rip), %rsi     # 0x79a3d
movl $0x50, %edx
callq 0x10840
movq 0x6a8b5(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x6a8a7(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x6a88f(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x6a87f(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x6a872(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x6a864(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x1e38b
jmp 0x1c71a
jmp 0x1c71c
movq -0x20(%rbp), %rax
testb $0x1, (%rax)
je 0x1c84b
movq -0x28(%rbp), %rax
cmpl $0x0, 0x1e6cc(%rax)
je 0x1c84b
movq -0x20(%rbp), %rax
movsd 0x5c6ea(%rip), %xmm0    # 0x78e30
ucomisd 0x8(%rax), %xmm0
jae 0x1c768
movq -0x20(%rbp), %rax
movsd 0x8(%rax), %xmm0
movsd 0x5c6da(%rip), %xmm1    # 0x78e38
ucomisd %xmm1, %xmm0
jb 0x1c84b
jmp 0x1c76a
leaq 0x5d310(%rip), %rdi     # 0x79a81
callq 0x10380
movq -0x38(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rax
movsd 0x8(%rax), %xmm0
movl $0x41, %edx
movb $0x1, %al
callq 0x10df0
movq 0x6a7c7(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x6a7b6(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x6a7a8(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x5d270(%rip), %rsi     # 0x79a3d
movl $0x50, %edx
callq 0x10840
movq 0x6a782(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x6a774(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x6a75c(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x6a74c(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x6a73f(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x6a731(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x1e38b
jmp 0x1c84d
jmp 0x1c84f
movq -0x20(%rbp), %rax
testb $0x1, 0x10(%rax)
je 0x1c97f
movq -0x28(%rbp), %rax
cmpl $0x0, 0x1e6d0(%rax)
je 0x1c97f
movq -0x20(%rbp), %rax
movsd 0x5c5b6(%rip), %xmm0    # 0x78e30
ucomisd 0x18(%rax), %xmm0
jae 0x1c89c
movq -0x20(%rbp), %rax
movsd 0x18(%rax), %xmm0
movsd 0x5c5a6(%rip), %xmm1    # 0x78e38
ucomisd %xmm1, %xmm0
jb 0x1c97f
jmp 0x1c89e
leaq 0x5d1dc(%rip), %rdi     # 0x79a81
callq 0x10380
movq -0x38(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rax
movsd 0x18(%rax), %xmm0
movl $0x42, %edx
movb $0x1, %al
callq 0x10df0
movq 0x6a693(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x6a682(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x6a674(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x5d13c(%rip), %rsi     # 0x79a3d
movl $0x50, %edx
callq 0x10840
movq 0x6a64e(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x6a640(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x6a628(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x6a618(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x6a60b(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x6a5fd(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x1e38b
jmp 0x1c981
jmp 0x1c983
movq -0x20(%rbp), %rax
testb $0x1, 0x20(%rax)
je 0x1cab3
movq -0x28(%rbp), %rax
cmpl $0x0, 0x1e6d4(%rax)
je 0x1cab3
movq -0x20(%rbp), %rax
movsd 0x5c482(%rip), %xmm0    # 0x78e30
ucomisd 0x28(%rax), %xmm0
jae 0x1c9d0
movq -0x20(%rbp), %rax
movsd 0x28(%rax), %xmm0
movsd 0x5c472(%rip), %xmm1    # 0x78e38
ucomisd %xmm1, %xmm0
jb 0x1cab3
jmp 0x1c9d2
leaq 0x5d0a8(%rip), %rdi     # 0x79a81
callq 0x10380
movq -0x38(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rax
movsd 0x28(%rax), %xmm0
movl $0x43, %edx
movb $0x1, %al
callq 0x10df0
movq 0x6a55f(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x6a54e(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x6a540(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x5d008(%rip), %rsi     # 0x79a3d
movl $0x50, %edx
callq 0x10840
movq 0x6a51a(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x6a50c(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x6a4f4(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x6a4e4(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x6a4d7(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x6a4c9(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x1e38b
jmp 0x1cab5
movq -0x28(%rbp), %rax
addq $0x17c0, %rax           # imm = 0x17C0
movq %rax, -0x30(%rbp)
cmpl $0x398, -0x14(%rbp)     # imm = 0x398
jne 0x1d367
movq -0x30(%rbp), %rax
movsd 0x5c334(%rip), %xmm0    # 0x78e10
movsd %xmm0, 0xa2d0(%rax)
movq -0x20(%rbp), %rax
movb 0x270(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x1cb40
movq -0x28(%rbp), %rax
movsd 0x600(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x118(%rax), %xmm0
movq -0x20(%rbp), %rax
subsd 0x278(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x118(%rax)
movq -0x20(%rbp), %rax
movsd 0x278(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x600(%rax)
movq -0x20(%rbp), %rax
movb 0x280(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x1cb9c
movq -0x28(%rbp), %rax
movsd 0x608(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x120(%rax), %xmm0
movq -0x20(%rbp), %rax
subsd 0x288(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x120(%rax)
movq -0x20(%rbp), %rax
movsd 0x288(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x608(%rax)
movq -0x20(%rbp), %rax
movb 0x290(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x1cbf8
movq -0x28(%rbp), %rax
movsd 0x610(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x128(%rax), %xmm0
movq -0x20(%rbp), %rax
subsd 0x298(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x128(%rax)
movq -0x20(%rbp), %rax
movsd 0x298(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x610(%rax)
movq -0x20(%rbp), %rax
movb (%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x1cc3c
movq -0x28(%rbp), %rax
movsd 0x8(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd (%rax), %xmm0
movq -0x20(%rbp), %rax
subsd 0x8(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, (%rax)
movq -0x20(%rbp), %rax
movsd 0x8(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x8(%rax)
movq -0x20(%rbp), %rax
movb 0x10(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x1cc83
movq -0x28(%rbp), %rax
movsd 0x20(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x18(%rax), %xmm0
movq -0x20(%rbp), %rax
subsd 0x18(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x18(%rax)
movq -0x20(%rbp), %rax
movsd 0x18(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movq -0x20(%rbp), %rax
movb 0x20(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x1ccca
movq -0x28(%rbp), %rax
movsd 0x38(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x30(%rax), %xmm0
movq -0x20(%rbp), %rax
subsd 0x28(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x30(%rax)
movq -0x20(%rbp), %rax
movsd 0x28(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x38(%rax)
movq -0x20(%rbp), %rax
movb 0x244(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x1cd1a
movq -0x28(%rbp), %rax
movsd 0x50(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x48(%rax), %xmm0
movq -0x20(%rbp), %rax
subsd 0x248(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x48(%rax)
movq -0x20(%rbp), %rax
movsd 0x248(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x50(%rax)
movq -0x20(%rbp), %rax
movb 0x250(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x1cd6a
movq -0x28(%rbp), %rax
movsd 0x68(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x60(%rax), %xmm0
movq -0x20(%rbp), %rax
subsd 0x258(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x60(%rax)
movq -0x20(%rbp), %rax
movsd 0x258(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x68(%rax)
movq -0x20(%rbp), %rax
movb 0x260(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x1, %eax
jne 0x1cdc0
movq -0x28(%rbp), %rax
movsd 0x80(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x78(%rax), %xmm0
movq -0x20(%rbp), %rax
subsd 0x268(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x78(%rax)
movq -0x20(%rbp), %rax
movsd 0x268(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x80(%rax)
movq -0x28(%rbp), %rax
movsd 0x17a0(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x118(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd 0x17a8(%rax), %xmm1
movq -0x28(%rbp), %rax
addsd 0x120(%rax), %xmm1
movq -0x28(%rbp), %rax
movsd 0x17b0(%rax), %xmm2
movq -0x28(%rbp), %rax
addsd 0x128(%rax), %xmm2
movq -0x28(%rbp), %rax
movsd 0x10(%rax), %xmm3
movq -0x28(%rbp), %rax
addsd (%rax), %xmm3
movq -0x28(%rbp), %rax
movsd 0x28(%rax), %xmm4
movq -0x28(%rbp), %rax
addsd 0x18(%rax), %xmm4
movq -0x28(%rbp), %rax
movsd 0x40(%rax), %xmm5
movq -0x28(%rbp), %rax
addsd 0x30(%rax), %xmm5
movq -0x28(%rbp), %rax
movsd 0x58(%rax), %xmm6
movq -0x28(%rbp), %rax
addsd 0x48(%rax), %xmm6
movq -0x28(%rbp), %rax
movsd 0x70(%rax), %xmm7
movq -0x28(%rbp), %rax
addsd 0x60(%rax), %xmm7
movq -0x28(%rbp), %rax
movsd 0x88(%rax), %xmm8
movq -0x28(%rbp), %rax
addsd 0x78(%rax), %xmm8
movsd %xmm8, (%rsp)
callq 0x107e0
movq -0x28(%rbp), %rax
movsd 0x118(%rax), %xmm0
movsd %xmm0, -0x40(%rbp)
movq 0x6a0c5(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1ceb3
movsd 0x5bf9c(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x48(%rbp)
jmp 0x1cef3
movq 0x6a0a6(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5bf78(%rip), %xmm0    # 0x78e40
movsd 0x5bf40(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x58(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x50(%rbp)
je 0x1cee9
movsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x50(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x40(%rbp), %xmm0
movsd -0x48(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x68(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x68(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x30(%rbp), %rax
movsd %xmm0, 0xa2d8(%rax)
movq -0x28(%rbp), %rax
movsd 0x120(%rax), %xmm0
movsd %xmm0, -0x60(%rbp)
movq 0x6a025(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1cf53
movsd 0x5befc(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x70(%rbp)
jmp 0x1cf93
movq 0x6a006(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5bed8(%rip), %xmm0    # 0x78e40
movsd 0x5bea0(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x80(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x78(%rbp)
je 0x1cf89
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x70(%rbp)
movsd -0x60(%rbp), %xmm0
movsd -0x70(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x90(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x30(%rbp), %rax
movsd %xmm0, 0xa2e0(%rax)
movq -0x28(%rbp), %rax
movsd 0x128(%rax), %xmm0
movsd %xmm0, -0x88(%rbp)
movq 0x69f7c(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1cfff
movsd 0x5be53(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x98(%rbp)
jmp 0x1d051
movq 0x69f5a(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5be2c(%rip), %xmm0    # 0x78e40
movsd 0x5bdf4(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0xa8(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0xa0(%rbp)
je 0x1d041
movsd -0xa8(%rbp), %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0xa0(%rbp), %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x88(%rbp), %xmm0
movsd -0x98(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0xd0(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0xd0(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x30(%rbp), %rax
movsd %xmm0, 0xa2e8(%rax)
movq -0x28(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0xc8(%rbp)
callq 0x11920
movaps %xmm0, %xmm1
movsd -0xc8(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x30(%rbp), %rax
movsd %xmm0, 0xa2f0(%rax)
movq -0x28(%rbp), %rax
movsd 0x18(%rax), %xmm0
movsd %xmm0, -0xc0(%rbp)
callq 0x11920
movaps %xmm0, %xmm1
movsd -0xc0(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x30(%rbp), %rax
movsd %xmm0, 0xa2f8(%rax)
movq -0x28(%rbp), %rax
movsd 0x30(%rax), %xmm0
movsd %xmm0, -0xb8(%rbp)
callq 0x11920
movaps %xmm0, %xmm1
movsd -0xb8(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x30(%rbp), %rax
movsd %xmm0, 0xa300(%rax)
movq -0x28(%rbp), %rax
movsd 0x48(%rax), %xmm0
movsd %xmm0, -0xb0(%rbp)
movq 0x69e29(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1d152
movsd 0x5bd00(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0xd8(%rbp)
jmp 0x1d1a4
movq 0x69e07(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5bcd9(%rip), %xmm0    # 0x78e40
movsd 0x5bca1(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0xe8(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0xe0(%rbp)
je 0x1d194
movsd -0xe8(%rbp), %xmm0
movsd %xmm0, -0xe0(%rbp)
movsd -0xe0(%rbp), %xmm0
movsd %xmm0, -0xd8(%rbp)
movsd -0xb0(%rbp), %xmm0
movsd -0xd8(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0xf8(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0xf8(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x30(%rbp), %rax
movsd %xmm0, 0xa308(%rax)
movq -0x28(%rbp), %rax
movsd 0x60(%rax), %xmm0
movsd %xmm0, -0xf0(%rbp)
movq 0x69d68(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1d213
movsd 0x5bc3f(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x100(%rbp)
jmp 0x1d265
movq 0x69d46(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5bc18(%rip), %xmm0    # 0x78e40
movsd 0x5bbe0(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x110(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x108(%rbp)
je 0x1d255
movsd -0x110(%rbp), %xmm0
movsd %xmm0, -0x108(%rbp)
movsd -0x108(%rbp), %xmm0
movsd %xmm0, -0x100(%rbp)
movsd -0xf0(%rbp), %xmm0
movsd -0x100(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x120(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x120(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x30(%rbp), %rax
movsd %xmm0, 0xa310(%rax)
movq -0x28(%rbp), %rax
movsd 0x78(%rax), %xmm0
movsd %xmm0, -0x118(%rbp)
movq 0x69ca7(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1d2d4
movsd 0x5bb7e(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x128(%rbp)
jmp 0x1d326
movq 0x69c85(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5bb57(%rip), %xmm0    # 0x78e40
movsd 0x5bb1f(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x138(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x130(%rbp)
je 0x1d316
movsd -0x138(%rbp), %xmm0
movsd %xmm0, -0x130(%rbp)
movsd -0x130(%rbp), %xmm0
movsd %xmm0, -0x128(%rbp)
movsd -0x118(%rbp), %xmm0
movsd -0x128(%rbp), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x140(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x140(%rbp), %xmm0
mulsd %xmm1, %xmm0
movq -0x30(%rbp), %rax
movsd %xmm0, 0xa318(%rax)
jmp 0x1e384
cmpl $0x399, -0x14(%rbp)     # imm = 0x399
je 0x1d37d
cmpl $0x39a, -0x14(%rbp)     # imm = 0x39A
jne 0x1d615
movq -0x30(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0xa2d0(%rax)
movq -0x28(%rbp), %rax
movsd 0x600(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x118(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x600(%rax)
movq -0x28(%rbp), %rax
movsd 0x608(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x120(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x608(%rax)
movq -0x28(%rbp), %rax
movsd 0x610(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x128(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x610(%rax)
movq -0x28(%rbp), %rax
movsd 0x8(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd (%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x8(%rax)
movq -0x28(%rbp), %rax
movsd 0x20(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x18(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movq -0x28(%rbp), %rax
movsd 0x38(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x30(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x38(%rax)
movq -0x28(%rbp), %rax
movsd 0x50(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x48(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x50(%rax)
movq -0x28(%rbp), %rax
movsd 0x68(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x60(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x68(%rax)
movq -0x28(%rbp), %rax
movsd 0x80(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x78(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x80(%rax)
movq -0x28(%rbp), %rax
movsd 0x17a0(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd 0x17a8(%rax), %xmm1
movq -0x28(%rbp), %rax
movsd 0x17b0(%rax), %xmm2
movq -0x28(%rbp), %rax
movsd 0x10(%rax), %xmm3
movq -0x28(%rbp), %rax
movsd 0x28(%rax), %xmm4
movq -0x28(%rbp), %rax
movsd 0x40(%rax), %xmm5
movq -0x28(%rbp), %rax
movsd 0x58(%rax), %xmm6
movq -0x28(%rbp), %rax
movsd 0x70(%rax), %xmm7
movq -0x28(%rbp), %rax
movsd 0x88(%rax), %xmm8
movsd %xmm8, (%rsp)
callq 0x107e0
movq -0x28(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x118(%rax)
movq -0x28(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x120(%rax)
movq -0x28(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x128(%rax)
movq -0x28(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, (%rax)
movq -0x28(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x18(%rax)
movq -0x28(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x30(%rax)
movq -0x28(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x48(%rax)
movq -0x28(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x60(%rax)
movq -0x28(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x78(%rax)
cmpl $0x399, -0x14(%rbp)     # imm = 0x399
jne 0x1d610
movq -0x30(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0xa2d8(%rax)
movq -0x30(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0xa2e0(%rax)
movq -0x30(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0xa2e8(%rax)
movq -0x30(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0xa2f0(%rax)
movq -0x30(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0xa2f8(%rax)
movq -0x30(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0xa300(%rax)
movq -0x30(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0xa308(%rax)
movq -0x30(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0xa310(%rax)
movq -0x30(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0xa318(%rax)
jmp 0x1e382
cmpl $0x39b, -0x14(%rbp)     # imm = 0x39B
jne 0x1e2ae
movq -0x30(%rbp), %rax
movsd 0x5b7e2(%rip), %xmm0    # 0x78e10
movsd %xmm0, 0xa2d0(%rax)
movq -0x28(%rbp), %rax
movsd 0x600(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x118(%rax), %xmm0
movsd %xmm0, -0x158(%rbp)
movq -0x30(%rbp), %rax
movsd 0xa2d8(%rax), %xmm0
movsd %xmm0, -0x150(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x150(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x148(%rbp)
movq 0x698d3(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1d6a8
movsd 0x5b7aa(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x160(%rbp)
jmp 0x1d6fa
movq 0x698b1(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5b783(%rip), %xmm0    # 0x78e40
movsd 0x5b74b(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x170(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x168(%rbp)
je 0x1d6ea
movsd -0x170(%rbp), %xmm0
movsd %xmm0, -0x168(%rbp)
movsd -0x168(%rbp), %xmm0
movsd %xmm0, -0x160(%rbp)
movsd -0x158(%rbp), %xmm0
movsd -0x148(%rbp), %xmm1
movsd -0x160(%rbp), %xmm2
divsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x600(%rax)
movq -0x28(%rbp), %rax
movsd 0x608(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x120(%rax), %xmm0
movsd %xmm0, -0x188(%rbp)
movq -0x30(%rbp), %rax
movsd 0xa2e0(%rax), %xmm0
movsd %xmm0, -0x180(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x180(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x178(%rbp)
movq 0x697e3(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1d798
movsd 0x5b6ba(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x190(%rbp)
jmp 0x1d7ea
movq 0x697c1(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5b693(%rip), %xmm0    # 0x78e40
movsd 0x5b65b(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x1a0(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x198(%rbp)
je 0x1d7da
movsd -0x1a0(%rbp), %xmm0
movsd %xmm0, -0x198(%rbp)
movsd -0x198(%rbp), %xmm0
movsd %xmm0, -0x190(%rbp)
movsd -0x188(%rbp), %xmm0
movsd -0x178(%rbp), %xmm1
movsd -0x190(%rbp), %xmm2
divsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x608(%rax)
movq -0x28(%rbp), %rax
movsd 0x610(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x128(%rax), %xmm0
movsd %xmm0, -0x1b8(%rbp)
movq -0x30(%rbp), %rax
movsd 0xa2e8(%rax), %xmm0
movsd %xmm0, -0x1b0(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x1b0(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x1a8(%rbp)
movq 0x696f3(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1d888
movsd 0x5b5ca(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x1c0(%rbp)
jmp 0x1d8da
movq 0x696d1(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5b5a3(%rip), %xmm0    # 0x78e40
movsd 0x5b56b(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x1d0(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x1c8(%rbp)
je 0x1d8ca
movsd -0x1d0(%rbp), %xmm0
movsd %xmm0, -0x1c8(%rbp)
movsd -0x1c8(%rbp), %xmm0
movsd %xmm0, -0x1c0(%rbp)
movsd -0x1b8(%rbp), %xmm0
movsd -0x1a8(%rbp), %xmm1
movsd -0x1c0(%rbp), %xmm2
divsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x610(%rax)
movq -0x28(%rbp), %rax
movsd 0x8(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd (%rax), %xmm0
movsd %xmm0, -0x210(%rbp)
movq -0x30(%rbp), %rax
movsd 0xa2f0(%rax), %xmm0
movsd %xmm0, -0x218(%rbp)
callq 0x11920
movsd -0x218(%rbp), %xmm1
movaps %xmm0, %xmm2
movsd -0x210(%rbp), %xmm0
divsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x8(%rax)
movq -0x28(%rbp), %rax
movsd 0x20(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x18(%rax), %xmm0
movsd %xmm0, -0x200(%rbp)
movq -0x30(%rbp), %rax
movsd 0xa2f8(%rax), %xmm0
movsd %xmm0, -0x208(%rbp)
callq 0x11920
movsd -0x208(%rbp), %xmm1
movaps %xmm0, %xmm2
movsd -0x200(%rbp), %xmm0
divsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x20(%rax)
movq -0x28(%rbp), %rax
movsd 0x38(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x30(%rax), %xmm0
movsd %xmm0, -0x1f0(%rbp)
movq -0x30(%rbp), %rax
movsd 0xa300(%rax), %xmm0
movsd %xmm0, -0x1f8(%rbp)
callq 0x11920
movsd -0x1f8(%rbp), %xmm1
movaps %xmm0, %xmm2
movsd -0x1f0(%rbp), %xmm0
divsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x38(%rax)
movq -0x28(%rbp), %rax
movsd 0x50(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x48(%rax), %xmm0
movsd %xmm0, -0x1e8(%rbp)
movq -0x30(%rbp), %rax
movsd 0xa308(%rax), %xmm0
movsd %xmm0, -0x1e0(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x1e0(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x1d8(%rbp)
movq 0x69505(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1da76
movsd 0x5b3dc(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x220(%rbp)
jmp 0x1dac8
movq 0x694e3(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5b3b5(%rip), %xmm0    # 0x78e40
movsd 0x5b37d(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x230(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x228(%rbp)
je 0x1dab8
movsd -0x230(%rbp), %xmm0
movsd %xmm0, -0x228(%rbp)
movsd -0x228(%rbp), %xmm0
movsd %xmm0, -0x220(%rbp)
movsd -0x1e8(%rbp), %xmm0
movsd -0x1d8(%rbp), %xmm1
movsd -0x220(%rbp), %xmm2
divsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x50(%rax)
movq -0x28(%rbp), %rax
movsd 0x68(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x60(%rax), %xmm0
movsd %xmm0, -0x248(%rbp)
movq -0x30(%rbp), %rax
movsd 0xa310(%rax), %xmm0
movsd %xmm0, -0x240(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x240(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x238(%rbp)
movq 0x6941e(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1db5d
movsd 0x5b2f5(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x250(%rbp)
jmp 0x1dbaf
movq 0x693fc(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5b2ce(%rip), %xmm0    # 0x78e40
movsd 0x5b296(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x260(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x258(%rbp)
je 0x1db9f
movsd -0x260(%rbp), %xmm0
movsd %xmm0, -0x258(%rbp)
movsd -0x258(%rbp), %xmm0
movsd %xmm0, -0x250(%rbp)
movsd -0x248(%rbp), %xmm0
movsd -0x238(%rbp), %xmm1
movsd -0x250(%rbp), %xmm2
divsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x68(%rax)
movq -0x28(%rbp), %rax
movsd 0x80(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x78(%rax), %xmm0
movsd %xmm0, -0x278(%rbp)
movq -0x30(%rbp), %rax
movsd 0xa318(%rax), %xmm0
movsd %xmm0, -0x270(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x270(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x268(%rbp)
movq 0x69334(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1dc47
movsd 0x5b20b(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x280(%rbp)
jmp 0x1dc99
movq 0x69312(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5b1e4(%rip), %xmm0    # 0x78e40
movsd 0x5b1ac(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x290(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x288(%rbp)
je 0x1dc89
movsd -0x290(%rbp), %xmm0
movsd %xmm0, -0x288(%rbp)
movsd -0x288(%rbp), %xmm0
movsd %xmm0, -0x280(%rbp)
movsd -0x278(%rbp), %xmm0
movsd -0x268(%rbp), %xmm1
movsd -0x280(%rbp), %xmm2
divsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x80(%rax)
movq -0x30(%rbp), %rax
movsd 0xa2d8(%rax), %xmm0
movsd %xmm0, -0x2a0(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x2a0(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x298(%rbp)
movq 0x69264(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1dd17
movsd 0x5b13b(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x2a8(%rbp)
jmp 0x1dd69
movq 0x69242(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5b114(%rip), %xmm0    # 0x78e40
movsd 0x5b0dc(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x2b8(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x2b0(%rbp)
je 0x1dd59
movsd -0x2b8(%rbp), %xmm0
movsd %xmm0, -0x2b0(%rbp)
movsd -0x2b0(%rbp), %xmm0
movsd %xmm0, -0x2a8(%rbp)
movsd -0x298(%rbp), %xmm0
movsd -0x2a8(%rbp), %xmm1
divsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x118(%rax)
movq -0x30(%rbp), %rax
movsd 0xa2e0(%rax), %xmm0
movsd %xmm0, -0x2c8(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x2c8(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x2c0(%rbp)
movq 0x691a0(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1dddb
movsd 0x5b077(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x2d0(%rbp)
jmp 0x1de2d
movq 0x6917e(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5b050(%rip), %xmm0    # 0x78e40
movsd 0x5b018(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x2e0(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x2d8(%rbp)
je 0x1de1d
movsd -0x2e0(%rbp), %xmm0
movsd %xmm0, -0x2d8(%rbp)
movsd -0x2d8(%rbp), %xmm0
movsd %xmm0, -0x2d0(%rbp)
movsd -0x2c0(%rbp), %xmm0
movsd -0x2d0(%rbp), %xmm1
divsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x120(%rax)
movq -0x30(%rbp), %rax
movsd 0xa2e8(%rax), %xmm0
movsd %xmm0, -0x2f0(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x2f0(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x2e8(%rbp)
movq 0x690dc(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1de9f
movsd 0x5afb3(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x2f8(%rbp)
jmp 0x1def1
movq 0x690ba(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5af8c(%rip), %xmm0    # 0x78e40
movsd 0x5af54(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x308(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x300(%rbp)
je 0x1dee1
movsd -0x308(%rbp), %xmm0
movsd %xmm0, -0x300(%rbp)
movsd -0x300(%rbp), %xmm0
movsd %xmm0, -0x2f8(%rbp)
movsd -0x2e8(%rbp), %xmm0
movsd -0x2f8(%rbp), %xmm1
divsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x128(%rax)
movq -0x30(%rbp), %rax
movsd 0xa2f0(%rax), %xmm0
movsd %xmm0, -0x330(%rbp)
callq 0x11920
movaps %xmm0, %xmm1
movsd -0x330(%rbp), %xmm0
divsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, (%rax)
movq -0x30(%rbp), %rax
movsd 0xa2f8(%rax), %xmm0
movsd %xmm0, -0x328(%rbp)
callq 0x11920
movaps %xmm0, %xmm1
movsd -0x328(%rbp), %xmm0
divsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x18(%rax)
movq -0x30(%rbp), %rax
movsd 0xa300(%rax), %xmm0
movsd %xmm0, -0x320(%rbp)
callq 0x11920
movaps %xmm0, %xmm1
movsd -0x320(%rbp), %xmm0
divsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x30(%rax)
movq -0x30(%rbp), %rax
movsd 0xa308(%rax), %xmm0
movsd %xmm0, -0x318(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x318(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x310(%rbp)
movq 0x68f86(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1dff5
movsd 0x5ae5d(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x338(%rbp)
jmp 0x1e047
movq 0x68f64(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5ae36(%rip), %xmm0    # 0x78e40
movsd 0x5adfe(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x348(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x340(%rbp)
je 0x1e037
movsd -0x348(%rbp), %xmm0
movsd %xmm0, -0x340(%rbp)
movsd -0x340(%rbp), %xmm0
movsd %xmm0, -0x338(%rbp)
movsd -0x310(%rbp), %xmm0
movsd -0x338(%rbp), %xmm1
divsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x48(%rax)
movq -0x30(%rbp), %rax
movsd 0xa310(%rax), %xmm0
movsd %xmm0, -0x358(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x358(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x350(%rbp)
movq 0x68ec5(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1e0b6
movsd 0x5ad9c(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x360(%rbp)
jmp 0x1e108
movq 0x68ea3(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5ad75(%rip), %xmm0    # 0x78e40
movsd 0x5ad3d(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x370(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x368(%rbp)
je 0x1e0f8
movsd -0x370(%rbp), %xmm0
movsd %xmm0, -0x368(%rbp)
movsd -0x368(%rbp), %xmm0
movsd %xmm0, -0x360(%rbp)
movsd -0x350(%rbp), %xmm0
movsd -0x360(%rbp), %xmm1
divsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x60(%rax)
movq -0x30(%rbp), %rax
movsd 0xa318(%rax), %xmm0
movsd %xmm0, -0x380(%rbp)
callq 0x11030
movaps %xmm0, %xmm1
movsd -0x380(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x378(%rbp)
movq 0x68e04(%rip), %rax     # 0x86f60
cmpl $0x1, 0x1690(%rax)
jne 0x1e177
movsd 0x5acdb(%rip), %xmm0    # 0x78e48
movsd %xmm0, -0x388(%rbp)
jmp 0x1e1c9
movq 0x68de2(%rip), %rax     # 0x86f60
movl 0x1690(%rax), %eax
movsd 0x5acb4(%rip), %xmm0    # 0x78e40
movsd 0x5ac7c(%rip), %xmm1    # 0x78e10
movsd %xmm1, -0x398(%rbp)
cmpl $0x3, %eax
movsd %xmm0, -0x390(%rbp)
je 0x1e1b9
movsd -0x398(%rbp), %xmm0
movsd %xmm0, -0x390(%rbp)
movsd -0x390(%rbp), %xmm0
movsd %xmm0, -0x388(%rbp)
movsd -0x378(%rbp), %xmm0
movsd -0x388(%rbp), %xmm1
divsd %xmm1, %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x78(%rax)
movq -0x28(%rbp), %rax
movsd 0x17a0(%rax), %xmm0
movq -0x28(%rbp), %rax
addsd 0x118(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd 0x17a8(%rax), %xmm1
movq -0x28(%rbp), %rax
addsd 0x120(%rax), %xmm1
movq -0x28(%rbp), %rax
movsd 0x17b0(%rax), %xmm2
movq -0x28(%rbp), %rax
addsd 0x128(%rax), %xmm2
movq -0x28(%rbp), %rax
movsd 0x10(%rax), %xmm3
movq -0x28(%rbp), %rax
addsd (%rax), %xmm3
movq -0x28(%rbp), %rax
movsd 0x28(%rax), %xmm4
movq -0x28(%rbp), %rax
addsd 0x18(%rax), %xmm4
movq -0x28(%rbp), %rax
movsd 0x40(%rax), %xmm5
movq -0x28(%rbp), %rax
addsd 0x30(%rax), %xmm5
movq -0x28(%rbp), %rax
movsd 0x58(%rax), %xmm6
movq -0x28(%rbp), %rax
addsd 0x48(%rax), %xmm6
movq -0x28(%rbp), %rax
movsd 0x70(%rax), %xmm7
movq -0x28(%rbp), %rax
addsd 0x60(%rax), %xmm7
movq -0x28(%rbp), %rax
movsd 0x88(%rax), %xmm8
movq -0x28(%rbp), %rax
addsd 0x78(%rax), %xmm8
movsd %xmm8, (%rsp)
callq 0x107e0
jmp 0x1e380
jmp 0x1e2b0
leaq 0x5b805(%rip), %rdi     # 0x79abc
callq 0x10380
movq -0x38(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x10df0
movq 0x68c8f(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x68c7e(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x68c70(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x5b738(%rip), %rsi     # 0x79a3d
movl $0x50, %edx
callq 0x10840
movq 0x68c4a(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x68c3c(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x68c24(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x68c14(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x68c07(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x68bf9(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x1e38b
jmp 0x1e382
jmp 0x1e384
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x3a0, %rsp            # imm = 0x3A0
popq %rbp
retq
nopw (%rax,%rax)