// File: /workspace/github_cpp_makefile_star2_O3/ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::parser<double>::expression_generator<double>::vector_element(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, exprtk::details::vector_holder<double>*, exprtk::details::expression_node<double>*, exprtk::details::expression_node<double>*)
inline expression_node_ptr vector_element(const std::string&  symbol,
                                                   vector_holder_ptr   vector_base,
                                                   expression_node_ptr vec_node,
                                                   expression_node_ptr index)
         {
            expression_node_ptr result = error_node();
            std::string node_name = "Unknown";

            if (details::is_constant_node(index))
            {
               const std::size_t vec_index = static_cast<std::size_t>(details::numeric::to_int64(index->value()));

               details::free_node(*node_allocator_,index);

               if (vec_index >= vector_base->size())
               {
                  parser_->set_error(parser_error::make_error(
                     parser_error::e_parser,
                     token_t(),
                     "ERR269 - Index of " + details::to_str(vec_index) + " out of range for "
                     "vector '" + symbol + "' of size " + details::to_str(vector_base->size()),
                     exprtk_error_location));

                  details::free_node(*node_allocator_,vec_node);

                  return error_node();
               }

               if (vector_base->rebaseable())
               {
                  vector_access_runtime_check_ptr rtc = get_vector_access_runtime_check();

                  result = (rtc) ?
                     node_allocator_->allocate<rebasevector_celem_rtc_node_t>(vec_node, vec_index, vector_base, rtc) :
                     node_allocator_->allocate<rebasevector_celem_node_t    >(vec_node, vec_index, vector_base     ) ;

                  node_name = (rtc) ?
                     "rebasevector_elem_rtc_node_t" :
                     "rebasevector_elem_node_t"     ;

                  if (result && result->valid())
                  {
                     return result;
                  }

                  parser_->set_error(parser_error::make_error(
                     parser_error::e_synthesis,
                     token_t(),
                     "ERR270 - Failed to synthesize node: " + node_name + " for vector: " + symbol,
                     exprtk_error_location));

                  details::free_node(*node_allocator_, result);
                  return error_node();
               }
               else if (details::is_ivector_node(vec_node) && !details::is_vector_node(vec_node))
               {
                  vector_access_runtime_check_ptr rtc = get_vector_access_runtime_check();

                  result = (rtc) ?
                     node_allocator_->allocate<vector_celem_rtc_node_t>(vec_node, vec_index, vector_base, rtc) :
                     node_allocator_->allocate<vector_celem_node_t    >(vec_node, vec_index, vector_base     ) ;

                  node_name = (rtc) ?
                     "vector_elem_rtc_node_t" :
                     "vector_elem_node_t"     ;

                  if (result && result->valid())
                  {
                     return result;
                  }

                  parser_->set_error(parser_error::make_error(
                     parser_error::e_synthesis,
                     token_t(),
                     "ERR271 - Failed to synthesize node: " + node_name + " for vector: " + symbol,
                     exprtk_error_location));

                  details::free_node(*node_allocator_, result);
                  return error_node();
               }

               const scope_element& se = parser_->sem_.get_element(symbol,vec_index);

               if (se.index == vec_index)
               {
                  result = se.var_node;
                  details::free_node(*node_allocator_,vec_node);
               }
               else
               {
                  scope_element nse;
                  nse.name      = symbol;
                  nse.active    = true;
                  nse.ref_count = 1;
                  nse.type      = scope_element::e_vecelem;
                  nse.index     = vec_index;
                  nse.depth     = parser_->state_.scope_depth;
                  nse.data      = 0;
                  nse.var_node  = node_allocator_->allocate<variable_node_t>((*(*vector_base)[vec_index]));

                  if (!parser_->sem_.add_element(nse))
                  {
                     parser_->set_synthesis_error("Failed to add new local vector element to SEM [1]");

                     parser_->sem_.free_element(nse);

                     result = error_node();
                  }

                  assert(parser_->sem_.total_local_symb_size_bytes() <= parser_->settings().max_total_local_symbol_size_bytes());

                  details::free_node(*node_allocator_,vec_node);

                  exprtk_debug(("vector_element() - INFO - Added new local vector element: %s\n", nse.name.c_str()));

                  parser_->state_.activate_side_effect("vector_element()");

                  result = nse.var_node;
                  node_name = "variable_node_t";
               }
            }
            else
            {
               vector_access_runtime_check_ptr rtc = get_vector_access_runtime_check();

               if (vector_base->rebaseable())
               {
                  result = (rtc) ?
                     node_allocator_->allocate<rebasevector_elem_rtc_node_t>(vec_node, index, vector_base, rtc) :
                     node_allocator_->allocate<rebasevector_elem_node_t    >(vec_node, index, vector_base     ) ;

                  node_name = (rtc) ?
                     "rebasevector_elem_rtc_node_t" :
                     "rebasevector_elem_node_t"     ;
               }
               else
               {
                  result = rtc ?
                     node_allocator_->allocate<vector_elem_rtc_node_t>(vec_node, index, vector_base, rtc) :
                     node_allocator_->allocate<vector_elem_node_t    >(vec_node, index, vector_base     ) ;

                  node_name = (rtc) ?
                     "vector_elem_rtc_node_t" :
                     "vector_elem_node_t"     ;
               }
            }

            if (result && result->valid())
            {
               return result;
            }

            parser_->set_error(parser_error::make_error(
               parser_error::e_synthesis,
               token_t(),
               "ERR272 - Failed to synthesize node: " + node_name,
               exprtk_error_location));

            details::free_node(*node_allocator_, result);
            return error_node();
         }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x298, %rsp            # imm = 0x298
movq %r8, %r15
movq %rdx, %r12
movq %rsi, %r14
movq %rdi, %rbp
movq %rdx, 0x18(%rsp)
movq %rcx, 0x10(%rsp)
movq %r8, 0xa8(%rsp)
movq $0x0, 0x8(%rsp)
leaq 0x200(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x5e901(%rip), %rsi     # 0x3951f8
leaq 0x5e901(%rip), %rdx     # 0x3951ff
leaq 0x1f0(%rsp), %rdi
callq 0x1e4740
testq %r15, %r15
je 0x336b46
movq (%r15), %rax
movq %r15, %rdi
callq *0x28(%rax)
cmpl $0x2, %eax
je 0x336934
movq (%r15), %rax
movq %r15, %rdi
callq *0x28(%rax)
cmpl $0x13, %eax
jne 0x336b41
movq 0xa8(%rsp), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
cvttsd2si %xmm0, %rax
movq %rax, 0xa0(%rsp)
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x33698c
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x33698c
movq 0xa8(%rsp), %rdi
testq %rdi, %rdi
je 0x33697f
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x33698c
leaq 0xa8(%rsp), %rdi
callq 0x1ea63e
movq 0xa0(%rsp), %rbx
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
cmpq %rax, %rbx
jae 0x336a15
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x336bf9
movq 0x68(%rbp), %rax
movq 0x8e0(%rax), %r12
testq %r12, %r12
je 0x33796c
movl $0x58, %edi
callq 0x11e0f0
movq %rax, %r15
movq 0x10(%rsp), %rsi
movq 0xa0(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rax, %rdi
movq %r12, %r8
callq 0x338b1c
movq %r15, %rdi
addq $0x8, %rdi
movq 0x8(%r15), %rax
callq *0x10(%rax)
leaq 0x60b1f(%rip), %r12     # 0x39752f
jmp 0x3379a8
movq %r14, %rbx
movq 0x68(%rbp), %rax
movq %rax, 0x140(%rsp)
leaq 0xc8(%rsp), %rax
movl $0x0, -0x18(%rax)
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq $-0x1, 0x10(%rax)
movq 0xa0(%rsp), %r14
leaq 0x130(%rsp), %rax
movq %rax, -0x10(%rax)
movabsq $0x6666666666666667, %rbp # imm = 0x6666666666666667
testq %r14, %r14
je 0x3371d3
leaq 0x120(%rsp), %r15
movq $0x0, 0x8(%r15)
movb $0x0, 0x10(%r15)
movq %r14, %r12
movq %r12, %rax
imulq %rbp
movq %rdx, %r13
movq %rdx, %rax
shrq $0x3f, %rax
sarq $0x2, %r13
addq %rax, %r13
leal (,%r13,2), %eax
leal (%rax,%rax,4), %eax
movl %r12d, %ecx
subl %eax, %ecx
movl %ecx, %eax
negb %al
testq %r14, %r14
movzbl %al, %eax
cmovnsl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %r15, %rdi
callq 0x11e5d0
addq $0x9, %r12
cmpq $0x13, %r12
movq %r13, %r12
jae 0x336a89
testq %r14, %r14
jns 0x336aee
leaq 0x120(%rsp), %rdi
movl $0x2d, %esi
callq 0x11e5d0
movq 0x120(%rsp), %rax
movq 0x128(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x3371e9
incq %rax
movb -0x1(%rax), %dl
movb (%rcx), %sil
movb %sil, -0x1(%rax)
movb %dl, (%rcx)
decq %rcx
leaq 0x1(%rax), %rdx
cmpq %rcx, %rax
movq %rdx, %rax
jb 0x336b21
jmp 0x3371e9
movq 0x18(%rsp), %r12
movq 0x68(%rbp), %rax
movq 0x8e0(%rax), %r15
movq (%r12), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x336bac
testq %r15, %r15
je 0x336dab
movl $0x58, %edi
callq 0x11e0f0
movq %rax, %r14
movq 0x10(%rsp), %rsi
movq 0xa8(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rax, %rdi
movq %r15, %r8
callq 0x339634
movq %r14, %rdi
addq $0x8, %rdi
movq 0x8(%r14), %rax
callq *0x10(%rax)
leaq 0x60988(%rip), %r15     # 0x39752f
jmp 0x336e25
testq %r15, %r15
je 0x336de9
movl $0x68, %edi
callq 0x11e0f0
movq %rax, %r14
movq 0x10(%rsp), %rsi
movq 0xa8(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rax, %rdi
movq %r15, %r8
callq 0x339af6
movq %r14, %rdi
addq $0x8, %rdi
movq 0x8(%r14), %rax
callq *0x10(%rax)
leaq 0x60941(%rip), %r15     # 0x397535
jmp 0x336e25
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x336c38
movq (%rdi), %rax
callq *0x28(%rax)
addl $-0x7c, %eax
cmpl $0x18, %eax
ja 0x336c38
movl $0x1f17801, %ecx        # imm = 0x1F17801
btl %eax, %ecx
jae 0x336c38
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x337928
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x7c, %eax
jne 0x337928
movq 0x68(%rbp), %rcx
movq 0x540(%rcx), %rax
movq 0x538(%rcx), %rsi
movq 0xa0(%rsp), %rdx
movq %rdx, 0x230(%rsp)
subq %rsi, %rax
je 0x337e33
movq %rbp, 0x278(%rsp)
movq %rcx, 0x268(%rsp)
movq 0x530(%rcx), %rcx
sarq $0x4, %rax
movabsq $0x6db6db6db6db6db7, %rdx # imm = 0x6DB6DB6DB6DB6DB7
imulq %rax, %rdx
movq 0x3b0(%rcx), %rax
movq %rax, 0x290(%rsp)
movq (%r14), %rax
movq %rax, 0x140(%rsp)
movq %r14, 0x270(%rsp)
movq 0x8(%r14), %r15
cmpq $0x1, %rdx
movq %rdx, 0x288(%rsp)
adcq $0x0, %rdx
movq %rdx, 0x280(%rsp)
imulq $0x70, %rdx, %rax
addq %rsi, %rax
addq $-0x70, %rax
movq %rax, 0x260(%rsp)
movb $0x1, 0x7(%rsp)
xorl %r14d, %r14d
movq %rsi, 0x238(%rsp)
imulq $0x70, %r14, %r13
movq 0x290(%rsp), %rax
cmpq %rax, 0x30(%rsi,%r13)
ja 0x336d50
addq 0x238(%rsp), %r13
cmpq %r15, 0x8(%r13)
jne 0x336d50
testq %r15, %r15
je 0x336d42
movq (%r13), %r12
xorl %ebx, %ebx
movsbl (%r12,%rbx), %edi
callq 0x11e450
movl %eax, %ebp
movq 0x140(%rsp), %rax
movsbl (%rax,%rbx), %edi
callq 0x11e450
cmpl %eax, %ebp
jne 0x336d50
incq %rbx
cmpq %rbx, %r15
jne 0x336d19
movq 0x230(%rsp), %rax
cmpq %rax, 0x28(%r13)
je 0x336d7e
incq %r14
cmpq 0x288(%rsp), %r14
setb 0x7(%rsp)
cmpq 0x280(%rsp), %r14
movq 0x238(%rsp), %rsi
jne 0x336ced
movq 0x260(%rsp), %r13
movq 0x268(%rsp), %rcx
addq $0x550, %rcx            # imm = 0x550
testb $0x1, 0x7(%rsp)
cmovneq %r13, %rcx
movq 0x278(%rsp), %rbp
movq 0x270(%rsp), %r14
jmp 0x337e3a
movl $0x50, %edi
callq 0x11e0f0
movq %rax, %r14
movq 0x10(%rsp), %rsi
movq 0xa8(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rax, %rdi
callq 0x339814
movq %r14, %rdi
addq $0x8, %rdi
movq 0x8(%r14), %rax
callq *0x10(%rax)
leaq 0x60765(%rip), %r15     # 0x39754c
jmp 0x336e25
movl $0x58, %edi
callq 0x11e0f0
movq %rax, %r14
movq 0x10(%rsp), %rsi
movq 0xa8(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rax, %rdi
callq 0x339f4a
movq %r14, %rdi
addq $0x8, %rdi
movq 0x8(%r14), %rax
callq *0x10(%rax)
leaq 0x6072d(%rip), %r15     # 0x397552
movq %r14, 0x8(%rsp)
leaq 0x1f0(%rsp), %r14
movq 0x8(%r14), %r12
movq %r15, %rdi
callq 0x11e200
movq %r14, %rdi
xorl %esi, %esi
movq %r12, %rdx
movq %r15, %rcx
movq %rax, %r8
callq 0x11e290
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x336e6f
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
je 0x336e6f
movq 0x8(%rsp), %rbx
jmp 0x3385c1
movq 0x68(%rbp), %rbx
leaq 0xc8(%rsp), %rax
movl $0x0, -0x18(%rax)
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq $-0x1, 0x10(%rax)
leaq 0x60762(%rip), %rsi     # 0x397602
leaq 0x60(%rsp), %rdi
leaq 0x1f0(%rsp), %rdx
callq 0x24ea8f
leaq 0x90(%rsp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
leaq 0x80(%rsp), %rdi
movl $0x31, %esi
callq 0x11e5d0
leaq 0x80(%rsp), %rdi
movl $0x38, %esi
callq 0x11e5d0
leaq 0x80(%rsp), %rdi
movl $0x31, %esi
callq 0x11e5d0
leaq 0x80(%rsp), %rdi
movl $0x34, %esi
callq 0x11e5d0
leaq 0x80(%rsp), %rdi
movl $0x33, %esi
callq 0x11e5d0
movq 0x80(%rsp), %rax
movq 0x88(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x336f71
incq %rax
movb -0x1(%rax), %dl
movb (%rcx), %sil
movb %sil, -0x1(%rax)
movb %dl, (%rcx)
decq %rcx
leaq 0x1(%rax), %rdx
cmpq %rcx, %rax
movq %rdx, %rax
jb 0x336f56
leaq 0x5d5d3(%rip), %rcx     # 0x39454b
leaq 0x80(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x11e110
leaq 0xb8(%rsp), %rsi
leaq 0x30(%rsp), %rdi
movq %rdi, -0x10(%rdi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x336fbe
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x336fc6
movupd (%rcx), %xmm0
movupd %xmm0, (%rdi)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x150(%rsp), %rdi
leaq 0x160(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
movq $-0x1, 0x10(%r13)
leaq 0x190(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
leaq 0x1b0(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
leaq 0x1d0(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x10(%r14)
movl $0x7, -0x58(%r14)
movl 0xb0(%rsp), %eax
movl %eax, -0x68(%r15)
callq 0x11e5a0
leaq 0x180(%rsp), %rdi
movq 0xd8(%rsp), %rax
movq %rax, -0x10(%rdi)
leaq 0x60(%rsp), %rsi
callq 0x11e5a0
leaq 0x1a0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x11e5a0
addq $0x308, %rbx            # imm = 0x308
leaq 0x148(%rsp), %rsi
movq %rbx, %rdi
callq 0x24d3b4
movq 0x1c0(%rsp), %rdi
cmpq %r14, %rdi
je 0x3370be
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x1a0(%rsp), %rdi
cmpq %r15, %rdi
je 0x3370db
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x180(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3370f8
movq 0x190(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x150(%rsp), %rdi
cmpq %r13, %rdi
je 0x337115
movq 0x160(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x337131
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x80(%rsp), %rdi
cmpq %r12, %rdi
je 0x33714e
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x70(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x337169
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0x33718e
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x3385bf
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x3385bf
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x3371c4
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x3385bf
leaq 0x8(%rsp), %rdi
callq 0x1ea63e
jmp 0x3385bf
movw $0x30, 0x130(%rsp)
movq $0x1, 0x128(%rsp)
leaq 0x6032c(%rip), %rcx     # 0x39751c
leaq 0x120(%rsp), %rdi
movl $0x12, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x11e110
leaq 0x50(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x33722e
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x337236
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x40(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x602a8(%rip), %rsi     # 0x397501
callq 0x11e340
leaq 0xf0(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x33728e
movq %rdx, 0xe0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xf0(%rsp)
jmp 0x337296
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0xe0(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rbx), %rsi
movq 0x8(%rbx), %rdx
callq 0x11e3b0
leaq 0x90(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3372f1
movq %rdx, 0x80(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x90(%rsp)
jmp 0x3372f9
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x80(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x5f739(%rip), %rsi     # 0x396a58
callq 0x11e340
leaq 0x30(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x33734b
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x337353
movupd (%rcx), %xmm0
movupd %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq %rax, %r14
leaq 0x110(%rsp), %rsi
movq %rsi, -0x10(%rsi)
testq %rax, %rax
je 0x33746e
leaq 0x100(%rsp), %r15
movq $0x0, 0x8(%r15)
movb $0x0, 0x10(%r15)
movq %r14, %r12
movq %r12, %rax
imulq %rbp
movq %rdx, %r13
movq %rdx, %rax
shrq $0x3f, %rax
sarq $0x2, %r13
addq %rax, %r13
leal (,%r13,2), %eax
leal (%rax,%rax,4), %eax
movl %r12d, %ecx
subl %eax, %ecx
movl %ecx, %eax
negb %al
testq %r14, %r14
movzbl %al, %eax
cmovnsl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %r15, %rdi
callq 0x11e5d0
addq $0x9, %r12
cmpq $0x13, %r12
movq %r13, %r12
jae 0x3373a9
testq %r14, %r14
jns 0x33740e
leaq 0x100(%rsp), %rdi
movl $0x2d, %esi
callq 0x11e5d0
movq 0x100(%rsp), %rsi
movq 0x108(%rsp), %rdx
testq %rdx, %rdx
setne %cl
leaq (%rsi,%rdx), %rax
decq %rax
cmpq %rsi, %rax
seta %dil
andb %cl, %dil
cmpb $0x1, %dil
leaq 0x30(%rsp), %rbx
jne 0x337489
incq %rsi
movb -0x1(%rsi), %cl
movb (%rax), %dl
movb %dl, -0x1(%rsi)
movb %cl, (%rax)
decq %rax
leaq 0x1(%rsi), %rcx
cmpq %rax, %rsi
movq %rcx, %rsi
jb 0x337443
movq 0x100(%rsp), %rsi
movq 0x108(%rsp), %rdx
jmp 0x337489
movw $0x30, 0x110(%rsp)
movq $0x1, 0x108(%rsp)
movl $0x1, %edx
movq 0x20(%rsp), %rcx
movq 0x28(%rsp), %r8
leaq (%rdx,%r8), %rax
movl $0xf, %edi
cmpq %rbx, %rcx
je 0x3374a6
movq 0x30(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x3374ca
movl $0xf, %edi
leaq 0x110(%rsp), %r9
cmpq %r9, %rsi
je 0x3374c5
movq 0x110(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x3374d6
leaq 0x20(%rsp), %rdi
callq 0x11e3b0
jmp 0x3374e7
leaq 0x100(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x11e110
leaq 0x70(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x33750b
movq %rsi, 0x60(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x70(%rsp)
jmp 0x337513
movupd (%rcx), %xmm0
movupd %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x68(%rsp)
movq %rcx, (%rax)
xorl %eax, %eax
movq %rax, (%rdx)
movb %al, (%rcx)
leaq 0x220(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rax, -0x8(%r14)
movb %al, (%r14)
leaq 0x210(%rsp), %rdi
movl $0x36, %esi
callq 0x11e5d0
leaq 0x210(%rsp), %rdi
movl $0x34, %esi
callq 0x11e5d0
leaq 0x210(%rsp), %rdi
movl $0x30, %esi
callq 0x11e5d0
leaq 0x210(%rsp), %rdi
movl $0x34, %esi
callq 0x11e5d0
leaq 0x210(%rsp), %rdi
movl $0x33, %esi
callq 0x11e5d0
movq 0x210(%rsp), %rax
movq 0x218(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x3375e4
incq %rax
movb -0x1(%rax), %dl
movb (%rcx), %sil
movb %sil, -0x1(%rax)
movb %dl, (%rcx)
decq %rcx
leaq 0x1(%rax), %rdx
cmpq %rcx, %rax
movq %rdx, %rax
jb 0x3375c9
leaq 0x5cf60(%rip), %rcx     # 0x39454b
leaq 0x210(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x11e110
leaq 0xb8(%rsp), %rsi
leaq 0x250(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x33763a
movq %rdx, 0x240(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x250(%rsp)
jmp 0x337643
movupd (%rcx), %xmm0
movupd %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x248(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x150(%rsp), %rdi
leaq 0x160(%rsp), %r12
movq %r12, -0x10(%r12)
movq %rcx, -0x8(%r12)
movb %cl, (%r12)
movq $-0x1, 0x10(%r12)
leaq 0x190(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
leaq 0x1b0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
leaq 0x1d0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq %rcx, -0x8(%rbx)
movb %cl, (%rbx)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x10(%rbx)
movl $0x9, -0x58(%rbx)
movl 0xb0(%rsp), %eax
movl %eax, -0x68(%rbp)
callq 0x11e5a0
leaq 0x180(%rsp), %rdi
movq 0xd8(%rsp), %rax
movq %rax, -0x10(%rdi)
leaq 0x60(%rsp), %rsi
callq 0x11e5a0
leaq 0x1a0(%rsp), %rdi
leaq 0x240(%rsp), %rsi
callq 0x11e5a0
movq 0x140(%rsp), %rdi
addq $0x308, %rdi            # imm = 0x308
leaq 0x148(%rsp), %rsi
callq 0x24d3b4
movq 0x1c0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x337746
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x1a0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x337763
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x180(%rsp), %rdi
cmpq %r13, %rdi
je 0x337780
movq 0x190(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x150(%rsp), %rdi
cmpq %r12, %rdi
je 0x33779d
movq 0x160(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x240(%rsp), %rdi
cmpq %r15, %rdi
leaq 0x30(%rsp), %r15
je 0x3377bf
movq 0x250(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x210(%rsp), %rdi
cmpq %r14, %rdi
je 0x3377dc
movq 0x220(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x70(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
leaq 0x50(%rsp), %rbx
leaq 0xf0(%rsp), %r14
je 0x337804
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x100(%rsp), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0x337829
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0x337840
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x337865
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0xe0(%rsp), %rdi
cmpq %r14, %rdi
je 0x337882
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x40(%rsp), %rdi
cmpq %rbx, %rdi
je 0x337899
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x3378be
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0x3378e3
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x3385bf
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x3385bf
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x337919
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x3385bf
leaq 0x10(%rsp), %rdi
callq 0x1ea63e
jmp 0x3385bf
movq 0x68(%rbp), %rax
movq 0x8e0(%rax), %rax
movq %rax, 0x120(%rsp)
movq 0x8(%rbp), %rdi
testq %rax, %rax
je 0x338119
leaq 0x10(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
leaq 0x18(%rsp), %rcx
leaq 0x120(%rsp), %r8
callq 0x338a4a
jmp 0x338130
movl $0x48, %edi
callq 0x11e0f0
movq %rax, %r15
movq 0x10(%rsp), %rsi
movq 0xa0(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rax, %rdi
callq 0x338ece
movq %r15, %rdi
addq $0x8, %rdi
movq 0x8(%r15), %rax
callq *0x10(%rax)
leaq 0x5fba4(%rip), %r12     # 0x39754c
movq %r15, 0x8(%rsp)
leaq 0x1f0(%rsp), %r15
movq 0x8(%r15), %r13
movq %r12, %rdi
callq 0x11e200
movq %r15, %rdi
xorl %esi, %esi
movq %r13, %rdx
movq %r12, %rcx
movq %rax, %r8
callq 0x11e290
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x3379ec
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
jne 0x336e65
movq 0x68(%rbp), %rbx
leaq 0xc8(%rsp), %rax
movl $0x0, -0x18(%rax)
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq $-0x1, 0x10(%rax)
leaq 0x5fb48(%rip), %rsi     # 0x397565
leaq 0x80(%rsp), %rdi
leaq 0x1f0(%rsp), %rdx
callq 0x24ea8f
leaq 0x5f370(%rip), %rsi     # 0x396da9
leaq 0x80(%rsp), %rdi
callq 0x11e340
leaq 0x30(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x337a6d
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x337a75
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x20(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
callq 0x11e3b0
leaq 0x70(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x337ac4
movq %rdx, 0x60(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x70(%rsp)
jmp 0x337acc
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x68(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x50(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
leaq 0x40(%rsp), %rdi
movl $0x34, %esi
callq 0x11e5d0
leaq 0x40(%rsp), %rdi
movl $0x37, %esi
callq 0x11e5d0
leaq 0x40(%rsp), %rdi
movl $0x30, %esi
callq 0x11e5d0
leaq 0x40(%rsp), %rdi
movl $0x34, %esi
callq 0x11e5d0
leaq 0x40(%rsp), %rdi
movl $0x33, %esi
callq 0x11e5d0
movq 0x40(%rsp), %rax
movq 0x48(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x337b80
incq %rax
movb -0x1(%rax), %dl
movb (%rcx), %sil
movb %sil, -0x1(%rax)
movb %dl, (%rcx)
decq %rcx
leaq 0x1(%rax), %rdx
cmpq %rcx, %rax
movq %rdx, %rax
jb 0x337b65
leaq 0x5c9c4(%rip), %rcx     # 0x39454b
leaq 0x40(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x11e110
leaq 0xb8(%rsp), %rsi
leaq 0xf0(%rsp), %rdi
movq %rdi, -0x10(%rdi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x337bd3
movq %rdx, 0xe0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xf0(%rsp)
jmp 0x337bdb
movupd (%rcx), %xmm0
movupd %xmm0, (%rdi)
movq 0x8(%rax), %rdx
movq %rdx, 0xe8(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x150(%rsp), %rdi
leaq 0x160(%rsp), %r12
movq %r12, -0x10(%r12)
movq %rcx, -0x8(%r12)
movb %cl, (%r12)
movq $-0x1, 0x10(%r12)
leaq 0x190(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
leaq 0x1b0(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
leaq 0x1d0(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x10(%r13)
movl $0x7, -0x58(%r13)
movl 0xb0(%rsp), %eax
movl %eax, -0x68(%r15)
callq 0x11e5a0
leaq 0x180(%rsp), %rdi
movq 0xd8(%rsp), %rax
movq %rax, -0x10(%rdi)
leaq 0x60(%rsp), %rsi
callq 0x11e5a0
leaq 0x1a0(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x11e5a0
addq $0x308, %rbx            # imm = 0x308
leaq 0x148(%rsp), %rsi
movq %rbx, %rdi
callq 0x24d3b4
movq 0x1c0(%rsp), %rdi
cmpq %r13, %rdi
je 0x337cdd
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x1a0(%rsp), %rdi
cmpq %r15, %rdi
je 0x337cfa
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x180(%rsp), %rdi
cmpq %r14, %rdi
leaq 0xc8(%rsp), %rbx
leaq 0x30(%rsp), %r14
je 0x337d24
movq 0x190(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x150(%rsp), %rdi
cmpq %r12, %rdi
je 0x337d41
movq 0x160(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x337d66
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x40(%rsp), %rdi
cmpq %rbp, %rdi
je 0x337d7d
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x337d99
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x337db0
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x90(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x337dd1
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0xb8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x337dee
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x3385bf
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x3385bf
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x337e24
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x3385bf
leaq 0x8(%rsp), %rdi
callq 0x1ea63e
jmp 0x3385bf
addq $0x550, %rcx            # imm = 0x550
movq 0x230(%rsp), %rax
cmpq %rax, 0x28(%rcx)
jne 0x337e96
movq 0x58(%rcx), %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x336e51
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x336e51
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x337e87
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x336e51
leaq 0x10(%rsp), %rdi
callq 0x1ea63e
jmp 0x336e51
leaq 0x158(%rsp), %r15
movq %r15, -0x10(%r15)
movl $0x3f3f3f, (%r15)       # imm = 0x3F3F3F
movq $0x3, -0x8(%r15)
pcmpeqd %xmm0, %xmm0
movdqu %xmm0, 0x10(%r15)
movq $-0x1, 0x20(%r15)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x28(%r15)
movq $0x0, 0x35(%r15)
movdqu %xmm0, 0x40(%r15)
movdqu %xmm0, 0x50(%r15)
leaq 0x148(%rsp), %rdi
movq %r14, %rsi
callq 0x11e5a0
movb $0x1, 0x194(%rsp)
movq $0x1, 0x180(%rsp)
movl $0x4, 0x190(%rsp)
leaq 0xa0(%rsp), %rsi
movq (%rsi), %rax
movq %rax, 0x170(%rsp)
movq 0x68(%rbp), %rax
movq 0x3b0(%rax), %rax
movq %rax, 0x178(%rsp)
movq $0x0, 0x198(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x30(%rax)
movq %rax, %r14
movl $0x30, %edi
callq 0x11e0f0
movb $0x0, 0x10(%rax)
movq $0x0, 0x18(%rax)
leaq 0x19e0c0(%rip), %rcx    # 0x4d6030
movq %rcx, (%rax)
leaq 0x19e10e(%rip), %rcx    # 0x4d6088
movq %rcx, 0x8(%rax)
leaq 0x19e12b(%rip), %rcx    # 0x4d60b0
movq %rcx, 0x20(%rax)
movq %r14, 0x28(%rax)
leaq 0x148(%rsp), %rsi
movq %rax, 0x58(%rsi)
movl $0x530, %edi            # imm = 0x530
addq 0x68(%rbp), %rdi
callq 0x31e142
testb %al, %al
jne 0x338038
movq 0x68(%rbp), %r14
leaq 0xc0(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x5f5e8(%rip), %rsi     # 0x3975af
leaq 0x5f612(%rip), %rdx     # 0x3975e0
leaq 0xb0(%rsp), %rdi
callq 0x1e4740
cmpq $0x0, 0x518(%r14)
jne 0x337ffc
addq $0x510, %r14            # imm = 0x510
leaq 0xb0(%rsp), %rsi
movq %r14, %rdi
callq 0x11e5a0
movq 0xb0(%rsp), %rdi
cmpq %r12, %rdi
je 0x338019
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movl $0x530, %edi            # imm = 0x530
addq 0x68(%rbp), %rdi
leaq 0x148(%rsp), %rsi
callq 0x24d160
movq $0x0, 0x8(%rsp)
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x33806c
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x33806c
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x338062
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x33806c
leaq 0x10(%rsp), %rdi
callq 0x1ea63e
movq 0x68(%rbp), %r14
leaq 0xc0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x5f55e(%rip), %rsi     # 0x3975e1
leaq 0x5f567(%rip), %rdx     # 0x3975f1
leaq 0xb0(%rsp), %rdi
callq 0x1e4740
cmpb $0x0, 0x3ac(%r14)
jne 0x3380a9
movb $0x1, 0x3ac(%r14)
movq 0xb0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3380c6
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x1a0(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x1f0(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x5f50c(%rip), %rcx     # 0x3975f2
movl $0xf, %r8d
xorl %esi, %esi
callq 0x11e290
movq 0x148(%rsp), %rdi
cmpq %r15, %rdi
je 0x336e51
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x336e51
leaq 0x10(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
leaq 0x18(%rsp), %rcx
callq 0x338ab6
movq %rax, 0x8(%rsp)
xorl %eax, %eax
cmpq $0x0, 0x120(%rsp)
leaq 0x5f40b(%rip), %rdx     # 0x397552
leaq 0x5f3e7(%rip), %rcx     # 0x397535
cmoveq %rdx, %rcx
setne %al
leaq 0x1f0(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x12(,%rax,4), %r8
xorl %esi, %esi
callq 0x11e290
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x338188
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
jne 0x336e65
movq 0x68(%rbp), %rbx
leaq 0xc8(%rsp), %rax
movl $0x0, -0x18(%rax)
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq $-0x1, 0x10(%rax)
leaq 0x5f3d1(%rip), %rsi     # 0x39758a
leaq 0x80(%rsp), %rdi
leaq 0x1f0(%rsp), %rdx
callq 0x24ea8f
leaq 0x5ebd4(%rip), %rsi     # 0x396da9
leaq 0x80(%rsp), %rdi
callq 0x11e340
leaq 0x30(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x338209
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x338211
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x20(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
callq 0x11e3b0
leaq 0x70(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x338260
movq %rdx, 0x60(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x70(%rsp)
jmp 0x338269
movupd (%rcx), %xmm0
movupd %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x68(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x50(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
leaq 0x40(%rsp), %rdi
movl $0x30, %esi
callq 0x11e5d0
leaq 0x40(%rsp), %rdi
movl $0x30, %esi
callq 0x11e5d0
leaq 0x40(%rsp), %rdi
movl $0x31, %esi
callq 0x11e5d0
leaq 0x40(%rsp), %rdi
movl $0x34, %esi
callq 0x11e5d0
leaq 0x40(%rsp), %rdi
movl $0x33, %esi
callq 0x11e5d0
movq 0x40(%rsp), %rax
movq 0x48(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x33831d
incq %rax
movb -0x1(%rax), %dl
movb (%rcx), %sil
movb %sil, -0x1(%rax)
movb %dl, (%rcx)
decq %rcx
leaq 0x1(%rax), %rdx
cmpq %rcx, %rax
movq %rdx, %rax
jb 0x338302
leaq 0x5c227(%rip), %rcx     # 0x39454b
leaq 0x40(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x11e110
leaq 0xb8(%rsp), %rsi
leaq 0xf0(%rsp), %rdi
movq %rdi, -0x10(%rdi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x338370
movq %rdx, 0xe0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xf0(%rsp)
jmp 0x338378
movupd (%rcx), %xmm0
movupd %xmm0, (%rdi)
movq 0x8(%rax), %rdx
movq %rdx, 0xe8(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x150(%rsp), %rdi
leaq 0x160(%rsp), %r12
movq %r12, -0x10(%r12)
movq %rcx, -0x8(%r12)
movb %cl, (%r12)
movq $-0x1, 0x10(%r12)
leaq 0x190(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
leaq 0x1b0(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
leaq 0x1d0(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x10(%r13)
movl $0x7, -0x58(%r13)
movl 0xb0(%rsp), %eax
movl %eax, -0x68(%r15)
callq 0x11e5a0
leaq 0x180(%rsp), %rdi
movq 0xd8(%rsp), %rax
movq %rax, -0x10(%rdi)
leaq 0x60(%rsp), %rsi
callq 0x11e5a0
leaq 0x1a0(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x11e5a0
addq $0x308, %rbx            # imm = 0x308
leaq 0x148(%rsp), %rsi
movq %rbx, %rdi
callq 0x24d3b4
movq 0x1c0(%rsp), %rdi
cmpq %r13, %rdi
je 0x33847a
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x1a0(%rsp), %rdi
cmpq %r15, %rdi
je 0x338497
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x180(%rsp), %rdi
cmpq %r14, %rdi
leaq 0xc8(%rsp), %rbx
je 0x3384bc
movq 0x190(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x150(%rsp), %rdi
cmpq %r12, %rdi
leaq 0x50(%rsp), %r14
je 0x3384de
movq 0x160(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x338503
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x40(%rsp), %rdi
cmpq %r14, %rdi
je 0x33851a
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x60(%rsp), %rdi
cmpq %rbp, %rdi
je 0x338531
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x33854d
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x90(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x33856e
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0xb8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x33858b
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x3385bf
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x3385bf
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x3385b5
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x3385bf
leaq 0x8(%rsp), %rdi
callq 0x1ea63e
xorl %ebx, %ebx
movq 0x1f0(%rsp), %rdi
leaq 0x200(%rsp), %rax
cmpq %rax, %rdi
je 0x3385e6
movq 0x200(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq %rbx, %rax
addq $0x298, %rsp            # imm = 0x298
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq 0xb0(%rsp), %rdi
cmpq %r12, %rdi
je 0x33872a
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x33872a
jmp 0x338727
jmp 0x338689
movq %rax, %rbx
jmp 0x3386be
jmp 0x338674
jmp 0x33867c
jmp 0x338831
jmp 0x338727
jmp 0x33891c
movq %rax, %rbx
movl $0x48, %esi
jmp 0x338662
jmp 0x338924
jmp 0x3389d0
movq %rax, %rbx
movl $0x58, %esi
movq %r15, %rdi
jmp 0x338a18
jmp 0x33877c
jmp 0x3387b3
movq %rax, %rbx
jmp 0x3387e9
movq %rax, %rbx
jmp 0x338805
jmp 0x338831
movq %rax, %rbx
leaq 0x148(%rsp), %rdi
callq 0x249100
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x3386be
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
jne 0x3386ed
jmp 0x3386fa
jmp 0x338717
movq %rax, %rbx
movl $0x50, %esi
jmp 0x33871f
jmp 0x33891c
movq %rax, %rbx
movq 0x40(%rsp), %rdi
cmpq %r14, %rdi
je 0x3386fa
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x60(%rsp), %rdi
cmpq %rbp, %rdi
jne 0x3387dc
jmp 0x3387e9
movq %rax, %rbx
movl $0x68, %esi
jmp 0x33871f
movq %rax, %rbx
movl $0x58, %esi
movq %r14, %rdi
jmp 0x338a18
movq %rax, %rbx
movq 0x148(%rsp), %rdi
cmpq %r15, %rdi
je 0x338a1d
movq 0x158(%rsp), %rsi
jmp 0x338a15
jmp 0x33883e
jmp 0x33886d
jmp 0x338924
movq %rax, %rbx
jmp 0x33894c
movq %rax, %rbx
jmp 0x338968
movq %rax, %rbx
jmp 0x33898d
movq %rax, %rbx
jmp 0x3389b2
jmp 0x3389d0
movq %rax, %rbx
leaq 0x148(%rsp), %rdi
callq 0x249100
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x3387b6
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x3387b6
movq %rax, %rbx
movq 0x40(%rsp), %rdi
cmpq %rbp, %rdi
je 0x3387cd
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x3387e9
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x338805
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x90(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3389f8
movq 0x90(%rsp), %rsi
jmp 0x3389f0
jmp 0x3388ae
jmp 0x3388e0
movq %rax, %rbx
jmp 0x3389f8
jmp 0x33891c
movq %rax, %rbx
leaq 0x148(%rsp), %rdi
callq 0x249100
movq 0x240(%rsp), %rdi
cmpq %r15, %rdi
je 0x338870
movq 0x250(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x338870
movq %rax, %rbx
movq 0x210(%rsp), %rdi
cmpq %r14, %rdi
je 0x33888d
movq 0x220(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x70(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x338927
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x338927
movq %rax, %rbx
leaq 0x148(%rsp), %rdi
callq 0x249100
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x3388e3
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x3388e3
jmp 0x33891c
jmp 0x33891c
movq %rax, %rbx
movq 0x80(%rsp), %rdi
cmpq %r12, %rdi
je 0x338900
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x70(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3389f8
movq 0x70(%rsp), %rsi
jmp 0x3389f0
movq %rax, %rbx
jmp 0x338a1d
movq %rax, %rbx
movq 0x100(%rsp), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0x33894c
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x338968
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x80(%rsp), %rdi
leaq 0x90(%rsp), %rax
cmpq %rax, %rdi
je 0x33898d
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x3389b2
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x3389d3
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x3389d3
movq %rax, %rbx
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x3389f8
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0x338a1d
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x1f0(%rsp), %rdi
leaq 0x200(%rsp), %rax
cmpq %rax, %rdi
je 0x338a42
movq 0x200(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq %rbx, %rdi
callq 0x11e330