// File: /workspace/github_cpp_makefile_star2_O1/ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::parser<double>::parse_assert_statement()
inline expression_node_ptr parse_assert_statement()
      {
         assert(details::imatch(current_token().value, "assert"));

         if (state_.parsing_assert_stmt)
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR219 - Assert statement within an assert statement is not allowed",
               exprtk_error_location));

            return error_node();
         }

         scoped_bool_negator sbn(state_.parsing_assert_stmt);

         next_token();

         std::vector<expression_node_ptr> assert_arg_list(3, error_node());
         scoped_vec_delete<expression_node_t> svd((*this), assert_arg_list);

         expression_node_ptr& assert_condition = assert_arg_list[0];
         expression_node_ptr& assert_message   = assert_arg_list[1];
         expression_node_ptr& assert_id        = assert_arg_list[2];

         if (!token_is(token_t::e_lbracket))
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR220 - Expected '(' at start of assert statement",
               exprtk_error_location));

            return error_node();
         }

         const token_t start_token = current_token();

         // Parse the assert condition
         if (0 == (assert_condition = parse_expression()))
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR221 - Failed to parse condition for assert statement",
               exprtk_error_location));

            return error_node();
         }

         const token_t end_token = current_token();

         if (!token_is(token_t::e_rbracket))
         {
            if (!token_is(token_t::e_comma))
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  current_token(),
                  "ERR222 - Expected ',' between condition and message for assert statement",
                  exprtk_error_location));

               return error_node();
            }
            // Parse the assert message
            else if (
                      (0 == (assert_message = parse_expression())) ||
                      !details::is_generally_string_node(assert_message)
                    )
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  current_token(),
                  "ERR223 - " +
                  (assert_message ?
                  std::string("Expected string for assert message") :
                  std::string("Failed to parse message for assert statement")),
                  exprtk_error_location));

               return error_node();
            }
            else if (!token_is(token_t::e_rbracket))
            {
               if (!token_is(token_t::e_comma))
               {
                  set_error(make_error(
                     parser_error::e_syntax,
                     current_token(),
                     "ERR224 - Expected ',' between message and ID for assert statement",
                     exprtk_error_location));

                  return error_node();
               }
               // Parse assert ID
               else if (
                         (0 == (assert_id = parse_expression())) ||
                         !details::is_const_string_node(assert_id)
                       )
               {
                  set_error(make_error(
                     parser_error::e_syntax,
                     current_token(),
                     "ERR225 - " +
                     (assert_id ?
                     std::string("Expected literal string for assert ID") :
                     std::string("Failed to parse string for assert ID")),
                     exprtk_error_location));

                  return error_node();
               }
               else if (!token_is(token_t::e_rbracket))
               {
                  set_error(make_error(
                     parser_error::e_syntax,
                     current_token(),
                     "ERR226 - Expected ')' at start of assert statement",
                     exprtk_error_location));

                  return error_node();
               }
            }
         }

         exprtk::assert_check::assert_context context;
         context.condition = lexer().substr(start_token.position, end_token.position);
         context.offet     = start_token.position;

         if (0 == assert_check_)
         {
            exprtk_debug(("parse_assert_statement() - assert functionality is disabled. assert condition: %s\n",
                          context.condition.c_str()));

            return new details::null_node<T>();
         }

         #ifndef exprtk_disable_string_capabilities
         if (assert_message && details::is_const_string_node(assert_message))
         {
            context.message = dynamic_cast<details::string_base_node<T>*>(assert_message)->str();
         }

         if (assert_id && details::is_const_string_node(assert_id))
         {
            context.id = dynamic_cast<details::string_base_node<T>*>(assert_id)->str();

            if (assert_ids_.end() != assert_ids_.find(context.id))
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  current_token(),
                  "ERR227 - Duplicate assert ID: " + context.id,
                  exprtk_error_location));

               return error_node();
            }

            assert_ids_.insert(context.id);
            free_node(node_allocator_, assert_id);
         }
         #endif

         expression_node_ptr result_node =
            expression_generator_.assert_call(
               assert_condition,
               assert_message,
               context);

         exprtk_debug(("parse_assert_statement() - assert condition: [%s]\n", context.condition.c_str()      ));
         exprtk_debug(("parse_assert_statement() - assert message:   [%s]\n", context.message  .c_str()      ));
         exprtk_debug(("parse_assert_statement() - assert id:        [%s]\n", context.id       .c_str()      ));
         exprtk_debug(("parse_assert_statement() - assert offset:    [%d]\n", static_cast<int>(context.offet)));

         if (0 == result_node)
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR228 - Failed to synthesize assert",
               exprtk_error_location));

            return error_node();
         }

         svd.delete_ptr = false;
         return result_node;
      }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x228, %rsp            # imm = 0x228
movb 0x3aa(%rdi), %al
cmpb $0x1, %al
movq %rdi, 0x8(%rsp)
jne 0x28cc82
leaq 0xb0(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x133bf9(%rip), %rsi    # 0x3c0775
leaq 0x133c35(%rip), %rdx    # 0x3c07b8
leaq 0xa0(%rsp), %rdi
callq 0x1eabb8
leaq 0x80(%rsp), %r13
movq %r13, -0x10(%r13)
movq $0x0, -0x8(%r13)
movb $0x0, (%r13)
movl $0x77bd, %ebx           # imm = 0x77BD
leaq 0x70(%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 0x28cbb3
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 0x28cc30
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 0x28cc15
leaq 0x1308bc(%rip), %rcx    # 0x3bd4f3
leaq 0x70(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x1c8(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x28cd5b
movq %rdx, 0x1b8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1c8(%rsp)
jmp 0x28cd61
movq %rdi, %r13
xorb $0x1, %al
movb %al, 0x3aa(%rdi)
movq 0x18(%rdi), %rbx
cmpq %rbx, 0x8(%rdi)
je 0x28cca1
leaq 0x30(%rbx), %rax
movq %rax, 0x18(%r13)
jmp 0x28cca5
leaq 0x28(%r13), %rbx
movl (%rbx), %eax
movl %eax, 0x70(%r13)
leaq 0x78(%r13), %rbp
leaq 0x8(%rbx), %rsi
movq %rbp, %rdi
callq 0x1205a0
movq 0x28(%rbx), %rax
movq %rax, 0x98(%r13)
xorps %xmm0, %xmm0
movaps %xmm0, 0x1f0(%rsp)
movq $0x0, 0x200(%rsp)
movl $0x18, %edi
callq 0x1200f0
movq %rax, %r12
leaq 0x1f0(%rsp), %rax
movq %r12, (%rax)
movq %r12, 0x8(%rax)
leaq 0x18(%r12), %rcx
movq %rcx, 0x10(%rax)
xorps %xmm0, %xmm0
movups %xmm0, (%r12)
movq $0x0, 0x10(%r12)
movq %rcx, 0x8(%rax)
movb $0x1, 0x210(%rsp)
movq %r13, 0x218(%rsp)
movq %rax, 0x220(%rsp)
movl 0x70(%r13), %ebx
cmpl $0x28, %ebx
jne 0x28d025
leaq 0x70(%r13), %r14
movq 0x18(%r13), %r15
cmpq %r15, 0x8(%r13)
je 0x28cf29
leaq 0x30(%r15), %rax
movq %rax, 0x18(%r13)
jmp 0x28cf2d
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x1c0(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x118(%rsp), %rdi
movl $0x0, -0x8(%rdi)
leaq 0x128(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
movq $-0x1, 0x10(%r14)
leaq 0x158(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
leaq 0x178(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
leaq 0x198(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq %rcx, -0x8(%rbx)
movb %cl, (%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rbx)
movl $0x1, -0x58(%rbx)
movq 0x8(%rsp), %rcx
movl 0x70(%rcx), %eax
movl %eax, -0x68(%r15)
leaq 0x78(%rcx), %rsi
callq 0x1205a0
leaq 0x148(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x98(%rax), %rax
movq %rax, -0x10(%rdi)
leaq 0xa0(%rsp), %rsi
callq 0x1205a0
leaq 0x168(%rsp), %rdi
leaq 0x1b8(%rsp), %rsi
callq 0x1205a0
movq 0x8(%rsp), %rdi
addq $0x308, %rdi            # imm = 0x308
leaq 0x110(%rsp), %rsi
callq 0x26b154
movq 0x188(%rsp), %rdi
cmpq %rbx, %rdi
je 0x28ce6e
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x168(%rsp), %rdi
cmpq %r15, %rdi
je 0x28ce8b
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x148(%rsp), %rdi
cmpq %rbp, %rdi
je 0x28cea8
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x118(%rsp), %rdi
cmpq %r14, %rdi
je 0x28cec5
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
cmpq %rax, %rdi
je 0x28ceea
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x70(%rsp), %rdi
cmpq %r13, %rdi
je 0x28cf04
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa0(%rsp), %rdi
cmpq %r12, %rdi
je 0x28cf21
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x1200c0
xorl %r15d, %r15d
jmp 0x28d342
leaq 0x28(%r13), %r15
movl (%r15), %eax
movl %eax, (%r14)
leaq 0x8(%r15), %rsi
movq %rbp, %rdi
callq 0x1205a0
movq 0x28(%r15), %rax
movq %rax, 0x98(%r13)
cmpl $0x28, %ebx
jne 0x28d025
movl 0x70(%r13), %eax
leaq 0x1c0(%rsp), %rdi
movl %eax, -0x8(%rdi)
leaq 0x1d0(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x78(%r13), %rsi
movq 0x80(%r13), %rdx
addq %rsi, %rdx
callq 0x1eda34
movq 0x98(%r13), %rax
movq %rax, 0x1e0(%rsp)
movq %r13, %rdi
xorl %esi, %esi
callq 0x26cc52
movq %rax, (%r12)
testq %rax, %rax
je 0x28d357
movq %rbp, 0x1e8(%rsp)
movl 0x70(%r13), %eax
leaq 0x78(%rsp), %rdi
movl %eax, -0x8(%rdi)
leaq 0x88(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x78(%r13), %rsi
movq 0x80(%r13), %rdx
addq %rsi, %rdx
callq 0x1eda34
leaq 0x10(%r12), %rax
movq %rax, 0x108(%rsp)
movq %r12, %rbp
addq $0x8, %rbp
movq 0x98(%r13), %rax
movq %rax, 0x98(%rsp)
movl 0x70(%r13), %ebx
cmpl $0x29, %ebx
jne 0x28d92e
movq 0x18(%r13), %r15
cmpq %r15, 0x8(%r13)
je 0x28d633
leaq 0x30(%r15), %rax
movq %rax, 0x18(%r13)
jmp 0x28d637
leaq 0xb0(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x133781(%rip), %rsi    # 0x3c07b9
leaq 0x1337ac(%rip), %rdx    # 0x3c07eb
leaq 0xa0(%rsp), %rdi
callq 0x1eabb8
leaq 0x80(%rsp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
movl $0x77d3, %ebx           # imm = 0x77D3
leaq 0x70(%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 0x28d071
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 0x28d0ee
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 0x28d0d3
leaq 0x1303fe(%rip), %rcx    # 0x3bd4f3
leaq 0x70(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x1c8(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x28d139
movq %rdx, 0x1b8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1c8(%rsp)
jmp 0x28d13f
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x1c0(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x118(%rsp), %rdi
movl $0x0, -0x8(%rdi)
leaq 0x128(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
movq $-0x1, 0x10(%r14)
leaq 0x158(%rsp), %r12
movq %r12, -0x10(%r12)
movq %rcx, -0x8(%r12)
movb %cl, (%r12)
leaq 0x178(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
leaq 0x198(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq %rcx, -0x8(%rbx)
movb %cl, (%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rbx)
movl $0x1, -0x58(%rbx)
movq 0x8(%rsp), %rax
movl 0x70(%rax), %eax
movl %eax, -0x68(%r15)
movq %rbp, %rsi
callq 0x1205a0
leaq 0x148(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x98(%rax), %rax
movq %rax, -0x10(%rdi)
leaq 0xa0(%rsp), %rsi
callq 0x1205a0
leaq 0x168(%rsp), %rdi
leaq 0x1b8(%rsp), %rsi
callq 0x1205a0
movq 0x8(%rsp), %rax
leaq 0x308(%rax), %rdi
leaq 0x110(%rsp), %rsi
callq 0x26b154
movq 0x188(%rsp), %rdi
cmpq %rbx, %rdi
je 0x28d24e
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x168(%rsp), %rdi
cmpq %r15, %rdi
je 0x28d26b
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x148(%rsp), %rdi
cmpq %r12, %rdi
je 0x28d288
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x118(%rsp), %rdi
cmpq %r14, %rdi
leaq 0x80(%rsp), %rbx
je 0x28d2ad
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
cmpq %rax, %rdi
je 0x28d2d2
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x70(%rsp), %rdi
cmpq %rbx, %rdi
movq 0x8(%rsp), %rbx
je 0x28d2f1
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa0(%rsp), %rdi
cmpq %r13, %rdi
je 0x28d30e
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x1200c0
xorl %r15d, %r15d
leaq 0x210(%rsp), %rdi
callq 0x2716ba
movq 0x1f0(%rsp), %rdi
testq %rdi, %rdi
je 0x28d33b
movq 0x200(%rsp), %rsi
subq %rdi, %rsi
callq 0x1200c0
xorb $0x1, 0x3aa(%rbx)
movq %r15, %rax
addq $0x228, %rsp            # imm = 0x228
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xb0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x133482(%rip), %rsi    # 0x3c07ec
leaq 0x1334b2(%rip), %rdx    # 0x3c0823
leaq 0xa0(%rsp), %rdi
callq 0x1eabb8
leaq 0x20(%rsp), %r13
movq %r13, -0x10(%r13)
movq $0x0, -0x8(%r13)
movb $0x0, (%r13)
movl $0x77e1, %ebx           # imm = 0x77E1
leaq 0x10(%rsp), %r12
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 %r12, %rdi
callq 0x1205d0
addl $0x9, %ebx
cmpl $0x13, %ebx
movl %r15d, %ebx
jae 0x28d39e
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x28d41b
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 0x28d400
leaq 0x1300d1(%rip), %rcx    # 0x3bd4f3
leaq 0x10(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x80(%rsp), %rdi
movq %rdi, -0x10(%rdi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x28d469
movq %rdi, %r12
movq %rbp, %rsi
movq %rdx, 0x70(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x80(%rsp)
jmp 0x28d475
movq %rbp, %rsi
movups (%rcx), %xmm0
movq %rdi, %r12
movups %xmm0, (%rdi)
movq 0x8(%rax), %rdx
movq %rdx, 0x78(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x118(%rsp), %rdi
movl $0x0, -0x8(%rdi)
leaq 0x128(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
movq $-0x1, 0x10(%r13)
leaq 0x158(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
leaq 0x178(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
leaq 0x198(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq %rcx, -0x8(%rbx)
movb %cl, (%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rbx)
movl $0x1, -0x58(%rbx)
movl (%r14), %eax
movl %eax, -0x68(%r15)
callq 0x1205a0
leaq 0x148(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x98(%rax), %rax
movq %rax, -0x10(%rdi)
leaq 0xa0(%rsp), %rsi
callq 0x1205a0
leaq 0x168(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x1205a0
movq 0x8(%rsp), %rax
leaq 0x308(%rax), %rdi
leaq 0x110(%rsp), %rsi
callq 0x26b154
movq 0x188(%rsp), %rdi
cmpq %rbx, %rdi
je 0x28d574
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x168(%rsp), %rdi
cmpq %r15, %rdi
je 0x28d591
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x148(%rsp), %rdi
cmpq %rbp, %rdi
je 0x28d5ae
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x118(%rsp), %rdi
cmpq %r13, %rdi
movq 0x8(%rsp), %rbx
je 0x28d5d0
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x70(%rsp), %rdi
cmpq %r12, %rdi
leaq 0xb0(%rsp), %r14
leaq 0x20(%rsp), %r12
je 0x28d5f7
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x28d60e
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa0(%rsp), %rdi
cmpq %r14, %rdi
je 0x28d62b
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x1200c0
xorl %r15d, %r15d
jmp 0x28e0ad
leaq 0x28(%r13), %r15
movl (%r15), %eax
movl %eax, (%r14)
leaq 0x8(%r15), %rsi
movq 0x1e8(%rsp), %rdi
callq 0x1205a0
movq 0x28(%r15), %rax
movq 0x8(%rsp), %rdi
movq %rax, 0x98(%rdi)
cmpl $0x29, %ebx
jne 0x28d92e
leaq 0xb0(%rsp), %r13
movq %r13, -0x10(%r13)
xorl %eax, %eax
movq %rax, -0x8(%r13)
movb %al, (%r13)
leaq 0xd0(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq 0xf0(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
movq 0x58(%rdi), %rdx
movq 0x68(%rdi), %rax
movq 0x1e0(%rsp), %rsi
addq %rdx, %rsi
cmpq %rax, %rsi
cmovaeq %rax, %rsi
addq 0x98(%rsp), %rdx
cmpq %rax, %rdx
cmovaeq %rax, %rdx
leaq 0x120(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x110(%rsp), %rdi
callq 0x1eabb8
leaq 0xa0(%rsp), %rdi
leaq 0x110(%rsp), %r15
movq %r15, %rsi
callq 0x1202b0
movq (%r15), %rdi
cmpq %rbx, %rdi
je 0x28d713
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x1e0(%rsp), %rax
movq %rax, 0x100(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, 0x8f0(%rax)
je 0x28ddcf
movq (%rbp), %rdi
testq %rdi, %rdi
je 0x28d7a9
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x13, %eax
jne 0x28d7a9
movq (%rbp), %rdi
leaq 0x281cdb(%rip), %rsi    # 0x50f430
leaq 0x2b3f0c(%rip), %rdx    # 0x541668
movq $-0x2, %rcx
callq 0x1204f0
movq (%rax), %rcx
leaq 0x110(%rsp), %rdi
movq %rax, %rsi
callq *0x10(%rcx)
leaq 0xc0(%rsp), %rdi
leaq 0x110(%rsp), %r15
movq %r15, %rsi
callq 0x1202b0
movq (%r15), %rdi
cmpq %rbx, %rdi
je 0x28d7a9
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x108(%rsp), %rax
movq (%rax), %rdi
testq %rdi, %rdi
je 0x28df1a
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x13, %eax
jne 0x28df1a
movq 0x108(%rsp), %rax
movq (%rax), %rdi
leaq 0x281c52(%rip), %rsi    # 0x50f430
leaq 0x2b3e83(%rip), %rdx    # 0x541668
movq $-0x2, %rcx
callq 0x1204f0
movq (%rax), %rcx
leaq 0x110(%rsp), %rdi
movq %rax, %rsi
callq *0x10(%rcx)
leaq 0xe0(%rsp), %rdi
leaq 0x110(%rsp), %r15
movq %r15, %rsi
callq 0x1202b0
movq (%r15), %rdi
cmpq %rbx, %rdi
je 0x28d832
movq 0x120(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x8(%rsp), %rbx
leaq 0x8f8(%rbx), %r15
movq %r15, %rdi
leaq 0xe0(%rsp), %rsi
callq 0x362768
leaq 0x900(%rbx), %rcx
cmpq %rax, %rcx
je 0x28def1
leaq 0x13312c(%rip), %rsi    # 0x3c0991
leaq 0x10(%rsp), %rdi
leaq 0xe0(%rsp), %rdx
callq 0x26c8c1
leaq 0x50(%rsp), %rdi
movl $0x784b, %esi           # imm = 0x784B
movq 0x8(%rsp), %rbx
callq 0x2676ef
leaq 0x12fc61(%rip), %rsi    # 0x3bd4f3
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x212af7
leaq 0x110(%rsp), %rdi
leaq 0x10(%rsp), %rcx
leaq 0x30(%rsp), %r8
movl $0x1, %esi
movq %r14, %rdx
callq 0x26acce
leaq 0x308(%rbx), %rdi
leaq 0x110(%rsp), %rsi
callq 0x26b154
leaq 0x110(%rsp), %rdi
callq 0x266b98
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28d8fc
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28d917
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x28e014
jmp 0x28e021
movl (%r14), %ebx
cmpl $0x2c, %ebx
jne 0x28dafa
movq 0x8(%rsp), %rcx
movq 0x18(%rcx), %r15
cmpq %r15, 0x8(%rcx)
je 0x28d953
leaq 0x30(%r15), %rax
movq %rax, 0x18(%rcx)
jmp 0x28d957
leaq 0x28(%rcx), %r15
movl (%r15), %eax
movl %eax, (%r14)
leaq 0x8(%r15), %rsi
movq 0x1e8(%rsp), %rdi
callq 0x1205a0
movq 0x28(%r15), %rax
movq 0x8(%rsp), %rcx
movq %rax, 0x98(%rcx)
cmpl $0x2c, %ebx
jne 0x28dafa
movq 0x8(%rsp), %rdi
xorl %esi, %esi
callq 0x26cc52
movq %rax, (%rbp)
testq %rax, %rax
je 0x28e0e4
movq (%rax), %rcx
movq %rax, %rdi
callq *0x28(%rcx)
cmpl $0x21, %eax
ja 0x28e0db
movl %eax, %ecx
movabsq $0x388fc0000, %rdx      # imm = 0x388FC0000
btq %rcx, %rdx
jae 0x28e0db
leaq 0x110(%rsp), %rsi
movl $0x29, (%rsi)
movq 0x8(%rsp), %rdi
movl $0x1, %edx
callq 0x2711a4
testb %al, %al
movq 0x8(%rsp), %rdi
jne 0x28d667
leaq 0x110(%rsp), %rsi
movl $0x2c, (%rsi)
movl $0x1, %edx
callq 0x2711a4
testb %al, %al
je 0x28de11
movq 0x8(%rsp), %rdi
xorl %esi, %esi
callq 0x26cc52
movq 0x108(%rsp), %rcx
movq %rax, (%rcx)
testq %rax, %rax
je 0x28e448
movq (%rax), %rcx
movq %rax, %rdi
callq *0x28(%rcx)
cmpl $0x13, %eax
jne 0x28e448
leaq 0x110(%rsp), %rsi
movl $0x29, (%rsi)
movq 0x8(%rsp), %rdi
movl $0x1, %edx
callq 0x2711a4
testb %al, %al
movq 0x8(%rsp), %rdi
jne 0x28d667
leaq 0xb0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x132edd(%rip), %rsi    # 0x3c095e
leaq 0x132f08(%rip), %rdx    # 0x3c0990
leaq 0xa0(%rsp), %rdi
callq 0x1eabb8
leaq 0x30(%rsp), %rdi
movl $0x7828, %esi           # imm = 0x7828
movq 0x8(%rsp), %rbx
callq 0x2676ef
leaq 0x12fa43(%rip), %rsi    # 0x3bd4f3
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x212af7
leaq 0x110(%rsp), %rdi
leaq 0xa0(%rsp), %rcx
leaq 0x10(%rsp), %r8
movl $0x1, %esi
movq %r14, %rdx
callq 0x26acce
leaq 0x308(%rbx), %rdi
leaq 0x110(%rsp), %rsi
callq 0x26b154
jmp 0x28de98
leaq 0xb0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x132d17(%rip), %rsi    # 0x3c0824
leaq 0x132d58(%rip), %rdx    # 0x3c086c
leaq 0xa0(%rsp), %rdi
callq 0x1eabb8
leaq 0x40(%rsp), %r13
movq %r13, -0x10(%r13)
movq $0x0, -0x8(%r13)
movb $0x0, (%r13)
movl $0x77f0, %ebx           # imm = 0x77F0
leaq 0x30(%rsp), %r12
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 %r12, %rdi
callq 0x1205d0
addl $0x9, %ebx
cmpl $0x13, %ebx
movl %r15d, %ebx
jae 0x28db41
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
testq %rcx, %rcx
setne %dl
addq %rax, %rcx
decq %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x28dbbe
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 0x28dba3
leaq 0x12f92e(%rip), %rcx    # 0x3bd4f3
leaq 0x30(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x20(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x28dc03
movq %rsi, %r12
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x28dc0c
movups (%rcx), %xmm0
movq %rsi, %r12
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x18(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x118(%rsp), %rdi
movl $0x0, -0x8(%rdi)
leaq 0x128(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
movq $-0x1, 0x10(%r13)
leaq 0x158(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
leaq 0x178(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
leaq 0x198(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq %rcx, -0x8(%rbx)
movb %cl, (%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rbx)
movl $0x1, -0x58(%rbx)
movl (%r14), %eax
movl %eax, -0x68(%r15)
movq 0x1e8(%rsp), %rsi
callq 0x1205a0
leaq 0x148(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x98(%rax), %rax
movq %rax, -0x10(%rdi)
leaq 0xa0(%rsp), %rsi
callq 0x1205a0
leaq 0x168(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x1205a0
movq 0x8(%rsp), %rax
leaq 0x308(%rax), %rdi
leaq 0x110(%rsp), %rsi
callq 0x26b154
movq 0x188(%rsp), %rdi
cmpq %rbx, %rdi
je 0x28dd13
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x168(%rsp), %rdi
cmpq %r15, %rdi
je 0x28dd30
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x148(%rsp), %rdi
cmpq %rbp, %rdi
je 0x28dd4d
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x118(%rsp), %rdi
cmpq %r13, %rdi
movq 0x8(%rsp), %rbx
je 0x28dd6f
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
leaq 0xb0(%rsp), %r14
leaq 0x40(%rsp), %r12
je 0x28dd93
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x30(%rsp), %rdi
cmpq %r12, %rdi
je 0x28ddaa
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa0(%rsp), %rdi
cmpq %r14, %rdi
je 0x28ddc7
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x1200c0
xorl %r15d, %r15d
jmp 0x28e08b
movl $0x20, %edi
callq 0x1200f0
movq %rax, %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rax)
movaps %xmm0, (%rax)
movb $0x0, 0x10(%rax)
movq $0x0, 0x18(%rax)
leaq 0x282337(%rip), %rax    # 0x510130
movq %rax, (%r15)
leaq 0x282375(%rip), %rax    # 0x510178
movq %rax, 0x8(%r15)
movq 0x8(%rsp), %rbx
jmp 0x28e024
leaq 0xb0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x132aa3(%rip), %rsi    # 0x3c08c7
leaq 0x132add(%rip), %rdx    # 0x3c0908
leaq 0xa0(%rsp), %rdi
callq 0x1eabb8
leaq 0x30(%rsp), %rdi
movl $0x780d, %esi           # imm = 0x780D
movq 0x8(%rsp), %rbx
callq 0x2676ef
leaq 0x12f6a0(%rip), %rsi    # 0x3bd4f3
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x212af7
leaq 0x110(%rsp), %rdi
leaq 0xa0(%rsp), %rcx
leaq 0x10(%rsp), %r8
movl $0x1, %esi
movq %r14, %rdx
callq 0x26acce
leaq 0x308(%rbx), %rdi
leaq 0x110(%rsp), %rsi
callq 0x26b154
leaq 0x110(%rsp), %rdi
callq 0x266b98
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28dec0
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28dedb
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa0(%rsp), %rdi
cmpq %r15, %rdi
jne 0x28ddb7
jmp 0x28ddc7
movq %r15, %rdi
leaq 0xe0(%rsp), %rsi
callq 0x1ed878
movq 0x8(%rsp), %rax
leaq 0x290(%rax), %rdi
movq 0x108(%rsp), %rsi
callq 0x20d702
movq 0x8(%rsp), %rbx
leaq 0x220(%rbx), %rdi
leaq 0xa0(%rsp), %rcx
movq %r12, %rsi
movq %rbp, %rdx
callq 0x3625e8
movq %rax, %r15
testq %rax, %rax
je 0x28df4e
movb $0x0, 0x210(%rsp)
jmp 0x28e024
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x132a52(%rip), %rsi    # 0x3c09b0
leaq 0x132a6f(%rip), %rdx    # 0x3c09d4
leaq 0x10(%rsp), %rdi
callq 0x1eabb8
leaq 0x50(%rsp), %rdi
movl $0x7866, %esi           # imm = 0x7866
callq 0x2676ef
leaq 0x12f56e(%rip), %rsi    # 0x3bd4f3
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x212af7
leaq 0x110(%rsp), %rdi
leaq 0x10(%rsp), %rcx
leaq 0x30(%rsp), %r8
movl $0x1, %esi
movq %r14, %rdx
callq 0x26acce
leaq 0x308(%rbx), %rdi
leaq 0x110(%rsp), %rsi
callq 0x26b154
leaq 0x110(%rsp), %rdi
callq 0x266b98
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28dfef
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28e00a
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x28e021
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x1200c0
xorl %r15d, %r15d
movq 0xe0(%rsp), %rdi
leaq 0xf0(%rsp), %rax
cmpq %rax, %rdi
je 0x28e049
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x28e06e
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa0(%rsp), %rdi
cmpq %r13, %rdi
je 0x28e08b
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x28e0ad
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x28d311
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x28d311
cmpl $0x7b, %eax
je 0x28d9c8
cmpq $0x0, (%rbp)
leaq 0x20(%rsp), %rax
movq %rax, -0x10(%rax)
je 0x28e10e
leaq 0x13277c(%rip), %rsi    # 0x3c0877
leaq 0x132797(%rip), %rdx    # 0x3c0899
leaq 0x10(%rsp), %rdi
callq 0x1eabb8
jmp 0x28e126
leaq 0x132785(%rip), %rsi    # 0x3c089a
leaq 0x1327aa(%rip), %rdx    # 0x3c08c6
leaq 0x10(%rsp), %rdi
callq 0x1eabb8
leaq 0x132740(%rip), %rcx    # 0x3c086d
leaq 0x10(%rsp), %rdi
movl $0x9, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0xb0(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x28e171
movq %rdx, 0xa0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xb0(%rsp)
jmp 0x28e179
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0xa8(%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 $0x7801, %ebx           # imm = 0x7801
leaq 0x50(%rsp), %r12
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 %r12, %rdi
callq 0x1205d0
addl $0x9, %ebx
cmpl $0x13, %ebx
movl %r15d, %ebx
jae 0x28e1ab
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 0x28e228
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 0x28e20d
leaq 0x12f2c4(%rip), %rcx    # 0x3bd4f3
leaq 0x50(%rsp), %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x40(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
movq %r13, %r12
cmpq %rcx, %rdx
je 0x28e26d
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x28e273
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x38(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x118(%rsp), %rdi
movl $0x0, -0x8(%rdi)
leaq 0x128(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
movq $-0x1, 0x10(%rbp)
leaq 0x158(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
leaq 0x178(%rsp), %r15
movq %r15, -0x10(%r15)
movq %rcx, -0x8(%r15)
movb %cl, (%r15)
leaq 0x198(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq %rcx, -0x8(%rbx)
movb %cl, (%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rbx)
movl $0x1, -0x58(%rbx)
movl (%r14), %eax
movl %eax, -0x68(%r15)
movq 0x1e8(%rsp), %rsi
callq 0x1205a0
leaq 0x148(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x98(%rax), %rax
movq %rax, -0x10(%rdi)
leaq 0xa0(%rsp), %rsi
callq 0x1205a0
leaq 0x168(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x1205a0
movq 0x8(%rsp), %rax
leaq 0x308(%rax), %rdi
leaq 0x110(%rsp), %rsi
callq 0x26b154
movq 0x188(%rsp), %rdi
cmpq %rbx, %rdi
je 0x28e37a
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x168(%rsp), %rdi
cmpq %r15, %rdi
je 0x28e397
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x148(%rsp), %rdi
cmpq %r13, %rdi
je 0x28e3b4
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x118(%rsp), %rdi
cmpq %rbp, %rdi
leaq 0x20(%rsp), %r14
je 0x28e3d6
movq 0x128(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
movq 0x8(%rsp), %rbx
leaq 0x60(%rsp), %r15
je 0x28e3fc
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x50(%rsp), %rdi
cmpq %r15, %rdi
je 0x28e413
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa0(%rsp), %rdi
cmpq %r12, %rdi
je 0x28e430
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x10(%rsp), %rdi
cmpq %r14, %rdi
je 0x28ddc7
movq 0x20(%rsp), %rsi
jmp 0x28ddbf
movq 0x108(%rsp), %rax
cmpq $0x0, (%rax)
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
je 0x28e47e
leaq 0x1324ad(%rip), %rsi    # 0x3c0913
leaq 0x1324cb(%rip), %rdx    # 0x3c0938
leaq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rbx
callq 0x1eabb8
jmp 0x28e49b
leaq 0x1324b4(%rip), %rsi    # 0x3c0939
leaq 0x1324d1(%rip), %rdx    # 0x3c095d
leaq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rbx
callq 0x1eabb8
leaq 0x132467(%rip), %rsi    # 0x3c0909
leaq 0xa0(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x212af7
leaq 0x50(%rsp), %rdi
movl $0x781e, %esi           # imm = 0x781E
callq 0x2676ef
leaq 0x12f029(%rip), %rsi    # 0x3bd4f3
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x212af7
leaq 0x110(%rsp), %rdi
leaq 0xa0(%rsp), %rcx
leaq 0x30(%rsp), %r8
movl $0x1, %esi
movq %r14, %rdx
callq 0x26acce
leaq 0x308(%rbx), %rdi
leaq 0x110(%rsp), %rsi
callq 0x26b154
leaq 0x110(%rsp), %rdi
callq 0x266b98
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28e537
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28e552
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0xb0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28e573
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
jne 0x28e43e
jmp 0x28ddc7
jmp 0x28e63c
jmp 0x28e64e
jmp 0x28e66e
jmp 0x28e68e
jmp 0x28e81c
jmp 0x28e81c
jmp 0x28e81c
jmp 0x28e81c
movq %rax, %r14
leaq 0x110(%rsp), %rdi
callq 0x266b98
jmp 0x28e5c3
movq %rax, %r14
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28e5e3
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x28e5e3
movq %rax, %r14
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28e603
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x28e603
movq %rax, %r14
leaq 0xb0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28e629
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x28e629
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
jne 0x28e90a
jmp 0x28e9d0
movq %rax, %r14
leaq 0x110(%rsp), %rdi
callq 0x266b98
jmp 0x28e651
movq %rax, %r14
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28e671
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x28e671
movq %rax, %r14
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28e691
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x28e691
movq %rax, %r14
movq 0xa0(%rsp), %rdi
cmpq %r15, %rdi
jne 0x28e9c0
jmp 0x28e9d0
jmp 0x28e81c
jmp 0x28e81c
movq %rax, %r14
leaq 0x110(%rsp), %rdi
callq 0x266b98
jmp 0x28e6c6
movq %rax, %r14
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28e6e6
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x28e6e6
movq %rax, %r14
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28e706
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x28e706
movq %rax, %r14
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x28e787
jmp 0x28e801
jmp 0x28e7fe
jmp 0x28e81c
jmp 0x28e81c
movq %rax, %r14
leaq 0x110(%rsp), %rdi
callq 0x266b98
jmp 0x28e73d
movq %rax, %r14
leaq 0x40(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28e75d
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x28e75d
movq %rax, %r14
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28e77d
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x28e77d
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x28e801
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x28e801
jmp 0x28e7fe
jmp 0x28e7fe
jmp 0x28e7fe
jmp 0x28e7fe
jmp 0x28e7b4
movq %r13, %r12
movq %rax, %r14
jmp 0x28e7e0
movq %rax, %r14
jmp 0x28e8f7
jmp 0x28e81c
jmp 0x28e7fe
movq %rax, %r14
leaq 0x110(%rsp), %rdi
callq 0x266b98
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x28e7e0
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
jne 0x28e8cd
jmp 0x28e8da
jmp 0x28e7fe
jmp 0x28e81c
jmp 0x28e81c
movq %rax, %r14
leaq 0xa0(%rsp), %rdi
callq 0x36271a
jmp 0x28e9d0
jmp 0x28e81c
jmp 0x28e83c
movq %rax, %r14
jmp 0x28e863
movq %rax, %r14
jmp 0x28e9d0
jmp 0x28e87b
movq %rax, %r14
jmp 0x28e8a5
jmp 0x28e82f
jmp 0x28e82f
movq %rax, %r14
jmp 0x28ea2b
jmp 0x28e91d
movq %rax, %r14
leaq 0x110(%rsp), %rdi
callq 0x266b98
movq 0x10(%rsp), %rdi
cmpq %r12, %rdi
je 0x28e863
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
jne 0x28e99e
jmp 0x28e9ab
movq %rax, %r14
leaq 0x110(%rsp), %rdi
callq 0x266b98
movq 0x70(%rsp), %rdi
cmpq %r12, %rdi
je 0x28e8a5
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
jne 0x28e9f9
jmp 0x28ea06
movq %r13, %r12
movq %rax, %r14
movq 0x50(%rsp), %rdi
cmpq %rbp, %rdi
je 0x28e8da
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa0(%rsp), %rdi
cmpq %r12, %rdi
je 0x28e8f7
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x28e9d0
movq 0x20(%rsp), %rsi
jmp 0x28e9c8
jmp 0x28e91d
jmp 0x28e941
movq %rax, %r14
jmp 0x28e976
movq %rax, %r14
jmp 0x28eabf
jmp 0x28ea4a
jmp 0x28eaf7
jmp 0x28e931
movq %rax, %r14
jmp 0x28eae9
movq %rax, %r14
jmp 0x28eb31
movq %rax, %r14
leaq 0x110(%rsp), %rdi
callq 0x266b98
movq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
cmpq %rax, %rdi
je 0x28e976
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
jne 0x28ea92
jmp 0x28eaa2
movq %rax, %r14
movq 0x30(%rsp), %rdi
cmpq %r13, %rdi
je 0x28e9ab
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x28e9d0
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x28ea2b
movq 0x88(%rsp), %rsi
jmp 0x28ea23
movq %rax, %r14
movq 0x10(%rsp), %rdi
cmpq %r13, %rdi
je 0x28ea06
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x28ea2b
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x1c0(%rsp), %rdi
leaq 0x1d0(%rsp), %rax
cmpq %rax, %rdi
je 0x28eabf
movq 0x1d0(%rsp), %rsi
jmp 0x28eab7
movq %rax, %r14
leaq 0x110(%rsp), %rdi
callq 0x266b98
movq 0x1b8(%rsp), %rdi
leaq 0x1c8(%rsp), %rax
cmpq %rax, %rdi
je 0x28eafa
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x28eafa
movq %rax, %r14
movq 0x70(%rsp), %rdi
cmpq %r12, %rdi
je 0x28eaa2
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa0(%rsp), %rdi
cmpq %r13, %rdi
je 0x28eabf
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x210(%rsp), %rdi
callq 0x2716ba
movq 0x1f0(%rsp), %rdi
testq %rdi, %rdi
je 0x28eae9
movq 0x200(%rsp), %rsi
subq %rdi, %rsi
callq 0x1200c0
movq 0x8(%rsp), %rax
xorb $0x1, 0x3aa(%rax)
jmp 0x28eb31
movq %rax, %r14
movq 0x70(%rsp), %rdi
cmpq %r13, %rdi
je 0x28eb14
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa0(%rsp), %rdi
cmpq %r12, %rdi
je 0x28eb31
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq %r14, %rdi
callq 0x120330
nop