// File: /workspace/github_cpp_makefile_star2_O1/ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::parser<double>::parse_switch_statement()
inline expression_node_ptr parse_switch_statement()
      {
         std::vector<expression_node_ptr> arg_list;

         if (!details::imatch(current_token().value,"switch"))
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR090 - Expected keyword 'switch'",
               exprtk_error_location));

            return error_node();
         }

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

         next_token();

         if (!token_is(token_t::e_lcrlbracket))
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR091 - Expected '{' for call to switch statement",
               exprtk_error_location));

            return error_node();
         }

         expression_node_ptr default_statement = error_node();

         scoped_expression_delete defstmt_delete((*this), default_statement);

         for ( ; ; )
         {
            if (details::imatch("case",current_token().value))
            {
               next_token();

               expression_node_ptr condition = parse_expression();

               if (0 == condition)
                  return error_node();
               else if (!token_is(token_t::e_colon))
               {
                  set_error(make_error(
                     parser_error::e_syntax,
                     current_token(),
                     "ERR092 - Expected ':' for case of switch statement",
                     exprtk_error_location));

                  free_node(node_allocator_, condition);

                  return error_node();
               }

               expression_node_ptr consequent =
                  (token_is(token_t::e_lcrlbracket,prsrhlpr_t::e_hold)) ?
                  parse_multi_sequence("switch-consequent") :
                  parse_expression();

               if (0 == consequent)
               {
                  free_node(node_allocator_, condition);

                  return error_node();
               }
               else if (!token_is(token_t::e_eof))
               {
                  set_error(make_error(
                     parser_error::e_syntax,
                     current_token(),
                     "ERR093 - Expected ';' at end of case for switch statement",
                     exprtk_error_location));

                  free_node(node_allocator_, condition );
                  free_node(node_allocator_, consequent);

                  return error_node();
               }

               // Can we optimise away the case statement?
               if (is_constant_node(condition) && is_false(condition))
               {
                  free_node(node_allocator_, condition );
                  free_node(node_allocator_, consequent);
               }
               else
               {
                  arg_list.push_back(condition );
                  arg_list.push_back(consequent);
               }

            }
            else if (details::imatch("default",current_token().value))
            {
               if (0 != default_statement)
               {
                  set_error(make_error(
                     parser_error::e_syntax,
                     current_token(),
                     "ERR094 - Multiple default cases for switch statement",
                     exprtk_error_location));

                  return error_node();
               }

               next_token();

               if (!token_is(token_t::e_colon))
               {
                  set_error(make_error(
                     parser_error::e_syntax,
                     current_token(),
                     "ERR095 - Expected ':' for default of switch statement",
                     exprtk_error_location));

                  return error_node();
               }

               default_statement =
                  (token_is(token_t::e_lcrlbracket,prsrhlpr_t::e_hold)) ?
                  parse_multi_sequence("switch-default"):
                  parse_expression();

               if (0 == default_statement)
                  return error_node();
               else if (!token_is(token_t::e_eof))
               {
                  set_error(make_error(
                     parser_error::e_syntax,
                     current_token(),
                     "ERR096 - Expected ';' at end of default for switch statement",
                     exprtk_error_location));

                  return error_node();
               }
            }
            else if (token_is(token_t::e_rcrlbracket))
               break;
            else
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  current_token(),
                  "ERR097 - Expected '}' at end of switch statement",
                  exprtk_error_location));

               return error_node();
            }
         }

         const bool default_statement_present = (0 != default_statement);

         if (default_statement_present)
         {
            arg_list.push_back(default_statement);
         }
         else
         {
            arg_list.push_back(node_allocator_.allocate_c<literal_node_t>(std::numeric_limits<T>::quiet_NaN()));
         }

         expression_node_ptr result = expression_generator_.switch_statement(arg_list, (0 != default_statement));

         svd.delete_ptr = (0 == result);
         defstmt_delete.delete_ptr = (0 == result);

         return result;
      }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1d8, %rsp            # imm = 0x1D8
movq %rdi, %rbx
xorpd %xmm0, %xmm0
movapd %xmm0, 0x130(%rsp)
movq $0x0, 0x140(%rsp)
leaq 0x80(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x13c5e5(%rip), %rsi    # 0x3bdc8f
leaq 0x13c5e4(%rip), %rdx    # 0x3bdc95
leaq 0x70(%rsp), %rdi
callq 0x1eabb8
leaq 0x78(%rbx), %r12
movq 0x80(%rbx), %r14
cmpq 0x78(%rsp), %r14
movq %r12, 0x148(%rsp)
jne 0x281743
testq %r14, %r14
sete %bpl
je 0x281751
movq (%r12), %r13
movq 0x70(%rsp), %rbp
movsbl (%r13), %edi
callq 0x120450
movl %eax, %r15d
movsbl (%rbp), %edi
callq 0x120450
cmpl %eax, %r15d
jne 0x281747
movl $0x1, %ecx
movq %rcx, %r12
cmpq %rcx, %r14
je 0x281732
movsbl (%r13,%r12), %edi
callq 0x120450
movl %eax, %r15d
movsbl (%rbp,%r12), %edi
callq 0x120450
leaq 0x1(%r12), %rcx
cmpl %eax, %r15d
je 0x281707
cmpq %r14, %r12
setae %bpl
movq 0x148(%rsp), %r12
jmp 0x281749
xorl %ebp, %ebp
jmp 0x281751
xorl %ebp, %ebp
leaq 0x80(%rsp), %r13
movq 0x70(%rsp), %rdi
cmpq %r13, %rdi
je 0x28176b
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
testb %bpl, %bpl
je 0x2817ab
movb $0x1, 0x1c0(%rsp)
movq %rbx, 0x1c8(%rsp)
leaq 0x130(%rsp), %rax
movq %rax, 0x1d0(%rsp)
movq 0x18(%rbx), %r14
cmpq %r14, 0x8(%rbx)
je 0x2818ab
leaq 0x30(%r14), %rax
movq %rax, 0x18(%rbx)
jmp 0x2818af
leaq 0x50(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x13da97(%rip), %rsi    # 0x3bf252
leaq 0x13dab2(%rip), %rdx    # 0x3bf274
leaq 0x40(%rsp), %rdi
callq 0x1eabb8
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
movl $0x6a16, %ebp           # imm = 0x6A16
movq %rsp, %r15
movslq %ebp, %rax
imulq $0x66666667, %rax, %r14 # imm = 0x66666667
movq %r14, %rcx
shrq $0x3f, %rcx
sarq $0x22, %r14
addl %ecx, %r14d
leal (%r14,%r14), %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %r15, %rdi
callq 0x1205d0
addl $0x9, %ebp
cmpl $0x13, %ebp
movl %r14d, %ebp
jae 0x2817ec
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 0x281868
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 0x28184d
leaq 0x13bc84(%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
movq %r12, %r15
cmpq %rcx, %rdx
je 0x2818f3
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x2818fb
leaq 0x28(%rbx), %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq %r12, %rdi
callq 0x1205a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
movl 0x70(%rbx), %ebp
cmpl $0x7b, %ebp
jne 0x282228
movq 0x18(%rbx), %r14
cmpq %r14, 0x8(%rbx)
je 0x281aa6
leaq 0x30(%r14), %rax
movq %rax, 0x18(%rbx)
jmp 0x281aaa
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x78(%rsp), %rdi
movl $0x0, -0x8(%rdi)
leaq 0x88(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
movq $-0x1, 0x10(%rbp)
leaq 0xb8(%rsp), %r12
movq %r12, -0x10(%r12)
movq %rcx, -0x8(%r12)
movb %cl, (%r12)
leaq 0xd8(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
leaq 0xf8(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x10(%r13)
movl $0x1, -0x58(%r13)
movl 0x70(%rbx), %eax
movl %eax, -0x68(%r14)
movq 0x148(%rsp), %rsi
callq 0x1205a0
leaq 0xa8(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x40(%rsp), %rsi
callq 0x1205a0
leaq 0xc8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1205a0
addq $0x308, %rbx            # imm = 0x308
leaq 0x70(%rsp), %rsi
movq %rbx, %rdi
callq 0x26b154
movq 0xe8(%rsp), %rdi
cmpq %r13, %rdi
je 0x2819fa
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xc8(%rsp), %rdi
cmpq %r14, %rdi
movq %r15, %rbx
je 0x281a1a
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa8(%rsp), %rdi
cmpq %r12, %rdi
je 0x281a37
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x78(%rsp), %rdi
cmpq %rbp, %rdi
leaq 0x50(%rsp), %r15
je 0x281a56
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x281a72
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq (%rsp), %rdi
cmpq %rbx, %rdi
je 0x281a88
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x281a9f
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x1200c0
xorl %ebx, %ebx
jmp 0x283395
leaq 0x28(%rbx), %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq %r12, %rdi
callq 0x1205a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
cmpl $0x7b, %ebp
jne 0x282228
leaq 0x128(%rsp), %rax
movq $0x0, (%rax)
movb $0x1, 0x1a8(%rsp)
movq %rbx, 0x1b0(%rsp)
movq %rax, 0x1b8(%rsp)
leaq 0x28(%rbx), %rax
movq %rax, 0x120(%rsp)
leaq 0x70(%rsp), %rcx
leaq 0x88(%rcx), %rax
movq %rax, 0x160(%rsp)
leaq 0x98(%rcx), %rax
movq %rax, 0x158(%rsp)
leaq 0x308(%rbx), %rax
movq %rax, 0x118(%rsp)
leaq 0x60(%rsp), %rax
movq %rax, 0x150(%rsp)
movq %r13, 0x70(%rsp)
leaq 0x70(%rsp), %rdi
leaq 0x134fbb(%rip), %rsi    # 0x3b6b0e
leaq 0x134fb8(%rip), %rdx    # 0x3b6b12
callq 0x1eabb8
movq 0x78(%rsp), %r14
cmpq 0x80(%rbx), %r14
jne 0x281bdb
testq %r14, %r14
sete %bpl
je 0x281be9
movq 0x70(%rsp), %rbp
movq (%r12), %r13
movsbl (%rbp), %edi
callq 0x120450
movl %eax, %r15d
movsbl (%r13), %edi
callq 0x120450
cmpl %eax, %r15d
jne 0x281bdf
movl $0x1, %ecx
movq %rcx, %r12
cmpq %rcx, %r14
je 0x281bca
movsbl (%rbp,%r12), %edi
callq 0x120450
movl %eax, %r15d
movsbl (%r13,%r12), %edi
callq 0x120450
leaq 0x1(%r12), %rcx
cmpl %eax, %r15d
je 0x281b9f
cmpq %r14, %r12
setae %bpl
movq 0x148(%rsp), %r12
jmp 0x281be1
xorl %ebp, %ebp
jmp 0x281be9
xorl %ebp, %ebp
leaq 0x80(%rsp), %r13
movq 0x70(%rsp), %rdi
cmpq %r13, %rdi
je 0x281c03
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
testb %bpl, %bpl
je 0x281cfd
movq 0x18(%rbx), %rax
movq 0x120(%rsp), %r14
cmpq %rax, 0x8(%rbx)
je 0x281c29
leaq 0x30(%rax), %rcx
movq %rcx, 0x18(%rbx)
movq %rax, %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq %r12, %rdi
callq 0x1205a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
movq %rbx, %rdi
xorl %esi, %esi
callq 0x26cc52
movq %rax, 0x60(%rsp)
testq %rax, %rax
je 0x283379
movl 0x70(%rbx), %ebp
cmpl $0x3a, %ebp
jne 0x2824db
movq 0x18(%rbx), %rax
movq 0x120(%rsp), %r14
cmpq %rax, 0x8(%rbx)
je 0x281c87
leaq 0x30(%rax), %rcx
movq %rcx, 0x18(%rbx)
movq %rax, %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq %r12, %rdi
callq 0x1205a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
cmpl $0x3a, %ebp
jne 0x2824db
movl 0x70(%rbx), %ebp
cmpl $0x7b, %ebp
sete %r14b
jne 0x281da8
leaq 0x198(%rsp), %rax
movq %rax, 0x188(%rsp)
leaq 0x188(%rsp), %r15
movq %r15, %rdi
leaq 0x13bfed(%rip), %rsi    # 0x3bdccc
leaq 0x13bff7(%rip), %rdx    # 0x3bdcdd
callq 0x1eabb8
movq %rbx, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x290b56
jmp 0x281db2
movq %r13, 0x70(%rsp)
leaq 0x70(%rsp), %rdi
leaq 0x13d679(%rip), %rsi    # 0x3bf387
leaq 0x13d679(%rip), %rdx    # 0x3bf38e
callq 0x1eabb8
movq 0x78(%rsp), %r14
cmpq 0x80(%rbx), %r14
jne 0x281da1
testq %r14, %r14
sete %bpl
je 0x281f7a
movq 0x70(%rsp), %rbp
movq (%r12), %r13
movsbl (%rbp), %edi
callq 0x120450
movl %eax, %r15d
movsbl (%r13), %edi
callq 0x120450
cmpl %eax, %r15d
jne 0x281f70
movl $0x1, %ecx
movq %rcx, %r12
cmpq %rcx, %r14
je 0x281d8d
movsbl (%rbp,%r12), %edi
callq 0x120450
movl %eax, %r15d
movsbl (%r13,%r12), %edi
callq 0x120450
leaq 0x1(%r12), %rcx
cmpl %eax, %r15d
je 0x281d62
cmpq %r14, %r12
setae %bpl
movq 0x148(%rsp), %r12
jmp 0x281f72
xorl %ebp, %ebp
jmp 0x281f7a
movq %rbx, %rdi
xorl %esi, %esi
callq 0x26cc52
movq %rax, %r15
cmpl $0x7b, %ebp
jne 0x281ddf
movq 0x188(%rsp), %rdi
leaq 0x198(%rsp), %rax
cmpq %rax, %rdi
je 0x281ddf
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq %r15, 0x68(%rsp)
testq %r15, %r15
je 0x282956
movl 0x70(%rbx), %ebp
cmpl $0x6, %ebp
jne 0x282705
movq 0x18(%rbx), %rax
movq 0x120(%rsp), %r14
cmpq %rax, 0x8(%rbx)
je 0x281e16
leaq 0x30(%rax), %rcx
movq %rcx, 0x18(%rbx)
movq %rax, %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq %r12, %rdi
callq 0x1205a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
cmpl $0x6, %ebp
jne 0x282705
movq 0x60(%rsp), %r15
testq %r15, %r15
je 0x281efa
movq (%r15), %rax
movq %r15, %rdi
callq *0x28(%rax)
cmpl $0x2, %eax
je 0x281e6a
movq (%r15), %rax
movq %r15, %rdi
callq *0x28(%rax)
cmpl $0x13, %eax
jne 0x281efa
movq 0x60(%rsp), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
ucomisd 0x13037b(%rip), %xmm0   # 0x3b21f8
jne 0x281efa
jp 0x281efa
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x281eb5
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x281eb5
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x281eab
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x281eb5
leaq 0x60(%rsp), %rdi
callq 0x1f1690
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x281b42
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x281b42
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x281eeb
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x281b42
leaq 0x68(%rsp), %rdi
callq 0x1f1690
jmp 0x281b42
movq 0x138(%rsp), %rsi
cmpq 0x140(%rsp), %rsi
je 0x281f1f
movq 0x60(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x138(%rsp)
jmp 0x281f31
leaq 0x130(%rsp), %rdi
leaq 0x60(%rsp), %rdx
callq 0x396592
movq 0x138(%rsp), %rsi
cmpq 0x140(%rsp), %rsi
je 0x281f59
movq 0x68(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x138(%rsp)
jmp 0x281b42
leaq 0x130(%rsp), %rdi
leaq 0x68(%rsp), %rdx
callq 0x396592
jmp 0x281b42
xorl %ebp, %ebp
leaq 0x80(%rsp), %r13
movq 0x70(%rsp), %rdi
cmpq %r13, %rdi
je 0x281f94
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
testb %bpl, %bpl
je 0x28281e
cmpq $0x0, 0x128(%rsp)
jne 0x282845
movq 0x18(%rbx), %rax
movq 0x120(%rsp), %r14
cmpq %rax, 0x8(%rbx)
je 0x281fc9
leaq 0x30(%rax), %rcx
movq %rcx, 0x18(%rbx)
movq %rax, %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq %r12, %rdi
callq 0x1205a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
movl 0x70(%rbx), %ebp
cmpl $0x3a, %ebp
jne 0x2825f4
movq 0x18(%rbx), %rax
movq 0x120(%rsp), %r14
cmpq %rax, 0x8(%rbx)
je 0x28200f
leaq 0x30(%rax), %rcx
movq %rcx, 0x18(%rbx)
movq %rax, %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq %r12, %rdi
callq 0x1205a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
cmpl $0x3a, %ebp
jne 0x2825f4
movl 0x70(%rbx), %r15d
cmpl $0x7b, %r15d
sete %r14b
jne 0x282080
leaq 0x178(%rsp), %rax
movq %rax, 0x168(%rsp)
leaq 0x168(%rsp), %rbp
movq %rbp, %rdi
leaq 0x13d31b(%rip), %rsi    # 0x3bf380
leaq 0x13d322(%rip), %rdx    # 0x3bf38e
callq 0x1eabb8
movq %rbx, %rdi
movq %rbp, %rsi
xorl %edx, %edx
callq 0x290b56
jmp 0x28208a
movq %rbx, %rdi
xorl %esi, %esi
callq 0x26cc52
movq %rax, 0x128(%rsp)
cmpl $0x7b, %r15d
jne 0x2820bd
movq 0x168(%rsp), %rdi
leaq 0x178(%rsp), %rax
cmpq %rax, %rdi
je 0x2820bd
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x1200c0
cmpq $0x0, 0x128(%rsp)
je 0x283379
movl 0x70(%rbx), %ebp
cmpl $0x6, %ebp
jne 0x282117
movq 0x18(%rbx), %rax
movq 0x120(%rsp), %r14
cmpq %rax, 0x8(%rbx)
je 0x2820f1
leaq 0x30(%rax), %rcx
movq %rcx, 0x18(%rbx)
movq %rax, %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq %r12, %rdi
callq 0x1205a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
cmpl $0x6, %ebp
je 0x281b42
leaq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
movq %rax, (%rdi)
leaq 0x13d264(%rip), %rsi    # 0x3bf38f
leaq 0x13d299(%rip), %rdx    # 0x3bf3cb
callq 0x1eabb8
movq %rsp, %r15
leaq 0x10(%rsp), %rax
movq %rax, (%r15)
movq $0x0, 0x8(%r15)
movb $0x0, 0x10(%r15)
movl $0x6a92, %ebp           # imm = 0x6A92
movslq %ebp, %rax
imulq $0x66666667, %rax, %r14 # imm = 0x66666667
movq %r14, %rcx
shrq $0x3f, %rcx
sarq $0x22, %r14
addl %ecx, %r14d
leal (%r14,%r14), %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %r15, %rdi
callq 0x1205d0
addl $0x9, %ebp
cmpl $0x13, %ebp
movl %r14d, %ebp
jae 0x282154
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
leaq 0x30(%rsp), %r15
jne 0x2821d5
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 0x2821ba
leaq 0x13b317(%rip), %rcx    # 0x3bd4f3
movq %rsp, %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x88(%rsp), %r13
leaq 0xb8(%rsp), %rbp
movq %r15, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x282ec6
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x282ecf
leaq 0x50(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x13d03d(%rip), %rsi    # 0x3bf275
leaq 0x13d068(%rip), %rdx    # 0x3bf2a7
leaq 0x40(%rsp), %rdi
callq 0x1eabb8
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
movl $0x6a25, %ebp           # imm = 0x6A25
movq %rsp, %r15
movslq %ebp, %rax
imulq $0x66666667, %rax, %r14 # imm = 0x66666667
movq %r14, %rcx
shrq $0x3f, %rcx
sarq $0x22, %r14
addl %ecx, %r14d
leal (%r14,%r14), %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %r15, %rdi
callq 0x1205d0
addl $0x9, %ebp
cmpl $0x13, %ebp
movl %r14d, %ebp
jae 0x282269
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 0x2822e5
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 0x2822ca
leaq 0x13b207(%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
movq %r12, %r15
cmpq %rcx, %rdx
je 0x282328
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x282330
movupd (%rcx), %xmm0
movupd %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x78(%rsp), %rdi
movl $0x0, -0x8(%rdi)
leaq 0x88(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
movq $-0x1, 0x10(%rbp)
leaq 0xb8(%rsp), %r12
movq %r12, -0x10(%r12)
movq %rcx, -0x8(%r12)
movb %cl, (%r12)
leaq 0xd8(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
leaq 0xf8(%rsp), %r13
movq %r13, -0x10(%r13)
movq %rcx, -0x8(%r13)
movb %cl, (%r13)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x10(%r13)
movl $0x1, -0x58(%r13)
movl 0x70(%rbx), %eax
movl %eax, -0x68(%r14)
movq 0x148(%rsp), %rsi
callq 0x1205a0
leaq 0xa8(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x40(%rsp), %rsi
callq 0x1205a0
leaq 0xc8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1205a0
addq $0x308, %rbx            # imm = 0x308
leaq 0x70(%rsp), %rsi
movq %rbx, %rdi
callq 0x26b154
movq 0xe8(%rsp), %rdi
cmpq %r13, %rdi
je 0x28242f
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xc8(%rsp), %rdi
cmpq %r14, %rdi
movq %r15, %rbx
je 0x28244f
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa8(%rsp), %rdi
cmpq %r12, %rdi
je 0x28246c
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x78(%rsp), %rdi
cmpq %rbp, %rdi
leaq 0x50(%rsp), %r15
je 0x28248b
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x2824a7
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq (%rsp), %rdi
cmpq %rbx, %rdi
je 0x2824bd
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x2824d4
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x1200c0
xorl %ebx, %ebx
jmp 0x283388
leaq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
movq %rax, (%rdi)
leaq 0x13cdb9(%rip), %rsi    # 0x3bf2a8
leaq 0x13cde4(%rip), %rdx    # 0x3bf2da
callq 0x1eabb8
movq %rsp, %r15
leaq 0x10(%rsp), %rax
movq %rax, (%r15)
movq $0x0, 0x8(%r15)
movb $0x0, 0x10(%r15)
movl $0x6a3e, %ebp           # imm = 0x6A3E
movslq %ebp, %rax
imulq $0x66666667, %rax, %r14 # imm = 0x66666667
movq %r14, %rcx
shrq $0x3f, %rcx
sarq $0x22, %r14
addl %ecx, %r14d
leal (%r14,%r14), %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %r15, %rdi
callq 0x1205d0
addl $0x9, %ebp
cmpl $0x13, %ebp
movl %r14d, %ebp
jae 0x282518
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 0x282594
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 0x282579
leaq 0x13af58(%rip), %rcx    # 0x3bd4f3
movq %rsp, %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x30(%rsp), %r14
leaq 0x88(%rsp), %r15
leaq 0xb8(%rsp), %r13
movq 0x160(%rsp), %rbp
movq %r14, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x28298c
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x282995
leaq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
movq %rax, (%rdi)
leaq 0x13cd42(%rip), %rsi    # 0x3bf34a
leaq 0x13cd70(%rip), %rdx    # 0x3bf37f
callq 0x1eabb8
movq %rsp, %r15
leaq 0x10(%rsp), %rax
movq %rax, (%r15)
movq $0x0, 0x8(%r15)
movb $0x0, 0x10(%r15)
movl $0x6a80, %ebp           # imm = 0x6A80
movslq %ebp, %rax
imulq $0x66666667, %rax, %r14 # imm = 0x66666667
movq %r14, %rcx
shrq $0x3f, %rcx
sarq $0x22, %r14
addl %ecx, %r14d
leal (%r14,%r14), %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %r15, %rdi
callq 0x1205d0
addl $0x9, %ebp
cmpl $0x13, %ebp
movl %r14d, %ebp
jae 0x282631
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 0x2826ad
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 0x282692
leaq 0x13ae3f(%rip), %rcx    # 0x3bd4f3
movq %rsp, %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x30(%rsp), %r15
leaq 0x88(%rsp), %r13
leaq 0xb8(%rsp), %rbp
movq %r15, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x282ba2
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x282bab
leaq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
movq %rax, (%rdi)
leaq 0x13cbc2(%rip), %rsi    # 0x3bf2db
leaq 0x13cbf4(%rip), %rdx    # 0x3bf314
callq 0x1eabb8
movq %rsp, %r15
leaq 0x10(%rsp), %rax
movq %rax, (%r15)
movq $0x0, 0x8(%r15)
movb $0x0, 0x10(%r15)
movl $0x6a56, %ebp           # imm = 0x6A56
movslq %ebp, %rax
imulq $0x66666667, %rax, %r14 # imm = 0x66666667
movq %r14, %rcx
shrq $0x3f, %rcx
sarq $0x22, %r14
addl %ecx, %r14d
leal (%r14,%r14), %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %r15, %rdi
callq 0x1205d0
addl $0x9, %ebp
cmpl $0x13, %ebp
movl %r14d, %ebp
jae 0x282742
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 0x2827be
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 0x2827a3
leaq 0x13ad2e(%rip), %rcx    # 0x3bd4f3
movq %rsp, %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x30(%rsp), %r14
leaq 0x88(%rsp), %r15
leaq 0xb8(%rsp), %r13
movq 0x160(%rsp), %rbp
movq %r14, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x282c75
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x282c7e
movl 0x70(%rbx), %ebp
cmpl $0x7d, %ebp
jne 0x2830da
movq 0x18(%rbx), %r14
cmpq %r14, 0x8(%rbx)
je 0x28308b
leaq 0x30(%r14), %rax
movq %rax, 0x18(%rbx)
jmp 0x28308f
leaq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
movq %rax, (%rdi)
leaq 0x13cabc(%rip), %rsi    # 0x3bf315
leaq 0x13cae9(%rip), %rdx    # 0x3bf349
callq 0x1eabb8
movq %rsp, %r15
leaq 0x10(%rsp), %rax
movq %rax, (%r15)
movq $0x0, 0x8(%r15)
movb $0x0, 0x10(%r15)
movl $0x6a73, %ebp           # imm = 0x6A73
movslq %ebp, %rax
imulq $0x66666667, %rax, %r14 # imm = 0x66666667
movq %r14, %rcx
shrq $0x3f, %rcx
sarq $0x22, %r14
addl %ecx, %r14d
leal (%r14,%r14), %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %r15, %rdi
callq 0x1205d0
addl $0x9, %ebp
cmpl $0x13, %ebp
movl %r14d, %ebp
jae 0x282882
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 0x2828fe
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 0x2828e3
leaq 0x13abee(%rip), %rcx    # 0x3bd4f3
movq %rsp, %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x30(%rsp), %r15
leaq 0x88(%rsp), %r13
leaq 0xb8(%rsp), %rbp
movq %r15, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x282f99
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x282fa2
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x283379
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x283379
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x283079
movq (%rdi), %rax
callq *0x28(%rax)
jmp 0x282eb8
movupd (%rcx), %xmm0
movupd %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
movl %ecx, 0x70(%rsp)
movq %r15, 0x78(%rsp)
movq %rcx, 0x80(%rsp)
movb %cl, 0x88(%rsp)
movq $-0x1, 0x98(%rsp)
movl %ecx, 0xa0(%rsp)
movq %r13, 0xa8(%rsp)
movq %rcx, 0xb0(%rsp)
movb %cl, 0xb8(%rsp)
leaq 0xd8(%rsp), %rax
movq %rax, 0xc8(%rsp)
movq %rcx, 0xd0(%rsp)
movb %cl, 0xd8(%rsp)
movq %rbp, 0xe8(%rsp)
movq %rcx, 0xf0(%rsp)
movb %cl, 0xf8(%rsp)
xorpd %xmm0, %xmm0
movq 0x158(%rsp), %rax
movupd %xmm0, (%rax)
movl $0x1, 0xa0(%rsp)
movl 0x70(%rbx), %eax
movl %eax, 0x70(%rsp)
leaq 0x78(%rsp), %rdi
movq %r12, %rsi
callq 0x1205a0
movq 0x98(%rbx), %rax
movq %rax, 0x98(%rsp)
leaq 0x40(%rsp), %rsi
leaq 0xa8(%rsp), %rdi
callq 0x1205a0
leaq 0x20(%rsp), %rsi
leaq 0xc8(%rsp), %rdi
callq 0x1205a0
leaq 0x70(%rsp), %rsi
movq 0x118(%rsp), %rdi
callq 0x26b154
movq 0xe8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x282ab3
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x282ad8
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa8(%rsp), %rdi
cmpq %r13, %rdi
je 0x282af5
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x78(%rsp), %rdi
cmpq %r15, %rdi
je 0x282b0f
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x282b26
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x282b41
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x282b5d
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x283379
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x283379
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x282b93
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x283379
leaq 0x60(%rsp), %rdi
callq 0x1f1690
jmp 0x283379
movupd (%rcx), %xmm0
movupd %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x78(%rsp), %rdi
movl $0x0, -0x8(%rdi)
movq %r13, (%rdi)
movq %rcx, 0x8(%rdi)
movb %cl, 0x10(%rdi)
movq $-0x1, 0x20(%rdi)
movq %rbp, 0x30(%rdi)
movq %rcx, 0x38(%rdi)
movb %cl, 0x40(%rdi)
leaq 0xd8(%rsp), %rax
movq %rax, 0x50(%rdi)
movq %rcx, 0x58(%rdi)
movb %cl, 0x60(%rdi)
leaq 0xf8(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x10(%r14)
movl $0x1, -0x58(%r14)
movl 0x70(%rbx), %eax
movl %eax, -0x8(%rdi)
movq %r12, %rsi
callq 0x1205a0
leaq 0xa8(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x40(%rsp), %rsi
callq 0x1205a0
leaq 0xc8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1205a0
leaq 0x70(%rsp), %rsi
movq 0x118(%rsp), %rdi
callq 0x26b154
jmp 0x2832b2
movupd (%rcx), %xmm0
movupd %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
movl %ecx, 0x70(%rsp)
movq %r15, 0x78(%rsp)
movq %rcx, 0x80(%rsp)
movb %cl, 0x88(%rsp)
movq $-0x1, 0x98(%rsp)
movl %ecx, 0xa0(%rsp)
movq %r13, 0xa8(%rsp)
movq %rcx, 0xb0(%rsp)
movb %cl, 0xb8(%rsp)
leaq 0xd8(%rsp), %rax
movq %rax, 0xc8(%rsp)
movq %rcx, 0xd0(%rsp)
movb %cl, 0xd8(%rsp)
movq %rbp, 0xe8(%rsp)
movq %rcx, 0xf0(%rsp)
movb %cl, 0xf8(%rsp)
xorpd %xmm0, %xmm0
movq 0x158(%rsp), %rax
movupd %xmm0, (%rax)
movl $0x1, 0xa0(%rsp)
movl 0x70(%rbx), %eax
movl %eax, 0x70(%rsp)
leaq 0x78(%rsp), %rdi
movq %r12, %rsi
callq 0x1205a0
movq 0x98(%rbx), %rax
movq %rax, 0x98(%rsp)
leaq 0x40(%rsp), %rsi
leaq 0xa8(%rsp), %rdi
callq 0x1205a0
leaq 0x20(%rsp), %rsi
leaq 0xc8(%rsp), %rdi
callq 0x1205a0
leaq 0x70(%rsp), %rsi
movq 0x118(%rsp), %rdi
callq 0x26b154
movq 0xe8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x282d9c
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x282dc1
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa8(%rsp), %rdi
cmpq %r13, %rdi
je 0x282dde
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x78(%rsp), %rdi
cmpq %r15, %rdi
je 0x282df8
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x282e0f
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x282e2a
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x282e46
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x282e7a
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x282e7a
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x282e70
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x282e7a
leaq 0x60(%rsp), %rdi
callq 0x1f1690
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x283379
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x283379
movq 0x68(%rsp), %rdi
testq %rdi, %rdi
je 0x28306c
movq (%rdi), %rax
callq *0x28(%rax)
leaq 0x68(%rsp), %rcx
movq %rcx, 0x150(%rsp)
cmpl $0x12, %eax
jne 0x283079
jmp 0x283379
movupd (%rcx), %xmm0
movupd %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x78(%rsp), %rdi
movl $0x0, -0x8(%rdi)
movq %r13, (%rdi)
movq %rcx, 0x8(%rdi)
movb %cl, 0x10(%rdi)
movq $-0x1, 0x20(%rdi)
movq %rbp, 0x30(%rdi)
movq %rcx, 0x38(%rdi)
movb %cl, 0x40(%rdi)
leaq 0xd8(%rsp), %rax
movq %rax, 0x50(%rdi)
movq %rcx, 0x58(%rdi)
movb %cl, 0x60(%rdi)
leaq 0xf8(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x10(%r14)
movl $0x1, -0x58(%r14)
movl 0x70(%rbx), %eax
movl %eax, -0x8(%rdi)
movq %r12, %rsi
callq 0x1205a0
leaq 0xa8(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x40(%rsp), %rsi
callq 0x1205a0
leaq 0xc8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1205a0
leaq 0x70(%rsp), %rsi
movq 0x118(%rsp), %rdi
callq 0x26b154
jmp 0x2832b2
movupd (%rcx), %xmm0
movupd %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x78(%rsp), %rdi
movl $0x0, -0x8(%rdi)
movq %r13, (%rdi)
movq %rcx, 0x8(%rdi)
movb %cl, 0x10(%rdi)
movq $-0x1, 0x20(%rdi)
movq %rbp, 0x30(%rdi)
movq %rcx, 0x38(%rdi)
movb %cl, 0x40(%rdi)
leaq 0xd8(%rsp), %rax
movq %rax, 0x50(%rdi)
movq %rcx, 0x58(%rdi)
movb %cl, 0x60(%rdi)
leaq 0xf8(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x10(%r14)
movl $0x1, -0x58(%r14)
movl 0x70(%rbx), %eax
movl %eax, -0x8(%rdi)
movq %r12, %rsi
callq 0x1205a0
leaq 0xa8(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x40(%rsp), %rsi
callq 0x1205a0
leaq 0xc8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1205a0
leaq 0x70(%rsp), %rsi
movq 0x118(%rsp), %rdi
callq 0x26b154
jmp 0x2832b2
leaq 0x68(%rsp), %rax
movq %rax, 0x150(%rsp)
movq 0x150(%rsp), %rdi
callq 0x1f1690
jmp 0x283379
leaq 0x28(%rbx), %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq %r12, %rdi
callq 0x1205a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
cmpl $0x7d, %ebp
jne 0x2830da
cmpq $0x0, 0x128(%rsp)
je 0x2833c7
leaq 0x130(%rsp), %rdi
leaq 0x128(%rsp), %rsi
callq 0x2710c2
jmp 0x283415
leaq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
movq %rax, (%rdi)
leaq 0x13c2de(%rip), %rsi    # 0x3bf3cc
leaq 0x13c307(%rip), %rdx    # 0x3bf3fc
callq 0x1eabb8
movq %rsp, %r15
leaq 0x10(%rsp), %rax
movq %rax, (%r15)
movq $0x0, 0x8(%r15)
movb $0x0, 0x10(%r15)
movl $0x6a9f, %ebp           # imm = 0x6A9F
movslq %ebp, %rax
imulq $0x66666667, %rax, %r14 # imm = 0x66666667
movq %r14, %rcx
shrq $0x3f, %rcx
sarq $0x22, %r14
addl %ecx, %r14d
leal (%r14,%r14), %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %r15, %rdi
callq 0x1205d0
addl $0x9, %ebp
cmpl $0x13, %ebp
movl %r14d, %ebp
jae 0x283117
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 0x283193
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 0x283178
leaq 0x13a359(%rip), %rcx    # 0x3bd4f3
movq %rsp, %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x120110
leaq 0x30(%rsp), %r15
leaq 0x88(%rsp), %r13
leaq 0xb8(%rsp), %rbp
movq %r15, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2831e4
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x2831ed
movupd (%rcx), %xmm0
movupd %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
leaq 0x78(%rsp), %rdi
movl $0x0, -0x8(%rdi)
movq %r13, (%rdi)
movq %rcx, 0x8(%rdi)
movb %cl, 0x10(%rdi)
movq $-0x1, 0x20(%rdi)
movq %rbp, 0x30(%rdi)
movq %rcx, 0x38(%rdi)
movb %cl, 0x40(%rdi)
leaq 0xd8(%rsp), %rax
movq %rax, 0x50(%rdi)
movq %rcx, 0x58(%rdi)
movb %cl, 0x60(%rdi)
leaq 0xf8(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x10(%r14)
movl $0x1, -0x58(%r14)
movl 0x70(%rbx), %eax
movl %eax, -0x8(%rdi)
movq %r12, %rsi
callq 0x1205a0
leaq 0xa8(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x40(%rsp), %rsi
callq 0x1205a0
leaq 0xc8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1205a0
leaq 0x70(%rsp), %rsi
movq 0x118(%rsp), %rdi
callq 0x26b154
movq 0xe8(%rsp), %rdi
cmpq %r14, %rdi
je 0x2832cf
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xc8(%rsp), %rdi
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdi
je 0x2832f4
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x283311
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x78(%rsp), %rdi
cmpq %r13, %rdi
je 0x28332b
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0x283342
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x28335d
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x283379
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x1200c0
xorl %ebx, %ebx
leaq 0x1a8(%rsp), %rdi
callq 0x3460cc
leaq 0x1c0(%rsp), %rdi
callq 0x2716ba
movq 0x130(%rsp), %rdi
testq %rdi, %rdi
je 0x2833b2
movq 0x140(%rsp), %rsi
subq %rdi, %rsi
callq 0x1200c0
movq %rbx, %rax
addq $0x1d8, %rsp            # imm = 0x1D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x28, %edi
callq 0x1200f0
movb $0x0, 0x10(%rax)
movq $0x0, 0x18(%rax)
leaq 0x28dea4(%rip), %rcx    # 0x511288
movq %rcx, (%rax)
leaq 0x28dee2(%rip), %rcx    # 0x5112d0
movq %rcx, 0x8(%rax)
movabsq $0x7ff8000000000000, %rcx # imm = 0x7FF8000000000000
movq %rcx, 0x20(%rax)
leaq 0x70(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x130(%rsp), %rdi
callq 0x34610e
addq $0x220, %rbx            # imm = 0x220
xorl %edx, %edx
cmpq $0x0, 0x128(%rsp)
setne %dl
leaq 0x130(%rsp), %rsi
movq %rbx, %rdi
callq 0x345dcc
movq %rax, %rbx
testq %rax, %rax
sete 0x1c0(%rsp)
sete 0x1a8(%rsp)
jmp 0x28337b
jmp 0x2835f4
jmp 0x2835f4
jmp 0x2835f4
jmp 0x2835f4
jmp 0x2834c5
jmp 0x2835b4
jmp 0x2835f4
jmp 0x2834c5
jmp 0x2835b4
jmp 0x2835f4
jmp 0x2834c5
jmp 0x2835b4
jmp 0x2835f4
jmp 0x2834c5
jmp 0x2835b4
jmp 0x2835f4
jmp 0x2834c5
jmp 0x2835b4
jmp 0x2835f4
jmp 0x2834c5
jmp 0x2835b4
jmp 0x2835f4
jmp 0x2835f4
jmp 0x2834c5
jmp 0x2834c5
jmp 0x2835f4
jmp 0x2834c5
jmp 0x2834c5
jmp 0x2834c5
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x266b98
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x2835b7
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x2835b7
jmp 0x2834f9
movq %rax, %rbx
movb $0x1, %r14b
jmp 0x283575
jmp 0x2835a4
jmp 0x2835b4
jmp 0x2835f4
jmp 0x2835f4
movq %rax, %rbx
cmpl $0x7b, %r15d
jne 0x283575
movq 0x168(%rsp), %rdi
movb $0x1, %r14b
leaq 0x178(%rsp), %rax
cmpq %rax, %rdi
je 0x283575
movq 0x178(%rsp), %rsi
jmp 0x28356d
jmp 0x2835f4
movq %rax, %rbx
cmpl $0x7b, %ebp
jne 0x283575
movq 0x188(%rsp), %rdi
movb $0x1, %r14b
leaq 0x198(%rsp), %rax
cmpq %rax, %rdi
je 0x283575
movq 0x198(%rsp), %rsi
incq %rsi
callq 0x1200c0
testb %r14b, %r14b
jmp 0x2835f7
jmp 0x2835f4
jmp 0x2835b4
jmp 0x2835f4
jmp 0x2835f4
jmp 0x283611
movq %r12, %r15
movq %rax, %rbx
jmp 0x28363a
jmp 0x2835a4
jmp 0x283645
movq %r12, %r15
movq %rax, %rbx
jmp 0x28366e
movq %rax, %rbx
jmp 0x2836ae
jmp 0x283609
jmp 0x2835b4
jmp 0x2835b4
jmp 0x2835b4
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x2835d2
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x2835f7
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x2835f7
jmp 0x2835f4
jmp 0x2835f4
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
callq 0x3460cc
jmp 0x2836ae
movq %rax, %rbx
jmp 0x2836f2
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x266b98
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x28363a
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq (%rsp), %rdi
cmpq %r15, %rdi
jne 0x283685
jmp 0x283692
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x266b98
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x28366e
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq (%rsp), %rdi
cmpq %r15, %rdi
jne 0x2836c9
jmp 0x2836d6
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x283692
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x2836ae
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x1c0(%rsp), %rdi
callq 0x2716ba
jmp 0x2836f2
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x2836d6
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x2836f2
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x130(%rsp), %rdi
testq %rdi, %rdi
je 0x28370f
movq 0x140(%rsp), %rsi
subq %rdi, %rsi
callq 0x1200c0
movq %rbx, %rdi
callq 0x120330
nop