// File: /workspace/github_cpp_makefile_star2_O3/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
movq %r13, %rdi
movl $0x3a, %esi
movq $-0x1, %rcx
callq 0x1b83e
leaq 0x28(%rsp), %rdi
movq %r13, %rsi
callq 0x1b878
leaq 0x4f2ba(%rip), %rsi     # 0x6c49c
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1d2e8
leaq 0x4d243(%rip), %rsi     # 0x6a43e
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1d335
leaq 0x4d21d(%rip), %rsi     # 0x6a431
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1d3aa
leaq 0x4d1fa(%rip), %rsi     # 0x6a427
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1d424
leaq 0x4f12e(%rip), %rsi     # 0x6c374
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1d4c1
leaq 0x4d917(%rip), %rsi     # 0x6ab76
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1d57d
leaq 0x4d1d7(%rip), %rsi     # 0x6a44f
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
jne 0x1da05
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1bb82
leaq 0x4fc03(%rip), %rsi     # 0x6cea1
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d7ac
leaq 0x506f9(%rip), %rsi     # 0x6d9ae
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d82a
leaq 0x4d1ae(%rip), %rsi     # 0x6a47a
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d8a5
leaq 0x4d173(%rip), %r13     # 0x6a456
jmp 0x1d8da
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1bb82
leaq 0x4f078(%rip), %rsi     # 0x6c374
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d3f7
leaq 0x4d863(%rip), %rsi     # 0x6ab76
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d46b
movl $0x9, %r13d
leaq 0x4d084(%rip), %rbp     # 0x6a3b4
jmp 0x1d4a6
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1bb82
leaq 0x4d82d(%rip), %rsi     # 0x6ab76
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
jne 0x1d388
leaq 0x118(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x128(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1d388
movq 0x128(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x28(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x4cff4(%rip), %rcx     # 0x6a38c
movl $0xb, %r8d
xorl %esi, %esi
callq 0xb870
jmp 0x1d9ea
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1bb82
leaq 0x4efb6(%rip), %rsi     # 0x6c374
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d54d
leaq 0x4d7a1(%rip), %rsi     # 0x6ab76
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d637
movl $0xd, %r13d
leaq 0x4cfa6(%rip), %rbp     # 0x6a398
jmp 0x1d672
leaq 0x378(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x388(%rsp), %rax
movq -0x10(%rax), %rdi
movl $0x9, %r13d
leaq 0x4cf92(%rip), %rbp     # 0x6a3b4
jmp 0x1d496
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1bb82
leaq 0x4ef3c(%rip), %rsi     # 0x6c374
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d68d
leaq 0x4d727(%rip), %rsi     # 0x6ab76
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d6e2
leaq 0x4cf4d(%rip), %r13     # 0x6a3b3
jmp 0x1d71c
leaq 0x358(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x368(%rsp), %rax
movq -0x10(%rax), %rdi
movl $0x8, %r13d
leaq 0x4cf29(%rip), %rbp     # 0x6a3bf
cmpq %rax, %rdi
je 0x1d4a6
movq (%rax), %rsi
incq %rsi
callq 0xb510
leaq 0x28(%rsp), %rdi
movq 0x8(%rdi), %rdx
xorl %esi, %esi
movq %rbp, %rcx
movq %r13, %r8
callq 0xb870
jmp 0x1d9ea
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1bb82
leaq 0x4da56(%rip), %rsi     # 0x6af2b
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d72e
leaq 0x4efb0(%rip), %rsi     # 0x6c49c
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d758
leaq 0x4cf24(%rip), %rsi     # 0x6a427
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d7d6
leaq 0x4cf17(%rip), %rsi     # 0x6a431
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d851
leaq 0x4cf19(%rip), %rsi     # 0x6a44a
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d8ec
leaq 0x4ceaf(%rip), %r13     # 0x6a3f7
jmp 0x1d921
leaq 0x338(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x348(%rsp), %rax
movq -0x10(%rax), %rdi
movl $0xd, %r13d
leaq 0x4ce20(%rip), %rbp     # 0x6a398
jmp 0x1d662
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1bb82
leaq 0x4d99a(%rip), %rsi     # 0x6af2b
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d782
leaq 0x4ce6c(%rip), %rsi     # 0x6a414
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d800
leaq 0x4eedd(%rip), %rsi     # 0x6c49c
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d87b
leaq 0x4ce51(%rip), %rsi     # 0x6a427
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d933
leaq 0x4ce44(%rip), %rsi     # 0x6a431
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d95a
leaq 0x4ce3a(%rip), %rsi     # 0x6a43e
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d981
leaq 0x4ce2f(%rip), %rsi     # 0x6a44a
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d9a8
leaq 0x4ce12(%rip), %r13     # 0x6a444
jmp 0x1d9dd
leaq 0x318(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x328(%rsp), %rax
movq -0x10(%rax), %rdi
movl $0xc, %r13d
leaq 0x4cd44(%rip), %rbp     # 0x6a3a6
cmpq %rax, %rdi
je 0x1d672
movq (%rax), %rsi
incq %rsi
callq 0xb510
leaq 0x28(%rsp), %rdi
movq 0x8(%rdi), %rdx
xorl %esi, %esi
movq %rbp, %rcx
movq %r13, %r8
callq 0xb870
jmp 0x1d9ea
leaq 0xf8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x108(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1d6c0
movq 0x108(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x28(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x4cce3(%rip), %rcx     # 0x6a3b3
movl $0xa, %r8d
xorl %esi, %esi
callq 0xb870
jmp 0x1d9ea
leaq 0xd8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0xe8(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4ccb7(%rip), %r13     # 0x6a3be
cmpq %rax, %rdi
je 0x1d71c
movq 0xe8(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x28(%rsp), %rdi
movq %r13, %rsi
callq 0xb720
jmp 0x1d9ea
leaq 0x2f8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x308(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cc75(%rip), %r13     # 0x6a3c8
jmp 0x1d911
leaq 0x2d8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x2e8(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cc57(%rip), %r13     # 0x6a3d4
jmp 0x1d911
leaq 0x258(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x268(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cc5c(%rip), %r13     # 0x6a403
jmp 0x1d9cd
leaq 0x178(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x188(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cc85(%rip), %r13     # 0x6a456
jmp 0x1d8ca
leaq 0x2b8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x2c8(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cbe3(%rip), %r13     # 0x6a3de
jmp 0x1d911
leaq 0x238(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x248(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cbe9(%rip), %r13     # 0x6a40e
jmp 0x1d9cd
leaq 0x158(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x168(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cc15(%rip), %r13     # 0x6a464
jmp 0x1d8ca
leaq 0x298(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x2a8(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cb73(%rip), %r13     # 0x6a3e9
jmp 0x1d911
leaq 0x218(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x228(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cb78(%rip), %r13     # 0x6a418
jmp 0x1d9cd
leaq 0x138(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x148(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cba9(%rip), %r13     # 0x6a473
cmpq %rax, %rdi
je 0x1d8da
movq (%rax), %rsi
incq %rsi
callq 0xb510
leaq 0x28(%rsp), %rdi
movq %r13, %rsi
callq 0xb720
jmp 0x1d9ea
leaq 0x278(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x288(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cae6(%rip), %r13     # 0x6a3f7
cmpq %rax, %rdi
je 0x1d921
movq (%rax), %rsi
incq %rsi
callq 0xb510
leaq 0x28(%rsp), %rdi
movq %r13, %rsi
callq 0xb720
jmp 0x1d9ea
leaq 0x1f8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x208(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cac9(%rip), %r13     # 0x6a421
jmp 0x1d9cd
leaq 0x1d8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x1e8(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4caac(%rip), %r13     # 0x6a42b
jmp 0x1d9cd
leaq 0x1b8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x1c8(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4ca92(%rip), %r13     # 0x6a438
jmp 0x1d9cd
leaq 0x198(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b878
leaq 0x1a8(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4ca77(%rip), %r13     # 0x6a444
cmpq %rax, %rdi
je 0x1d9dd
movq (%rax), %rsi
incq %rsi
callq 0xb510
leaq 0x28(%rsp), %rdi
movq %r13, %rsi
callq 0xb720
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1da05
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x4c9bc(%rip), %rsi     # 0x6a3c8
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1dc81
leaq 0x4c9af(%rip), %rsi     # 0x6a3d4
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1dc6a
leaq 0x4c976(%rip), %rsi     # 0x6a3b4
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1dc6a
leaq 0x4c9ac(%rip), %rsi     # 0x6a403
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1def8
leaq 0x4c99e(%rip), %rsi     # 0x6a40e
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1df2c
leaq 0x4c98f(%rip), %rsi     # 0x6a418
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1df12
leaq 0x4c91d(%rip), %rsi     # 0x6a3bf
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1df12
leaq 0x4c9c5(%rip), %rsi     # 0x6a480
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1df46
leaq 0x4c9b7(%rip), %rsi     # 0x6a48b
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1df7a
leaq 0x4c9a8(%rip), %rsi     # 0x6a495
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1df60
leaq 0x4c995(%rip), %rsi     # 0x6a49b
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1df60
leaq 0x4edf1(%rip), %rsi     # 0x6c910
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1df94
leaq 0x4c7a4(%rip), %rsi     # 0x6a2dc
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1df94
leaq 0x4c94e(%rip), %rsi     # 0x6a49f
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1dfae
leaq 0x4c910(%rip), %rsi     # 0x6a47a
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1dfc8
leaq 0x4c8d3(%rip), %rsi     # 0x6a456
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1dfe2
leaq 0x4c8c8(%rip), %rsi     # 0x6a464
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1dffc
leaq 0x4c8be(%rip), %rsi     # 0x6a473
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1e016
leaq 0x6e9a2(%rip), %r14     # 0x8c570
movq (%r14), %rdi
cmpq $0x0, 0x18(%rdi)
je 0x1debb
addq $0x20, %rdi
callq 0xb7d0
movq (%r14), %rax
movq 0x18(%rax), %rbx
leaq 0x4c8b5(%rip), %rsi     # 0x6a4a8
movl $0xc, %edx
movq %rbx, %rdi
callq 0xb5f0
leaq 0x4c8ae(%rip), %rsi     # 0x6a4b5
movl $0xf, %edx
movq %rbx, %rdi
callq 0xb5f0
leaq 0x4c8aa(%rip), %rsi     # 0x6a4c5
movl $0x12, %edx
movq %rbx, %rdi
callq 0xb5f0
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %rbx, %rdi
callq 0xb5f0
movq %rax, %rbx
leaq 0x4e78f(%rip), %rsi     # 0x6c3d3
movl $0x1, %edx
movq %rax, %rdi
callq 0xb5f0
movq %rbx, %rdi
callq 0xb250
movq (%r14), %rdi
addq $0x20, %rdi
callq 0xb3b0
jmp 0x1debb
movl $0x88, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x1eaf4
jmp 0x1dc96
movl $0x68, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x1e9a6
leaq 0x8(%r13), %rdi
leaq 0x28(%rsp), %rsi
callq 0xb2c0
leaq 0x50(%rsp), %rsi
movl 0x18(%rsi), %edx
movq %rsp, %rdi
callq 0x1f068
movq (%rsp), %rsi
movq (%r13), %rax
movq %r13, %rdi
movq %r12, %rdx
movq %r15, %rcx
callq *0x18(%rax)
movl %eax, %ebp
leaq 0x10(%rsp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x1dce5
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb510
testb %bpl, %bpl
je 0x1deb1
leaq 0xb8(%rsp), %rdi
leaq 0x4f(%rsp), %rdx
movq %r14, %rsi
callq 0x1bd28
movq 0xb8(%rsp), %rsi
movq 0xc0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x88(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x78(%rsp), %rdi
callq 0x1d0a0
leaq 0x4c639(%rip), %rsi     # 0x6a36d
leaq 0x78(%rsp), %rdi
movl $0x1, %ecx
movq $-0x1, %rdx
callq 0xb920
cmpq $-0x1, %rax
je 0x1dd74
leaq 0x1(%rax), %rdx
movq 0x80(%rsp), %rcx
cmpq %rax, %rcx
jbe 0x1e030
movq %rdx, 0x80(%rsp)
addq 0x78(%rsp), %rdx
jmp 0x1dd85
movq $0x0, 0x80(%rsp)
movq 0x78(%rsp), %rdx
movb $0x0, (%rdx)
leaq 0x4c5de(%rip), %rsi     # 0x6a36d
leaq 0x78(%rsp), %r14
movl $0x1, %ecx
movq %r14, %rdi
xorl %edx, %edx
callq 0xb980
movq %r14, %rdi
xorl %esi, %esi
movq %rax, %rdx
callq 0xb0e0
leaq 0xa8(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x78(%rsp), %rsi
movq 0x80(%rsp), %rdx
addq %rsi, %rdx
leaq 0x98(%rsp), %rdi
callq 0x1d0a0
movq 0x78(%rsp), %rdi
cmpq %r12, %rdi
je 0x1ddf3
movq 0x88(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0xc8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1de14
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0xb510
movq %r15, (%rsp)
movq 0x98(%rsp), %rax
cmpq %r14, %rax
je 0x1de38
movq %rax, (%rsp)
movq 0xa8(%rsp), %rax
movq %rax, 0x10(%rsp)
jmp 0x1de40
movups (%r14), %xmm0
movups %xmm0, (%r15)
movq 0xa0(%rsp), %rax
movq %rsp, %rsi
movq %rax, 0x8(%rsi)
movq %r14, 0x98(%rsp)
movq $0x0, 0xa0(%rsp)
movb $0x0, 0xa8(%rsp)
movq %r13, 0x20(%rsi)
movq %rbx, %rdi
callq 0x1f384
movl %edx, %ebx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x1de8f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb510
movq 0x98(%rsp), %rdi
cmpq %r14, %rdi
je 0x1deac
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0xb510
testb $0x1, %bl
jne 0x1debe
movq (%r13), %rax
movq %r13, %rdi
callq *0x8(%rax)
xorl %r13d, %r13d
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1ded9
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x50(%rsp), %rdi
callq 0x1bad0
movq %r13, %rax
addq $0x398, %rsp            # imm = 0x398
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x68, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x1ec56
jmp 0x1dc96
movl $0x88, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x1ef06
jmp 0x1dc96
movl $0x80, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x1eda4
jmp 0x1dc96
movl $0x88, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x45902
jmp 0x1dc96
movl $0x68, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x3a558
jmp 0x1dc96
movl $0x88, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x45d4c
jmp 0x1dc96
movl $0xc0, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x4b170
jmp 0x1dc96
movl $0x98, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x1f604
jmp 0x1dc96
movl $0xc8, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x20908
jmp 0x1dc96
movl $0x2a8, %edi            # imm = 0x2A8
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x4fc7a
jmp 0x1dc96
movl $0x280, %edi            # imm = 0x280
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x51aa8
jmp 0x1dc96
movl $0x140, %edi            # imm = 0x140
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x576e8
jmp 0x1dc96
leaq 0x4c57f(%rip), %rdi     # 0x6a5b6
leaq 0x4c564(%rip), %rsi     # 0x6a5a2
xorl %eax, %eax
callq 0xb820
movq %rax, %rbx
movl $0x140, %esi            # imm = 0x140
jmp 0x1e0df
movq %rax, %rbx
movl $0x280, %esi            # imm = 0x280
jmp 0x1e0df
movq %rax, %rbx
movl $0x2a8, %esi            # imm = 0x2A8
jmp 0x1e0df
movq %rax, %rbx
movl $0xc8, %esi
jmp 0x1e0df
movq %rax, %rbx
movl $0x98, %esi
jmp 0x1e0df
movq %rax, %rbx
movl $0xc0, %esi
jmp 0x1e0df
jmp 0x1e0d7
jmp 0x1e0c8
jmp 0x1e0d7
jmp 0x1e17f
jmp 0x1e17f
jmp 0x1e120
movq %rax, %rbx
movl $0x80, %esi
jmp 0x1e0df
jmp 0x1e17f
jmp 0x1e0d7
jmp 0x1e120
jmp 0x1e0c8
jmp 0x1e17f
jmp 0x1e120
jmp 0x1e17f
jmp 0x1e120
jmp 0x1e17f
jmp 0x1e120
jmp 0x1e120
movq %rax, %rbx
movl $0x68, %esi
jmp 0x1e0df
jmp 0x1e17f
movq %rax, %rbx
movl $0x88, %esi
movq %r13, %rdi
jmp 0x1e178
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x1e100
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb510
movq 0x98(%rsp), %rdi
cmpq %r14, %rdi
je 0x1e182
movq 0xa8(%rsp), %rsi
jmp 0x1e175
movq %rax, %rbx
jmp 0x1e15c
jmp 0x1e17f
jmp 0x1e120
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1e182
movq 0x10(%rsp), %rsi
jmp 0x1e175
jmp 0x1e17f
movq %rax, %rbx
jmp 0x1e19d
movq %rax, %rbx
movq 0x78(%rsp), %rdi
cmpq %r12, %rdi
je 0x1e15c
movq 0x88(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0xc8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1e182
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0xb510
jmp 0x1e182
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1e19d
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x50(%rsp), %rdi
callq 0x1bad0
movq %rbx, %rdi
callq 0xb9c0
nop