// File: mh0fm4[P]SCDC/src/components/common/log.cc
// Function: scdc_log::init(char const*, _scdc_args_t*)
bool scdc_log::init(const char *conf, scdc_args_t *args)
{
  SCDC_TRACE("init: conf: '" << conf << "'");

  ostream *scdc_cout = 0;
  ostream *scdc_cerr = 0;

  if (!conf)
  {
    SCDC_FAIL("init: no config given");
    return false;
  }

  string c(conf);
  scdc_args xargs(*args);

  if (c == "log_handler")
  {
    scdc_log_handler_args_t outhandler, errhandler;

    if (!xargs.get<scdc_log_handler_args_t>(SCDC_ARGS_TYPE_LOG_HANDLER, &outhandler))
    {
      SCDC_FAIL("init: no output log handler given");
      return false;
    }

    if (!xargs.get<scdc_log_handler_args_t>(SCDC_ARGS_TYPE_LOG_HANDLER, &errhandler))
    {
      SCDC_FAIL("init: no error log handler given");
      return false;
    }

    scdc_cout = new ostream_log_handler(&outhandler);
    scdc_cerr = new ostream_log_handler(&errhandler);

  } else if (c == "log_FILE")
  {
    FILE *outfile = 0, *errfile = 0;

    if (!xargs.get<FILE *>(SCDC_ARGS_TYPE_OUT_STREAM, &outfile))
    {
      SCDC_FAIL("init: no output FILE given");
      return false;
    }

    if (!xargs.get<FILE *>(SCDC_ARGS_TYPE_OUT_STREAM, &errfile))
    {
      SCDC_FAIL("init: no error FILE given");
      return false;
    }

    scdc_cout = new ostream_FILE(outfile);
    scdc_cerr = new ostream_FILE(errfile);

  } else if (c == "log_filepath")
  {
    const char *filepath;

    if (!xargs.get<const char *>(SCDC_ARGS_TYPE_CSTR, &filepath))
    {
      SCDC_FAIL("init: no filepath given");
      return false;
    }

    scdc_cout = new ofstream((string(filepath) + ".out").c_str());
    scdc_cerr = new ofstream((string(filepath) + ".err").c_str());

  } else
  {
    SCDC_FAIL("init: unknown log type '" << c << "'");
    return false;
  }

  set_cout(scdc_cout);
  set_cerr(scdc_cerr);

  SCDC_TRACE("init: return");

  return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x340, %rsp            # imm = 0x340
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x178(%rbp)
jmp 0x4dc24
movq $0x0, -0x28(%rbp)
movq $0x0, -0x30(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x4dcca
jmp 0x4dc41
leaq 0x86a60(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
cmpq $0x0, %rax
je 0x4dcbf
leaq 0x86a4b(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25800
leaq 0x86a3c(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, %rdi
leaq 0x58532(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, %rdi
leaq 0x59b73(%rip), %rsi     # 0xa7800
callq 0xc670
movq %rax, %rdi
leaq 0x59b6a(%rip), %rsi     # 0xa7806
callq 0xc670
movq %rax, %rdi
movq 0x86315(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
leaq 0x869f1(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x4dcc1
movb $0x0, -0x1(%rbp)
jmp 0x4e95d
movq -0x18(%rbp), %rax
movq %rax, -0x188(%rbp)
leaq -0x51(%rbp), %rdi
movq %rdi, -0x180(%rbp)
callq 0xcbc0
movq -0x188(%rbp), %rsi
movq -0x180(%rbp), %rdx
leaq -0x50(%rbp), %rdi
callq 0x27820
jmp 0x4dcfe
leaq -0x51(%rbp), %rdi
callq 0xc730
movq -0x20(%rbp), %rsi
leaq -0xa0(%rbp), %rdi
callq 0x4f1d0
jmp 0x4dd19
leaq 0x59afc(%rip), %rsi     # 0xa781c
leaq -0x50(%rbp), %rdi
callq 0x25b80
movb %al, -0x189(%rbp)
jmp 0x4dd31
movb -0x189(%rbp), %al
testb $0x1, %al
jne 0x4dd40
jmp 0x4e0b1
leaq -0xa0(%rbp), %rdi
movl $0x11, %esi
leaq -0xb0(%rbp), %rdx
xorl %ecx, %ecx
callq 0x4f220
movq %rax, -0x198(%rbp)
jmp 0x4dd63
movq -0x198(%rbp), %rax
cmpq $0x0, %rax
jne 0x4de97
jmp 0x4dd76
leaq 0x8692b(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, -0x1a0(%rbp)
jmp 0x4dd8e
movq -0x1a0(%rbp), %rax
cmpq $0x0, %rax
je 0x4de80
leaq 0x86902(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25800
jmp 0x4ddb0
leaq 0x868f1(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, -0x1a8(%rbp)
jmp 0x4ddc8
movq -0x1a8(%rbp), %rdi
leaq 0x583da(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, -0x1b0(%rbp)
jmp 0x4dde4
movq -0x1b0(%rbp), %rdi
leaq 0x59a0e(%rip), %rsi     # 0xa7800
callq 0xc670
movq %rax, -0x1b8(%rbp)
jmp 0x4de00
movq -0x1b8(%rbp), %rdi
leaq 0x59a1a(%rip), %rsi     # 0xa7828
callq 0xc670
movq %rax, -0x1c0(%rbp)
jmp 0x4de1c
movq -0x1c0(%rbp), %rdi
movq 0x86196(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
jmp 0x4de31
leaq 0x86870(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x4de42
jmp 0x4de80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x51(%rbp), %rdi
callq 0xc730
jmp 0x4e96b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x4e952
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x4e946
jmp 0x4de82
jmp 0x4de84
movb $0x0, -0x1(%rbp)
movl $0x1, -0xc4(%rbp)
jmp 0x4e92f
leaq -0xa0(%rbp), %rdi
movl $0x11, %esi
leaq -0xc0(%rbp), %rdx
xorl %ecx, %ecx
callq 0x4f220
movq %rax, -0x1c8(%rbp)
jmp 0x4deba
movq -0x1c8(%rbp), %rax
cmpq $0x0, %rax
jne 0x4dfb2
jmp 0x4decd
leaq 0x867d4(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, -0x1d0(%rbp)
jmp 0x4dee5
movq -0x1d0(%rbp), %rax
cmpq $0x0, %rax
je 0x4df9b
leaq 0x867ab(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25800
jmp 0x4df07
leaq 0x8679a(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, -0x1d8(%rbp)
jmp 0x4df1f
movq -0x1d8(%rbp), %rdi
leaq 0x58283(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, -0x1e0(%rbp)
jmp 0x4df3b
movq -0x1e0(%rbp), %rdi
leaq 0x598b7(%rip), %rsi     # 0xa7800
callq 0xc670
movq %rax, -0x1e8(%rbp)
jmp 0x4df57
movq -0x1e8(%rbp), %rdi
leaq 0x598e5(%rip), %rsi     # 0xa784a
callq 0xc670
movq %rax, -0x1f0(%rbp)
jmp 0x4df73
movq -0x1f0(%rbp), %rdi
movq 0x8603f(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
jmp 0x4df88
leaq 0x86719(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x4df99
jmp 0x4df9b
jmp 0x4df9d
jmp 0x4df9f
movb $0x0, -0x1(%rbp)
movl $0x1, -0xc4(%rbp)
jmp 0x4e92f
movl $0x178, %edi            # imm = 0x178
callq 0xc690
movq %rax, -0x1f8(%rbp)
jmp 0x4dfc5
movq -0x1f8(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x4f2b0
jmp 0x4dfda
movq -0x1f8(%rbp), %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movq %rax, -0x200(%rbp)
je 0x4e002
movq -0x1f8(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x200(%rbp)
movq -0x200(%rbp), %rax
movq %rax, -0x28(%rbp)
movl $0x178, %edi            # imm = 0x178
callq 0xc690
movq %rax, -0x208(%rbp)
jmp 0x4e020
movq -0x208(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x4f2b0
jmp 0x4e035
movq -0x208(%rbp), %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movq %rax, -0x210(%rbp)
je 0x4e05d
movq -0x208(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x210(%rbp)
movq -0x210(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x4e8f7
movq -0x1f8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x178, %esi            # imm = 0x178
callq 0xc6a0
jmp 0x4e946
movq -0x208(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x178, %esi            # imm = 0x178
callq 0xc6a0
jmp 0x4e946
leaq 0x581a4(%rip), %rsi     # 0xa625c
leaq -0x50(%rbp), %rdi
callq 0x25b80
movb %al, -0x211(%rbp)
jmp 0x4e0c9
movb -0x211(%rbp), %al
testb $0x1, %al
jne 0x4e0d8
jmp 0x4e423
movq $0x0, -0xd0(%rbp)
movq $0x0, -0xd8(%rbp)
leaq -0xa0(%rbp), %rdi
movl $0x7, %esi
leaq -0xd0(%rbp), %rdx
xorl %ecx, %ecx
callq 0x4d630
movq %rax, -0x220(%rbp)
jmp 0x4e111
movq -0x220(%rbp), %rax
cmpq $0x0, %rax
jne 0x4e209
jmp 0x4e124
leaq 0x8657d(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, -0x228(%rbp)
jmp 0x4e13c
movq -0x228(%rbp), %rax
cmpq $0x0, %rax
je 0x4e1f2
leaq 0x86554(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25800
jmp 0x4e15e
leaq 0x86543(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, -0x230(%rbp)
jmp 0x4e176
movq -0x230(%rbp), %rdi
leaq 0x5802c(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, -0x238(%rbp)
jmp 0x4e192
movq -0x238(%rbp), %rdi
leaq 0x59660(%rip), %rsi     # 0xa7800
callq 0xc670
movq %rax, -0x240(%rbp)
jmp 0x4e1ae
movq -0x240(%rbp), %rdi
leaq 0x596af(%rip), %rsi     # 0xa786b
callq 0xc670
movq %rax, -0x248(%rbp)
jmp 0x4e1ca
movq -0x248(%rbp), %rdi
movq 0x85de8(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
jmp 0x4e1df
leaq 0x864c2(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x4e1f0
jmp 0x4e1f2
jmp 0x4e1f4
jmp 0x4e1f6
movb $0x0, -0x1(%rbp)
movl $0x1, -0xc4(%rbp)
jmp 0x4e92f
leaq -0xa0(%rbp), %rdi
movl $0x7, %esi
leaq -0xd8(%rbp), %rdx
xorl %ecx, %ecx
callq 0x4d630
movq %rax, -0x250(%rbp)
jmp 0x4e22c
movq -0x250(%rbp), %rax
cmpq $0x0, %rax
jne 0x4e324
jmp 0x4e23f
leaq 0x86462(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, -0x258(%rbp)
jmp 0x4e257
movq -0x258(%rbp), %rax
cmpq $0x0, %rax
je 0x4e30d
leaq 0x86439(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25800
jmp 0x4e279
leaq 0x86428(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, -0x260(%rbp)
jmp 0x4e291
movq -0x260(%rbp), %rdi
leaq 0x57f11(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, -0x268(%rbp)
jmp 0x4e2ad
movq -0x268(%rbp), %rdi
leaq 0x59545(%rip), %rsi     # 0xa7800
callq 0xc670
movq %rax, -0x270(%rbp)
jmp 0x4e2c9
movq -0x270(%rbp), %rdi
leaq 0x595af(%rip), %rsi     # 0xa7886
callq 0xc670
movq %rax, -0x278(%rbp)
jmp 0x4e2e5
movq -0x278(%rbp), %rdi
movq 0x85ccd(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
jmp 0x4e2fa
leaq 0x863a7(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x4e30b
jmp 0x4e30d
jmp 0x4e30f
jmp 0x4e311
movb $0x0, -0x1(%rbp)
movl $0x1, -0xc4(%rbp)
jmp 0x4e92f
movl $0x170, %edi            # imm = 0x170
callq 0xc690
movq %rax, -0x280(%rbp)
jmp 0x4e337
movq -0x280(%rbp), %rdi
movq -0xd0(%rbp), %rsi
callq 0x4f390
jmp 0x4e34c
movq -0x280(%rbp), %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movq %rax, -0x288(%rbp)
je 0x4e374
movq -0x280(%rbp), %rax
addq $0x60, %rax
movq %rax, -0x288(%rbp)
movq -0x288(%rbp), %rax
movq %rax, -0x28(%rbp)
movl $0x170, %edi            # imm = 0x170
callq 0xc690
movq %rax, -0x290(%rbp)
jmp 0x4e392
movq -0x290(%rbp), %rdi
movq -0xd8(%rbp), %rsi
callq 0x4f390
jmp 0x4e3a7
movq -0x290(%rbp), %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movq %rax, -0x298(%rbp)
je 0x4e3cf
movq -0x290(%rbp), %rax
addq $0x60, %rax
movq %rax, -0x298(%rbp)
movq -0x298(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x4e8f5
movq -0x280(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x170, %esi            # imm = 0x170
callq 0xc6a0
jmp 0x4e946
movq -0x290(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x170, %esi            # imm = 0x170
callq 0xc6a0
jmp 0x4e946
leaq 0x59476(%rip), %rsi     # 0xa78a0
leaq -0x50(%rbp), %rdi
callq 0x25b80
movb %al, -0x299(%rbp)
jmp 0x4e43b
movb -0x299(%rbp), %al
testb $0x1, %al
jne 0x4e44a
jmp 0x4e7da
leaq -0xa0(%rbp), %rdi
movl $0x4, %esi
leaq -0xe0(%rbp), %rdx
xorl %ecx, %ecx
callq 0x4d6c0
movq %rax, -0x2a8(%rbp)
jmp 0x4e46d
movq -0x2a8(%rbp), %rax
cmpq $0x0, %rax
jne 0x4e565
jmp 0x4e480
leaq 0x86221(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, -0x2b0(%rbp)
jmp 0x4e498
movq -0x2b0(%rbp), %rax
cmpq $0x0, %rax
je 0x4e54e
leaq 0x861f8(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25800
jmp 0x4e4ba
leaq 0x861e7(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, -0x2b8(%rbp)
jmp 0x4e4d2
movq -0x2b8(%rbp), %rdi
leaq 0x57cd0(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, -0x2c0(%rbp)
jmp 0x4e4ee
movq -0x2c0(%rbp), %rdi
leaq 0x59304(%rip), %rsi     # 0xa7800
callq 0xc670
movq %rax, -0x2c8(%rbp)
jmp 0x4e50a
movq -0x2c8(%rbp), %rdi
leaq 0x59395(%rip), %rsi     # 0xa78ad
callq 0xc670
movq %rax, -0x2d0(%rbp)
jmp 0x4e526
movq -0x2d0(%rbp), %rdi
movq 0x85a8c(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
jmp 0x4e53b
leaq 0x86166(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x4e54c
jmp 0x4e54e
jmp 0x4e550
jmp 0x4e552
movb $0x0, -0x1(%rbp)
movl $0x1, -0xc4(%rbp)
jmp 0x4e92f
movl $0x200, %edi            # imm = 0x200
callq 0xc690
movq %rax, -0x2d8(%rbp)
jmp 0x4e578
movb $0x1, -0x122(%rbp)
movq -0xe0(%rbp), %rax
movq %rax, -0x2e8(%rbp)
leaq -0x121(%rbp), %rdi
movq %rdi, -0x2e0(%rbp)
callq 0xcbc0
movq -0x2e8(%rbp), %rsi
movq -0x2e0(%rbp), %rdx
leaq -0x120(%rbp), %rdi
callq 0x27820
jmp 0x4e5bc
leaq 0x59302(%rip), %rdx     # 0xa78c5
leaq -0x100(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0x2eef0
jmp 0x4e5d8
leaq -0x100(%rbp), %rdi
callq 0xc260
movq -0x2d8(%rbp), %rdi
movq %rax, %rsi
movl $0x10, %edx
callq 0xc740
jmp 0x4e5fa
movq -0x2d8(%rbp), %rax
movb $0x0, -0x122(%rbp)
movq %rax, -0x28(%rbp)
leaq -0x100(%rbp), %rdi
callq 0xc3e0
leaq -0x120(%rbp), %rdi
callq 0xc3e0
leaq -0x121(%rbp), %rdi
callq 0xc730
movl $0x200, %edi            # imm = 0x200
callq 0xc690
movq %rax, -0x2f0(%rbp)
jmp 0x4e643
movb $0x1, -0x16a(%rbp)
movq -0xe0(%rbp), %rax
movq %rax, -0x300(%rbp)
leaq -0x169(%rbp), %rdi
movq %rdi, -0x2f8(%rbp)
callq 0xcbc0
movq -0x300(%rbp), %rsi
movq -0x2f8(%rbp), %rdx
leaq -0x168(%rbp), %rdi
callq 0x27820
jmp 0x4e687
leaq 0x5923c(%rip), %rdx     # 0xa78ca
leaq -0x148(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0x2eef0
jmp 0x4e6a3
leaq -0x148(%rbp), %rdi
callq 0xc260
movq -0x2f0(%rbp), %rdi
movq %rax, %rsi
movl $0x10, %edx
callq 0xc740
jmp 0x4e6c5
movq -0x2f0(%rbp), %rax
movb $0x0, -0x16a(%rbp)
movq %rax, -0x30(%rbp)
leaq -0x148(%rbp), %rdi
callq 0xc3e0
leaq -0x168(%rbp), %rdi
callq 0xc3e0
leaq -0x169(%rbp), %rdi
callq 0xc730
jmp 0x4e8f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x4e740
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x4e734
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x100(%rbp), %rdi
callq 0xc3e0
leaq -0x120(%rbp), %rdi
callq 0xc3e0
leaq -0x121(%rbp), %rdi
callq 0xc730
testb $0x1, -0x122(%rbp)
jne 0x4e757
jmp 0x4e768
movq -0x2d8(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0xc6a0
jmp 0x4e946
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x4e7ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x4e7a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x148(%rbp), %rdi
callq 0xc3e0
leaq -0x168(%rbp), %rdi
callq 0xc3e0
leaq -0x169(%rbp), %rdi
callq 0xc730
testb $0x1, -0x16a(%rbp)
jne 0x4e7c4
jmp 0x4e7d5
movq -0x2f0(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0xc6a0
jmp 0x4e946
jmp 0x4e7dc
leaq 0x85ec5(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, -0x308(%rbp)
jmp 0x4e7f4
movq -0x308(%rbp), %rax
cmpq $0x0, %rax
je 0x4e8df
leaq 0x85e9c(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25800
jmp 0x4e816
leaq 0x85e8b(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, -0x310(%rbp)
jmp 0x4e82e
movq -0x310(%rbp), %rdi
leaq 0x57974(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, -0x318(%rbp)
jmp 0x4e84a
movq -0x318(%rbp), %rdi
leaq 0x58fa8(%rip), %rsi     # 0xa7800
callq 0xc670
movq %rax, -0x320(%rbp)
jmp 0x4e866
movq -0x320(%rbp), %rdi
leaq 0x5905b(%rip), %rsi     # 0xa78cf
callq 0xc670
movq %rax, -0x328(%rbp)
jmp 0x4e882
movq -0x328(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0xc5b0
movq %rax, -0x330(%rbp)
jmp 0x4e89b
movq -0x330(%rbp), %rdi
leaq 0x59b2a(%rip), %rsi     # 0xa83d3
callq 0xc670
movq %rax, -0x338(%rbp)
jmp 0x4e8b7
movq -0x338(%rbp), %rdi
movq 0x856fb(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
jmp 0x4e8cc
leaq 0x85dd5(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x4e8dd
jmp 0x4e8df
jmp 0x4e8e1
jmp 0x4e8e3
movb $0x0, -0x1(%rbp)
movl $0x1, -0xc4(%rbp)
jmp 0x4e92f
jmp 0x4e8f5
jmp 0x4e8f7
movq -0x178(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x4ea80
jmp 0x4e909
movq -0x178(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x4eaf0
jmp 0x4e91b
jmp 0x4e91d
jmp 0x4e91f
jmp 0x4e921
movb $0x1, -0x1(%rbp)
movl $0x1, -0xc4(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x256b0
leaq -0x50(%rbp), %rdi
callq 0xc3e0
jmp 0x4e95d
leaq -0xa0(%rbp), %rdi
callq 0x256b0
leaq -0x50(%rbp), %rdi
callq 0xc3e0
jmp 0x4e96b
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x340, %rsp            # imm = 0x340
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0xcba0
nopw %cs:(%rax,%rax)