// File: ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::parser<double>::parse_range(exprtk::details::range_pack<double>&, bool)
inline bool parse_range(range_t& rp, const bool skip_lsqr = false)
      {
         // Examples of valid ranges:
         // 1. [1:5]     -> [1,5)
         // 2. [ :5]     -> [0,5)
         // 3. [1: ]     -> [1,end)
         // 4. [x:y]     -> [x,y) where x <= y
         // 5. [x+1:y/2] -> [x+1,y/2) where x+1 <= y/2
         // 6. [ :y]     -> [0,y) where 0 <= y
         // 7. [x: ]     -> [x,end) where x <= end

         rp.clear();

         if (!skip_lsqr && !token_is(token_t::e_lsqrbracket))
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR113 - Expected '[' for start of range",
               exprtk_error_location));

            return false;
         }

         if (token_is(token_t::e_colon))
         {
            rp.n0_c.first  = true;
            rp.n0_c.second = 0;
            rp.cache.first = 0;
         }
         else
         {
            expression_node_ptr r0 = parse_expression();

            if (0 == r0)
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  current_token(),
                  "ERR114 - Failed parse begin section of range",
                  exprtk_error_location));

               return false;
            }
            else if (is_constant_node(r0))
            {
               const T r0_value = r0->value();

               if (r0_value >= T(0))
               {
                  rp.n0_c.first  = true;
                  rp.n0_c.second = static_cast<std::size_t>(details::numeric::to_int64(r0_value));
                  rp.cache.first = rp.n0_c.second;
               }

               free_node(node_allocator_, r0);

               if (r0_value < T(0))
               {
                  set_error(make_error(
                     parser_error::e_syntax,
                     current_token(),
                     "ERR115 - Range lower bound less than zero! Constraint: r0 >= 0",
                     exprtk_error_location));

                  return false;
               }
            }
            else
            {
               rp.n0_e.first  = true;
               rp.n0_e.second = r0;
            }

            if (!token_is(token_t::e_colon))
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  current_token(),
                  "ERR116 - Expected ':' for break  in range",
                  exprtk_error_location));

               rp.free();

               return false;
            }
         }

         if (token_is(token_t::e_rsqrbracket))
         {
            rp.n1_c.first  = true;
            rp.n1_c.second = std::numeric_limits<std::size_t>::max();
         }
         else
         {
            expression_node_ptr r1 = parse_expression();

            if (0 == r1)
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  current_token(),
                  "ERR117 - Failed parse end section of range",
                  exprtk_error_location));

               rp.free();

               return false;
            }
            else if (is_constant_node(r1))
            {
               const T r1_value = r1->value();

               if (r1_value >= T(0))
               {
                  rp.n1_c.first   = true;
                  rp.n1_c.second  = static_cast<std::size_t>(details::numeric::to_int64(r1_value));
                  rp.cache.second = rp.n1_c.second;
               }

               free_node(node_allocator_, r1);

               if (r1_value < T(0))
               {
                  set_error(make_error(
                     parser_error::e_syntax,
                     current_token(),
                     "ERR118 - Range upper bound less than zero! Constraint: r1 >= 0",
                     exprtk_error_location));

                  rp.free();

                  return false;
               }
            }
            else
            {
               rp.n1_e.first  = true;
               rp.n1_e.second = r1;
            }

            if (!token_is(token_t::e_rsqrbracket))
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  current_token(),
                  "ERR119 - Expected ']' for start of range",
                  exprtk_error_location));

               rp.free();

               return false;
            }
         }

         if (rp.const_range())
         {
            std::size_t r0 = 0;
            std::size_t r1 = 0;

            bool rp_result = false;

            try
            {
               rp_result = rp(r0, r1);
            }
            catch (std::runtime_error&)
            {}

            if (!rp_result || (r0 > r1))
            {
               set_error(make_error(
                  parser_error::e_syntax,
                  current_token(),
                  "ERR120 - Invalid range, Constraint: r0 <= r1",
                  exprtk_error_location));

               return false;
            }
         }

         return true;
      }

// Assembly:
subq $0x9b8, %rsp            # imm = 0x9B8
movb %dl, %al
movq %rdi, 0x9a8(%rsp)
movq %rsi, 0x9a0(%rsp)
andb $0x1, %al
movb %al, 0x99f(%rsp)
movq 0x9a8(%rsp), %rax
movq %rax, 0x90(%rsp)
movq 0x9a0(%rsp), %rdi
callq 0x443c00
xorl %eax, %eax
testb $0x1, 0x99f(%rsp)
movb %al, 0x9f(%rsp)
jne 0x52df20
movq 0x90(%rsp), %rdi
movl $0x5b, 0x998(%rsp)
leaq 0x998(%rsp), %rsi
movl $0x1, %edx
callq 0x37d640
xorb $-0x1, %al
movb %al, 0x9f(%rsp)
movb 0x9f(%rsp), %al
testb $0x1, %al
jne 0x52df30
jmp 0x52e0f0
movq 0x90(%rsp), %rdi
callq 0x373e90
movq %rax, 0x80(%rsp)
leaq 0x8cf(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0x11b6f0
movq 0x88(%rsp), %rdx
leaq 0x7c719(%rip), %rsi     # 0x5aa682
leaq 0x8d0(%rsp), %rdi
callq 0x134520
jmp 0x52df78
leaq 0x878(%rsp), %rdi
movl $0x6cd0, %esi           # imm = 0x6CD0
callq 0x371f20
jmp 0x52df8c
leaq 0x78f80(%rip), %rsi     # 0x5a6f13
leaq 0x898(%rsp), %rdi
leaq 0x878(%rsp), %rdx
callq 0x29dd70
jmp 0x52dfaa
movq 0x80(%rsp), %rdx
leaq 0x8f0(%rsp), %rdi
movl $0x1, %esi
leaq 0x8d0(%rsp), %rcx
leaq 0x898(%rsp), %r8
callq 0x3741e0
jmp 0x52dfd6
movq 0x90(%rsp), %rdi
leaq 0x8f0(%rsp), %rsi
callq 0x371e40
jmp 0x52dfed
leaq 0x8f0(%rsp), %rdi
callq 0x371330
leaq 0x898(%rsp), %rdi
callq 0x11b838
leaq 0x878(%rsp), %rdi
callq 0x11b838
leaq 0x8d0(%rsp), %rdi
callq 0x11b838
leaq 0x8cf(%rsp), %rdi
callq 0x11b820
movb $0x0, 0x9b7(%rsp)
jmp 0x52f0ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e0de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e0d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e0c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e0b7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
leaq 0x8f0(%rsp), %rdi
callq 0x371330
leaq 0x898(%rsp), %rdi
callq 0x11b838
leaq 0x878(%rsp), %rdi
callq 0x11b838
leaq 0x8d0(%rsp), %rdi
callq 0x11b838
leaq 0x8cf(%rsp), %rdi
callq 0x11b820
jmp 0x52f110
movq 0x90(%rsp), %rdi
movl $0x3a, 0x874(%rsp)
leaq 0x874(%rsp), %rsi
movl $0x1, %edx
callq 0x37d640
testb $0x1, %al
jne 0x52e11b
jmp 0x52e14c
movq 0x9a0(%rsp), %rax
movb $0x1, 0x20(%rax)
movq 0x9a0(%rsp), %rax
movq $0x0, 0x28(%rax)
movq 0x9a0(%rsp), %rax
movq $0x0, 0x40(%rax)
jmp 0x52e79f
movq 0x90(%rsp), %rdi
xorl %esi, %esi
callq 0x379940
movq %rax, 0x868(%rsp)
xorl %eax, %eax
cmpq 0x868(%rsp), %rax
jne 0x52e327
movq 0x90(%rsp), %rdi
callq 0x373e90
movq %rax, 0x70(%rsp)
leaq 0x79f(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x11b6f0
movq 0x78(%rsp), %rdx
leaq 0x7c508(%rip), %rsi     # 0x5aa6ab
leaq 0x7a0(%rsp), %rdi
callq 0x134520
jmp 0x52e1b2
leaq 0x758(%rsp), %rdi
movl $0x6ce5, %esi           # imm = 0x6CE5
callq 0x371f20
jmp 0x52e1c6
leaq 0x78d46(%rip), %rsi     # 0x5a6f13
leaq 0x778(%rsp), %rdi
leaq 0x758(%rsp), %rdx
callq 0x29dd70
jmp 0x52e1e4
movq 0x70(%rsp), %rdx
leaq 0x7c0(%rsp), %rdi
movl $0x1, %esi
leaq 0x7a0(%rsp), %rcx
leaq 0x778(%rsp), %r8
callq 0x3741e0
jmp 0x52e20d
movq 0x90(%rsp), %rdi
leaq 0x7c0(%rsp), %rsi
callq 0x371e40
jmp 0x52e224
leaq 0x7c0(%rsp), %rdi
callq 0x371330
leaq 0x778(%rsp), %rdi
callq 0x11b838
leaq 0x758(%rsp), %rdi
callq 0x11b838
leaq 0x7a0(%rsp), %rdi
callq 0x11b838
leaq 0x79f(%rsp), %rdi
callq 0x11b820
movb $0x0, 0x9b7(%rsp)
jmp 0x52f0ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e315
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e308
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e2fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e2ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
leaq 0x7c0(%rsp), %rdi
callq 0x371330
leaq 0x778(%rsp), %rdi
callq 0x11b838
leaq 0x758(%rsp), %rdi
callq 0x11b838
leaq 0x7a0(%rsp), %rdi
callq 0x11b838
leaq 0x79f(%rsp), %rdi
callq 0x11b820
jmp 0x52f110
movq 0x868(%rsp), %rdi
callq 0x39cbf0
testb $0x1, %al
jne 0x52e33d
jmp 0x52e58b
movq 0x868(%rsp), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movsd %xmm0, 0x750(%rsp)
movsd 0x750(%rsp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x52e3a7
movq 0x9a0(%rsp), %rax
movb $0x1, 0x20(%rax)
movsd 0x750(%rsp), %xmm0
callq 0x3eed30
movq %rax, %rcx
movq 0x9a0(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x9a0(%rsp), %rax
movq 0x28(%rax), %rcx
movq 0x9a0(%rsp), %rax
movq %rcx, 0x40(%rax)
movq 0x90(%rsp), %rdi
addq $0x290, %rdi            # imm = 0x290
leaq 0x868(%rsp), %rsi
callq 0x284bd0
xorps %xmm0, %xmm0
ucomisd 0x750(%rsp), %xmm0
jbe 0x52e589
movq 0x90(%rsp), %rdi
callq 0x373e90
movq %rax, 0x60(%rsp)
leaq 0x687(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0x11b6f0
movq 0x68(%rsp), %rdx
leaq 0x7c2d3(%rip), %rsi     # 0x5aa6d8
leaq 0x688(%rsp), %rdi
callq 0x134520
jmp 0x52e414
leaq 0x640(%rsp), %rdi
movl $0x6cfc, %esi           # imm = 0x6CFC
callq 0x371f20
jmp 0x52e428
leaq 0x78ae4(%rip), %rsi     # 0x5a6f13
leaq 0x660(%rsp), %rdi
leaq 0x640(%rsp), %rdx
callq 0x29dd70
jmp 0x52e446
movq 0x60(%rsp), %rdx
leaq 0x6a8(%rsp), %rdi
movl $0x1, %esi
leaq 0x688(%rsp), %rcx
leaq 0x660(%rsp), %r8
callq 0x3741e0
jmp 0x52e46f
movq 0x90(%rsp), %rdi
leaq 0x6a8(%rsp), %rsi
callq 0x371e40
jmp 0x52e486
leaq 0x6a8(%rsp), %rdi
callq 0x371330
leaq 0x660(%rsp), %rdi
callq 0x11b838
leaq 0x640(%rsp), %rdi
callq 0x11b838
leaq 0x688(%rsp), %rdi
callq 0x11b838
leaq 0x687(%rsp), %rdi
callq 0x11b820
movb $0x0, 0x9b7(%rsp)
jmp 0x52f0ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e577
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e56a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e55d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e550
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
leaq 0x6a8(%rsp), %rdi
callq 0x371330
leaq 0x660(%rsp), %rdi
callq 0x11b838
leaq 0x640(%rsp), %rdi
callq 0x11b838
leaq 0x688(%rsp), %rdi
callq 0x11b838
leaq 0x687(%rsp), %rdi
callq 0x11b820
jmp 0x52f110
jmp 0x52e5aa
movq 0x9a0(%rsp), %rax
movb $0x1, (%rax)
movq 0x868(%rsp), %rcx
movq 0x9a0(%rsp), %rax
movq %rcx, 0x8(%rax)
jmp 0x52e5ac
movq 0x90(%rsp), %rdi
movl $0x3a, 0x63c(%rsp)
leaq 0x63c(%rsp), %rsi
movl $0x1, %edx
callq 0x37d640
xorb $-0x1, %al
testb $0x1, %al
jne 0x52e5dc
jmp 0x52e79d
movq 0x90(%rsp), %rdi
callq 0x373e90
movq %rax, 0x50(%rsp)
leaq 0x56f(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x11b6f0
movq 0x58(%rsp), %rdx
leaq 0x7c10b(%rip), %rsi     # 0x5aa717
leaq 0x570(%rsp), %rdi
callq 0x134520
jmp 0x52e61b
leaq 0x528(%rsp), %rdi
movl $0x6d0d, %esi           # imm = 0x6D0D
callq 0x371f20
jmp 0x52e62f
leaq 0x788dd(%rip), %rsi     # 0x5a6f13
leaq 0x548(%rsp), %rdi
leaq 0x528(%rsp), %rdx
callq 0x29dd70
jmp 0x52e64d
movq 0x50(%rsp), %rdx
leaq 0x590(%rsp), %rdi
movl $0x1, %esi
leaq 0x570(%rsp), %rcx
leaq 0x548(%rsp), %r8
callq 0x3741e0
jmp 0x52e676
movq 0x90(%rsp), %rdi
leaq 0x590(%rsp), %rsi
callq 0x371e40
jmp 0x52e68d
leaq 0x590(%rsp), %rdi
callq 0x371330
leaq 0x548(%rsp), %rdi
callq 0x11b838
leaq 0x528(%rsp), %rdi
callq 0x11b838
leaq 0x570(%rsp), %rdi
callq 0x11b838
leaq 0x56f(%rsp), %rdi
callq 0x11b820
movq 0x9a0(%rsp), %rdi
callq 0x445180
movb $0x0, 0x9b7(%rsp)
jmp 0x52f0ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e78b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e77e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e771
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e764
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
leaq 0x590(%rsp), %rdi
callq 0x371330
leaq 0x548(%rsp), %rdi
callq 0x11b838
leaq 0x528(%rsp), %rdi
callq 0x11b838
leaq 0x570(%rsp), %rdi
callq 0x11b838
leaq 0x56f(%rsp), %rdi
callq 0x11b820
jmp 0x52f110
jmp 0x52e79f
movq 0x90(%rsp), %rdi
movl $0x5d, 0x524(%rsp)
leaq 0x524(%rsp), %rsi
movl $0x1, %edx
callq 0x37d640
testb $0x1, %al
jne 0x52e7ca
jmp 0x52e7ef
movq 0x9a0(%rsp), %rax
movb $0x1, 0x30(%rax)
callq 0x237af0
movq %rax, %rcx
movq 0x9a0(%rsp), %rax
movq %rcx, 0x38(%rax)
jmp 0x52ee5d
movq 0x90(%rsp), %rdi
xorl %esi, %esi
callq 0x379940
movq %rax, 0x518(%rsp)
xorl %eax, %eax
cmpq 0x518(%rsp), %rax
jne 0x52e9d7
movq 0x90(%rsp), %rdi
callq 0x373e90
movq %rax, 0x40(%rsp)
leaq 0x44f(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x11b6f0
movq 0x48(%rsp), %rdx
leaq 0x7befb(%rip), %rsi     # 0x5aa741
leaq 0x450(%rsp), %rdi
callq 0x134520
jmp 0x52e855
leaq 0x408(%rsp), %rdi
movl $0x6d24, %esi           # imm = 0x6D24
callq 0x371f20
jmp 0x52e869
leaq 0x786a3(%rip), %rsi     # 0x5a6f13
leaq 0x428(%rsp), %rdi
leaq 0x408(%rsp), %rdx
callq 0x29dd70
jmp 0x52e887
movq 0x40(%rsp), %rdx
leaq 0x470(%rsp), %rdi
movl $0x1, %esi
leaq 0x450(%rsp), %rcx
leaq 0x428(%rsp), %r8
callq 0x3741e0
jmp 0x52e8b0
movq 0x90(%rsp), %rdi
leaq 0x470(%rsp), %rsi
callq 0x371e40
jmp 0x52e8c7
leaq 0x470(%rsp), %rdi
callq 0x371330
leaq 0x428(%rsp), %rdi
callq 0x11b838
leaq 0x408(%rsp), %rdi
callq 0x11b838
leaq 0x450(%rsp), %rdi
callq 0x11b838
leaq 0x44f(%rsp), %rdi
callq 0x11b820
movq 0x9a0(%rsp), %rdi
callq 0x445180
movb $0x0, 0x9b7(%rsp)
jmp 0x52f0ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e9c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e9b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e9ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52e99e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
leaq 0x470(%rsp), %rdi
callq 0x371330
leaq 0x428(%rsp), %rdi
callq 0x11b838
leaq 0x408(%rsp), %rdi
callq 0x11b838
leaq 0x450(%rsp), %rdi
callq 0x11b838
leaq 0x44f(%rsp), %rdi
callq 0x11b820
jmp 0x52f110
movq 0x518(%rsp), %rdi
callq 0x39cbf0
testb $0x1, %al
jne 0x52e9ed
jmp 0x52ec48
movq 0x518(%rsp), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movsd %xmm0, 0x400(%rsp)
movsd 0x400(%rsp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x52ea57
movq 0x9a0(%rsp), %rax
movb $0x1, 0x30(%rax)
movsd 0x400(%rsp), %xmm0
callq 0x3eed30
movq %rax, %rcx
movq 0x9a0(%rsp), %rax
movq %rcx, 0x38(%rax)
movq 0x9a0(%rsp), %rax
movq 0x38(%rax), %rcx
movq 0x9a0(%rsp), %rax
movq %rcx, 0x48(%rax)
movq 0x90(%rsp), %rdi
addq $0x290, %rdi            # imm = 0x290
leaq 0x518(%rsp), %rsi
callq 0x284bd0
xorps %xmm0, %xmm0
ucomisd 0x400(%rsp), %xmm0
jbe 0x52ec46
movq 0x90(%rsp), %rdi
callq 0x373e90
movq %rax, 0x30(%rsp)
leaq 0x337(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x11b6f0
movq 0x38(%rsp), %rdx
leaq 0x7bcb7(%rip), %rsi     # 0x5aa76c
leaq 0x338(%rsp), %rdi
callq 0x134520
jmp 0x52eac4
leaq 0x2f0(%rsp), %rdi
movl $0x6d3d, %esi           # imm = 0x6D3D
callq 0x371f20
jmp 0x52ead8
leaq 0x78434(%rip), %rsi     # 0x5a6f13
leaq 0x310(%rsp), %rdi
leaq 0x2f0(%rsp), %rdx
callq 0x29dd70
jmp 0x52eaf6
movq 0x30(%rsp), %rdx
leaq 0x358(%rsp), %rdi
movl $0x1, %esi
leaq 0x338(%rsp), %rcx
leaq 0x310(%rsp), %r8
callq 0x3741e0
jmp 0x52eb1f
movq 0x90(%rsp), %rdi
leaq 0x358(%rsp), %rsi
callq 0x371e40
jmp 0x52eb36
leaq 0x358(%rsp), %rdi
callq 0x371330
leaq 0x310(%rsp), %rdi
callq 0x11b838
leaq 0x2f0(%rsp), %rdi
callq 0x11b838
leaq 0x338(%rsp), %rdi
callq 0x11b838
leaq 0x337(%rsp), %rdi
callq 0x11b820
movq 0x9a0(%rsp), %rdi
callq 0x445180
movb $0x0, 0x9b7(%rsp)
jmp 0x52f0ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52ec34
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52ec27
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52ec1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52ec0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
leaq 0x358(%rsp), %rdi
callq 0x371330
leaq 0x310(%rsp), %rdi
callq 0x11b838
leaq 0x2f0(%rsp), %rdi
callq 0x11b838
leaq 0x338(%rsp), %rdi
callq 0x11b838
leaq 0x337(%rsp), %rdi
callq 0x11b820
jmp 0x52f110
jmp 0x52ec68
movq 0x9a0(%rsp), %rax
movb $0x1, 0x10(%rax)
movq 0x518(%rsp), %rcx
movq 0x9a0(%rsp), %rax
movq %rcx, 0x18(%rax)
jmp 0x52ec6a
movq 0x90(%rsp), %rdi
movl $0x5d, 0x2ec(%rsp)
leaq 0x2ec(%rsp), %rsi
movl $0x1, %edx
callq 0x37d640
xorb $-0x1, %al
testb $0x1, %al
jne 0x52ec9a
jmp 0x52ee5b
movq 0x90(%rsp), %rdi
callq 0x373e90
movq %rax, 0x20(%rsp)
leaq 0x21f(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x11b6f0
movq 0x28(%rsp), %rdx
leaq 0x7bae1(%rip), %rsi     # 0x5aa7ab
leaq 0x220(%rsp), %rdi
callq 0x134520
jmp 0x52ecd9
leaq 0x1d8(%rsp), %rdi
movl $0x6d50, %esi           # imm = 0x6D50
callq 0x371f20
jmp 0x52eced
leaq 0x7821f(%rip), %rsi     # 0x5a6f13
leaq 0x1f8(%rsp), %rdi
leaq 0x1d8(%rsp), %rdx
callq 0x29dd70
jmp 0x52ed0b
movq 0x20(%rsp), %rdx
leaq 0x240(%rsp), %rdi
movl $0x1, %esi
leaq 0x220(%rsp), %rcx
leaq 0x1f8(%rsp), %r8
callq 0x3741e0
jmp 0x52ed34
movq 0x90(%rsp), %rdi
leaq 0x240(%rsp), %rsi
callq 0x371e40
jmp 0x52ed4b
leaq 0x240(%rsp), %rdi
callq 0x371330
leaq 0x1f8(%rsp), %rdi
callq 0x11b838
leaq 0x1d8(%rsp), %rdi
callq 0x11b838
leaq 0x220(%rsp), %rdi
callq 0x11b838
leaq 0x21f(%rsp), %rdi
callq 0x11b820
movq 0x9a0(%rsp), %rdi
callq 0x445180
movb $0x0, 0x9b7(%rsp)
jmp 0x52f0ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52ee49
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52ee3c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52ee2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52ee22
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
leaq 0x240(%rsp), %rdi
callq 0x371330
leaq 0x1f8(%rsp), %rdi
callq 0x11b838
leaq 0x1d8(%rsp), %rdi
callq 0x11b838
leaq 0x220(%rsp), %rdi
callq 0x11b838
leaq 0x21f(%rsp), %rdi
callq 0x11b820
jmp 0x52f110
jmp 0x52ee5d
movq 0x9a0(%rsp), %rdi
callq 0x521c60
testb $0x1, %al
jne 0x52ee73
jmp 0x52f0f7
movq $0x0, 0x1d0(%rsp)
movq $0x0, 0x1c8(%rsp)
movb $0x0, 0x1c7(%rsp)
movq 0x9a0(%rsp), %rax
movq %rax, 0x10(%rsp)
callq 0x237af0
movq 0x10(%rsp), %rdi
movq %rax, 0x1b8(%rsp)
leaq 0x1d0(%rsp), %rsi
leaq 0x1c8(%rsp), %rdx
leaq 0x1b8(%rsp), %rcx
callq 0x3eebb0
movb %al, 0x1f(%rsp)
jmp 0x52eed5
movb 0x1f(%rsp), %al
andb $0x1, %al
movb %al, 0x1c7(%rsp)
jmp 0x52ef26
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
movl 0x8bc(%rsp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x52f110
movq 0x8c0(%rsp), %rdi
callq 0x11b0a0
movq %rax, 0x1b0(%rsp)
callq 0x11b560
testb $0x1, 0x1c7(%rsp)
je 0x52ef46
movq 0x1d0(%rsp), %rax
cmpq 0x1c8(%rsp), %rax
jbe 0x52f0f5
movq 0x90(%rsp), %rdi
callq 0x373e90
movq %rax, (%rsp)
leaq 0xe7(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x11b6f0
movq 0x8(%rsp), %rdx
leaq 0x7b85f(%rip), %rsi     # 0x5aa7d4
leaq 0xe8(%rsp), %rdi
callq 0x134520
jmp 0x52ef84
leaq 0xa0(%rsp), %rdi
movl $0x6d6c, %esi           # imm = 0x6D6C
callq 0x371f20
jmp 0x52ef98
leaq 0x77f74(%rip), %rsi     # 0x5a6f13
leaq 0xc0(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0x29dd70
jmp 0x52efb6
movq (%rsp), %rdx
leaq 0x108(%rsp), %rdi
movl $0x1, %esi
leaq 0xe8(%rsp), %rcx
leaq 0xc0(%rsp), %r8
callq 0x3741e0
jmp 0x52efde
movq 0x90(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x371e40
jmp 0x52eff5
leaq 0x108(%rsp), %rdi
callq 0x371330
leaq 0xc0(%rsp), %rdi
callq 0x11b838
leaq 0xa0(%rsp), %rdi
callq 0x11b838
leaq 0xe8(%rsp), %rdi
callq 0x11b838
leaq 0xe7(%rsp), %rdi
callq 0x11b820
movb $0x0, 0x9b7(%rsp)
jmp 0x52f0ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52f0e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52f0d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52f0cc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
jmp 0x52f0bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x8c0(%rsp)
movl %eax, 0x8bc(%rsp)
leaq 0x108(%rsp), %rdi
callq 0x371330
leaq 0xc0(%rsp), %rdi
callq 0x11b838
leaq 0xa0(%rsp), %rdi
callq 0x11b838
leaq 0xe8(%rsp), %rdi
callq 0x11b838
leaq 0xe7(%rsp), %rdi
callq 0x11b820
jmp 0x52f110
jmp 0x52f0f7
movb $0x1, 0x9b7(%rsp)
movb 0x9b7(%rsp), %al
andb $0x1, %al
addq $0x9b8, %rsp            # imm = 0x9B8
retq
movq 0x8c0(%rsp), %rdi
callq 0x11b4e0
nopl (%rax)