// File: /workspace/github_c_makefile_star2_O0/wuxb45[P]SLB/lib1.c
// Function: kvmap_api_helper_map
static int
kvmap_api_helper_map(int argc, char ** const argv, struct kvmap_api ** const out, struct kvmap_mm * const mm)
{
  if (argc < 1) {
    return -1;
  }
  struct kvmap_api * tmp = NULL;
  int used = 0;
  if (strcmp("kvmap2", argv[0]) == 0) {
    tmp = kvmap2_api_create(kvmap2_create(mm));
    used = 1;
  } else if (strcmp("cuckoo", argv[0]) == 0) {
    tmp = cuckoo_api_create(cuckoo_create(mm));
    used = 1;
  } else if (strcmp("skiplist", argv[0]) == 0) {
    tmp = skiplist_api_create(skiplist_create(mm));
    used = 1;
  } else if (strcmp("chainmap", argv[0]) == 0) {
    tmp = chainmap_api_create(chainmap_create(mm));
    used = 1;
  } else if (strcmp("bptree", argv[0]) == 0) {
    tmp = bptree_api_create(bptree_create(mm));
    used = 1;
  } else if (strcmp("tcpmap", argv[0]) == 0) {
    if (argc < 3) return -1;
    tmp = tcpmap_api_create(tcpmap_create(argv[1], atoi(argv[2])));
    used = 3;
  }
  if (used > 0 && tmp) {
    *out = tmp;
    return used;
  } else {
    return -1;
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpl $0x1, -0x8(%rbp)
jge 0xe6f9
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xe8b1
movq $0x0, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rsi
leaq 0xd051(%rip), %rdi      # 0x1b767
callq 0x62d0
cmpl $0x0, %eax
jne 0xe741
movq -0x20(%rbp), %rdi
callq 0xed90
movq %rax, %rdi
callq 0x107a0
movq %rax, -0x28(%rbp)
movl $0x1, -0x2c(%rbp)
jmp 0xe88a
movq -0x10(%rbp), %rax
movq (%rax), %rsi
leaq 0xd01f(%rip), %rdi      # 0x1b76e
callq 0x62d0
cmpl $0x0, %eax
jne 0xe77a
movq -0x20(%rbp), %rdi
callq 0x10870
movq %rax, %rdi
callq 0x11ac0
movq %rax, -0x28(%rbp)
movl $0x1, -0x2c(%rbp)
jmp 0xe888
movq -0x10(%rbp), %rax
movq (%rax), %rsi
leaq 0xcfed(%rip), %rdi      # 0x1b775
callq 0x62d0
cmpl $0x0, %eax
jne 0xe7b3
movq -0x20(%rbp), %rdi
callq 0x11cc0
movq %rax, %rdi
callq 0x12960
movq %rax, -0x28(%rbp)
movl $0x1, -0x2c(%rbp)
jmp 0xe886
movq -0x10(%rbp), %rax
movq (%rax), %rsi
leaq 0xcfbd(%rip), %rdi      # 0x1b77e
callq 0x62d0
cmpl $0x0, %eax
jne 0xe7ec
movq -0x20(%rbp), %rdi
callq 0x12a30
movq %rax, %rdi
callq 0x13780
movq %rax, -0x28(%rbp)
movl $0x1, -0x2c(%rbp)
jmp 0xe884
movq -0x10(%rbp), %rax
movq (%rax), %rsi
leaq 0xcf8d(%rip), %rdi      # 0x1b787
callq 0x62d0
cmpl $0x0, %eax
jne 0xe822
movq -0x20(%rbp), %rdi
callq 0x13850
movq %rax, %rdi
callq 0x14680
movq %rax, -0x28(%rbp)
movl $0x1, -0x2c(%rbp)
jmp 0xe882
movq -0x10(%rbp), %rax
movq (%rax), %rsi
leaq 0xcf5e(%rip), %rdi      # 0x1b78e
callq 0x62d0
cmpl $0x0, %eax
jne 0xe880
cmpl $0x3, -0x8(%rbp)
jge 0xe849
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xe8b1
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x64b0
movq -0x38(%rbp), %rdi
movl %eax, %esi
callq 0x14750
movq %rax, %rdi
callq 0x14c20
movq %rax, -0x28(%rbp)
movl $0x3, -0x2c(%rbp)
jmp 0xe882
jmp 0xe884
jmp 0xe886
jmp 0xe888
jmp 0xe88a
cmpl $0x0, -0x2c(%rbp)
jle 0xe8aa
cmpq $0x0, -0x28(%rbp)
je 0xe8aa
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movl -0x2c(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0xe8b1
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)