// File: /workspace/github_cpp_makefile_star2_O2/mh0fm4[P]SCDC/src/components/dataprov/dataprov_pool.cc
// Function: scdc_dataprov_pool::open(char const*, char const*, scdc_args*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
scdc_dataprov *scdc_dataprov_pool::open(const char *base_path, const char *conf, scdc_args *args, scdc_result &result)
{
  SCDC_TRACE("open: base_path: '" << base_path << "', conf: '" << conf << "'");

  stringlist confs(':', conf);
  string dp_type = confs.front_pop();

  if (dp_type == "fs") // deprecated
  {
    string s = confs.front();
    if (s == "access")
    {
      confs.front_pop();
      dp_type = "fs_access";

    } else if (s == "store")
    {
      confs.front_pop();
      dp_type = "fs_store";

    } else dp_type = "fs_access";

  } else if (dp_type == "mysql")
  {
    string s = confs.front();
    if (s == "store")
    {
      confs.front_pop();
      dp_type = "mysql_store";

    } else dp_type = "mysql_store";

  } else if (dp_type == "webdav")
  {
    string s = confs.front();
    if (s == "access")
    {
      confs.front_pop();
      dp_type = "webdav_access";

    } else if (s == "store")
    {
      confs.front_pop();
      dp_type = "webdav_store";

    } else dp_type = "webdav_access";

  } else if (dp_type == "nfs")
  {
    string s = confs.front();
    if (s == "access")
    {
      confs.front_pop();
      dp_type = "nfs_access";

    } else if (s == "store")
    {
      confs.front_pop();
      dp_type = "nfs_store";

    } else dp_type = "nfs_access";

  } else if (dp_type == "access")
  {
    string s = confs.front();
    if (s == "stub")
    {
      confs.front_pop();
      dp_type = "access_stub";

    } else if (s == "fs")
    {
      confs.front_pop();
      dp_type = "access_fs";

    } else if (s == "nfs")
    {
      confs.front_pop();
      dp_type = "access_nfs";

    } else if (s == "webdav")
    {
      confs.front_pop();
      dp_type = "access_webdav";

    } else if (s == "none")
    {
      confs.front_pop();
      dp_type = "access_none";

    } else dp_type = "access_none";

  } else if (dp_type == "store")
  {
    string s = confs.front();
    if (s == "stub")
    {
      confs.front_pop();
      dp_type = "store_stub";

    } else if (s == "mem")
    {
      confs.front_pop();
      dp_type = "store_mem";

    } else if (s == "fs")
    {
      confs.front_pop();
      dp_type = "store_fs";

    } else if (s == "nfs")
    {
      confs.front_pop();
      dp_type = "store_nfs";

    } else if (s == "webdav")
    {
      confs.front_pop();
      dp_type = "store_webdav";

    } else if (s == "mysql")
    {
      confs.front_pop();
      dp_type = "store_mysql";

    } else if (s == "none")
    {
      confs.front_pop();
      dp_type = "store_none";

    } else dp_type = "store_none";

  } else if (dp_type == "jobrun")
  {
    string s = confs.front();
    if (s == "system")
    {
      confs.front_pop();
      dp_type = "jobrun_system";

    } else if (s == "handler")
    {
      confs.front_pop();
      dp_type = "jobrun_handler";

    } else if (s == "relay")
    {
      confs.front_pop();
      dp_type = "jobrun_relay";

    } else dp_type = "jobrun_system";
  }

  scdc_dataprov *dataprov = 0;

  if (dp_type == "access_stub") dataprov = new scdc_dataprov_access_stub();
  else if (dp_type == "access_fs" || dp_type == "fs_access") dataprov = new scdc_dataprov_access_fs();
  else if (dp_type == "store_stub") dataprov = new scdc_dataprov_store_stub();
  else if (dp_type == "store_mem") dataprov = new scdc_dataprov_store_mem();
  else if (dp_type == "store_fs" || dp_type == "fs_store") dataprov = new scdc_dataprov_store_fs();
  else if (dp_type == "fs2_access") dataprov = new scdc_dataprov_fs2_access(); // deprecated
  else if (dp_type == "fs2_store") dataprov = new scdc_dataprov_fs2_store(); // deprecated
#if USE_MYSQL
  else if (dp_type == "mysql_store" || dp_type == "store_mysql") dataprov = new scdc_dataprov_mysql_store();
#endif
#if USE_WEBDAV
  else if (dp_type == "webdav_access" || dp_type == "access_webdav") dataprov = new scdc_dataprov_access_webdav();
  else if (dp_type == "webdav_store" || dp_type == "store_webdav") dataprov = new scdc_dataprov_store_webdav();
  else if (dp_type == "webdav2_access") dataprov = new scdc_dataprov_webdav2_access();
#endif
#if USE_NFS
  else if (dp_type == "nfs_access" || dp_type == "access_nfs") dataprov = new scdc_dataprov_access_nfs();
  else if (dp_type == "nfs_store" || dp_type == "store_nfs") dataprov = new scdc_dataprov_store_nfs();
  else if (dp_type == "nfs2_store") dataprov = new scdc_dataprov_nfs2_store();
#endif
  else if (dp_type == "bench" || dp_type == "gen") dataprov = new scdc_dataprov_bench();
  else if (dp_type == "hook" || dp_type == "config") dataprov = new scdc_dataprov_hook();
  else if (dp_type == "register") dataprov = new scdc_dataprov_register();
  else if (dp_type == "relay") dataprov = new scdc_dataprov_relay();
  else if (dp_type == "jobrun_system") dataprov = new scdc_dataprov_jobrun_system();
  else if (dp_type == "jobrun_handler") dataprov = new scdc_dataprov_jobrun_handler();
  else if (dp_type == "jobrun_relay") dataprov = new scdc_dataprov_jobrun_relay();
  else SCDC_ERROR("unknown dataprov '" << dp_type << "'");

  if (!dataprov) return 0;

  /* use the given config string as type instead of the implementation defined type (i.e., "fs:store" and "store:fs" use the same implementation, but different types) */
  dataprov->set_type(dp_type);

  if (!dataprov->open(confs.conflate().c_str(), args, result))
  {
    delete dataprov;
    return 0;
  }

  pair<iterator, bool> ret = insert(value_type(trim(base_path, "/"), dataprov));

  if (!ret.second)
  {
    delete dataprov;
    return 0;
  }

  return dataprov;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x398, %rsp            # imm = 0x398
movq %r8, %r15
movq %rcx, %r12
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x50(%rsp), %r13
pushq $0x3a
popq %rsi
pushq $-0x1
popq %rcx
movq %r13, %rdi
callq 0x19b64
leaq 0x28(%rsp), %rdi
movq %r13, %rsi
callq 0x19ba0
leaq 0x37f84(%rip), %rsi     # 0x5342c
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1b4fb
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x19f8c
leaq 0x37e3a(%rip), %rsi     # 0x53304
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1b5c3
leaq 0x378(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x35e9e(%rip), %rbp     # 0x51394
jmp 0x1b5f6
leaq 0x35f1c(%rip), %rsi     # 0x5141e
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1b565
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x19f8c
leaq 0x365e7(%rip), %rsi     # 0x51b0b
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1b54f
leaq 0xd8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x19ba0
leaq 0xd8(%rsp), %rdi
callq 0xb230
leaq 0x35e16(%rip), %rsi     # 0x5136c
leaq 0x28(%rsp), %rdi
callq 0xba40
jmp 0x1b672
leaq 0x35ea5(%rip), %rsi     # 0x51411
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1b600
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x19f8c
leaq 0x37d72(%rip), %rsi     # 0x53304
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1b917
leaq 0x338(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x35dba(%rip), %rbp     # 0x51378
jmp 0x1b94a
leaq 0x36541(%rip), %rsi     # 0x51b0b
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1b65e
leaq 0x358(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x35da9(%rip), %rbp     # 0x5139f
movq %r13, %rdi
callq 0xb230
jmp 0x1b665
leaq 0x35e00(%rip), %rsi     # 0x51407
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1b8b9
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x19f8c
leaq 0x37cd7(%rip), %rsi     # 0x53304
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1b9e8
leaq 0x2f8(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x35d3a(%rip), %rbp     # 0x51393
jmp 0x1ba1b
leaq 0x35d2f(%rip), %rbp     # 0x51394
leaq 0x28(%rsp), %rdi
movq %rbp, %rsi
callq 0xba40
movq %rsp, %rdi
callq 0xb230
leaq 0x35d27(%rip), %rsi     # 0x513a8
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1b6a4
pushq $0x68
popq %rdi
callq 0xb540
movq %rax, %r13
movq %rax, %rdi
callq 0x1c728
jmp 0x1b6e7
leaq 0x35d09(%rip), %rsi     # 0x513b4
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
jne 0x1b6d2
leaq 0x35cd4(%rip), %rsi     # 0x51394
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1b888
movl $0x88, %edi
callq 0xb540
movq %rax, %r13
movq %rax, %rdi
callq 0x1c7ba
leaq 0x8(%r13), %rdi
leaq 0x28(%rsp), %rsi
callq 0xb2e0
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1ca32
movq (%rsp), %rsi
movq (%r13), %rax
movq %r13, %rdi
movq %r12, %rdx
movq %r15, %rcx
callq *0x18(%rax)
movl %eax, %ebp
movq %rsp, %rdi
callq 0xb230
testb %bpl, %bpl
je 0x1b852
leaq 0xb8(%rsp), %rdi
leaq 0x4f(%rsp), %rdx
movq %r14, %rsi
callq 0x1a132
leaq 0x98(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
callq 0xb750
leaq 0x35bf3(%rip), %rsi     # 0x5134d
leaq 0x98(%rsp), %rdi
pushq $-0x1
popq %rdx
callq 0xb9e0
cmpq $-0x1, %rax
je 0x1b788
incq %rax
leaq 0x98(%rsp), %rdi
pushq $-0x1
popq %rdx
movq %rax, %rsi
callq 0xb0e0
jmp 0x1b79c
andq $0x0, 0xa0(%rsp)
movq 0x98(%rsp), %rax
movb $0x0, (%rax)
leaq 0x98(%rsp), %rdi
callq 0x1c704
leaq 0x78(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0xb750
leaq 0x98(%rsp), %rdi
callq 0xb230
leaq 0xb8(%rsp), %rdi
callq 0xb230
leaq 0x10(%rsp), %rcx
movq %rcx, -0x10(%rcx)
leaq 0x88(%rsp), %rax
movq -0x10(%rax), %rdx
cmpq %rax, %rdx
je 0x1b802
movq %rdx, (%rsp)
movq 0x88(%rsp), %rcx
movq %rcx, 0x10(%rsp)
jmp 0x1b808
movups (%rax), %xmm0
movups %xmm0, (%rcx)
movq 0x80(%rsp), %rcx
movq %rax, 0x78(%rsp)
andq $0x0, 0x80(%rsp)
movq %rsp, %rsi
movq %rcx, 0x8(%rsi)
movb $0x0, 0x88(%rsp)
movq %r13, 0x20(%rsi)
movq %rbx, %rdi
callq 0x1cce2
movl %edx, %ebx
movq %rsp, %rdi
callq 0xb230
leaq 0x78(%rsp), %rdi
callq 0xb230
testb $0x1, %bl
jne 0x1b85f
movq (%r13), %rax
movq %r13, %rdi
callq *0x8(%rax)
xorl %r13d, %r13d
leaq 0x28(%rsp), %rdi
callq 0xb230
leaq 0x50(%rsp), %rdi
callq 0x19ef4
movq %r13, %rax
addq $0x398, %rsp            # imm = 0x398
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x35b54(%rip), %rsi     # 0x513e3
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1b957
pushq $0x68
popq %rdi
callq 0xb540
movq %rax, %r13
movq %rax, %rdi
callq 0x1c85c
jmp 0x1b6e7
leaq 0x37a44(%rip), %rsi     # 0x53304
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1b98a
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x19f8c
leaq 0x365d5(%rip), %rsi     # 0x51ebb
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1bae7
leaq 0x2b8(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x35a96(%rip), %rbp     # 0x513a8
jmp 0x1bd6a
leaq 0x361ed(%rip), %rsi     # 0x51b0b
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1ba28
leaq 0x318(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x35a3c(%rip), %rbp     # 0x51386
movq %r13, %rdi
callq 0xb230
jmp 0x1ba2f
leaq 0x35a90(%rip), %rsi     # 0x513ee
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1ba41
movl $0x80, %edi
callq 0xb540
movq %rax, %r13
movq %rax, %rdi
callq 0x1c8ee
jmp 0x1b6e7
leaq 0x3617a(%rip), %rsi     # 0x51b0b
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1ba89
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x19f8c
leaq 0x36504(%rip), %rsi     # 0x51ebb
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1bb34
leaq 0x218(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x35a00(%rip), %rbp     # 0x513e3
jmp 0x1beba
leaq 0x3611c(%rip), %rsi     # 0x51b0b
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1bb1b
leaq 0x2d8(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x35983(%rip), %rbp     # 0x5139e
movq %r13, %rdi
callq 0xb230
jmp 0x1bb22
leaq 0x35949(%rip), %rbp     # 0x51378
leaq 0x28(%rsp), %rdi
movq %rbp, %rsi
callq 0xba40
jmp 0x1b672
leaq 0x359b0(%rip), %rsi     # 0x513f8
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
jne 0x1ba6f
leaq 0x35942(%rip), %rsi     # 0x5139f
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1bba4
movl $0x88, %edi
callq 0xb540
movq %rax, %r13
movq %rax, %rdi
callq 0x1c990
jmp 0x1b6e7
leaq 0x3599f(%rip), %rsi     # 0x5142f
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1b67a
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x19f8c
leaq 0x3837b(%rip), %rsi     # 0x53e31
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1bbd7
leaq 0x138(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x35954(%rip), %rbp     # 0x51436
jmp 0x1bce5
leaq 0x3793e(%rip), %rsi     # 0x5342c
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1bb6c
leaq 0x298(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x3589e(%rip), %rbp     # 0x513b4
jmp 0x1bd6a
leaq 0x35871(%rip), %rbp     # 0x51393
leaq 0x28(%rsp), %rdi
movq %rbp, %rsi
callq 0xba40
jmp 0x1b672
leaq 0x358b9(%rip), %rsi     # 0x513f4
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1bc0f
leaq 0x1f8(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x35887(%rip), %rbp     # 0x513ee
jmp 0x1beba
leaq 0x35894(%rip), %rsi     # 0x51407
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1bc47
leaq 0x278(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x3581f(%rip), %rbp     # 0x513be
jmp 0x1bd6a
leaq 0x358b5(%rip), %rsi     # 0x51460
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1bc7f
movl $0x88, %edi
callq 0xb540
movq %rax, %r13
movq %rax, %rdi
callq 0x3798c
jmp 0x1b6e7
leaq 0x38d60(%rip), %rsi     # 0x5493e
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1bcb2
leaq 0x118(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x3583a(%rip), %rbp     # 0x51444
jmp 0x1bce5
leaq 0x37816(%rip), %rsi     # 0x5342c
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1bcff
leaq 0x1d8(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x357b6(%rip), %rbp     # 0x513f8
jmp 0x1beba
leaq 0x357c3(%rip), %rsi     # 0x51411
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1bd37
leaq 0x258(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x3574f(%rip), %rbp     # 0x513c9
jmp 0x1bd6a
leaq 0x357e5(%rip), %rsi     # 0x5146b
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1bd84
movl $0x88, %edi
callq 0xb540
movq %rax, %r13
movq %rax, %rdi
callq 0x37c50
jmp 0x1b6e7
leaq 0x357a1(%rip), %rsi     # 0x5145a
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1bdca
leaq 0xf8(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x3576e(%rip), %rbp     # 0x51453
movq %r13, %rdi
callq 0xb230
leaq 0x28(%rsp), %rdi
movq %rbp, %rsi
callq 0xba40
jmp 0x1b672
leaq 0x35701(%rip), %rsi     # 0x51407
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1bdd6
leaq 0x1b8(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x356cf(%rip), %rbp     # 0x51401
jmp 0x1beba
leaq 0x356ec(%rip), %rsi     # 0x5142a
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1be0a
leaq 0x238(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x3566d(%rip), %rbp     # 0x513d7
movq %r13, %rdi
callq 0xb230
leaq 0x28(%rsp), %rdi
movq %rbp, %rsi
callq 0xba40
jmp 0x1b672
leaq 0x356ea(%rip), %rsi     # 0x51475
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
jne 0x1bdb2
leaq 0x356db(%rip), %rsi     # 0x5147b
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1be47
pushq $0x68
popq %rdi
callq 0xb540
movq %rax, %r13
movq %rax, %rdi
callq 0x30ca4
jmp 0x1b6e7
leaq 0x35665(%rip), %rbp     # 0x51436
jmp 0x1bced
leaq 0x35634(%rip), %rsi     # 0x51411
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1be16
leaq 0x198(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x35606(%rip), %rbp     # 0x5140b
jmp 0x1beba
leaq 0x355c6(%rip), %rbp     # 0x513d7
jmp 0x1bd72
leaq 0x35601(%rip), %rsi     # 0x5141e
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1be8b
leaq 0x178(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x355d3(%rip), %rbp     # 0x51418
jmp 0x1beba
leaq 0x37a52(%rip), %rsi     # 0x538a0
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
jne 0x1be71
leaq 0x35459(%rip), %rsi     # 0x512bc
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1bedd
movl $0xc0, %edi
callq 0xb540
movq %rax, %r13
movq %rax, %rdi
callq 0x3ae9c
jmp 0x1b6e7
leaq 0x35598(%rip), %rsi     # 0x5142a
movq %rsp, %rdi
callq 0x19be0
testb %al, %al
je 0x1bed4
leaq 0x158(%rsp), %r13
leaq 0x50(%rsp), %rsi
movq %r13, %rdi
callq 0x19ba0
leaq 0x3556a(%rip), %rbp     # 0x51424
movq %r13, %rdi
callq 0xb230
leaq 0x28(%rsp), %rdi
movq %rbp, %rsi
callq 0xba40
jmp 0x1b672
leaq 0x35549(%rip), %rbp     # 0x51424
jmp 0x1bec2
leaq 0x3559b(%rip), %rsi     # 0x5147f
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1bf0c
movl $0x98, %edi
callq 0xb540
movq %rax, %r13
movq %rax, %rdi
callq 0x1cfc4
jmp 0x1b6e7
leaq 0x35547(%rip), %rsi     # 0x5145a
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1bf3b
movl $0xc8, %edi
callq 0xb540
movq %rax, %r13
movq %rax, %rdi
callq 0x1ddc0
jmp 0x1b6e7
leaq 0x354f4(%rip), %rsi     # 0x51436
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1bf6a
movl $0x2a8, %edi            # imm = 0x2A8
callq 0xb540
movq %rax, %r13
movq %rax, %rdi
callq 0x3e6b8
jmp 0x1b6e7
leaq 0x354d3(%rip), %rsi     # 0x51444
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1bf99
movl $0x280, %edi            # imm = 0x280
callq 0xb540
movq %rax, %r13
movq %rax, %rdi
callq 0x3fb34
jmp 0x1b6e7
leaq 0x354b3(%rip), %rsi     # 0x51453
leaq 0x28(%rsp), %rdi
callq 0x19be0
testb %al, %al
je 0x1bfc8
movl $0x140, %edi            # imm = 0x140
callq 0xb540
movq %rax, %r13
movq %rax, %rdi
callq 0x43ef4
jmp 0x1b6e7
leaq 0x595b1(%rip), %rbx     # 0x75580
movq (%rbx), %rdi
cmpq $0x0, 0x18(%rdi)
je 0x1b85c
addq $0x20, %rdi
callq 0xb800
movq (%rbx), %rax
movq 0x18(%rax), %rdi
leaq 0x35494(%rip), %rsi     # 0x51488
callq 0xb520
leaq 0x35495(%rip), %rsi     # 0x51495
movq %rax, %rdi
callq 0xb520
leaq 0x35496(%rip), %rsi     # 0x514a5
movq %rax, %rdi
callq 0xb520
leaq 0x28(%rsp), %rsi
movq %rax, %rdi
callq 0xb490
leaq 0x37338(%rip), %rsi     # 0x53363
movq %rax, %rdi
callq 0xb520
movq %rax, %rdi
callq 0xb270
movq (%rbx), %rdi
addq $0x20, %rdi
callq 0xb3e0
jmp 0x1b85c
movq %rax, %rbx
movl $0x140, %esi            # imm = 0x140
jmp 0x1c0e9
movq %rax, %rbx
movl $0x280, %esi            # imm = 0x280
jmp 0x1c0e9
movq %rax, %rbx
movl $0x2a8, %esi            # imm = 0x2A8
jmp 0x1c0e9
movq %rax, %rbx
movl $0xc8, %esi
jmp 0x1c0e9
movq %rax, %rbx
movl $0x98, %esi
jmp 0x1c0e9
movq %rax, %rbx
movl $0xc0, %esi
jmp 0x1c0e9
jmp 0x1c0e3
jmp 0x1c0be
jmp 0x1c0be
jmp 0x1c125
jmp 0x1c0f7
jmp 0x1c125
jmp 0x1c0be
jmp 0x1c0f7
movq %rax, %rbx
movl $0x80, %esi
jmp 0x1c0e9
jmp 0x1c125
jmp 0x1c0f7
jmp 0x1c0e3
jmp 0x1c125
jmp 0x1c0f7
jmp 0x1c125
jmp 0x1c0f7
jmp 0x1c125
movq %rax, %rbx
movl $0x88, %esi
jmp 0x1c0e9
jmp 0x1c0f7
movq %rax, %rbx
movq %rsp, %rdi
callq 0xb230
leaq 0x78(%rsp), %rdi
jmp 0x1c11e
movq %rax, %rbx
jmp 0x1c116
jmp 0x1c125
movq %rax, %rbx
pushq $0x68
popq %rsi
movq %r13, %rdi
callq 0xb550
jmp 0x1c128
jmp 0x1c125
jmp 0x1c0f7
movq %rax, %rbx
movq %rsp, %rdi
jmp 0x1c11e
jmp 0x1c125
movq %rax, %rbx
jmp 0x1c132
movq %rax, %rbx
leaq 0x98(%rsp), %rdi
callq 0xb230
leaq 0xb8(%rsp), %rdi
callq 0xb230
jmp 0x1c128
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0xb230
leaq 0x50(%rsp), %rdi
callq 0x19ef4
movq %rbx, %rdi
callq 0xb9a0