// File: /workspace/github_cpp_makefile_star2_O1/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 0x1b8f2
leaq 0x28(%rsp), %rdi
movq %r13, %rsi
callq 0x1b92c
leaq 0x4f14e(%rip), %rsi     # 0x6c424
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1d3dc
leaq 0x4d12f(%rip), %rsi     # 0x6a41e
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1d429
leaq 0x4d109(%rip), %rsi     # 0x6a411
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1d49e
leaq 0x4d0e6(%rip), %rsi     # 0x6a407
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1d518
leaq 0x4efc2(%rip), %rsi     # 0x6c2fc
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1d5b5
leaq 0x4d803(%rip), %rsi     # 0x6ab56
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1d671
leaq 0x4d0c3(%rip), %rsi     # 0x6a42f
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
jne 0x1daf9
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1bc30
leaq 0x4fa9f(%rip), %rsi     # 0x6ce31
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d8a0
leaq 0x50595(%rip), %rsi     # 0x6d93e
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d91e
leaq 0x4d09a(%rip), %rsi     # 0x6a45a
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d999
leaq 0x4d05f(%rip), %r13     # 0x6a436
jmp 0x1d9ce
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1bc30
leaq 0x4ef0c(%rip), %rsi     # 0x6c2fc
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d4eb
leaq 0x4d74f(%rip), %rsi     # 0x6ab56
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d55f
movl $0x9, %r13d
leaq 0x4cf70(%rip), %rbp     # 0x6a394
jmp 0x1d59a
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1bc30
leaq 0x4d719(%rip), %rsi     # 0x6ab56
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
jne 0x1d47c
leaq 0x118(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x128(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1d47c
movq 0x128(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x28(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x4cee0(%rip), %rcx     # 0x6a36c
movl $0xb, %r8d
xorl %esi, %esi
callq 0xb870
jmp 0x1dade
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1bc30
leaq 0x4ee4a(%rip), %rsi     # 0x6c2fc
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d641
leaq 0x4d68d(%rip), %rsi     # 0x6ab56
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d72b
movl $0xd, %r13d
leaq 0x4ce92(%rip), %rbp     # 0x6a378
jmp 0x1d766
leaq 0x378(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x388(%rsp), %rax
movq -0x10(%rax), %rdi
movl $0x9, %r13d
leaq 0x4ce7e(%rip), %rbp     # 0x6a394
jmp 0x1d58a
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1bc30
leaq 0x4edd0(%rip), %rsi     # 0x6c2fc
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d781
leaq 0x4d613(%rip), %rsi     # 0x6ab56
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d7d6
leaq 0x4ce39(%rip), %r13     # 0x6a393
jmp 0x1d810
leaq 0x358(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x368(%rsp), %rax
movq -0x10(%rax), %rdi
movl $0x8, %r13d
leaq 0x4ce15(%rip), %rbp     # 0x6a39f
cmpq %rax, %rdi
je 0x1d59a
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 0x1dade
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1bc30
leaq 0x4d942(%rip), %rsi     # 0x6af0b
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d822
leaq 0x4ee44(%rip), %rsi     # 0x6c424
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d84c
leaq 0x4ce10(%rip), %rsi     # 0x6a407
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d8ca
leaq 0x4ce03(%rip), %rsi     # 0x6a411
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d945
leaq 0x4ce05(%rip), %rsi     # 0x6a42a
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d9e0
leaq 0x4cd9b(%rip), %r13     # 0x6a3d7
jmp 0x1da15
leaq 0x338(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x348(%rsp), %rax
movq -0x10(%rax), %rdi
movl $0xd, %r13d
leaq 0x4cd0c(%rip), %rbp     # 0x6a378
jmp 0x1d756
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1bc30
leaq 0x4d886(%rip), %rsi     # 0x6af0b
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d876
leaq 0x4cd58(%rip), %rsi     # 0x6a3f4
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d8f4
leaq 0x4ed71(%rip), %rsi     # 0x6c424
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1d96f
leaq 0x4cd3d(%rip), %rsi     # 0x6a407
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1da27
leaq 0x4cd30(%rip), %rsi     # 0x6a411
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1da4e
leaq 0x4cd26(%rip), %rsi     # 0x6a41e
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1da75
leaq 0x4cd1b(%rip), %rsi     # 0x6a42a
movq %rsp, %rdi
callq 0xb110
testl %eax, %eax
je 0x1da9c
leaq 0x4ccfe(%rip), %r13     # 0x6a424
jmp 0x1dad1
leaq 0x318(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x328(%rsp), %rax
movq -0x10(%rax), %rdi
movl $0xc, %r13d
leaq 0x4cc30(%rip), %rbp     # 0x6a386
cmpq %rax, %rdi
je 0x1d766
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 0x1dade
leaq 0xf8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x108(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1d7b4
movq 0x108(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x28(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x4cbcf(%rip), %rcx     # 0x6a393
movl $0xa, %r8d
xorl %esi, %esi
callq 0xb870
jmp 0x1dade
leaq 0xd8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0xe8(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cba3(%rip), %r13     # 0x6a39e
cmpq %rax, %rdi
je 0x1d810
movq 0xe8(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x28(%rsp), %rdi
movq %r13, %rsi
callq 0xb720
jmp 0x1dade
leaq 0x2f8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x308(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cb61(%rip), %r13     # 0x6a3a8
jmp 0x1da05
leaq 0x2d8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x2e8(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cb43(%rip), %r13     # 0x6a3b4
jmp 0x1da05
leaq 0x258(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x268(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cb48(%rip), %r13     # 0x6a3e3
jmp 0x1dac1
leaq 0x178(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x188(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cb71(%rip), %r13     # 0x6a436
jmp 0x1d9be
leaq 0x2b8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x2c8(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cacf(%rip), %r13     # 0x6a3be
jmp 0x1da05
leaq 0x238(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x248(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cad5(%rip), %r13     # 0x6a3ee
jmp 0x1dac1
leaq 0x158(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x168(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4cb01(%rip), %r13     # 0x6a444
jmp 0x1d9be
leaq 0x298(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x2a8(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4ca5f(%rip), %r13     # 0x6a3c9
jmp 0x1da05
leaq 0x218(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x228(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4ca64(%rip), %r13     # 0x6a3f8
jmp 0x1dac1
leaq 0x138(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x148(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4ca95(%rip), %r13     # 0x6a453
cmpq %rax, %rdi
je 0x1d9ce
movq (%rax), %rsi
incq %rsi
callq 0xb510
leaq 0x28(%rsp), %rdi
movq %r13, %rsi
callq 0xb720
jmp 0x1dade
leaq 0x278(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x288(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4c9d2(%rip), %r13     # 0x6a3d7
cmpq %rax, %rdi
je 0x1da15
movq (%rax), %rsi
incq %rsi
callq 0xb510
leaq 0x28(%rsp), %rdi
movq %r13, %rsi
callq 0xb720
jmp 0x1dade
leaq 0x1f8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x208(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4c9b5(%rip), %r13     # 0x6a401
jmp 0x1dac1
leaq 0x1d8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x1e8(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4c998(%rip), %r13     # 0x6a40b
jmp 0x1dac1
leaq 0x1b8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x1c8(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4c97e(%rip), %r13     # 0x6a418
jmp 0x1dac1
leaq 0x198(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1b92c
leaq 0x1a8(%rsp), %rax
movq -0x10(%rax), %rdi
leaq 0x4c963(%rip), %r13     # 0x6a424
cmpq %rax, %rdi
je 0x1dad1
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 0x1daf9
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x4c8a8(%rip), %rsi     # 0x6a3a8
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1dd78
leaq 0x4c89b(%rip), %rsi     # 0x6a3b4
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1dd61
leaq 0x4c862(%rip), %rsi     # 0x6a394
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1dd61
leaq 0x4c898(%rip), %rsi     # 0x6a3e3
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1dff8
leaq 0x4c88a(%rip), %rsi     # 0x6a3ee
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1e02c
leaq 0x4c87b(%rip), %rsi     # 0x6a3f8
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1e012
leaq 0x4c809(%rip), %rsi     # 0x6a39f
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1e012
leaq 0x4c8b1(%rip), %rsi     # 0x6a460
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1e046
leaq 0x4c8a3(%rip), %rsi     # 0x6a46b
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1e07a
leaq 0x4c894(%rip), %rsi     # 0x6a475
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1e060
leaq 0x4c881(%rip), %rsi     # 0x6a47b
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1e060
leaq 0x4ec85(%rip), %rsi     # 0x6c898
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1e094
leaq 0x4c690(%rip), %rsi     # 0x6a2bc
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1e094
leaq 0x4c83a(%rip), %rsi     # 0x6a47f
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1e0ae
leaq 0x4c7fc(%rip), %rsi     # 0x6a45a
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1e0c8
leaq 0x4c7bf(%rip), %rsi     # 0x6a436
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1e0e2
leaq 0x4c7b4(%rip), %rsi     # 0x6a444
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1e0fc
leaq 0x4c7aa(%rip), %rsi     # 0x6a453
leaq 0x28(%rsp), %rdi
callq 0xb110
testl %eax, %eax
je 0x1e116
leaq 0x6e8ae(%rip), %rbp     # 0x8c570
movq (%rbp), %rdi
cmpq $0x0, 0x18(%rdi)
je 0x1dd5c
addq $0x20, %rdi
callq 0xb7d0
movq (%rbp), %rax
movq 0x18(%rax), %r13
leaq 0x4c79f(%rip), %rsi     # 0x6a488
movl $0xc, %edx
movq %r13, %rdi
callq 0xb5f0
leaq 0x4c798(%rip), %rsi     # 0x6a495
movl $0xf, %edx
movq %r13, %rdi
callq 0xb5f0
leaq 0x4c794(%rip), %rsi     # 0x6a4a5
movl $0x12, %edx
movq %r13, %rdi
callq 0xb5f0
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %r13, %rdi
callq 0xb5f0
movq %rax, %r13
leaq 0x4e621(%rip), %rsi     # 0x6c35b
movl $0x1, %edx
movq %rax, %rdi
callq 0xb5f0
movq %r13, %rdi
callq 0xb250
movq (%rbp), %rdi
addq $0x20, %rdi
callq 0xb3b0
xorl %r13d, %r13d
jmp 0x1dd8d
movl $0x88, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x1ec0a
jmp 0x1dd8d
movl $0x68, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x1eab6
testq %r13, %r13
je 0x1dfbb
leaq 0x8(%r13), %rdi
leaq 0x28(%rsp), %rsi
callq 0xb2c0
leaq 0x50(%rsp), %rsi
movl 0x18(%rsi), %edx
movq %rsp, %rdi
callq 0x1f196
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 0x1dde5
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb510
testb %bpl, %bpl
je 0x1dfb1
leaq 0xb8(%rsp), %rdi
leaq 0x4f(%rsp), %rdx
movq %r14, %rsi
callq 0x1bdd6
leaq 0x88(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0xb8(%rsp), %rsi
movq 0xc0(%rsp), %rdx
addq %rsi, %rdx
leaq 0x78(%rsp), %rdi
callq 0x1d19a
leaq 0x4c519(%rip), %rsi     # 0x6a34d
leaq 0x78(%rsp), %rdi
movl $0x1, %ecx
movq $-0x1, %rdx
callq 0xb920
cmpq $-0x1, %rax
je 0x1de74
leaq 0x1(%rax), %rdx
movq 0x80(%rsp), %rcx
cmpq %rax, %rcx
jbe 0x1e130
movq %rdx, 0x80(%rsp)
addq 0x78(%rsp), %rdx
jmp 0x1de85
movq $0x0, 0x80(%rsp)
movq 0x78(%rsp), %rdx
movb $0x0, (%rdx)
leaq 0x4c4be(%rip), %rsi     # 0x6a34d
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 0x1d19a
movq 0x78(%rsp), %rdi
cmpq %r12, %rdi
je 0x1def3
movq 0x88(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0xc8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1df14
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0xb510
movq %r15, (%rsp)
movq 0x98(%rsp), %rax
cmpq %r14, %rax
je 0x1df38
movq %rax, (%rsp)
movq 0xa8(%rsp), %rax
movq %rax, 0x10(%rsp)
jmp 0x1df40
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 0x1f4ae
movl %edx, %ebx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x1df8f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb510
movq 0x98(%rsp), %rdi
cmpq %r14, %rdi
je 0x1dfac
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0xb510
testb $0x1, %bl
jne 0x1dfbe
movq (%r13), %rax
movq %r13, %rdi
callq *0x8(%rax)
xorl %r13d, %r13d
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1dfd9
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x50(%rsp), %rdi
callq 0x1bb7e
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 0x1ed72
jmp 0x1dd8d
movl $0x88, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x1f02e
jmp 0x1dd8d
movl $0x80, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x1eec6
jmp 0x1dd8d
movl $0x88, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x45e52
jmp 0x1dd8d
movl $0x68, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x3a978
jmp 0x1dd8d
movl $0x88, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x4629c
jmp 0x1dd8d
movl $0xc0, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x4b6b4
jmp 0x1dd8d
movl $0x98, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x1f730
jmp 0x1dd8d
movl $0xc8, %edi
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x20a24
jmp 0x1dd8d
movl $0x2a8, %edi            # imm = 0x2A8
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x500c8
jmp 0x1dd8d
movl $0x280, %edi            # imm = 0x280
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x51f10
jmp 0x1dd8d
movl $0x140, %edi            # imm = 0x140
callq 0xb500
movq %rax, %r13
movq %rax, %rdi
callq 0x57b2c
jmp 0x1dd8d
leaq 0x4c45f(%rip), %rdi     # 0x6a596
leaq 0x4c444(%rip), %rsi     # 0x6a582
xorl %eax, %eax
callq 0xb820
movq %rax, %rbx
movl $0x140, %esi            # imm = 0x140
jmp 0x1e229
movq %rax, %rbx
movl $0x280, %esi            # imm = 0x280
jmp 0x1e229
movq %rax, %rbx
movl $0x2a8, %esi            # imm = 0x2A8
jmp 0x1e229
movq %rax, %rbx
movl $0xc8, %esi
jmp 0x1e229
movq %rax, %rbx
movl $0x98, %esi
jmp 0x1e229
movq %rax, %rbx
movl $0xc0, %esi
jmp 0x1e229
jmp 0x1e221
jmp 0x1e215
jmp 0x1e221
jmp 0x1e28f
jmp 0x1e28f
jmp 0x1e230
movq %rax, %rbx
movl $0x80, %esi
jmp 0x1e229
jmp 0x1e28f
jmp 0x1e221
jmp 0x1e230
jmp 0x1e215
jmp 0x1e28f
jmp 0x1e230
jmp 0x1e28f
jmp 0x1e230
jmp 0x1e28f
jmp 0x1e230
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x1e1f1
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb510
movq 0x98(%rsp), %rdi
cmpq %r14, %rdi
je 0x1e292
movq 0xa8(%rsp), %rsi
jmp 0x1e280
movq %rax, %rbx
jmp 0x1e267
jmp 0x1e28f
jmp 0x1e230
movq %rax, %rbx
movl $0x68, %esi
jmp 0x1e229
jmp 0x1e28f
movq %rax, %rbx
movl $0x88, %esi
movq %r13, %rdi
jmp 0x1e283
jmp 0x1e230
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1e292
movq 0x10(%rsp), %rsi
jmp 0x1e280
jmp 0x1e28f
movq %rax, %rbx
movq 0x78(%rsp), %rdi
cmpq %r12, %rdi
je 0x1e267
movq 0x88(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0xc8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1e292
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0xb510
jmp 0x1e292
movq %rax, %rbx
jmp 0x1e2ad
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1e2ad
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x50(%rsp), %rdi
callq 0x1bb7e
movq %rbx, %rdi
callq 0xb9c0
nop