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

         if (!details::imatch(current_token().value,"[*]"))
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR098 - Expected token '[*]'",
               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(),
               "ERR099 - Expected '{' for call to [*] statement",
               exprtk_error_location));

            return error_node();
         }

         for ( ; ; )
         {
            if (!details::imatch("case",current_token().value))
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  current_token(),
                  "ERR100 - Expected a 'case' statement for multi-switch",
                  exprtk_error_location));

               return error_node();
            }

            next_token();

            expression_node_ptr condition = parse_expression();

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

            if (!token_is(token_t::e_colon))
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  current_token(),
                  "ERR101 - Expected ':' for case of [*] statement",
                  exprtk_error_location));

               return error_node();
            }

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

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

            if (!token_is(token_t::e_eof))
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  current_token(),
                  "ERR102 - Expected ';' at end of case for [*] statement",
                  exprtk_error_location));

               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);
            }

            if (token_is(token_t::e_rcrlbracket,prsrhlpr_t::e_hold))
            {
               break;
            }
         }

         if (!token_is(token_t::e_rcrlbracket))
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR103 - Expected '}' at end of [*] statement",
               exprtk_error_location));

            return error_node();
         }

         const expression_node_ptr result = expression_generator_.multi_switch_statement(arg_list);

         svd.delete_ptr = (0 == result);

         return result;
      }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x198, %rsp            # imm = 0x198
movq %rdi, %rbx
xorpd %xmm0, %xmm0
movapd %xmm0, 0x120(%rsp)
movq $0x0, 0x130(%rsp)
leaq 0x78(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x13a149(%rip), %rsi    # 0x3cbe13
leaq 0x13a145(%rip), %rdx    # 0x3cbe16
leaq 0x68(%rsp), %rdi
callq 0x1eabb8
leaq 0x78(%rbx), %rax
movq %rax, 0x40(%rsp)
movq 0x80(%rbx), %r14
cmpq 0x70(%rsp), %r14
jne 0x291d55
testq %r14, %r14
sete %bpl
je 0x291d60
movq 0x40(%rsp), %rax
movq (%rax), %r15
movq 0x68(%rsp), %r12
movsbl (%r15), %edi
callq 0x120450
movl %eax, %ebp
movsbl (%r12), %edi
callq 0x120450
cmpl %eax, %ebp
jne 0x291d59
movl $0x1, %ecx
movq %rcx, %r13
cmpq %rcx, %r14
je 0x291d4c
movsbl (%r15,%r13), %edi
callq 0x120450
movl %eax, %ebp
movsbl (%r12,%r13), %edi
callq 0x120450
leaq 0x1(%r13), %rcx
cmpl %eax, %ebp
je 0x291d26
cmpq %r14, %r13
setae %bpl
jmp 0x291d5b
xorl %ebp, %ebp
jmp 0x291d60
xorl %ebp, %ebp
leaq 0x78(%rsp), %r12
movq 0x68(%rsp), %rdi
cmpq %r12, %rdi
je 0x291d77
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x1200c0
testb %bpl, %bpl
je 0x291db7
movb $0x1, 0x180(%rsp)
movq %rbx, 0x188(%rsp)
leaq 0x120(%rsp), %rax
movq %rax, 0x190(%rsp)
movq 0x18(%rbx), %r14
cmpq %r14, 0x8(%rbx)
je 0x291eb7
leaq 0x30(%r14), %rax
movq %rax, 0x18(%rbx)
jmp 0x291ebb
leaq 0x58(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x12be4b(%rip), %rsi    # 0x3bdc12
leaq 0x12be61(%rip), %rdx    # 0x3bdc2f
leaq 0x48(%rsp), %rdi
callq 0x1eabb8
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
movl $0x6ac2, %ebp           # imm = 0x6AC2
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 0x291df8
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 0x291e74
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 0x291e59
leaq 0x12b678(%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 0x291f01
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x291f09
leaq 0x28(%rbx), %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq 0x40(%rsp), %rdi
callq 0x1205a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
movl 0x70(%rbx), %ebp
cmpl $0x7b, %ebp
jne 0x292a26
movq 0x18(%rbx), %r14
cmpq %r14, 0x8(%rbx)
je 0x2920b1
leaq 0x30(%r14), %rax
movq %rax, 0x18(%rbx)
jmp 0x2920b5
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 0x70(%rsp), %rdi
movl $0x0, -0x8(%rdi)
leaq 0x80(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
movq $-0x1, 0x10(%rbp)
leaq 0xb0(%rsp), %r12
movq %r12, -0x10(%r12)
movq %rcx, -0x8(%r12)
movb %cl, (%r12)
leaq 0xd0(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
leaq 0xf0(%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 0x40(%rsp), %rsi
callq 0x1205a0
leaq 0xa0(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x48(%rsp), %rsi
callq 0x1205a0
leaq 0xc0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1205a0
addq $0x308, %rbx            # imm = 0x308
leaq 0x68(%rsp), %rsi
movq %rbx, %rdi
callq 0x26b154
movq 0xe0(%rsp), %rdi
cmpq %r13, %rdi
je 0x292005
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xc0(%rsp), %rdi
cmpq %r14, %rdi
movq %r15, %rbx
je 0x292025
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa0(%rsp), %rdi
cmpq %r12, %rdi
je 0x292042
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x70(%rsp), %rdi
cmpq %rbp, %rdi
leaq 0x58(%rsp), %r15
je 0x292061
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x29207d
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq (%rsp), %rdi
cmpq %rbx, %rdi
je 0x292093
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0x2920aa
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x1200c0
xorl %ebx, %ebx
jmp 0x292cde
leaq 0x28(%rbx), %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq 0x40(%rsp), %rdi
callq 0x1205a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
cmpl $0x7b, %ebp
jne 0x292a26
leaq 0x28(%rbx), %rax
movq %rax, 0x150(%rsp)
leaq 0x58(%rsp), %rbp
leaq 0x68(%rsp), %rax
leaq 0x88(%rax), %rcx
movq %rcx, 0x148(%rsp)
addq $0x98, %rax
movq %rax, 0x158(%rsp)
leaq 0x308(%rbx), %rax
movq %rax, 0x140(%rsp)
movq %r12, 0x68(%rsp)
leaq 0x68(%rsp), %rdi
leaq 0x1249de(%rip), %rsi    # 0x3b6b0e
leaq 0x1249db(%rip), %rdx    # 0x3b6b12
callq 0x1eabb8
movq 0x70(%rsp), %r14
cmpq 0x80(%rbx), %r14
jne 0x2921b6
testq %r14, %r14
sete %r15b
je 0x2921c3
movq 0x68(%rsp), %r15
movq 0x40(%rsp), %rax
movq (%rax), %r12
movsbl (%r15), %edi
callq 0x120450
movl %eax, %r13d
movsbl (%r12), %edi
callq 0x120450
cmpl %eax, %r13d
jne 0x2921bb
movl $0x1, %ecx
movq %rcx, %rbp
cmpq %rcx, %r14
je 0x2921a8
movsbl (%r15,%rbp), %edi
callq 0x120450
movl %eax, %r13d
movsbl (%r12,%rbp), %edi
callq 0x120450
leaq 0x1(%rbp), %rcx
cmpl %eax, %r13d
je 0x292180
cmpq %r14, %rbp
setae %r15b
leaq 0x58(%rsp), %rbp
jmp 0x2921be
xorl %r15d, %r15d
jmp 0x2921c3
xorl %r15d, %r15d
leaq 0x78(%rsp), %r12
movq 0x68(%rsp), %rdi
cmpq %r12, %rdi
je 0x2921da
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x1200c0
testb %r15b, %r15b
je 0x292d3d
movq 0x18(%rbx), %rax
movq 0x150(%rsp), %r14
cmpq %rax, 0x8(%rbx)
je 0x292200
leaq 0x30(%rax), %rcx
movq %rcx, 0x18(%rbx)
movq %rax, %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq 0x40(%rsp), %rdi
callq 0x1205a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
movq %rbx, %rdi
xorl %esi, %esi
callq 0x26cc52
movq %rax, 0x110(%rsp)
movl $0x1, %r15d
testq %rax, %rax
je 0x2925e0
movl 0x70(%rbx), %r14d
cmpl $0x3a, %r14d
jne 0x2922ea
movq 0x18(%rbx), %rax
movq 0x150(%rsp), %r12
cmpq %rax, 0x8(%rbx)
je 0x29226b
leaq 0x30(%rax), %rcx
movq %rcx, 0x18(%rbx)
movq %rax, %r12
movl (%r12), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r12), %rsi
movq 0x40(%rsp), %rdi
callq 0x1205a0
movq 0x28(%r12), %rax
movq %rax, 0x98(%rbx)
cmpl $0x3a, %r14d
leaq 0x78(%rsp), %r12
jne 0x2922ea
movl 0x70(%rbx), %r15d
cmpl $0x7b, %r15d
sete %r14b
jne 0x2925ee
leaq 0x170(%rsp), %rax
movq %rax, 0x160(%rsp)
leaq 0x160(%rsp), %r13
movq %r13, %rdi
leaq 0x12b9fa(%rip), %rsi    # 0x3bdcc6
leaq 0x12ba0a(%rip), %rdx    # 0x3bdcdd
callq 0x1eabb8
movq %rbx, %rdi
movq %r13, %rsi
xorl %edx, %edx
callq 0x290b56
jmp 0x2925f8
movq %rbp, 0x48(%rsp)
leaq 0x48(%rsp), %rdi
leaq 0x12b99b(%rip), %rsi    # 0x3bdc96
leaq 0x12b9c3(%rip), %rdx    # 0x3bdcc5
callq 0x1eabb8
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq $0x0, 0x8(%rsp)
movb $0x0, 0x10(%rsp)
movl $0x6af0, %r14d          # imm = 0x6AF0
movslq %r14d, %rax
imulq $0x66666667, %rax, %r12 # imm = 0x66666667
movq %r12, %rcx
shrq $0x3f, %rcx
sarq $0x22, %r12
addl %ecx, %r12d
leal (%r12,%r12), %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %rsp, %rdi
callq 0x1205d0
addl $0x9, %r14d
cmpl $0x13, %r14d
movl %r12d, %r14d
jae 0x292324
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 0x2923a2
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 0x292387
movl $0xb, %r8d
movq %rsp, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x12b13d(%rip), %rcx    # 0x3bd4f3
callq 0x120110
leaq 0x30(%rsp), %r14
movq %r14, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2923e3
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x2923ec
movupd (%rcx), %xmm0
movupd %xmm0, (%r14)
leaq 0x78(%rsp), %r12
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
movl %ecx, 0x68(%rsp)
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
movq %rcx, 0x78(%rsp)
movb %cl, 0x80(%rsp)
movq $-0x1, 0x90(%rsp)
movl %ecx, 0x98(%rsp)
leaq 0xb0(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq %rcx, 0xa8(%rsp)
movb %cl, 0xb0(%rsp)
leaq 0xd0(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq %rcx, 0xc8(%rsp)
movb %cl, 0xd0(%rsp)
movq 0x148(%rsp), %rax
movq %rax, 0xe0(%rsp)
movq %rcx, 0xe8(%rsp)
movb %cl, 0xf0(%rsp)
movq 0x158(%rsp), %rax
xorpd %xmm0, %xmm0
movupd %xmm0, (%rax)
movl $0x1, 0x98(%rsp)
movl 0x70(%rbx), %eax
movl %eax, 0x68(%rsp)
leaq 0x70(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0x1205a0
movq 0x98(%rbx), %rax
movq %rax, 0x90(%rsp)
leaq 0xa0(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1205a0
leaq 0xc0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1205a0
movq 0x140(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x26b154
movq 0xe0(%rsp), %rdi
cmpq 0x148(%rsp), %rdi
je 0x29252b
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0x292550
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x292575
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x292597
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
cmpq %r14, %rdi
je 0x2925ae
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x2925c9
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x2925e0
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x1200c0
testl %r15d, %r15d
je 0x29211f
jmp 0x292d10
movq %rbx, %rdi
xorl %esi, %esi
callq 0x26cc52
movq %rax, %r13
cmpl $0x7b, %r15d
jne 0x292626
movq 0x160(%rsp), %rdi
leaq 0x170(%rsp), %rax
cmpq %rax, %rdi
je 0x292626
movq 0x170(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq %r13, 0x118(%rsp)
movl $0x1, %r15d
testq %r13, %r13
je 0x2925e0
movl 0x70(%rbx), %r14d
cmpl $0x6, %r14d
jne 0x292775
movq 0x18(%rbx), %rax
movq 0x150(%rsp), %r12
cmpq %rax, 0x8(%rbx)
je 0x292664
leaq 0x30(%rax), %rcx
movq %rcx, 0x18(%rbx)
movq %rax, %r12
movl (%r12), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r12), %rsi
movq 0x40(%rsp), %rdi
callq 0x1205a0
movq 0x28(%r12), %rax
movq %rax, 0x98(%rbx)
cmpl $0x6, %r14d
leaq 0x78(%rsp), %r12
jne 0x292775
movq 0x110(%rsp), %r13
testq %r13, %r13
je 0x292999
movq (%r13), %rax
movq %r13, %rdi
callq *0x28(%rax)
cmpl $0x2, %eax
je 0x2926c8
movq (%r13), %rax
movq %r13, %rdi
callq *0x28(%rax)
cmpl $0x13, %eax
jne 0x292999
movq 0x110(%rsp), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
ucomisd 0x11fb1a(%rip), %xmm0   # 0x3b21f8
jne 0x292999
jp 0x292999
movq 0x110(%rsp), %rdi
testq %rdi, %rdi
je 0x292727
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x292727
movq 0x110(%rsp), %rdi
testq %rdi, %rdi
je 0x29271a
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x292727
leaq 0x110(%rsp), %rdi
callq 0x1f1690
movq 0x118(%rsp), %rdi
testq %rdi, %rdi
je 0x292a13
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x11, %eax
je 0x292a13
movq 0x118(%rsp), %rdi
testq %rdi, %rdi
je 0x292763
movq (%rdi), %rax
callq *0x28(%rax)
cmpl $0x12, %eax
je 0x292a13
leaq 0x118(%rsp), %rdi
callq 0x1f1690
jmp 0x292a13
movq %rbp, 0x48(%rsp)
leaq 0x48(%rsp), %rdi
leaq 0x12b558(%rip), %rsi    # 0x3bdcde
leaq 0x12b587(%rip), %rdx    # 0x3bdd14
callq 0x1eabb8
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq $0x0, 0x8(%rsp)
movb $0x0, 0x10(%rsp)
movl $0x6b03, %r14d          # imm = 0x6B03
movslq %r14d, %rax
imulq $0x66666667, %rax, %r12 # imm = 0x66666667
movq %r12, %rcx
shrq $0x3f, %rcx
sarq $0x22, %r12
addl %ecx, %r12d
leal (%r12,%r12), %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %eax
addb $0x30, %al
movsbl %al, %esi
movq %rsp, %rdi
callq 0x1205d0
addl $0x9, %r14d
cmpl $0x13, %r14d
movl %r12d, %r14d
jae 0x2927af
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 0x29282d
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 0x292812
movl $0xb, %r8d
movq %rsp, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x12acb2(%rip), %rcx    # 0x3bd4f3
callq 0x120110
leaq 0x30(%rsp), %r14
movq %r14, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x29286e
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x292877
movupd (%rcx), %xmm0
movupd %xmm0, (%r14)
leaq 0x78(%rsp), %r12
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
xorl %ecx, %ecx
movq %rcx, 0x8(%rax)
movb %cl, 0x10(%rax)
movl %ecx, 0x68(%rsp)
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
movq %rcx, 0x78(%rsp)
movb %cl, 0x80(%rsp)
movq $-0x1, 0x90(%rsp)
movl %ecx, 0x98(%rsp)
leaq 0xb0(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq %rcx, 0xa8(%rsp)
movb %cl, 0xb0(%rsp)
leaq 0xd0(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq %rcx, 0xc8(%rsp)
movb %cl, 0xd0(%rsp)
movq 0x148(%rsp), %rax
movq %rax, 0xe0(%rsp)
movq %rcx, 0xe8(%rsp)
movb %cl, 0xf0(%rsp)
movq 0x158(%rsp), %rax
xorpd %xmm0, %xmm0
movupd %xmm0, (%rax)
movl $0x1, 0x98(%rsp)
movl 0x70(%rbx), %eax
movl %eax, 0x68(%rsp)
leaq 0x70(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0x1205a0
movq 0x98(%rbx), %rax
movq %rax, 0x90(%rsp)
leaq 0xa0(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1205a0
leaq 0xc0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1205a0
movq 0x140(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x26b154
jmp 0x292509
movq 0x128(%rsp), %rsi
cmpq 0x130(%rsp), %rsi
je 0x2929c1
movq 0x110(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x128(%rsp)
jmp 0x2929d6
leaq 0x120(%rsp), %rdi
leaq 0x110(%rsp), %rdx
callq 0x396592
movq 0x128(%rsp), %rsi
cmpq 0x130(%rsp), %rsi
je 0x2929fe
movq 0x118(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x128(%rsp)
jmp 0x292a13
leaq 0x120(%rsp), %rdi
leaq 0x118(%rsp), %rdx
callq 0x396592
xorl %r15d, %r15d
cmpl $0x7d, 0x70(%rbx)
sete %r15b
addl %r15d, %r15d
jmp 0x2925e0
leaq 0x58(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x12b1fa(%rip), %rsi    # 0x3bdc30
leaq 0x12b222(%rip), %rdx    # 0x3bdc5f
leaq 0x48(%rsp), %rdi
callq 0x1eabb8
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
movl $0x6ad1, %ebp           # imm = 0x6AD1
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 0x292a67
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 0x292ae3
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 0x292ac8
leaq 0x12aa09(%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 0x292b26
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x292b2e
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 0x70(%rsp), %rdi
movl $0x0, -0x8(%rdi)
leaq 0x80(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rcx, -0x8(%rbp)
movb %cl, (%rbp)
movq $-0x1, 0x10(%rbp)
leaq 0xb0(%rsp), %r12
movq %r12, -0x10(%r12)
movq %rcx, -0x8(%r12)
movb %cl, (%r12)
leaq 0xd0(%rsp), %r14
movq %r14, -0x10(%r14)
movq %rcx, -0x8(%r14)
movb %cl, (%r14)
leaq 0xf0(%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 0x40(%rsp), %rsi
callq 0x1205a0
leaq 0xa0(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x48(%rsp), %rsi
callq 0x1205a0
leaq 0xc0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1205a0
addq $0x308, %rbx            # imm = 0x308
leaq 0x68(%rsp), %rsi
movq %rbx, %rdi
callq 0x26b154
movq 0xe0(%rsp), %rdi
cmpq %r13, %rdi
je 0x292c2a
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xc0(%rsp), %rdi
cmpq %r14, %rdi
movq %r15, %rbx
je 0x292c4a
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa0(%rsp), %rdi
cmpq %r12, %rdi
je 0x292c67
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x70(%rsp), %rdi
cmpq %rbp, %rdi
leaq 0x58(%rsp), %r15
je 0x292c86
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x292ca2
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq (%rsp), %rdi
cmpq %rbx, %rdi
je 0x292cb8
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0x292ccf
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x1200c0
xorl %ebx, %ebx
leaq 0x180(%rsp), %rdi
callq 0x2716ba
movq 0x120(%rsp), %rdi
testq %rdi, %rdi
je 0x292cfb
movq 0x130(%rsp), %rsi
subq %rdi, %rsi
callq 0x1200c0
movq %rbx, %rax
addq $0x198, %rsp            # imm = 0x198
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x2, %r15d
jne 0x292ccf
movl 0x70(%rbx), %ebp
cmpl $0x7d, %ebp
jne 0x292f6d
movq 0x18(%rbx), %r14
cmpq %r14, 0x8(%rbx)
je 0x292f1b
leaq 0x30(%r14), %rax
movq %rax, 0x18(%rbx)
jmp 0x292f1f
leaq 0x48(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x12af14(%rip), %rsi    # 0x3bdc60
leaq 0x12af42(%rip), %rdx    # 0x3bdc95
callq 0x1eabb8
movq %rsp, %r15
leaq 0x10(%rsp), %rax
movq %rax, (%r15)
movq $0x0, 0x8(%r15)
movb $0x0, 0x10(%r15)
movl $0x6ade, %ebp           # imm = 0x6ADE
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 0x292d75
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 0x292df1
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 0x292dd6
leaq 0x12a6fb(%rip), %rcx    # 0x3bd4f3
movq %rsp, %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
leaq 0x58(%rsp), %r15
callq 0x120110
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x292e37
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x292e3f
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 0x70(%rsp), %rdi
movl $0x0, -0x8(%rdi)
leaq 0x80(%rsp), %rax
movq %rax, (%rdi)
movq %rcx, 0x8(%rdi)
movb %cl, 0x10(%rdi)
movq $-0x1, 0x20(%rdi)
leaq 0xb0(%rsp), %rax
movq %rax, 0x30(%rdi)
movq %rcx, 0x38(%rdi)
movb %cl, 0x40(%rdi)
leaq 0xd0(%rsp), %rax
movq %rax, 0x50(%rdi)
movq %rcx, 0x58(%rdi)
movb %cl, 0x60(%rdi)
leaq 0xf0(%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 0x40(%rsp), %rsi
callq 0x1205a0
leaq 0xa0(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x48(%rsp), %rsi
callq 0x1205a0
leaq 0xc0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1205a0
leaq 0x68(%rsp), %rsi
movq 0x140(%rsp), %rdi
callq 0x26b154
jmp 0x29314b
leaq 0x28(%rbx), %r14
movl (%r14), %eax
movl %eax, 0x70(%rbx)
leaq 0x8(%r14), %rsi
movq 0x40(%rsp), %rdi
callq 0x1205a0
movq 0x28(%r14), %rax
movq %rax, 0x98(%rbx)
cmpl $0x7d, %ebp
jne 0x292f6d
addq $0x220, %rbx            # imm = 0x220
leaq 0x120(%rsp), %rsi
movq %rbx, %rdi
callq 0x294360
movq %rax, %rbx
testq %rax, %rax
sete 0x180(%rsp)
jmp 0x292cd1
leaq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
movq %rax, (%rdi)
leaq 0x12ad94(%rip), %rsi    # 0x3bdd15
leaq 0x12adba(%rip), %rdx    # 0x3bdd42
callq 0x1eabb8
movq %rsp, %r15
leaq 0x10(%rsp), %rax
movq %rax, (%r15)
movq $0x0, 0x8(%r15)
movb $0x0, 0x10(%r15)
movl $0x6b20, %ebp           # imm = 0x6B20
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 0x292faa
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 0x293026
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 0x29300b
leaq 0x12a4c6(%rip), %rcx    # 0x3bd4f3
movq %rsp, %rdi
movl $0xb, %r8d
xorl %esi, %esi
xorl %edx, %edx
leaq 0x58(%rsp), %r15
callq 0x120110
leaq 0x30(%rsp), %rsi
movq %rsi, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x29306c
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x293074
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 0x70(%rsp), %rdi
movl $0x0, -0x8(%rdi)
leaq 0x80(%rsp), %rax
movq %rax, (%rdi)
movq %rcx, 0x8(%rdi)
movb %cl, 0x10(%rdi)
movq $-0x1, 0x20(%rdi)
leaq 0xb0(%rsp), %rax
movq %rax, 0x30(%rdi)
movq %rcx, 0x38(%rdi)
movb %cl, 0x40(%rdi)
leaq 0xd0(%rsp), %rax
movq %rax, 0x50(%rdi)
movq %rcx, 0x58(%rdi)
movb %cl, 0x60(%rdi)
leaq 0xf0(%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 0x40(%rsp), %rsi
callq 0x1205a0
leaq 0xa0(%rsp), %rdi
movq 0x98(%rbx), %rax
movq %rax, -0x10(%rdi)
leaq 0x48(%rsp), %rsi
callq 0x1205a0
leaq 0xc0(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x1205a0
leaq 0x68(%rsp), %rsi
movq 0x140(%rsp), %rdi
callq 0x26b154
movq 0xe0(%rsp), %rdi
cmpq %r14, %rdi
je 0x293168
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
leaq 0x30(%rsp), %rbx
je 0x293192
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x2931b7
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x2931d9
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x20(%rsp), %rdi
cmpq %rbx, %rdi
je 0x2931f0
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
jne 0x292cab
jmp 0x292cb8
jmp 0x293319
jmp 0x293319
jmp 0x293355
jmp 0x2933c7
jmp 0x293319
jmp 0x293355
jmp 0x2933c7
jmp 0x293319
jmp 0x293319
jmp 0x293319
jmp 0x293355
jmp 0x293355
jmp 0x2933c7
jmp 0x293319
movq %rax, %rbx
movb $0x1, %r14b
jmp 0x29328b
jmp 0x293355
movq %rax, %rbx
cmpl $0x7b, %r15d
jne 0x29328b
movq 0x160(%rsp), %rdi
movb $0x1, %r14b
leaq 0x170(%rsp), %rax
cmpq %rax, %rdi
je 0x29328b
movq 0x170(%rsp), %rsi
incq %rsi
callq 0x1200c0
testb %r14b, %r14b
jmp 0x293401
jmp 0x293319
jmp 0x293355
jmp 0x2932d5
movq %r12, %r15
movq %rax, %rbx
jmp 0x2932fe
jmp 0x293319
jmp 0x293319
jmp 0x293321
movq %r12, %r15
movq %rax, %rbx
jmp 0x29334a
jmp 0x293319
jmp 0x2932cd
jmp 0x293355
jmp 0x293319
jmp 0x2933c7
jmp 0x2933c7
movq %rax, %rbx
jmp 0x29340e
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x266b98
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x2932fe
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq (%rsp), %rdi
cmpq %r15, %rdi
jne 0x2933d8
jmp 0x2933e5
jmp 0x293319
jmp 0x293319
jmp 0x2933c7
movq %rax, %rbx
jmp 0x293401
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x266b98
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x29334a
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq (%rsp), %rdi
cmpq %r15, %rdi
jne 0x29339c
jmp 0x2933a9
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x266b98
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x2933ca
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x2933ca
jmp 0x2933c7
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r12, %rdi
jne 0x2933d8
jmp 0x2933e5
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x2933a9
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x29340e
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x29340e
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x2933e5
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x293401
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x180(%rsp), %rdi
callq 0x2716ba
movq 0x120(%rsp), %rdi
testq %rdi, %rdi
je 0x29342b
movq 0x130(%rsp), %rsi
subq %rdi, %rsi
callq 0x1200c0
movq %rbx, %rdi
callq 0x120330
nop