// File: ArashPartow[P]exprtk-extras/exprtk_repl.cpp
// Function: expression_processor<double>::process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void process(std::string program)
   {
      program = trim_whitespace(program);

      if (program.empty())
         return;

      setup_symbol_table();

      expression_t expression;
      expression.register_symbol_table(symbol_table_);
      expression.register_symbol_table(function_symbol_table_);

      exprtk::timer compile_timer;
      compile_timer.start();

      if (enable_usr_)
         parser_.enable_unknown_symbol_resolver();
      else
         parser_.disable_unknown_symbol_resolver();

      if (disable_local_vardef_)
         parser_.settings().disable_local_vardef();
      else
         parser_.settings().enable_local_vardef();

      parser_.dec().collect_variables() = symbol_dump_;
      parser_.dec().collect_functions() = symbol_dump_;

      parser_.dec().collect_assignments() = assignment_dump_;

      if (!parser_.compile(program,expression))
      {
         printf("Error: %s\tExpression:%c%s\n",
                parser_.error().c_str(),
                ((std::string::npos != program.find_first_of('\n')) ? '\n' : ' '),
                ((program.size() < 200) ? program.c_str() : "....."));

         for (std::size_t i = 0; i < parser_.error_count(); ++i)
         {
            error_t error = parser_.get_error(i);

            printf("Err No.: %02d  Pos: %02d  Type: [%14s] Msg: %s\n",
                   static_cast<unsigned int>(i),
                   static_cast<unsigned int>(error.token.position),
                   exprtk::parser_error::to_str(error.mode).c_str(),
                   error.diagnostic.c_str());

            if (
                 (0 == i) &&
                 exprtk::parser_error::update_error(error,program)
               )
            {
               printf("Error (line: %d column: %d)\n",
                      static_cast<unsigned int>(error.line_no),
                      static_cast<unsigned int>(error.column_no));

               printf("%s \n",error.error_line.c_str());
               printf("%s^\n",std::string(error.column_no,'~').c_str());
            }
         }

         return;
      }

      compile_timer.stop();

      if (display_total_compile_time_)
      {
         printf("\nCompile time: %6.3fms\n",compile_timer.time() * 1000.0);
      }

      if (batch_runs_cnt_)
      {
         std::vector<double> timings(batch_runs_cnt_,0.0);

         exprtk::timer total_timer;
         exprtk::timer timer;

         T result = T(0);

         total_timer.start();

         for (std::size_t i = 0; i < batch_runs_cnt_; ++i)
         {
            timer.start();

            result = expression.value();

            timer.stop();

            timings[i] = timer.time() * 1000.0;
         }

         total_timer.stop();

         printf("\nResult: %15.9f\n",result);

         std::sort(timings.begin(),timings.end());

         printf("\nRuns: %4d  Time min: %7.3fms   max: %7.3fms   avg: %7.3fms   tot: %7.3fms   90%%:%7.3fms\n",
                static_cast<unsigned int>(batch_runs_cnt_),
                timings.front(),
                timings.back (),
                std::accumulate(timings.begin(),timings.end(),0.0) / timings.size(),
                total_timer.time() * 1000.0,
                timings[static_cast<int>(timings.size() * 0.90)]);

         return;
      }

      exprtk::timer timer;
      timer.start();

      const T result = expression.value();

      timer.stop();

      if (expression.results().count())
      {
         print_results(expression.results());
      }

      printf("\nResult: %15.9f\n",result);

      if (display_total_time_)
      {
         printf("\nTotal time: %6.3fms\n",timer.time() * 1000.0);
      }

      if (symbol_dump_)
      {
         symbol_list_t symbol_list;

         parser_.dec().symbols(symbol_list);

         printf("------ Symbols ------\n");
         perform_symbol_dump(symbol_list);
         printf("---------------------\n");
      }

      if (assignment_dump_)
      {
         symbol_list_t assignment_list;

         parser_.dec().assignment_symbols(assignment_list);

         printf("---- Assignments ----\n");
         perform_symbol_dump(assignment_list);
         printf("---------------------\n");
      }
   }

// Assembly:
subq $0x408, %rsp            # imm = 0x408
movq %rsi, 0x128(%rsp)
movq %rdi, 0x400(%rsp)
movq %rsi, 0x3f8(%rsp)
movq 0x400(%rsp), %rax
movq %rax, 0x130(%rsp)
leaq 0x3b8(%rsp), %rdi
movq %rdi, 0x138(%rsp)
callq 0x119150
movq 0x130(%rsp), %rsi
movq 0x138(%rsp), %rdx
leaq 0x3d8(%rsp), %rdi
callq 0x47ebe0
jmp 0x124003
movq 0x128(%rsp), %rdi
leaq 0x3d8(%rsp), %rsi
callq 0x119490
leaq 0x3d8(%rsp), %rdi
callq 0x119968
leaq 0x3b8(%rsp), %rdi
callq 0x119968
movq 0x128(%rsp), %rdi
callq 0x119270
testb $0x1, %al
jne 0x124045
jmp 0x124070
jmp 0x124d02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x3b8(%rsp), %rdi
callq 0x119968
jmp 0x124d17
movq 0x130(%rsp), %rdi
callq 0x481af0
leaq 0x388(%rsp), %rdi
movq %rdi, 0x120(%rsp)
callq 0x285ad0
movq 0x130(%rsp), %rsi
movq 0x120(%rsp), %rdi
addq $0x10, %rsi
callq 0x287260
jmp 0x1240ad
movq 0x130(%rsp), %rsi
addq $0x18, %rsi
leaq 0x388(%rsp), %rdi
callq 0x287260
jmp 0x1240c8
leaq 0x360(%rsp), %rdi
callq 0x481bd0
jmp 0x1240d7
leaq 0x360(%rsp), %rdi
callq 0x481c00
jmp 0x1240e6
movq 0x130(%rsp), %rax
testb $0x1, 0x5(%rax)
je 0x124126
movq 0x130(%rsp), %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x481c20
jmp 0x12410b
jmp 0x12413b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
jmp 0x124d0a
movq 0x130(%rsp), %rdi
addq $0x20, %rdi
callq 0x481c70
jmp 0x124139
jmp 0x12413b
movq 0x130(%rsp), %rax
testb $0x1, 0x6(%rax)
je 0x124166
movq 0x130(%rsp), %rdi
addq $0x20, %rdi
callq 0x432660
movq %rax, %rdi
callq 0x481ca0
jmp 0x124164
jmp 0x124183
movq 0x130(%rsp), %rdi
addq $0x20, %rdi
callq 0x432660
movq %rax, %rdi
callq 0x481cb0
jmp 0x124181
jmp 0x124183
movq 0x130(%rsp), %rdi
movb 0x1(%rdi), %al
movb %al, 0x10d(%rsp)
addq $0x20, %rdi
movq %rdi, 0x110(%rsp)
callq 0x287d80
movq %rax, %rdi
callq 0x148da0
movb 0x10d(%rsp), %dl
movq 0x110(%rsp), %rdi
movq %rax, %rcx
movq 0x130(%rsp), %rax
andb $0x1, %dl
movb %dl, (%rcx)
movb 0x1(%rax), %al
movb %al, 0x10e(%rsp)
callq 0x287d80
movq %rax, %rdi
callq 0x148dc0
movb 0x10e(%rsp), %dl
movq 0x110(%rsp), %rdi
movq %rax, %rcx
movq 0x130(%rsp), %rax
andb $0x1, %dl
movb %dl, (%rcx)
movb 0x2(%rax), %al
movb %al, 0x10f(%rsp)
callq 0x287d80
movq %rax, %rdi
callq 0x148de0
movb 0x10f(%rsp), %cl
movq 0x110(%rsp), %rdi
movq 0x128(%rsp), %rsi
andb $0x1, %cl
movb %cl, (%rax)
leaq 0x388(%rsp), %rdx
callq 0x2873c0
movb %al, 0x11f(%rsp)
jmp 0x12424c
movb 0x11f(%rsp), %al
testb $0x1, %al
jne 0x124638
jmp 0x12425d
movq 0x130(%rsp), %rsi
addq $0x20, %rsi
leaq 0x340(%rsp), %rdi
callq 0x481cc0
jmp 0x124278
leaq 0x340(%rsp), %rdi
callq 0x119120
movq 0x128(%rsp), %rdi
movq %rax, 0x100(%rsp)
movl $0xa, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x119520
movq %rax, %rdx
movq $-0x1, %rcx
movb $0xa, %al
movb $0x20, %sil
movb %sil, 0x10b(%rsp)
cmpq %rdx, %rcx
movb %al, 0x10c(%rsp)
jne 0x1242d4
movb 0x10b(%rsp), %al
movb %al, 0x10c(%rsp)
movq 0x128(%rsp), %rdi
movb 0x10c(%rsp), %al
movsbl %al, %eax
movl %eax, 0xfc(%rsp)
callq 0x1192a0
cmpq $0xc8, %rax
jae 0x124311
movq 0x128(%rsp), %rdi
callq 0x119120
movq %rax, 0xf0(%rsp)
jmp 0x124322
leaq 0x36d3dd(%rip), %rax    # 0x4916f5
movq %rax, 0xf0(%rsp)
jmp 0x124322
movl 0xfc(%rsp), %edx
movq 0x100(%rsp), %rsi
movq 0xf0(%rsp), %rcx
leaq 0x36d39a(%rip), %rdi    # 0x4916da
xorl %eax, %eax
callq 0x1190b0
jmp 0x124349
leaq 0x340(%rsp), %rdi
callq 0x119968
movq $0x0, 0x338(%rsp)
movq 0x130(%rsp), %rdi
movq 0x338(%rsp), %rax
movq %rax, 0xe8(%rsp)
addq $0x20, %rdi
callq 0x287c50
movq %rax, %rcx
movq 0xe8(%rsp), %rax
cmpq %rcx, %rax
jae 0x124628
movq 0x130(%rsp), %rsi
addq $0x20, %rsi
leaq 0x290(%rsp), %rdi
leaq 0x338(%rsp), %rdx
callq 0x287ca0
jmp 0x1243ba
movl 0x338(%rsp), %eax
movl %eax, 0xe0(%rsp)
movl 0x2b8(%rsp), %eax
movl %eax, 0xe4(%rsp)
movl 0x2c0(%rsp), %esi
leaq 0x270(%rsp), %rdi
callq 0x481d80
jmp 0x1243ec
leaq 0x270(%rsp), %rdi
callq 0x119120
movq %rax, 0xd8(%rsp)
leaq 0x2c8(%rsp), %rdi
callq 0x119120
movl 0xe0(%rsp), %esi
movl 0xe4(%rsp), %edx
movq 0xd8(%rsp), %rcx
movq %rax, %r8
leaq 0x36d2cd(%rip), %rdi    # 0x4916fb
xorl %eax, %eax
callq 0x1190b0
jmp 0x124437
leaq 0x270(%rsp), %rdi
callq 0x119968
xorl %eax, %eax
cmpq 0x338(%rsp), %rax
jne 0x1245f0
movq 0x128(%rsp), %rsi
leaq 0x290(%rsp), %rdi
callq 0x4820c0
movb %al, 0xd7(%rsp)
jmp 0x124472
movb 0xd7(%rsp), %al
testb $0x1, %al
jne 0x124482
jmp 0x1245f0
movl 0x328(%rsp), %esi
movl 0x330(%rsp), %edx
leaq 0x36d294(%rip), %rdi    # 0x49172b
xorl %eax, %eax
callq 0x1190b0
jmp 0x1244a0
leaq 0x308(%rsp), %rdi
callq 0x119120
movq %rax, %rsi
leaq 0x36d291(%rip), %rdi    # 0x491748
xorl %eax, %eax
callq 0x1190b0
jmp 0x1244c0
movq 0x330(%rsp), %rax
movq %rax, 0xc0(%rsp)
leaq 0x24f(%rsp), %rdi
movq %rdi, 0xc8(%rsp)
callq 0x1197d0
movq 0xc0(%rsp), %rsi
movq 0xc8(%rsp), %rcx
leaq 0x250(%rsp), %rdi
movl $0x7e, %edx
callq 0x47f810
jmp 0x124509
leaq 0x250(%rsp), %rdi
callq 0x119120
movq %rax, %rsi
leaq 0x36d22d(%rip), %rdi    # 0x49174d
xorl %eax, %eax
callq 0x1190b0
jmp 0x124529
leaq 0x250(%rsp), %rdi
callq 0x119968
leaq 0x24f(%rsp), %rdi
callq 0x119950
jmp 0x1245f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x340(%rsp), %rdi
callq 0x119968
jmp 0x124d0a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
jmp 0x124616
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x270(%rsp), %rdi
callq 0x119968
jmp 0x124616
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
jmp 0x1245e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x250(%rsp), %rdi
callq 0x119968
leaq 0x24f(%rsp), %rdi
callq 0x119950
jmp 0x124616
leaq 0x290(%rsp), %rdi
callq 0x25f1e0
movq 0x338(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x338(%rsp)
jmp 0x124362
leaq 0x290(%rsp), %rdi
callq 0x25f1e0
jmp 0x124d0a
movl $0x1, 0x248(%rsp)
jmp 0x124cf5
leaq 0x360(%rsp), %rdi
callq 0x4822a0
jmp 0x124647
movq 0x130(%rsp), %rax
testb $0x1, 0x4(%rax)
je 0x124694
leaq 0x360(%rsp), %rdi
callq 0x4822d0
movsd %xmm0, 0xb8(%rsp)
jmp 0x12466d
movsd 0xb8(%rsp), %xmm0
movsd 0x36298a(%rip), %xmm1   # 0x487008
mulsd %xmm1, %xmm0
leaq 0x36d0c9(%rip), %rdi    # 0x491752
movb $0x1, %al
callq 0x1190b0
jmp 0x124692
jmp 0x124694
movq 0x130(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x124a82
movq 0x130(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0xa8(%rsp)
movq $0x0, 0x228(%rsp)
leaq 0x227(%rsp), %rdi
movq %rdi, 0xb0(%rsp)
callq 0x290640
movq 0xa8(%rsp), %rsi
movq 0xb0(%rsp), %rcx
leaq 0x230(%rsp), %rdi
leaq 0x228(%rsp), %rdx
callq 0x290650
jmp 0x124703
leaq 0x227(%rsp), %rdi
callq 0x2906d0
leaq 0x1f8(%rsp), %rdi
callq 0x481bd0
jmp 0x12471f
leaq 0x1d0(%rsp), %rdi
callq 0x481bd0
jmp 0x12472e
movq $0x0, 0x1c8(%rsp)
leaq 0x1f8(%rsp), %rdi
callq 0x481c00
jmp 0x124749
movq $0x0, 0x1c0(%rsp)
movq 0x130(%rsp), %rcx
movq 0x1c0(%rsp), %rax
cmpq 0x8(%rcx), %rax
jae 0x124874
leaq 0x1d0(%rsp), %rdi
callq 0x481c00
jmp 0x12477e
leaq 0x388(%rsp), %rdi
callq 0x293970
movsd %xmm0, 0xa0(%rsp)
jmp 0x124796
movsd 0xa0(%rsp), %xmm0
movsd %xmm0, 0x1c8(%rsp)
leaq 0x1d0(%rsp), %rdi
callq 0x4822a0
jmp 0x1247b7
leaq 0x1d0(%rsp), %rdi
callq 0x4822d0
movsd %xmm0, 0x98(%rsp)
jmp 0x1247cf
movsd 0x98(%rsp), %xmm0
movsd 0x362828(%rip), %xmm1   # 0x487008
mulsd %xmm1, %xmm0
movsd %xmm0, 0x90(%rsp)
movq 0x1c0(%rsp), %rsi
leaq 0x230(%rsp), %rdi
callq 0x2911b0
movsd 0x90(%rsp), %xmm0
movsd %xmm0, (%rax)
movq 0x1c0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x1c0(%rsp)
jmp 0x124755
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x227(%rsp), %rdi
callq 0x2906d0
jmp 0x124d0a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x230(%rsp), %rdi
callq 0x28fd90
jmp 0x124d0a
leaq 0x1f8(%rsp), %rdi
callq 0x4822a0
jmp 0x124883
movsd 0x1c8(%rsp), %xmm0
leaq 0x36ced7(%rip), %rdi    # 0x49176a
movb $0x1, %al
callq 0x1190b0
jmp 0x12489c
leaq 0x230(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0x291f10
movq 0x88(%rsp), %rdi
movq %rax, 0x1b8(%rsp)
callq 0x43ffb0
movq %rax, 0x1b0(%rsp)
movq 0x1b8(%rsp), %rdi
movq 0x1b0(%rsp), %rsi
callq 0x482320
jmp 0x1248e5
movq 0x130(%rsp), %rax
movl 0x8(%rax), %eax
movl %eax, 0x64(%rsp)
leaq 0x230(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x482360
movq 0x78(%rsp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, 0x68(%rsp)
callq 0x482390
movq 0x78(%rsp), %rdi
movsd (%rax), %xmm0
movsd %xmm0, 0x70(%rsp)
callq 0x291f10
movq 0x78(%rsp), %rdi
movq %rax, 0x1a8(%rsp)
callq 0x43ffb0
movq %rax, 0x1a0(%rsp)
movq 0x1a8(%rsp), %rdi
movq 0x1a0(%rsp), %rsi
xorps %xmm0, %xmm0
callq 0x4823d0
movsd %xmm0, 0x80(%rsp)
jmp 0x12496b
leaq 0x230(%rsp), %rdi
callq 0x291440
movsd 0x80(%rsp), %xmm0
movq %rax, %xmm1
movaps 0x362743(%rip), %xmm2   # 0x4870d0
punpckldq %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x362747(%rip), %xmm2   # 0x4870e0
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x50(%rsp)
leaq 0x1f8(%rsp), %rdi
callq 0x4822d0
movsd %xmm0, 0x58(%rsp)
jmp 0x1249c7
movsd 0x58(%rsp), %xmm0
movsd 0x362633(%rip), %xmm1   # 0x487008
mulsd %xmm1, %xmm0
movsd %xmm0, 0x48(%rsp)
leaq 0x230(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x291440
movq 0x40(%rsp), %rdi
movq %rax, %xmm0
movaps 0x3626ce(%rip), %xmm1   # 0x4870d0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x3626d2(%rip), %xmm1   # 0x4870e0
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd 0x3625eb(%rip), %xmm1   # 0x487010
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movslq %eax, %rsi
callq 0x2911b0
movl 0x64(%rsp), %esi
movsd 0x68(%rsp), %xmm0
movsd 0x70(%rsp), %xmm1
movsd 0x50(%rsp), %xmm2
movsd 0x48(%rsp), %xmm3
movsd (%rax), %xmm4
leaq 0x36cd1f(%rip), %rdi    # 0x49177b
movb $0x5, %al
callq 0x1190b0
jmp 0x124a65
movl $0x1, 0x248(%rsp)
leaq 0x230(%rsp), %rdi
callq 0x28fd90
jmp 0x124cf5
leaq 0x178(%rsp), %rdi
callq 0x481bd0
jmp 0x124a91
leaq 0x178(%rsp), %rdi
callq 0x481c00
jmp 0x124aa0
leaq 0x388(%rsp), %rdi
callq 0x293970
movsd %xmm0, 0x38(%rsp)
jmp 0x124ab5
movsd 0x38(%rsp), %xmm0
movsd %xmm0, 0x170(%rsp)
leaq 0x178(%rsp), %rdi
callq 0x4822a0
jmp 0x124ad3
leaq 0x388(%rsp), %rdi
callq 0x293a90
movq %rax, 0x30(%rsp)
jmp 0x124ae7
movq 0x30(%rsp), %rdi
callq 0x482440
movq %rax, 0x28(%rsp)
jmp 0x124af8
movq 0x28(%rsp), %rax
cmpq $0x0, %rax
je 0x124b2d
leaq 0x388(%rsp), %rdi
callq 0x293a90
movq %rax, 0x20(%rsp)
jmp 0x124b17
movq 0x20(%rsp), %rsi
movq 0x130(%rsp), %rdi
callq 0x482480
jmp 0x124b2b
jmp 0x124b2d
movsd 0x170(%rsp), %xmm0
leaq 0x36cc2d(%rip), %rdi    # 0x49176a
movb $0x1, %al
callq 0x1190b0
jmp 0x124b46
movq 0x130(%rsp), %rax
testb $0x1, 0x3(%rax)
je 0x124b8d
leaq 0x178(%rsp), %rdi
callq 0x4822d0
movsd %xmm0, 0x18(%rsp)
jmp 0x124b69
movsd 0x18(%rsp), %xmm0
movsd 0x362491(%rip), %xmm1   # 0x487008
mulsd %xmm1, %xmm0
leaq 0x36cc54(%rip), %rdi    # 0x4917d6
movb $0x1, %al
callq 0x1190b0
jmp 0x124b8b
jmp 0x124b8d
movq 0x130(%rsp), %rax
testb $0x1, 0x1(%rax)
je 0x124c3d
leaq 0x158(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x13bf10
movq 0x130(%rsp), %rdi
addq $0x20, %rdi
callq 0x287d80
movq 0x10(%rsp), %rsi
movq %rax, %rdi
callq 0x4829e0
jmp 0x124bd1
leaq 0x36cc14(%rip), %rdi    # 0x4917ec
xorl %eax, %eax
callq 0x1190b0
jmp 0x124be1
movq 0x130(%rsp), %rdi
leaq 0x158(%rsp), %rsi
callq 0x482b30
jmp 0x124bf8
leaq 0x3683de(%rip), %rdi    # 0x48cfdd
xorl %eax, %eax
callq 0x1190b0
jmp 0x124c08
leaq 0x158(%rsp), %rdi
callq 0x25f290
jmp 0x124c3d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x158(%rsp), %rdi
callq 0x25f290
jmp 0x124d0a
movq 0x130(%rsp), %rax
testb $0x1, 0x2(%rax)
je 0x124cea
leaq 0x140(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x13bf10
movq 0x130(%rsp), %rdi
addq $0x20, %rdi
callq 0x287d80
movq 0x8(%rsp), %rsi
movq %rax, %rdi
callq 0x482d00
jmp 0x124c81
leaq 0x36cb7b(%rip), %rdi    # 0x491803
xorl %eax, %eax
callq 0x1190b0
jmp 0x124c91
movq 0x130(%rsp), %rdi
leaq 0x140(%rsp), %rsi
callq 0x482b30
jmp 0x124ca8
leaq 0x36832e(%rip), %rdi    # 0x48cfdd
xorl %eax, %eax
callq 0x1190b0
jmp 0x124cb8
leaq 0x140(%rsp), %rdi
callq 0x25f290
jmp 0x124cea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b0(%rsp)
movl %eax, 0x3ac(%rsp)
leaq 0x140(%rsp), %rdi
callq 0x25f290
jmp 0x124d0a
movl $0x0, 0x248(%rsp)
leaq 0x388(%rsp), %rdi
callq 0x260a80
addq $0x408, %rsp            # imm = 0x408
retq
leaq 0x388(%rsp), %rdi
callq 0x260a80
movq 0x3b0(%rsp), %rdi
callq 0x119570
nopw %cs:(%rax,%rax)
nop