// File: /workspace/github_cpp_makefile_star2_O3/ArashPartow[P]exprtk-extras/exprtk_testgen.cpp
// Function: bool test_gen<double>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
inline bool test_gen(const std::string& expr_file)
{
   typedef exprtk::expression<T> expression_t;

   T x = T(0);
   T y = T(0);
   T z = T(0);
   T w = T(0);

   exprtk::polynomial<T, 1> poly01;
   exprtk::polynomial<T, 2> poly02;
   exprtk::polynomial<T, 3> poly03;
   exprtk::polynomial<T, 4> poly04;
   exprtk::polynomial<T, 5> poly05;
   exprtk::polynomial<T, 6> poly06;
   exprtk::polynomial<T, 7> poly07;
   exprtk::polynomial<T, 8> poly08;
   exprtk::polynomial<T, 9> poly09;
   exprtk::polynomial<T,10> poly10;
   exprtk::polynomial<T,11> poly11;
   exprtk::polynomial<T,12> poly12;

   exprtk::symbol_table<T> symbol_table;
   symbol_table.add_constants();
   symbol_table.add_variable("x",x);
   symbol_table.add_variable("y",y);
   symbol_table.add_variable("z",z);
   symbol_table.add_variable("w",w);
   symbol_table.add_function("poly01", poly01);
   symbol_table.add_function("poly02", poly02);
   symbol_table.add_function("poly03", poly03);
   symbol_table.add_function("poly04", poly04);
   symbol_table.add_function("poly05", poly05);
   symbol_table.add_function("poly06", poly06);
   symbol_table.add_function("poly07", poly07);
   symbol_table.add_function("poly08", poly08);
   symbol_table.add_function("poly09", poly09);
   symbol_table.add_function("poly10", poly10);
   symbol_table.add_function("poly11", poly11);
   symbol_table.add_function("poly12", poly12);

   expression_t expression;
   expression.register_symbol_table(symbol_table);

   exprtk::parser<T> parser;

   std::deque<std::string> expr_str_list;

   if (0 == load_expressions(expr_file,expr_str_list))
   {
      return true;
   }

   std::deque<exprtk::expression<T> > expression_list;

   bool load_success = true;

   for (std::size_t i = 0; i < expr_str_list.size(); ++i)
   {
      exprtk::expression<T> current_expression;

      current_expression.register_symbol_table(symbol_table);

      if (!parser.compile(expr_str_list[i],current_expression))
      {
         load_success = false;
         printf("test_gen() - Error: %s   Expression: %s\n",
                parser.error().c_str(),
                expr_str_list[i].c_str());
      }
      else
         expression_list.push_back(current_expression);
   }

   if (!load_success)
      return false;

   for (std::size_t i = 0; i < expression_list.size(); ++i)
   {
      T result = expression_list[i].value();

      printf("equal((%050.30f),(%s))\n",
             result,
             expr_str_list[i].c_str());
   }

   return true;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd38, %rsp            # imm = 0xD38
movq %rdi, %rbx
xorl %eax, %eax
movq %rax, 0x48(%rsp)
movq %rax, 0x40(%rsp)
movq %rax, 0x38(%rsp)
movq %rax, 0x30(%rsp)
movw %ax, 0x250(%rsp)
movq %rax, 0x258(%rsp)
movq $-0x1, %rcx
movq %rcx, 0x260(%rsp)
movq $0x3, 0x268(%rsp)
leaq 0x2876df(%rip), %rdx    # 0x3a0b98
movq %rdx, 0x248(%rsp)
movw %ax, 0x228(%rsp)
movq %rax, 0x230(%rsp)
movq %rcx, 0x238(%rsp)
movq $0x4, 0x240(%rsp)
leaq 0x2877c4(%rip), %rdx    # 0x3a0cb0
movq %rdx, 0x220(%rsp)
movw %ax, 0x200(%rsp)
movq %rax, 0x208(%rsp)
movq %rcx, 0x210(%rsp)
movq $0x5, 0x218(%rsp)
leaq 0x287871(%rip), %rdx    # 0x3a0d90
movq %rdx, 0x1f8(%rsp)
movw %ax, 0x1d8(%rsp)
movq %rax, 0x1e0(%rsp)
movq %rcx, 0x1e8(%rsp)
movq $0x6, 0x1f0(%rsp)
leaq 0x28791e(%rip), %rdx    # 0x3a0e70
movq %rdx, 0x1d0(%rsp)
movw %ax, 0x1b0(%rsp)
movq %rax, 0x1b8(%rsp)
movq %rcx, 0x1c0(%rsp)
movq $0x7, 0x1c8(%rsp)
leaq 0x2879cb(%rip), %rdx    # 0x3a0f50
movq %rdx, 0x1a8(%rsp)
movw %ax, 0x188(%rsp)
movq %rax, 0x190(%rsp)
movq %rcx, 0x198(%rsp)
movq $0x8, 0x1a0(%rsp)
leaq 0x287a78(%rip), %rdx    # 0x3a1030
movq %rdx, 0x180(%rsp)
movw %ax, 0x160(%rsp)
movq %rax, 0x168(%rsp)
movq %rcx, 0x170(%rsp)
movq $0x9, 0x178(%rsp)
leaq 0x287b25(%rip), %rdx    # 0x3a1110
movq %rdx, 0x158(%rsp)
movw %ax, 0x138(%rsp)
movq %rax, 0x140(%rsp)
movq %rcx, 0x148(%rsp)
movq $0xa, 0x150(%rsp)
leaq 0x287bd2(%rip), %rdx    # 0x3a11f0
movq %rdx, 0x130(%rsp)
movw %ax, 0x110(%rsp)
movq %rax, 0x118(%rsp)
movq %rcx, 0x120(%rsp)
movq $0xb, 0x128(%rsp)
leaq 0x287c7f(%rip), %rdx    # 0x3a12d0
movq %rdx, 0x108(%rsp)
movw %ax, 0xe8(%rsp)
movq %rax, 0xf0(%rsp)
movq %rcx, 0xf8(%rsp)
movq $0xc, 0x100(%rsp)
leaq 0x287d2c(%rip), %rdx    # 0x3a13b0
movq %rdx, 0xe0(%rsp)
movw %ax, 0xc0(%rsp)
movq %rax, 0xc8(%rsp)
movq %rcx, 0xd0(%rsp)
movq $0xd, 0xd8(%rsp)
leaq 0x287dd9(%rip), %rdx    # 0x3a1490
movq %rdx, 0xb8(%rsp)
movw %ax, 0x98(%rsp)
movq %rax, 0xa0(%rsp)
movq %rcx, 0xa8(%rsp)
movq $0xe, 0xb0(%rsp)
leaq 0x287e86(%rip), %rax    # 0x3a1570
movq %rax, 0x90(%rsp)
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x1, %esi
callq 0x11a342
movq %r14, %rdi
callq 0x11a38a
leaq 0x420(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x190172(%rip), %rsi    # 0x2a9891
leaq 0x19016c(%rip), %rdx    # 0x2a9892
leaq 0x410(%rsp), %rdi
callq 0x11a2ac
leaq 0x8(%rsp), %rdi
leaq 0x410(%rsp), %rsi
leaq 0x48(%rsp), %rdx
xorl %ecx, %ecx
callq 0x11a4d0
movq 0x410(%rsp), %rdi
cmpq %r15, %rdi
je 0x119769
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x1160c0
leaq 0x410(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x19033e(%rip), %rsi    # 0x2a9ab9
leaq 0x190338(%rip), %rdx    # 0x2a9aba
callq 0x11a2ac
leaq 0x8(%rsp), %rdi
leaq 0x410(%rsp), %rsi
leaq 0x40(%rsp), %rdx
xorl %ecx, %ecx
callq 0x11a4d0
movq 0x410(%rsp), %rdi
cmpq %r15, %rdi
je 0x1197bd
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x1160c0
leaq 0x410(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x19016a(%rip), %rsi    # 0x2a9939
leaq 0x190164(%rip), %rdx    # 0x2a993a
callq 0x11a2ac
leaq 0x8(%rsp), %rdi
leaq 0x410(%rsp), %rsi
leaq 0x38(%rsp), %rdx
xorl %ecx, %ecx
callq 0x11a4d0
movq 0x410(%rsp), %rdi
cmpq %r15, %rdi
je 0x119811
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x1160c0
leaq 0x410(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x190091(%rip), %rsi    # 0x2a98b4
leaq 0x19008b(%rip), %rdx    # 0x2a98b5
callq 0x11a2ac
leaq 0x8(%rsp), %rdi
leaq 0x410(%rsp), %rsi
leaq 0x30(%rsp), %rdx
xorl %ecx, %ecx
callq 0x11a4d0
movq 0x410(%rsp), %rdi
cmpq %r15, %rdi
je 0x119865
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x1160c0
leaq 0x410(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x1900c4(%rip), %rsi    # 0x2a993b
leaq 0x1900c3(%rip), %rdx    # 0x2a9941
callq 0x11a2ac
leaq 0x8(%rsp), %rdi
leaq 0x410(%rsp), %rsi
leaq 0x248(%rsp), %rdx
callq 0x11a620
movq 0x410(%rsp), %rdi
cmpq %r15, %rdi
je 0x1198ba
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x1160c0
leaq 0x410(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x190076(%rip), %rsi    # 0x2a9942
leaq 0x190075(%rip), %rdx    # 0x2a9948
callq 0x11a2ac
leaq 0x8(%rsp), %rdi
leaq 0x410(%rsp), %rsi
leaq 0x220(%rsp), %rdx
callq 0x11a620
movq 0x410(%rsp), %rdi
cmpq %r15, %rdi
je 0x11990f
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x1160c0
leaq 0x410(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x190028(%rip), %rsi    # 0x2a9949
leaq 0x190027(%rip), %rdx    # 0x2a994f
callq 0x11a2ac
leaq 0x8(%rsp), %rdi
leaq 0x410(%rsp), %rsi
leaq 0x1f8(%rsp), %rdx
callq 0x11a620
movq 0x410(%rsp), %rdi
cmpq %r15, %rdi
je 0x119964
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x1160c0
leaq 0x410(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x18ffda(%rip), %rsi    # 0x2a9950
leaq 0x18ffd9(%rip), %rdx    # 0x2a9956
callq 0x11a2ac
leaq 0x8(%rsp), %rdi
leaq 0x410(%rsp), %rsi
leaq 0x1d0(%rsp), %rdx
callq 0x11a620
movq 0x410(%rsp), %rdi
cmpq %r15, %rdi
je 0x1199b9
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x1160c0
leaq 0x410(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x18ff8c(%rip), %rsi    # 0x2a9957
leaq 0x18ff8b(%rip), %rdx    # 0x2a995d
callq 0x11a2ac
leaq 0x8(%rsp), %rdi
leaq 0x410(%rsp), %rsi
leaq 0x1a8(%rsp), %rdx
callq 0x11a620
movq 0x410(%rsp), %rdi
cmpq %r15, %rdi
je 0x119a0e
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x1160c0
leaq 0x410(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x18ff3e(%rip), %rsi    # 0x2a995e
leaq 0x18ff3d(%rip), %rdx    # 0x2a9964
callq 0x11a2ac
leaq 0x8(%rsp), %rdi
leaq 0x410(%rsp), %rsi
leaq 0x180(%rsp), %rdx
callq 0x11a620
movq 0x410(%rsp), %rdi
cmpq %r15, %rdi
je 0x119a63
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x1160c0
leaq 0x410(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x18fef0(%rip), %rsi    # 0x2a9965
leaq 0x18feef(%rip), %rdx    # 0x2a996b
callq 0x11a2ac
leaq 0x8(%rsp), %rdi
leaq 0x410(%rsp), %rsi
leaq 0x158(%rsp), %rdx
callq 0x11a620
movq 0x410(%rsp), %rdi
cmpq %r15, %rdi
je 0x119ab8
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x1160c0
leaq 0x410(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x18fea2(%rip), %rsi    # 0x2a996c
leaq 0x18fea1(%rip), %rdx    # 0x2a9972
callq 0x11a2ac
leaq 0x8(%rsp), %rdi
leaq 0x410(%rsp), %rsi
leaq 0x130(%rsp), %rdx
callq 0x11a620
movq 0x410(%rsp), %rdi
cmpq %r15, %rdi
je 0x119b0d
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x1160c0
leaq 0x410(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x18fe54(%rip), %rsi    # 0x2a9973
leaq 0x18fe53(%rip), %rdx    # 0x2a9979
callq 0x11a2ac
leaq 0x8(%rsp), %rdi
leaq 0x410(%rsp), %rsi
leaq 0x108(%rsp), %rdx
callq 0x11a620
movq 0x410(%rsp), %rdi
cmpq %r15, %rdi
je 0x119b62
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x1160c0
leaq 0x410(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x18fe06(%rip), %rsi    # 0x2a997a
leaq 0x18fe05(%rip), %rdx    # 0x2a9980
callq 0x11a2ac
leaq 0x8(%rsp), %rdi
leaq 0x410(%rsp), %rsi
leaq 0xe0(%rsp), %rdx
callq 0x11a620
movq 0x410(%rsp), %rdi
cmpq %r15, %rdi
je 0x119bb7
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x1160c0
leaq 0x410(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x18fdb8(%rip), %rsi    # 0x2a9981
leaq 0x18fdb7(%rip), %rdx    # 0x2a9987
callq 0x11a2ac
leaq 0x8(%rsp), %rdi
leaq 0x410(%rsp), %rsi
leaq 0xb8(%rsp), %rdx
callq 0x11a620
movq 0x410(%rsp), %rdi
cmpq %r15, %rdi
je 0x119c0c
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x1160c0
leaq 0x410(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x18fd6a(%rip), %rsi    # 0x2a9988
leaq 0x18fd69(%rip), %rdx    # 0x2a998e
callq 0x11a2ac
leaq 0x8(%rsp), %r14
leaq 0x410(%rsp), %rsi
leaq 0x90(%rsp), %rdx
movq %r14, %rdi
callq 0x11a620
movq 0x410(%rsp), %rdi
cmpq %r15, %rdi
je 0x119c64
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x1160c0
leaq 0x50(%rsp), %rdi
callq 0x11a72a
movq 0x58(%rsp), %rax
movq 0x60(%rsp), %rcx
subq %rax, %rcx
je 0x119ca1
sarq $0x3, %rcx
movq 0x8(%rsp), %rdx
cmpq $0x1, %rcx
adcq $0x0, %rcx
cmpq %r14, %rax
je 0x119cb0
cmpq (%rax), %rdx
je 0x119cb0
addq $0x8, %rax
decq %rcx
jne 0x119c8e
leaq 0x58(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x11ff72
leaq 0x2c0(%rsp), %rdi
movl $0x7f, %esi
callq 0x11a7b6
leaq 0x410(%rsp), %rdi
leaq 0x2c0(%rsp), %rsi
callq 0x11a8b6
leaq 0x3c0(%rsp), %rdi
callq 0x120174
leaq 0x390(%rsp), %rdi
callq 0x120174
leaq 0x360(%rsp), %rdi
callq 0x120174
leaq 0x330(%rsp), %rdi
callq 0x120174
leaq 0x300(%rsp), %rdi
callq 0x120174
leaq 0x2d0(%rsp), %r15
movq %r15, %rdi
callq 0x120174
xorps %xmm0, %xmm0
movaps %xmm0, 0x30(%r15)
movaps %xmm0, 0x20(%r15)
movaps %xmm0, 0x10(%r15)
movaps %xmm0, (%r15)
movaps %xmm0, -0x10(%r15)
leaq 0x2c0(%rsp), %rdi
xorl %esi, %esi
callq 0x17e100
leaq 0x2c0(%rsp), %rsi
movq %rbx, %rdi
callq 0x11b0d9
testq %rax, %rax
je 0x11a168
xorps %xmm0, %xmm0
leaq 0x270(%rsp), %rdi
movaps %xmm0, 0x40(%rdi)
movaps %xmm0, 0x30(%rdi)
movaps %xmm0, 0x20(%rdi)
movaps %xmm0, 0x10(%rdi)
movaps %xmm0, (%rdi)
xorl %esi, %esi
callq 0x17e52e
movb $0x1, %bl
leaq 0x20(%rsp), %rbp
leaq 0x70(%rsp), %r12
leaq 0x410(%rsp), %r13
xorl %r15d, %r15d
movq 0x308(%rsp), %rax
movq %rax, %rcx
subq 0x2e8(%rsp), %rcx
shrq $0x3, %rcx
cmpq $0x1, %rax
adcq $-0x1, %rcx
shlq $0x4, %rcx
movq 0x2f0(%rsp), %rax
subq 0x2f8(%rsp), %rax
movq 0x2e0(%rsp), %rdx
sarq $0x5, %rax
subq 0x2d0(%rsp), %rdx
sarq $0x5, %rdx
addq %rax, %rdx
addq %rcx, %rdx
cmpq %rdx, %r15
jae 0x11a025
movq %r12, %rdi
callq 0x11a72a
movq 0x78(%rsp), %rax
movq 0x80(%rsp), %rcx
subq %rax, %rcx
je 0x119e3f
sarq $0x3, %rcx
movq 0x8(%rsp), %rdx
cmpq $0x1, %rcx
adcq $0x0, %rcx
cmpq %r14, %rax
je 0x119e4c
cmpq (%rax), %rdx
je 0x119e4c
addq $0x8, %rax
decq %rcx
jne 0x119e2c
leaq 0x78(%rsp), %rdi
movq %r14, %rsi
callq 0x11ff72
movq 0x2d0(%rsp), %rcx
movq 0x2e8(%rsp), %rax
movq %rcx, %rsi
subq 0x2d8(%rsp), %rsi
sarq $0x5, %rsi
addq %r15, %rsi
js 0x119e85
cmpq $0xf, %rsi
ja 0x119e8e
movq %r15, %rax
shlq $0x5, %rax
addq %rax, %rcx
movq %rcx, %rsi
jmp 0x119ea7
movq %rsi, %rcx
sarq $0x4, %rcx
jmp 0x119e95
movq %rsi, %rcx
shrq $0x4, %rcx
movq %rcx, %rdx
shlq $0x4, %rdx
subq %rdx, %rsi
shlq $0x5, %rsi
addq (%rax,%rcx,8), %rsi
movq %r13, %rdi
movq %r12, %rdx
callq 0x11b1fe
testb %al, %al
je 0x119ecb
leaq 0x270(%rsp), %rdi
movq %r12, %rsi
callq 0x11bd9a
jmp 0x11a015
movq 0x728(%rsp), %rdi
cmpq %rdi, 0x748(%rsp)
je 0x119f26
movq 0x740(%rsp), %rsi
movq %rdi, %rcx
subq 0x730(%rsp), %rcx
movq %rcx, %rax
sarq $0x3, %rax
movabsq $-0x30c30c30c30c30c3, %rdx # imm = 0xCF3CF3CF3CF3CF3D
imulq %rdx, %rax
cmpq $-0xa7, %rcx
jl 0x119f4d
cmpq $0x3, %rax
jb 0x119f71
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
mulq %rdx
shrq %rdx
jmp 0x119f63
movq %rbp, 0x10(%rsp)
movabsq $0x726f727245206f4e, %rax # imm = 0x726F727245206F4E
movq %rax, 0x20(%rsp)
movq $0x8, 0x18(%rsp)
movb $0x0, 0x28(%rsp)
movq %rbp, %rsi
jmp 0x119f90
notq %rax
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
mulq %rdx
shrq %rdx
notq %rdx
imulq $-0x1f8, %rdx, %rdi     # imm = 0xFE08
addq (%rsi,%rdx,8), %rdi
addq %rcx, %rdi
movq %rbp, 0x10(%rsp)
movq 0x38(%rdi), %rsi
movq 0x40(%rdi), %rdx
addq %rsi, %rdx
leaq 0x10(%rsp), %rdi
callq 0x11d388
movq 0x10(%rsp), %rsi
movq 0x2d0(%rsp), %rdx
movq 0x2e8(%rsp), %rcx
movq %rdx, %rax
subq 0x2d8(%rsp), %rax
sarq $0x5, %rax
addq %r15, %rax
js 0x119fc9
cmpq $0xf, %rax
ja 0x119fd2
movq %r15, %rax
shlq $0x5, %rax
addq %rax, %rdx
movq %rdx, %rax
jmp 0x119feb
movq %rax, %rdx
sarq $0x4, %rdx
jmp 0x119fd9
movq %rax, %rdx
shrq $0x4, %rdx
movq %rdx, %rdi
shlq $0x4, %rdi
subq %rdi, %rax
shlq $0x5, %rax
addq (%rcx,%rdx,8), %rax
movq (%rax), %rdx
leaq 0x18f99a(%rip), %rdi    # 0x2a998f
xorl %eax, %eax
callq 0x116080
movq 0x10(%rsp), %rdi
cmpq %rbp, %rdi
je 0x11a013
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x1160c0
xorl %ebx, %ebx
movq %r12, %rdi
callq 0x11bde8
incq %r15
jmp 0x119da7
testb $0x1, %bl
je 0x11a159
xorl %r15d, %r15d
leaq 0x18f980(%rip), %r14    # 0x2a99b8
xorl %r12d, %r12d
movq 0x2b8(%rsp), %rcx
movq 0x298(%rsp), %rax
movq %rcx, %rsi
subq %rax, %rsi
shrq $0x3, %rsi
cmpq $0x1, %rcx
adcq $-0x1, %rsi
shlq $0x4, %rsi
movq 0x2a0(%rsp), %rcx
subq 0x2a8(%rsp), %rcx
sarq $0x5, %rcx
movq 0x280(%rsp), %rdx
movq 0x290(%rsp), %rdi
subq %rdx, %rdi
sarq $0x5, %rdi
addq %rcx, %rdi
addq %rsi, %rdi
cmpq %rdi, %r12
jae 0x11a159
movq %rdx, %rcx
subq 0x288(%rsp), %rcx
sarq $0x5, %rcx
addq %r12, %rcx
js 0x11a0bd
cmpq $0xf, %rcx
ja 0x11a0c6
addq %r15, %rdx
movq %rdx, %rcx
jmp 0x11a0df
movq %rcx, %rdx
sarq $0x4, %rdx
jmp 0x11a0cd
movq %rcx, %rdx
shrq $0x4, %rdx
movq %rdx, %rsi
shlq $0x4, %rsi
subq %rsi, %rcx
shlq $0x5, %rcx
addq (%rax,%rdx,8), %rcx
movq (%rcx), %rax
movq 0x8(%rax), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movq 0x2d0(%rsp), %rdx
movq 0x2e8(%rsp), %rcx
movq %rdx, %rax
subq 0x2d8(%rsp), %rax
sarq $0x5, %rax
addq %r12, %rax
js 0x11a11e
cmpq $0xf, %rax
ja 0x11a127
addq %r15, %rdx
movq %rdx, %rax
jmp 0x11a140
movq %rax, %rdx
sarq $0x4, %rdx
jmp 0x11a12e
movq %rax, %rdx
shrq $0x4, %rdx
movq %rdx, %rsi
shlq $0x4, %rsi
subq %rsi, %rax
shlq $0x5, %rax
addq (%rcx,%rdx,8), %rax
movq (%rax), %rsi
movq %r14, %rdi
movb $0x1, %al
callq 0x116080
incq %r12
addq $0x20, %r15
jmp 0x11a03b
leaq 0x270(%rsp), %rdi
callq 0x11be36
jmp 0x11a16a
movb $0x1, %bl
leaq 0x2c0(%rsp), %rdi
callq 0x11be80
leaq 0x410(%rsp), %rdi
callq 0x11beca
leaq 0x50(%rsp), %rdi
callq 0x11bde8
leaq 0x8(%rsp), %rdi
callq 0x11c18c
andb $0x1, %bl
movl %ebx, %eax
addq $0xd38, %rsp            # imm = 0xD38
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x11a1b3
jmp 0x11a1d8
movq %rax, %rbx
jmp 0x11a26a
movq %rax, %rbx
jmp 0x11a277
movq %rax, %rbx
leaq 0x2c0(%rsp), %rdi
callq 0x11b092
jmp 0x11a284
movq %rax, %rbx
jmp 0x11a284
jmp 0x11a242
jmp 0x11a21e
jmp 0x11a242
jmp 0x11a21e
jmp 0x11a242
jmp 0x11a21e
jmp 0x11a242
jmp 0x11a21e
jmp 0x11a242
jmp 0x11a21e
jmp 0x11a242
jmp 0x11a21e
jmp 0x11a242
jmp 0x11a21e
jmp 0x11a242
jmp 0x11a21e
jmp 0x11a242
jmp 0x11a21e
jmp 0x11a242
jmp 0x11a21e
jmp 0x11a242
jmp 0x11a21e
jmp 0x11a242
jmp 0x11a21e
jmp 0x11a242
jmp 0x11a21e
jmp 0x11a242
jmp 0x11a21e
jmp 0x11a242
jmp 0x11a21e
jmp 0x11a242
movq %rax, %rbx
movq 0x410(%rsp), %rdi
cmpq %r15, %rdi
je 0x11a28e
movq 0x420(%rsp), %rsi
incq %rsi
callq 0x1160c0
jmp 0x11a28e
jmp 0x11a242
movq %rax, %rbx
jmp 0x11a28e
jmp 0x11a250
jmp 0x11a24b
movq %rax, %rbx
jmp 0x11a25d
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x11bde8
leaq 0x270(%rsp), %rdi
callq 0x11be36
leaq 0x2c0(%rsp), %rdi
callq 0x11be80
leaq 0x410(%rsp), %rdi
callq 0x11beca
leaq 0x50(%rsp), %rdi
callq 0x11bde8
leaq 0x8(%rsp), %rdi
callq 0x11c18c
movq %rbx, %rdi
callq 0x116310