// File: /workspace/github_cpp_makefile_star2_O3/ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::parser<double>::parse_generic_function_call(exprtk::igeneric_function<double>*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
inline expression_node_ptr parse_generic_function_call(igeneric_function<T>* function, const std::string& function_name)
      {
         std::vector<expression_node_ptr> arg_list;

         scoped_vec_delete<expression_node_t> svd((*this), arg_list);

         next_token();

         std::string param_type_list;

         type_checker tc(
            (*this),
            function_name,
            function->parameter_sequence,
            type_checker::e_string);

         if (tc.invalid())
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR136 - Type checker instantiation failure for generic function: " + function_name,
               exprtk_error_location));

            return error_node();
         }

         if (token_is(token_t::e_lbracket))
         {
            if (token_is(token_t::e_rbracket))
            {
               if (
                    !function->allow_zero_parameters() &&
                    !tc       .allow_zero_parameters()
                  )
               {
                  set_error(make_error(
                     parser_error::e_syntax,
                     current_token(),
                     "ERR137 - Zero parameter call to generic function: "
                     + function_name + " not allowed",
                     exprtk_error_location));

                  return error_node();
               }
            }
            else
            {
               for ( ; ; )
               {
                  expression_node_ptr arg = parse_expression();

                  if (0 == arg)
                     return error_node();

                  if (is_ivector_node(arg))
                     param_type_list += 'V';
                  else if (is_generally_string_node(arg))
                     param_type_list += 'S';
                  else // Everything else is assumed to be a scalar returning expression
                     param_type_list += 'T';

                  arg_list.push_back(arg);

                  if (token_is(token_t::e_rbracket))
                     break;
                  else if (!token_is(token_t::e_comma))
                  {
                     set_error(make_error(
                        parser_error::e_syntax,
                        current_token(),
                        "ERR138 - Expected ',' for call to generic function: " + function_name,
                        exprtk_error_location));

                     return error_node();
                  }
               }
            }
         }
         else if (
                   !function->parameter_sequence.empty() &&
                   function->allow_zero_parameters    () &&
                   !tc      .allow_zero_parameters    ()
                 )
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR139 - Zero parameter call to generic function: "
               + function_name + " not allowed",
               exprtk_error_location));

            return error_node();
         }

         std::size_t param_seq_index = 0;

         if (
              state_.type_check_enabled &&
              !tc.verify(param_type_list, param_seq_index)
            )
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR140 - Invalid input parameter sequence for call to generic function: " + function_name,
               exprtk_error_location));

            return error_node();
         }

         expression_node_ptr result =
            (tc.paramseq_count() <= 1) ?
               expression_generator_
                  .generic_function_call(function, arg_list) :
               expression_generator_
                  .generic_function_call(function, arg_list, param_seq_index);

         svd.delete_ptr = (0 == result);

         return result;
      }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1d8, %rsp            # imm = 0x1D8
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %rbx
xorps %xmm0, %xmm0
leaq 0x150(%rsp), %rax
movaps %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movb $0x1, 0x170(%rsp)
movq %rdi, 0x178(%rsp)
movq %rax, 0x180(%rsp)
movq 0x18(%rdi), %r14
cmpq %r14, 0x8(%rdi)
je 0x3405d6
leaq 0x30(%r14), %rax
movq %rax, 0x18(%rbx)
jmp 0x3405da
leaq 0x28(%rbx), %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x78(%rbx), %rdi
leaq 0x8(%r14), %rsi
movq %rdi, 0x40(%rsp)
callq 0x11e5a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
leaq 0x140(%rsp), %r13
movq %r13, -0x10(%r13)
movq $0x0, -0x8(%r13)
movb $0x0, (%r13)
leaq 0x20(%r12), %rcx
leaq 0x188(%rsp), %rdi
movq %rbx, %rsi
movq %r15, %rdx
movl $0x53, %r8d
callq 0x367762
cmpb $0x0, 0x188(%rsp)
je 0x340663
cmpl $0x28, 0x70(%rbx)
jne 0x34075a
movq 0x18(%rbx), %r14
cmpq %r14, 0x8(%rbx)
je 0x340989
leaq 0x30(%r14), %rax
movq %rax, 0x18(%rbx)
jmp 0x34098d
leaq 0x57abf(%rip), %rsi     # 0x398129
leaq 0x48(%rsp), %rdi
movq %r15, %rdx
callq 0x24ea8f
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
movq %rsp, %rdi
movl $0x36, %esi
callq 0x11e5d0
movq %rsp, %rdi
movl $0x31, %esi
callq 0x11e5d0
movq %rsp, %rdi
movl $0x37, %esi
callq 0x11e5d0
movq %rsp, %rdi
movl $0x38, %esi
callq 0x11e5d0
movq %rsp, %rdi
movl $0x32, %esi
callq 0x11e5d0
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x340713
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 0x3406f8
leaq 0x53e31(%rip), %rcx     # 0x39454b
movq %rsp, %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x11e110
leaq 0x30(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3407da
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x3407e0
cmpq $0x0, 0x28(%r12)
je 0x340b4b
cmpb $0x1, 0x8(%r12)
jne 0x340b4b
leaq 0x188(%rsp), %rdi
callq 0x3677f8
testb %al, %al
jne 0x340b4b
leaq 0x57a46(%rip), %rsi     # 0x3981d4
leaq 0x20(%rsp), %rdi
movq %r15, %rdx
callq 0x24ea8f
leaq 0x55d88(%rip), %rsi     # 0x39652a
leaq 0x20(%rsp), %rdi
callq 0x11e340
leaq 0x58(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x341142
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x341148
movups (%rcx), %xmm0
movups %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 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
movq $-0x1, 0x10(%r13)
leaq 0xd0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
leaq 0xf0(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
leaq 0x110(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r15)
movl $0x1, -0x58(%r15)
movl 0x70(%rbx), %eax
movl %eax, -0x68(%r14)
movq 0x40(%rsp), %rsi
callq 0x11e5a0
leaq 0xc0(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x48(%rsp), %rsi
callq 0x11e5a0
leaq 0xe0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x11e5a0
addq $0x308, %rbx            # imm = 0x308
leaq 0x88(%rsp), %rsi
movq %rbx, %rdi
callq 0x24d3b4
movq 0x100(%rsp), %rdi
cmpq %r15, %rdi
je 0x3408d6
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0xe0(%rsp), %rdi
cmpq %r14, %rdi
je 0x3408f3
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0xc0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x340910
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x90(%rsp), %rdi
cmpq %r13, %rdi
leaq 0x140(%rsp), %r13
je 0x340935
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x340951
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x340967
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x340982
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x11e0c0
xorl %ebx, %ebx
jmp 0x3410b5
leaq 0x28(%rbx), %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq 0x40(%rsp), %rdi
callq 0x11e5a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
cmpl $0x29, 0x70(%rbx)
jne 0x3409cd
movq 0x18(%rbx), %r14
cmpq %r14, 0x8(%rbx)
je 0x340b0b
leaq 0x30(%r14), %rax
movq %rax, 0x18(%rbx)
jmp 0x340b0f
leaq 0x28(%rbx), %rbp
leaq 0x130(%rsp), %r13
movq %rbx, %rdi
xorl %esi, %esi
callq 0x24edc0
movq %rax, 0x68(%rsp)
testq %rax, %rax
je 0x3410ab
movq (%rax), %rcx
movq %rax, %rdi
callq *0x28(%rcx)
addl $-0x7c, %eax
cmpl $0x19, %eax
jae 0x340a0e
movb $0x56, %cl
movl $0x1f17801, %edx        # imm = 0x1F17801
btl %eax, %edx
jb 0x340a3e
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x340a3c
movq (%rdi), %rax
callq *0x28(%rax)
movb $0x53, %cl
cmpl $0x21, %eax
ja 0x340a37
movl %eax, %edx
movabsq $0x388fc0000, %rsi      # imm = 0x388FC0000
btq %rdx, %rsi
jb 0x340a3e
cmpl $0x7b, %eax
je 0x340a3e
movb $0x54, %cl
movzbl %cl, %esi
movq %r13, %rdi
callq 0x11e5d0
movq 0x158(%rsp), %rsi
cmpq 0x160(%rsp), %rsi
je 0x340a6e
movq 0x68(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x158(%rsp)
jmp 0x340a80
leaq 0x150(%rsp), %rdi
leaq 0x68(%rsp), %rdx
callq 0x36ea0a
movl 0x70(%rbx), %eax
cmpl $0x2c, %eax
jne 0x340ac4
movq 0x18(%rbx), %rax
movq %rbp, %r14
cmpq %rax, 0x8(%rbx)
je 0x340aa0
leaq 0x30(%rax), %rcx
movq %rcx, 0x18(%rbx)
movq %rax, %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq 0x40(%rsp), %rdi
callq 0x11e5a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
jmp 0x3409d9
cmpl $0x29, %eax
jne 0x340cdd
movq 0x18(%rbx), %rax
cmpq %rax, 0x8(%rbx)
je 0x340ae2
leaq 0x30(%rax), %rcx
movq %rcx, 0x18(%rbx)
movq %rax, %rbp
movl (%rbp), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%rbp), %rsi
movq 0x40(%rsp), %rdi
callq 0x11e5a0
movq 0x28(%rbp), %rax
movq %rax, 0x98(%rbx)
leaq 0x140(%rsp), %r13
jmp 0x340b4b
leaq 0x28(%rbx), %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq 0x40(%rsp), %rdi
callq 0x11e5a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
cmpb $0x0, 0x8(%r12)
jne 0x340b4b
leaq 0x188(%rsp), %rdi
callq 0x3677f8
testb %al, %al
je 0x340eb8
movq $0x0, 0x68(%rsp)
cmpb $0x1, 0x3ad(%rbx)
jne 0x340b7b
leaq 0x188(%rsp), %rdi
leaq 0x130(%rsp), %rsi
leaq 0x68(%rsp), %rdx
callq 0x367870
testb %al, %al
je 0x340be6
movq 0x1c8(%rsp), %rax
subq 0x1c0(%rsp), %rax
sarq $0x3, %rax
movabsq $-0x3333333333333333, %rcx # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rcx
addq $0x220, %rbx            # imm = 0x220
cmpq $0x1, %rcx
ja 0x340bbb
leaq 0x88(%rsp), %rcx
movq $-0x1, (%rcx)
jmp 0x340bc0
leaq 0x68(%rsp), %rcx
leaq 0x150(%rsp), %rdx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x3684c2
movq %rax, %rbx
testq %rax, %rax
sete 0x170(%rsp)
jmp 0x3410b5
leaq 0x5761a(%rip), %rsi     # 0x398207
leaq 0x48(%rsp), %rdi
movq %r15, %rdx
callq 0x24ea8f
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
movq %rsp, %rdi
movl $0x30, %esi
callq 0x11e5d0
movq %rsp, %rdi
movl $0x30, %esi
callq 0x11e5d0
movq %rsp, %rdi
movl $0x38, %esi
callq 0x11e5d0
movq %rsp, %rdi
movl $0x38, %esi
callq 0x11e5d0
movq %rsp, %rdi
movl $0x32, %esi
callq 0x11e5d0
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x340c96
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 0x340c7b
leaq 0x538ae(%rip), %rcx     # 0x39454b
movq %rsp, %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x11e110
leaq 0x30(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x340dd4
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x340dda
leaq 0x574bb(%rip), %rsi     # 0x39819f
leaq 0x48(%rsp), %rdi
movq %r15, %rdx
callq 0x24ea8f
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
movq %rsp, %rdi
movl $0x36, %esi
callq 0x11e5d0
movq %rsp, %rdi
movl $0x36, %esi
callq 0x11e5d0
movq %rsp, %rdi
movl $0x37, %esi
callq 0x11e5d0
movq %rsp, %rdi
movl $0x38, %esi
callq 0x11e5d0
movq %rsp, %rdi
movl $0x32, %esi
callq 0x11e5d0
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x340d8d
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 0x340d72
leaq 0x537b7(%rip), %rcx     # 0x39454b
movq %rsp, %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x11e110
leaq 0x30(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x340f0b
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x340f11
movups (%rcx), %xmm0
movups %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 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
movq $-0x1, 0x10(%r13)
leaq 0xd0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
leaq 0xf0(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
leaq 0x110(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r15)
movl $0x1, -0x58(%r15)
movl 0x70(%rbx), %eax
movl %eax, -0x68(%r14)
movq 0x40(%rsp), %rsi
callq 0x11e5a0
leaq 0xc0(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x48(%rsp), %rsi
callq 0x11e5a0
leaq 0xe0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x11e5a0
addq $0x308, %rbx            # imm = 0x308
leaq 0x88(%rsp), %rsi
movq %rbx, %rdi
callq 0x24d3b4
jmp 0x3408b9
leaq 0x572ad(%rip), %rsi     # 0x39816c
leaq 0x20(%rsp), %rdi
movq %r15, %rdx
callq 0x24ea8f
leaq 0x55657(%rip), %rsi     # 0x39652a
leaq 0x20(%rsp), %rdi
callq 0x11e340
leaq 0x58(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x341324
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x34132a
movups (%rcx), %xmm0
movups %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 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
movq $-0x1, 0x10(%r13)
leaq 0xd0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
leaq 0xf0(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
leaq 0x110(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r15)
movl $0x1, -0x58(%r15)
movl 0x70(%rbx), %eax
movl %eax, -0x68(%r14)
movq 0x40(%rsp), %rsi
callq 0x11e5a0
leaq 0xc0(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x48(%rsp), %rsi
callq 0x11e5a0
leaq 0xe0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x11e5a0
addq $0x308, %rbx            # imm = 0x308
leaq 0x88(%rsp), %rsi
movq %rbx, %rdi
callq 0x24d3b4
movq 0x100(%rsp), %rdi
cmpq %r15, %rdi
je 0x341007
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0xe0(%rsp), %rdi
cmpq %r14, %rdi
je 0x341024
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0xc0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x341041
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x90(%rsp), %rdi
cmpq %r13, %rdi
je 0x34105e
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x34107a
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x341090
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3410ab
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x11e0c0
xorl %ebx, %ebx
leaq 0x140(%rsp), %r13
leaq 0x1c0(%rsp), %r14
movq %r14, %rdi
callq 0x36a200
movq -0x28(%r14), %rdi
leaq 0x1a8(%rsp), %rax
cmpq %rax, %rdi
je 0x3410e6
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x130(%rsp), %rdi
cmpq %r13, %rdi
je 0x341103
movq 0x140(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x170(%rsp), %rdi
callq 0x253672
movq 0x150(%rsp), %rdi
testq %rdi, %rdi
je 0x34112d
movq 0x160(%rsp), %rsi
subq %rdi, %rsi
callq 0x11e0c0
movq %rbx, %rax
addq $0x1d8, %rsp            # imm = 0x1D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x78(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
leaq 0x68(%rsp), %rdi
movl $0x34, %esi
callq 0x11e5d0
leaq 0x68(%rsp), %rdi
movl $0x38, %esi
callq 0x11e5d0
leaq 0x68(%rsp), %rdi
movl $0x37, %esi
callq 0x11e5d0
leaq 0x68(%rsp), %rdi
movl $0x38, %esi
callq 0x11e5d0
leaq 0x68(%rsp), %rdi
movl $0x32, %esi
callq 0x11e5d0
movq 0x68(%rsp), %rax
movq 0x70(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x3411fd
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 0x3411e2
leaq 0x53347(%rip), %rcx     # 0x39454b
leaq 0x68(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x11e110
leaq 0x10(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x34123e
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x341244
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
movq $-0x1, 0x10(%rbp)
leaq 0xd0(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
leaq 0xf0(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
leaq 0x110(%rsp), %r12
movq %r12, -0x10(%r12)
movq %rcx, -0x8(%r12)
movb %cl, (%r12)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r12)
movl $0x1, -0x58(%r12)
movl 0x70(%rbx), %eax
movl %eax, -0x68(%r14)
movq 0x40(%rsp), %rsi
callq 0x11e5a0
leaq 0xc0(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x48(%rsp), %rsi
callq 0x11e5a0
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0x11e5a0
addq $0x308, %rbx            # imm = 0x308
leaq 0x88(%rsp), %rsi
movq %rbx, %rdi
callq 0x24d3b4
jmp 0x341501
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x78(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
leaq 0x68(%rsp), %rdi
movl $0x35, %esi
callq 0x11e5d0
leaq 0x68(%rsp), %rdi
movl $0x33, %esi
callq 0x11e5d0
leaq 0x68(%rsp), %rdi
movl $0x37, %esi
callq 0x11e5d0
leaq 0x68(%rsp), %rdi
movl $0x38, %esi
callq 0x11e5d0
leaq 0x68(%rsp), %rdi
movl $0x32, %esi
callq 0x11e5d0
movq 0x68(%rsp), %rax
movq 0x70(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x3413df
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 0x3413c4
leaq 0x53165(%rip), %rcx     # 0x39454b
leaq 0x68(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x11e110
leaq 0x10(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x341420
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x341426
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
movq $-0x1, 0x10(%rbp)
leaq 0xd0(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
leaq 0xf0(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
leaq 0x110(%rsp), %r12
movq %r12, -0x10(%r12)
movq %rcx, -0x8(%r12)
movb %cl, (%r12)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r12)
movl $0x1, -0x58(%r12)
movl 0x70(%rbx), %eax
movl %eax, -0x68(%r14)
movq 0x40(%rsp), %rsi
callq 0x11e5a0
leaq 0xc0(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x48(%rsp), %rsi
callq 0x11e5a0
leaq 0xe0(%rsp), %rdi
movq %rsp, %rsi
callq 0x11e5a0
addq $0x308, %rbx            # imm = 0x308
leaq 0x88(%rsp), %rsi
movq %rbx, %rdi
callq 0x24d3b4
movq 0x100(%rsp), %rdi
cmpq %r12, %rdi
je 0x34151e
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0xe0(%rsp), %rdi
cmpq %r14, %rdi
je 0x34153b
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0xc0(%rsp), %rdi
cmpq %r15, %rdi
movq %r13, %rbx
je 0x34155b
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x90(%rsp), %rdi
cmpq %rbp, %rdi
je 0x341578
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
leaq 0x140(%rsp), %r13
je 0x34159b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x68(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3415b2
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x3415ce
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x30(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x340982
movq 0x30(%rsp), %rsi
jmp 0x34097a
jmp 0x34162b
jmp 0x341666
jmp 0x3415f9
jmp 0x341738
jmp 0x34162b
jmp 0x341666
movq %rax, %rbx
jmp 0x34169c
jmp 0x341738
jmp 0x3416d4
jmp 0x341702
jmp 0x341738
jmp 0x341738
jmp 0x3416d4
jmp 0x341702
jmp 0x341738
jmp 0x34162b
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0x249100
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x341669
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x341669
jmp 0x3416d4
jmp 0x341738
jmp 0x341666
jmp 0x341738
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x341680
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x34169c
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x30(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x34173b
movq 0x30(%rsp), %rsi
jmp 0x34172e
jmp 0x341702
jmp 0x341738
jmp 0x3416d4
jmp 0x341738
jmp 0x341702
jmp 0x3416d4
jmp 0x341702
jmp 0x341738
movq %rax, %rbx
jmp 0x341748
movq %rax, %rbx
jmp 0x34176d
jmp 0x341738
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0x249100
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x341705
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x341705
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x34171b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x34173b
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x34173b
movq %rax, %rbx
leaq 0x188(%rsp), %rdi
callq 0x368ce0
movq 0x130(%rsp), %rdi
leaq 0x140(%rsp), %rax
cmpq %rax, %rdi
je 0x34176d
movq 0x140(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x170(%rsp), %rdi
callq 0x253672
movq 0x150(%rsp), %rdi
testq %rdi, %rdi
je 0x341797
movq 0x160(%rsp), %rsi
subq %rdi, %rsi
callq 0x11e0c0
movq %rbx, %rdi
callq 0x11e330
nop