// File: sundale[P]gcode/rs274ngc/interp_read.cc
// Function: Interp::read_operation(char*, int*, int*)
int Interp::read_operation(char *line,   //!< string: line of RS274/NGC code being processed
                          int *counter, //!< pointer to a counter for position on the line 
                          int *operation)       //!< pointer to operation to be read               
{
  char c;

  c = line[*counter];
  *counter = (*counter + 1);
  switch (c) {
  case '+':
    *operation = PLUS;
    break;
  case '-':
    *operation = MINUS;
    break;
  case '/':
    *operation = DIVIDED_BY;
    break;
  case '*':
    if (line[*counter] == '*') {
      *operation = POWER;
      *counter = (*counter + 1);
    } else
      *operation = TIMES;
    break;
  case ']':
    *operation = RIGHT_BRACKET;
    break;
  case 'a':
    if ((line[*counter] == 'n') && (line[(*counter) + 1] == 'd')) {
      *operation = AND2;
      *counter = (*counter + 2);
    } else
      ERS(NCE_UNKNOWN_OPERATION_NAME_STARTING_WITH_A);
    break;
  case 'm':
    if ((line[*counter] == 'o') && (line[(*counter) + 1] == 'd')) {
      *operation = MODULO;
      *counter = (*counter + 2);
    } else
      ERS(NCE_UNKNOWN_OPERATION_NAME_STARTING_WITH_M);
    break;
  case 'o':
    if (line[*counter] == 'r') {
      *operation = NON_EXCLUSIVE_OR;
      *counter = (*counter + 1);
    } else
      ERS(NCE_UNKNOWN_OPERATION_NAME_STARTING_WITH_O);
    break;
  case 'x':
    if ((line[*counter] == 'o') && (line[(*counter) + 1] == 'r')) {
      *operation = EXCLUSIVE_OR;
      *counter = (*counter + 2);
    } else
      ERS(NCE_UNKNOWN_OPERATION_NAME_STARTING_WITH_X);
    break;

      /* relational operators */
    case 'e':
      if(line[*counter] == 'q')
	{
	  *operation = EQ;
	  *counter = (*counter + 1);
	}
      else
        ERS(NCE_UNKNOWN_OPERATION_NAME_STARTING_WITH_E);
      break;
    case 'n':
      if(line[*counter] == 'e')
	{
	  *operation = NE;
	  *counter = (*counter + 1);
	}
      else
        ERS(NCE_UNKNOWN_OPERATION_NAME_STARTING_WITH_N);
      break;
    case 'g':
      if(line[*counter] == 'e')
	{
	  *operation = GE;
	  *counter = (*counter + 1);
	}
      else if(line[*counter] == 't')
	{
	  *operation = GT;
	  *counter = (*counter + 1);
	}
      else
        ERS(NCE_UNKNOWN_OPERATION_NAME_STARTING_WITH_G);
      break;
    case 'l':
      if(line[*counter] == 'e')
	{
	  *operation = LE;
	  *counter = (*counter + 1);
	}
      else if(line[*counter] == 't')
	{
	  *operation = LT;
	  *counter = (*counter + 1);
	}
      else
        ERS(NCE_UNKNOWN_OPERATION_NAME_STARTING_WITH_L);
      break;

  case 0:
    ERS(NCE_UNCLOSED_EXPRESSION);
  default:
    ERS(NCE_UNKNOWN_OPERATION);
  }
  return INTERP_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq (%rcx), %rcx
movb (%rax,%rcx), %al
movb %al, -0x29(%rbp)
movq -0x20(%rbp), %rax
movl (%rax), %ecx
incl %ecx
movl %ecx, (%rax)
movsbl -0x29(%rbp), %eax
movl %eax, %ecx
movq %rcx, -0x38(%rbp)
subl $0x78, %eax
ja 0x63e34
movq -0x38(%rbp), %rax
leaq 0x19c9f(%rip), %rcx     # 0x7d068
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x28(%rbp), %rax
movl $0x9, (%rax)
jmp 0x63f06
movq -0x28(%rbp), %rax
movl $0x7, (%rax)
jmp 0x63f06
movq -0x28(%rbp), %rax
movl $0x1, (%rax)
jmp 0x63f06
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq (%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2a, %eax
jne 0x6342e
movq -0x28(%rbp), %rax
movl $0x3, (%rax)
movq -0x20(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x63438
movq -0x28(%rbp), %rax
movl $0x4, (%rax)
jmp 0x63f06
movq -0x28(%rbp), %rax
movl $0xa, (%rax)
jmp 0x63f06
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq (%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x6e, %eax
jne 0x63497
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
movl (%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x64, %eax
jne 0x63497
movq -0x28(%rbp), %rax
movl $0x5, (%rax)
movq -0x20(%rbp), %rax
movl (%rax), %ecx
addl $0x2, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x6356c
jmp 0x63499
leaq 0x1a5e5(%rip), %rdi     # 0x7da85
callq 0x10380
movq -0x40(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x10df0
movq 0x23aa6(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x23a95(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x23a87(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x1a5be(%rip), %rsi     # 0x7daac
movl $0x50, %edx
callq 0x10840
movq 0x23a61(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x23a53(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x23a3b(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x23a2b(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x23a1e(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x23a10(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x63f0d
jmp 0x63f06
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq (%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x6f, %eax
jne 0x635bc
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
movl (%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x64, %eax
jne 0x635bc
movq -0x28(%rbp), %rax
movl $0x2, (%rax)
movq -0x20(%rbp), %rax
movl (%rax), %ecx
addl $0x2, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x63691
jmp 0x635be
leaq 0x1a518(%rip), %rdi     # 0x7dadd
callq 0x10380
movq -0x40(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x10df0
movq 0x23981(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x23970(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x23962(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x1a499(%rip), %rsi     # 0x7daac
movl $0x50, %edx
callq 0x10840
movq 0x2393c(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x2392e(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x23916(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x23906(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x238f9(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x238eb(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x63f0d
jmp 0x63f06
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq (%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x72, %eax
jne 0x636c8
movq -0x28(%rbp), %rax
movl $0x8, (%rax)
movq -0x20(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x6379d
jmp 0x636ca
leaq 0x1a433(%rip), %rdi     # 0x7db04
callq 0x10380
movq -0x40(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x10df0
movq 0x23875(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x23864(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x23856(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x1a38d(%rip), %rsi     # 0x7daac
movl $0x50, %edx
callq 0x10840
movq 0x23830(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x23822(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x2380a(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x237fa(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x237ed(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x237df(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x63f0d
jmp 0x63f06
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq (%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x6f, %eax
jne 0x637ed
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
movl (%rcx), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x72, %eax
jne 0x637ed
movq -0x28(%rbp), %rax
movl $0x6, (%rax)
movq -0x20(%rbp), %rax
movl (%rax), %ecx
addl $0x2, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x638c2
jmp 0x637ef
leaq 0x1a335(%rip), %rdi     # 0x7db2b
callq 0x10380
movq -0x40(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x10df0
movq 0x23750(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x2373f(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x23731(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x1a268(%rip), %rsi     # 0x7daac
movl $0x50, %edx
callq 0x10840
movq 0x2370b(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x236fd(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x236e5(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x236d5(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x236c8(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x236ba(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x63f0d
jmp 0x63f06
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq (%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x71, %eax
jne 0x638f9
movq -0x28(%rbp), %rax
movl $0xc, (%rax)
movq -0x20(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x639ce
jmp 0x638fb
leaq 0x1a250(%rip), %rdi     # 0x7db52
callq 0x10380
movq -0x40(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x10df0
movq 0x23644(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x23633(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x23625(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x1a15c(%rip), %rsi     # 0x7daac
movl $0x50, %edx
callq 0x10840
movq 0x235ff(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x235f1(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x235d9(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x235c9(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x235bc(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x235ae(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x63f0d
jmp 0x63f06
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq (%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x65, %eax
jne 0x63a05
movq -0x28(%rbp), %rax
movl $0xd, (%rax)
movq -0x20(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x63ada
jmp 0x63a07
leaq 0x1a16b(%rip), %rdi     # 0x7db79
callq 0x10380
movq -0x40(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x10df0
movq 0x23538(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x23527(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x23519(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x1a050(%rip), %rsi     # 0x7daac
movl $0x50, %edx
callq 0x10840
movq 0x234f3(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x234e5(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x234cd(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x234bd(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x234b0(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x234a2(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x63f0d
jmp 0x63f06
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq (%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x65, %eax
jne 0x63b11
movq -0x28(%rbp), %rax
movl $0xf, (%rax)
movq -0x20(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x63c1a
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq (%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x74, %eax
jne 0x63b43
movq -0x28(%rbp), %rax
movl $0x10, (%rax)
movq -0x20(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x63c18
jmp 0x63b45
leaq 0x1a054(%rip), %rdi     # 0x7dba0
callq 0x10380
movq -0x40(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x10df0
movq 0x233fa(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x233e9(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x233db(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x19f12(%rip), %rsi     # 0x7daac
movl $0x50, %edx
callq 0x10840
movq 0x233b5(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x233a7(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x2338f(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x2337f(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x23372(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x23364(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x63f0d
jmp 0x63c1a
jmp 0x63f06
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq (%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x65, %eax
jne 0x63c51
movq -0x28(%rbp), %rax
movl $0xe, (%rax)
movq -0x20(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x63d5a
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
movslq (%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x74, %eax
jne 0x63c83
movq -0x28(%rbp), %rax
movl $0xb, (%rax)
movq -0x20(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x63d58
jmp 0x63c85
leaq 0x19f3b(%rip), %rdi     # 0x7dbc7
callq 0x10380
movq -0x40(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x10df0
movq 0x232ba(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x232a9(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x2329b(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x19dd2(%rip), %rsi     # 0x7daac
movl $0x50, %edx
callq 0x10840
movq 0x23275(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x23267(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x2324f(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x2323f(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x23232(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x23224(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x63f0d
jmp 0x63d5a
jmp 0x63f06
jmp 0x63d61
leaq 0x19e86(%rip), %rdi     # 0x7dbee
callq 0x10380
movq -0x40(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x10df0
movq 0x231de(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x231cd(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x231bf(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x19cf6(%rip), %rsi     # 0x7daac
movl $0x50, %edx
callq 0x10840
movq 0x23199(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x2318b(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x23173(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x23163(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x23156(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x23148(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x63f0d
jmp 0x63e36
leaq 0x19dc5(%rip), %rdi     # 0x7dc02
callq 0x10380
movq -0x40(%rbp), %rdi
movq %rax, %rsi
movb $0x0, %al
callq 0x10df0
movq 0x23109(%rip), %rax     # 0x86f60
movl $0x0, 0xd670(%rax)
movq 0x230f8(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rax
movq 0x230ea(%rip), %rdi     # 0x86f60
addq $0xc6d0, %rdi           # imm = 0xC6D0
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq 0x19c21(%rip), %rsi     # 0x7daac
movl $0x50, %edx
callq 0x10840
movq 0x230c4(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x230b6(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, 0x4f(%rax)
movq 0x2309e(%rip), %rax     # 0x86f60
movl 0xd670(%rax), %ecx
addl $0x1, %ecx
movq 0x2308e(%rip), %rax     # 0x86f60
movl %ecx, 0xd670(%rax)
movq 0x23081(%rip), %rax     # 0x86f60
movslq 0xd670(%rax), %rcx
movq 0x23073(%rip), %rax     # 0x86f60
addq $0xc6d0, %rax           # imm = 0xC6D0
imulq $0x50, %rcx, %rcx
addq %rcx, %rax
movb $0x0, (%rax)
movl $0x5, -0x4(%rbp)
jmp 0x63f0d
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)