// File: 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:
subq $0xe58, %rsp            # imm = 0xE58
movq %rdi, 0xe48(%rsp)
movq 0xe48(%rsp), %rax
movq %rax, 0x180(%rsp)
testb $0x1, 0x3aa(%rax)
je 0x395301
movq 0x180(%rsp), %rdi
callq 0x373e90
movq %rax, 0x170(%rsp)
leaq 0xd7f(%rsp), %rdi
movq %rdi, 0x178(%rsp)
callq 0x11b6f0
movq 0x178(%rsp), %rdx
leaq 0x215073(%rip), %rsi    # 0x5aa1e8
leaq 0xd80(%rsp), %rdi
callq 0x134520
jmp 0x395184
leaq 0xd28(%rsp), %rdi
movl $0x77bd, %esi           # imm = 0x77BD
callq 0x371f20
jmp 0x395198
leaq 0x211d74(%rip), %rsi    # 0x5a6f13
leaq 0xd48(%rsp), %rdi
leaq 0xd28(%rsp), %rdx
callq 0x29dd70
jmp 0x3951b6
movq 0x170(%rsp), %rdx
leaq 0xda0(%rsp), %rdi
movl $0x1, %esi
leaq 0xd80(%rsp), %rcx
leaq 0xd48(%rsp), %r8
callq 0x3741e0
jmp 0x3951e2
movq 0x180(%rsp), %rdi
leaq 0xda0(%rsp), %rsi
callq 0x371e40
jmp 0x3951f9
leaq 0xda0(%rsp), %rdi
callq 0x371330
leaq 0xd48(%rsp), %rdi
callq 0x11b838
leaq 0xd28(%rsp), %rdi
callq 0x11b838
leaq 0xd80(%rsp), %rdi
callq 0x11b838
leaq 0xd7f(%rsp), %rdi
callq 0x11b820
callq 0x2821f0
movq %rax, 0xe50(%rsp)
jmp 0x396e17
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x3952ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x3952e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x3952d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x3952c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
leaq 0xda0(%rsp), %rdi
callq 0x371330
leaq 0xd48(%rsp), %rdi
callq 0x11b838
leaq 0xd28(%rsp), %rdi
callq 0x11b838
leaq 0xd80(%rsp), %rdi
callq 0x11b838
leaq 0xd7f(%rsp), %rdi
callq 0x11b820
jmp 0x396e27
movq 0x180(%rsp), %rsi
addq $0x3aa, %rsi            # imm = 0x3AA
leaq 0xd20(%rsp), %rdi
callq 0x50e080
movq 0x180(%rsp), %rdi
callq 0x373690
jmp 0x39532c
callq 0x2821f0
movq %rax, 0xd00(%rsp)
leaq 0xcff(%rsp), %rdi
movq %rdi, 0x168(%rsp)
callq 0x528050
movq 0x168(%rsp), %rcx
leaq 0xd08(%rsp), %rdi
movl $0x3, %esi
leaq 0xd00(%rsp), %rdx
callq 0x528060
jmp 0x395372
leaq 0xcff(%rsp), %rdi
callq 0x514830
movq 0x180(%rsp), %rsi
leaq 0xce0(%rsp), %rdi
leaq 0xd08(%rsp), %rdx
callq 0x379910
jmp 0x39539e
xorl %eax, %eax
movl %eax, %esi
leaq 0xd08(%rsp), %rdi
movq %rdi, 0x158(%rsp)
callq 0x39d110
movq 0x158(%rsp), %rdi
movq %rax, 0xcd8(%rsp)
movl $0x1, %esi
callq 0x39d110
movq 0x158(%rsp), %rdi
movq %rax, 0xcd0(%rsp)
movl $0x2, %esi
callq 0x39d110
movq 0x180(%rsp), %rdi
movq %rax, 0xcc8(%rsp)
movl $0x28, 0xcc4(%rsp)
leaq 0xcc4(%rsp), %rsi
movl $0x1, %edx
callq 0x37d640
movb %al, 0x167(%rsp)
jmp 0x395421
movb 0x167(%rsp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x395433
jmp 0x395676
movq 0x180(%rsp), %rdi
callq 0x373e90
movq %rax, 0x150(%rsp)
jmp 0x39544a
leaq 0xbf7(%rsp), %rdi
movq %rdi, 0x148(%rsp)
callq 0x11b6f0
movq 0x148(%rsp), %rdx
leaq 0x214dbe(%rip), %rsi    # 0x5aa22c
leaq 0xbf8(%rsp), %rdi
callq 0x134520
jmp 0x39547d
leaq 0xbb0(%rsp), %rdi
movl $0x77d3, %esi           # imm = 0x77D3
callq 0x371f20
jmp 0x395491
leaq 0x211a7b(%rip), %rsi    # 0x5a6f13
leaq 0xbd0(%rsp), %rdi
leaq 0xbb0(%rsp), %rdx
callq 0x29dd70
jmp 0x3954af
movq 0x150(%rsp), %rdx
leaq 0xc18(%rsp), %rdi
movl $0x1, %esi
leaq 0xbf8(%rsp), %rcx
leaq 0xbd0(%rsp), %r8
callq 0x3741e0
jmp 0x3954db
movq 0x180(%rsp), %rdi
leaq 0xc18(%rsp), %rsi
callq 0x371e40
jmp 0x3954f2
leaq 0xc18(%rsp), %rdi
callq 0x371330
leaq 0xbd0(%rsp), %rdi
callq 0x11b838
leaq 0xbb0(%rsp), %rdi
callq 0x11b838
leaq 0xbf8(%rsp), %rdi
callq 0x11b838
leaq 0xbf7(%rsp), %rdi
callq 0x11b820
callq 0x2821f0
movq %rax, 0xe50(%rsp)
movl $0x1, 0xbac(%rsp)
jmp 0x396dc5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x396e08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
leaq 0xcff(%rsp), %rdi
callq 0x514830
jmp 0x396e08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x396dfb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x396dee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x395664
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x395657
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x39564a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x39563d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
leaq 0xc18(%rsp), %rdi
callq 0x371330
leaq 0xbd0(%rsp), %rdi
callq 0x11b838
leaq 0xbb0(%rsp), %rdi
callq 0x11b838
leaq 0xbf8(%rsp), %rdi
callq 0x11b838
leaq 0xbf7(%rsp), %rdi
callq 0x11b820
jmp 0x396dee
movq 0x180(%rsp), %rdi
callq 0x373e90
movq %rax, 0x140(%rsp)
jmp 0x39568d
movq 0x140(%rsp), %rsi
leaq 0xb78(%rsp), %rdi
callq 0x255940
jmp 0x3956a4
movq 0x180(%rsp), %rdi
xorl %esi, %esi
callq 0x379940
movq %rax, 0x138(%rsp)
jmp 0x3956bd
movq 0x138(%rsp), %rcx
movq 0xcd8(%rsp), %rax
movq %rcx, (%rax)
xorl %eax, %eax
cmpq %rcx, %rax
jne 0x3958c6
movq 0x180(%rsp), %rdi
callq 0x373e90
movq %rax, 0x130(%rsp)
jmp 0x3956f2
leaq 0xaaf(%rsp), %rdi
movq %rdi, 0x128(%rsp)
callq 0x11b6f0
movq 0x128(%rsp), %rdx
leaq 0x214b49(%rip), %rsi    # 0x5aa25f
leaq 0xab0(%rsp), %rdi
callq 0x134520
jmp 0x395725
leaq 0xa68(%rsp), %rdi
movl $0x77e1, %esi           # imm = 0x77E1
callq 0x371f20
jmp 0x395739
leaq 0x2117d3(%rip), %rsi    # 0x5a6f13
leaq 0xa88(%rsp), %rdi
leaq 0xa68(%rsp), %rdx
callq 0x29dd70
jmp 0x395757
movq 0x130(%rsp), %rdx
leaq 0xad0(%rsp), %rdi
movl $0x1, %esi
leaq 0xab0(%rsp), %rcx
leaq 0xa88(%rsp), %r8
callq 0x3741e0
jmp 0x395783
movq 0x180(%rsp), %rdi
leaq 0xad0(%rsp), %rsi
callq 0x371e40
jmp 0x39579a
leaq 0xad0(%rsp), %rdi
callq 0x371330
leaq 0xa88(%rsp), %rdi
callq 0x11b838
leaq 0xa68(%rsp), %rdi
callq 0x11b838
leaq 0xab0(%rsp), %rdi
callq 0x11b838
leaq 0xaaf(%rsp), %rdi
callq 0x11b820
callq 0x2821f0
movq %rax, 0xe50(%rsp)
movl $0x1, 0xbac(%rsp)
jmp 0x396da7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x396db6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x3958b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x3958a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x39589a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x39588d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
leaq 0xad0(%rsp), %rdi
callq 0x371330
leaq 0xa88(%rsp), %rdi
callq 0x11b838
leaq 0xa68(%rsp), %rdi
callq 0x11b838
leaq 0xab0(%rsp), %rdi
callq 0x11b838
leaq 0xaaf(%rsp), %rdi
callq 0x11b820
jmp 0x396db6
movq 0x180(%rsp), %rdi
callq 0x373e90
movq %rax, 0x120(%rsp)
jmp 0x3958dd
movq 0x120(%rsp), %rsi
leaq 0xa38(%rsp), %rdi
callq 0x255940
jmp 0x3958f4
movq 0x180(%rsp), %rdi
movl $0x29, 0xa34(%rsp)
leaq 0xa34(%rsp), %rsi
movl $0x1, %edx
callq 0x37d640
movb %al, 0x11f(%rsp)
jmp 0x395922
movb 0x11f(%rsp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x395934
jmp 0x396669
movq 0x180(%rsp), %rdi
movl $0x2c, 0xa30(%rsp)
leaq 0xa30(%rsp), %rsi
movl $0x1, %edx
callq 0x37d640
movb %al, 0x11e(%rsp)
jmp 0x395962
movb 0x11e(%rsp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x395974
jmp 0x395b5f
movq 0x180(%rsp), %rdi
callq 0x373e90
movq %rax, 0x110(%rsp)
jmp 0x39598b
leaq 0x967(%rsp), %rdi
movq %rdi, 0x108(%rsp)
callq 0x11b6f0
movq 0x108(%rsp), %rdx
leaq 0x2148e8(%rip), %rsi    # 0x5aa297
leaq 0x968(%rsp), %rdi
callq 0x134520
jmp 0x3959be
leaq 0x920(%rsp), %rdi
movl $0x77f0, %esi           # imm = 0x77F0
callq 0x371f20
jmp 0x3959d2
leaq 0x21153a(%rip), %rsi    # 0x5a6f13
leaq 0x940(%rsp), %rdi
leaq 0x920(%rsp), %rdx
callq 0x29dd70
jmp 0x3959f0
movq 0x110(%rsp), %rdx
leaq 0x988(%rsp), %rdi
movl $0x1, %esi
leaq 0x968(%rsp), %rcx
leaq 0x940(%rsp), %r8
callq 0x3741e0
jmp 0x395a1c
movq 0x180(%rsp), %rdi
leaq 0x988(%rsp), %rsi
callq 0x371e40
jmp 0x395a33
leaq 0x988(%rsp), %rdi
callq 0x371330
leaq 0x940(%rsp), %rdi
callq 0x11b838
leaq 0x920(%rsp), %rdi
callq 0x11b838
leaq 0x968(%rsp), %rdi
callq 0x11b838
leaq 0x967(%rsp), %rdi
callq 0x11b820
callq 0x2821f0
movq %rax, 0xe50(%rsp)
movl $0x1, 0xbac(%rsp)
jmp 0x396d89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x396d98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x395b4d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x395b40
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x395b33
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x395b26
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
leaq 0x988(%rsp), %rdi
callq 0x371330
leaq 0x940(%rsp), %rdi
callq 0x11b838
leaq 0x920(%rsp), %rdi
callq 0x11b838
leaq 0x968(%rsp), %rdi
callq 0x11b838
leaq 0x967(%rsp), %rdi
callq 0x11b820
jmp 0x396d98
movq 0x180(%rsp), %rdi
xorl %esi, %esi
callq 0x379940
movq %rax, 0x100(%rsp)
jmp 0x395b78
movq 0x100(%rsp), %rcx
movq 0xcd0(%rsp), %rax
movq %rcx, (%rax)
xorl %eax, %eax
cmpq %rcx, %rax
je 0x395bbc
movq 0xcd0(%rsp), %rax
movq (%rax), %rdi
callq 0x3a7600
movb %al, 0xff(%rsp)
jmp 0x395bab
movb 0xff(%rsp), %al
testb $0x1, %al
jne 0x395eac
jmp 0x395bbc
movq 0x180(%rsp), %rdi
callq 0x373e90
movq %rax, 0xf0(%rsp)
jmp 0x395bd3
movq 0xcd0(%rsp), %rax
movq (%rax), %rax
movb $0x0, 0x836(%rsp)
movb $0x0, 0x834(%rsp)
cmpq $0x0, %rax
je 0x395c31
leaq 0x837(%rsp), %rdi
movq %rdi, 0xe8(%rsp)
callq 0x11b6f0
movq 0xe8(%rsp), %rdx
movb $0x1, 0x836(%rsp)
leaq 0x2146ca(%rip), %rsi    # 0x5aa2ea
leaq 0x838(%rsp), %rdi
callq 0x134520
jmp 0x395c2f
jmp 0x395c6e
leaq 0x835(%rsp), %rdi
movq %rdi, 0xe0(%rsp)
callq 0x11b6f0
movq 0xe0(%rsp), %rdx
movb $0x1, 0x834(%rsp)
leaq 0x2146b0(%rip), %rsi    # 0x5aa30d
leaq 0x838(%rsp), %rdi
callq 0x134520
jmp 0x395c6c
jmp 0x395c6e
leaq 0x21466b(%rip), %rsi    # 0x5aa2e0
leaq 0x858(%rsp), %rdi
leaq 0x838(%rsp), %rdx
callq 0x29dd70
jmp 0x395c8c
leaq 0x7f0(%rsp), %rdi
movl $0x7801, %esi           # imm = 0x7801
callq 0x371f20
jmp 0x395ca0
leaq 0x21126c(%rip), %rsi    # 0x5a6f13
leaq 0x810(%rsp), %rdi
leaq 0x7f0(%rsp), %rdx
callq 0x29dd70
jmp 0x395cbe
movq 0xf0(%rsp), %rdx
leaq 0x878(%rsp), %rdi
movl $0x1, %esi
leaq 0x858(%rsp), %rcx
leaq 0x810(%rsp), %r8
callq 0x3741e0
jmp 0x395cea
movq 0x180(%rsp), %rdi
leaq 0x878(%rsp), %rsi
callq 0x371e40
jmp 0x395d01
leaq 0x878(%rsp), %rdi
callq 0x371330
leaq 0x810(%rsp), %rdi
callq 0x11b838
leaq 0x7f0(%rsp), %rdi
callq 0x11b838
leaq 0x858(%rsp), %rdi
callq 0x11b838
leaq 0x838(%rsp), %rdi
callq 0x11b838
testb $0x1, 0x834(%rsp)
jne 0x395d4e
jmp 0x395d5b
leaq 0x835(%rsp), %rdi
callq 0x11b820
testb $0x1, 0x836(%rsp)
jne 0x395d67
jmp 0x395d74
leaq 0x837(%rsp), %rdi
callq 0x11b820
callq 0x2821f0
movq %rax, 0xe50(%rsp)
movl $0x1, 0xbac(%rsp)
jmp 0x396d89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x395e8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x395e73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x395e66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x395e59
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x395e4c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x395e3f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
leaq 0x878(%rsp), %rdi
callq 0x371330
leaq 0x810(%rsp), %rdi
callq 0x11b838
leaq 0x7f0(%rsp), %rdi
callq 0x11b838
leaq 0x858(%rsp), %rdi
callq 0x11b838
leaq 0x838(%rsp), %rdi
callq 0x11b838
testb $0x1, 0x834(%rsp)
jne 0x395e7f
jmp 0x395e8c
leaq 0x835(%rsp), %rdi
callq 0x11b820
jmp 0x395e8e
testb $0x1, 0x836(%rsp)
jne 0x395e9a
jmp 0x395ea7
leaq 0x837(%rsp), %rdi
callq 0x11b820
jmp 0x396d98
movq 0x180(%rsp), %rdi
movl $0x29, 0x7ec(%rsp)
leaq 0x7ec(%rsp), %rsi
movl $0x1, %edx
callq 0x37d640
movb %al, 0xdf(%rsp)
jmp 0x395eda
movb 0xdf(%rsp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x395eec
jmp 0x396663
movq 0x180(%rsp), %rdi
movl $0x2c, 0x7e8(%rsp)
leaq 0x7e8(%rsp), %rsi
movl $0x1, %edx
callq 0x37d640
movb %al, 0xde(%rsp)
jmp 0x395f1a
movb 0xde(%rsp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x395f2c
jmp 0x3960fe
movq 0x180(%rsp), %rdi
callq 0x373e90
movq %rax, 0xd0(%rsp)
jmp 0x395f43
leaq 0x71f(%rsp), %rdi
movq %rdi, 0xc8(%rsp)
callq 0x11b6f0
movq 0xc8(%rsp), %rdx
leaq 0x2143d3(%rip), %rsi    # 0x5aa33a
leaq 0x720(%rsp), %rdi
callq 0x134520
jmp 0x395f76
leaq 0x6d8(%rsp), %rdi
movl $0x780d, %esi           # imm = 0x780D
callq 0x371f20
jmp 0x395f8a
leaq 0x210f82(%rip), %rsi    # 0x5a6f13
leaq 0x6f8(%rsp), %rdi
leaq 0x6d8(%rsp), %rdx
callq 0x29dd70
jmp 0x395fa8
movq 0xd0(%rsp), %rdx
leaq 0x740(%rsp), %rdi
movl $0x1, %esi
leaq 0x720(%rsp), %rcx
leaq 0x6f8(%rsp), %r8
callq 0x3741e0
jmp 0x395fd4
movq 0x180(%rsp), %rdi
leaq 0x740(%rsp), %rsi
callq 0x371e40
jmp 0x395feb
leaq 0x740(%rsp), %rdi
callq 0x371330
leaq 0x6f8(%rsp), %rdi
callq 0x11b838
leaq 0x6d8(%rsp), %rdi
callq 0x11b838
leaq 0x720(%rsp), %rdi
callq 0x11b838
leaq 0x71f(%rsp), %rdi
callq 0x11b820
callq 0x2821f0
movq %rax, 0xe50(%rsp)
movl $0x1, 0xbac(%rsp)
jmp 0x396d89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x3960ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x3960df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x3960d2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x3960c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
leaq 0x740(%rsp), %rdi
callq 0x371330
leaq 0x6f8(%rsp), %rdi
callq 0x11b838
leaq 0x6d8(%rsp), %rdi
callq 0x11b838
leaq 0x720(%rsp), %rdi
callq 0x11b838
leaq 0x71f(%rsp), %rdi
callq 0x11b820
jmp 0x396d98
movq 0x180(%rsp), %rdi
xorl %esi, %esi
callq 0x379940
movq %rax, 0xc0(%rsp)
jmp 0x396117
movq 0xc0(%rsp), %rcx
movq 0xcc8(%rsp), %rax
movq %rcx, (%rax)
xorl %eax, %eax
cmpq %rcx, %rax
je 0x39615b
movq 0xcc8(%rsp), %rax
movq (%rax), %rdi
callq 0x438670
movb %al, 0xbf(%rsp)
jmp 0x39614a
movb 0xbf(%rsp), %al
testb $0x1, %al
jne 0x39644b
jmp 0x39615b
movq 0x180(%rsp), %rdi
callq 0x373e90
movq %rax, 0xb0(%rsp)
jmp 0x396172
movq 0xcc8(%rsp), %rax
movq (%rax), %rax
movb $0x0, 0x5ee(%rsp)
movb $0x0, 0x5ec(%rsp)
cmpq $0x0, %rax
je 0x3961d0
leaq 0x5ef(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0x11b6f0
movq 0xa8(%rsp), %rdx
movb $0x1, 0x5ee(%rsp)
leaq 0x2141c7(%rip), %rsi    # 0x5aa386
leaq 0x5f0(%rsp), %rdi
callq 0x134520
jmp 0x3961ce
jmp 0x39620d
leaq 0x5ed(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
callq 0x11b6f0
movq 0xa0(%rsp), %rdx
movb $0x1, 0x5ec(%rsp)
leaq 0x2141b0(%rip), %rsi    # 0x5aa3ac
leaq 0x5f0(%rsp), %rdi
callq 0x134520
jmp 0x39620b
jmp 0x39620d
leaq 0x214168(%rip), %rsi    # 0x5aa37c
leaq 0x610(%rsp), %rdi
leaq 0x5f0(%rsp), %rdx
callq 0x29dd70
jmp 0x39622b
leaq 0x5a8(%rsp), %rdi
movl $0x781e, %esi           # imm = 0x781E
callq 0x371f20
jmp 0x39623f
leaq 0x210ccd(%rip), %rsi    # 0x5a6f13
leaq 0x5c8(%rsp), %rdi
leaq 0x5a8(%rsp), %rdx
callq 0x29dd70
jmp 0x39625d
movq 0xb0(%rsp), %rdx
leaq 0x630(%rsp), %rdi
movl $0x1, %esi
leaq 0x610(%rsp), %rcx
leaq 0x5c8(%rsp), %r8
callq 0x3741e0
jmp 0x396289
movq 0x180(%rsp), %rdi
leaq 0x630(%rsp), %rsi
callq 0x371e40
jmp 0x3962a0
leaq 0x630(%rsp), %rdi
callq 0x371330
leaq 0x5c8(%rsp), %rdi
callq 0x11b838
leaq 0x5a8(%rsp), %rdi
callq 0x11b838
leaq 0x610(%rsp), %rdi
callq 0x11b838
leaq 0x5f0(%rsp), %rdi
callq 0x11b838
testb $0x1, 0x5ec(%rsp)
jne 0x3962ed
jmp 0x3962fa
leaq 0x5ed(%rsp), %rdi
callq 0x11b820
testb $0x1, 0x5ee(%rsp)
jne 0x396306
jmp 0x396313
leaq 0x5ef(%rsp), %rdi
callq 0x11b820
callq 0x2821f0
movq %rax, 0xe50(%rsp)
movl $0x1, 0xbac(%rsp)
jmp 0x396d89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x39642d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x396412
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x396405
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x3963f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x3963eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x3963de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
leaq 0x630(%rsp), %rdi
callq 0x371330
leaq 0x5c8(%rsp), %rdi
callq 0x11b838
leaq 0x5a8(%rsp), %rdi
callq 0x11b838
leaq 0x610(%rsp), %rdi
callq 0x11b838
leaq 0x5f0(%rsp), %rdi
callq 0x11b838
testb $0x1, 0x5ec(%rsp)
jne 0x39641e
jmp 0x39642b
leaq 0x5ed(%rsp), %rdi
callq 0x11b820
jmp 0x39642d
testb $0x1, 0x5ee(%rsp)
jne 0x396439
jmp 0x396446
leaq 0x5ef(%rsp), %rdi
callq 0x11b820
jmp 0x396d98
movq 0x180(%rsp), %rdi
movl $0x29, 0x5a4(%rsp)
leaq 0x5a4(%rsp), %rsi
movl $0x1, %edx
callq 0x37d640
movb %al, 0x9f(%rsp)
jmp 0x396479
movb 0x9f(%rsp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x39648b
jmp 0x39665d
movq 0x180(%rsp), %rdi
callq 0x373e90
movq %rax, 0x90(%rsp)
jmp 0x3964a2
leaq 0x4d7(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0x11b6f0
movq 0x88(%rsp), %rdx
leaq 0x213f0b(%rip), %rsi    # 0x5aa3d1
leaq 0x4d8(%rsp), %rdi
callq 0x134520
jmp 0x3964d5
leaq 0x490(%rsp), %rdi
movl $0x7828, %esi           # imm = 0x7828
callq 0x371f20
jmp 0x3964e9
leaq 0x210a23(%rip), %rsi    # 0x5a6f13
leaq 0x4b0(%rsp), %rdi
leaq 0x490(%rsp), %rdx
callq 0x29dd70
jmp 0x396507
movq 0x90(%rsp), %rdx
leaq 0x4f8(%rsp), %rdi
movl $0x1, %esi
leaq 0x4d8(%rsp), %rcx
leaq 0x4b0(%rsp), %r8
callq 0x3741e0
jmp 0x396533
movq 0x180(%rsp), %rdi
leaq 0x4f8(%rsp), %rsi
callq 0x371e40
jmp 0x39654a
leaq 0x4f8(%rsp), %rdi
callq 0x371330
leaq 0x4b0(%rsp), %rdi
callq 0x11b838
leaq 0x490(%rsp), %rdi
callq 0x11b838
leaq 0x4d8(%rsp), %rdi
callq 0x11b838
leaq 0x4d7(%rsp), %rdi
callq 0x11b820
callq 0x2821f0
movq %rax, 0xe50(%rsp)
movl $0x1, 0xbac(%rsp)
jmp 0x396d89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x39664b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x39663e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x396631
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x396624
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
leaq 0x4f8(%rsp), %rdi
callq 0x371330
leaq 0x4b0(%rsp), %rdi
callq 0x11b838
leaq 0x490(%rsp), %rdi
callq 0x11b838
leaq 0x4d8(%rsp), %rdi
callq 0x11b838
leaq 0x4d7(%rsp), %rdi
callq 0x11b820
jmp 0x396d98
jmp 0x39665f
jmp 0x396661
jmp 0x396663
jmp 0x396665
jmp 0x396667
jmp 0x396669
leaq 0x428(%rsp), %rdi
callq 0x5280e0
movq 0x180(%rsp), %rdi
callq 0x3723b0
movq %rax, %rsi
leaq 0xba0(%rsp), %rdx
leaq 0xa60(%rsp), %rcx
leaq 0x408(%rsp), %rdi
callq 0x528120
jmp 0x3966a5
leaq 0x428(%rsp), %rdi
leaq 0x408(%rsp), %rsi
callq 0x11b430
leaq 0x408(%rsp), %rdi
callq 0x11b838
movq 0x180(%rsp), %rcx
movq 0xba0(%rsp), %rax
movq %rax, 0x488(%rsp)
xorl %eax, %eax
cmpq 0x8f0(%rcx), %rax
jne 0x39677f
movl $0x20, %edi
callq 0x11b180
movq %rax, 0x80(%rsp)
jmp 0x396702
movq 0x80(%rsp), %rdi
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rdi)
movaps %xmm0, (%rdi)
callq 0x23c440
jmp 0x39671b
movq 0x80(%rsp), %rax
movq %rax, 0xe50(%rsp)
movl $0x1, 0xbac(%rsp)
jmp 0x396d6b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x396d7a
movq 0x80(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
movl $0x20, %esi
callq 0x11b130
jmp 0x396d7a
movq 0xcd0(%rsp), %rax
cmpq $0x0, (%rax)
je 0x396837
movq 0xcd0(%rsp), %rax
movq (%rax), %rdi
callq 0x438670
movb %al, 0x7f(%rsp)
jmp 0x3967a7
movb 0x7f(%rsp), %al
testb $0x1, %al
jne 0x3967b4
jmp 0x396837
movq 0xcd0(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x70(%rsp)
cmpq $0x0, %rax
je 0x3967f0
movq 0x70(%rsp), %rdi
leaq 0x3d3a0a(%rip), %rsi    # 0x76a1e0
leaq 0x405cc3(%rip), %rdx    # 0x79c4a0
movq $-0x2, %rcx
callq 0x11b6d0
movq %rax, 0x68(%rsp)
jmp 0x3967f9
xorl %eax, %eax
movq %rax, 0x68(%rsp)
jmp 0x3967f9
movq 0x68(%rsp), %rsi
movq (%rsi), %rax
movq 0x10(%rax), %rax
leaq 0x3e8(%rsp), %rdi
callq *%rax
jmp 0x396811
leaq 0x428(%rsp), %rdi
addq $0x20, %rdi
leaq 0x3e8(%rsp), %rsi
callq 0x11b430
leaq 0x3e8(%rsp), %rdi
callq 0x11b838
movq 0xcc8(%rsp), %rax
cmpq $0x0, (%rax)
je 0x396b37
movq 0xcc8(%rsp), %rax
movq (%rax), %rdi
callq 0x438670
movb %al, 0x67(%rsp)
jmp 0x39685f
movb 0x67(%rsp), %al
testb $0x1, %al
jne 0x39686c
jmp 0x396b37
movq 0xcc8(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x58(%rsp)
cmpq $0x0, %rax
je 0x3968a8
movq 0x58(%rsp), %rdi
leaq 0x3d3952(%rip), %rsi    # 0x76a1e0
leaq 0x405c0b(%rip), %rdx    # 0x79c4a0
movq $-0x2, %rcx
callq 0x11b6d0
movq %rax, 0x50(%rsp)
jmp 0x3968b1
xorl %eax, %eax
movq %rax, 0x50(%rsp)
jmp 0x3968b1
movq 0x50(%rsp), %rsi
movq (%rsi), %rax
movq 0x10(%rax), %rax
leaq 0x3c8(%rsp), %rdi
callq *%rax
jmp 0x3968c9
leaq 0x468(%rsp), %rdi
movq %rdi, 0x40(%rsp)
leaq 0x3c8(%rsp), %rsi
movq %rsi, 0x30(%rsp)
callq 0x11b430
movq 0x30(%rsp), %rdi
callq 0x11b838
movq 0x180(%rsp), %rdi
addq $0x8f8, %rdi            # imm = 0x8F8
movq %rdi, 0x38(%rsp)
callq 0x234410
movq 0x38(%rsp), %rdi
movq 0x40(%rsp), %rsi
movq %rax, 0x3c0(%rsp)
callq 0x528260
movq %rax, 0x48(%rsp)
jmp 0x396929
movq 0x48(%rsp), %rax
movq %rax, 0x3b8(%rsp)
leaq 0x3c0(%rsp), %rdi
leaq 0x3b8(%rsp), %rsi
callq 0x2343f0
testb $0x1, %al
jne 0x396954
jmp 0x396ad8
movq 0x180(%rsp), %rdi
callq 0x373e90
movq %rax, 0x28(%rsp)
jmp 0x396968
leaq 0x468(%rsp), %rdx
leaq 0x213a8d(%rip), %rsi    # 0x5aa404
leaq 0x2f0(%rsp), %rdi
callq 0x3784f0
jmp 0x396986
leaq 0x2b0(%rsp), %rdi
movl $0x784b, %esi           # imm = 0x784B
callq 0x371f20
jmp 0x39699a
leaq 0x210572(%rip), %rsi    # 0x5a6f13
leaq 0x2d0(%rsp), %rdi
leaq 0x2b0(%rsp), %rdx
callq 0x29dd70
jmp 0x3969b8
movq 0x28(%rsp), %rdx
leaq 0x310(%rsp), %rdi
movl $0x1, %esi
leaq 0x2f0(%rsp), %rcx
leaq 0x2d0(%rsp), %r8
callq 0x3741e0
jmp 0x3969e1
movq 0x180(%rsp), %rdi
leaq 0x310(%rsp), %rsi
callq 0x371e40
jmp 0x3969f8
leaq 0x310(%rsp), %rdi
callq 0x371330
leaq 0x2d0(%rsp), %rdi
callq 0x11b838
leaq 0x2b0(%rsp), %rdi
callq 0x11b838
leaq 0x2f0(%rsp), %rdi
callq 0x11b838
callq 0x2821f0
movq %rax, 0xe50(%rsp)
movl $0x1, 0xbac(%rsp)
jmp 0x396d6b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x396ac6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x396ab9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x396aac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
leaq 0x310(%rsp), %rdi
callq 0x371330
leaq 0x2d0(%rsp), %rdi
callq 0x11b838
leaq 0x2b0(%rsp), %rdi
callq 0x11b838
leaq 0x2f0(%rsp), %rdi
callq 0x11b838
jmp 0x396d7a
movq 0x180(%rsp), %rdi
addq $0x8f8, %rdi            # imm = 0x8F8
leaq 0x468(%rsp), %rsi
callq 0x230320
movb %dl, 0x1f(%rsp)
movq %rax, 0x20(%rsp)
jmp 0x396aff
movq 0x180(%rsp), %rdi
movb 0x1f(%rsp), %al
movq 0x20(%rsp), %rcx
movq %rcx, 0x2a0(%rsp)
movb %al, 0x2a8(%rsp)
addq $0x290, %rdi            # imm = 0x290
movq 0xcc8(%rsp), %rsi
callq 0x284bd0
jmp 0x396b35
jmp 0x396b37
movq 0x180(%rsp), %rdi
addq $0x220, %rdi            # imm = 0x220
movq 0xcd8(%rsp), %rsi
movq 0xcd0(%rsp), %rdx
leaq 0x428(%rsp), %rcx
callq 0x5282a0
movq %rax, 0x10(%rsp)
jmp 0x396b6a
movq 0x10(%rsp), %rax
movq %rax, 0x298(%rsp)
xorl %eax, %eax
cmpq 0x298(%rsp), %rax
jne 0x396d48
movq 0x180(%rsp), %rdi
callq 0x373e90
movq %rax, 0x8(%rsp)
jmp 0x396b9b
leaq 0x1cf(%rsp), %rdi
movq %rdi, (%rsp)
callq 0x11b6f0
movq (%rsp), %rdx
leaq 0x21386c(%rip), %rsi    # 0x5aa423
leaq 0x1d0(%rsp), %rdi
callq 0x134520
jmp 0x396bc6
leaq 0x188(%rsp), %rdi
movl $0x7866, %esi           # imm = 0x7866
callq 0x371f20
jmp 0x396bda
leaq 0x210332(%rip), %rsi    # 0x5a6f13
leaq 0x1a8(%rsp), %rdi
leaq 0x188(%rsp), %rdx
callq 0x29dd70
jmp 0x396bf8
movq 0x8(%rsp), %rdx
leaq 0x1f0(%rsp), %rdi
movl $0x1, %esi
leaq 0x1d0(%rsp), %rcx
leaq 0x1a8(%rsp), %r8
callq 0x3741e0
jmp 0x396c21
movq 0x180(%rsp), %rdi
leaq 0x1f0(%rsp), %rsi
callq 0x371e40
jmp 0x396c38
leaq 0x1f0(%rsp), %rdi
callq 0x371330
leaq 0x1a8(%rsp), %rdi
callq 0x11b838
leaq 0x188(%rsp), %rdi
callq 0x11b838
leaq 0x1d0(%rsp), %rdi
callq 0x11b838
leaq 0x1cf(%rsp), %rdi
callq 0x11b820
callq 0x2821f0
movq %rax, 0xe50(%rsp)
movl $0x1, 0xbac(%rsp)
jmp 0x396d6b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x396d39
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x396d2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x396d1f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
jmp 0x396d12
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd70(%rsp)
movl %eax, 0xd6c(%rsp)
leaq 0x1f0(%rsp), %rdi
callq 0x371330
leaq 0x1a8(%rsp), %rdi
callq 0x11b838
leaq 0x188(%rsp), %rdi
callq 0x11b838
leaq 0x1d0(%rsp), %rdi
callq 0x11b838
leaq 0x1cf(%rsp), %rdi
callq 0x11b820
jmp 0x396d7a
movb $0x0, 0xce0(%rsp)
movq 0x298(%rsp), %rax
movq %rax, 0xe50(%rsp)
movl $0x1, 0xbac(%rsp)
leaq 0x428(%rsp), %rdi
callq 0x528400
jmp 0x396d89
leaq 0x428(%rsp), %rdi
callq 0x528400
jmp 0x396d98
leaq 0xa38(%rsp), %rdi
callq 0x2512e0
jmp 0x396da7
leaq 0xa38(%rsp), %rdi
callq 0x2512e0
jmp 0x396db6
leaq 0xb78(%rsp), %rdi
callq 0x2512e0
jmp 0x396dc5
leaq 0xb78(%rsp), %rdi
callq 0x2512e0
jmp 0x396dee
leaq 0xce0(%rsp), %rdi
callq 0x37dec0
leaq 0xd08(%rsp), %rdi
callq 0x37df90
leaq 0xd20(%rsp), %rdi
callq 0x50e150
jmp 0x396e17
leaq 0xce0(%rsp), %rdi
callq 0x37dec0
leaq 0xd08(%rsp), %rdi
callq 0x37df90
leaq 0xd20(%rsp), %rdi
callq 0x50e150
jmp 0x396e27
movq 0xe50(%rsp), %rax
addq $0xe58, %rsp            # imm = 0xE58
retq
movq 0xd70(%rsp), %rdi
callq 0x11b4e0
nopw %cs:(%rax,%rax)
nop