// File: /workspace/github_cpp_makefile_star2_O1/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 $0x258, %rsp            # imm = 0x258
movq %rsi, %r14
movq %rdi, %rbp
movq %rdx, 0x18(%rsp)
movq %rcx, 0x10(%rsp)
movq %r8, 0x48(%rsp)
movq $0x0, 0x8(%rsp)
leaq 0x158(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x61c90(%rip), %rsi     # 0x3be1ce
leaq 0x61c90(%rip), %rdx     # 0x3be1d5
leaq 0x148(%rsp), %rdi
callq 0x1eabb8
movq 0x48(%rsp), %r15
testq %r15, %r15
je 0x35c658
movq (%r15), %rax
movq %r15, %rdi
callq *0x28(%rax)
cmpl $0x2, %eax
je 0x35c580
movq (%r15), %rax
movq %r15, %rdi
callq *0x28(%rax)
cmpl $0x13, %eax
jne 0x35c658
movq 0x48(%rsp), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
cvttsd2si %xmm0, %rax
movq %rax, 0x40(%rsp)
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x35c5c9
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x35c5c9
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x35c5bf
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x35c5c9
leaq 0x48(%rsp), %rdi
callq 0x1f1690
movq 0x40(%rsp), %rbx
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
cmpq %rax, %rbx
movq %rbp, 0x140(%rsp)
jae 0x35c709
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x35c830
movq 0x68(%rbp), %rax
movq 0x8e0(%rax), %r12
testq %r12, %r12
je 0x35d123
movl $0x58, %edi
callq 0x1200f0
movq %rax, %r15
movq 0x10(%rsp), %rsi
movq 0x40(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rax, %rdi
movq %r12, %r8
callq 0x35e658
movq %r15, %rdi
addq $0x8, %rdi
movq 0x8(%r15), %rax
callq *0x10(%rax)
leaq 0x63eb2(%rip), %r12     # 0x3c0505
jmp 0x35d15c
movq 0x68(%rbp), %rax
movq 0x8e0(%rax), %r15
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0x35c6bf
testq %r15, %r15
je 0x35c8e4
movl $0x58, %edi
callq 0x1200f0
movq %rax, %r14
movq 0x10(%rsp), %rsi
movq 0x48(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rax, %rdi
movq %r15, %r8
callq 0x35f160
movq %r14, %rdi
addq $0x8, %rdi
movq 0x8(%r14), %rax
callq *0x10(%rax)
leaq 0x63e4b(%rip), %r15     # 0x3c0505
jmp 0x35c958
testq %r15, %r15
je 0x35c91f
movl $0x68, %edi
callq 0x1200f0
movq %rax, %r14
movq 0x10(%rsp), %rsi
movq 0x48(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rax, %rdi
movq %r15, %r8
callq 0x35f61a
movq %r14, %rdi
addq $0x8, %rdi
movq 0x8(%r14), %rax
callq *0x10(%rax)
leaq 0x63e07(%rip), %r15     # 0x3c050b
jmp 0x35c958
movq 0x68(%rbp), %rax
movq %rax, 0x250(%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 0x40(%rsp), %r15
leaq 0x130(%rsp), %rax
movq %rax, -0x10(%rax)
movabsq $0x6666666666666667, %rbx # imm = 0x6666666666666667
testq %r15, %r15
je 0x35c989
leaq 0x120(%rsp), %r12
movq $0x0, 0x8(%r12)
movb $0x0, 0x10(%r12)
movq %r15, %r13
movq %r13, %rax
imulq %rbx
movq %rdx, %rbp
movq %rdx, %rax
shrq $0x3f, %rax
sarq $0x2, %rbp
addq %rax, %rbp
leal (,%rbp,2), %eax
leal (%rax,%rax,4), %eax
movl %r13d, %ecx
subl %eax, %ecx
movl %ecx, %eax
negb %al
testq %r15, %r15
movzbl %al, %eax
cmovnsl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %r12, %rdi
callq 0x1205d0
addq $0x9, %r13
cmpq $0x13, %r13
movq %rbp, %r13
jae 0x35c779
testq %r15, %r15
jns 0x35c7dd
leaq 0x120(%rsp), %rdi
movl $0x2d, %esi
callq 0x1205d0
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 0x35c99f
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 0x35c810
jmp 0x35c99f
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x35c86f
movq (%rdi), %rax
callq *0x28(%rax)
addl $-0x7c, %eax
cmpl $0x18, %eax
ja 0x35c86f
movl $0x1f17801, %ecx        # imm = 0x1F17801
btl %eax, %ecx
jae 0x35c86f
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x35d0e2
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x7c, %eax
jne 0x35d0e2
movl $0x530, %edi            # imm = 0x530
addq 0x68(%rbp), %rdi
movq 0x40(%rsp), %rdx
movq %r14, %rsi
callq 0x34388c
movq 0x28(%rax), %rcx
cmpq 0x40(%rsp), %rcx
jne 0x35d222
movq 0x58(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movb $0x1, %bl
testq %rdi, %rdi
je 0x35d495
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x35d495
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x35c8d5
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x35d495
leaq 0x10(%rsp), %rdi
callq 0x1f1690
jmp 0x35dd2d
movl $0x50, %edi
callq 0x1200f0
movq %rax, %r14
movq 0x10(%rsp), %rsi
movq 0x48(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rax, %rdi
callq 0x35f33c
movq %r14, %rdi
addq $0x8, %rdi
movq 0x8(%r14), %rax
callq *0x10(%rax)
leaq 0x63c05(%rip), %r15     # 0x3c0522
jmp 0x35c958
movl $0x58, %edi
callq 0x1200f0
movq %rax, %r14
movq 0x10(%rsp), %rsi
movq 0x48(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rax, %rdi
callq 0x35fa6a
movq %r14, %rdi
addq $0x8, %rdi
movq 0x8(%r14), %rax
callq *0x10(%rax)
leaq 0x63bd0(%rip), %r15     # 0x3c0528
movq %r14, 0x8(%rsp)
leaq 0x148(%rsp), %r14
movq 0x8(%r14), %r12
movq %r15, %rdi
callq 0x120200
movq %r14, %rdi
xorl %esi, %esi
movq %r12, %rdx
movq %r15, %rcx
movq %rax, %r8
callq 0x120290
jmp 0x35dd3d
movw $0x30, 0x130(%rsp)
movq $0x1, 0x128(%rsp)
leaq 0x63b4c(%rip), %rcx     # 0x3c04f2
leaq 0x120(%rsp), %rdi
movl $0x12, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0xa0(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x35c9ed
movq %rdx, 0x90(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xa0(%rsp)
jmp 0x35c9f5
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x90(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x63abc(%rip), %rsi     # 0x3c04d7
callq 0x120340
leaq 0xf0(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x35ca50
movq %rdx, 0xe0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xf0(%rsp)
jmp 0x35ca58
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 (%r14), %rsi
movq 0x8(%r14), %rdx
callq 0x1203b0
leaq 0x80(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x35cab0
movq %rdx, 0x70(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x80(%rsp)
jmp 0x35cab8
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x70(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x62f53(%rip), %rsi     # 0x3bfa2e
callq 0x120340
leaq 0x30(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x35cb07
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x35cb10
movupd (%rcx), %xmm0
movupd %xmm0, (%r15)
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), %rax
movq %rax, -0x10(%rax)
testq %r14, %r14
je 0x35cc18
leaq 0x100(%rsp), %r12
movq $0x0, 0x8(%r12)
movb $0x0, 0x10(%r12)
movq %r14, %r13
movq %r13, %rax
imulq %rbx
movq %rdx, %rbp
movq %rdx, %rax
shrq $0x3f, %rax
sarq $0x2, %rbp
addq %rax, %rbp
leal (,%rbp,2), %eax
leal (%rax,%rax,4), %eax
movl %r13d, %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 %r12, %rdi
callq 0x1205d0
addq $0x9, %r13
cmpq $0x13, %r13
movq %rbp, %r13
jae 0x35cb68
testq %r14, %r14
jns 0x35cbcc
leaq 0x100(%rsp), %rdi
movl $0x2d, %esi
callq 0x1205d0
movq 0x100(%rsp), %rax
movq 0x108(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x35cc2e
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 0x35cbfb
jmp 0x35cc2e
movw $0x30, 0x110(%rsp)
movq $0x1, 0x108(%rsp)
movq 0x20(%rsp), %rcx
movq 0x28(%rsp), %r8
movq 0x108(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
cmpq %r15, %rcx
je 0x35cc53
movq 0x30(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x35cc7c
movl $0xf, %esi
leaq 0x110(%rsp), %rdi
cmpq %rdi, 0x100(%rsp)
je 0x35cc77
movq 0x110(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x35cc90
movq 0x100(%rsp), %rsi
leaq 0x20(%rsp), %rdi
callq 0x1203b0
jmp 0x35cca1
leaq 0x100(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x60(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x35ccc5
movq %rsi, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x35cccd
movupd (%rcx), %xmm0
movupd %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x58(%rsp)
movq %rcx, (%rax)
leaq 0xb8(%rsp), %r15
xorl %eax, %eax
movq %rax, (%rdx)
movb %al, (%rcx)
leaq 0x220(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rax, -0x8(%r13)
movb %al, (%r13)
movl $0x84fe, %ebx           # imm = 0x84FE
leaq 0x210(%rsp), %r12
movslq %ebx, %rax
imulq $0x66666667, %rax, %r14 # imm = 0x66666667
movq %r14, %rcx
shrq $0x3f, %rcx
sarq $0x22, %r14
addl %ecx, %r14d
leal (%r14,%r14), %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %r12, %rdi
callq 0x1205d0
addl $0x9, %ebx
cmpl $0x13, %ebx
movl %r14d, %ebx
jae 0x35cd10
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 0x35cd93
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 0x35cd78
leaq 0x60759(%rip), %rcx     # 0x3bd4f3
leaq 0x210(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x240(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
movq %r15, %rsi
cmpq %rcx, %rdx
je 0x35cde4
movq %rdx, 0x230(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x240(%rsp)
jmp 0x35cdec
movupd (%rcx), %xmm0
movupd %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x238(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x170(%rsp), %rdi
leaq 0x180(%rsp), %r12
movq %r12, -0x10(%r12)
movq %rcx, -0x8(%r12)
movb %cl, (%r12)
movq $-0x1, 0x10(%r12)
leaq 0x1b0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
leaq 0x1d0(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
leaq 0x1f0(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x10(%r15)
movl $0x9, -0x58(%r15)
movl 0xb0(%rsp), %eax
movl %eax, -0x68(%r14)
callq 0x1205a0
leaq 0x1a0(%rsp), %rdi
movq 0xd8(%rsp), %rax
movq %rax, -0x10(%rdi)
leaq 0x50(%rsp), %rsi
callq 0x1205a0
leaq 0x1c0(%rsp), %rdi
leaq 0x230(%rsp), %rsi
callq 0x1205a0
movq 0x250(%rsp), %rdi
addq $0x308, %rdi            # imm = 0x308
leaq 0x168(%rsp), %rsi
callq 0x26b154
movq 0x1e0(%rsp), %rdi
cmpq %r15, %rdi
je 0x35cef2
movq 0x1f0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x1c0(%rsp), %rdi
cmpq %r14, %rdi
leaq 0xa0(%rsp), %r14
leaq 0xf0(%rsp), %r15
je 0x35cf1f
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x1a0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x35cf3c
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x170(%rsp), %rdi
cmpq %r12, %rdi
movq 0x140(%rsp), %rbp
je 0x35cf61
movq 0x180(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x230(%rsp), %rdi
cmpq %rbx, %rdi
je 0x35cf7e
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x210(%rsp), %rdi
cmpq %r13, %rdi
je 0x35cf9b
movq 0x220(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x35cfb6
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x100(%rsp), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0x35cfdb
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x35cff7
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x35d019
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xe0(%rsp), %rdi
cmpq %r15, %rdi
je 0x35d036
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x90(%rsp), %rdi
cmpq %r14, %rdi
je 0x35d053
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x35d078
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
je 0x35d09d
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x35d864
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x35d864
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x35d0d3
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x35d864
leaq 0x10(%rsp), %rdi
callq 0x1f1690
jmp 0x35d864
movq 0x68(%rbp), %rax
movq 0x8e0(%rax), %rax
movq %rax, 0x120(%rsp)
movq 0x8(%rbp), %rdi
testq %rax, %rax
je 0x35d86e
leaq 0x10(%rsp), %rsi
leaq 0x40(%rsp), %rdx
leaq 0x18(%rsp), %rcx
leaq 0x120(%rsp), %r8
callq 0x35e586
jmp 0x35d882
movl $0x48, %edi
callq 0x1200f0
movq %rax, %r15
movq 0x10(%rsp), %rsi
movq 0x40(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rax, %rdi
callq 0x35ea06
movq %r15, %rdi
addq $0x8, %rdi
movq 0x8(%r15), %rax
callq *0x10(%rax)
leaq 0x633c6(%rip), %r12     # 0x3c0522
movq %r15, 0x8(%rsp)
leaq 0x148(%rsp), %r15
movq 0x8(%r15), %r13
movq %r12, %rdi
callq 0x120200
movq %r15, %rdi
xorl %esi, %esi
movq %r13, %rdx
movq %r12, %rcx
movq %rax, %r8
callq 0x120290
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x35d1a0
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
jne 0x35d8d6
movq 0x68(%rbp), %r15
leaq 0xc8(%rsp), %rax
movl $0x0, -0x18(%rax)
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq $-0x1, 0x10(%rax)
leaq 0x6336a(%rip), %rsi     # 0x3c053b
leaq 0x70(%rsp), %rdi
leaq 0x148(%rsp), %rdx
callq 0x26c8c1
leaq 0x62b95(%rip), %rsi     # 0x3bfd7f
leaq 0x70(%rsp), %rdi
callq 0x120340
leaq 0x30(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x35d49a
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x35d4a2
leaq 0x178(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movl $0x3f3f3f, (%rbx)       # imm = 0x3F3F3F
movq $0x3, -0x8(%rbx)
pcmpeqd %xmm0, %xmm0
movdqu %xmm0, 0x10(%rbx)
movq $-0x1, 0x20(%rbx)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x28(%rbx)
movq $0x0, 0x35(%rbx)
movdqu %xmm0, 0x40(%rbx)
movdqu %xmm0, 0x50(%rbx)
leaq 0x168(%rsp), %rdi
movq %r14, %rsi
callq 0x1205a0
movb $0x1, 0x1b4(%rsp)
movq $0x1, 0x1a0(%rsp)
movl $0x4, 0x1b0(%rsp)
leaq 0x40(%rsp), %rsi
movq (%rsi), %rax
movq %rax, 0x190(%rsp)
movq 0x68(%rbp), %rax
movq 0x3b0(%rax), %rax
movq %rax, 0x198(%rsp)
movq $0x0, 0x1b8(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x30(%rax)
movq %rax, %r14
movl $0x30, %edi
callq 0x1200f0
movb $0x0, 0x10(%rax)
movq $0x0, 0x18(%rax)
leaq 0x1b207c(%rip), %rcx    # 0x50f370
movq %rcx, (%rax)
leaq 0x1b20ca(%rip), %rcx    # 0x50f3c8
movq %rcx, 0x8(%rax)
leaq 0x1b20e7(%rip), %rcx    # 0x50f3f0
movq %rcx, 0x20(%rax)
movq %r14, 0x28(%rax)
leaq 0x168(%rsp), %rsi
movq %rax, 0x58(%rsi)
movl $0x530, %edi            # imm = 0x530
addq 0x68(%rbp), %rdi
callq 0x343ac2
testb %al, %al
jne 0x35d3bb
movq 0x68(%rbp), %r14
leaq 0xc0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x6323b(%rip), %rsi     # 0x3c0585
leaq 0x63265(%rip), %rdx     # 0x3c05b6
leaq 0xb0(%rsp), %rdi
callq 0x1eabb8
cmpq $0x0, 0x518(%r14)
jne 0x35d37f
addq $0x510, %r14            # imm = 0x510
leaq 0xb0(%rsp), %rsi
movq %r14, %rdi
callq 0x1205a0
movq 0xb0(%rsp), %rdi
cmpq %r15, %rdi
je 0x35d39c
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movl $0x530, %edi            # imm = 0x530
addq 0x68(%rbp), %rdi
leaq 0x168(%rsp), %rsi
callq 0x26aef2
movq $0x0, 0x8(%rsp)
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x35d3ef
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x35d3ef
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x35d3e5
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x35d3ef
leaq 0x10(%rsp), %rdi
callq 0x1f1690
movq 0x68(%rbp), %r15
leaq 0xc0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x631b1(%rip), %rsi     # 0x3c05b7
leaq 0x631ba(%rip), %rdx     # 0x3c05c7
leaq 0xb0(%rsp), %rdi
callq 0x1eabb8
cmpb $0x0, 0x3ac(%r15)
jne 0x35d42c
movb $0x1, 0x3ac(%r15)
movq 0xb0(%rsp), %rdi
cmpq %r14, %rdi
je 0x35d449
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x1c0(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x148(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x6315f(%rip), %rcx     # 0x3c05c8
movl $0xf, %r8d
xorl %esi, %esi
callq 0x120290
movq 0x168(%rsp), %rdi
cmpq %rbx, %rdi
je 0x35d493
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x1200c0
movb $0x1, %bl
jmp 0x35dd2d
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 0x1203b0
leaq 0x60(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x35d4f1
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x35d4f9
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
leaq 0xb8(%rsp), %rbp
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0xa0(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
movl $0x851a, %ebx           # imm = 0x851A
leaq 0x90(%rsp), %r12
movslq %ebx, %rax
imulq $0x66666667, %rax, %r14 # imm = 0x66666667
movq %r14, %rcx
shrq $0x3f, %rcx
sarq $0x22, %r14
addl %ecx, %r14d
leal (%r14,%r14), %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %r12, %rdi
callq 0x1205d0
addl $0x9, %ebx
cmpl $0x13, %ebx
movl %r14d, %ebx
jae 0x35d537
movq 0x90(%rsp), %rax
movq 0x98(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x35d5ba
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 0x35d59f
leaq 0x5ff32(%rip), %rcx     # 0x3bd4f3
leaq 0x90(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0xf0(%rsp), %rdi
movq %rdi, -0x10(%rdi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
movq %rbp, %rsi
movq %r13, %r12
cmpq %rcx, %rdx
je 0x35d60e
movq %rdx, 0xe0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xf0(%rsp)
jmp 0x35d616
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 0x170(%rsp), %rdi
leaq 0x180(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
movq $-0x1, 0x10(%rbp)
leaq 0x1b0(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
leaq 0x1d0(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
leaq 0x1f0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq %rcx, -0x8(%rbx)
movb %cl, (%rbx)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x10(%rbx)
movl $0x7, -0x58(%rbx)
movl 0xb0(%rsp), %eax
movl %eax, -0x68(%r13)
callq 0x1205a0
leaq 0x1a0(%rsp), %rdi
movq 0xd8(%rsp), %rax
movq %rax, -0x10(%rdi)
leaq 0x50(%rsp), %rsi
callq 0x1205a0
leaq 0x1c0(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x1205a0
addq $0x308, %r15            # imm = 0x308
leaq 0x168(%rsp), %rsi
movq %r15, %rdi
callq 0x26b154
movq 0x1e0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x35d711
movq 0x1f0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x1c0(%rsp), %rdi
cmpq %r13, %rdi
leaq 0xc8(%rsp), %rbx
je 0x35d736
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x1a0(%rsp), %rdi
cmpq %r14, %rdi
je 0x35d753
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x170(%rsp), %rdi
cmpq %rbp, %rdi
je 0x35d770
movq 0x180(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
movq 0x140(%rsp), %rbp
je 0x35d79d
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x90(%rsp), %rdi
cmpq %r12, %rdi
je 0x35d7ba
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x35d7d6
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x35d7f2
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x35d813
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xb8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x35d830
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x35d864
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x35d864
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x35d85a
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x35d864
leaq 0x8(%rsp), %rdi
callq 0x1f1690
xorl %ebx, %ebx
xorl %r14d, %r14d
jmp 0x35dd2d
leaq 0x10(%rsp), %rsi
leaq 0x40(%rsp), %rdx
leaq 0x18(%rsp), %rcx
callq 0x35e5f2
movq %rax, 0x8(%rsp)
xorl %eax, %eax
cmpq $0x0, 0x120(%rsp)
leaq 0x62c8f(%rip), %rdx     # 0x3c0528
leaq 0x62c6b(%rip), %rcx     # 0x3c050b
cmoveq %rdx, %rcx
setne %al
leaq 0x148(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x12(,%rax,4), %r8
xorl %esi, %esi
callq 0x120290
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x35d8e0
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
je 0x35d8e0
movq 0x8(%rsp), %r14
jmp 0x35dd2b
movq 0x68(%rbp), %r15
leaq 0xc8(%rsp), %rax
movl $0x0, -0x18(%rax)
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq $-0x1, 0x10(%rax)
leaq 0x62c4f(%rip), %rsi     # 0x3c0560
leaq 0x70(%rsp), %rdi
leaq 0x148(%rsp), %rdx
callq 0x26c8c1
leaq 0x62455(%rip), %rsi     # 0x3bfd7f
leaq 0x70(%rsp), %rdi
callq 0x120340
leaq 0x30(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x35d95b
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x35d963
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 0x1203b0
leaq 0x60(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x35d9b2
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x35d9bc
movupd (%rcx), %xmm0
movupd %xmm0, (%r13)
leaq 0xb8(%rsp), %rbp
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0xa0(%rsp), %rax
movq %rax, -0x10(%rax)
movq %rcx, -0x8(%rax)
movb %cl, (%rax)
movl $0x8534, %ebx           # imm = 0x8534
leaq 0x90(%rsp), %r12
movslq %ebx, %rax
imulq $0x66666667, %rax, %r14 # imm = 0x66666667
movq %r14, %rcx
shrq $0x3f, %rcx
sarq $0x22, %r14
addl %ecx, %r14d
leal (%r14,%r14), %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %r12, %rdi
callq 0x1205d0
addl $0x9, %ebx
cmpl $0x13, %ebx
movl %r14d, %ebx
jae 0x35d9f8
movq 0x90(%rsp), %rax
movq 0x98(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x35da7b
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 0x35da60
leaq 0x5fa71(%rip), %rcx     # 0x3bd4f3
leaq 0x90(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0xf0(%rsp), %rdi
movq %rdi, -0x10(%rdi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
movq %rbp, %rsi
movq %r13, %r12
cmpq %rcx, %rdx
je 0x35dacf
movq %rdx, 0xe0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xf0(%rsp)
jmp 0x35dad7
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 0x170(%rsp), %rdi
leaq 0x180(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
movq $-0x1, 0x10(%rbp)
leaq 0x1b0(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
leaq 0x1d0(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
leaq 0x1f0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq %rcx, -0x8(%rbx)
movb %cl, (%rbx)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x10(%rbx)
movl $0x7, -0x58(%rbx)
movl 0xb0(%rsp), %eax
movl %eax, -0x68(%r13)
callq 0x1205a0
leaq 0x1a0(%rsp), %rdi
movq 0xd8(%rsp), %rax
movq %rax, -0x10(%rdi)
leaq 0x50(%rsp), %rsi
callq 0x1205a0
leaq 0x1c0(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x1205a0
addq $0x308, %r15            # imm = 0x308
leaq 0x168(%rsp), %rsi
movq %r15, %rdi
callq 0x26b154
movq 0x1e0(%rsp), %rdi
cmpq %rbx, %rdi
je 0x35dbd2
movq 0x1f0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x1c0(%rsp), %rdi
cmpq %r13, %rdi
je 0x35dbef
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x1a0(%rsp), %rdi
cmpq %r14, %rdi
leaq 0xc8(%rsp), %rbx
leaq 0x30(%rsp), %r14
je 0x35dc19
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x170(%rsp), %rdi
cmpq %rbp, %rdi
je 0x35dc36
movq 0x180(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
movq 0x140(%rsp), %rbp
je 0x35dc63
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x35dc88
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x50(%rsp), %rdi
cmpq %r12, %rdi
je 0x35dc9f
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x35dcb6
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x35dcd7
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xb8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x35dcf4
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x35dd28
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x35dd28
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x35dd1e
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x35dd28
leaq 0x8(%rsp), %rdi
callq 0x1f1690
xorl %r14d, %r14d
xorl %ebx, %ebx
testb %bl, %bl
leaq 0x158(%rsp), %rbx
je 0x35e0a3
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x35dd5b
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
je 0x35dd5b
movq 0x8(%rsp), %r14
jmp 0x35e0a3
movq 0x68(%rbp), %rbx
leaq 0xc8(%rsp), %r12
movl $0x0, -0x18(%r12)
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
movq $-0x1, 0x10(%r12)
leaq 0x62845(%rip), %rsi     # 0x3c05d8
leaq 0x50(%rsp), %rdi
leaq 0x148(%rsp), %rdx
callq 0x26c8c1
leaq 0x80(%rsp), %r13
movq %r13, -0x10(%r13)
movq $0x0, -0x8(%r13)
movb $0x0, (%r13)
movl $0x8585, %ebp           # imm = 0x8585
leaq 0x70(%rsp), %r15
movslq %ebp, %rax
imulq $0x66666667, %rax, %r14 # imm = 0x66666667
movq %r14, %rcx
shrq $0x3f, %rcx
sarq $0x22, %r14
addl %ecx, %r14d
leal (%r14,%r14), %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %r15, %rdi
callq 0x1205d0
addl $0x9, %ebp
cmpl $0x13, %ebp
movl %r14d, %ebp
jae 0x35ddc8
movq 0x70(%rsp), %rax
movq 0x78(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x35de45
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 0x35de2a
leaq 0x5f6a7(%rip), %rcx     # 0x3bd4f3
leaq 0x70(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x30(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
movq %r12, %r15
cmpq %rcx, %rdx
je 0x35de8a
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x35de92
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x170(%rsp), %rdi
leaq 0x180(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
movq $-0x1, 0x10(%rbp)
leaq 0x1b0(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
leaq 0x1d0(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
leaq 0x1f0(%rsp), %r12
movq %r12, -0x10(%r12)
movq %rcx, -0x8(%r12)
movb %cl, (%r12)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x10(%r12)
movl $0x7, -0x58(%r12)
movl 0xb0(%rsp), %eax
movl %eax, -0x68(%r13)
leaq 0xb8(%rsp), %rsi
callq 0x1205a0
leaq 0x1a0(%rsp), %rdi
movq 0xd8(%rsp), %rax
movq %rax, -0x10(%rdi)
leaq 0x50(%rsp), %rsi
callq 0x1205a0
leaq 0x1c0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1205a0
addq $0x308, %rbx            # imm = 0x308
leaq 0x168(%rsp), %rsi
movq %rbx, %rdi
callq 0x26b154
movq 0x1e0(%rsp), %rdi
cmpq %r12, %rdi
leaq 0x158(%rsp), %rbx
je 0x35df9f
movq 0x1f0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x1c0(%rsp), %rdi
cmpq %r13, %rdi
je 0x35dfbc
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x1a0(%rsp), %rdi
cmpq %r14, %rdi
leaq 0x80(%rsp), %r14
je 0x35dfe1
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x170(%rsp), %rdi
cmpq %rbp, %rdi
je 0x35dffe
movq 0x180(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x35e01a
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x70(%rsp), %rdi
cmpq %r14, %rdi
je 0x35e034
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x35e04f
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xb8(%rsp), %rdi
cmpq %r15, %rdi
je 0x35e06c
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x35e0a0
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x35e0a0
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x35e096
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x35e0a0
leaq 0x8(%rsp), %rdi
callq 0x1f1690
xorl %r14d, %r14d
movq 0x148(%rsp), %rdi
cmpq %rbx, %rdi
je 0x35e0c0
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq %r14, %rax
addq $0x258, %rsp            # imm = 0x258
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbp
movq 0xb0(%rsp), %rdi
cmpq %r15, %rdi
je 0x35e1d2
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x35e1d2
jmp 0x35e1cf
jmp 0x35e161
jmp 0x35e2c5
jmp 0x35e149
jmp 0x35e151
jmp 0x35e159
jmp 0x35e1cf
movq %rax, %rbp
movl $0x48, %esi
jmp 0x35e131
jmp 0x35e3d0
jmp 0x35e3d5
movq %rax, %rbp
movl $0x58, %esi
movq %r15, %rdi
jmp 0x35e554
jmp 0x35e224
movq %r13, %r12
movq %rax, %rbp
jmp 0x35e259
movq %rax, %rbp
jmp 0x35e392
movq %rax, %rbp
jmp 0x35e3ae
movq %rax, %rbp
jmp 0x35e4ea
movq %rax, %rbp
leaq 0x168(%rsp), %rdi
callq 0x266b98
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x35e2cb
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x35e2cb
jmp 0x35e1bf
movq %rax, %rbp
movl $0x50, %esi
jmp 0x35e1c7
jmp 0x35e34e
jmp 0x35e34e
movq %rax, %rbp
movl $0x68, %esi
jmp 0x35e1c7
movq %rax, %rbp
movl $0x58, %esi
movq %r14, %rdi
jmp 0x35e554
movq %rax, %rbp
movq 0x168(%rsp), %rdi
cmpq %rbx, %rdi
je 0x35e559
movq 0x178(%rsp), %rsi
jmp 0x35e551
jmp 0x35e28f
jmp 0x35e3dd
jmp 0x35e3d0
movq %rax, %rbp
jmp 0x35e43d
movq %rax, %rbp
jmp 0x35e459
movq %rax, %rbp
jmp 0x35e47b
movq %rax, %rbp
jmp 0x35e4a0
jmp 0x35e3d5
movq %rax, %rbp
leaq 0x168(%rsp), %rdi
callq 0x266b98
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x35e259
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x90(%rsp), %rdi
cmpq %r12, %rdi
jne 0x35e366
jmp 0x35e376
jmp 0x35e34e
jmp 0x35e303
movq %r12, %r15
movq %rax, %rbp
jmp 0x35e32f
movq %r12, %r15
movq %rax, %rbp
jmp 0x35e53c
movq %rax, %rbp
leaq 0x168(%rsp), %rdi
callq 0x266b98
movq 0x230(%rsp), %rdi
cmpq %rbx, %rdi
je 0x35e3e0
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x35e3e0
movq %r13, %r12
movq %rax, %rbp
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x35e2f0
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x50(%rsp), %rdi
cmpq %r12, %rdi
jne 0x35e385
jmp 0x35e392
movq %rax, %rbp
leaq 0x168(%rsp), %rdi
callq 0x266b98
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x35e32f
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
jne 0x35e511
jmp 0x35e521
jmp 0x35e34e
jmp 0x35e34e
movq %rax, %rbp
jmp 0x35e559
movq %rax, %rbp
movq 0x90(%rsp), %rdi
cmpq %r13, %rdi
je 0x35e376
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x35e392
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x35e3ae
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x35e4ea
movq 0x80(%rsp), %rsi
jmp 0x35e4e2
movq %rax, %rbp
jmp 0x35e418
movq %rax, %rbp
jmp 0x35e4c5
movq %rax, %rbp
movq 0x210(%rsp), %rdi
cmpq %r13, %rdi
je 0x35e3fd
movq 0x220(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x35e418
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x100(%rsp), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0x35e43d
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x35e459
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x35e47b
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x35e4a0
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x35e4c5
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rax
cmpq %rax, %rdi
je 0x35e4ea
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xb8(%rsp), %rdi
leaq 0xc8(%rsp), %rax
cmpq %rax, %rdi
jne 0x35e549
jmp 0x35e559
movq %r12, %r15
movq %rax, %rbp
movq 0x70(%rsp), %rdi
cmpq %r13, %rdi
je 0x35e521
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x35e53c
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xb8(%rsp), %rdi
cmpq %r15, %rdi
je 0x35e559
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x148(%rsp), %rdi
leaq 0x158(%rsp), %rax
cmpq %rax, %rdi
je 0x35e57e
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq %rbp, %rdi
callq 0x120330