// File: /workspace/github_cpp_makefile_star2_O1/ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::parser<double>::parse_return_statement()
inline expression_node_ptr parse_return_statement()
      {
         if (state_.parsing_return_stmt)
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR214 - Return call within a return call is not allowed",
               exprtk_error_location));

            return error_node();
         }

         scoped_bool_negator sbn(state_.parsing_return_stmt);

         std::vector<expression_node_ptr> arg_list;

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

         if (!details::imatch(current_token().value,"return"))
         {
            return error_node();
         }
         else
            next_token();

         if (!token_is(token_t::e_lsqrbracket))
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR215 - Expected '[' at start of return statement",
               exprtk_error_location));

            return error_node();
         }
         else if (!token_is(token_t::e_rsqrbracket))
         {
            for ( ; ; )
            {
               expression_node_ptr arg = parse_expression();

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

               arg_list.push_back(arg);

               if (token_is(token_t::e_rsqrbracket))
                  break;
               else if (!token_is(token_t::e_comma))
               {
                  set_error(make_error(
                     parser_error::e_syntax,
                     current_token(),
                     "ERR216 - Expected ',' between values during call to return",
                     exprtk_error_location));

                  return error_node();
               }
            }
         }
         else if (settings_.zero_return_disabled())
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR217 - Zero parameter return statement not allowed",
               exprtk_error_location));

            return error_node();
         }

         const lexer::token prev_token = current_token();

         if (token_is(token_t::e_rsqrbracket))
         {
            if (!arg_list.empty())
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  prev_token,
                  "ERR218 - Invalid ']' found during return call",
                  exprtk_error_location));

               return error_node();
            }
         }

         std::string ret_param_type_list;

         for (std::size_t i = 0; i < arg_list.size(); ++i)
         {
            if (0 == arg_list[i])
               return error_node();
            else if (is_ivector_node(arg_list[i]))
               ret_param_type_list += 'V';
            else if (is_generally_string_node(arg_list[i]))
               ret_param_type_list += 'S';
            else
               ret_param_type_list += 'T';
         }

         dec_.retparam_list_.push_back(ret_param_type_list);

         expression_node_ptr result = expression_generator_.return_call(arg_list);

         svd.delete_ptr = (0 == result);

         state_.return_stmt_present = true;

         state_.activate_side_effect("parse_return_statement()");

         return result;
      }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x178, %rsp            # imm = 0x178
movq %rdi, %rbx
movb 0x3a8(%rdi), %al
cmpb $0x1, %al
jne 0x28b91e
leaq 0x50(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x134dd3(%rip), %rsi    # 0x3c05fd
leaq 0x134e04(%rip), %rdx    # 0x3c0635
leaq 0x40(%rsp), %rdi
callq 0x1eabb8
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
movl $0x7742, %ebp           # imm = 0x7742
movq %rsp, %r14
movslq %ebp, %rax
imulq $0x66666667, %rax, %r15 # imm = 0x66666667
movq %r15, %rcx
shrq $0x3f, %rcx
sarq $0x22, %r15
addl %ecx, %r15d
leal (%r15,%r15), %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %r14, %rdi
callq 0x1205d0
addl $0x9, %ebp
cmpl $0x13, %ebp
movl %r15d, %ebp
jae 0x28b85b
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 0x28b8d7
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 0x28b8bc
leaq 0x131c15(%rip), %rcx    # 0x3bd4f3
movq %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
cmpq %rcx, %rdx
je 0x28ba4a
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x28ba50
xorb $0x1, %al
movb %al, 0x3a8(%rbx)
xorps %xmm0, %xmm0
leaq 0x70(%rsp), %rax
movaps %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movb $0x1, 0x160(%rsp)
movq %rbx, 0x168(%rsp)
movq %rax, 0x170(%rsp)
leaq 0x98(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x134d39(%rip), %rsi    # 0x3c069d
leaq 0x134d38(%rip), %rdx    # 0x3c06a3
leaq 0x88(%rsp), %rdi
callq 0x1eabb8
leaq 0x78(%rbx), %r14
movq 0x80(%rbx), %r12
cmpq 0x90(%rsp), %r12
jne 0x28b9ff
testq %r12, %r12
sete %bpl
je 0x28ba01
movq (%r14), %r13
movq 0x88(%rsp), %r15
movsbl (%r13), %edi
callq 0x120450
movl %eax, %ebp
movsbl (%r15), %edi
callq 0x120450
cmpl %eax, %ebp
jne 0x28b9ff
movq %r14, 0x130(%rsp)
movl $0x1, %ecx
movq %rcx, %r14
cmpq %rcx, %r12
je 0x28b9ee
movsbl (%r13,%r14), %edi
callq 0x120450
movl %eax, %ebp
movsbl (%r15,%r14), %edi
callq 0x120450
leaq 0x1(%r14), %rcx
cmpl %eax, %ebp
je 0x28b9c7
cmpq %r12, %r14
setae %bpl
movq 0x130(%rsp), %r14
jmp 0x28ba01
xorl %ebp, %ebp
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x28ba26
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x1200c0
testb %bpl, %bpl
je 0x28bf2d
movq 0x18(%rbx), %r15
cmpq %r15, 0x8(%rbx)
je 0x28bbfd
leaq 0x30(%r15), %rax
movq %rax, 0x18(%rbx)
jmp 0x28bc01
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
movl $0x0, -0x8(%rdi)
leaq 0xa0(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
movq $-0x1, 0x10(%r14)
leaq 0xd0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
leaq 0xf0(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
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(%r15)
leaq 0x78(%rbx), %rsi
callq 0x1205a0
leaq 0xc0(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x40(%rsp), %rsi
callq 0x1205a0
leaq 0xe0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1205a0
addq $0x308, %rbx            # imm = 0x308
leaq 0x88(%rsp), %rsi
movq %rbx, %rdi
callq 0x26b154
movq 0x100(%rsp), %rdi
cmpq %r12, %rdi
je 0x28bb50
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xe0(%rsp), %rdi
cmpq %r15, %rdi
leaq 0x10(%rsp), %rbx
je 0x28bb72
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xc0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x28bb8f
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x90(%rsp), %rdi
cmpq %r14, %rdi
je 0x28bbac
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x28bbc8
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq (%rsp), %rdi
cmpq %rbx, %rdi
je 0x28bbde
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x40(%rsp), %rdi
cmpq %r13, %rdi
je 0x28bbf5
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x1200c0
xorl %r14d, %r14d
jmp 0x28bf5e
leaq 0x28(%rbx), %r15
movl (%r15), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r15), %rsi
movq %r14, %rdi
callq 0x1205a0
movq 0x28(%r15), %rax
movq %rax, 0x98(%rbx)
movl 0x70(%rbx), %ebp
cmpl $0x5b, %ebp
jne 0x28bc87
movq 0x18(%rbx), %r15
cmpq %r15, 0x8(%rbx)
je 0x28bc3a
leaq 0x30(%r15), %rax
movq %rax, 0x18(%rbx)
jmp 0x28bc3e
leaq 0x28(%rbx), %r15
movl (%r15), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r15), %rsi
movq %r14, %rdi
callq 0x1205a0
movq 0x28(%r15), %rax
movq %rax, 0x98(%rbx)
cmpl $0x5b, %ebp
jne 0x28bc87
movl 0x70(%rbx), %ebp
cmpl $0x5d, %ebp
jne 0x28c0ac
movq 0x18(%rbx), %r15
cmpq %r15, 0x8(%rbx)
je 0x28bf73
leaq 0x30(%r15), %rax
movq %rax, 0x18(%rbx)
jmp 0x28bf77
leaq 0x50(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x13499f(%rip), %rsi    # 0x3c0636
leaq 0x1349ca(%rip), %rdx    # 0x3c0668
leaq 0x40(%rsp), %rdi
callq 0x1eabb8
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq $0x0, -0x8(%r13)
movb $0x0, (%r13)
movl $0x775a, %ebp           # imm = 0x775A
movq %rsp, %r15
movslq %ebp, %rax
imulq $0x66666667, %rax, %r12 # imm = 0x66666667
movq %r12, %rcx
shrq $0x3f, %rcx
sarq $0x22, %r12
addl %ecx, %r12d
leal (%r12,%r12), %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 %r12d, %ebp
jae 0x28bcc6
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 0x28bd42
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 0x28bd27
leaq 0x1317aa(%rip), %rcx    # 0x3bd4f3
movq %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
cmpq %rcx, %rdx
je 0x28bd82
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x28bd88
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
movl $0x0, -0x8(%rdi)
leaq 0xa0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
movq $-0x1, 0x10(%rbp)
leaq 0xd0(%rsp), %r12
movq %r12, -0x10(%r12)
movq %rcx, -0x8(%r12)
movb %cl, (%r12)
leaq 0xf0(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
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(%r13)
movq %r14, %rsi
callq 0x1205a0
leaq 0xc0(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x40(%rsp), %rsi
callq 0x1205a0
leaq 0xe0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1205a0
leaq 0x308(%rbx), %rdi
leaq 0x88(%rsp), %rsi
callq 0x26b154
movq 0x100(%rsp), %rdi
cmpq %r15, %rdi
je 0x28be83
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xe0(%rsp), %rdi
cmpq %r13, %rdi
je 0x28bea0
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xc0(%rsp), %rdi
cmpq %r12, %rdi
leaq 0x50(%rsp), %r14
leaq 0x10(%rsp), %r15
je 0x28bec7
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x90(%rsp), %rdi
cmpq %rbp, %rdi
je 0x28bee4
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x28bf00
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x28bf16
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x40(%rsp), %rdi
cmpq %r14, %rdi
je 0x28bf2d
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x1200c0
xorl %r14d, %r14d
leaq 0x160(%rsp), %rdi
callq 0x2716ba
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x28bf57
movq 0x80(%rsp), %rsi
subq %rdi, %rsi
callq 0x1200c0
xorb $0x1, 0x3a8(%rbx)
movq %r14, %rax
addq $0x178, %rsp            # imm = 0x178
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x28(%rbx), %r15
movl (%r15), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r15), %rsi
movq %r14, %rdi
callq 0x1205a0
movq 0x28(%r15), %rax
movq %rax, 0x98(%rbx)
cmpl $0x5d, %ebp
jne 0x28c0ac
cmpb $0x1, 0xdc(%rbx)
jne 0x28c4ee
leaq 0x50(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x1346ea(%rip), %rsi    # 0x3c06a4
leaq 0x134717(%rip), %rdx    # 0x3c06d8
leaq 0x40(%rsp), %rdi
callq 0x1eabb8
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq $0x0, -0x8(%r13)
movb $0x0, (%r13)
movl $0x777d, %ebp           # imm = 0x777D
movq %rsp, %r15
movslq %ebp, %rax
imulq $0x66666667, %rax, %r12 # imm = 0x66666667
movq %r12, %rcx
shrq $0x3f, %rcx
sarq $0x22, %r12
addl %ecx, %r12d
leal (%r12,%r12), %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 %r12d, %ebp
jae 0x28bfe9
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 0x28c065
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 0x28c04a
leaq 0x131487(%rip), %rcx    # 0x3bd4f3
movq %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
cmpq %rcx, %rdx
je 0x28c80e
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x28c814
leaq 0x28(%rbx), %rax
movq %rax, 0x130(%rsp)
leaq 0x308(%rbx), %rax
movq %rax, 0x138(%rsp)
xorl %r12d, %r12d
movq %rsp, %r13
movq %rbx, %rdi
xorl %esi, %esi
callq 0x26cc52
movq %rax, 0x140(%rsp)
movl $0x1, %ecx
testq %rax, %rax
je 0x28c4dd
movq 0x78(%rsp), %rsi
cmpq 0x80(%rsp), %rsi
je 0x28c107
movq %rax, (%rsi)
addq $0x8, 0x78(%rsp)
jmp 0x28c119
leaq 0x70(%rsp), %rdi
leaq 0x140(%rsp), %rdx
callq 0x396592
movl 0x70(%rbx), %r15d
cmpl $0x5d, %r15d
jne 0x28c172
movq %r14, %rbp
movq 0x18(%rbx), %rax
movq 0x130(%rsp), %r14
cmpq %rax, 0x8(%rbx)
je 0x28c143
leaq 0x30(%rax), %rcx
movq %rcx, 0x18(%rbx)
movq %rax, %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq %rbp, %rdi
callq 0x1205a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
movl $0x2, %ecx
cmpl $0x5d, %r15d
movq %rbp, %r14
je 0x28c4dd
movl 0x70(%rbx), %r15d
cmpl $0x2c, %r15d
jne 0x28c1c8
movq %r14, %rbp
movq 0x18(%rbx), %rax
movq 0x130(%rsp), %r14
cmpq %rax, 0x8(%rbx)
je 0x28c19c
leaq 0x30(%rax), %rcx
movq %rcx, 0x18(%rbx)
movq %rax, %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq %rbp, %rdi
callq 0x1205a0
xorl %ecx, %ecx
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
cmpl $0x2c, %r15d
movq %rbp, %r14
je 0x28c4dd
leaq 0x50(%rsp), %rax
movq %rax, 0x40(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x13448b(%rip), %rsi    # 0x3c0669
leaq 0x1344be(%rip), %rdx    # 0x3c06a3
callq 0x1eabb8
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq $0x0, 0x8(%rsp)
movb $0x0, 0x10(%rsp)
movl $0x7771, %r15d          # imm = 0x7771
movslq %r15d, %rax
imulq $0x66666667, %rax, %rbp # imm = 0x66666667
movq %rbp, %rcx
shrq $0x3f, %rcx
sarq $0x22, %rbp
addl %ecx, %ebp
leal (,%rbp,2), %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %r13, %rdi
callq 0x1205d0
addl $0x9, %r15d
cmpl $0x13, %r15d
movl %ebp, %r15d
jae 0x28c207
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 0x28c287
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 0x28c26c
movl $0xb, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x131258(%rip), %rcx    # 0x3bd4f3
callq 0x120110
leaq 0x30(%rsp), %r15
movq %r15, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x28c2c8
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x28c2cf
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq %r12, 0x8(%rax)
movb %r12b, 0x10(%rax)
movl %r12d, 0x88(%rsp)
leaq 0xa0(%rsp), %rax
movq %rax, 0x90(%rsp)
movq %r12, 0x98(%rsp)
movb %r12b, 0xa0(%rsp)
movq $-0x1, 0xb0(%rsp)
movl %r12d, 0xb8(%rsp)
leaq 0xd0(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq %r12, 0xc8(%rsp)
movb %r12b, 0xd0(%rsp)
leaq 0xf0(%rsp), %rax
movq %rax, 0xe0(%rsp)
movq %r12, 0xe8(%rsp)
movb %r12b, 0xf0(%rsp)
leaq 0x110(%rsp), %rax
movq %rax, 0x100(%rsp)
movq %r12, 0x108(%rsp)
movb %r12b, 0x110(%rsp)
leaq 0x90(%rsp), %rdi
xorps %xmm0, %xmm0
movups %xmm0, 0x90(%rdi)
movl $0x1, 0xb8(%rsp)
movl 0x70(%rbx), %eax
movl %eax, 0x88(%rsp)
movq %r14, %rsi
callq 0x1205a0
movq 0x98(%rbx), %rax
movq %rax, 0xb0(%rsp)
leaq 0xc0(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x1205a0
leaq 0xe0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1205a0
movq 0x138(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x26b154
movq 0x100(%rsp), %rdi
leaq 0x110(%rsp), %rax
cmpq %rax, %rdi
je 0x28c41b
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x28c440
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x28c465
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x28c48a
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0x28c4a1
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x28c4bc
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x28c4d8
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x1200c0
movl $0x1, %ecx
testl %ecx, %ecx
je 0x28c0cd
cmpl $0x2, %ecx
jne 0x28bf2d
movl 0x70(%rbx), %eax
leaq 0x48(%rsp), %rdi
movl %eax, -0x8(%rdi)
leaq 0x58(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x78(%rbx), %rsi
movq 0x80(%rbx), %rdx
addq %rsi, %rdx
callq 0x1eda34
movq 0x98(%rbx), %rax
movq %rax, 0x68(%rsp)
movl 0x70(%rbx), %ebp
cmpl $0x5d, %ebp
jne 0x28c661
movq 0x18(%rbx), %r15
cmpq %r15, 0x8(%rbx)
je 0x28c542
leaq 0x30(%r15), %rax
movq %rax, 0x18(%rbx)
jmp 0x28c546
leaq 0x28(%rbx), %r15
movl (%r15), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r15), %rsi
movq %r14, %rdi
callq 0x1205a0
movq 0x28(%r15), %rax
movq %rax, 0x98(%rbx)
cmpl $0x5d, %ebp
jne 0x28c661
movq 0x70(%rsp), %rax
cmpq 0x78(%rsp), %rax
je 0x28c661
leaq 0x30(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x13414d(%rip), %rsi    # 0x3c06d9
leaq 0x134173(%rip), %rdx    # 0x3c0706
leaq 0x20(%rsp), %rdi
callq 0x1eabb8
leaq 0x140(%rsp), %rdi
movl $0x778c, %esi           # imm = 0x778C
callq 0x2676ef
leaq 0x130f3d(%rip), %rsi    # 0x3bd4f3
movq %rsp, %rdi
leaq 0x140(%rsp), %rdx
callq 0x212af7
leaq 0x88(%rsp), %rdi
leaq 0x40(%rsp), %rdx
leaq 0x20(%rsp), %rcx
movq %rsp, %r8
movl $0x1, %esi
callq 0x26acce
leaq 0x308(%rbx), %rdi
leaq 0x88(%rsp), %rsi
callq 0x26b154
leaq 0x88(%rsp), %rdi
callq 0x266b98
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28c621
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x150(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28c642
movq 0x150(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0x28c659
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
xorl %r14d, %r14d
jmp 0x28c7ee
leaq 0x98(%rsp), %rax
movq %rax, 0x88(%rsp)
movq $0x0, 0x90(%rsp)
movb $0x0, 0x98(%rsp)
movq 0x70(%rsp), %rcx
cmpq %rcx, 0x78(%rsp)
setne %al
je 0x28c731
movq (%rcx), %rdi
testq %rdi, %rdi
je 0x28c731
movl $0x1, %r13d
movl $0x1f17801, %ebp        # imm = 0x1F17801
leaq 0x88(%rsp), %r14
movabsq $0x388fc0000, %r12      # imm = 0x388FC0000
movq (%rdi), %rax
callq *0x28(%rax)
addl $-0x7c, %eax
cmpl $0x19, %eax
jae 0x28c6d6
movb $0x56, %cl
btl %eax, %ebp
jb 0x28c701
movq 0x70(%rsp), %rax
movq -0x8(%rax,%r13,8), %rdi
testq %rdi, %rdi
je 0x28c6ff
movq (%rdi), %rax
callq *0x28(%rax)
movb $0x53, %cl
cmpl $0x21, %eax
ja 0x28c6fa
movl %eax, %edx
btq %rdx, %r12
jb 0x28c701
cmpl $0x7b, %eax
je 0x28c701
movb $0x54, %cl
movzbl %cl, %esi
movq %r14, %rdi
callq 0x1205d0
movq 0x70(%rsp), %rcx
movq 0x78(%rsp), %rax
subq %rcx, %rax
sarq $0x3, %rax
cmpq %rax, %r13
setb %al
jae 0x28c731
movq (%rcx,%r13,8), %rdi
incq %r13
testq %rdi, %rdi
jne 0x28c6c1
testb %al, %al
je 0x28c742
xorl %r14d, %r14d
leaq 0x58(%rsp), %r12
jmp 0x28c7c9
leaq 0x2f0(%rbx), %rdi
leaq 0x88(%rsp), %rsi
leaq 0x58(%rsp), %r12
callq 0x35fd26
leaq 0x220(%rbx), %rdi
leaq 0x70(%rsp), %rsi
callq 0x35fd64
movq %rax, %r14
testq %rax, %rax
sete 0x160(%rsp)
movb $0x1, 0x3ab(%rbx)
leaq 0x30(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x133f76(%rip), %rsi    # 0x3c0707
leaq 0x133f87(%rip), %rdx    # 0x3c071f
leaq 0x20(%rsp), %rdi
callq 0x1eabb8
cmpb $0x0, 0x3ac(%rbx)
jne 0x28c7b2
movb $0x1, 0x3ac(%rbx)
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0x28c7c9
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x28c7ee
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0x28bf30
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x28bf30
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
movl $0x0, -0x8(%rdi)
leaq 0xa0(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
movq $-0x1, 0x10(%rbp)
leaq 0xd0(%rsp), %r12
movq %r12, -0x10(%r12)
movq %rcx, -0x8(%r12)
movb %cl, (%r12)
leaq 0xf0(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
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(%r13)
movq %r14, %rsi
callq 0x1205a0
leaq 0xc0(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x40(%rsp), %rsi
callq 0x1205a0
leaq 0xe0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1205a0
leaq 0x308(%rbx), %rdi
leaq 0x88(%rsp), %rsi
callq 0x26b154
jmp 0x28be66
movq %rax, %r14
leaq 0x88(%rsp), %rdi
callq 0x266b98
jmp 0x28c90c
movq %rax, %r14
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28c92c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x28c92c
movq %rax, %r14
leaq 0x150(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28c952
movq 0x150(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x28c952
movq %rax, %r14
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0x28c9eb
movq 0x30(%rsp), %rsi
jmp 0x28c9e3
jmp 0x28c97e
jmp 0x28ca1b
jmp 0x28caa2
jmp 0x28ca49
jmp 0x28c9c3
jmp 0x28c9c3
jmp 0x28c9c3
movq %rax, %r14
jmp 0x28c9eb
jmp 0x28ca1b
jmp 0x28ca49
jmp 0x28ca49
jmp 0x28ca49
jmp 0x28ca49
jmp 0x28ca1b
jmp 0x28caa2
jmp 0x28ca49
jmp 0x28ca49
jmp 0x28ca94
jmp 0x28ca49
jmp 0x28ca1b
jmp 0x28caa2
jmp 0x28ca49
movq %rax, %r14
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x28c9eb
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x28cadc
movq 0x58(%rsp), %rsi
jmp 0x28cad4
jmp 0x28ca51
movq %rax, %r14
jmp 0x28ca7d
jmp 0x28ca49
movq %rax, %r14
jmp 0x28cb3c
jmp 0x28ca1b
movq %rax, %r14
leaq 0x88(%rsp), %rdi
callq 0x266b98
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x28caa5
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x28caa5
movq %rax, %r14
jmp 0x28cadc
movq %rax, %r14
leaq 0x88(%rsp), %rdi
callq 0x266b98
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x28ca7d
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
jne 0x28cb18
jmp 0x28cb25
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r13, %rdi
jne 0x28cab3
jmp 0x28cac0
movq %rax, %r14
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x28cac0
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x28cadc
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x160(%rsp), %rdi
callq 0x2716ba
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x28cb03
movq 0x80(%rsp), %rsi
subq %rdi, %rsi
callq 0x1200c0
xorb $0x1, 0x3a8(%rbx)
jmp 0x28cb3c
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x28cb25
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x40(%rsp), %rdi
cmpq %r13, %rdi
je 0x28cb3c
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq %r14, %rdi
callq 0x120330