// File: /workspace/github_c_makefile_star2_O2/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 0x5906
movl (%rdx), %ecx
incl %ecx
movl %ecx, (%rdx)
cmpl $0x0, 0x4c(%rbx)
jne 0x5bce
movl (%rbx), %eax
leal 0x1(%rax), %ecx
cmpl $0x6, %ecx
ja 0x59b9
leaq 0x282d(%rip), %rax      # 0x8148
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
cmpl $0x0, 0x4c(%rbx)
jne 0x5c61
movsbq (%r14), %r12
movq 0x8(%rbx), %rax
movb %r12b, (%rax)
testq %r12, %r12
je 0x59b1
movzbl 0x1(%r14), %r15d
testl %r15d, %r15d
je 0x59b1
callq 0x2310
movq (%rax), %rax
testb $0x8, 0x1(%rax,%r12,2)
jne 0x5b8b
cmpb $0x5c, %r12b
jne 0x59b1
movq 0x8(%rbx), %rax
leal -0x6e(%r15), %ecx
cmpl $0x8, %ecx
jbe 0x5c88
cmpl $0x66, %r15d
je 0x5d73
cmpl $0x61, %r15d
je 0x5d83
cmpl $0x62, %r15d
je 0x5d7b
cmpl $0x30, %r15d
jne 0x5d53
movb $0x0, (%rax)
jmp 0x59b1
cmpl $0x0, 0x4c(%rbx)
jne 0x5ca5
movq 0x8(%rbx), %rax
movq %r14, (%rax)
movl %ebp, %r12d
jmp 0x5c4f
cmpl $0x0, 0x4c(%rbx)
jne 0x5ccc
andq $0x0, 0x28(%rsp)
pushq $-0x2
popq %r15
cmpl $0xf, %eax
ja 0x5ca0
movl $0x5540, %ecx           # imm = 0x5540
btl %eax, %ecx
jb 0x5b0f
movl $0xaa80, %ecx           # imm = 0xAA80
btl %eax, %ecx
jae 0x5ca0
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
xorl %edx, %edx
callq 0x21c0
xorl %r9d, %r9d
movq %rax, %r10
jmp 0x5b24
leaq 0x10(%rbx), %rax
xorl %edx, %edx
cmpl $0x0, 0x78(%rbx)
cmoveq %rdx, %rax
movq 0x20(%rbx), %rcx
movq 0x28(%rbx), %rsi
testq %rcx, %rcx
cmovneq %rcx, %rax
leaq 0x18(%rbx), %rcx
cmpl $0x0, 0x7c(%rbx)
cmoveq %rdx, %rcx
testq %rsi, %rsi
cmovneq %rsi, %rcx
xorl %esi, %esi
testl %r15d, %r15d
movq %rax, %rdx
cmovneq %rcx, %rdx
sete %dil
cmoveq %rcx, %rax
testq %rdx, %rdx
je 0x5c00
movl (%rdx), %edx
testq %rax, %rax
je 0x5c3c
movl (%rax), %r8d
movq 0x8(%rbx), %r9
movl (%r9), %r9d
cmpl %r8d, %edx
jle 0x5bf6
cmpl %edx, %r9d
jg 0x5c3c
cmpl %r8d, %r9d
jge 0x5c00
jmp 0x5c3c
cmpl $0x0, 0x4c(%rbx)
jne 0x5d23
movq 0x8(%rbx), %rax
movq 0x20(%rbx), %rcx
addq $0x10, %rbx
testq %rcx, %rcx
cmovneq %rcx, %rbx
movq (%rbx), %rcx
movq %rcx, (%rax)
jmp 0x5c4c
cmpl $0x0, 0x4c(%rbx)
je 0x5c4c
movq 0x7531(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
leaq 0x3a69(%rip), %rsi      # 0x9541
xorl %r12d, %r12d
jmp 0x5b03
pushq $-0x1
popq %r12
cmpl $0x0, 0x4c(%rbx)
je 0x5c4f
movq 0x7506(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
leaq 0x3a5e(%rip), %rsi      # 0x9561
xorl %eax, %eax
callq 0x21d0
jmp 0x5c4f
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
xorl %edx, %edx
callq 0x21b0
movq %rax, %r10
movb $0x1, %r9b
movq 0x28(%rsp), %r13
pushq $-0x3
popq %r12
testq %r13, %r13
je 0x5d4b
movzbl (%r13), %eax
testl %eax, %eax
je 0x5f69
cmpl $0x0, 0x80(%rbx)
je 0x5beb
pushq $0x1
popq %rsi
leaq 0x1(%r13), %r8
movq %r8, 0x28(%rsp)
leal -0x42(%rax), %ecx
cmpl $0x18, %ecx
jbe 0x5c1d
addl $-0x62, %eax
cmpl $0x18, %eax
ja 0x65a1
leaq 0x2671(%rip), %rcx      # 0x81ec
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
pushq $0xa
jmp 0x5e0c
leaq 0x30(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x21f0
movq (%r15), %rcx
testq %rcx, %rcx
je 0x59b1
cmpb $0x0, (%rcx)
sete %cl
cmpq $0x100, %rax            # imm = 0x100
setb %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x59b1
movq 0x8(%rbx), %rcx
movb %al, (%rcx)
jmp 0x59b1
movq 0x7423(%rip), %rax      # 0xcff8
movq (%rax), %rdi
leaq 0x3941(%rip), %rsi      # 0x9520
xorl %eax, %eax
callq 0x21d0
jmp 0x5906
movq %r13, %r8
movq %r10, %r15
jmp 0x5e78
cmpl %edx, %r9d
jl 0x5c3c
cmpl %r8d, %r9d
jg 0x5c3c
movb %dil, %sil
movl %esi, %edx
testl %r15d, %r15d
jne 0x5c3c
testq %rax, %rax
je 0x5c3c
movq 0x8(%rbx), %rax
movl (%rax), %edx
cmpl %edx, (%rcx)
jge 0x5c34
decl %edx
jmp 0x5c3c
leaq 0x2564(%rip), %rax      # 0x8188
movslq (%rax,%rcx,4), %rcx
addq %rax, %rcx
jmpq *%rcx
xorl %esi, %esi
jmp 0x5e2c
setg %al
movzbl %al, %eax
addl %eax, %edx
movq 0x8(%rbx), %rax
movl %edx, (%rax)
cmpl $0x0, 0x4c(%rbx)
jne 0x5cf5
xorl %r12d, %r12d
movl %r12d, %eax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x7390(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
leaq 0x396d(%rip), %rsi      # 0x95e6
movq %r14, %r8
xorl %eax, %eax
callq 0x21d0
jmp 0x592e
leaq 0x24d5(%rip), %rdx      # 0x8164
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movb $0xa, (%rax)
jmp 0x59b1
movl %r15d, %r12d
jmp 0x5c4f
movq 0x734c(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
leaq 0x3904(%rip), %rsi      # 0x95c1
movq %r14, %r8
xorl %eax, %eax
callq 0x21d0
jmp 0x59aa
movq 0x7325(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
leaq 0x3925(%rip), %rsi      # 0x9609
movq %r14, %r8
xorl %eax, %eax
callq 0x21d0
movl (%rbx), %eax
jmp 0x59c3
movq 0x72fc(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x8(%rbx), %rax
movq 0x40(%rbx), %rcx
movl (%rax), %r8d
leaq 0x386b(%rip), %rsi      # 0x957f
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x21d0
jmp 0x5c4f
movq 0x72ce(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x10(%rbx), %r8
movq 0x40(%rbx), %rcx
leaq 0x385d(%rip), %rsi      # 0x959c
xorl %eax, %eax
callq 0x21d0
jmp 0x5a98
xorl %r11d, %r11d
jmp 0x615a
movb %r15b, (%rax)
jmp 0x59b1
movb $0xb, (%rax)
jmp 0x59b1
movb $0x9, (%rax)
jmp 0x59b1
movb $0xd, (%rax)
jmp 0x59b1
movb $0xc, (%rax)
jmp 0x59b1
movb $0x8, (%rax)
jmp 0x59b1
movb $0x7, (%rax)
jmp 0x59b1
movabsq $0x4000000000000, %rsi  # imm = 0x4000000000000
jmp 0x5e2c
movabsq $0x1000000000000000, %rsi # imm = 0x1000000000000000
jmp 0x5e2c
movl $0x1000, %esi           # imm = 0x1000
jmp 0x5e2c
movl $0x200, %esi            # imm = 0x200
jmp 0x5e2c
movl $0x40000000, %esi       # imm = 0x40000000
jmp 0x5e2c
movl $0x400, %esi            # imm = 0x400
jmp 0x5e2c
movl $0x100000, %esi         # imm = 0x100000
jmp 0x5e2c
movabsq $0x10000000000, %rsi    # imm = 0x10000000000
jmp 0x5e2c
movl $0xf4240, %esi          # imm = 0xF4240
jmp 0x5e2c
movabsq $0xde0b6b3a7640000, %rsi # imm = 0xDE0B6B3A7640000
jmp 0x5e2c
movabsq $0x35c9adc5dea00000, %rsi # imm = 0x35C9ADC5DEA00000
jmp 0x5e2c
movabsq $0x38d7ea4c68000, %rsi  # imm = 0x38D7EA4C68000
jmp 0x5e2c
movl $0x3b9aca00, %esi       # imm = 0x3B9ACA00
jmp 0x5e2c
pushq $0x64
popq %rsi
jmp 0x5e2c
movabsq $0x1bcecceda1000000, %rsi # imm = 0x1BCECCEDA1000000
jmp 0x5e2c
movl $0x3e8, %esi            # imm = 0x3E8
jmp 0x5e2c
movabsq $0xe8d4a51000, %rsi     # imm = 0xE8D4A51000
testb %r9b, %r9b
je 0x5e6b
movq %rsi, %rax
mulq %r10
movq %rax, %r15
jno 0x5e78
movq 0x71b5(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
movq %rsi, (%rsp)
leaq 0x3831(%rip), %rsi      # 0x9689
movq %r8, 0x20(%rsp)
movq %r13, %r8
movl %r9d, %r13d
movq %r10, %r9
jmp 0x6442
movq %rsi, %r15
imulq %r10, %r15
jo 0x6413
movzbl (%r8), %eax
testl %eax, %eax
je 0x5ed2
cmpl $0x0, 0x84(%rbx)
je 0x5ede
leaq 0x1(%r8), %r11
movq %r11, 0x28(%rsp)
cmpl $0x43, %eax
je 0x5ef8
cmpl $0x44, %eax
je 0x5f12
cmpl $0x4d, %eax
je 0x5ee3
cmpl $0x53, %eax
je 0x5eea
cmpl $0x59, %eax
je 0x5f0b
cmpl $0x64, %eax
je 0x5ef1
cmpl $0x68, %eax
je 0x5eff
cmpl $0x6d, %eax
je 0x5f06
pushq $0x1
popq %rsi
cmpl $0x73, %eax
je 0x5f17
cmpl $0x77, %eax
jne 0x6553
movl $0x93a80, %esi          # imm = 0x93A80
jmp 0x5f17
movq %r15, %r10
pushq $-0x2
popq %r15
jmp 0x5f69
movq %r8, %r11
jmp 0x5f58
movl $0x28de80, %esi         # imm = 0x28DE80
jmp 0x5f17
movl $0x794a00, %esi         # imm = 0x794A00
jmp 0x5f17
movl $0x15180, %esi          # imm = 0x15180
jmp 0x5f17
movl $0xbc191380, %esi       # imm = 0xBC191380
jmp 0x5f17
movl $0xe10, %esi            # imm = 0xE10
jmp 0x5f17
pushq $0x3c
popq %rsi
jmp 0x5f17
movl $0x1e28500, %esi        # imm = 0x1E28500
jmp 0x5f17
movl $0x12cff780, %esi       # imm = 0x12CFF780
testb %r9b, %r9b
je 0x5f48
movq %rsi, %rax
mulq %r15
movq %rax, %r13
jno 0x5f55
movq 0x70ca(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
movq %rsi, (%rsp)
leaq 0x37e2(%rip), %rsi      # 0x9725
jmp 0x6527
movq %rsi, %r13
imulq %r15, %r13
jo 0x650b
movq %r13, %r15
cmpb $0x0, (%r11)
movq %r15, %r10
pushq $-0x2
popq %r15
jne 0x615a
movl (%rbx), %eax
addl $-0x4, %eax
movl %r15d, %r12d
cmpl $0xb, %eax
ja 0x5c4f
leaq 0x22cf(%rip), %rcx      # 0x8250
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x8(%rbx), %rax
movq %r10, (%rax)
cmpl $0x0, 0x78(%rbx)
je 0x5fa8
movq 0x8(%rbx), %rax
movq (%rax), %rax
cmpq 0x10(%rbx), %rax
jb 0x6380
cmpl $0x0, 0x7c(%rbx)
je 0x5fbf
movq 0x8(%rbx), %rax
movq (%rax), %rax
cmpq 0x18(%rbx), %rax
ja 0x6380
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x5fd8
movq 0x8(%rbx), %rcx
movq (%rcx), %rcx
cmpq (%rax), %rcx
jb 0x6380
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x59b1
movq 0x8(%rbx), %rcx
movq (%rcx), %rcx
cmpq (%rax), %rcx
jbe 0x59b1
jmp 0x6380
movq 0x8(%rbx), %rax
movq %r10, (%rax)
cmpl $0x0, 0x78(%rbx)
je 0x6018
movq 0x8(%rbx), %rax
movq (%rax), %rax
cmpq 0x10(%rbx), %rax
jl 0x6380
cmpl $0x0, 0x7c(%rbx)
je 0x602f
movq 0x8(%rbx), %rax
movq (%rax), %rax
cmpq 0x18(%rbx), %rax
jg 0x6380
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x6048
movq 0x8(%rbx), %rcx
movq (%rcx), %rcx
cmpq (%rax), %rcx
jl 0x6380
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x59b1
movq 0x8(%rbx), %rcx
movq (%rcx), %rcx
cmpq (%rax), %rcx
jle 0x59b1
jmp 0x6380
movq 0x8(%rbx), %rax
movb %r10b, (%rax)
leaq -0x100(%r10), %rax
cmpq $-0x180, %rax           # imm = 0xFE80
jb 0x6380
cmpl $0x0, 0x78(%rbx)
je 0x6099
movq 0x8(%rbx), %rax
movb (%rax), %al
cmpb 0x10(%rbx), %al
jb 0x6380
cmpl $0x0, 0x7c(%rbx)
je 0x60ae
movq 0x8(%rbx), %rax
movb (%rax), %al
cmpb 0x18(%rbx), %al
ja 0x6380
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x60c5
movq 0x8(%rbx), %rcx
movb (%rcx), %cl
cmpb (%rax), %cl
jb 0x6380
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x59b1
movq 0x8(%rbx), %rcx
movb (%rcx), %cl
cmpb (%rax), %cl
jbe 0x59b1
jmp 0x6380
movq 0x8(%rbx), %rax
movb %r10b, (%rax)
movsbq %r10b, %rax
cmpq %r10, %rax
jne 0x6380
cmpl $0x0, 0x78(%rbx)
je 0x610e
movq 0x8(%rbx), %rax
movb (%rax), %al
cmpb 0x10(%rbx), %al
jl 0x6380
cmpl $0x0, 0x7c(%rbx)
je 0x6123
movq 0x8(%rbx), %rax
movb (%rax), %al
cmpb 0x18(%rbx), %al
jg 0x6380
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x613a
movq 0x8(%rbx), %rcx
movb (%rcx), %cl
cmpb (%rax), %cl
jl 0x6380
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x59b1
movq 0x8(%rbx), %rcx
movb (%rcx), %cl
cmpb (%rax), %cl
jle 0x59b1
jmp 0x6380
movq 0x6e97(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
leaq 0x35ed(%rip), %rsi      # 0x975f
movq %r11, %r8
xorl %eax, %eax
movl %r9d, %r15d
movq %r10, %r13
callq 0x21d0
movq %r13, %r10
movl %r15d, %r9d
pushq $-0x2
popq %r15
cmpl $0x0, 0x88(%rbx)
jne 0x5f69
jmp 0x5c4f
movq 0x8(%rbx), %rax
movw %r10w, (%rax)
leaq -0x10000(%r10), %rax
cmpq $-0x18000, %rax         # imm = 0xFFFE8000
jb 0x6380
cmpl $0x0, 0x78(%rbx)
je 0x61d0
movq 0x8(%rbx), %rax
movzwl (%rax), %eax
cmpw 0x10(%rbx), %ax
jb 0x6380
cmpl $0x0, 0x7c(%rbx)
je 0x61e7
movq 0x8(%rbx), %rax
movzwl (%rax), %eax
cmpw 0x18(%rbx), %ax
ja 0x6380
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x6200
movq 0x8(%rbx), %rcx
movzwl (%rcx), %ecx
cmpw (%rax), %cx
jb 0x6380
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x59b1
movq 0x8(%rbx), %rcx
movzwl (%rcx), %ecx
cmpw (%rax), %cx
jbe 0x59b1
jmp 0x6380
movq 0x8(%rbx), %rax
movl %r10d, (%rax)
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
addq %r10, %rax
movabsq $-0x180000000, %rcx     # imm = 0xFFFFFFFE80000000
cmpq %rcx, %rax
jb 0x6380
cmpl $0x0, 0x78(%rbx)
je 0x625e
movq 0x8(%rbx), %rax
movl (%rax), %eax
cmpl 0x10(%rbx), %eax
jb 0x6380
cmpl $0x0, 0x7c(%rbx)
je 0x6273
movq 0x8(%rbx), %rax
movl (%rax), %eax
cmpl 0x18(%rbx), %eax
ja 0x6380
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x628a
movq 0x8(%rbx), %rcx
movl (%rcx), %ecx
cmpl (%rax), %ecx
jb 0x6380
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x59b1
movq 0x8(%rbx), %rcx
movl (%rcx), %ecx
cmpl (%rax), %ecx
jbe 0x59b1
jmp 0x6380
movq 0x8(%rbx), %rax
movw %r10w, (%rax)
movswq %r10w, %rax
cmpq %r10, %rax
jne 0x6380
cmpl $0x0, 0x78(%rbx)
je 0x62d6
movq 0x8(%rbx), %rax
movzwl (%rax), %eax
cmpw 0x10(%rbx), %ax
jl 0x6380
cmpl $0x0, 0x7c(%rbx)
je 0x62ed
movq 0x8(%rbx), %rax
movzwl (%rax), %eax
cmpw 0x18(%rbx), %ax
jg 0x6380
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x6302
movq 0x8(%rbx), %rcx
movzwl (%rcx), %ecx
cmpw (%rax), %cx
jl 0x6380
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x59b1
movq 0x8(%rbx), %rcx
movzwl (%rcx), %ecx
cmpw (%rax), %cx
jle 0x59b1
jmp 0x6380
movq 0x8(%rbx), %rax
movl %r10d, (%rax)
movslq %r10d, %rax
cmpq %r10, %rax
jne 0x6380
cmpl $0x0, 0x78(%rbx)
je 0x6341
movq 0x8(%rbx), %rax
movl (%rax), %eax
cmpl 0x10(%rbx), %eax
jl 0x6380
cmpl $0x0, 0x7c(%rbx)
je 0x6352
movq 0x8(%rbx), %rax
movl (%rax), %eax
cmpl 0x18(%rbx), %eax
jg 0x6380
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x6365
movq 0x8(%rbx), %rcx
movl (%rcx), %ecx
cmpl (%rax), %ecx
jl 0x6380
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x59b1
movq 0x8(%rbx), %rcx
movl (%rcx), %ecx
cmpl (%rax), %ecx
jle 0x59b1
movq 0x6c71(%rip), %r15      # 0xcff8
movq (%r15), %rdi
movl 0x48(%rbx), %ecx
movq 0x40(%rbx), %r8
leaq 0x3401(%rip), %rax      # 0x9799
leaq 0x3430(%rip), %rsi      # 0x97cf
testb %r9b, %r9b
cmovneq %rax, %rsi
movq %r10, %rdx
movq %r14, %r9
xorl %eax, %eax
callq 0x21d0
movq (%r15), %rcx
leaq 0x3448(%rip), %rdi      # 0x9805
pushq $0xe
popq %rsi
pushq $0x1
popq %rdx
callq 0x22b0
cmpl $0x0, 0x78(%rbx)
jne 0x6463
cmpl $0x0, 0x7c(%rbx)
jne 0x648f
movq 0x20(%rbx), %rdi
testq %rdi, %rdi
jne 0x64bb
movq 0x28(%rbx), %rdi
testq %rdi, %rdi
jne 0x64e3
movq (%r15), %rsi
pushq $0xa
popq %rdi
callq 0x2190
cmpl $0x0, 0x88(%rbx)
pushq $-0x3
popq %rax
cmovel %eax, %ebp
jmp 0x59b1
movq 0x6bde(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
movq %rsi, 0x8(%rsp)
movq %r10, (%rsp)
leaq 0x3218(%rip), %rsi      # 0x964c
movq %r8, 0x20(%rsp)
movq %r13, %r8
movl %r9d, %r13d
movq %r15, %r9
xorl %eax, %eax
callq 0x21d0
movq 0x20(%rsp), %r8
movl %r13d, %r9d
cmpl $0x0, 0x88(%rbx)
jne 0x5e78
jmp 0x5c4f
movq (%r15), %r14
leaq 0x10(%rbx), %rdi
movl (%rbx), %esi
leaq 0x30(%rsp), %rdx
callq 0x65f2
leaq 0x3397(%rip), %rsi      # 0x9814
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x21d0
jmp 0x63d2
movq (%r15), %r14
leaq 0x18(%rbx), %rdi
movl (%rbx), %esi
leaq 0x30(%rsp), %rdx
callq 0x65f2
leaq 0x3373(%rip), %rsi      # 0x981c
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x21d0
jmp 0x63dc
movq (%r15), %r14
movl (%rbx), %esi
leaq 0x30(%rsp), %rdx
callq 0x65f2
leaq 0x3353(%rip), %rsi      # 0x9824
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x21d0
jmp 0x63e9
movq (%r15), %r14
movl (%rbx), %esi
leaq 0x30(%rsp), %rdx
callq 0x65f2
leaq 0x3334(%rip), %rsi      # 0x982d
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x21d0
jmp 0x63f6
movq 0x6ae6(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
movq %rsi, (%rsp)
leaq 0x31c4(%rip), %rsi      # 0x96eb
movl %r9d, 0x1c(%rsp)
movq %r15, %r9
xorl %eax, %eax
movq %r11, %r15
callq 0x21d0
movq %r15, %r11
movl 0x1c(%rsp), %r9d
cmpl $0x0, 0x88(%rbx)
jne 0x5f55
jmp 0x5c4f
movq 0x6a9e(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
leaq 0x3156(%rip), %rsi      # 0x96c1
movq %r8, %r13
xorl %eax, %eax
movl %r9d, 0x1c(%rsp)
movq %r11, 0x20(%rsp)
callq 0x21d0
pushq $0x1
popq %rsi
movq 0x20(%rsp), %r11
movq %r13, %r8
movl 0x1c(%rsp), %r9d
cmpl $0x0, 0x88(%rbx)
jne 0x5f17
jmp 0x5c4f
movq 0x6a50(%rip), %rax      # 0xcff8
movq (%rax), %rdi
movl 0x48(%rbx), %edx
movq 0x40(%rbx), %rcx
leaq 0x306b(%rip), %rsi      # 0x9624
movq %r8, 0x20(%rsp)
movq %r13, %r8
xorl %eax, %eax
movl %r9d, 0x1c(%rsp)
movq %r10, %r15
callq 0x21d0
pushq $0x1
popq %rsi
movq 0x20(%rsp), %r8
movq %r15, %r10
movl 0x1c(%rsp), %r9d
cmpl $0x0, 0x88(%rbx)
jne 0x5e2c
jmp 0x5c4f