// File: ArashPartow[P]exprtk-extras/exprtk_maze_generator.cpp
// Function: void maze_generator<double>()
void maze_generator()
{
   typedef exprtk::symbol_table<T>         symbol_table_t;
   typedef exprtk::expression<T>           expression_t;
   typedef exprtk::parser<T>               parser_t;
   typedef exprtk::function_compositor<T>  compositor_t;
   typedef typename compositor_t::function function_t;

   const T width  = T(40);
   const T height = T(30);

   const T N = T(1);
   const T E = T(2);
   const T S = T(3);
   const T W = T(4);

   std::vector<T> board           (static_cast<std::size_t>(width * height), T(0));
   std::vector<T> north_wall_board(static_cast<std::size_t>(width * height), T(0));
   std::vector<T> west_wall_board (static_cast<std::size_t>(width * height), T(0));

   shuffle<T> shuffle;

   exprtk::rtl::io::package<T> io_package;

   symbol_table_t symbol_table;

   symbol_table.add_constant( "width"            , width           );
   symbol_table.add_constant( "height"           , height          );
   symbol_table.add_constant( "N"                , N               );
   symbol_table.add_constant( "E"                , E               );
   symbol_table.add_constant( "S"                , S               );
   symbol_table.add_constant( "W"                , W               );

   symbol_table.add_vector  ( "board"            , board           );
   symbol_table.add_vector  ( "north_wall_board" , north_wall_board);
   symbol_table.add_vector  ( "west_wall_board"  , west_wall_board );

   symbol_table.add_function( "shuffle"          , shuffle         );
   symbol_table.add_function( "print_digit"      ,
                             [](T v) ->T
                             { printf(" %d ",static_cast<int>(v)); return 0; });

   symbol_table.add_package (io_package);

   compositor_t compositor(symbol_table);

   compositor.load_variables(true);
   compositor.load_vectors  (true);

   compositor.add(
      function_t("get_board")
      .vars("x", "y")
      .expression
      ( " board[y * width + x]; " ));

   compositor.add(
      function_t("set_board")
      .vars("x", "y", "value")
      .expression
      ( " board[y * width + x] := value; " ));

   compositor.add(
      function_t("get_nwall_board")
      .vars("x", "y")
      .expression
      ( " north_wall_board[y * width + x]; " ));

   compositor.add(
      function_t("get_wwall_board")
      .vars("x", "y")
      .expression
      ( " west_wall_board[y * width + x]; " ));

   compositor.add(
      function_t("set_nwall_board")
      .vars("x", "y", "value")
      .expression
      ( " north_wall_board[y * width + x] := value; " ));

   compositor.add(
      function_t("set_wwall_board")
      .vars("x", "y", "value")
      .expression
      ( " west_wall_board[y * width + x] := value; " ));

   compositor.add(
      function_t("display_maze")
      .expression
      (
         " for (var x := 0; x < width; x += 1)                               "
         " {                                                                 "
         "    print('+---');                                                 "
         " };                                                                "
         "                                                                   "
         " println('+');                                                     "
         "                                                                   "
         " for (var y := 0; y < height; y += 1)                              "
         " {                                                                 "
         "    for (var x := 0; x < width; x += 1)                            "
         "    {                                                              "
         "       var segment := get_wwall_board(x,y) == W ? '    ' : '|   '; "
         "       print(segment);                                             "
         "    };                                                             "
         "                                                                   "
         "    println('|');                                                  "
         "                                                                   "
         "    for (var x := 0; x < width; x += 1)                            "
         "    {                                                              "
         "       var segment := get_nwall_board(x,y) == N ? '+   ' : '+---'; "
         "       print(segment);                                             "
         "    };                                                             "
         "                                                                   "
         "    println('+');                                                  "
         " };                                                                "
         "                                                                   "
         " println();                                                        "
      ));

   compositor.add(
      function_t("generate_maze")
      .vars("x","y")
      .expression
      (
         " set_board(x, y, 1);                                                  "
         "                                                                      "
         " var x_move [4] := { -1,  0, +1,  0 };                                "
         " var y_move [4] := {  0, +1,  0, -1 };                                "
         " var heading[4] := {  W,  N,  E,  S };                                "
         " var moves  [4] := {  0,  1,  2,  3 };                                "
         "                                                                      "
         " shuffle(moves);                                                      "
         "                                                                      "
         " for (var i := 0; i < moves[]; i += 1)                                "
         " {                                                                    "
         "    var move  := moves[i];                                            "
         "    var new_x := x + x_move[move];                                    "
         "    var new_y := y + y_move[move];                                    "
         "                                                                      "
         "    if ((new_x < 0     ) or (new_y < 0      )) continue;              "
         "    if ((new_x >= width) or (new_y >= height)) continue;              "
         "                                                                      "
         "    if (get_board(new_x, new_y) == 0)                                 "
         "    {                                                                 "
         "       if (heading[move] == N) { set_nwall_board(x, y, N); };         "
         "       if (heading[move] == W) { set_wwall_board(x, y, W); };         "
         "                                                                      "
         "       if (heading[move] == S) { set_nwall_board(new_x, new_y, N); }; "
         "       if (heading[move] == E) { set_wwall_board(new_x, new_y, W); }; "
         "                                                                      "
         "       generate_maze(new_x,new_y);                                    "
         "    }                                                                 "
         " };                                                                   "
      ));

   const std::string maze_generator_program =
      " generate_maze(0, 0); "
      " display_maze();      ";

   expression_t expression;
   expression.register_symbol_table(symbol_table);

   parser_t parser;
   parser.compile(maze_generator_program,expression);

   expression.value();
}

// Assembly:
subq $0x3778, %rsp           # imm = 0x3778
movabsq $0x4044000000000000, %rax # imm = 0x4044000000000000
movq %rax, 0x3770(%rsp)
movabsq $0x403e000000000000, %rax # imm = 0x403E000000000000
movq %rax, 0x3768(%rsp)
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, 0x3760(%rsp)
movabsq $0x4000000000000000, %rax # imm = 0x4000000000000000
movq %rax, 0x3758(%rsp)
movabsq $0x4008000000000000, %rax # imm = 0x4008000000000000
movq %rax, 0x3750(%rsp)
movabsq $0x4010000000000000, %rax # imm = 0x4010000000000000
movq %rax, 0x3748(%rsp)
movq $0x0, 0x3728(%rsp)
leaq 0x3727(%rsp), %rdi
movq %rdi, 0x1f8(%rsp)
callq 0x11deb0
movq 0x1f8(%rsp), %rcx
leaq 0x3730(%rsp), %rdi
movl $0x4b0, %esi            # imm = 0x4B0
leaq 0x3728(%rsp), %rdx
callq 0x11dec0
jmp 0x11b918
leaq 0x3727(%rsp), %rdi
callq 0x11df40
movq $0x0, 0x36f0(%rsp)
leaq 0x36ef(%rsp), %rdi
movq %rdi, 0x1f0(%rsp)
callq 0x11deb0
movq 0x1f0(%rsp), %rcx
leaq 0x36f8(%rsp), %rdi
movl $0x4b0, %esi            # imm = 0x4B0
leaq 0x36f0(%rsp), %rdx
callq 0x11dec0
jmp 0x11b96a
leaq 0x36ef(%rsp), %rdi
callq 0x11df40
movq $0x0, 0x36c8(%rsp)
leaq 0x36c7(%rsp), %rdi
movq %rdi, 0x1e8(%rsp)
callq 0x11deb0
movq 0x1e8(%rsp), %rcx
leaq 0x36d0(%rsp), %rdi
movl $0x4b0, %esi            # imm = 0x4B0
leaq 0x36c8(%rsp), %rdx
callq 0x11dec0
jmp 0x11b9bc
leaq 0x36c7(%rsp), %rdi
callq 0x11df40
leaq 0x22e0(%rsp), %rdi
callq 0x11df50
jmp 0x11b9d8
leaq 0x2210(%rsp), %rdi
callq 0x11e180
jmp 0x11b9e7
leaq 0x2208(%rsp), %rdi
movl $0x1, %esi
callq 0x11e2d0
jmp 0x11b9fb
leaq 0x21e7(%rsp), %rdi
movq %rdi, 0x1e0(%rsp)
callq 0x114690
movq 0x1e0(%rsp), %rdx
leaq 0x34db46(%rip), %rsi    # 0x469565
leaq 0x21e8(%rsp), %rdi
callq 0x11b7a0
jmp 0x11ba2e
leaq 0x2208(%rsp), %rdi
leaq 0x21e8(%rsp), %rsi
leaq 0x3770(%rsp), %rdx
callq 0x11e310
jmp 0x11ba4d
leaq 0x21e8(%rsp), %rdi
callq 0x1147d8
leaq 0x21e7(%rsp), %rdi
callq 0x1147c0
leaq 0x21bf(%rsp), %rdi
movq %rdi, 0x1d8(%rsp)
callq 0x114690
movq 0x1d8(%rsp), %rdx
leaq 0x34dae0(%rip), %rsi    # 0x46956b
leaq 0x21c0(%rsp), %rdi
callq 0x11b7a0
jmp 0x11ba9a
leaq 0x2208(%rsp), %rdi
leaq 0x21c0(%rsp), %rsi
leaq 0x3768(%rsp), %rdx
callq 0x11e310
jmp 0x11bab9
leaq 0x21c0(%rsp), %rdi
callq 0x1147d8
leaq 0x21bf(%rsp), %rdi
callq 0x1147c0
leaq 0x2197(%rsp), %rdi
movq %rdi, 0x1d0(%rsp)
callq 0x114690
movq 0x1d0(%rsp), %rdx
leaq 0x34f2a9(%rip), %rsi    # 0x46ada0
leaq 0x2198(%rsp), %rdi
callq 0x11b7a0
jmp 0x11bb06
leaq 0x2208(%rsp), %rdi
leaq 0x2198(%rsp), %rsi
leaq 0x3760(%rsp), %rdx
callq 0x11e310
jmp 0x11bb25
leaq 0x2198(%rsp), %rdi
callq 0x1147d8
leaq 0x2197(%rsp), %rdi
callq 0x1147c0
leaq 0x216f(%rsp), %rdi
movq %rdi, 0x1c8(%rsp)
callq 0x114690
movq 0x1c8(%rsp), %rdx
leaq 0x34f97d(%rip), %rsi    # 0x46b4e0
leaq 0x2170(%rsp), %rdi
callq 0x11b7a0
jmp 0x11bb72
leaq 0x2208(%rsp), %rdi
leaq 0x2170(%rsp), %rsi
leaq 0x3758(%rsp), %rdx
callq 0x11e310
jmp 0x11bb91
leaq 0x2170(%rsp), %rdi
callq 0x1147d8
leaq 0x216f(%rsp), %rdi
callq 0x1147c0
leaq 0x2147(%rsp), %rdi
movq %rdi, 0x1c0(%rsp)
callq 0x114690
movq 0x1c0(%rsp), %rdx
leaq 0x34d9a3(%rip), %rsi    # 0x469572
leaq 0x2148(%rsp), %rdi
callq 0x11b7a0
jmp 0x11bbde
leaq 0x2208(%rsp), %rdi
leaq 0x2148(%rsp), %rsi
leaq 0x3750(%rsp), %rdx
callq 0x11e310
jmp 0x11bbfd
leaq 0x2148(%rsp), %rdi
callq 0x1147d8
leaq 0x2147(%rsp), %rdi
callq 0x1147c0
leaq 0x211f(%rsp), %rdi
movq %rdi, 0x1b8(%rsp)
callq 0x114690
movq 0x1b8(%rsp), %rdx
leaq 0x34d939(%rip), %rsi    # 0x469574
leaq 0x2120(%rsp), %rdi
callq 0x11b7a0
jmp 0x11bc4a
leaq 0x2208(%rsp), %rdi
leaq 0x2120(%rsp), %rsi
leaq 0x3748(%rsp), %rdx
callq 0x11e310
jmp 0x11bc69
leaq 0x2120(%rsp), %rdi
callq 0x1147d8
leaq 0x211f(%rsp), %rdi
callq 0x1147c0
leaq 0x20f7(%rsp), %rdi
movq %rdi, 0x1b0(%rsp)
callq 0x114690
movq 0x1b0(%rsp), %rdx
leaq 0x34d8da(%rip), %rsi    # 0x469581
leaq 0x20f8(%rsp), %rdi
callq 0x11b7a0
jmp 0x11bcb6
leaq 0x2208(%rsp), %rdi
leaq 0x20f8(%rsp), %rsi
leaq 0x3730(%rsp), %rdx
callq 0x11e3f0
jmp 0x11bcd5
leaq 0x20f8(%rsp), %rdi
callq 0x1147d8
leaq 0x20f7(%rsp), %rdi
callq 0x1147c0
leaq 0x20cf(%rsp), %rdi
movq %rdi, 0x1a8(%rsp)
callq 0x114690
movq 0x1a8(%rsp), %rdx
leaq 0x34d863(%rip), %rsi    # 0x469576
leaq 0x20d0(%rsp), %rdi
callq 0x11b7a0
jmp 0x11bd22
leaq 0x2208(%rsp), %rdi
leaq 0x20d0(%rsp), %rsi
leaq 0x36f8(%rsp), %rdx
callq 0x11e3f0
jmp 0x11bd41
leaq 0x20d0(%rsp), %rdi
callq 0x1147d8
leaq 0x20cf(%rsp), %rdi
callq 0x1147c0
leaq 0x20a7(%rsp), %rdi
movq %rdi, 0x1a0(%rsp)
callq 0x114690
movq 0x1a0(%rsp), %rdx
leaq 0x34d808(%rip), %rsi    # 0x469587
leaq 0x20a8(%rsp), %rdi
callq 0x11b7a0
jmp 0x11bd8e
leaq 0x2208(%rsp), %rdi
leaq 0x20a8(%rsp), %rsi
leaq 0x36d0(%rsp), %rdx
callq 0x11e3f0
jmp 0x11bdad
leaq 0x20a8(%rsp), %rdi
callq 0x1147d8
leaq 0x20a7(%rsp), %rdi
callq 0x1147c0
leaq 0x207f(%rsp), %rdi
movq %rdi, 0x198(%rsp)
callq 0x114690
movq 0x198(%rsp), %rdx
leaq 0x34d7ac(%rip), %rsi    # 0x469597
leaq 0x2080(%rsp), %rdi
callq 0x11b7a0
jmp 0x11bdfa
leaq 0x2208(%rsp), %rdi
leaq 0x2080(%rsp), %rsi
leaq 0x22e0(%rsp), %rdx
callq 0x11e4b0
jmp 0x11be19
leaq 0x2080(%rsp), %rdi
callq 0x1147d8
leaq 0x207f(%rsp), %rdi
callq 0x1147c0
leaq 0x2057(%rsp), %rdi
movq %rdi, 0x190(%rsp)
callq 0x114690
movq 0x190(%rsp), %rdx
leaq 0x34d748(%rip), %rsi    # 0x46959f
leaq 0x2058(%rsp), %rdi
callq 0x11b7a0
jmp 0x11be66
leaq 0x2056(%rsp), %rdi
callq 0x11e7e0
movq %rax, %rdx
leaq 0x2208(%rsp), %rdi
leaq 0x2058(%rsp), %rsi
callq 0x11e6b0
jmp 0x11be8d
leaq 0x2058(%rsp), %rdi
callq 0x1147d8
leaq 0x2057(%rsp), %rdi
callq 0x1147c0
leaq 0x2208(%rsp), %rdi
leaq 0x2210(%rsp), %rsi
callq 0x11e7f0
jmp 0x11bebe
leaq 0x1668(%rsp), %rdi
leaq 0x2208(%rsp), %rsi
callq 0x11e820
jmp 0x11bed5
leaq 0x1668(%rsp), %rdi
movl $0x1, %esi
callq 0x11e9c0
jmp 0x11bee9
leaq 0x1668(%rsp), %rdi
movl $0x1, %esi
callq 0x11e9f0
jmp 0x11befd
leaq 0x15b7(%rsp), %rdi
movq %rdi, 0x188(%rsp)
callq 0x114690
movq 0x188(%rsp), %rdx
leaq 0x34d68a(%rip), %rsi    # 0x4695ab
leaq 0x15b8(%rsp), %rdi
callq 0x11b7a0
jmp 0x11bf30
leaq 0x15d8(%rsp), %rdi
leaq 0x15b8(%rsp), %rsi
callq 0x11ea70
jmp 0x11bf47
leaq 0x158f(%rsp), %rdi
movq %rdi, 0x180(%rsp)
callq 0x114690
movq 0x180(%rsp), %rdx
leaq 0x34d552(%rip), %rsi    # 0x4694bd
leaq 0x1590(%rsp), %rdi
callq 0x11b7a0
jmp 0x11bf7a
leaq 0x1567(%rsp), %rdi
movq %rdi, 0x178(%rsp)
callq 0x114690
movq 0x178(%rsp), %rdx
leaq 0x34d617(%rip), %rsi    # 0x4695b5
leaq 0x1568(%rsp), %rdi
callq 0x11b7a0
jmp 0x11bfad
leaq 0x15d8(%rsp), %rdi
leaq 0x1590(%rsp), %rsi
leaq 0x1568(%rsp), %rdx
callq 0x11eaf0
movq %rax, 0x170(%rsp)
jmp 0x11bfd4
leaq 0x153f(%rsp), %rdi
movq %rdi, 0x168(%rsp)
callq 0x114690
movq 0x168(%rsp), %rdx
leaq 0x34d5bf(%rip), %rsi    # 0x4695b7
leaq 0x1540(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c007
movq 0x170(%rsp), %rdi
leaq 0x1540(%rsp), %rsi
callq 0x11eb40
movq %rax, 0x160(%rsp)
jmp 0x11c026
movq 0x160(%rsp), %rsi
leaq 0x1668(%rsp), %rdi
xorl %edx, %edx
callq 0x11ea20
jmp 0x11c03f
leaq 0x1540(%rsp), %rdi
callq 0x1147d8
leaq 0x153f(%rsp), %rdi
callq 0x1147c0
leaq 0x1568(%rsp), %rdi
callq 0x1147d8
leaq 0x1567(%rsp), %rdi
callq 0x1147c0
leaq 0x1590(%rsp), %rdi
callq 0x1147d8
leaq 0x158f(%rsp), %rdi
callq 0x1147c0
leaq 0x15d8(%rsp), %rdi
callq 0x11eb70
leaq 0x15b8(%rsp), %rdi
callq 0x1147d8
leaq 0x15b7(%rsp), %rdi
callq 0x1147c0
leaq 0x1487(%rsp), %rdi
movq %rdi, 0x158(%rsp)
callq 0x114690
movq 0x158(%rsp), %rdx
leaq 0x34d4f7(%rip), %rsi    # 0x4695cf
leaq 0x1488(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c0e7
leaq 0x14a8(%rsp), %rdi
leaq 0x1488(%rsp), %rsi
callq 0x11ea70
jmp 0x11c0fe
leaq 0x145f(%rsp), %rdi
movq %rdi, 0x150(%rsp)
callq 0x114690
movq 0x150(%rsp), %rdx
leaq 0x34d39b(%rip), %rsi    # 0x4694bd
leaq 0x1460(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c131
leaq 0x1437(%rsp), %rdi
movq %rdi, 0x148(%rsp)
callq 0x114690
movq 0x148(%rsp), %rdx
leaq 0x34d460(%rip), %rsi    # 0x4695b5
leaq 0x1438(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c164
leaq 0x140f(%rsp), %rdi
movq %rdi, 0x140(%rsp)
callq 0x114690
movq 0x140(%rsp), %rdx
leaq 0x34e668(%rip), %rsi    # 0x46a7f0
leaq 0x1410(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c197
leaq 0x14a8(%rsp), %rdi
leaq 0x1460(%rsp), %rsi
leaq 0x1438(%rsp), %rdx
leaq 0x1410(%rsp), %rcx
callq 0x11ebb0
movq %rax, 0x138(%rsp)
jmp 0x11c1c6
leaq 0x13e7(%rsp), %rdi
movq %rdi, 0x130(%rsp)
callq 0x114690
movq 0x130(%rsp), %rdx
leaq 0x34d3ef(%rip), %rsi    # 0x4695d9
leaq 0x13e8(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c1f9
movq 0x138(%rsp), %rdi
leaq 0x13e8(%rsp), %rsi
callq 0x11eb40
movq %rax, 0x128(%rsp)
jmp 0x11c218
movq 0x128(%rsp), %rsi
leaq 0x1668(%rsp), %rdi
xorl %edx, %edx
callq 0x11ea20
jmp 0x11c231
leaq 0x13e8(%rsp), %rdi
callq 0x1147d8
leaq 0x13e7(%rsp), %rdi
callq 0x1147c0
leaq 0x1410(%rsp), %rdi
callq 0x1147d8
leaq 0x140f(%rsp), %rdi
callq 0x1147c0
leaq 0x1438(%rsp), %rdi
callq 0x1147d8
leaq 0x1437(%rsp), %rdi
callq 0x1147c0
leaq 0x1460(%rsp), %rdi
callq 0x1147d8
leaq 0x145f(%rsp), %rdi
callq 0x1147c0
leaq 0x14a8(%rsp), %rdi
callq 0x11eb70
leaq 0x1488(%rsp), %rdi
callq 0x1147d8
leaq 0x1487(%rsp), %rdi
callq 0x1147c0
leaq 0x132f(%rsp), %rdi
movq %rdi, 0x120(%rsp)
callq 0x114690
movq 0x120(%rsp), %rdx
leaq 0x34d316(%rip), %rsi    # 0x4695fa
leaq 0x1330(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c2f3
leaq 0x1350(%rsp), %rdi
leaq 0x1330(%rsp), %rsi
callq 0x11ea70
jmp 0x11c30a
leaq 0x1307(%rsp), %rdi
movq %rdi, 0x118(%rsp)
callq 0x114690
movq 0x118(%rsp), %rdx
leaq 0x34d18f(%rip), %rsi    # 0x4694bd
leaq 0x1308(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c33d
leaq 0x12df(%rsp), %rdi
movq %rdi, 0x110(%rsp)
callq 0x114690
movq 0x110(%rsp), %rdx
leaq 0x34d254(%rip), %rsi    # 0x4695b5
leaq 0x12e0(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c370
leaq 0x1350(%rsp), %rdi
leaq 0x1308(%rsp), %rsi
leaq 0x12e0(%rsp), %rdx
callq 0x11eaf0
movq %rax, 0x108(%rsp)
jmp 0x11c397
leaq 0x12b7(%rsp), %rdi
movq %rdi, 0x100(%rsp)
callq 0x114690
movq 0x100(%rsp), %rdx
leaq 0x34d24f(%rip), %rsi    # 0x46960a
leaq 0x12b8(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c3ca
movq 0x108(%rsp), %rdi
leaq 0x12b8(%rsp), %rsi
callq 0x11eb40
movq %rax, 0xf8(%rsp)
jmp 0x11c3e9
movq 0xf8(%rsp), %rsi
leaq 0x1668(%rsp), %rdi
xorl %edx, %edx
callq 0x11ea20
jmp 0x11c402
leaq 0x12b8(%rsp), %rdi
callq 0x1147d8
leaq 0x12b7(%rsp), %rdi
callq 0x1147c0
leaq 0x12e0(%rsp), %rdi
callq 0x1147d8
leaq 0x12df(%rsp), %rdi
callq 0x1147c0
leaq 0x1308(%rsp), %rdi
callq 0x1147d8
leaq 0x1307(%rsp), %rdi
callq 0x1147c0
leaq 0x1350(%rsp), %rdi
callq 0x11eb70
leaq 0x1330(%rsp), %rdi
callq 0x1147d8
leaq 0x132f(%rsp), %rdi
callq 0x1147c0
leaq 0x11ff(%rsp), %rdi
movq %rdi, 0xf0(%rsp)
callq 0x114690
movq 0xf0(%rsp), %rdx
leaq 0x34d192(%rip), %rsi    # 0x46962d
leaq 0x1200(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c4aa
leaq 0x1220(%rsp), %rdi
leaq 0x1200(%rsp), %rsi
callq 0x11ea70
jmp 0x11c4c1
leaq 0x11d7(%rsp), %rdi
movq %rdi, 0xe8(%rsp)
callq 0x114690
movq 0xe8(%rsp), %rdx
leaq 0x34cfd8(%rip), %rsi    # 0x4694bd
leaq 0x11d8(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c4f4
leaq 0x11af(%rsp), %rdi
movq %rdi, 0xe0(%rsp)
callq 0x114690
movq 0xe0(%rsp), %rdx
leaq 0x34d09d(%rip), %rsi    # 0x4695b5
leaq 0x11b0(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c527
leaq 0x1220(%rsp), %rdi
leaq 0x11d8(%rsp), %rsi
leaq 0x11b0(%rsp), %rdx
callq 0x11eaf0
movq %rax, 0xd8(%rsp)
jmp 0x11c54e
leaq 0x1187(%rsp), %rdi
movq %rdi, 0xd0(%rsp)
callq 0x114690
movq 0xd0(%rsp), %rdx
leaq 0x34d0cb(%rip), %rsi    # 0x46963d
leaq 0x1188(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c581
movq 0xd8(%rsp), %rdi
leaq 0x1188(%rsp), %rsi
callq 0x11eb40
movq %rax, 0xc8(%rsp)
jmp 0x11c5a0
movq 0xc8(%rsp), %rsi
leaq 0x1668(%rsp), %rdi
xorl %edx, %edx
callq 0x11ea20
jmp 0x11c5b9
leaq 0x1188(%rsp), %rdi
callq 0x1147d8
leaq 0x1187(%rsp), %rdi
callq 0x1147c0
leaq 0x11b0(%rsp), %rdi
callq 0x1147d8
leaq 0x11af(%rsp), %rdi
callq 0x1147c0
leaq 0x11d8(%rsp), %rdi
callq 0x1147d8
leaq 0x11d7(%rsp), %rdi
callq 0x1147c0
leaq 0x1220(%rsp), %rdi
callq 0x11eb70
leaq 0x1200(%rsp), %rdi
callq 0x1147d8
leaq 0x11ff(%rsp), %rdi
callq 0x1147c0
leaq 0x10cf(%rsp), %rdi
movq %rdi, 0xc0(%rsp)
callq 0x114690
movq 0xc0(%rsp), %rdx
leaq 0x34d00d(%rip), %rsi    # 0x46965f
leaq 0x10d0(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c661
leaq 0x10f0(%rsp), %rdi
leaq 0x10d0(%rsp), %rsi
callq 0x11ea70
jmp 0x11c678
leaq 0x10a7(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0x114690
movq 0xb8(%rsp), %rdx
leaq 0x34ce21(%rip), %rsi    # 0x4694bd
leaq 0x10a8(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c6ab
leaq 0x107f(%rsp), %rdi
movq %rdi, 0xb0(%rsp)
callq 0x114690
movq 0xb0(%rsp), %rdx
leaq 0x34cee6(%rip), %rsi    # 0x4695b5
leaq 0x1080(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c6de
leaq 0x1057(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0x114690
movq 0xa8(%rsp), %rdx
leaq 0x34e0ee(%rip), %rsi    # 0x46a7f0
leaq 0x1058(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c711
leaq 0x10f0(%rsp), %rdi
leaq 0x10a8(%rsp), %rsi
leaq 0x1080(%rsp), %rdx
leaq 0x1058(%rsp), %rcx
callq 0x11ebb0
movq %rax, 0xa0(%rsp)
jmp 0x11c740
leaq 0x102f(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0x114690
movq 0x98(%rsp), %rdx
leaq 0x34cf0b(%rip), %rsi    # 0x46966f
leaq 0x1030(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c773
movq 0xa0(%rsp), %rdi
leaq 0x1030(%rsp), %rsi
callq 0x11eb40
movq %rax, 0x90(%rsp)
jmp 0x11c792
movq 0x90(%rsp), %rsi
leaq 0x1668(%rsp), %rdi
xorl %edx, %edx
callq 0x11ea20
jmp 0x11c7ab
leaq 0x1030(%rsp), %rdi
callq 0x1147d8
leaq 0x102f(%rsp), %rdi
callq 0x1147c0
leaq 0x1058(%rsp), %rdi
callq 0x1147d8
leaq 0x1057(%rsp), %rdi
callq 0x1147c0
leaq 0x1080(%rsp), %rdi
callq 0x1147d8
leaq 0x107f(%rsp), %rdi
callq 0x1147c0
leaq 0x10a8(%rsp), %rdi
callq 0x1147d8
leaq 0x10a7(%rsp), %rdi
callq 0x1147c0
leaq 0x10f0(%rsp), %rdi
callq 0x11eb70
leaq 0x10d0(%rsp), %rdi
callq 0x1147d8
leaq 0x10cf(%rsp), %rdi
callq 0x1147c0
leaq 0xf77(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0x114690
movq 0x88(%rsp), %rdx
leaq 0x34ce3d(%rip), %rsi    # 0x46969b
leaq 0xf78(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c86d
leaq 0xf98(%rsp), %rdi
leaq 0xf78(%rsp), %rsi
callq 0x11ea70
jmp 0x11c884
leaq 0xf4f(%rsp), %rdi
movq %rdi, 0x80(%rsp)
callq 0x114690
movq 0x80(%rsp), %rdx
leaq 0x34cc15(%rip), %rsi    # 0x4694bd
leaq 0xf50(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c8b7
leaq 0xf27(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x114690
movq 0x78(%rsp), %rdx
leaq 0x34cce0(%rip), %rsi    # 0x4695b5
leaq 0xf28(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c8e4
leaq 0xeff(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0x114690
movq 0x70(%rsp), %rdx
leaq 0x34deee(%rip), %rsi    # 0x46a7f0
leaq 0xf00(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c911
leaq 0xf98(%rsp), %rdi
leaq 0xf50(%rsp), %rsi
leaq 0xf28(%rsp), %rdx
leaq 0xf00(%rsp), %rcx
callq 0x11ebb0
movq %rax, 0x68(%rsp)
jmp 0x11c93d
leaq 0xed7(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x114690
movq 0x60(%rsp), %rdx
leaq 0x34cd50(%rip), %rsi    # 0x4696ab
leaq 0xed8(%rsp), %rdi
callq 0x11b7a0
jmp 0x11c96a
movq 0x68(%rsp), %rdi
leaq 0xed8(%rsp), %rsi
callq 0x11eb40
movq %rax, 0x58(%rsp)
jmp 0x11c983
movq 0x58(%rsp), %rsi
leaq 0x1668(%rsp), %rdi
xorl %edx, %edx
callq 0x11ea20
jmp 0x11c999
leaq 0xed8(%rsp), %rdi
callq 0x1147d8
leaq 0xed7(%rsp), %rdi
callq 0x1147c0
leaq 0xf00(%rsp), %rdi
callq 0x1147d8
leaq 0xeff(%rsp), %rdi
callq 0x1147c0
leaq 0xf28(%rsp), %rdi
callq 0x1147d8
leaq 0xf27(%rsp), %rdi
callq 0x1147c0
leaq 0xf50(%rsp), %rdi
callq 0x1147d8
leaq 0xf4f(%rsp), %rdi
callq 0x1147c0
leaq 0xf98(%rsp), %rdi
callq 0x11eb70
leaq 0xf78(%rsp), %rdi
callq 0x1147d8
leaq 0xf77(%rsp), %rdi
callq 0x1147c0
leaq 0xe1f(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x114690
movq 0x50(%rsp), %rdx
leaq 0x34cc90(%rip), %rsi    # 0x4696d6
leaq 0xe20(%rsp), %rdi
callq 0x11b7a0
jmp 0x11ca55
leaq 0xe40(%rsp), %rdi
leaq 0xe20(%rsp), %rsi
callq 0x11ea70
jmp 0x11ca6c
leaq 0xdf7(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x114690
movq 0x48(%rsp), %rdx
leaq 0x34cc59(%rip), %rsi    # 0x4696e3
leaq 0xdf8(%rsp), %rdi
callq 0x11b7a0
jmp 0x11ca99
leaq 0xe40(%rsp), %rdi
leaq 0xdf8(%rsp), %rsi
callq 0x11eb40
movq %rax, 0x40(%rsp)
jmp 0x11cab5
movq 0x40(%rsp), %rsi
leaq 0x1668(%rsp), %rdi
xorl %edx, %edx
callq 0x11ea20
jmp 0x11cacb
leaq 0xdf8(%rsp), %rdi
callq 0x1147d8
leaq 0xdf7(%rsp), %rdi
callq 0x1147c0
leaq 0xe40(%rsp), %rdi
callq 0x11eb70
leaq 0xe20(%rsp), %rdi
callq 0x1147d8
leaq 0xe1f(%rsp), %rdi
callq 0x1147c0
leaq 0xd3f(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x114690
movq 0x38(%rsp), %rdx
leaq 0x34d2cb(%rip), %rsi    # 0x469df5
leaq 0xd40(%rsp), %rdi
callq 0x11b7a0
jmp 0x11cb39
leaq 0xd60(%rsp), %rdi
leaq 0xd40(%rsp), %rsi
callq 0x11ea70
jmp 0x11cb50
leaq 0xd17(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x114690
movq 0x30(%rsp), %rdx
leaq 0x34c94f(%rip), %rsi    # 0x4694bd
leaq 0xd18(%rsp), %rdi
callq 0x11b7a0
jmp 0x11cb7d
leaq 0xcef(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x114690
movq 0x28(%rsp), %rdx
leaq 0x34ca1a(%rip), %rsi    # 0x4695b5
leaq 0xcf0(%rsp), %rdi
callq 0x11b7a0
jmp 0x11cbaa
leaq 0xd60(%rsp), %rdi
leaq 0xd18(%rsp), %rsi
leaq 0xcf0(%rsp), %rdx
callq 0x11eaf0
movq %rax, 0x20(%rsp)
jmp 0x11cbce
leaq 0xcc7(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x114690
movq 0x18(%rsp), %rdx
leaq 0x34d217(%rip), %rsi    # 0x469e03
leaq 0xcc8(%rsp), %rdi
callq 0x11b7a0
jmp 0x11cbfb
movq 0x20(%rsp), %rdi
leaq 0xcc8(%rsp), %rsi
callq 0x11eb40
movq %rax, 0x10(%rsp)
jmp 0x11cc14
movq 0x10(%rsp), %rsi
leaq 0x1668(%rsp), %rdi
xorl %edx, %edx
callq 0x11ea20
jmp 0x11cc2a
leaq 0xcc8(%rsp), %rdi
callq 0x1147d8
leaq 0xcc7(%rsp), %rdi
callq 0x1147c0
leaq 0xcf0(%rsp), %rdi
callq 0x1147d8
leaq 0xcef(%rsp), %rdi
callq 0x1147c0
leaq 0xd18(%rsp), %rdi
callq 0x1147d8
leaq 0xd17(%rsp), %rdi
callq 0x1147c0
leaq 0xd60(%rsp), %rdi
callq 0x11eb70
leaq 0xd40(%rsp), %rdi
callq 0x1147d8
leaq 0xd3f(%rsp), %rdi
callq 0x1147c0
leaq 0xc9f(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x114690
movq 0x8(%rsp), %rdx
leaq 0x34d935(%rip), %rsi    # 0x46a5f2
leaq 0xca0(%rsp), %rdi
callq 0x11b7a0
jmp 0x11cccc
leaq 0xc9f(%rsp), %rdi
callq 0x1147c0
leaq 0xc78(%rsp), %rdi
callq 0x11ec10
jmp 0x11cce8
leaq 0xc78(%rsp), %rdi
leaq 0x2208(%rsp), %rsi
callq 0x11ecc0
jmp 0x11ccff
leaq 0x200(%rsp), %rdi
movl $0x7f, %esi
callq 0x11ed70
jmp 0x11cd13
leaq 0x350(%rsp), %rdi
leaq 0x200(%rsp), %rsi
callq 0x11eea0
jmp 0x11cd2a
leaq 0x200(%rsp), %rdi
callq 0x11f6d0
leaq 0x350(%rsp), %rdi
leaq 0xca0(%rsp), %rsi
leaq 0xc78(%rsp), %rdx
callq 0x11f740
jmp 0x11cd56
leaq 0xc78(%rsp), %rdi
callq 0x11ffd0
jmp 0x11cd65
leaq 0x350(%rsp), %rdi
callq 0x11fff0
leaq 0xc78(%rsp), %rdi
callq 0x1201f0
leaq 0xca0(%rsp), %rdi
callq 0x1147d8
leaq 0x1668(%rsp), %rdi
callq 0x120230
leaq 0x2208(%rsp), %rdi
callq 0x1202c0
leaq 0x2210(%rsp), %rdi
callq 0x120340
leaq 0x22e0(%rsp), %rdi
callq 0x120370
leaq 0x36d0(%rsp), %rdi
callq 0x120380
leaq 0x36f8(%rsp), %rdi
callq 0x120380
leaq 0x3730(%rsp), %rdi
callq 0x120380
addq $0x3778, %rsp           # imm = 0x3778
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x3727(%rsp), %rdi
callq 0x11df40
jmp 0x11dbfe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x36ef(%rsp), %rdi
callq 0x11df40
jmp 0x11dbf1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x36c7(%rsp), %rdi
callq 0x11df40
jmp 0x11dbe4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11dbd7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11dbca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11dbbd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11cee3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x21e8(%rsp), %rdi
callq 0x1147d8
leaq 0x21e7(%rsp), %rdi
callq 0x1147c0
jmp 0x11dbb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11cf2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x21c0(%rsp), %rdi
callq 0x1147d8
leaq 0x21bf(%rsp), %rdi
callq 0x1147c0
jmp 0x11dbb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11cf75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x2198(%rsp), %rdi
callq 0x1147d8
leaq 0x2197(%rsp), %rdi
callq 0x1147c0
jmp 0x11dbb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11cfbe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x2170(%rsp), %rdi
callq 0x1147d8
leaq 0x216f(%rsp), %rdi
callq 0x1147c0
jmp 0x11dbb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d007
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x2148(%rsp), %rdi
callq 0x1147d8
leaq 0x2147(%rsp), %rdi
callq 0x1147c0
jmp 0x11dbb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d050
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x2120(%rsp), %rdi
callq 0x1147d8
leaq 0x211f(%rsp), %rdi
callq 0x1147c0
jmp 0x11dbb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d099
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x20f8(%rsp), %rdi
callq 0x1147d8
leaq 0x20f7(%rsp), %rdi
callq 0x1147c0
jmp 0x11dbb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d0e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x20d0(%rsp), %rdi
callq 0x1147d8
leaq 0x20cf(%rsp), %rdi
callq 0x1147c0
jmp 0x11dbb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d12b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x20a8(%rsp), %rdi
callq 0x1147d8
leaq 0x20a7(%rsp), %rdi
callq 0x1147c0
jmp 0x11dbb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d174
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x2080(%rsp), %rdi
callq 0x1147d8
leaq 0x207f(%rsp), %rdi
callq 0x1147c0
jmp 0x11dbb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d1bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x2058(%rsp), %rdi
callq 0x1147d8
leaq 0x2057(%rsp), %rdi
callq 0x1147c0
jmp 0x11dbb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11dbb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11dba3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d30a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d2fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d2e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d2c9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d2bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d2af
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x1540(%rsp), %rdi
callq 0x1147d8
leaq 0x153f(%rsp), %rdi
callq 0x1147c0
leaq 0x1568(%rsp), %rdi
callq 0x1147d8
leaq 0x1567(%rsp), %rdi
callq 0x1147c0
leaq 0x1590(%rsp), %rdi
callq 0x1147d8
leaq 0x158f(%rsp), %rdi
callq 0x1147c0
leaq 0x15d8(%rsp), %rdi
callq 0x11eb70
leaq 0x15b8(%rsp), %rdi
callq 0x1147d8
leaq 0x15b7(%rsp), %rdi
callq 0x1147c0
jmp 0x11dba3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d458
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d44b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d431
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d417
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d3fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d3f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d3e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x13e8(%rsp), %rdi
callq 0x1147d8
leaq 0x13e7(%rsp), %rdi
callq 0x1147c0
leaq 0x1410(%rsp), %rdi
callq 0x1147d8
leaq 0x140f(%rsp), %rdi
callq 0x1147c0
leaq 0x1438(%rsp), %rdi
callq 0x1147d8
leaq 0x1437(%rsp), %rdi
callq 0x1147c0
leaq 0x1460(%rsp), %rdi
callq 0x1147d8
leaq 0x145f(%rsp), %rdi
callq 0x1147c0
leaq 0x14a8(%rsp), %rdi
callq 0x11eb70
leaq 0x1488(%rsp), %rdi
callq 0x1147d8
leaq 0x1487(%rsp), %rdi
callq 0x1147c0
jmp 0x11dba3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d573
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d566
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d54c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d532
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d525
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d518
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x12b8(%rsp), %rdi
callq 0x1147d8
leaq 0x12b7(%rsp), %rdi
callq 0x1147c0
leaq 0x12e0(%rsp), %rdi
callq 0x1147d8
leaq 0x12df(%rsp), %rdi
callq 0x1147c0
leaq 0x1308(%rsp), %rdi
callq 0x1147d8
leaq 0x1307(%rsp), %rdi
callq 0x1147c0
leaq 0x1350(%rsp), %rdi
callq 0x11eb70
leaq 0x1330(%rsp), %rdi
callq 0x1147d8
leaq 0x132f(%rsp), %rdi
callq 0x1147c0
jmp 0x11dba3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d68e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d681
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d667
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d64d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d640
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d633
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x1188(%rsp), %rdi
callq 0x1147d8
leaq 0x1187(%rsp), %rdi
callq 0x1147c0
leaq 0x11b0(%rsp), %rdi
callq 0x1147d8
leaq 0x11af(%rsp), %rdi
callq 0x1147c0
leaq 0x11d8(%rsp), %rdi
callq 0x1147d8
leaq 0x11d7(%rsp), %rdi
callq 0x1147c0
leaq 0x1220(%rsp), %rdi
callq 0x11eb70
leaq 0x1200(%rsp), %rdi
callq 0x1147d8
leaq 0x11ff(%rsp), %rdi
callq 0x1147c0
jmp 0x11dba3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d7dc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d7cf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d7b5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d79b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d781
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d774
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d767
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x1030(%rsp), %rdi
callq 0x1147d8
leaq 0x102f(%rsp), %rdi
callq 0x1147c0
leaq 0x1058(%rsp), %rdi
callq 0x1147d8
leaq 0x1057(%rsp), %rdi
callq 0x1147c0
leaq 0x1080(%rsp), %rdi
callq 0x1147d8
leaq 0x107f(%rsp), %rdi
callq 0x1147c0
leaq 0x10a8(%rsp), %rdi
callq 0x1147d8
leaq 0x10a7(%rsp), %rdi
callq 0x1147c0
leaq 0x10f0(%rsp), %rdi
callq 0x11eb70
leaq 0x10d0(%rsp), %rdi
callq 0x1147d8
leaq 0x10cf(%rsp), %rdi
callq 0x1147c0
jmp 0x11dba3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d92a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d91d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d903
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d8e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d8cf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d8c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d8b5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0xed8(%rsp), %rdi
callq 0x1147d8
leaq 0xed7(%rsp), %rdi
callq 0x1147c0
leaq 0xf00(%rsp), %rdi
callq 0x1147d8
leaq 0xeff(%rsp), %rdi
callq 0x1147c0
leaq 0xf28(%rsp), %rdi
callq 0x1147d8
leaq 0xf27(%rsp), %rdi
callq 0x1147c0
leaq 0xf50(%rsp), %rdi
callq 0x1147d8
leaq 0xf4f(%rsp), %rdi
callq 0x1147c0
leaq 0xf98(%rsp), %rdi
callq 0x11eb70
leaq 0xf78(%rsp), %rdi
callq 0x1147d8
leaq 0xf77(%rsp), %rdi
callq 0x1147c0
jmp 0x11dba3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d9c6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d9b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11d99f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0xdf8(%rsp), %rdi
callq 0x1147d8
leaq 0xdf7(%rsp), %rdi
callq 0x1147c0
leaq 0xe40(%rsp), %rdi
callq 0x11eb70
leaq 0xe20(%rsp), %rdi
callq 0x1147d8
leaq 0xe1f(%rsp), %rdi
callq 0x1147c0
jmp 0x11dba3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11dae1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11dad4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11daba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11daa0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11da93
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11da86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0xcc8(%rsp), %rdi
callq 0x1147d8
leaq 0xcc7(%rsp), %rdi
callq 0x1147c0
leaq 0xcf0(%rsp), %rdi
callq 0x1147d8
leaq 0xcef(%rsp), %rdi
callq 0x1147c0
leaq 0xd18(%rsp), %rdi
callq 0x1147d8
leaq 0xd17(%rsp), %rdi
callq 0x1147c0
leaq 0xd60(%rsp), %rdi
callq 0x11eb70
leaq 0xd40(%rsp), %rdi
callq 0x1147d8
leaq 0xd3f(%rsp), %rdi
callq 0x1147c0
jmp 0x11dba3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0xc9f(%rsp), %rdi
callq 0x1147c0
jmp 0x11dba3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11db96
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
jmp 0x11db89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x200(%rsp), %rdi
callq 0x11f6d0
jmp 0x11db89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3718(%rsp)
movl %eax, 0x3714(%rsp)
leaq 0x350(%rsp), %rdi
callq 0x11fff0
leaq 0xc78(%rsp), %rdi
callq 0x1201f0
leaq 0xca0(%rsp), %rdi
callq 0x1147d8
leaq 0x1668(%rsp), %rdi
callq 0x120230
leaq 0x2208(%rsp), %rdi
callq 0x1202c0
leaq 0x2210(%rsp), %rdi
callq 0x120340
leaq 0x22e0(%rsp), %rdi
callq 0x120370
leaq 0x36d0(%rsp), %rdi
callq 0x120380
leaq 0x36f8(%rsp), %rdi
callq 0x120380
leaq 0x3730(%rsp), %rdi
callq 0x120380
movq 0x3718(%rsp), %rdi
callq 0x114470
nopl (%rax,%rax)