// File: /workspace/github_c_makefile_star2_O1/hilbix[P]unbuffered/./tino/getopt.h
// Function: tino_getopt_var_set_arg_imp
static int
tino_getopt_var_set_arg_imp(struct tino_getopt_impl *p, const char *arg, int n, int invert)
{
  unsigned long long	ull;
  char			auxbuf[TINO_GETOPT_AUXBUF_SIZE];
  char			*end;
  int			is_signed;

  if (p->COUNT_var)
    {
      (*p->COUNT_var)++;
      if (p->DEBUG_var)
        fprintf(stderr, "getopt setting: count %p now %d\n", p->COUNT_var, *p->COUNT_var);
    }
  switch (p->type)
    {
    case TINO_GETOPT_TYPE_IGNORE:
      if (p->DEBUG_var)
        fprintf(stderr, "getopt debug: ignored via %.*s\n", p->optlen, p->opt);
      return 0;

    case TINO_GETOPT_TYPE_HELP:
      if (p->DEBUG_var)
        fprintf(stderr, "getopt debug: usage via %.*s\n", p->optlen, p->opt);
      return -1;

    case TINO_GETOPT_TYPE_FLAG:
      p->varptr->i	= tino_getopt_flag_val(p, invert);
      if (p->DEBUG_var)
        fprintf(stderr, "getopt set: flag %.*s to %d\n", p->optlen, p->opt, p->varptr->i);
      return 0;

    case TINO_GETOPT_TYPE_STRINGFLAG:
      if (p->DEBUG_var)
        fprintf(stderr, "getopt set: stringflag %.*s to '%s'\n", p->optlen, p->opt, p->min.s);
      p->varptr->s	= p->MIN_PTR_var ? p->MIN_PTR_var->s : p->min.s;
      return 0;

    case TINO_GETOPT_TYPE_STRING:
      if (p->DEBUG_var)
        fprintf(stderr, "getopt set: opt %.*s to string '%s'\n", p->optlen, p->opt, arg);
      p->varptr->s	= arg;
      return n;

    case TINO_GETOPT_TYPE_UCHAR:
    case TINO_GETOPT_TYPE_CHAR:
      if (p->DEBUG_var)
        fprintf(stderr, "getopt set: opt %.*s to char '%s'\n", p->optlen, p->opt, arg);
      p->varptr->c	= *arg;
      if (*arg && arg[1])
        {
          if (isdigit(arg[0]))
            {
              long	tmp;
              char	*end;

              tmp	= strtol(arg, &end, 0);
              if (end && !*end && tmp>=0 && tmp<=255)
                p->varptr->c	= tmp;
            }
          else if (arg[0]=='\\')
            switch (arg[1])
              {
              case '0':	p->varptr->c	= 0;	break;
              case 'a':	p->varptr->c	= '\a';	break;
              case 'b':	p->varptr->c	= '\b';	break;
              case 'f':	p->varptr->c	= '\f';	break;
              case 'n':	p->varptr->c	= '\n';	break;
              case 'r':	p->varptr->c	= '\r';	break;
              case 't':	p->varptr->c	= '\t';	break;
              case 'v':	p->varptr->c	= '\v';	break;
              default:
                p->varptr->c	= arg[1];
                break;
              }
        }
      TINO_XXX;	/* Check for argument overflow?	*/
      return n;

    default:
      break;
    }

  if (p->DEBUG_var)
    fprintf(stderr, "getopt set: opt %.*s (%s)\n", p->optlen, p->opt, arg);

  end	= 0;
  switch (p->type)
    {
    default:
      return -2;

    case TINO_GETOPT_TYPE_UNSIGNED:
    case TINO_GETOPT_TYPE_UBYTE:
    case TINO_GETOPT_TYPE_USHORT:
    case TINO_GETOPT_TYPE_ULONGINT:
    case TINO_GETOPT_TYPE_ULLONG:
      ull	= strtoull(arg, &end, 0);
      is_signed	= 0;
      break;

    case TINO_GETOPT_TYPE_INT:
    case TINO_GETOPT_TYPE_BYTE:
    case TINO_GETOPT_TYPE_SHORT:
    case TINO_GETOPT_TYPE_LONGINT:
    case TINO_GETOPT_TYPE_LLONG:
      ull	= strtoll(arg, &end, 0);
      is_signed	= 1;
      break;
    }
  if (end && *end && p->SUFFIX_var)
    {
      unsigned long long	o, f;

      f	= 1;
      switch (*end++)
        {
        default:
          fprintf(stderr, "getopt: option %.*s unknown suffix: %s\n", p->optlen, p->opt, end-1);
          if (!p->IGNERR_var)
            return -3;
          break;

        case 'y':	f *= 1000ull;	/* 10^24 yotta	*/
        case 'z':	f *= 1000ull;	/* 10^21 zetta	*/
        case 'e':	f *= 1000ull;	/* 10^18 exa	*/
        case 'p':	f *= 1000ull;	/* 10^15 peta	*/
        case 't':	f *= 1000ull;	/* 10^12 tera	*/
        case 'g':	f *= 1000ull;	/* 10^9  giga	*/
        case 'm':	f *= 1000ull;	/* 10^6  mega	*/
        case 'k':	f *= 10ull;	/* 10^3  kilo	*/
        case 'h':	f *= 10ull;	/* 10^2  hecto	*/
        case 'd':	f *= 10ull;	/* 10^1  deka	*/
        case 'b':	break;
        case 'Y':	f *= 1024ull;	/* 8 Yotta, otto (it.)	*/
        case 'Z':	f *= 1024ull;	/* 7 Zetta, sette (it.)	*/
        case 'E':	f *= 1024ull;	/* 6 Exa, Hexagon	*/
        case 'P':	f *= 1024ull;	/* 5 Peta, Pentagon	*/
        case 'T':	f *= 1024ull;	/* 4 Tera, Tetraeder	*/
        case 'G':	f *= 1024ull;	/* 3 Giga		*/
        case 'M':	f *= 256ull;	/* 2 Mega		*/
        case 'C':	f *= 4ull;	/* 4096 CD-Size		*/
        case 'K':	f *= 2ull;	/* 1 Kilo		*/
        case 'S':	f *= 512ull;	/* 512 Sector size	*/
        case 'B':	break;
        }
      if (is_signed)
        {
          o	= (long long)ull*f;
          /* For some unknown reason, signed/unsigned=unsigned	*/
          if ((long long)o/(long long)f!=(long long)ull)
            {
              fprintf(stderr, "getopt: option %.*s overflow by suffix: %s %lld (%lldx%llu)\n", p->optlen, p->opt, end-1, (long long)o, (long long)ull, f);
              if (!p->IGNERR_var)
                return -3;
            }
        }
      else
        {
          o	= ull*f;
          if (o/f!=ull)
            {
              fprintf(stderr, "getopt: option %.*s overflow by suffix: %s (%llux%llu)\n", p->optlen, p->opt, end-1, ull, f);
              if (!p->IGNERR_var)
                return -3;
            }
        }
      ull	= o;
    }
  if (end && *end && p->TIMESPEC_var)
    {
      unsigned long long	o, f;

      f	= 1;
      switch (*end++)
        {
        default:
          fprintf(stderr, "getopt: option %.*s unknown timespec: %s\n", p->optlen, p->opt, end-1);
          if (!p->IGNERR_var)
            return -3;
          break;

          /* estimates rounded up	*/
#pragma GCC diagnostic ignored "-Wmisleading-indentation"
        case 'C':	f *= 36525ull;	if(0)			/* Century	*/
        case 'D':	f *= 3653ull;	if(0)			/* Decade=10y	*/
        case 'Y':	f *= 366ull;	if(0)			/* Year		*/
        case 'S':	f *= 92ull;	if(0)			/* Season	*/
        case 'M':	f *= 31ull;	if(0)			/* Month	*/

          /* exact	*/
        case 'w':	f *= 7ull;				/* Week	*/
        case 'd':	f *= 24ull;				/* Day	*/
        case 'h':	f *= 60ull;				/* Hour	*/
        case 'm':	f *= 60ull;				/* Minute	*/
        case 's':	break;					/* Seconds	*/
#pragma GCC diagnostic warning "-Wmisleading-indentation"
        }
      if (is_signed)
        {
          o	= (long long)ull*f;
          /* For some unknown reason, signed/unsigned=unsigned	*/
          if ((long long)o/(long long)f!=(long long)ull)
            {
              fprintf(stderr, "getopt: option %.*s overflow by timespec: %s (%lldx%llu)\n", p->optlen, p->opt, end-1, (long long)ull, f);
              if (!p->IGNERR_var)
                return -3;
            }
        }
      else
        {
          o	= ull*f;
          if (o/f!=ull)
            {
              fprintf(stderr, "getopt: option %.*s overflow by timespec: %s (%llux%llu)\n", p->optlen, p->opt, end-1, ull, f);
              if (!p->IGNERR_var)
                return -3;
            }
        }
      ull	= o;
    }

  if (!end || *end)
    {
      fprintf(stderr, "getopt: option %.*s numeric value has unknown suffix: %s\n", p->optlen, p->opt, end);
      if (!p->IGNERR_var)
        return -3;
    }

  /* check if the type fits into the argument
   *
   * Negative values are permissible by unsigned data types, as it's
   * convenient to give -1 instead of 255 to a byte.
   */

#define	TINO_GETOPT_VAR_SET_ARG_CHECK(VAR,MIN,MAX)			\
      p->varptr->VAR	= ull;						\
      if (!((ull<(unsigned long long)(MIN) && ull>(MAX)) ||		\
            (p->MIN_var     && p->varptr->VAR<p->min.VAR) ||		\
            (p->MAX_var     && p->varptr->VAR>p->max.VAR) ||		\
            (p->MIN_PTR_var && p->varptr->VAR<p->MIN_PTR_var->VAR) ||	\
            (p->MAX_PTR_var && p->varptr->VAR>p->MAX_PTR_var->VAR)))	\
        return n;							\
      break

#define TINO_GETOPT_VAR_SET_ARG_CHECK_U(VAR,TYPE)	\
        TINO_GETOPT_VAR_SET_ARG_CHECK(VAR,(TYPE)(~(((unsigned TYPE)-1)>>1)),(unsigned TYPE)-1)
#define TINO_GETOPT_VAR_SET_ARG_CHECK_S(VAR,TYPE)	\
        TINO_GETOPT_VAR_SET_ARG_CHECK(VAR,(TYPE)(~(((unsigned TYPE)-1)>>1)),((unsigned TYPE)-1)>>1)

  switch (p->type)
    {
    default:
      return -2;

    case TINO_GETOPT_TYPE_UNSIGNED:	TINO_GETOPT_VAR_SET_ARG_CHECK_U(u, int);
    case TINO_GETOPT_TYPE_INT:		TINO_GETOPT_VAR_SET_ARG_CHECK_S(i, int);
    case TINO_GETOPT_TYPE_UBYTE:
    case TINO_GETOPT_TYPE_UCHAR:	TINO_GETOPT_VAR_SET_ARG_CHECK_U(C, char);
    case TINO_GETOPT_TYPE_BYTE:
    case TINO_GETOPT_TYPE_CHAR:		TINO_GETOPT_VAR_SET_ARG_CHECK_S(c, char);
    case TINO_GETOPT_TYPE_USHORT:	TINO_GETOPT_VAR_SET_ARG_CHECK_U(W, short);
    case TINO_GETOPT_TYPE_SHORT:	TINO_GETOPT_VAR_SET_ARG_CHECK_S(w, short);
    case TINO_GETOPT_TYPE_ULONGINT:	TINO_GETOPT_VAR_SET_ARG_CHECK_U(U, long);
    case TINO_GETOPT_TYPE_LONGINT:	TINO_GETOPT_VAR_SET_ARG_CHECK_S(I, long);
    case TINO_GETOPT_TYPE_ULLONG:	TINO_GETOPT_VAR_SET_ARG_CHECK_U(L, long long);
    case TINO_GETOPT_TYPE_LLONG:	TINO_GETOPT_VAR_SET_ARG_CHECK_S(l, long long);
    }

  /* Out of bounds
   */
  if (!is_signed)
    fprintf(stderr, "getopt: value %llu out of bounds for option %.*s: %s\n", ull, p->optlen, p->opt, arg);
  else
    fprintf(stderr, "getopt: value %lld out of bounds for option %.*s: %s\n", (long long)ull, p->optlen, p->opt, arg);

  fprintf(stderr, "getopt: ranges");
  if (p->MIN_var)
    fprintf(stderr, " min=%s", tino_getopt_var_to_str(&p->min, p->type, auxbuf));
  if (p->MAX_var)
    fprintf(stderr, " max=%s", tino_getopt_var_to_str(&p->max, p->type, auxbuf));
  if (p->MIN_PTR_var)
    fprintf(stderr, " min*=%s", tino_getopt_var_to_str(p->MIN_PTR_var, p->type, auxbuf));
  if (p->MAX_PTR_var)
    fprintf(stderr, " max*=%s", tino_getopt_var_to_str(p->MAX_PTR_var, p->type, auxbuf));
  fprintf(stderr, "\n");
  return p->IGNERR_var ? n : -3;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movl %ecx, %r15d
movl %edx, %ebp
movq %rsi, %r14
movq %rdi, %rbx
movq 0x90(%rdi), %rdx
testq %rdx, %rdx
je 0x634b
movl (%rdx), %ecx
incl %ecx
movl %ecx, (%rdx)
cmpl $0x0, 0x4c(%rbx)
jne 0x65f8
movl (%rbx), %eax
incl %eax
cmpl $0x6, %eax
ja 0x63f2
leaq 0x2d81(%rip), %rcx      # 0x90e0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0x0, 0x4c(%rbx)
jne 0x666b
movb (%r14), %al
movq 0x8(%rbx), %rcx
movb %al, (%rcx)
movsbq (%r14), %r12
testq %r12, %r12
je 0x63ea
movzbl 0x1(%r14), %r15d
testl %r15d, %r15d
je 0x63ea
callq 0x2330
movq (%rax), %rax
testb $0x8, 0x1(%rax,%r12,2)
jne 0x65b5
cmpb $0x5c, %r12b
jne 0x63ea
movq 0x8(%rbx), %rax
cmpl $0x65, %r15d
jg 0x66aa
cmpl $0x30, %r15d
je 0x673b
cmpl $0x61, %r15d
je 0x6743
cmpl $0x62, %r15d
jne 0x6759
movb $0x8, (%rax)
jmp 0x63ea
cmpl $0x0, 0x4c(%rbx)
jne 0x66cf
movq 0x8(%rbx), %rax
movq %r14, (%rax)
movl %ebp, %r12d
jmp 0x6659
cmpl $0x0, 0x4c(%rbx)
jne 0x66f6
movq $0x0, 0x18(%rsp)
movl (%rbx), %eax
movl $0xfffffffe, %r12d      # imm = 0xFFFFFFFE
cmpl $0xf, %eax
ja 0x6659
movl $0x5540, %ecx           # imm = 0x5540
btl %eax, %ecx
jb 0x6530
movl $0xaa80, %ecx           # imm = 0xAA80
btl %eax, %ecx
jae 0x6659
leaq 0x18(%rsp), %rsi
xorl %r15d, %r15d
movq %r14, %rdi
xorl %edx, %edx
callq 0x21d0
movq %rax, %r9
jmp 0x6545
leaq 0x10(%rbx), %rdi
xorl %eax, %eax
cmpl $0x0, 0x78(%rbx)
cmoveq %rax, %rdi
movq 0x20(%rbx), %rcx
movq 0x28(%rbx), %rdx
testq %rcx, %rcx
cmovneq %rcx, %rdi
leaq 0x18(%rbx), %rcx
cmpl $0x0, 0x7c(%rbx)
cmoveq %rax, %rcx
testq %rdx, %rdx
cmovneq %rdx, %rcx
xorl %eax, %eax
testl %r15d, %r15d
movq %rdi, %rdx
cmovneq %rcx, %rdx
sete %sil
cmovneq %rdi, %rcx
testq %rdx, %rdx
je 0x661f
testq %rcx, %rcx
je 0x663a
movl (%rdx), %r9d
movl (%rcx), %edi
movq 0x8(%rbx), %r8
movl (%r8), %r8d
cmpl %edi, %r9d
jle 0x6615
cmpl %r9d, %r8d
jg 0x663a
cmpl %edi, %r8d
jge 0x661f
jmp 0x663a
cmpl $0x0, 0x4c(%rbx)
jne 0x672e
movq 0x8(%rbx), %rax
movq 0x20(%rbx), %rcx
addq $0x10, %rbx
testq %rcx, %rcx
cmovneq %rcx, %rbx
movq (%rbx), %rcx
movq %rcx, (%rax)
xorl %r12d, %r12d
jmp 0x6659
xorl %r12d, %r12d
cmpl $0x0, 0x4c(%rbx)
je 0x6659
movq %rbx, %rdi
callq 0x30be
jmp 0x6659
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
cmpl $0x0, 0x4c(%rbx)
je 0x6659
movq %rbx, %rdi
callq 0x309c
jmp 0x6659
leaq 0x18(%rsp), %rsi
movq %r14, %rdi
xorl %edx, %edx
callq 0x21c0
movq %rax, %r9
movb $0x1, %r15b
movq 0x18(%rsp), %r12
testq %r12, %r12
je 0x6889
movzbl (%r12), %eax
testl %eax, %eax
je 0x6889
cmpl $0x0, 0x80(%rbx)
je 0x6889
leaq 0x1(%r12), %rcx
movq %rcx, 0x18(%rsp)
movl $0x1, %r13d
leal -0x42(%rax), %ecx
cmpl $0x18, %ecx
movl %r15d, 0x24(%rsp)
jbe 0x6692
addl $-0x62, %eax
cmpl $0x18, %eax
ja 0x6f57
leaq 0x2be3(%rip), %rcx      # 0x9184
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0xa, %r13d
jmp 0x6828
leaq 0x30(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x2200
movq (%r15), %rcx
testq %rcx, %rcx
je 0x63ea
cmpb $0x0, (%rcx)
sete %cl
cmpq $0x100, %rax            # imm = 0x100
setb %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x63ea
movq 0x8(%rbx), %rcx
movb %al, (%rcx)
jmp 0x63ea
movq 0x79f9(%rip), %rax      # 0xdff8
movq (%rax), %rdi
leaq 0x3ee0(%rip), %rsi      # 0xa4e9
xorl %eax, %eax
callq 0x21e0
jmp 0x634b
cmpl %r9d, %r8d
jl 0x663a
cmpl %edi, %r8d
jg 0x663a
movb %sil, %al
testl %r15d, %r15d
jne 0x6646
testq %rcx, %rcx
je 0x6646
movq 0x8(%rbx), %rax
movl (%rax), %eax
cmpl %eax, (%rcx)
jge 0x663e
decl %eax
jmp 0x6646
movl (%rdx), %eax
jmp 0x6646
setg %cl
movzbl %cl, %ecx
addl %ecx, %eax
movq 0x8(%rbx), %rcx
movl %eax, (%rcx)
xorl %r12d, %r12d
cmpl $0x0, 0x4c(%rbx)
jne 0x671d
movl %r12d, %eax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x7986(%rip), %rax      # 0xdff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
leaq 0x3f2c(%rip), %rsi      # 0xa5af
movq %r14, %r8
xorl %eax, %eax
callq 0x21e0
jmp 0x6372
leaq 0x2a87(%rip), %rax      # 0x9120
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
xorl %r13d, %r13d
jmp 0x6828
leal -0x6e(%r15), %ecx
cmpl $0x8, %ecx
ja 0x674b
leaq 0x2a3e(%rip), %rdx      # 0x90fc
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movb $0xa, (%rax)
jmp 0x63ea
movq 0x7922(%rip), %rax      # 0xdff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
leaq 0x3ea3(%rip), %rsi      # 0xa58a
movq %r14, %r8
xorl %eax, %eax
callq 0x21e0
jmp 0x63e3
movq 0x78fb(%rip), %rax      # 0xdff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
leaq 0x3ec4(%rip), %rsi      # 0xa5d2
movq %r14, %r8
xorl %eax, %eax
callq 0x21e0
jmp 0x63fc
leaq 0x8(%rbx), %rsi
movq %rbx, %rdi
callq 0x3074
jmp 0x6659
movq %rbx, %rdi
callq 0x304e
jmp 0x64d8
movb $0x0, (%rax)
jmp 0x63ea
movb $0x7, (%rax)
jmp 0x63ea
cmpl $0x66, %r15d
jne 0x6759
movb $0xc, (%rax)
jmp 0x63ea
movb %r15b, (%rax)
jmp 0x63ea
movb $0xb, (%rax)
jmp 0x63ea
movb $0xd, (%rax)
jmp 0x63ea
movb $0x9, (%rax)
jmp 0x63ea
movabsq $0x4000000000000, %r13  # imm = 0x4000000000000
jmp 0x6828
movabsq $0x1000000000000000, %r13 # imm = 0x1000000000000000
jmp 0x6828
movl $0x1000, %r13d          # imm = 0x1000
jmp 0x6828
movl $0x200, %r13d           # imm = 0x200
jmp 0x6828
movl $0x40000000, %r13d      # imm = 0x40000000
jmp 0x6828
movl $0x400, %r13d           # imm = 0x400
jmp 0x6828
movl $0x100000, %r13d        # imm = 0x100000
jmp 0x6828
movabsq $0x10000000000, %r13    # imm = 0x10000000000
jmp 0x6828
movl $0xf4240, %r13d         # imm = 0xF4240
jmp 0x6828
movabsq $0xde0b6b3a7640000, %r13 # imm = 0xDE0B6B3A7640000
jmp 0x6828
movabsq $0x35c9adc5dea00000, %r13 # imm = 0x35C9ADC5DEA00000
jmp 0x6828
movabsq $0x38d7ea4c68000, %r13  # imm = 0x38D7EA4C68000
jmp 0x6828
movl $0x3b9aca00, %r13d      # imm = 0x3B9ACA00
jmp 0x6828
movl $0x64, %r13d
jmp 0x6828
movabsq $0x1bcecceda1000000, %r13 # imm = 0x1BCECCEDA1000000
jmp 0x6828
movl $0x3e8, %r13d           # imm = 0x3E8
jmp 0x6828
movabsq $0xe8d4a51000, %r13     # imm = 0xE8D4A51000
testb %r15b, %r15b
je 0x6862
movq %r13, %rax
mulq %r9
movq %rax, %r15
jno 0x686f
movq 0x77b9(%rip), %rax      # 0xdff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
movq %r13, (%rsp)
leaq 0x3dfe(%rip), %rsi      # 0xa652
xorl %r13d, %r13d
movq %r12, %r8
movq %r9, %r12
jmp 0x6e8d
movq %r13, %r15
imulq %r9, %r15
jo 0x6e60
movb $0x1, %r13b
movq %r15, %r9
movl $0xfffffffd, %r12d      # imm = 0xFFFFFFFD
testb %r13b, %r13b
movl 0x24(%rsp), %r15d
je 0x6659
movq 0x18(%rsp), %r12
testq %r12, %r12
je 0x69b5
movzbl (%r12), %eax
testl %eax, %eax
je 0x69b5
cmpl $0x0, 0x84(%rbx)
je 0x69b5
leaq 0x1(%r12), %rcx
movq %rcx, 0x18(%rsp)
movl $0x1, %r13d
cmpl $0x63, %eax
movl %r15d, 0x24(%rsp)
jg 0x68eb
cmpl $0x4c, %eax
jle 0x690b
cmpl $0x4d, %eax
je 0x694f
cmpl $0x53, %eax
je 0x6947
cmpl $0x59, %eax
jne 0x6f32
movl $0x1e28500, %r13d       # imm = 0x1E28500
jmp 0x695d
cmpl $0x6c, %eax
jle 0x6921
cmpl $0x6d, %eax
je 0x6957
cmpl $0x73, %eax
je 0x695d
cmpl $0x77, %eax
jne 0x6f32
movl $0x93a80, %r13d         # imm = 0x93A80
jmp 0x695d
cmpl $0x43, %eax
je 0x6937
cmpl $0x44, %eax
jne 0x6f32
movl $0x12cff780, %r13d      # imm = 0x12CFF780
jmp 0x695d
cmpl $0x64, %eax
je 0x693f
cmpl $0x68, %eax
jne 0x6f32
movl $0xe10, %r13d           # imm = 0xE10
jmp 0x695d
movl $0xbc191380, %r13d      # imm = 0xBC191380
jmp 0x695d
movl $0x15180, %r13d         # imm = 0x15180
jmp 0x695d
movl $0x794a00, %r13d        # imm = 0x794A00
jmp 0x695d
movl $0x28de80, %r13d        # imm = 0x28DE80
jmp 0x695d
movl $0x3c, %r13d
testb %r15b, %r15b
je 0x698e
movq %r13, %rax
mulq %r9
movq %rax, %r15
jno 0x699b
movq 0x7684(%rip), %rax      # 0xdff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
movq %r13, (%rsp)
leaq 0x3d65(%rip), %rsi      # 0xa6ee
jmp 0x6f0d
movq %r13, %r15
imulq %r9, %r15
jo 0x6ef1
movb $0x1, %r13b
movq %r15, %r9
movl $0xfffffffd, %r12d      # imm = 0xFFFFFFFD
testb %r13b, %r13b
movl 0x24(%rsp), %r15d
je 0x6659
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x6bc0
cmpb $0x0, (%rsi)
jne 0x6bc0
movl (%rbx), %eax
addl $-0x4, %eax
movl $0xfffffffe, %r12d      # imm = 0xFFFFFFFE
cmpl $0xb, %eax
ja 0x6659
leaq 0x2801(%rip), %rcx      # 0x91e8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x8(%rbx), %rax
movq %r9, (%rax)
cmpl $0x0, 0x78(%rbx)
je 0x6a0e
movq 0x8(%rbx), %rax
movq (%rax), %rax
cmpq 0x10(%rbx), %rax
jb 0x6dc3
cmpl $0x0, 0x7c(%rbx)
je 0x6a25
movq 0x8(%rbx), %rax
movq (%rax), %rax
cmpq 0x18(%rbx), %rax
ja 0x6dc3
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x6a3e
movq 0x8(%rbx), %rcx
movq (%rcx), %rcx
cmpq (%rax), %rcx
jb 0x6dc3
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x63ea
movq 0x8(%rbx), %rcx
movq (%rcx), %rcx
cmpq (%rax), %rcx
jbe 0x63ea
jmp 0x6dc3
movq 0x8(%rbx), %rax
movq %r9, (%rax)
cmpl $0x0, 0x78(%rbx)
je 0x6a7e
movq 0x8(%rbx), %rax
movq (%rax), %rax
cmpq 0x10(%rbx), %rax
jl 0x6dc3
cmpl $0x0, 0x7c(%rbx)
je 0x6a95
movq 0x8(%rbx), %rax
movq (%rax), %rax
cmpq 0x18(%rbx), %rax
jg 0x6dc3
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x6aae
movq 0x8(%rbx), %rcx
movq (%rcx), %rcx
cmpq (%rax), %rcx
jl 0x6dc3
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x63ea
movq 0x8(%rbx), %rcx
movq (%rcx), %rcx
cmpq (%rax), %rcx
jle 0x63ea
jmp 0x6dc3
movq 0x8(%rbx), %rax
movb %r9b, (%rax)
leaq -0x100(%r9), %rax
cmpq $-0x180, %rax           # imm = 0xFE80
jb 0x6dc3
cmpl $0x0, 0x78(%rbx)
je 0x6aff
movq 0x8(%rbx), %rax
movb (%rax), %al
cmpb 0x10(%rbx), %al
jb 0x6dc3
cmpl $0x0, 0x7c(%rbx)
je 0x6b14
movq 0x8(%rbx), %rax
movb (%rax), %al
cmpb 0x18(%rbx), %al
ja 0x6dc3
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x6b2b
movq 0x8(%rbx), %rcx
movb (%rcx), %cl
cmpb (%rax), %cl
jb 0x6dc3
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x63ea
movq 0x8(%rbx), %rcx
movb (%rcx), %cl
cmpb (%rax), %cl
jbe 0x63ea
jmp 0x6dc3
movq 0x8(%rbx), %rax
movb %r9b, (%rax)
movsbq %r9b, %rax
cmpq %r9, %rax
jne 0x6dc3
cmpl $0x0, 0x78(%rbx)
je 0x6b74
movq 0x8(%rbx), %rax
movb (%rax), %al
cmpb 0x10(%rbx), %al
jl 0x6dc3
cmpl $0x0, 0x7c(%rbx)
je 0x6b89
movq 0x8(%rbx), %rax
movb (%rax), %al
cmpb 0x18(%rbx), %al
jg 0x6dc3
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x6ba0
movq 0x8(%rbx), %rcx
movb (%rcx), %cl
cmpb (%rax), %cl
jl 0x6dc3
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x63ea
movq 0x8(%rbx), %rcx
movb (%rcx), %cl
cmpb (%rax), %cl
jle 0x63ea
jmp 0x6dc3
movq %rbx, %rdi
movq %r9, %r12
callq 0x314c
movq %r12, %r9
movl $0xfffffffd, %r12d      # imm = 0xFFFFFFFD
testb $0x1, %al
jne 0x6659
jmp 0x69cc
movq 0x8(%rbx), %rax
movw %r9w, (%rax)
leaq -0x10000(%r9), %rax
cmpq $-0x18000, %rax         # imm = 0xFFFE8000
jb 0x6dc3
cmpl $0x0, 0x78(%rbx)
je 0x6c13
movq 0x8(%rbx), %rax
movzwl (%rax), %eax
cmpw 0x10(%rbx), %ax
jb 0x6dc3
cmpl $0x0, 0x7c(%rbx)
je 0x6c2a
movq 0x8(%rbx), %rax
movzwl (%rax), %eax
cmpw 0x18(%rbx), %ax
ja 0x6dc3
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x6c43
movq 0x8(%rbx), %rcx
movzwl (%rcx), %ecx
cmpw (%rax), %cx
jb 0x6dc3
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x63ea
movq 0x8(%rbx), %rcx
movzwl (%rcx), %ecx
cmpw (%rax), %cx
jbe 0x63ea
jmp 0x6dc3
movq 0x8(%rbx), %rax
movl %r9d, (%rax)
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
addq %r9, %rax
movabsq $-0x180000000, %rcx     # imm = 0xFFFFFFFE80000000
cmpq %rcx, %rax
jb 0x6dc3
cmpl $0x0, 0x78(%rbx)
je 0x6ca1
movq 0x8(%rbx), %rax
movl (%rax), %eax
cmpl 0x10(%rbx), %eax
jb 0x6dc3
cmpl $0x0, 0x7c(%rbx)
je 0x6cb6
movq 0x8(%rbx), %rax
movl (%rax), %eax
cmpl 0x18(%rbx), %eax
ja 0x6dc3
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x6ccd
movq 0x8(%rbx), %rcx
movl (%rcx), %ecx
cmpl (%rax), %ecx
jb 0x6dc3
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x63ea
movq 0x8(%rbx), %rcx
movl (%rcx), %ecx
cmpl (%rax), %ecx
jbe 0x63ea
jmp 0x6dc3
movq 0x8(%rbx), %rax
movw %r9w, (%rax)
movswq %r9w, %rax
cmpq %r9, %rax
jne 0x6dc3
cmpl $0x0, 0x78(%rbx)
je 0x6d19
movq 0x8(%rbx), %rax
movzwl (%rax), %eax
cmpw 0x10(%rbx), %ax
jl 0x6dc3
cmpl $0x0, 0x7c(%rbx)
je 0x6d30
movq 0x8(%rbx), %rax
movzwl (%rax), %eax
cmpw 0x18(%rbx), %ax
jg 0x6dc3
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x6d45
movq 0x8(%rbx), %rcx
movzwl (%rcx), %ecx
cmpw (%rax), %cx
jl 0x6dc3
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x63ea
movq 0x8(%rbx), %rcx
movzwl (%rcx), %ecx
cmpw (%rax), %cx
jle 0x63ea
jmp 0x6dc3
movq 0x8(%rbx), %rax
movl %r9d, (%rax)
movslq %r9d, %rax
cmpq %r9, %rax
jne 0x6dc3
cmpl $0x0, 0x78(%rbx)
je 0x6d84
movq 0x8(%rbx), %rax
movl (%rax), %eax
cmpl 0x10(%rbx), %eax
jl 0x6dc3
cmpl $0x0, 0x7c(%rbx)
je 0x6d95
movq 0x8(%rbx), %rax
movl (%rax), %eax
cmpl 0x18(%rbx), %eax
jg 0x6dc3
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x6da8
movq 0x8(%rbx), %rcx
movl (%rcx), %ecx
cmpl (%rax), %ecx
jl 0x6dc3
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x63ea
movq 0x8(%rbx), %rcx
movl (%rcx), %ecx
cmpl (%rax), %ecx
jle 0x63ea
movl %r15d, %edx
movq 0x722b(%rip), %r15      # 0xdff8
movq (%r15), %rdi
movl 0x48(%rbx), %ecx
movq 0x40(%rbx), %r8
leaq 0x3984(%rip), %rax      # 0xa762
leaq 0x39b3(%rip), %rsi      # 0xa798
testb %dl, %dl
cmovneq %rax, %rsi
movq %r9, %rdx
movq %r14, %r9
xorl %eax, %eax
callq 0x21e0
movq (%r15), %rcx
leaq 0x39cc(%rip), %rdi      # 0xa7ce
movl $0xe, %esi
movl $0x1, %edx
callq 0x22d0
cmpl $0x0, 0x78(%rbx)
jne 0x6ea9
cmpl $0x0, 0x7c(%rbx)
jne 0x6ebb
movq 0x20(%rbx), %rsi
testq %rsi, %rsi
jne 0x6ecd
movq 0x28(%rbx), %rsi
testq %rsi, %rsi
jne 0x6edf
movq (%r15), %rsi
movl $0xa, %edi
callq 0x21a0
cmpl $0x0, 0x88(%rbx)
movl $0xfffffffd, %eax       # imm = 0xFFFFFFFD
cmovel %eax, %ebp
jmp 0x63ea
movq 0x7191(%rip), %rax      # 0xdff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
movq %r13, 0x8(%rsp)
movq %r9, (%rsp)
leaq 0x3794(%rip), %rsi      # 0xa615
xorl %r13d, %r13d
movq %r12, %r8
movq %r9, %r12
movq %r15, %r9
xorl %eax, %eax
callq 0x21e0
movq %r12, %r9
cmpl $0x0, 0x88(%rbx)
jne 0x686f
jmp 0x6875
leaq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x3182
jmp 0x6e1b
leaq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x31b1
jmp 0x6e25
leaq 0x30(%rsp), %rdx
movq %rbx, %rdi
callq 0x31e0
jmp 0x6e32
leaq 0x30(%rsp), %rdx
movq %rbx, %rdi
callq 0x320e
jmp 0x6e3f
movq 0x7100(%rip), %rax      # 0xdff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
movq %r13, (%rsp)
leaq 0x37a7(%rip), %rsi      # 0xa6b4
xorl %r13d, %r13d
movq %r12, %r8
movq %r9, %r12
xorl %eax, %eax
callq 0x21e0
movq %r12, %r9
cmpl $0x0, 0x88(%rbx)
jne 0x699b
jmp 0x69a1
movq %rbx, %rdi
movq %r12, %rsi
movq %r9, 0x28(%rsp)
callq 0x3116
movq 0x28(%rsp), %r9
testb $0x1, %al
je 0x695d
xorl %r13d, %r13d
jmp 0x69a1
movq %rbx, %rdi
movq %r12, %rsi
movq %r9, 0x28(%rsp)
callq 0x30e0
movq 0x28(%rsp), %r9
testb $0x1, %al
je 0x6828
xorl %r13d, %r13d
jmp 0x6875