// File: /workspace/github_c_makefile_star2_O2/hilbix[P]unbuffered/./tino/getopt.h
// Function: tino_getopt_var_set_varg
static void
tino_getopt_var_set_varg(struct tino_getopt_impl *p, union tino_getopt_types *ptr, TINO_VA_LIST list)
{
  if (!ptr)
    ptr	= p->varptr;
  if (p->DEBUG_var)
    {
      fprintf(stderr, "getopt set: %s %.*s to ",
              (ptr==p->varptr ? "opt" :
               ptr== &p->min ? "min" :
               ptr== &p->max ? "max" :
               "unknown(oops)"
               ), p->optlen, p->opt);
      fflush(stderr);
    }
  switch (p->type)
    {
    case TINO_GETOPT_TYPE_UNSIGNED:
    case TINO_GETOPT_TYPE_INT:
    case TINO_GETOPT_TYPE_FLAG:
      ptr->i	= TINO_VA_ARG(list, int);
      break;

    case TINO_GETOPT_TYPE_STRINGFLAG:
    case TINO_GETOPT_TYPE_STRING:
      ptr->s	= TINO_VA_ARG(list, char *);
      break;

    case TINO_GETOPT_TYPE_UBYTE:
    case TINO_GETOPT_TYPE_BYTE:
    case TINO_GETOPT_TYPE_UCHAR:
    case TINO_GETOPT_TYPE_CHAR:
      ptr->c	= TINO_VA_ARG(list, int);
      break;

    case TINO_GETOPT_TYPE_USHORT:
    case TINO_GETOPT_TYPE_SHORT:
      ptr->w	= TINO_VA_ARG(list, int);
      break;

    case TINO_GETOPT_TYPE_ULONGINT:
    case TINO_GETOPT_TYPE_LONGINT:
      ptr->I	= TINO_VA_ARG(list, long);
      break;

    case TINO_GETOPT_TYPE_ULLONG:
    case TINO_GETOPT_TYPE_LLONG:
      ptr->l	= TINO_VA_ARG(list, long long);
      break;

    case TINO_GETOPT_TYPE_HELP:
    case TINO_GETOPT_TYPE_IGNORE:
      break;
    }
  if (p->DEBUG_var)
    {
      char	auxbuf[TINO_GETOPT_AUXBUF_SIZE];

      fprintf(stderr, "%s\n", tino_getopt_var_to_str(ptr, p->type, auxbuf));
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdx, %r15
movq %rsi, %rbx
movq %rdi, %r14
testq %rsi, %rsi
jne 0x574c
movq 0x8(%r14), %rbx
cmpl $0x0, 0x4c(%r14)
jne 0x583a
movl (%r14), %eax
decl %eax
cmpl $0xe, %eax
ja 0x5827
leaq 0x29a0(%rip), %rcx      # 0x810c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl 0x8(%r15), %ecx
cmpq $0x28, %rcx
ja 0x57c3
movq %rcx, %rax
addq 0x18(%r15), %rax
addl $0x8, %ecx
movl %ecx, 0x8(%r15)
jmp 0x57cf
movl 0x8(%r15), %ecx
cmpq $0x28, %rcx
ja 0x57f1
movq %rcx, %rax
addq 0x18(%r15), %rax
addl $0x8, %ecx
movl %ecx, 0x8(%r15)
jmp 0x57fd
movl 0x8(%r15), %ecx
cmpq $0x28, %rcx
ja 0x5803
movq %rcx, %rax
addq 0x18(%r15), %rax
addl $0x8, %ecx
movl %ecx, 0x8(%r15)
jmp 0x580f
movq 0x10(%r15), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x10(%r15)
movq (%rax), %rax
movq %rax, (%rbx)
jmp 0x5827
movl 0x8(%r15), %ecx
cmpq $0x28, %rcx
ja 0x5815
movq %rcx, %rax
addq 0x18(%r15), %rax
addl $0x8, %ecx
movl %ecx, 0x8(%r15)
jmp 0x5821
movq 0x10(%r15), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x10(%r15)
movb (%rax), %al
movb %al, (%rbx)
jmp 0x5827
movq 0x10(%r15), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x10(%r15)
movl (%rax), %eax
movl %eax, (%rbx)
jmp 0x5827
movq 0x10(%r15), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x10(%r15)
movzwl (%rax), %eax
movw %ax, (%rbx)
cmpl $0x0, 0x4c(%r14)
jne 0x5854
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq 0x77b7(%rip), %r12      # 0xcff8
movq (%r12), %rdi
cmpq 0x8(%r14), %rbx
jne 0x5882
leaq 0x3c34(%rip), %rdx      # 0x9486
jmp 0x58ad
movq 0x779d(%rip), %rax      # 0xcff8
movq (%rax), %r15
movl (%r14), %esi
movq %rsp, %rdx
movq %rbx, %rdi
callq 0x65f2
leaq 0x3e74(%rip), %rsi      # 0x96e7
movq %r15, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x21d0
jmp 0x582e
leaq 0x10(%r14), %rax
cmpq %rax, %rbx
jne 0x5894
leaq 0x3b0c(%rip), %rdx      # 0x939e
jmp 0x58ad
leaq 0x18(%r14), %rax
cmpq %rax, %rbx
leaq 0x3b13(%rip), %rax      # 0x93b5
leaq 0x3be1(%rip), %rdx      # 0x948a
cmoveq %rax, %rdx
movl 0x48(%r14), %ecx
movq 0x40(%r14), %r8
leaq 0x3bb2(%rip), %rsi      # 0x946e
xorl %eax, %eax
callq 0x21d0
movq (%r12), %rdi
callq 0x2220
jmp 0x5757