// File: sundale[P]gcode/rs274ngc/interp_cycles.cc
// Function: Interp::convert_cycle(int, block_struct*, setup_struct*)
int Interp::convert_cycle(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                   
{
  CANON_PLANE plane;

  CHKS((settings->feed_rate == 0.0), "Cannot feed with zero feed rate");
  CHKS((settings->feed_mode == INVERSE_TIME), "Cannot use inverse time feed with canned cycles");
  CHKS((settings->cutter_comp_side != OFF), "Cannot use canned cycles with cutter compensation on");

  plane = settings->plane;
  if (block->r_flag == OFF) {
    if (settings->motion_mode == motion)
      block->r_number = settings->cycle_r;
    else
      ERS(NCE_R_CLEARANCE_PLANE_UNSPECIFIED_IN_CYCLE);
  }

  CHKS((block->l_number == 0), NCE_CANNOT_DO_ZERO_REPEATS_OF_CYCLE);
  if (block->l_number == -1)
    block->l_number = 1;

  if (plane == CANON_PLANE_XY) {
    CHP(convert_cycle_xy(motion, block, settings));
  } else if (plane == CANON_PLANE_YZ) {
    CHP(convert_cycle_yz(motion, block, settings));
  } else if (plane == CANON_PLANE_XZ) {
    CHP(convert_cycle_zx(motion, block, settings));
  } else if (plane == CANON_PLANE_UV) {
    CHP(convert_cycle_uv(motion, block, settings));
  } else if (plane == CANON_PLANE_VW) {
    CHP(convert_cycle_vw(motion, block, settings));
  } else if (plane == CANON_PLANE_UW) {
    CHP(convert_cycle_wu(motion, block, settings));
  } else
    ERS(NCE_BUG_PLANE_NOT_XY_YZ_OR_XZ);

  settings->cycle_l = block->l_number;
  settings->cycle_r = block->r_number;
  settings->motion_mode = motion;
  return INTERP_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x28(%rbp), %rax
movsd 0x678(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x385bb
jp 0x385bb
jmp 0x384f0
movq -0x50(%rbp), %rdi
leaq 0x43ba1(%rip), %rsi     # 0x7c09c
movb $0x0, %al
callq 0x10df0
movq 0x4ea57(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x4ea46(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x4ea38(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x43b7f(%rip), %rsi     # 0x7c0bc
movl $0x50, %edx
callq 0x10840
movq 0x4ea12(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4ea04(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x4e9ec(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x4e9dc(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x4e9cf(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e9c1(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x39070
jmp 0x385bd
jmp 0x385bf
movq -0x28(%rbp), %rax
cmpl $0x1, 0x670(%rax)
jne 0x3869d
jmp 0x385d2
movq -0x50(%rbp), %rdi
leaq 0x43b1c(%rip), %rsi     # 0x7c0f9
movb $0x0, %al
callq 0x10df0
movq 0x4e975(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x4e964(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x4e956(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x43a9d(%rip), %rsi     # 0x7c0bc
movl $0x50, %edx
callq 0x10840
movq 0x4e930(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e922(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x4e90a(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x4e8fa(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x4e8ed(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e8df(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x39070
jmp 0x3869f
jmp 0x386a1
movq -0x28(%rbp), %rax
cmpl $0x0, 0x624(%rax)
je 0x3877f
jmp 0x386b4
movq -0x50(%rbp), %rdi
leaq 0x43a6a(%rip), %rsi     # 0x7c129
movb $0x0, %al
callq 0x10df0
movq 0x4e893(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x4e882(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x4e874(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x439bb(%rip), %rsi     # 0x7c0bc
movl $0x50, %edx
callq 0x10840
movq 0x4e84e(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e840(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x4e828(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x4e818(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x4e80b(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e7fd(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x39070
jmp 0x38781
movq -0x28(%rbp), %rax
movl 0xc67c(%rax), %eax
movl %eax, -0x2c(%rbp)
movq -0x20(%rbp), %rax
movb 0x229(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x388a9
movq -0x28(%rbp), %rax
movl 0x1798(%rax), %eax
cmpl -0x14(%rbp), %eax
jne 0x387d2
movq -0x28(%rbp), %rax
movsd 0x660(%rax), %xmm0
movq -0x20(%rbp), %rax
movsd %xmm0, 0x230(%rax)
jmp 0x388a7
jmp 0x387d4
leaq 0x43983(%rip), %rdi     # 0x7c15e
callq 0x10380
movq -0x50(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x10df0
movq 0x4e76b(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x4e75a(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x4e74c(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x43893(%rip), %rsi     # 0x7c0bc
movl $0x50, %edx
callq 0x10840
movq 0x4e726(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e718(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x4e700(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x4e6f0(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x4e6e3(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e6d5(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x39070
jmp 0x388a9
jmp 0x388ab
movq -0x20(%rbp), %rax
cmpl $0x0, 0x1c8(%rax)
jne 0x38991
jmp 0x388be
leaq 0x438c0(%rip), %rdi     # 0x7c185
callq 0x10380
movq -0x50(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x10df0
movq 0x4e681(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x4e670(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x4e662(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x437a9(%rip), %rsi     # 0x7c0bc
movl $0x50, %edx
callq 0x10840
movq 0x4e63c(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e62e(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x4e616(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x4e606(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x4e5f9(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e5eb(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x39070
jmp 0x38993
movq -0x20(%rbp), %rax
cmpl $-0x1, 0x1c8(%rax)
jne 0x389ae
movq -0x20(%rbp), %rax
movl $0x1, 0x1c8(%rax)
cmpl $0x1, -0x2c(%rbp)
jne 0x38a9f
jmp 0x389ba
movq -0x50(%rbp), %rdi
movl -0x14(%rbp), %esi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x10100
movl %eax, -0x30(%rbp)
cmpl $0x0, -0x30(%rbp)
je 0x38a98
jmp 0x389dd
movq 0x4e57c(%rip), %rax     # 0x86f60
cmpl $0x31, 0xd670(%rax)
jge 0x38a8d
movq 0x4e568(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x4e55a(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x436a1(%rip), %rsi     # 0x7c0bc
movl $0x50, %edx
callq 0x10840
movq 0x4e534(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e526(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x4e50e(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x4e4fe(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x4e4f1(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e4e3(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl -0x30(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x39070
jmp 0x38a9a
jmp 0x39030
cmpl $0x2, -0x2c(%rbp)
jne 0x38b90
jmp 0x38aab
movq -0x50(%rbp), %rdi
movl -0x14(%rbp), %esi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x10b10
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x38b89
jmp 0x38ace
movq 0x4e48b(%rip), %rax     # 0x86f60
cmpl $0x31, 0xd670(%rax)
jge 0x38b7e
movq 0x4e477(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x4e469(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x435b0(%rip), %rsi     # 0x7c0bc
movl $0x50, %edx
callq 0x10840
movq 0x4e443(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e435(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x4e41d(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x4e40d(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x4e400(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e3f2(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x39070
jmp 0x38b8b
jmp 0x3902e
cmpl $0x3, -0x2c(%rbp)
jne 0x38c81
jmp 0x38b9c
movq -0x50(%rbp), %rdi
movl -0x14(%rbp), %esi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x10080
movl %eax, -0x38(%rbp)
cmpl $0x0, -0x38(%rbp)
je 0x38c7a
jmp 0x38bbf
movq 0x4e39a(%rip), %rax     # 0x86f60
cmpl $0x31, 0xd670(%rax)
jge 0x38c6f
movq 0x4e386(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x4e378(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x434bf(%rip), %rsi     # 0x7c0bc
movl $0x50, %edx
callq 0x10840
movq 0x4e352(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e344(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x4e32c(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x4e31c(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x4e30f(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e301(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl -0x38(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x39070
jmp 0x38c7c
jmp 0x3902c
cmpl $0x4, -0x2c(%rbp)
jne 0x38d72
jmp 0x38c8d
movq -0x50(%rbp), %rdi
movl -0x14(%rbp), %esi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x118f0
movl %eax, -0x3c(%rbp)
cmpl $0x0, -0x3c(%rbp)
je 0x38d6b
jmp 0x38cb0
movq 0x4e2a9(%rip), %rax     # 0x86f60
cmpl $0x31, 0xd670(%rax)
jge 0x38d60
movq 0x4e295(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x4e287(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x433ce(%rip), %rsi     # 0x7c0bc
movl $0x50, %edx
callq 0x10840
movq 0x4e261(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e253(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x4e23b(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x4e22b(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x4e21e(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e210(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl -0x3c(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x39070
jmp 0x38d6d
jmp 0x3902a
cmpl $0x5, -0x2c(%rbp)
jne 0x38e63
jmp 0x38d7e
movq -0x50(%rbp), %rdi
movl -0x14(%rbp), %esi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x10770
movl %eax, -0x40(%rbp)
cmpl $0x0, -0x40(%rbp)
je 0x38e5c
jmp 0x38da1
movq 0x4e1b8(%rip), %rax     # 0x86f60
cmpl $0x31, 0xd670(%rax)
jge 0x38e51
movq 0x4e1a4(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x4e196(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x432dd(%rip), %rsi     # 0x7c0bc
movl $0x50, %edx
callq 0x10840
movq 0x4e170(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e162(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x4e14a(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x4e13a(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x4e12d(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e11f(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl -0x40(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x39070
jmp 0x38e5e
jmp 0x39028
cmpl $0x6, -0x2c(%rbp)
jne 0x38f54
jmp 0x38e6f
movq -0x50(%rbp), %rdi
movl -0x14(%rbp), %esi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x11cd0
movl %eax, -0x44(%rbp)
cmpl $0x0, -0x44(%rbp)
je 0x38f4d
jmp 0x38e92
movq 0x4e0c7(%rip), %rax     # 0x86f60
cmpl $0x31, 0xd670(%rax)
jge 0x38f42
movq 0x4e0b3(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x4e0a5(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x431ec(%rip), %rsi     # 0x7c0bc
movl $0x50, %edx
callq 0x10840
movq 0x4e07f(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e071(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x4e059(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x4e049(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x4e03c(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4e02e(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl -0x44(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x39070
jmp 0x38f4f
jmp 0x39026
jmp 0x38f56
leaq 0x406ee(%rip), %rdi     # 0x7964b
callq 0x10380
movq -0x50(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x10df0
movq 0x4dfe9(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x4dfd8(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x4dfca(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x43111(%rip), %rsi     # 0x7c0bc
movl $0x50, %edx
callq 0x10840
movq 0x4dfa4(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4df96(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x4df7e(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x4df6e(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x4df61(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x4df53(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x39070
jmp 0x39028
jmp 0x3902a
jmp 0x3902c
jmp 0x3902e
jmp 0x39030
movq -0x20(%rbp), %rax
movl 0x1c8(%rax), %ecx
movq -0x28(%rbp), %rax
movl %ecx, 0x648(%rax)
movq -0x20(%rbp), %rax
movsd 0x230(%rax), %xmm0
movq -0x28(%rbp), %rax
movsd %xmm0, 0x660(%rax)
movl -0x14(%rbp), %ecx
movq -0x28(%rbp), %rax
movl %ecx, 0x1798(%rax)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)