// File: /workspace/github_cpp_makefile_star2_O1/ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::parser<double>::parse_define_var_statement()
inline expression_node_ptr parse_define_var_statement()
      {
         if (settings_.vardef_disabled())
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR177 - Illegal variable definition",
               exprtk_error_location));

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

         const std::string var_name = current_token().value;

         expression_node_ptr initialisation_expression = error_node();

         if (!token_is(token_t::e_symbol))
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR178 - Expected a symbol for variable definition",
               exprtk_error_location));

            return error_node();
         }
         else if (details::is_reserved_symbol(var_name))
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR179 - Illegal redefinition of reserved keyword: '" + var_name + "'",
               exprtk_error_location));

            return error_node();
         }
         else if (symtab_store_.symbol_exists(var_name))
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR180 - Illegal redefinition of variable '" + var_name + "'",
               exprtk_error_location));

            return error_node();
         }
         else if (local_variable_is_shadowed(var_name))
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR181 - Illegal redefinition of local variable: '" + var_name + "'",
               exprtk_error_location));

            return error_node();
         }
         else if (token_is(token_t::e_lsqrbracket,prsrhlpr_t::e_hold))
         {
            return parse_define_vector_statement(var_name);
         }
         else if (token_is(token_t::e_lcrlbracket,prsrhlpr_t::e_hold))
         {
            return parse_uninitialised_var_statement(var_name);
         }
         else if (token_is(token_t::e_assign))
         {
            if (0 == (initialisation_expression = parse_expression()))
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  current_token(),
                  "ERR182 - Failed to parse initialisation expression for variable '" + var_name + "'",
                  exprtk_error_location));

               return error_node();
            }
         }

         if (
              !token_is(token_t::e_rbracket   , prsrhlpr_t::e_hold) &&
              !token_is(token_t::e_rcrlbracket, prsrhlpr_t::e_hold) &&
              !token_is(token_t::e_rsqrbracket, prsrhlpr_t::e_hold)
            )
         {
            if (!token_is(token_t::e_eof,prsrhlpr_t::e_hold))
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  current_token(),
                  "ERR183 - Expected ';' after variable '" + var_name + "' definition",
                  exprtk_error_location));

               free_node(node_allocator_, initialisation_expression);

               return error_node();
            }
         }

         if (
              (0 != initialisation_expression) &&
              details::is_generally_string_node(initialisation_expression)
            )
         {
            return parse_define_string_statement(var_name,initialisation_expression);
         }

         expression_node_ptr var_node = reinterpret_cast<expression_node_ptr>(0);

         scope_element& se = sem_.get_element(var_name);

         if (se.name == var_name)
         {
            if (se.active)
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  current_token(),
                  "ERR184 - Illegal redefinition of local variable: '" + var_name + "'",
                  exprtk_error_location));

               free_node(node_allocator_, initialisation_expression);

               return error_node();
            }
            else if (scope_element::e_variable == se.type)
            {
               var_node  = se.var_node;
               se.active = true;
               se.depth  = state_.scope_depth;
               se.ref_count++;
            }
         }

         if (0 == var_node)
         {
            const std::size_t predicted_total_lclsymb_size = sizeof(T) + sem_.total_local_symb_size_bytes();

            if (predicted_total_lclsymb_size > settings().max_total_local_symbol_size_bytes())
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  current_token(),
                  "ERR185 - Adding variable '" + var_name + "' "
                  "will exceed max total local symbol size of: " + details::to_str(settings().max_total_local_symbol_size_bytes()) + " bytes, "
                  "current total size: " + details::to_str(sem_.total_local_symb_size_bytes()) + " bytes",
                  exprtk_error_location));

               free_node(node_allocator_, initialisation_expression);

               return error_node();
            }

            scope_element nse;
            nse.name      = var_name;
            nse.active    = true;
            nse.ref_count = 1;
            nse.type      = scope_element::e_variable;
            nse.depth     = state_.scope_depth;
            nse.data      = new T(T(0));
            nse.var_node  = node_allocator_.allocate<variable_node_t>(*reinterpret_cast<T*>(nse.data));

            if (!sem_.add_element(nse))
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  current_token(),
                  "ERR186 - Failed to add new local variable '" + var_name + "' to SEM",
                  exprtk_error_location));

               free_node(node_allocator_, initialisation_expression);

               sem_.free_element(nse);

               return error_node();
            }

            assert(sem_.total_local_symb_size_bytes() <= settings().max_total_local_symbol_size_bytes());

            var_node = nse.var_node;

            exprtk_debug(("parse_define_var_statement() - INFO - Added new local variable: %s\n", nse.name.c_str()));
         }

         state_.activate_side_effect("parse_define_var_statement()");

         lodge_symbol(var_name, e_st_local_variable);

         expression_node_ptr branch[2] = {0};

         branch[0] = var_node;
         branch[1] = initialisation_expression ? initialisation_expression : expression_generator_(T(0));

         return expression_generator_(details::e_assign,branch);
      }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x298, %rsp            # imm = 0x298
movq %rdi, %r13
cmpb $0x1, 0xda(%rdi)
jne 0x285162
leaq 0xb8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x13a63b(%rip), %rsi    # 0x3bf698
leaq 0x13a658(%rip), %rdx    # 0x3bf6bc
leaq 0xa8(%rsp), %rdi
callq 0x1eabb8
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq $0x0, -0x8(%rbp)
movb $0x0, (%rbp)
movl $0x7464, %ebx           # imm = 0x7464
leaq 0x8(%rsp), %r14
movslq %ebx, %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, %ebx
cmpl $0x13, %ebx
movl %r15d, %ebx
jae 0x285090
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x28510d
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 0x2850f2
leaq 0x1383df(%rip), %rcx    # 0x3bd4f3
leaq 0x8(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x88(%rsp), %rdi
movq %rdi, -0x10(%rdi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
movq %r12, %r14
movq %r13, %rsi
cmpq %rcx, %rdx
je 0x28522d
movq %rdx, 0x78(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x88(%rsp)
jmp 0x285235
leaq 0x130(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x1319dd(%rip), %rsi    # 0x3b6b52
leaq 0x1319d9(%rip), %rdx    # 0x3b6b55
leaq 0x120(%rsp), %r14
movq %r14, %rdi
callq 0x1eabb8
leaq 0x78(%r13), %r12
movq 0x80(%r13), %rbx
cmpq 0x8(%r14), %rbx
jne 0x285226
testq %rbx, %rbx
sete %bpl
je 0x2853f9
movq (%r12), %r14
movq 0x120(%rsp), %r15
movsbl (%r14), %edi
callq 0x120450
movl %eax, %ebp
movsbl (%r15), %edi
callq 0x120450
cmpl %eax, %ebp
jne 0x2853ef
movq %r12, 0x118(%rsp)
movl $0x1, %ecx
movq %rcx, %r12
cmpq %rcx, %rbx
je 0x28520a
movsbl (%r14,%r12), %edi
callq 0x120450
movl %eax, %ebp
movsbl (%r15,%r12), %edi
callq 0x120450
leaq 0x1(%r12), %rcx
cmpl %eax, %ebp
je 0x2851e3
cmpq %rbx, %r12
setae %bpl
leaq 0x130(%rsp), %r15
movq 0x118(%rsp), %r12
jmp 0x2853f9
xorl %ebp, %ebp
jmp 0x2853f9
movdqu (%rcx), %xmm0
movdqu %xmm0, (%rdi)
movq 0x8(%rax), %rdx
movq %rdx, 0x80(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x128(%rsp), %rdi
movl $0x0, -0x8(%rdi)
leaq 0x138(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
movq $-0x1, 0x10(%r13)
leaq 0x168(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
leaq 0x188(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq %rcx, -0x8(%rbx)
movb %cl, (%rbx)
leaq 0x1a8(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x10(%r15)
movl $0x1, -0x58(%r15)
movl 0x70(%rsi), %eax
movl %eax, -0x68(%rbx)
movq %rsi, %r12
addq $0x78, %rsi
callq 0x1205a0
leaq 0x158(%rsp), %rdi
movq 0x98(%r12), %rax
movq %rax, -0x10(%rdi)
leaq 0xa8(%rsp), %rsi
callq 0x1205a0
leaq 0x178(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x1205a0
addq $0x308, %r12            # imm = 0x308
leaq 0x120(%rsp), %rsi
movq %r12, %rdi
callq 0x26b154
movq 0x198(%rsp), %rdi
cmpq %r15, %rdi
je 0x28533b
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x178(%rsp), %rdi
cmpq %rbx, %rdi
je 0x285358
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x158(%rsp), %rdi
cmpq %rbp, %rdi
je 0x285375
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x128(%rsp), %rdi
cmpq %r13, %rdi
leaq 0x18(%rsp), %rbx
je 0x285397
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x2853b9
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x2853d0
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa8(%rsp), %rdi
cmpq %r14, %rdi
je 0x28542f
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x28542f
xorl %ebp, %ebp
leaq 0x130(%rsp), %r15
movq 0x120(%rsp), %rdi
cmpq %r15, %rdi
je 0x285416
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x1200c0
testb %bpl, %bpl
je 0x28542f
movq 0x18(%r13), %rbx
cmpq %rbx, 0x8(%r13)
je 0x285446
leaq 0x30(%rbx), %rax
movq %rax, 0x18(%r13)
jmp 0x28544a
xorl %ebx, %ebx
movq %rbx, %rax
addq $0x298, %rsp            # imm = 0x298
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x28(%r13), %rbx
leaq 0x70(%r13), %r15
movl (%rbx), %eax
movl %eax, 0x70(%r13)
leaq 0x8(%rbx), %rsi
movq %r12, %rdi
callq 0x1205a0
movq 0x28(%rbx), %rax
movq %rax, 0x98(%r13)
leaq 0x88(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x78(%r13), %rsi
movq 0x80(%r13), %rdx
addq %rsi, %rdx
leaq 0x78(%rsp), %rdi
callq 0x1eda34
movq $0x0, 0x98(%rsp)
movl 0x70(%r13), %ebx
cmpl $0x8, %ebx
movq %r12, 0x118(%rsp)
jne 0x285647
movq 0x18(%r13), %r14
cmpq %r14, 0x8(%r13)
je 0x2854c4
leaq 0x30(%r14), %rax
movq %rax, 0x18(%r13)
jmp 0x2854c8
leaq 0x28(%r13), %r14
movl (%r14), %eax
movl %eax, (%r15)
leaq 0x8(%r14), %rsi
movq %r12, %rdi
callq 0x1205a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%r13)
cmpl $0x8, %ebx
jne 0x285647
movq %r15, 0x70(%rsp)
movq %r13, 0xa0(%rsp)
movq 0x78(%rsp), %r14
movq 0x80(%rsp), %rax
movq %rax, 0x1c8(%rsp)
subq $0x1, %rax
movq %rax, 0x1f0(%rsp)
setb 0x4f(%rsp)
movb $0x1, %bl
xorl %r15d, %r15d
leaq 0x2f5253(%rip), %rdx    # 0x57a780
movq %r15, %rax
shlq $0x5, %rax
movq 0x1c8(%rsp), %rcx
cmpq 0x8(%rax,%rdx), %rcx
jne 0x2855c8
movb 0x4f(%rsp), %cl
cmpq $0x0, 0x1c8(%rsp)
je 0x2855c4
addq %rdx, %rax
movq (%rax), %r13
movsbl (%r14), %edi
callq 0x120450
movl %eax, %ebp
movsbl (%r13), %edi
callq 0x120450
leaq 0x2f5208(%rip), %rdx    # 0x57a780
cmpl %eax, %ebp
jne 0x2855c8
xorl %r12d, %r12d
cmpq %r12, 0x1f0(%rsp)
je 0x2855aa
movsbl 0x1(%r14,%r12), %edi
callq 0x120450
movl %eax, %ebp
movsbl 0x1(%r13,%r12), %edi
callq 0x120450
incq %r12
cmpl %eax, %ebp
je 0x28557f
jmp 0x2855b2
movq 0x1c8(%rsp), %r12
cmpq 0x1c8(%rsp), %r12
setae %cl
leaq 0x2f51bc(%rip), %rdx    # 0x57a780
testb %cl, %cl
jne 0x2855e0
cmpq $0x58, %r15
leaq 0x1(%r15), %rax
setb %bl
movq %rax, %r15
cmpq $0x59, %rax
jne 0x28552d
testb $0x1, %bl
je 0x285917
leaq 0x13a100(%rip), %rsi    # 0x3bf6f0
leaq 0x8(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x26c8c1
leaq 0x13aa38(%rip), %rsi    # 0x3c003e
leaq 0x8(%rsp), %rdi
callq 0x120340
leaq 0xb8(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x285a3b
movq %rdx, 0xa8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xb8(%rsp)
jmp 0x285a43
leaq 0xb8(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x13a063(%rip), %rsi    # 0x3bf6bd
leaq 0x13a08e(%rip), %rdx    # 0x3bf6ef
leaq 0xa8(%rsp), %rdi
callq 0x1eabb8
leaq 0x38(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movl $0x7479, %ebx           # imm = 0x7479
leaq 0x28(%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 0x28568c
movq 0x28(%rsp), %rax
movq 0x30(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x285709
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 0x2856ee
leaq 0x137de3(%rip), %rcx    # 0x3bd4f3
leaq 0x28(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x18(%rsp), %rdi
movq %rdi, -0x10(%rdi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x285754
movq %rdi, %r12
movq %r15, %rsi
movq %r13, %rbp
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x285765
movq %r15, %rsi
movq %r13, %rbp
movdqu (%rcx), %xmm0
movq %rdi, %r12
movdqu %xmm0, (%rdi)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x128(%rsp), %rdi
movl $0x0, -0x8(%rdi)
leaq 0x138(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
movq $-0x1, 0x10(%r14)
leaq 0x168(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
leaq 0x188(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq %rcx, -0x8(%rbx)
movb %cl, (%rbx)
leaq 0x1a8(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x10(%r13)
movl $0x1, -0x58(%r13)
movl (%rsi), %eax
movl %eax, -0x68(%rbx)
movq 0x118(%rsp), %rsi
callq 0x1205a0
leaq 0x158(%rsp), %rdi
movq 0x98(%rbp), %rax
movq %rax, -0x10(%rdi)
leaq 0xa8(%rsp), %rsi
callq 0x1205a0
leaq 0x178(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1205a0
addq $0x308, %rbp            # imm = 0x308
leaq 0x120(%rsp), %rsi
movq %rbp, %rdi
callq 0x26b154
movq 0x198(%rsp), %rdi
cmpq %r13, %rdi
leaq 0xb8(%rsp), %r13
je 0x28586f
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x178(%rsp), %rdi
cmpq %rbx, %rdi
je 0x28588c
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x158(%rsp), %rdi
cmpq %r15, %rdi
je 0x2858a9
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x128(%rsp), %rdi
cmpq %r14, %rdi
je 0x2858c6
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x2858dd
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x2858f9
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa8(%rsp), %rdi
cmpq %r13, %rdi
je 0x285d24
movq 0xb8(%rsp), %rsi
jmp 0x285d1c
movq 0xa0(%rsp), %r13
movq 0x298(%r13), %rdi
cmpq %rdi, 0x2a0(%r13)
setne %bpl
je 0x285986
xorl %ebx, %ebx
leaq 0x78(%rsp), %r12
xorl %r14d, %r14d
movq (%rdi,%rbx), %rax
testq %rax, %rax
je 0x285961
cmpq $0x0, 0x8(%rax)
je 0x285961
addq %rbx, %rdi
movq %r12, %rsi
movl $0x1, %edx
callq 0x1ee134
testb %al, %al
jne 0x285986
incq %r14
movq 0x298(%r13), %rdi
movq 0x2a0(%r13), %rax
subq %rdi, %rax
sarq $0x3, %rax
addq $0x8, %rbx
cmpq %rax, %r14
setb %bpl
jb 0x28593d
testb $0x1, %bpl
je 0x2859ea
leaq 0x139d92(%rip), %rsi    # 0x3bf725
leaq 0x8(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x26c8c1
leaq 0x13a695(%rip), %rsi    # 0x3c003e
leaq 0x8(%rsp), %rdi
callq 0x120340
leaq 0xb8(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x285d58
movq %rdx, 0xa8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xb8(%rsp)
jmp 0x285d60
leaq 0x530(%r13), %r15
leaq 0x78(%rsp), %rsi
movq %r15, %rdi
movq $-0x1, %rdx
callq 0x34388c
movq %rax, %r12
movq 0x8(%rax), %rdx
cmpq 0x80(%rsp), %rdx
jne 0x285d51
testq %rdx, %rdx
je 0x286013
movq 0x78(%rsp), %rsi
movq (%r12), %rdi
callq 0x120370
testl %eax, %eax
sete %al
jmp 0x286015
movdqu (%rcx), %xmm0
movdqu %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0xb0(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x60(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
movl $0x7483, %ebx           # imm = 0x7483
leaq 0x50(%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 0x285a75
movq 0x50(%rsp), %rax
movq 0x58(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x285af2
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 0x285ad7
leaq 0x1379fa(%rip), %rcx    # 0x3bd4f3
leaq 0x50(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x38(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x285b3a
movq %rsi, %rbp
movq %r15, %r12
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x285b48
movq %r15, %r12
movdqu (%rcx), %xmm0
movq %rsi, %rbp
movdqu %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x128(%rsp), %rdi
movl $0x0, -0x8(%rdi)
leaq 0x138(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
movq $-0x1, 0x10(%r14)
leaq 0x168(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
leaq 0x188(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq %rcx, -0x8(%rbx)
movb %cl, (%rbx)
leaq 0x1a8(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x10(%r13)
movl $0x1, -0x58(%r13)
movq 0x70(%rsp), %rax
movl (%rax), %eax
movl %eax, -0x68(%rbx)
movq 0x118(%rsp), %rsi
callq 0x1205a0
leaq 0x158(%rsp), %rdi
movq 0xa0(%rsp), %rax
movq 0x98(%rax), %rax
movq %rax, -0x10(%rdi)
leaq 0xa8(%rsp), %rsi
callq 0x1205a0
leaq 0x178(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x1205a0
movq 0xa0(%rsp), %rdi
addq $0x308, %rdi            # imm = 0x308
leaq 0x120(%rsp), %rsi
callq 0x26b154
movq 0x198(%rsp), %rdi
cmpq %r13, %rdi
je 0x285c5c
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x178(%rsp), %rdi
cmpq %rbx, %rdi
movq %r12, %rbx
je 0x285c7c
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x158(%rsp), %rdi
cmpq %r15, %rdi
je 0x285c99
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x128(%rsp), %rdi
cmpq %r14, %rdi
leaq 0xb8(%rsp), %r12
je 0x285cbe
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x285cd5
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x50(%rsp), %rdi
cmpq %rbx, %rdi
je 0x285cec
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa8(%rsp), %rdi
cmpq %r12, %rdi
je 0x285d09
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x285d24
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1200c0
xorl %ebx, %ebx
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x285431
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x285431
xorl %eax, %eax
jmp 0x286015
movdqu (%rcx), %xmm0
movdqu %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0xb0(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x60(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
movl $0x748d, %ebx           # imm = 0x748D
leaq 0x50(%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 0x285d92
movq 0x50(%rsp), %rax
movq 0x58(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x285e0f
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 0x285df4
leaq 0x1376dd(%rip), %rcx    # 0x3bd4f3
leaq 0x50(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x285e52
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x285e5c
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x128(%rsp), %rdi
movl $0x0, -0x8(%rdi)
leaq 0x138(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
movq $-0x1, 0x10(%r14)
leaq 0x168(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
leaq 0x188(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq %rcx, -0x8(%rbx)
movb %cl, (%rbx)
leaq 0x1a8(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x10(%r13)
movl $0x1, -0x58(%r13)
movq 0x70(%rsp), %rax
movl (%rax), %eax
movl %eax, -0x68(%rbx)
movq 0x118(%rsp), %rsi
callq 0x1205a0
leaq 0x158(%rsp), %rdi
movq 0xa0(%rsp), %rax
movq 0x98(%rax), %rax
movq %rax, -0x10(%rdi)
leaq 0xa8(%rsp), %rsi
callq 0x1205a0
leaq 0x178(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x1205a0
movq 0xa0(%rsp), %rdi
addq $0x308, %rdi            # imm = 0x308
leaq 0x120(%rsp), %rsi
callq 0x26b154
movq 0x198(%rsp), %rdi
cmpq %r13, %rdi
je 0x285f70
movq 0x1a8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x178(%rsp), %rdi
cmpq %rbx, %rdi
je 0x285f8d
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x158(%rsp), %rdi
cmpq %r15, %rdi
je 0x285faa
movq 0x168(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x128(%rsp), %rdi
cmpq %r14, %rdi
je 0x285fc7
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x285fde
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x50(%rsp), %rdi
cmpq %rbp, %rdi
je 0x285ff5
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
jne 0x285cf9
jmp 0x285d09
movb $0x1, %al
testb %al, %al
je 0x286078
testb $0x1, 0x4c(%r12)
je 0x286078
leaq 0x139729(%rip), %rsi    # 0x3bf751
leaq 0x8(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x26c8c1
leaq 0x13a000(%rip), %rsi    # 0x3c003e
leaq 0x8(%rsp), %rdi
callq 0x120340
leaq 0xb8(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2860a3
movq %rdx, 0xa8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xb8(%rsp)
jmp 0x2860ac
movq 0x70(%rsp), %rax
movl (%rax), %eax
cmpl $0x7b, %eax
je 0x286180
cmpl $0x5b, %eax
jne 0x286192
leaq 0x78(%rsp), %rsi
movq %r13, %rdi
callq 0x35282c
jmp 0x286d53
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0xb0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x50(%rsp), %rdi
movl $0x7497, %esi           # imm = 0x7497
callq 0x2676ef
leaq 0x137416(%rip), %rsi    # 0x3bd4f3
leaq 0x28(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x212af7
leaq 0x120(%rsp), %rdi
leaq 0xa8(%rsp), %rcx
leaq 0x28(%rsp), %r8
movl $0x1, %esi
movq 0x70(%rsp), %rdx
callq 0x26acce
addq $0x308, %r13            # imm = 0x308
leaq 0x120(%rsp), %rsi
movq %r13, %rdi
callq 0x26b154
leaq 0x120(%rsp), %rdi
callq 0x266b98
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28614f
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28616a
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa8(%rsp), %rdi
cmpq %r15, %rdi
jne 0x285cf9
jmp 0x285d09
leaq 0x78(%rsp), %rsi
movq %r13, %rdi
callq 0x3560da
jmp 0x286d53
leaq 0x120(%rsp), %rsi
movl $0xa, (%rsi)
movq %r13, %rdi
movl $0x1, %edx
callq 0x2711a4
testb %al, %al
je 0x2861cc
movq %r13, %rdi
xorl %esi, %esi
callq 0x26cc52
movq %rax, 0x98(%rsp)
testq %rax, %rax
je 0x2862d3
movq 0x70(%rsp), %rax
movl (%rax), %eax
cmpl $0x5c, %eax
jg 0x2861e7
cmpl $0x6, %eax
je 0x2861f5
cmpl $0x29, %eax
je 0x2861f5
jmp 0x28632a
cmpl $0x5d, %eax
je 0x2861f5
cmpl $0x7d, %eax
jne 0x28632a
movq 0x98(%rsp), %rdi
testq %rdi, %rdi
je 0x286225
callq 0x297dc6
testb %al, %al
je 0x286225
movq 0x98(%rsp), %rdx
leaq 0x78(%rsp), %rsi
movq %r13, %rdi
callq 0x357d20
jmp 0x286d53
leaq 0x78(%rsp), %rsi
movq %r15, %rdi
movq $-0x1, %rdx
callq 0x34388c
movq %rax, %r12
movq 0x8(%rax), %rdx
cmpq 0x80(%rsp), %rdx
jne 0x286437
testq %rdx, %rdx
je 0x286269
movq 0x78(%rsp), %rsi
movq (%r12), %rdi
callq 0x120370
testl %eax, %eax
jne 0x286437
cmpb $0x1, 0x4c(%r12)
jne 0x286411
leaq 0x13957e(%rip), %rsi    # 0x3bf7fa
leaq 0x8(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x26c8c1
leaq 0x139dac(%rip), %rsi    # 0x3c003e
leaq 0x8(%rsp), %rdi
callq 0x120340
leaq 0xb8(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x286a04
movq %rdx, 0xa8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xb8(%rsp)
jmp 0x286a0d
leaq 0x1394aa(%rip), %rsi    # 0x3bf784
leaq 0x8(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x26c8c1
leaq 0x139d4e(%rip), %rsi    # 0x3c003e
leaq 0x8(%rsp), %rdi
callq 0x120340
leaq 0xb8(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x286388
movq %rdx, 0xa8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xb8(%rsp)
jmp 0x286391
leaq 0x139495(%rip), %rsi    # 0x3bf7c6
leaq 0x8(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x26c8c1
leaq 0x1394a6(%rip), %rsi    # 0x3bf7ed
leaq 0x8(%rsp), %rdi
callq 0x120340
leaq 0xb8(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x286599
movq %rdx, 0xa8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xb8(%rsp)
jmp 0x2865a2
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0xb0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x50(%rsp), %rdi
movl $0x74ab, %esi           # imm = 0x74AB
callq 0x2676ef
leaq 0x137131(%rip), %rsi    # 0x3bd4f3
leaq 0x28(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x212af7
leaq 0x120(%rsp), %rdi
leaq 0xa8(%rsp), %rcx
leaq 0x28(%rsp), %r8
movl $0x1, %esi
movq 0x70(%rsp), %rdx
callq 0x26acce
addq $0x308, %r13            # imm = 0x308
leaq 0x120(%rsp), %rsi
movq %r13, %rdi
callq 0x26b154
jmp 0x286127
cmpl $0x2, 0x48(%r12)
jne 0x286437
movq 0x58(%r12), %r14
movb $0x1, 0x4c(%r12)
movq 0x3b0(%r13), %rax
movq %rax, 0x30(%r12)
incq 0x38(%r12)
jmp 0x28643a
xorl %r14d, %r14d
testq %r14, %r14
jne 0x286c71
movq 0x5c8(%r13), %rax
addq $0x8, %rax
cmpq 0x210(%r13), %rax
jbe 0x2864bb
leaq 0x1393cf(%rip), %rsi    # 0x3bf82d
leaq 0x278(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x26c8c1
leaq 0x1393d1(%rip), %rsi    # 0x3bf848
leaq 0x278(%rsp), %rdi
callq 0x120340
leaq 0x1e0(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x286706
movq %rdx, 0x1d0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1e0(%rsp)
jmp 0x28670f
leaq 0xb8(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movl $0x3f3f3f, (%rbp)       # imm = 0x3F3F3F
movq $0x3, -0x8(%rbp)
pcmpeqd %xmm0, %xmm0
movdqu %xmm0, 0x10(%rbp)
movq $-0x1, 0x20(%rbp)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x28(%rbp)
movq $0x0, 0x35(%rbp)
movdqu %xmm0, 0x40(%rbp)
movdqu %xmm0, 0x50(%rbp)
leaq 0xa8(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x1205a0
movb $0x1, 0xf4(%rsp)
movq $0x1, 0xe0(%rsp)
movl $0x2, 0xf0(%rsp)
movq 0x3b0(%r13), %rax
movq %rax, 0xd8(%rsp)
movl $0x8, %edi
callq 0x1200f0
movq $0x0, (%rax)
movq %rax, 0xf8(%rsp)
leaq 0x290(%r13), %rbx
movq %rbx, %rdi
movq %rax, %rsi
callq 0x343a82
leaq 0xa8(%rsp), %rsi
movq %rax, 0x58(%rsi)
movq %r15, %rdi
callq 0x343ac2
movl %eax, %r12d
testb %al, %al
je 0x2866b1
movq 0x100(%rsp), %r14
jmp 0x286c4b
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0xb0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x50(%rsp), %rdi
movl $0x74bd, %esi           # imm = 0x74BD
callq 0x2676ef
leaq 0x136f20(%rip), %rsi    # 0x3bd4f3
leaq 0x28(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x212af7
leaq 0x120(%rsp), %rdi
leaq 0xa8(%rsp), %rcx
leaq 0x28(%rsp), %r8
movl $0x1, %esi
movq 0x70(%rsp), %rdx
callq 0x26acce
leaq 0x308(%r13), %rdi
leaq 0x120(%rsp), %rsi
callq 0x26b154
leaq 0x120(%rsp), %rdi
callq 0x266b98
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286642
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28665d
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa8(%rsp), %rdi
cmpq %r15, %rdi
je 0x28667a
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286695
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1200c0
addq $0x290, %r13            # imm = 0x290
leaq 0x98(%rsp), %rsi
movq %r13, %rdi
callq 0x20d702
jmp 0x285d24
leaq 0x1391dc(%rip), %rsi    # 0x3bf894
leaq 0x28(%rsp), %rdi
leaq 0x78(%rsp), %rdx
callq 0x26c8c1
leaq 0x138981(%rip), %rsi    # 0x3bf04f
leaq 0x28(%rsp), %rdi
callq 0x120340
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x286b1c
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x286b25
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x1d8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x210(%r13), %rsi
leaq 0x258(%rsp), %rdi
callq 0x26b03a
leaq 0x50(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
leaq 0x258(%rsp), %rdx
callq 0x212a4f
leaq 0x139118(%rip), %rsi    # 0x3bf877
leaq 0x50(%rsp), %rdi
callq 0x120340
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x286791
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0x28679b
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x5c8(%r13), %rsi
leaq 0x238(%rsp), %rdi
callq 0x26b03a
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0x238(%rsp), %rdx
callq 0x212a4f
leaq 0x136db6(%rip), %rsi    # 0x3bd59b
leaq 0x8(%rsp), %rdi
callq 0x120340
leaq 0xb8(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x28681f
movq %rdx, 0xa8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xb8(%rsp)
jmp 0x286828
movdqu (%rcx), %xmm0
movdqu %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0xb0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x1f8(%rsp), %rdi
movl $0x74f4, %esi           # imm = 0x74F4
callq 0x2676ef
leaq 0x136c97(%rip), %rsi    # 0x3bd4f3
leaq 0x218(%rsp), %rdi
leaq 0x1f8(%rsp), %rdx
callq 0x212af7
leaq 0x120(%rsp), %rdi
leaq 0xa8(%rsp), %rcx
leaq 0x218(%rsp), %r8
movl $0x1, %esi
movq 0x70(%rsp), %rdx
callq 0x26acce
leaq 0x308(%r13), %rdi
leaq 0x120(%rsp), %rsi
callq 0x26b154
leaq 0x120(%rsp), %rdi
callq 0x266b98
leaq 0x228(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2868da
movq 0x228(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x208(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2868fb
movq 0x208(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x286918
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286933
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x248(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286954
movq 0x248(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x28696b
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286986
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x268(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2869a7
movq 0x268(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x1d0(%rsp), %rdi
cmpq %r15, %rdi
je 0x2869c4
movq 0x1e0(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x288(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2869e5
movq 0x288(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x290(%r13), %rdi
leaq 0x98(%rsp), %rsi
callq 0x20d702
xorl %r12d, %r12d
xorl %r14d, %r14d
jmp 0x286c68
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0xb0(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x50(%rsp), %rdi
movl $0x74d9, %esi           # imm = 0x74D9
callq 0x2676ef
leaq 0x136ab5(%rip), %rsi    # 0x3bd4f3
leaq 0x28(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x212af7
leaq 0x120(%rsp), %rdi
leaq 0xa8(%rsp), %rcx
leaq 0x28(%rsp), %r8
movl $0x1, %esi
movq 0x70(%rsp), %rdx
callq 0x26acce
leaq 0x308(%r13), %rdi
leaq 0x120(%rsp), %rsi
callq 0x26b154
leaq 0x120(%rsp), %rdi
callq 0x266b98
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286aad
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286ac8
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa8(%rsp), %rdi
cmpq %r15, %rdi
je 0x286ae5
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286b00
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1200c0
addq $0x290, %r13            # imm = 0x290
leaq 0x98(%rsp), %rsi
movq %r13, %rdi
callq 0x20d702
jmp 0x285d24
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x1d0(%rsp), %rdi
movl $0x750a, %esi           # imm = 0x750A
callq 0x2676ef
leaq 0x13699d(%rip), %rsi    # 0x3bd4f3
leaq 0x50(%rsp), %rdi
leaq 0x1d0(%rsp), %rdx
callq 0x212af7
leaq 0x120(%rsp), %rdi
leaq 0x8(%rsp), %rcx
leaq 0x50(%rsp), %r8
movl $0x1, %esi
movq 0x70(%rsp), %rdx
callq 0x26acce
movq 0xa0(%rsp), %rax
leaq 0x308(%rax), %rdi
leaq 0x120(%rsp), %rsi
callq 0x26b154
leaq 0x120(%rsp), %rdi
callq 0x266b98
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286bcd
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x1e0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286bee
movq 0x1e0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x286c05
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286c20
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x98(%rsp), %rsi
movq %rbx, %rdi
callq 0x20d702
movq 0xa0(%rsp), %r13
leaq 0xa8(%rsp), %rsi
movq %r15, %rdi
callq 0x26aef2
xorl %r14d, %r14d
movq 0xa8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x286c68
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x1200c0
testb %r12b, %r12b
je 0x285d24
leaq 0x120(%rsp), %rdi
leaq 0x130(%rsp), %rbx
movq %rbx, (%rdi)
leaq 0x138c35(%rip), %rsi    # 0x3bf8c0
leaq 0x138c4a(%rip), %rdx    # 0x3bf8dc
callq 0x1eabb8
cmpb $0x0, 0x3ac(%r13)
jne 0x286ca9
movb $0x1, 0x3ac(%r13)
movq 0x120(%rsp), %rdi
cmpq %rbx, %rdi
je 0x286cc6
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x2b0(%r13), %rdi
leaq 0x78(%rsp), %rsi
movl $0x6, %edx
callq 0x294ae2
pxor %xmm0, %xmm0
movdqa %xmm0, 0x120(%rsp)
movq %r14, 0x120(%rsp)
movq 0x98(%rsp), %rax
testq %rax, %rax
jne 0x286d2a
movl $0x28, %edi
callq 0x1200f0
movb $0x0, 0x10(%rax)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x18(%rax)
leaq 0x28a56c(%rip), %rcx    # 0x511288
movq %rcx, (%rax)
leaq 0x28a5aa(%rip), %rcx    # 0x5112d0
movq %rcx, 0x8(%rax)
leaq 0x120(%rsp), %rdx
movq %rax, 0x8(%rdx)
addq $0x220, %r13            # imm = 0x220
leaq 0xa8(%rsp), %rsi
movl $0x51, (%rsi)
movq %r13, %rdi
callq 0x29b4d6
movq %rax, %rbx
jmp 0x285d26
movq %rax, %rbx
leaq 0x120(%rsp), %rdi
callq 0x266b98
jmp 0x286d70
movq %rax, %rbx
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286d90
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x286d90
movq %rax, %rbx
leaq 0x1e0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286db6
movq 0x1e0(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x286db6
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x286dd2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x286dd2
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286fd1
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x286fd1
jmp 0x286fce
jmp 0x286ff1
jmp 0x287003
jmp 0x287023
jmp 0x287043
jmp 0x28707d
jmp 0x2870f1
jmp 0x2870f1
movq %rax, %rbx
leaq 0x120(%rsp), %rdi
callq 0x266b98
jmp 0x286e33
movq %rax, %rbx
leaq 0x228(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286e59
movq 0x228(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x286e59
movq %rax, %rbx
leaq 0x208(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286e7f
movq 0x208(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x286e7f
movq %rax, %rbx
movq 0xa8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x286ea1
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x286ea1
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286ec1
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x286ec1
movq %rax, %rbx
leaq 0x248(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286ee7
movq 0x248(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x286ee7
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x286f03
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x286f03
movq %rax, %rbx
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286f23
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x286f23
movq %rax, %rbx
leaq 0x268(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x286f44
movq 0x268(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x1d0(%rsp), %rdi
cmpq %r15, %rdi
je 0x286f61
movq 0x1e0(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x288(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28722f
movq 0x288(%rsp), %rsi
jmp 0x287227
movq %rax, %rbx
jmp 0x286f44
movq %rax, %rbx
jmp 0x286f61
jmp 0x2870f1
jmp 0x2870f1
jmp 0x286ff1
jmp 0x287003
jmp 0x287023
jmp 0x287043
jmp 0x28707d
jmp 0x2870f1
jmp 0x286ff1
jmp 0x287003
jmp 0x287023
jmp 0x287043
jmp 0x28707d
jmp 0x2870f1
jmp 0x2870f1
jmp 0x2870f1
movq %rax, %rbx
movq 0xa8(%rsp), %rdi
cmpq %rbp, %rdi
jne 0x28721f
jmp 0x28722f
jmp 0x2870f1
jmp 0x2870f1
movq %rax, %rbx
leaq 0x120(%rsp), %rdi
callq 0x266b98
jmp 0x287006
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x287026
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x287026
movq %rax, %rbx
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x287046
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x287046
movq %rax, %rbx
movq 0xa8(%rsp), %rdi
cmpq %r15, %rdi
jne 0x28717f
jmp 0x28718f
jmp 0x28707d
jmp 0x2870f1
jmp 0x287087
jmp 0x2870f9
jmp 0x28707d
jmp 0x2870f1
jmp 0x2870f1
jmp 0x2870b0
movq %r15, %r12
movq %rax, %rbx
jmp 0x2870d7
movq %rax, %rbx
jmp 0x28718f
jmp 0x2870f1
movq %rax, %rbx
leaq 0x120(%rsp), %rdi
callq 0x266b98
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x2870fc
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x2870fc
movq %rax, %rbx
leaq 0x120(%rsp), %rdi
callq 0x266b98
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2870d7
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x50(%rsp), %rdi
cmpq %r12, %rdi
jne 0x28715d
jmp 0x28716a
jmp 0x2870f1
jmp 0x2870f1
jmp 0x287120
jmp 0x2871eb
movq %rax, %rbx
jmp 0x28722f
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %rbp, %rdi
jne 0x28715d
jmp 0x28716a
jmp 0x2871a8
movq %r12, %r14
movq %rax, %rbx
jmp 0x2871da
movq %rax, %rbx
jmp 0x287285
movq %rax, %rbx
leaq 0x120(%rsp), %rdi
callq 0x266b98
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x2871ee
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x2871ee
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %r15, %rdi
je 0x28716a
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x28718f
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28722f
movq 0x18(%rsp), %rsi
jmp 0x287227
movq %rax, %rbx
leaq 0x120(%rsp), %rdi
callq 0x266b98
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x2871da
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
jne 0x28725b
jmp 0x287268
movq %rax, %rbx
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x28720a
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x28722f
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x287285
movq 0x88(%rsp), %rsi
jmp 0x28727d
movq %r12, %r14
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x287268
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa8(%rsp), %rdi
cmpq %r14, %rdi
je 0x287285
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq %rbx, %rdi
callq 0x120330
nop