// File: /workspace/github_c_makefile_star2_O0/yhg926[P]public_kssd/command_reverse.c
// Function: parse_reverse
static error_t parse_reverse(int key, char* arg, struct argp_state* state) {
  struct arg_reverse* reverse = state->input;
  assert( reverse );
  assert( reverse->global );
  switch(key)
  {
    case 'L':
  {
   struct stat path_stat;
   if( stat(arg,&path_stat) >=0 && S_ISREG(path_stat.st_mode)){
        if(strlen(arg) < PATHLEN )
          strcpy(reverse_opt_val.shufile,arg);
        else
           err(errno,"-L argument path should not longer than %d",PATHLEN);
      }
   break;
  }
  case 'o':
    {
      if(strlen(arg) > PATHLEN) {
        err(errno,"the outdir path should not longer than %d", PATHLEN);
        exit(EXIT_FAILURE);
      };
      strcpy(reverse_opt_val.outdir,arg);
      break;
    }
  case 'p':
    {
#ifdef _OPENMP
        reverse_opt_val.p = atoi(arg) ;
#else
      warnx("This version of kssd was built without OpenMP and "
          "thus does not support multi threading. Ignoring -p %d",atoi(arg));
      break;
#endif
    }
    break;
  case 'b':
  {
   reverse_opt_val.byreads = true;
  }
  case ARGP_KEY_ARGS:
    {
    reverse_opt_val.num_remaining_args = state->argc - state->next;
     reverse_opt_val.remaining_args = state->argv + state->next;
     break;
  }
    case ARGP_KEY_NO_ARGS:
    {
      if(state->argc < 2)
        {
        printf("\v");
        argp_state_help(state,stdout,ARGP_HELP_SHORT_USAGE);
        printf("\v");
        argp_state_help(state,stdout,ARGP_HELP_LONG);
        printf("\v");
        exit(0);
        };
        return EINVAL;
    }
   break;
   default:
      return ARGP_ERR_UNKNOWN;
  }
  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x11cdb
jmp 0x11cfa
leaq 0xbf89(%rip), %rdi      # 0x1dc6b
leaq 0xc0fc(%rip), %rsi      # 0x1dde5
movl $0x3a, %edx
leaq 0xc102(%rip), %rcx      # 0x1ddf7
callq 0x31e0
movq -0x20(%rbp), %rax
cmpq $0x0, (%rax)
je 0x11d06
jmp 0x11d25
leaq 0xc122(%rip), %rdi      # 0x1de2f
leaq 0xc0d1(%rip), %rsi      # 0x1dde5
movl $0x3b, %edx
leaq 0xc0d7(%rip), %rcx      # 0x1ddf7
callq 0x31e0
movl -0x8(%rbp), %eax
movl %eax, -0xb4(%rbp)
subl $0x4c, %eax
je 0x11d91
jmp 0x11d35
movl -0xb4(%rbp), %eax
subl $0x62, %eax
je 0x11e5a
jmp 0x11d46
movl -0xb4(%rbp), %eax
subl $0x6f, %eax
je 0x11dfc
jmp 0x11d57
movl -0xb4(%rbp), %eax
subl $0x70, %eax
je 0x11e3c
jmp 0x11d68
movl -0xb4(%rbp), %eax
subl $0x1000002, %eax        # imm = 0x1000002
je 0x11e95
jmp 0x11d7b
movl -0xb4(%rbp), %eax
subl $0x1000006, %eax        # imm = 0x1000006
je 0x11e61
jmp 0x11f09
movq -0x10(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x32b0
cmpl $0x0, %eax
jl 0x11df7
movl -0x98(%rbp), %eax
andl $0xf000, %eax           # imm = 0xF000
cmpl $0x8000, %eax           # imm = 0x8000
jne 0x11df7
movq -0x10(%rbp), %rdi
callq 0x3110
cmpq $0x100, %rax            # imm = 0x100
jae 0x11ddb
movq -0x10(%rbp), %rsi
leaq 0x1150c(%rip), %rdi     # 0x232e0
callq 0x3070
jmp 0x11df5
callq 0x3050
movl (%rax), %edi
leaq 0xbd18(%rip), %rsi      # 0x1db01
movl $0x100, %edx            # imm = 0x100
movb $0x0, %al
callq 0x3300
jmp 0x11df7
jmp 0x11f12
movq -0x10(%rbp), %rdi
callq 0x3110
cmpq $0x100, %rax            # imm = 0x100
jbe 0x11e27
callq 0x3050
movl (%rax), %edi
leaq 0xbdf7(%rip), %rsi      # 0x1dc12
movl $0x100, %edx            # imm = 0x100
movb $0x0, %al
callq 0x3300
movq -0x10(%rbp), %rsi
leaq 0x115ae(%rip), %rdi     # 0x233e0
callq 0x3070
jmp 0x11f12
movq -0x10(%rbp), %rdi
callq 0x33e0
movl %eax, %esi
leaq 0xbbe1(%rip), %rdi      # 0x1da2f
movb $0x0, %al
callq 0x3160
jmp 0x11f12
movb $0x1, 0x11683(%rip)     # 0x234e4
movq -0x18(%rbp), %rax
movl 0x8(%rax), %eax
movq -0x18(%rbp), %rcx
subl 0x18(%rcx), %eax
movl %eax, 0x11673(%rip)     # 0x234e8
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x18(%rbp), %rcx
movslq 0x18(%rcx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, 0x1165d(%rip)     # 0x234f0
jmp 0x11f12
movq -0x18(%rbp), %rax
cmpl $0x2, 0x8(%rax)
jge 0x11f00
leaq 0xa3fc(%rip), %rdi      # 0x1c2a2
movb $0x0, %al
callq 0x3150
movq -0x18(%rbp), %rdi
movq 0x10120(%rip), %rax     # 0x21fd8
movq (%rax), %rsi
movl $0x2, %edx
callq 0x30c0
leaq 0xa3d6(%rip), %rdi      # 0x1c2a2
movb $0x0, %al
callq 0x3150
movq -0x18(%rbp), %rdi
movq 0x100fa(%rip), %rax     # 0x21fd8
movq (%rax), %rsi
movl $0x8, %edx
callq 0x30c0
leaq 0xa3b0(%rip), %rdi      # 0x1c2a2
movb $0x0, %al
callq 0x3150
xorl %edi, %edi
callq 0x3410
movl $0x16, -0x4(%rbp)
jmp 0x11f19
movl $0x7, -0x4(%rbp)
jmp 0x11f19
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0xc0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop