// File: /workspace/github_cpp_makefile_star2_O2/harry830622[P]floorplanner/src/floorplan.cpp
// Function: Floorplan::Pack(Database const&)
void Floorplan::Pack(const Database& database) {
  b_star_tree_.UnvisitAll();

  const int root_id = b_star_tree_.root_id();
  const int root_macro_id = macro_id_by_node_id_.at(root_id);
  const Macro& root_macro = database.macro(root_macro_id);
  double root_macro_width = root_macro.width();
  double root_macro_height = root_macro.height();
  const bool is_root_macro_rotated = is_macro_rotated_by_id_.at(root_macro_id);

  if (is_root_macro_rotated) {
    swap(root_macro_width, root_macro_height);
  }

  Contour contour;
  macro_bounding_box_by_id_.at(root_macro_id) =
      contour.Update(0.0, root_macro_width, root_macro_height);

  if (is_drawing_) {
    drawing_["macros"] = Json::array();
    const auto& root_macro_bounding_box =
        macro_bounding_box_by_id_.at(root_macro_id);
    const Point& root_macro_lower_left = root_macro_bounding_box.first;
    const Point& root_macro_upper_right = root_macro_bounding_box.second;
    const string& root_macro_name = root_macro.name();
    drawing_["macros"].push_back(
        {{"name", root_macro_name},
         {"lowerLeft",
          {{"x", root_macro_lower_left.x()}, {"y", root_macro_lower_left.y()}}},
         {"upperRight",
          {{"x", root_macro_upper_right.x()},
           {"y", root_macro_upper_right.y()}}}});
  }

  stack<int> unvisited_node_ids;
  unvisited_node_ids.push(root_id);
  while (!unvisited_node_ids.empty()) {
    const int current_node_id = unvisited_node_ids.top();
    const int current_macro_id = macro_id_by_node_id_.at(current_node_id);
    const pair<Point, Point> current_macro_bounding_box =
        macro_bounding_box_by_id_.at(current_macro_id);
    const int left_child_id = b_star_tree_.left_child_id(current_node_id);
    const int right_child_id = b_star_tree_.right_child_id(current_node_id);

    if (left_child_id != -1 && !b_star_tree_.is_visited(left_child_id)) {
      unvisited_node_ids.push(left_child_id);

      const int left_child_macro_id = macro_id_by_node_id_.at(left_child_id);
      const Macro& left_child_macro = database.macro(left_child_macro_id);
      double left_child_macro_width = left_child_macro.width();
      double left_child_macro_height = left_child_macro.height();
      const bool is_left_child_macro_rotated =
          is_macro_rotated_by_id_.at(left_child_macro_id);

      if (is_left_child_macro_rotated) {
        swap(left_child_macro_width, left_child_macro_height);
      }

      macro_bounding_box_by_id_.at(left_child_macro_id) =
          contour.Update(current_macro_bounding_box.second.x(),
                         left_child_macro_width, left_child_macro_height);

      if (is_drawing_) {
        const auto& left_child_macro_bounding_box =
            macro_bounding_box_by_id_.at(left_child_macro_id);
        const Point& left_child_macro_lower_left =
            left_child_macro_bounding_box.first;
        const Point& left_child_macro_upper_right =
            left_child_macro_bounding_box.second;
        const string& left_child_macro_name = left_child_macro.name();
        drawing_["macros"].push_back(
            {{"name", left_child_macro_name},
             {"lowerLeft",
              {{"x", left_child_macro_lower_left.x()},
               {"y", left_child_macro_lower_left.y()}}},
             {"upperRight",
              {{"x", left_child_macro_upper_right.x()},
               {"y", left_child_macro_upper_right.y()}}}});
      }
    } else if (right_child_id != -1 &&
               !b_star_tree_.is_visited(right_child_id)) {
      unvisited_node_ids.push(right_child_id);

      const int right_child_macro_id = macro_id_by_node_id_.at(right_child_id);
      const Macro& right_child_macro = database.macro(right_child_macro_id);
      double right_child_macro_width = right_child_macro.width();
      double right_child_macro_height = right_child_macro.height();
      const bool is_right_child_macro_rotated =
          is_macro_rotated_by_id_.at(right_child_macro_id);

      if (is_right_child_macro_rotated) {
        swap(right_child_macro_width, right_child_macro_height);
      }

      macro_bounding_box_by_id_.at(right_child_macro_id) =
          contour.Update(current_macro_bounding_box.first.x(),
                         right_child_macro_width, right_child_macro_height);

      if (is_drawing_) {
        const auto& right_child_macro_bounding_box =
            macro_bounding_box_by_id_.at(right_child_macro_id);
        const Point& right_child_macro_lower_right =
            right_child_macro_bounding_box.first;
        const Point& right_child_macro_upper_right =
            right_child_macro_bounding_box.second;
        const string& right_child_macro_name = right_child_macro.name();
        drawing_["macros"].push_back(
            {{"name", right_child_macro_name},
             {"lowerLeft",
              {{"x", right_child_macro_lower_right.x()},
               {"y", right_child_macro_lower_right.y()}}},
             {"upperRight",
              {{"x", right_child_macro_upper_right.x()},
               {"y", right_child_macro_upper_right.y()}}}});
      }
    } else {
      unvisited_node_ids.pop();

      b_star_tree_.Visit(current_node_id);
    }
  }

  width_ = contour.max_x();
  height_ = contour.max_y();

  wirelength_ = 0.0;
  for (int i = 0; i < database.num_nets(); ++i) {
    wirelength_ += database.net(i).ComputeWirelength(macro_bounding_box_by_id_);
  }

  if (is_drawing_) {
    drawing_["width"] = width();
    drawing_["height"] = height();
    drawing_["area"] = area();
    drawing_["wirelength"] = wirelength();
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2f8, %rsp            # imm = 0x2F8
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x20(%rdi), %r15
movq %r15, %rdi
callq 0x7d92
movq %r15, 0xa8(%rsp)
movq %r15, %rdi
callq 0x7d3c
movl %eax, 0x184(%rsp)
leaq 0x40(%r14), %rdi
movslq %eax, %rsi
movq %rdi, 0x168(%rsp)
callq 0xd53c
movl (%rax), %ebp
movq %rbx, 0x10(%rsp)
movq %rbx, %rdi
movl %ebp, %esi
callq 0x8d72
movq %rax, %rbx
movq %rax, %rdi
callq 0x12e60
movsd %xmm0, 0x18(%rsp)
movq %rbx, %rdi
callq 0x12e66
movsd %xmm0, (%rsp)
movq %r14, 0xa0(%rsp)
leaq 0x58(%r14), %rdi
movslq %ebp, %r14
movq %rdi, 0x1f8(%rsp)
movq %r14, %rsi
callq 0xd23a
testq %rdx, (%rax)
je 0xb615
movsd 0x18(%rsp), %xmm0
movsd %xmm0, 0x8(%rsp)
jmp 0xb62b
movsd (%rsp), %xmm0
movsd %xmm0, 0x8(%rsp)
movsd 0x18(%rsp), %xmm0
movsd %xmm0, (%rsp)
leaq 0x270(%rsp), %r15
movq %r15, %rdi
callq 0x8128
leaq 0x220(%rsp), %rdi
xorpd %xmm0, %xmm0
movq %r15, %rsi
movsd (%rsp), %xmm1
movsd 0x8(%rsp), %xmm2
callq 0x82d0
movq 0xa0(%rsp), %rbp
leaq 0x80(%rbp), %rdi
movq %rdi, (%rsp)
movq %r14, %rsi
callq 0xd5c6
movups 0x220(%rsp), %xmm0
movups %xmm0, (%rax)
movupd 0x230(%rsp), %xmm0
movupd %xmm0, 0x10(%rax)
cmpb $0x1, (%rbp)
jne 0xba6a
leaq 0x2d0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xd5e8
leaq 0x98(%rbp), %r15
leaq 0xfcb2(%rip), %rsi      # 0x1b369
movq %r15, %rdi
callq 0xd3fa
leaq 0x2d0(%rsp), %r12
movq %rax, %rdi
movq %r12, %rsi
callq 0xd4fc
movq %r12, %rdi
callq 0xd290
movq (%rsp), %rdi
movq %r14, %rsi
callq 0xd5c6
movq %rax, %r13
movq %rbx, %rdi
callq 0x12e5c
movq %rax, %rbx
leaq 0xfc6e(%rip), %rsi      # 0x1b369
movq %r15, %rdi
callq 0xd3fa
movq %rax, %r12
leaq 0xfc63(%rip), %rsi      # 0x1b370
leaq 0x48(%rsp), %rdi
callq 0xd25c
leaq 0x58(%rsp), %rdi
movq %rbx, %rsi
callq 0xd3e0
leaq 0x220(%rsp), %rbx
leaq 0x48(%rsp), %rsi
pushq $0x2
popq %rdx
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
movq %rbx, %rdi
callq 0xd2e8
leaq 0x230(%rsp), %rbx
leaq 0xfc23(%rip), %rsi      # 0x1b375
leaq 0x200(%rsp), %rdi
callq 0xd6c8
leaq 0xfc19(%rip), %rsi      # 0x1b37f
leaq 0x120(%rsp), %rdi
callq 0xd6e2
movq %r13, %rdi
callq 0x1aa7e
leaq 0x130(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
movsd %xmm0, (%rsi)
callq 0xd6fc
leaq 0x140(%rsp), %r14
leaq 0x120(%rsp), %rsi
pushq $0x2
popq %rdx
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
movq %r14, %rdi
callq 0xd2e8
leaq 0x150(%rsp), %r14
leaq 0xfe58(%rip), %rsi      # 0x1b61d
leaq 0x78(%rsp), %rdi
callq 0xd6e2
movq %r13, %rdi
callq 0x1aa84
leaq 0x88(%rsp), %rdi
leaq 0x188(%rsp), %rsi
movsd %xmm0, (%rsi)
callq 0xd6fc
leaq 0x78(%rsp), %rsi
pushq $0x2
popq %rdx
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
movq %r14, %rdi
callq 0xd2e8
leaq 0x210(%rsp), %rdi
leaq 0x140(%rsp), %rsi
pushq $0x2
popq %rdx
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
callq 0xd2e8
leaq 0x200(%rsp), %rsi
pushq $0x2
popq %rdx
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
movq %rbx, %rdi
callq 0xd2e8
leaq 0x240(%rsp), %rbx
leaq 0xfb32(%rip), %rsi      # 0x1b381
leaq 0x100(%rsp), %rdi
callq 0xd716
leaq 0xfb1c(%rip), %rsi      # 0x1b37f
leaq 0xc0(%rsp), %rdi
callq 0xd6e2
addq $0x10, %r13
movq %r13, %rdi
callq 0x1aa7e
leaq 0xd0(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
movsd %xmm0, (%rsi)
callq 0xd6fc
leaq 0xe0(%rsp), %r15
leaq 0xc0(%rsp), %rsi
pushq $0x2
popq %rdx
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
movq %r15, %rdi
callq 0xd2e8
leaq 0xf0(%rsp), %r15
leaq 0xfd57(%rip), %rsi      # 0x1b61d
leaq 0x28(%rsp), %rdi
callq 0xd6e2
movq %r13, %rdi
callq 0x1aa84
leaq 0x38(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
movsd %xmm0, (%rsi)
callq 0xd6fc
leaq 0x28(%rsp), %rsi
pushq $0x2
popq %rdx
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
movq %r15, %rdi
callq 0xd2e8
leaq 0x110(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
pushq $0x2
popq %rdx
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
callq 0xd2e8
leaq 0x100(%rsp), %rsi
pushq $0x2
popq %rdx
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
movq %rbx, %rdi
callq 0xd2e8
leaq 0x220(%rsp), %rsi
pushq $0x3
popq %rdx
movq %r12, %rdi
callq 0xd5fc
pushq $0x20
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x220, %rdi            # imm = 0x220
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xb954
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x100, %rdi            # imm = 0x100
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xb971
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0xe0, %rdi
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xb98e
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x28, %rdi
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xb9ab
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0xc0, %rdi
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xb9c5
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x200, %rdi            # imm = 0x200
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xb9e2
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x140, %rdi            # imm = 0x140
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xb9ff
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x78, %rdi
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xba1c
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x120, %rdi            # imm = 0x120
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xba36
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x48, %rdi
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xba53
leaq 0x220(%rsp), %rdi
callq 0xd730
leaq 0x220(%rsp), %rdi
leaq 0x184(%rsp), %rsi
callq 0xf866
leaq 0x58(%rsp), %rax
movq %rax, 0x1f0(%rsp)
leaq 0x98(%rbp), %rax
movq %rax, 0x160(%rsp)
leaq 0x88(%rsp), %rbp
leaq 0x68(%rsp), %rax
movq %rax, 0x1e8(%rsp)
leaq 0x38(%rsp), %rax
movq %rax, 0x1d0(%rsp)
leaq 0x58(%rsp), %rax
movq %rax, 0x98(%rsp)
leaq 0x88(%rsp), %rax
movq %rax, 0x1e0(%rsp)
leaq 0x68(%rsp), %rax
movq %rax, 0x1d8(%rsp)
leaq 0x38(%rsp), %rax
movq %rax, 0x1c8(%rsp)
leaq 0x48(%rsp), %r12
movq 0x250(%rsp), %rax
cmpq 0x230(%rsp), %rax
je 0xc4e5
cmpq 0x258(%rsp), %rax
jne 0xbb3a
movq 0x268(%rsp), %rax
movq -0x8(%rax), %rax
movl $0x200, %ecx            # imm = 0x200
addq %rcx, %rax
movl -0x4(%rax), %ebx
movslq %ebx, %rsi
movq 0x168(%rsp), %rdi
callq 0xd53c
movslq (%rax), %rsi
movq (%rsp), %rdi
callq 0xd5c6
movupd (%rax), %xmm0
movups 0x10(%rax), %xmm1
movaps %xmm1, 0x210(%rsp)
movapd %xmm0, 0x200(%rsp)
movq 0xa8(%rsp), %r14
movq %r14, %rdi
movl %ebx, %esi
callq 0x7d56
movl %eax, 0x24(%rsp)
movq %r14, %rdi
movl %ebx, %esi
callq 0x7d62
movl %eax, 0x20(%rsp)
movl 0x24(%rsp), %esi
cmpl $-0x1, %esi
je 0xbbb4
movq 0xa8(%rsp), %rdi
callq 0x7d6e
testb %al, %al
je 0xbbf1
movl 0x20(%rsp), %eax
cmpl $-0x1, %eax
je 0xbbd0
movq 0xa8(%rsp), %rdi
movl %eax, %esi
callq 0x7d6e
testb %al, %al
je 0xbc84
leaq 0x220(%rsp), %rdi
callq 0xfa9a
movq 0xa8(%rsp), %rdi
movl %ebx, %esi
callq 0x7d7a
jmp 0xbb06
leaq 0x220(%rsp), %rdi
leaq 0x24(%rsp), %rsi
callq 0xf866
movslq 0x24(%rsp), %rsi
movq 0x168(%rsp), %rdi
callq 0xd53c
movl (%rax), %r15d
movq 0x10(%rsp), %rdi
movl %r15d, %esi
callq 0x8d72
movq %rax, %rbx
movq %rax, %rdi
callq 0x12e60
movsd %xmm0, 0x8(%rsp)
movq %rbx, %rdi
callq 0x12e66
movsd %xmm0, 0x18(%rsp)
movslq %r15d, %r15
movq 0x1f8(%rsp), %rdi
movq %r15, %rsi
callq 0xd23a
movq %rdx, %r13
movq (%rax), %r14
leaq 0x210(%rsp), %rdi
callq 0x1aa7e
testq %r13, %r14
je 0xbd17
movsd 0x18(%rsp), %xmm1
movsd 0x8(%rsp), %xmm2
jmp 0xbd23
leaq 0x220(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xf866
movslq 0x20(%rsp), %rsi
movq 0x168(%rsp), %rdi
callq 0xd53c
movl (%rax), %r15d
movq 0x10(%rsp), %rdi
movl %r15d, %esi
callq 0x8d72
movq %rax, %rbx
movq %rax, %rdi
callq 0x12e60
movsd %xmm0, 0x8(%rsp)
movq %rbx, %rdi
callq 0x12e66
movsd %xmm0, 0x18(%rsp)
movslq %r15d, %r15
movq 0x1f8(%rsp), %rdi
movq %r15, %rsi
callq 0xd23a
movq %rdx, %r13
movq (%rax), %r14
leaq 0x200(%rsp), %rdi
callq 0x1aa7e
testq %r13, %r14
movsd 0x18(%rsp), %xmm1
je 0xc0fd
movsd 0x8(%rsp), %xmm2
jmp 0xc106
movsd 0x8(%rsp), %xmm1
movsd 0x18(%rsp), %xmm2
movq %r12, %rdi
leaq 0x270(%rsp), %rsi
callq 0x82d0
movq (%rsp), %rdi
movq %r15, %rsi
callq 0xd5c6
movups 0x48(%rsp), %xmm0
movups %xmm0, (%rax)
leaq 0x58(%rsp), %rcx
movupd (%rcx), %xmm0
movupd %xmm0, 0x10(%rax)
movq 0xa0(%rsp), %rax
cmpb $0x1, (%rax)
pushq $0x2
popq %r13
jne 0xbb06
movq (%rsp), %rdi
movq %r15, %rsi
callq 0xd5c6
movq %rax, %r15
movq %rbx, %rdi
callq 0x12e5c
movq %rax, %rbx
movq 0x160(%rsp), %rdi
leaq 0xf5d6(%rip), %rsi      # 0x1b369
callq 0xd3fa
movq %rax, 0x8(%rsp)
leaq 0x140(%rsp), %rdi
leaq 0xf5c4(%rip), %rsi      # 0x1b370
callq 0xd25c
leaq 0x150(%rsp), %rdi
movq %rbx, %rsi
callq 0xd3e0
movq %r12, %rdi
leaq 0x140(%rsp), %rsi
movq %r13, %rdx
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
callq 0xd2e8
leaq 0x120(%rsp), %rdi
leaq 0xf58b(%rip), %rsi      # 0x1b375
callq 0xd6c8
leaq 0x100(%rsp), %rdi
leaq 0xf581(%rip), %rsi      # 0x1b37f
callq 0xd6e2
movq %r15, %rdi
callq 0x1aa7e
movsd %xmm0, 0xb8(%rsp)
leaq 0x110(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
callq 0xd6fc
leaq 0x78(%rsp), %rdi
leaq 0x100(%rsp), %rsi
movq %r13, %rdx
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
callq 0xd2e8
leaq 0xe0(%rsp), %rdi
leaq 0xf7c9(%rip), %rsi      # 0x1b61d
callq 0xd6e2
movq %r15, %rdi
callq 0x1aa84
movsd %xmm0, 0xb0(%rsp)
leaq 0xf0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0xd6fc
movq %rbp, %rdi
leaq 0xe0(%rsp), %rsi
movq %r13, %rdx
pushq $0x1
popq %rbx
movl %ebx, %ecx
pushq $0x2
popq %r14
movl %r14d, %r8d
callq 0xd2e8
leaq 0x130(%rsp), %rdi
leaq 0x78(%rsp), %rsi
movq %r13, %rdx
movl %ebx, %ecx
movl %r14d, %r8d
callq 0xd2e8
leaq 0x58(%rsp), %rdi
leaq 0x120(%rsp), %rsi
movq %r13, %rdx
movl %ebx, %ecx
movl %r14d, %r8d
callq 0xd2e8
leaq 0xc0(%rsp), %rdi
leaq 0xf4a0(%rip), %rsi      # 0x1b381
callq 0xd716
leaq 0x1a8(%rsp), %rdi
leaq 0xf48a(%rip), %rsi      # 0x1b37f
callq 0xd6e2
addq $0x10, %r15
movq %r15, %rdi
callq 0x1aa7e
movsd %xmm0, 0x178(%rsp)
leaq 0x1b8(%rsp), %rdi
leaq 0x178(%rsp), %rsi
callq 0xd6fc
leaq 0x28(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
movq %r13, %rdx
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
callq 0xd2e8
leaq 0x188(%rsp), %rdi
leaq 0xf6ce(%rip), %rsi      # 0x1b61d
callq 0xd6e2
movq %r15, %rdi
callq 0x1aa84
movsd %xmm0, 0x170(%rsp)
leaq 0x198(%rsp), %rdi
leaq 0x170(%rsp), %rsi
callq 0xd6fc
leaq 0x38(%rsp), %rdi
leaq 0x188(%rsp), %rsi
movq %r13, %rdx
pushq $0x1
popq %rbx
movl %ebx, %ecx
pushq $0x2
popq %r14
movl %r14d, %r8d
callq 0xd2e8
leaq 0xd0(%rsp), %rdi
leaq 0x28(%rsp), %rsi
movq %r13, %rdx
movl %ebx, %ecx
movl %r14d, %r8d
callq 0xd2e8
leaq 0x68(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
movq %r13, %rdx
movl %ebx, %ecx
movl %r14d, %r8d
callq 0xd2e8
movq 0x8(%rsp), %rdi
movq %r12, %rsi
pushq $0x3
popq %rdx
callq 0xd5fc
pushq $0x20
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x48, %rdi
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xbfe2
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0xc0, %rdi
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xbffc
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x28, %rdi
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc019
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x188, %rdi            # imm = 0x188
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc033
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x1a8, %rdi            # imm = 0x1A8
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc050
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x120, %rdi            # imm = 0x120
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc06d
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x78, %rdi
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc08a
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0xe0, %rdi
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc0a4
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x100, %rdi            # imm = 0x100
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc0c1
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x140, %rdi            # imm = 0x140
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc0de
jmp 0xbb06
movaps %xmm1, %xmm2
movsd 0x8(%rsp), %xmm1
movq %r12, %rdi
leaq 0x270(%rsp), %rsi
callq 0x82d0
movq (%rsp), %rdi
movq %r15, %rsi
callq 0xd5c6
movups 0x48(%rsp), %xmm0
movups %xmm0, (%rax)
leaq 0x58(%rsp), %rcx
movupd (%rcx), %xmm0
movupd %xmm0, 0x10(%rax)
movq 0xa0(%rsp), %rax
cmpb $0x1, (%rax)
pushq $0x2
popq %r13
jne 0xbb06
movq (%rsp), %rdi
movq %r15, %rsi
callq 0xd5c6
movq %rax, %r15
movq %rbx, %rdi
callq 0x12e5c
movq %rax, %rbx
movq 0x160(%rsp), %rdi
leaq 0xf1f3(%rip), %rsi      # 0x1b369
callq 0xd3fa
movq %rax, 0x8(%rsp)
leaq 0x140(%rsp), %rdi
leaq 0xf1e1(%rip), %rsi      # 0x1b370
callq 0xd25c
leaq 0x150(%rsp), %rdi
movq %rbx, %rsi
callq 0xd3e0
movq %r12, %rdi
leaq 0x140(%rsp), %rsi
movq %r13, %rdx
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
callq 0xd2e8
leaq 0x120(%rsp), %rdi
leaq 0xf1a8(%rip), %rsi      # 0x1b375
callq 0xd6c8
leaq 0x100(%rsp), %rdi
leaq 0xf19e(%rip), %rsi      # 0x1b37f
callq 0xd6e2
movq %r15, %rdi
callq 0x1aa7e
movsd %xmm0, 0xb8(%rsp)
leaq 0x110(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
callq 0xd6fc
leaq 0x78(%rsp), %rdi
leaq 0x100(%rsp), %rsi
movq %r13, %rdx
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
callq 0xd2e8
leaq 0xe0(%rsp), %rdi
leaq 0xf3e6(%rip), %rsi      # 0x1b61d
callq 0xd6e2
movq %r15, %rdi
callq 0x1aa84
movsd %xmm0, 0xb0(%rsp)
leaq 0xf0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0xd6fc
leaq 0x88(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
movq %r13, %rdx
pushq $0x1
popq %rbx
movl %ebx, %ecx
pushq $0x2
popq %r14
movl %r14d, %r8d
callq 0xd2e8
leaq 0x130(%rsp), %rdi
leaq 0x78(%rsp), %rsi
movq %r13, %rdx
movl %ebx, %ecx
movl %r14d, %r8d
callq 0xd2e8
leaq 0x58(%rsp), %rdi
leaq 0x120(%rsp), %rsi
movq %r13, %rdx
movl %ebx, %ecx
movl %r14d, %r8d
callq 0xd2e8
leaq 0xc0(%rsp), %rdi
leaq 0xf0b8(%rip), %rsi      # 0x1b381
callq 0xd716
leaq 0x1a8(%rsp), %rdi
leaq 0xf0a2(%rip), %rsi      # 0x1b37f
callq 0xd6e2
addq $0x10, %r15
movq %r15, %rdi
callq 0x1aa7e
movsd %xmm0, 0x178(%rsp)
leaq 0x1b8(%rsp), %rdi
leaq 0x178(%rsp), %rsi
callq 0xd6fc
leaq 0x28(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
movq %r13, %rdx
pushq $0x1
popq %rcx
pushq $0x2
popq %r8
callq 0xd2e8
leaq 0x188(%rsp), %rdi
leaq 0xf2e6(%rip), %rsi      # 0x1b61d
callq 0xd6e2
movq %r15, %rdi
callq 0x1aa84
movsd %xmm0, 0x170(%rsp)
leaq 0x198(%rsp), %rdi
leaq 0x170(%rsp), %rsi
callq 0xd6fc
leaq 0x38(%rsp), %rdi
leaq 0x188(%rsp), %rsi
movq %r13, %rdx
pushq $0x1
popq %rbx
movl %ebx, %ecx
pushq $0x2
popq %r14
movl %r14d, %r8d
callq 0xd2e8
leaq 0xd0(%rsp), %rdi
leaq 0x28(%rsp), %rsi
movq %r13, %rdx
movl %ebx, %ecx
movl %r14d, %r8d
callq 0xd2e8
leaq 0x68(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
movq %r13, %rdx
movl %ebx, %ecx
movl %r14d, %r8d
callq 0xd2e8
movq 0x8(%rsp), %rdi
movq %r12, %rsi
pushq $0x3
popq %rdx
callq 0xd5fc
pushq $0x20
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x48, %rdi
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc3ca
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0xc0, %rdi
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc3e4
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x28, %rdi
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc401
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x188, %rdi            # imm = 0x188
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc41b
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x1a8, %rdi            # imm = 0x1A8
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc438
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x120, %rdi            # imm = 0x120
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc455
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x78, %rdi
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc472
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0xe0, %rdi
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc48c
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x100, %rdi            # imm = 0x100
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc4a9
pushq $0x10
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x140, %rdi            # imm = 0x140
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xc4c6
jmp 0xbb06
leaq 0x270(%rsp), %rdi
callq 0x82bc
movq 0xa0(%rsp), %r12
movsd %xmm0, 0x8(%r12)
leaq 0x270(%rsp), %rdi
callq 0x82ca
movsd %xmm0, 0x10(%r12)
andq $0x0, 0x18(%r12)
xorl %ebx, %ebx
leaq 0x2e0(%rsp), %r14
movq 0x160(%rsp), %r13
movq 0x10(%rsp), %rdi
callq 0x8d60
cmpl %eax, %ebx
jge 0xc57b
movq 0x10(%rsp), %rdi
movl %ebx, %esi
callq 0x8d8a
movq %rax, %r15
movq %r14, %rdi
movq (%rsp), %rsi
callq 0xd74c
movq %r15, %rdi
movq %r14, %rsi
callq 0x1a942
addsd 0x18(%r12), %xmm0
movsd %xmm0, 0x18(%r12)
movq %r14, %rdi
callq 0xdb6a
incl %ebx
jmp 0xc52d
cmpb $0x0, (%r12)
je 0xc6a9
movsd 0x8(%r12), %xmm0
leaq 0x48(%rsp), %rsi
movsd %xmm0, (%rsi)
leaq 0x2c0(%rsp), %rdi
callq 0xd6fc
leaq 0xede2(%rip), %rsi      # 0x1b38c
movq %r13, %rdi
callq 0xd3fa
leaq 0x2c0(%rsp), %rbx
movq %rax, %rdi
movq %rbx, %rsi
callq 0xd4fc
movq %rbx, %rdi
callq 0xd290
movsd 0x10(%r12), %xmm0
leaq 0x48(%rsp), %rsi
movsd %xmm0, (%rsi)
leaq 0x2b0(%rsp), %rdi
callq 0xd6fc
leaq 0xeda1(%rip), %rsi      # 0x1b392
movq %r13, %rdi
callq 0xd3fa
leaq 0x2b0(%rsp), %rbx
movq %rax, %rdi
movq %rbx, %rsi
callq 0xd4fc
movq %rbx, %rdi
callq 0xd290
movsd 0x8(%r12), %xmm0
mulsd 0x10(%r12), %xmm0
leaq 0x48(%rsp), %rsi
movsd %xmm0, (%rsi)
leaq 0x2a0(%rsp), %rdi
callq 0xd6fc
leaq 0xed5a(%rip), %rsi      # 0x1b399
movq %r13, %rdi
callq 0xd3fa
leaq 0x2a0(%rsp), %rbx
movq %rax, %rdi
movq %rbx, %rsi
callq 0xd4fc
movq %rbx, %rdi
callq 0xd290
movsd 0x18(%r12), %xmm0
leaq 0x48(%rsp), %rsi
movsd %xmm0, (%rsi)
leaq 0x290(%rsp), %rdi
callq 0xd6fc
leaq 0xed18(%rip), %rsi      # 0x1b39e
movq %r13, %rdi
callq 0xd3fa
leaq 0x290(%rsp), %rbx
movq %rax, %rdi
movq %rbx, %rsi
callq 0xd4fc
movq %rbx, %rdi
callq 0xd290
leaq 0x220(%rsp), %rdi
callq 0xd7a4
leaq 0x278(%rsp), %rdi
callq 0x870a
addq $0x2f8, %rsp            # imm = 0x2F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r13
leaq 0x290(%rsp), %rdi
jmp 0xce4f
movq %rax, %r13
leaq 0x2a0(%rsp), %rdi
jmp 0xce4f
movq %rax, %r13
leaq 0x2b0(%rsp), %rdi
jmp 0xce4f
movq %rax, %r13
leaq 0x2c0(%rsp), %rdi
jmp 0xce4f
movq %rax, (%rsp)
pushq $0x20
popq %r12
leaq (%rsp,%r12), %rdi
addq $0x220, %rdi            # imm = 0x220
callq 0xd290
addq $-0x10, %r12
cmpq $-0x10, %r12
jne 0xc71d
xorl %ebp, %ebp
jmp 0xc742
movq %rax, (%rsp)
movb $0x1, %bpl
pushq $0x10
popq %r12
leaq (%rsp,%r12), %rdi
addq $0x100, %rdi            # imm = 0x100
callq 0xd290
addq $-0x10, %r12
cmpq $-0x10, %r12
jne 0xc746
movb $0x1, %al
movl %eax, 0x10(%rsp)
jmp 0xc777
movq %rax, (%rsp)
movb $0x1, %bpl
movl $0x0, 0x10(%rsp)
pushq $0x10
popq %r12
leaq (%rsp,%r12), %rdi
addq $0xe0, %rdi
callq 0xd290
addq $-0x10, %r12
cmpq $-0x10, %r12
jne 0xc77b
xorl %r13d, %r13d
jmp 0xc7ac
movq %rax, (%rsp)
movb $0x1, %bpl
movl $0x0, 0x10(%rsp)
movb $0x1, %r13b
pushq $0x10
popq %r12
leaq (%rsp,%r12), %rdi
addq $0x28, %rdi
callq 0xd290
addq $-0x10, %r12
cmpq $-0x10, %r12
jne 0xc7b0
jmp 0xc7ff
movq %rax, (%rsp)
leaq 0x28(%rsp), %rdi
callq 0xd290
jmp 0xc7dd
movq %rax, (%rsp)
movb $0x1, %r13b
movl $0x0, 0x10(%rsp)
movb $0x1, %bpl
jmp 0xc7ff
movq %rax, (%rsp)
movb $0x1, %bpl
movl $0x0, 0x10(%rsp)
movb $0x1, %r13b
pushq $0x10
popq %r12
leaq (%rsp,%r12), %rdi
addq $0xc0, %rdi
callq 0xd290
addq $-0x10, %r12
cmpq $-0x10, %r12
jne 0xc803
leaq 0xe0(%rsp), %r12
cmpq %r15, %r12
setne %al
andb %al, %r13b
cmpb $0x1, %r13b
jne 0xc845
addq $-0x10, %r15
movq %r15, %rdi
callq 0xd290
cmpq %r12, %r15
jne 0xc834
cmpb $0x0, 0x10(%rsp)
je 0xc868
jmp 0xc880
movq %rax, (%rsp)
leaq 0xc0(%rsp), %rdi
callq 0xd290
jmp 0xc865
movq %rax, (%rsp)
movb $0x1, %bpl
leaq 0x100(%rsp), %rdi
callq 0xd290
jmp 0xc880
jmp 0xc879
movq %rax, (%rsp)
movb $0x1, %bpl
pushq $0x10
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x200, %rdi            # imm = 0x200
callq 0xd290
addq $-0x10, %r15
cmpq $-0x10, %r15
jne 0xc884
movb $0x1, %r15b
pushq $0x10
popq %r12
leaq (%rsp,%r12), %rdi
addq $0x140, %rdi            # imm = 0x140
callq 0xd290
addq $-0x10, %r12
cmpq $-0x10, %r12
jne 0xc8a5
xorl %r12d, %r12d
pushq $0x10
popq %r13
leaq (%rsp,%r13), %rdi
addq $0x78, %rdi
callq 0xd290
addq $-0x10, %r13
cmpq $-0x10, %r13
jne 0xc8c6
pushq $0x10
popq %r13
leaq (%rsp,%r13), %rdi
addq $0x120, %rdi            # imm = 0x120
callq 0xd290
addq $-0x10, %r13
cmpq $-0x10, %r13
jne 0xc8e1
leaq 0x140(%rsp), %r13
cmpq %r14, %r13
setne %al
andb %al, %r12b
cmpb $0x1, %r12b
jne 0xc923
addq $-0x10, %r14
movq %r14, %rdi
callq 0xd290
cmpq %r13, %r14
jne 0xc912
testb %r15b, %r15b
je 0xc999
jmp 0xc9a6
movq %rax, (%rsp)
movb $0x1, %bpl
xorl %r15d, %r15d
jmp 0xc8a1
movq %rax, (%rsp)
movb $0x1, %bpl
xorl %r15d, %r15d
movb $0x1, %r12b
jmp 0xc8c2
movq %rax, (%rsp)
leaq 0x78(%rsp), %rdi
callq 0xd290
jmp 0xc95f
movq %rax, (%rsp)
movb $0x1, %r12b
xorl %r15d, %r15d
movb $0x1, %bpl
jmp 0xc8dd
movq %rax, (%rsp)
movb $0x1, %bpl
xorl %r15d, %r15d
movb $0x1, %r12b
jmp 0xc8dd
movq %rax, (%rsp)
leaq 0x120(%rsp), %rdi
callq 0xd290
jmp 0xc996
movq %rax, (%rsp)
movb $0x1, %bpl
leaq 0x200(%rsp), %rdi
callq 0xd290
pushq $0x10
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x48, %rdi
callq 0xd290
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0xc9aa
leaq 0x220(%rsp), %r14
cmpq %rbx, %r14
setne %al
andb %al, %bpl
cmpb $0x1, %bpl
jne 0xc9e9
addq $-0x10, %rbx
movq %rbx, %rdi
callq 0xd290
cmpq %r14, %rbx
jne 0xc9d8
movq (%rsp), %r13
jmp 0xd0cf
jmp 0xc9f4
movq %rax, (%rsp)
movb $0x1, %bpl
jmp 0xc9a6
movq %rax, (%rsp)
leaq 0x48(%rsp), %rdi
callq 0xd290
jmp 0xc9e9
movq %rax, (%rsp)
jmp 0xc9e9
jmp 0xca30
movq %rax, %r13
leaq 0x2d0(%rsp), %rdi
callq 0xd290
jmp 0xd0cf
jmp 0xca30
jmp 0xca30
jmp 0xca30
movq %rax, %r13
jmp 0xd0cf
jmp 0xd0bf
movq %rax, %r13
pushq $0x20
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x48, %rdi
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xca43
xorl %ebx, %ebx
jmp 0xca63
movq %rax, %r13
movb $0x1, %bl
pushq $0x10
popq %r14
leaq (%rsp,%r14), %rdi
addq $0xc0, %rdi
callq 0xd290
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0xca67
movb $0x1, %bpl
jmp 0xca8d
movq %rax, %r13
movb $0x1, %bl
xorl %ebp, %ebp
pushq $0x10
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x28, %rdi
callq 0xd290
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0xca91
xorl %r14d, %r14d
jmp 0xcab7
movq %rax, %r13
movb $0x1, %r14b
xorl %ebp, %ebp
movb $0x1, %bl
pushq $0x10
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x188, %rdi            # imm = 0x188
callq 0xd290
addq $-0x10, %r15
cmpq $-0x10, %r15
jne 0xcabb
jmp 0xcb0c
movq %rax, %r13
leaq 0x188(%rsp), %rdi
callq 0xd290
jmp 0xcaec
movq %rax, %r13
movb $0x1, %bl
xorl %ebp, %ebp
movb $0x1, %r14b
jmp 0xcb0c
movq %rax, %r13
movb $0x1, %r14b
leaq 0x28(%rsp), %rax
movq %rax, 0x1c8(%rsp)
xorl %ebp, %ebp
movb $0x1, %bl
pushq $0x10
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x1a8, %rdi            # imm = 0x1A8
callq 0xd290
addq $-0x10, %r15
cmpq $-0x10, %r15
jne 0xcb10
leaq 0x28(%rsp), %r15
movq 0x1c8(%rsp), %r12
cmpq %r12, %r15
setne %al
andb %al, %r14b
cmpb $0x1, %r14b
jne 0xcb57
addq $-0x10, %r12
movq %r12, %rdi
callq 0xd290
cmpq %r15, %r12
jne 0xcb46
testb %bpl, %bpl
je 0xcb75
jmp 0xcb82
movq %rax, %r13
leaq 0x1a8(%rsp), %rdi
callq 0xd290
jmp 0xcb73
movq %rax, %r13
movb $0x1, %bl
leaq 0xc0(%rsp), %rdi
callq 0xd290
pushq $0x10
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x120, %rdi            # imm = 0x120
callq 0xd290
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0xcb86
movb $0x1, %bpl
movq 0x1d8(%rsp), %rax
movq %rax, 0x98(%rsp)
pushq $0x10
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x78, %rdi
callq 0xd290
addq $-0x10, %r15
cmpq $-0x10, %r15
jne 0xcbb7
xorl %r15d, %r15d
pushq $0x10
popq %r12
leaq (%rsp,%r12), %rdi
addq $0xe0, %rdi
callq 0xd290
addq $-0x10, %r12
cmpq $-0x10, %r12
jne 0xcbd5
pushq $0x10
popq %r12
leaq (%rsp,%r12), %rdi
addq $0x100, %rdi            # imm = 0x100
callq 0xd290
addq $-0x10, %r12
cmpq $-0x10, %r12
jne 0xcbf3
leaq 0x78(%rsp), %r12
movq 0x1e0(%rsp), %r14
cmpq %r14, %r12
setne %al
andb %al, %r15b
cmpb $0x1, %r15b
jne 0xcc3a
addq $-0x10, %r14
movq %r14, %rdi
callq 0xd290
cmpq %r12, %r14
jne 0xcc29
testb %bpl, %bpl
je 0xccd8
jmp 0xcce5
movq %rax, %r13
movb $0x1, %bl
jmp 0xcb82
movq %rax, %r13
movb $0x1, %bl
leaq 0x58(%rsp), %rax
movq %rax, 0x1d8(%rsp)
jmp 0xcb82
movq %rax, %r13
movb $0x1, %bl
xorl %ebp, %ebp
jmp 0xcbb3
movq %rax, %r13
movb $0x1, %r15b
xorl %ebp, %ebp
movb $0x1, %bl
jmp 0xcbd1
movq %rax, %r13
leaq 0xe0(%rsp), %rdi
callq 0xd290
jmp 0xcc99
movq %rax, %r13
movb $0x1, %bl
xorl %ebp, %ebp
movb $0x1, %r15b
jmp 0xcbef
movq %rax, %r13
movb $0x1, %r15b
leaq 0x78(%rsp), %rax
movq %rax, 0x1e0(%rsp)
xorl %ebp, %ebp
movb $0x1, %bl
jmp 0xcbef
movq %rax, %r13
leaq 0x100(%rsp), %rdi
callq 0xd290
jmp 0xccd6
movq %rax, %r13
movb $0x1, %bl
leaq 0x120(%rsp), %rdi
callq 0xd290
pushq $0x10
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x140, %rdi            # imm = 0x140
callq 0xd290
addq $-0x10, %r15
cmpq $-0x10, %r15
jne 0xcce9
leaq 0x48(%rsp), %r15
cmpq 0x98(%rsp), %r15
setne %al
andb %al, %bl
cmpb $0x1, %bl
jne 0xd0c2
movq 0x98(%rsp), %rbx
addq $-0x10, %rbx
movq %rbx, %rdi
callq 0xd290
cmpq %r15, %rbx
jne 0xcd26
jmp 0xd0c2
movq %rax, %r13
movb $0x1, %bl
jmp 0xcce5
movq %rax, %r13
movb $0x1, %bl
leaq 0x48(%rsp), %rax
movq %rax, 0x98(%rsp)
jmp 0xcce5
jmp 0xce44
jmp 0xd0bf
jmp 0xd0bf
movq %rax, %r13
movb $0x1, %r15b
xorl %r14d, %r14d
leaq 0x28(%rsp), %rax
movq %rax, 0x1d0(%rsp)
movb $0x1, %bl
jmp 0xcf1c
movq %rax, %r13
leaq 0x1a8(%rsp), %rdi
callq 0xd290
jmp 0xcd98
movq %rax, %r13
movb $0x1, %bl
jmp 0xcf6f
movq %rax, %r13
movb $0x1, %bl
jmp 0xcf7c
movq %rax, %r13
movb $0x1, %bl
leaq 0x58(%rsp), %rax
movq %rax, 0x1e8(%rsp)
jmp 0xcf7c
movq %rax, %r13
movb $0x1, %bl
xorl %r14d, %r14d
jmp 0xcfad
movq %rax, %r13
movb $0x1, %r15b
xorl %r14d, %r14d
movb $0x1, %bl
jmp 0xcfcb
movq %rax, %r13
leaq 0xe0(%rsp), %rdi
callq 0xd290
jmp 0xcdf2
movq %rax, %r13
movb $0x1, %bl
xorl %r14d, %r14d
movb $0x1, %r15b
jmp 0xcfe9
movq %rax, %r13
movb $0x1, %r15b
xorl %r14d, %r14d
movb $0x1, %bl
leaq 0x78(%rsp), %rbp
jmp 0xcfe9
movq %rax, %r13
leaq 0x100(%rsp), %rdi
callq 0xd290
jmp 0xce29
movq %rax, %r13
movb $0x1, %bl
jmp 0xd031
movq %rax, %r13
movb $0x1, %bl
jmp 0xd03e
movq %rax, %r13
movb $0x1, %bl
jmp 0xd046
movq %rax, %r13
leaq 0x140(%rsp), %rdi
callq 0xd290
jmp 0xd0c2
jmp 0xd0bf
movq %rax, %r13
pushq $0x20
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x48, %rdi
callq 0xd290
addq $-0x10, %rbx
cmpq $-0x10, %rbx
jne 0xce64
xorl %ebx, %ebx
jmp 0xce84
movq %rax, %r13
movb $0x1, %bl
pushq $0x10
popq %r14
leaq (%rsp,%r14), %rdi
addq $0xc0, %rdi
callq 0xd290
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0xce88
movb $0x1, %r14b
jmp 0xceaf
movq %rax, %r13
movb $0x1, %bl
xorl %r14d, %r14d
pushq $0x10
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x28, %rdi
callq 0xd290
addq $-0x10, %r15
cmpq $-0x10, %r15
jne 0xceb3
xorl %r15d, %r15d
jmp 0xcedf
jmp 0xd0bf
movq %rax, %r13
movb $0x1, %r15b
xorl %r14d, %r14d
movb $0x1, %bl
pushq $0x10
popq %r12
leaq (%rsp,%r12), %rdi
addq $0x188, %rdi            # imm = 0x188
callq 0xd290
addq $-0x10, %r12
cmpq $-0x10, %r12
jne 0xcee3
jmp 0xcf1c
movq %rax, %r13
leaq 0x188(%rsp), %rdi
callq 0xd290
jmp 0xcf14
movq %rax, %r13
movb $0x1, %bl
xorl %r14d, %r14d
movb $0x1, %r15b
pushq $0x10
popq %r12
leaq (%rsp,%r12), %rdi
addq $0x1a8, %rdi            # imm = 0x1A8
callq 0xd290
addq $-0x10, %r12
cmpq $-0x10, %r12
jne 0xcf20
leaq 0x28(%rsp), %r12
movq 0x1d0(%rsp), %rdi
cmpq %rdi, %r12
setne %al
andb %al, %r15b
cmpb $0x1, %r15b
jne 0xcf6a
addq $-0x10, %rdi
movq %rdi, %r15
callq 0xd290
movq %r15, %rdi
cmpq %r12, %r15
jne 0xcf56
testb %r14b, %r14b
jne 0xcf7c
leaq 0xc0(%rsp), %rdi
callq 0xd290
pushq $0x10
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x120, %rdi            # imm = 0x120
callq 0xd290
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0xcf80
movb $0x1, %r14b
movq 0x1e8(%rsp), %rax
movq %rax, 0x1f0(%rsp)
pushq $0x10
popq %r15
leaq (%rsp,%r15), %rdi
addq $0x78, %rdi
callq 0xd290
addq $-0x10, %r15
cmpq $-0x10, %r15
jne 0xcfb1
xorl %r15d, %r15d
pushq $0x10
popq %r12
leaq (%rsp,%r12), %rdi
addq $0xe0, %rdi
callq 0xd290
addq $-0x10, %r12
cmpq $-0x10, %r12
jne 0xcfcf
pushq $0x10
popq %r12
leaq (%rsp,%r12), %rdi
addq $0x100, %rdi            # imm = 0x100
callq 0xd290
addq $-0x10, %r12
cmpq $-0x10, %r12
jne 0xcfed
leaq 0x78(%rsp), %r12
cmpq %rbp, %r12
setne %al
andb %al, %r15b
cmpb $0x1, %r15b
jne 0xd02c
addq $-0x10, %rbp
movq %rbp, %rdi
callq 0xd290
cmpq %r12, %rbp
jne 0xd01b
testb %r14b, %r14b
jne 0xd03e
leaq 0x120(%rsp), %rdi
callq 0xd290
movq 0x1f0(%rsp), %r12
pushq $0x10
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x140, %rdi            # imm = 0x140
callq 0xd290
addq $-0x10, %r14
cmpq $-0x10, %r14
jne 0xd04a
leaq 0x48(%rsp), %r14
cmpq %r12, %r14
setne %al
andb %al, %bl
cmpb $0x1, %bl
jne 0xd0c2
addq $-0x10, %r12
movq %r12, %rdi
callq 0xd290
cmpq %r14, %r12
jne 0xd076
jmp 0xd0c2
jmp 0xd0bf
jmp 0xd0bf
jmp 0xd0bf
jmp 0xd0bf
jmp 0xd0bf
jmp 0xd0bf
jmp 0xd0bf
jmp 0xd0bf
jmp 0xd0bf
jmp 0xd0bf
jmp 0xd0bf
jmp 0xd0bf
jmp 0xd0bf
jmp 0xd0bf
movq %rax, %r13
leaq 0x2e0(%rsp), %rdi
callq 0xdb6a
jmp 0xd0c2
jmp 0xd0bf
jmp 0xd0bf
jmp 0xd0bf
jmp 0xd0bf
movq %rax, %r13
leaq 0x220(%rsp), %rdi
callq 0xd7a4
leaq 0x278(%rsp), %rdi
callq 0x870a
movq %r13, %rdi
callq 0x7660