// File: /workspace/github_c_makefile_star2_O0/yhg926[P]public_kssd/command_set.c
// Function: cmd_set
int cmd_set(struct argp_state* state)
{
  struct arg_set set = { 0, };
  int argc = state->argc - state->next + 1;
  char** argv = &state->argv[state->next - 1];
  char* argv0 = argv[0];
  set.global = state->input;
 argv[0] = malloc(strlen(state->name) + strlen(" set") + 1);
  if(!argv[0])
    argp_failure(state, 1, ENOMEM, 0);
 sprintf(argv[0], "%s set", state->name);
  argp_parse(&argp_set, argc, argv, ARGP_IN_ORDER, &argc, &set);
 free(argv[0]);
  argv[0] = argv0;
  state->next += argc - 1;
 if(argc >1){
  if(set_opt.operation == 2)
   return sketch_union() ;
   if(set_opt.operation == 3)
   return uniq_sketch_union() ;
  if(set_opt.operation == 4)
   return combin_pans();
  if(set_opt.operation == 0 || set_opt.operation == 1 )
   return sketch_operate() ;
  else {
   if(set_opt.P) print_gnames();
   else if (set_opt.subsetf[0]!='\0') return grouping_genomes(set_opt.subsetf);
   else printf("set operation use : -u, -q, -i or -s\n");
   return -1 ;
  }
 }
 else
  return -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
leaq -0x20(%rbp), %rdi
xorl %esi, %esi
movl $0x10, %edx
callq 0x31f0
movq -0x10(%rbp), %rax
movl 0x8(%rax), %eax
movq -0x10(%rbp), %rcx
subl 0x18(%rcx), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rbp), %rcx
movl 0x18(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rdi
callq 0x3110
movq %rax, %rdi
addq $0x4, %rdi
addq $0x1, %rdi
callq 0x3310
movq %rax, %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x30(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x11fe1
movq -0x10(%rbp), %rdi
movl $0x1, %esi
movl $0xc, %edx
xorl %eax, %eax
movl %eax, %ecx
movb $0x0, %al
callq 0x3450
movq -0x30(%rbp), %rax
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x40(%rax), %rdx
leaq 0xbe51(%rip), %rsi      # 0x1de48
movb $0x0, %al
callq 0x3400
movl -0x24(%rbp), %esi
movq -0x30(%rbp), %rdx
leaq 0x11a6c(%rip), %rdi     # 0x23a78
movl $0x8, %ecx
leaq -0x24(%rbp), %r8
leaq -0x20(%rbp), %r9
callq 0x3250
movq -0x30(%rbp), %rax
movq (%rax), %rdi
callq 0x3040
movq -0x38(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movq -0x10(%rbp), %rax
addl 0x18(%rax), %ecx
movl %ecx, 0x18(%rax)
cmpl $0x1, -0x24(%rbp)
jle 0x120f7
cmpl $0x2, 0x1160a(%rip)     # 0x23660
jne 0x12065
callq 0x12de0
movl %eax, -0x4(%rbp)
jmp 0x120fe
cmpl $0x3, 0x115f4(%rip)     # 0x23660
jne 0x1207b
callq 0x13c50
movl %eax, -0x4(%rbp)
jmp 0x120fe
cmpl $0x4, 0x115de(%rip)     # 0x23660
jne 0x1208e
callq 0x14290
movl %eax, -0x4(%rbp)
jmp 0x120fe
cmpl $0x0, 0x115cb(%rip)     # 0x23660
je 0x120a0
cmpl $0x1, 0x115c2(%rip)     # 0x23660
jne 0x120aa
callq 0x13340
movl %eax, -0x4(%rbp)
jmp 0x120fe
cmpl $0x0, 0x115b7(%rip)     # 0x23668
je 0x120ba
callq 0x14970
jmp 0x120ee
movsbl 0x117b7(%rip), %eax     # 0x23878
cmpl $0x0, %eax
je 0x120de
leaq 0x11593(%rip), %rdi     # 0x23660
addq $0x218, %rdi            # imm = 0x218
callq 0x12110
movl %eax, -0x4(%rbp)
jmp 0x120fe
leaq 0xbd6a(%rip), %rdi      # 0x1de4f
movb $0x0, %al
callq 0x3150
jmp 0x120ee
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x120fe
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)