// File: Falldog[P]dcinja/src/include/inja/inja.hpp
// Function: inja::Renderer::visit(inja::FunctionNode const&)
void visit(const FunctionNode& node) {
    std::shared_ptr<json> result_ptr;

    switch (node.operation) {
    case Op::Not: {
      auto args = get_arguments<1>(node);
      result_ptr = std::make_shared<json>(!truthy(args[0]));
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::And: {
      auto args = get_arguments<2>(node);
      result_ptr = std::make_shared<json>(truthy(args[0]) && truthy(args[1]));
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Or: {
      auto args = get_arguments<2>(node);
      result_ptr = std::make_shared<json>(truthy(args[0]) || truthy(args[1]));
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::In: {
      auto args = get_arguments<2>(node);
      result_ptr = std::make_shared<json>(std::find(args[1]->begin(), args[1]->end(), *args[0]) != args[1]->end());
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Equal: {
      auto args = get_arguments<2>(node);
      result_ptr = std::make_shared<json>(*args[0] == *args[1]);
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::NotEqual: {
      auto args = get_arguments<2>(node);
      result_ptr = std::make_shared<json>(*args[0] != *args[1]);
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Greater: {
      auto args = get_arguments<2>(node);
      result_ptr = std::make_shared<json>(*args[0] > *args[1]);
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::GreaterEqual: {
      auto args = get_arguments<2>(node);
      result_ptr = std::make_shared<json>(*args[0] >= *args[1]);
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Less: {
      auto args = get_arguments<2>(node);
      result_ptr = std::make_shared<json>(*args[0] < *args[1]);
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::LessEqual: {
      auto args = get_arguments<2>(node);
      result_ptr = std::make_shared<json>(*args[0] <= *args[1]);
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Add: {
      auto args = get_arguments<2>(node);
      if (args[0]->is_string() && args[1]->is_string()) {
        result_ptr = std::make_shared<json>(args[0]->get_ref<const std::string&>() + args[1]->get_ref<const std::string&>());
        json_tmp_stack.push_back(result_ptr);
      } else if (args[0]->is_number_integer() && args[1]->is_number_integer()) {
        result_ptr = std::make_shared<json>(args[0]->get<int>() + args[1]->get<int>());
        json_tmp_stack.push_back(result_ptr);
      } else {
        result_ptr = std::make_shared<json>(args[0]->get<double>() + args[1]->get<double>());
        json_tmp_stack.push_back(result_ptr);
      }
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Subtract: {
      auto args = get_arguments<2>(node);
      if (args[0]->is_number_integer() && args[1]->is_number_integer()) {
        result_ptr = std::make_shared<json>(args[0]->get<int>() - args[1]->get<int>());
        json_tmp_stack.push_back(result_ptr);
      } else {
        result_ptr = std::make_shared<json>(args[0]->get<double>() - args[1]->get<double>());
        json_tmp_stack.push_back(result_ptr);
      }
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Multiplication: {
      auto args = get_arguments<2>(node);
      if (args[0]->is_number_integer() && args[1]->is_number_integer()) {
        result_ptr = std::make_shared<json>(args[0]->get<int>() * args[1]->get<int>());
        json_tmp_stack.push_back(result_ptr);
      } else {
        result_ptr = std::make_shared<json>(args[0]->get<double>() * args[1]->get<double>());
        json_tmp_stack.push_back(result_ptr);
      }
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Division: {
      auto args = get_arguments<2>(node);
      if (args[1]->get<double>() == 0) {
        throw_renderer_error("division by zero", node);
      }
      result_ptr = std::make_shared<json>(args[0]->get<double>() / args[1]->get<double>());
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Power: {
      auto args = get_arguments<2>(node);
      if (args[0]->is_number_integer() && args[1]->get<int>() >= 0) {
        int result = std::pow(args[0]->get<int>(), args[1]->get<int>());
        result_ptr = std::make_shared<json>(std::move(result));
        json_tmp_stack.push_back(result_ptr);
      } else {
        double result = std::pow(args[0]->get<double>(), args[1]->get<int>());
        result_ptr = std::make_shared<json>(std::move(result));
        json_tmp_stack.push_back(result_ptr);
      }
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Modulo: {
      auto args = get_arguments<2>(node);
      result_ptr = std::make_shared<json>(args[0]->get<int>() % args[1]->get<int>());
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::AtId: {
      json_eval_stack.pop(); // Pop id nullptr
      auto container = get_arguments<1, false>(node)[0];
      if (not_found_stack.empty()) {
        throw_renderer_error("could not find element with given name", node);
      }
      auto id_node = not_found_stack.top();
      not_found_stack.pop();
      json_eval_stack.push(&container->at(id_node->name));
    } break;
    case Op::At: {
      auto args = get_arguments<2>(node);
      json_eval_stack.push(&args[0]->at(args[1]->get<int>()));
    } break;
    case Op::Default: {
      auto default_arg = get_arguments<1>(node)[0];
      auto test_arg = get_arguments<1, false>(node)[0];
      json_eval_stack.push(test_arg ? test_arg : default_arg);
    } break;
    case Op::DivisibleBy: {
      auto args = get_arguments<2>(node);
      int divisor = args[1]->get<int>();
      result_ptr = std::make_shared<json>((divisor != 0) && (args[0]->get<int>() % divisor == 0));
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Even: {
      result_ptr = std::make_shared<json>(get_arguments<1>(node)[0]->get<int>() % 2 == 0);
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Exists: {
      auto &&name = get_arguments<1>(node)[0]->get_ref<const std::string &>();
      result_ptr = std::make_shared<json>(json_input->contains(json::json_pointer(JsonNode::convert_dot_to_json_ptr(name))));
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::ExistsInObject: {
      auto args = get_arguments<2>(node);
      auto &&name = args[1]->get_ref<const std::string &>();
      result_ptr = std::make_shared<json>(args[0]->find(name) != args[0]->end());
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::First: {
      auto result = &get_arguments<1>(node)[0]->front();
      json_eval_stack.push(result);
    } break;
    case Op::Float: {
      result_ptr = std::make_shared<json>(std::stod(get_arguments<1>(node)[0]->get_ref<const std::string &>()));
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Int: {
      result_ptr = std::make_shared<json>(std::stoi(get_arguments<1>(node)[0]->get_ref<const std::string &>()));
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Last: {
      auto result = &get_arguments<1>(node)[0]->back();
      json_eval_stack.push(result);
    } break;
    case Op::Length: {
      auto val = get_arguments<1>(node)[0];
      if (val->is_string()) {
        result_ptr = std::make_shared<json>(val->get_ref<const std::string &>().length());
      } else {
        result_ptr = std::make_shared<json>(val->size());
      }
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Lower: {
      std::string result = get_arguments<1>(node)[0]->get<std::string>();
      std::transform(result.begin(), result.end(), result.begin(), ::tolower);
      result_ptr = std::make_shared<json>(std::move(result));
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Max: {
      auto args = get_arguments<1>(node);
      auto result = std::max_element(args[0]->begin(), args[0]->end());
      json_eval_stack.push(&(*result));
    } break;
    case Op::Min: {
      auto args = get_arguments<1>(node);
      auto result = std::min_element(args[0]->begin(), args[0]->end());
      json_eval_stack.push(&(*result));
    } break;
    case Op::Odd: {
      result_ptr = std::make_shared<json>(get_arguments<1>(node)[0]->get<int>() % 2 != 0);
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Range: {
      std::vector<int> result(get_arguments<1>(node)[0]->get<int>());
      std::iota(result.begin(), result.end(), 0);
      result_ptr = std::make_shared<json>(std::move(result));
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Round: {
      auto args = get_arguments<2>(node);
      int precision = args[1]->get<int>();
      double result = std::round(args[0]->get<double>() * std::pow(10.0, precision)) / std::pow(10.0, precision);
      result_ptr = std::make_shared<json>(std::move(result));
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Sort: {
      result_ptr = std::make_shared<json>(get_arguments<1>(node)[0]->get<std::vector<json>>());
      std::sort(result_ptr->begin(), result_ptr->end());
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Upper: {
      std::string result = get_arguments<1>(node)[0]->get<std::string>();
      std::transform(result.begin(), result.end(), result.begin(), ::toupper);
      result_ptr = std::make_shared<json>(std::move(result));
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::IsBoolean: {
      result_ptr = std::make_shared<json>(get_arguments<1>(node)[0]->is_boolean());
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::IsNumber: {
      result_ptr = std::make_shared<json>(get_arguments<1>(node)[0]->is_number());
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::IsInteger: {
      result_ptr = std::make_shared<json>(get_arguments<1>(node)[0]->is_number_integer());
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::IsFloat: {
      result_ptr = std::make_shared<json>(get_arguments<1>(node)[0]->is_number_float());
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::IsObject: {
      result_ptr = std::make_shared<json>(get_arguments<1>(node)[0]->is_object());
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::IsArray: {
      result_ptr = std::make_shared<json>(get_arguments<1>(node)[0]->is_array());
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::IsString: {
      result_ptr = std::make_shared<json>(get_arguments<1>(node)[0]->is_string());
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::Callback: {
      auto args = get_argument_vector(node.number_args, node);
      result_ptr = std::make_shared<json>(node.callback(args));
      json_tmp_stack.push_back(result_ptr);
      json_eval_stack.push(result_ptr.get());
    } break;
    case Op::ParenLeft:
    case Op::ParenRight:
    case Op::None:
      break;
    }
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x13e0, %rsp           # imm = 0x13E0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xb18(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x713e0
movq -0x10(%rbp), %rax
movl 0x18(%rax), %eax
movq %rax, -0xb10(%rbp)
subq $0x2e, %rax
ja 0x690f0
movq -0xb10(%rbp), %rax
leaq 0x5b353(%rip), %rcx     # 0xc0cd0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0xb20(%rbp)
jmp 0x6599f
movq -0xb20(%rbp), %rax
movq %rax, -0x28(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x28(%rbp), %rdi
callq 0x71890
movq -0xb18(%rbp), %rdi
movq (%rax), %rsi
callq 0x71800
movb %al, -0xb21(%rbp)
jmp 0x659ce
movb -0xb21(%rbp), %al
notb %al
andb $0x1, %al
movb %al, -0x49(%rbp)
leaq -0x48(%rbp), %rdi
leaq -0x49(%rbp), %rsi
callq 0x71790
jmp 0x659ea
leaq -0x20(%rbp), %rdi
movq %rdi, -0xb30(%rbp)
leaq -0x48(%rbp), %rsi
movq %rsi, -0xb38(%rbp)
callq 0x718c0
movq -0xb38(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xb30(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x65a2a
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xb40(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0xb40(%rbp), %rdi
movq %rax, -0x58(%rbp)
leaq -0x58(%rbp), %rsi
callq 0x6c190
jmp 0x65a5b
jmp 0x690f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x69102
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0xb50(%rbp)
movq %rax, -0xb48(%rbp)
jmp 0x65a91
movq -0xb50(%rbp), %rax
movq -0xb48(%rbp), %rcx
movq %rcx, -0x68(%rbp)
movq %rax, -0x60(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x68(%rbp), %rdi
callq 0x71c70
movq -0xb18(%rbp), %rdi
movq (%rax), %rsi
callq 0x71800
movb %al, -0xb51(%rbp)
jmp 0x65acb
movb -0xb51(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0xb52(%rbp)
jne 0x65ae0
jmp 0x65b13
leaq -0x68(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq -0xb18(%rbp), %rdi
movq (%rax), %rsi
callq 0x71800
movb %al, -0xb53(%rbp)
jmp 0x65b05
movb -0xb53(%rbp), %al
movb %al, -0xb52(%rbp)
jmp 0x65b13
movb -0xb52(%rbp), %al
andb $0x1, %al
movb %al, -0x79(%rbp)
leaq -0x78(%rbp), %rdi
leaq -0x79(%rbp), %rsi
callq 0x71790
jmp 0x65b2d
leaq -0x20(%rbp), %rdi
movq %rdi, -0xb60(%rbp)
leaq -0x78(%rbp), %rsi
movq %rsi, -0xb68(%rbp)
callq 0x718c0
movq -0xb68(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xb60(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x65b6d
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xb70(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0xb70(%rbp), %rdi
movq %rax, -0x88(%rbp)
leaq -0x88(%rbp), %rsi
callq 0x6c190
jmp 0x65ba4
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0xb80(%rbp)
movq %rax, -0xb78(%rbp)
jmp 0x65bc9
movq -0xb80(%rbp), %rax
movq -0xb78(%rbp), %rcx
movq %rcx, -0x98(%rbp)
movq %rax, -0x90(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x98(%rbp), %rdi
callq 0x71c70
movq -0xb18(%rbp), %rdi
movq (%rax), %rsi
callq 0x71800
movb %al, -0xb81(%rbp)
jmp 0x65c0c
movb -0xb81(%rbp), %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, -0xb82(%rbp)
jne 0x65c57
jmp 0x65c21
leaq -0x98(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq -0xb18(%rbp), %rdi
movq (%rax), %rsi
callq 0x71800
movb %al, -0xb83(%rbp)
jmp 0x65c49
movb -0xb83(%rbp), %al
movb %al, -0xb82(%rbp)
jmp 0x65c57
movb -0xb82(%rbp), %al
andb $0x1, %al
movb %al, -0xa9(%rbp)
leaq -0xa8(%rbp), %rdi
leaq -0xa9(%rbp), %rsi
callq 0x71790
jmp 0x65c7a
leaq -0x20(%rbp), %rdi
movq %rdi, -0xb90(%rbp)
leaq -0xa8(%rbp), %rsi
movq %rsi, -0xb98(%rbp)
callq 0x718c0
movq -0xb98(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xb90(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x65cbd
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xba0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0xba0(%rbp), %rdi
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rsi
callq 0x6c190
jmp 0x65cf4
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0xbb0(%rbp)
movq %rax, -0xba8(%rbp)
jmp 0x65d19
movq -0xbb0(%rbp), %rax
movq -0xba8(%rbp), %rcx
movq %rcx, -0xc8(%rbp)
movq %rax, -0xc0(%rbp)
leaq -0xc8(%rbp), %rdi
movq %rdi, -0xbc8(%rbp)
movl $0x1, %esi
movq %rsi, -0xbd0(%rbp)
callq 0x71c70
movq (%rax), %rsi
leaq -0x120(%rbp), %rdi
movq %rdi, -0xbc0(%rbp)
callq 0x71d10
movq -0xbd0(%rbp), %rsi
movq -0xbc8(%rbp), %rdi
callq 0x71c70
movq (%rax), %rsi
leaq -0x140(%rbp), %rdi
movq %rdi, -0xbb8(%rbp)
callq 0x71d40
movq -0xbc8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x71c70
movq -0xbc0(%rbp), %rsi
movq -0xbb8(%rbp), %rdx
movq (%rax), %rcx
leaq -0x100(%rbp), %rdi
callq 0x71ca0
jmp 0x65dc2
leaq -0xc8(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rsi
leaq -0x160(%rbp), %rdi
movq %rdi, -0xbe0(%rbp)
callq 0x71d40
movq -0xbe0(%rbp), %rsi
leaq -0x100(%rbp), %rdi
callq 0x71d70
movb %al, -0xbd1(%rbp)
jmp 0x65e04
movb -0xbd1(%rbp), %al
andb $0x1, %al
movb %al, -0xd9(%rbp)
leaq -0xd8(%rbp), %rdi
leaq -0xd9(%rbp), %rsi
callq 0x71790
jmp 0x65e27
leaq -0x20(%rbp), %rdi
movq %rdi, -0xbe8(%rbp)
leaq -0xd8(%rbp), %rsi
movq %rsi, -0xbf0(%rbp)
callq 0x718c0
movq -0xbf0(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xbe8(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x65e6a
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xbf8(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0xbf8(%rbp), %rdi
movq %rax, -0x168(%rbp)
leaq -0x168(%rbp), %rsi
callq 0x6c190
jmp 0x65ea1
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0xc08(%rbp)
movq %rax, -0xc00(%rbp)
jmp 0x65ec6
movq -0xc08(%rbp), %rax
movq -0xc00(%rbp), %rcx
movq %rcx, -0x178(%rbp)
movq %rax, -0x170(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x178(%rbp), %rdi
movq %rdi, -0xc18(%rbp)
callq 0x71c70
movq -0xc18(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xc10(%rbp)
movl $0x1, %esi
callq 0x71c70
movq -0xc10(%rbp), %rdi
movq (%rax), %rsi
callq 0x71da0
movb %al, -0x189(%rbp)
leaq -0x188(%rbp), %rdi
leaq -0x189(%rbp), %rsi
callq 0x71790
jmp 0x65f3e
leaq -0x20(%rbp), %rdi
movq %rdi, -0xc20(%rbp)
leaq -0x188(%rbp), %rsi
movq %rsi, -0xc28(%rbp)
callq 0x718c0
movq -0xc28(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xc20(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x65f81
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xc30(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0xc30(%rbp), %rdi
movq %rax, -0x198(%rbp)
leaq -0x198(%rbp), %rsi
callq 0x6c190
jmp 0x65fb8
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0xc40(%rbp)
movq %rax, -0xc38(%rbp)
jmp 0x65fdd
movq -0xc40(%rbp), %rax
movq -0xc38(%rbp), %rcx
movq %rcx, -0x1a8(%rbp)
movq %rax, -0x1a0(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x1a8(%rbp), %rdi
movq %rdi, -0xc50(%rbp)
callq 0x71c70
movq -0xc50(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xc48(%rbp)
movl $0x1, %esi
callq 0x71c70
movq -0xc48(%rbp), %rdi
movq (%rax), %rsi
callq 0x720a0
movb %al, -0x1b9(%rbp)
leaq -0x1b8(%rbp), %rdi
leaq -0x1b9(%rbp), %rsi
callq 0x71790
jmp 0x66055
leaq -0x20(%rbp), %rdi
movq %rdi, -0xc58(%rbp)
leaq -0x1b8(%rbp), %rsi
movq %rsi, -0xc60(%rbp)
callq 0x718c0
movq -0xc60(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xc58(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x66098
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xc68(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0xc68(%rbp), %rdi
movq %rax, -0x1c8(%rbp)
leaq -0x1c8(%rbp), %rsi
callq 0x6c190
jmp 0x660cf
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0xc78(%rbp)
movq %rax, -0xc70(%rbp)
jmp 0x660f4
movq -0xc78(%rbp), %rax
movq -0xc70(%rbp), %rcx
movq %rcx, -0x1d8(%rbp)
movq %rax, -0x1d0(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x1d8(%rbp), %rdi
movq %rdi, -0xc88(%rbp)
callq 0x71c70
movq -0xc88(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xc80(%rbp)
movl $0x1, %esi
callq 0x71c70
movq -0xc80(%rbp), %rdi
movq (%rax), %rsi
callq 0x720d0
movb %al, -0x1e9(%rbp)
leaq -0x1e8(%rbp), %rdi
leaq -0x1e9(%rbp), %rsi
callq 0x71790
jmp 0x6616c
leaq -0x20(%rbp), %rdi
movq %rdi, -0xc90(%rbp)
leaq -0x1e8(%rbp), %rsi
movq %rsi, -0xc98(%rbp)
callq 0x718c0
movq -0xc98(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xc90(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x661af
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xca0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0xca0(%rbp), %rdi
movq %rax, -0x1f8(%rbp)
leaq -0x1f8(%rbp), %rsi
callq 0x6c190
jmp 0x661e6
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0xcb0(%rbp)
movq %rax, -0xca8(%rbp)
jmp 0x6620b
movq -0xcb0(%rbp), %rax
movq -0xca8(%rbp), %rcx
movq %rcx, -0x208(%rbp)
movq %rax, -0x200(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x208(%rbp), %rdi
movq %rdi, -0xcc0(%rbp)
callq 0x71c70
movq -0xcc0(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xcb8(%rbp)
movl $0x1, %esi
callq 0x71c70
movq -0xcb8(%rbp), %rdi
movq (%rax), %rsi
callq 0x72100
movb %al, -0x219(%rbp)
leaq -0x218(%rbp), %rdi
leaq -0x219(%rbp), %rsi
callq 0x71790
jmp 0x66283
leaq -0x20(%rbp), %rdi
movq %rdi, -0xcc8(%rbp)
leaq -0x218(%rbp), %rsi
movq %rsi, -0xcd0(%rbp)
callq 0x718c0
movq -0xcd0(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xcc8(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x662c6
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xcd8(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0xcd8(%rbp), %rdi
movq %rax, -0x228(%rbp)
leaq -0x228(%rbp), %rsi
callq 0x6c190
jmp 0x662fd
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0xce8(%rbp)
movq %rax, -0xce0(%rbp)
jmp 0x66322
movq -0xce8(%rbp), %rax
movq -0xce0(%rbp), %rcx
movq %rcx, -0x238(%rbp)
movq %rax, -0x230(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x238(%rbp), %rdi
movq %rdi, -0xcf8(%rbp)
callq 0x71c70
movq -0xcf8(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xcf0(%rbp)
movl $0x1, %esi
callq 0x71c70
movq -0xcf0(%rbp), %rdi
movq (%rax), %rsi
callq 0x72130
movb %al, -0x249(%rbp)
leaq -0x248(%rbp), %rdi
leaq -0x249(%rbp), %rsi
callq 0x71790
jmp 0x6639a
leaq -0x20(%rbp), %rdi
movq %rdi, -0xd00(%rbp)
leaq -0x248(%rbp), %rsi
movq %rsi, -0xd08(%rbp)
callq 0x718c0
movq -0xd08(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xd00(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x663dd
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xd10(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0xd10(%rbp), %rdi
movq %rax, -0x258(%rbp)
leaq -0x258(%rbp), %rsi
callq 0x6c190
jmp 0x66414
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0xd20(%rbp)
movq %rax, -0xd18(%rbp)
jmp 0x66439
movq -0xd20(%rbp), %rax
movq -0xd18(%rbp), %rcx
movq %rcx, -0x268(%rbp)
movq %rax, -0x260(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x268(%rbp), %rdi
movq %rdi, -0xd30(%rbp)
callq 0x71c70
movq -0xd30(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xd28(%rbp)
movl $0x1, %esi
callq 0x71c70
movq -0xd28(%rbp), %rdi
movq (%rax), %rsi
callq 0x72440
movb %al, -0x279(%rbp)
leaq -0x278(%rbp), %rdi
leaq -0x279(%rbp), %rsi
callq 0x71790
jmp 0x664b1
leaq -0x20(%rbp), %rdi
movq %rdi, -0xd38(%rbp)
leaq -0x278(%rbp), %rsi
movq %rsi, -0xd40(%rbp)
callq 0x718c0
movq -0xd40(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xd38(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x664f4
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xd48(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0xd48(%rbp), %rdi
movq %rax, -0x288(%rbp)
leaq -0x288(%rbp), %rsi
callq 0x6c190
jmp 0x6652b
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0xd58(%rbp)
movq %rax, -0xd50(%rbp)
jmp 0x66550
movq -0xd58(%rbp), %rax
movq -0xd50(%rbp), %rcx
movq %rcx, -0x298(%rbp)
movq %rax, -0x290(%rbp)
leaq -0x298(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x50830
testb $0x1, %al
jne 0x6658d
jmp 0x66694
leaq -0x298(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x50830
testb $0x1, %al
jne 0x665af
jmp 0x66694
xorl %eax, %eax
movl %eax, %esi
leaq -0x298(%rbp), %rdi
callq 0x71c70
movq (%rax), %rdi
callq 0x72560
movq %rax, -0xd60(%rbp)
jmp 0x665d0
leaq -0x298(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72560
movq %rax, -0xd68(%rbp)
jmp 0x665f2
movq -0xd68(%rbp), %rdx
movq -0xd60(%rbp), %rsi
leaq -0x2c8(%rbp), %rdi
callq 0x724e0
jmp 0x6660e
leaq -0x2a8(%rbp), %rdi
leaq -0x2c8(%rbp), %rsi
callq 0x72470
jmp 0x66623
leaq -0x20(%rbp), %rdi
movq %rdi, -0xd70(%rbp)
leaq -0x2a8(%rbp), %rsi
movq %rsi, -0xd78(%rbp)
callq 0x718c0
movq -0xd78(%rbp), %rdi
callq 0x6c020
leaq -0x2c8(%rbp), %rdi
callq 0xbb98
movq -0xb18(%rbp), %rdi
movq -0xd70(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x66672
jmp 0x66846
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x2c8(%rbp), %rdi
callq 0xbb98
jmp 0x69102
leaq -0x298(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72580
testb $0x1, %al
jne 0x666b5
jmp 0x66789
leaq -0x298(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72580
testb $0x1, %al
jne 0x666d7
jmp 0x66789
xorl %eax, %eax
movl %eax, %esi
leaq -0x298(%rbp), %rdi
callq 0x71c70
movq (%rax), %rdi
callq 0x72620
movl %eax, -0xd7c(%rbp)
jmp 0x666f7
leaq -0x298(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72620
movl %eax, -0xd80(%rbp)
jmp 0x66718
movl -0xd80(%rbp), %ecx
movl -0xd7c(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x2dc(%rbp)
leaq -0x2d8(%rbp), %rdi
leaq -0x2dc(%rbp), %rsi
callq 0x725b0
jmp 0x66741
leaq -0x20(%rbp), %rdi
movq %rdi, -0xd88(%rbp)
leaq -0x2d8(%rbp), %rsi
movq %rsi, -0xd90(%rbp)
callq 0x718c0
movq -0xd90(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xd88(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x66784
jmp 0x66844
xorl %eax, %eax
movl %eax, %esi
leaq -0x298(%rbp), %rdi
callq 0x71c70
movq (%rax), %rdi
callq 0x726c0
movsd %xmm0, -0xd98(%rbp)
jmp 0x667ab
leaq -0x298(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x726c0
movsd %xmm0, -0xda0(%rbp)
jmp 0x667ce
movsd -0xda0(%rbp), %xmm1
movsd -0xd98(%rbp), %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x2f8(%rbp)
leaq -0x2f0(%rbp), %rdi
leaq -0x2f8(%rbp), %rsi
callq 0x72650
jmp 0x667ff
leaq -0x20(%rbp), %rdi
movq %rdi, -0xda8(%rbp)
leaq -0x2f0(%rbp), %rsi
movq %rsi, -0xdb0(%rbp)
callq 0x718c0
movq -0xdb0(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xda8(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x66842
jmp 0x66844
jmp 0x66846
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xdb8(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0xdb8(%rbp), %rdi
movq %rax, -0x300(%rbp)
leaq -0x300(%rbp), %rsi
callq 0x6c190
jmp 0x6687d
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0xdc8(%rbp)
movq %rax, -0xdc0(%rbp)
jmp 0x668a2
movq -0xdc8(%rbp), %rax
movq -0xdc0(%rbp), %rcx
movq %rcx, -0x310(%rbp)
movq %rax, -0x308(%rbp)
leaq -0x310(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72580
testb $0x1, %al
jne 0x668df
jmp 0x669b3
leaq -0x310(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72580
testb $0x1, %al
jne 0x66901
jmp 0x669b3
xorl %eax, %eax
movl %eax, %esi
leaq -0x310(%rbp), %rdi
callq 0x71c70
movq (%rax), %rdi
callq 0x72620
movl %eax, -0xdcc(%rbp)
jmp 0x66921
leaq -0x310(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72620
movl %eax, -0xdd0(%rbp)
jmp 0x66942
movl -0xdd0(%rbp), %ecx
movl -0xdcc(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x324(%rbp)
leaq -0x320(%rbp), %rdi
leaq -0x324(%rbp), %rsi
callq 0x725b0
jmp 0x6696b
leaq -0x20(%rbp), %rdi
movq %rdi, -0xdd8(%rbp)
leaq -0x320(%rbp), %rsi
movq %rsi, -0xde0(%rbp)
callq 0x718c0
movq -0xde0(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xdd8(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x669ae
jmp 0x66a6e
xorl %eax, %eax
movl %eax, %esi
leaq -0x310(%rbp), %rdi
callq 0x71c70
movq (%rax), %rdi
callq 0x726c0
movsd %xmm0, -0xde8(%rbp)
jmp 0x669d5
leaq -0x310(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x726c0
movsd %xmm0, -0xdf0(%rbp)
jmp 0x669f8
movsd -0xdf0(%rbp), %xmm1
movsd -0xde8(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0x340(%rbp)
leaq -0x338(%rbp), %rdi
leaq -0x340(%rbp), %rsi
callq 0x72650
jmp 0x66a29
leaq -0x20(%rbp), %rdi
movq %rdi, -0xdf8(%rbp)
leaq -0x338(%rbp), %rsi
movq %rsi, -0xe00(%rbp)
callq 0x718c0
movq -0xe00(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xdf8(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x66a6c
jmp 0x66a6e
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xe08(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0xe08(%rbp), %rdi
movq %rax, -0x348(%rbp)
leaq -0x348(%rbp), %rsi
callq 0x6c190
jmp 0x66aa5
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0xe18(%rbp)
movq %rax, -0xe10(%rbp)
jmp 0x66aca
movq -0xe18(%rbp), %rax
movq -0xe10(%rbp), %rcx
movq %rcx, -0x358(%rbp)
movq %rax, -0x350(%rbp)
leaq -0x358(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72580
testb $0x1, %al
jne 0x66b07
jmp 0x66bdc
leaq -0x358(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72580
testb $0x1, %al
jne 0x66b29
jmp 0x66bdc
xorl %eax, %eax
movl %eax, %esi
leaq -0x358(%rbp), %rdi
callq 0x71c70
movq (%rax), %rdi
callq 0x72620
movl %eax, -0xe1c(%rbp)
jmp 0x66b49
leaq -0x358(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72620
movl %eax, -0xe20(%rbp)
jmp 0x66b6a
movl -0xe20(%rbp), %ecx
movl -0xe1c(%rbp), %eax
imull %ecx, %eax
movl %eax, -0x36c(%rbp)
leaq -0x368(%rbp), %rdi
leaq -0x36c(%rbp), %rsi
callq 0x725b0
jmp 0x66b94
leaq -0x20(%rbp), %rdi
movq %rdi, -0xe28(%rbp)
leaq -0x368(%rbp), %rsi
movq %rsi, -0xe30(%rbp)
callq 0x718c0
movq -0xe30(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xe28(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x66bd7
jmp 0x66c97
xorl %eax, %eax
movl %eax, %esi
leaq -0x358(%rbp), %rdi
callq 0x71c70
movq (%rax), %rdi
callq 0x726c0
movsd %xmm0, -0xe38(%rbp)
jmp 0x66bfe
leaq -0x358(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x726c0
movsd %xmm0, -0xe40(%rbp)
jmp 0x66c21
movsd -0xe40(%rbp), %xmm1
movsd -0xe38(%rbp), %xmm0
mulsd %xmm1, %xmm0
movsd %xmm0, -0x388(%rbp)
leaq -0x380(%rbp), %rdi
leaq -0x388(%rbp), %rsi
callq 0x72650
jmp 0x66c52
leaq -0x20(%rbp), %rdi
movq %rdi, -0xe48(%rbp)
leaq -0x380(%rbp), %rsi
movq %rsi, -0xe50(%rbp)
callq 0x718c0
movq -0xe50(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xe48(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x66c95
jmp 0x66c97
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xe58(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0xe58(%rbp), %rdi
movq %rax, -0x390(%rbp)
leaq -0x390(%rbp), %rsi
callq 0x6c190
jmp 0x66cce
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0xe68(%rbp)
movq %rax, -0xe60(%rbp)
jmp 0x66cf3
movq -0xe68(%rbp), %rax
movq -0xe60(%rbp), %rcx
movq %rcx, -0x3a0(%rbp)
movq %rax, -0x398(%rbp)
leaq -0x3a0(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x726c0
movsd %xmm0, -0xe70(%rbp)
jmp 0x66d32
movsd -0xe70(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x66de6
jp 0x66de6
leaq -0x3c1(%rbp), %rdi
movq %rdi, -0xe78(%rbp)
callq 0xba70
movq -0xe78(%rbp), %rdx
leaq 0x5f8a5(%rip), %rsi     # 0xc6613
leaq -0x3c0(%rbp), %rdi
callq 0x10b90
jmp 0x66d7c
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rdx
leaq -0x3c0(%rbp), %rsi
callq 0x726f0
jmp 0x66d95
leaq -0x3c0(%rbp), %rdi
callq 0xbb98
leaq -0x3c1(%rbp), %rdi
callq 0xb600
jmp 0x66de6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x66dd5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x3c0(%rbp), %rdi
callq 0xbb98
leaq -0x3c1(%rbp), %rdi
callq 0xb600
jmp 0x69102
xorl %eax, %eax
movl %eax, %esi
leaq -0x3a0(%rbp), %rdi
callq 0x71c70
movq (%rax), %rdi
callq 0x726c0
movsd %xmm0, -0xe80(%rbp)
jmp 0x66e08
leaq -0x3a0(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x726c0
movsd %xmm0, -0xe88(%rbp)
jmp 0x66e2b
movsd -0xe88(%rbp), %xmm1
movsd -0xe80(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x3e0(%rbp)
leaq -0x3d8(%rbp), %rdi
leaq -0x3e0(%rbp), %rsi
callq 0x72650
jmp 0x66e5c
leaq -0x20(%rbp), %rdi
movq %rdi, -0xe90(%rbp)
leaq -0x3d8(%rbp), %rsi
movq %rsi, -0xe98(%rbp)
callq 0x718c0
movq -0xe98(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xe90(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x66e9f
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xea0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0xea0(%rbp), %rdi
movq %rax, -0x3e8(%rbp)
leaq -0x3e8(%rbp), %rsi
callq 0x6c190
jmp 0x66ed6
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0xeb0(%rbp)
movq %rax, -0xea8(%rbp)
jmp 0x66efb
movq -0xeb0(%rbp), %rax
movq -0xea8(%rbp), %rcx
movq %rcx, -0x3f8(%rbp)
movq %rax, -0x3f0(%rbp)
leaq -0x3f8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72580
testb $0x1, %al
jne 0x66f38
jmp 0x67033
leaq -0x3f8(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72620
movl %eax, -0xeb4(%rbp)
jmp 0x66f59
movl -0xeb4(%rbp), %eax
cmpl $0x0, %eax
jl 0x67033
xorl %eax, %eax
movl %eax, %esi
leaq -0x3f8(%rbp), %rdi
callq 0x71c70
movq (%rax), %rdi
callq 0x72620
movl %eax, -0xeb8(%rbp)
jmp 0x66f88
leaq -0x3f8(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72620
movl %eax, -0xebc(%rbp)
jmp 0x66fa9
movl -0xebc(%rbp), %esi
movl -0xeb8(%rbp), %edi
callq 0x727a0
movsd %xmm0, -0xec8(%rbp)
jmp 0x66fc4
movsd -0xec8(%rbp), %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x3fc(%rbp)
leaq -0x410(%rbp), %rdi
leaq -0x3fc(%rbp), %rsi
callq 0x725b0
jmp 0x66feb
leaq -0x20(%rbp), %rdi
movq %rdi, -0xed0(%rbp)
leaq -0x410(%rbp), %rsi
movq %rsi, -0xed8(%rbp)
callq 0x718c0
movq -0xed8(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xed0(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x6702e
jmp 0x670fd
xorl %eax, %eax
movl %eax, %esi
leaq -0x3f8(%rbp), %rdi
callq 0x71c70
movq (%rax), %rdi
callq 0x726c0
movsd %xmm0, -0xee0(%rbp)
jmp 0x67055
leaq -0x3f8(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72620
movl %eax, -0xee4(%rbp)
jmp 0x67076
movl -0xee4(%rbp), %edi
movsd -0xee0(%rbp), %xmm0
callq 0x727d0
movsd %xmm0, -0xef0(%rbp)
jmp 0x67093
movsd -0xef0(%rbp), %xmm0
movsd %xmm0, -0x418(%rbp)
leaq -0x428(%rbp), %rdi
leaq -0x418(%rbp), %rsi
callq 0x72650
jmp 0x670b8
leaq -0x20(%rbp), %rdi
movq %rdi, -0xef8(%rbp)
leaq -0x428(%rbp), %rsi
movq %rsi, -0xf00(%rbp)
callq 0x718c0
movq -0xf00(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xef8(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x670fb
jmp 0x670fd
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xf08(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0xf08(%rbp), %rdi
movq %rax, -0x430(%rbp)
leaq -0x430(%rbp), %rsi
callq 0x6c190
jmp 0x67134
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0xf18(%rbp)
movq %rax, -0xf10(%rbp)
jmp 0x67159
movq -0xf18(%rbp), %rax
movq -0xf10(%rbp), %rcx
movq %rcx, -0x440(%rbp)
movq %rax, -0x438(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x440(%rbp), %rdi
callq 0x71c70
movq (%rax), %rdi
callq 0x72620
movl %eax, -0xf1c(%rbp)
jmp 0x67195
leaq -0x440(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72620
movl %eax, -0xf20(%rbp)
jmp 0x671b6
movl -0xf20(%rbp), %ecx
movl -0xf1c(%rbp), %eax
cltd
idivl %ecx
movl %edx, -0x454(%rbp)
leaq -0x450(%rbp), %rdi
leaq -0x454(%rbp), %rsi
callq 0x725b0
jmp 0x671e0
leaq -0x20(%rbp), %rdi
movq %rdi, -0xf28(%rbp)
leaq -0x450(%rbp), %rsi
movq %rsi, -0xf30(%rbp)
callq 0x718c0
movq -0xf30(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xf28(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x67223
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xf38(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0xf38(%rbp), %rdi
movq %rax, -0x460(%rbp)
leaq -0x460(%rbp), %rsi
callq 0x6c190
jmp 0x6725a
jmp 0x690f0
movq -0xb18(%rbp), %rdi
addq $0x68, %rdi
callq 0x72800
jmp 0x67271
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x72820
movq %rax, -0xf40(%rbp)
jmp 0x6728a
movq -0xf40(%rbp), %rax
movq %rax, -0x470(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x470(%rbp), %rdi
callq 0x71890
movq -0xb18(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0x468(%rbp)
addq $0xb8, %rdi
callq 0x72aa0
movb %al, -0xf41(%rbp)
jmp 0x672cd
movb -0xf41(%rbp), %al
testb $0x1, %al
jne 0x672dc
jmp 0x67375
leaq -0x491(%rbp), %rdi
movq %rdi, -0xf50(%rbp)
callq 0xba70
movq -0xf50(%rbp), %rdx
leaq 0x5f327(%rip), %rsi     # 0xc6624
leaq -0x490(%rbp), %rdi
callq 0x10b90
jmp 0x6730b
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rdx
leaq -0x490(%rbp), %rsi
callq 0x726f0
jmp 0x67324
leaq -0x490(%rbp), %rdi
callq 0xbb98
leaq -0x491(%rbp), %rdi
callq 0xb600
jmp 0x67375
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x67364
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x490(%rbp), %rdi
callq 0xbb98
leaq -0x491(%rbp), %rdi
callq 0xb600
jmp 0x69102
movq -0xb18(%rbp), %rdi
addq $0xb8, %rdi
callq 0x72ac0
movq %rax, -0xf58(%rbp)
jmp 0x67391
movq -0xb18(%rbp), %rdi
movq -0xf58(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x4a0(%rbp)
addq $0xb8, %rdi
callq 0x72ae0
jmp 0x673b7
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xf68(%rbp)
movq -0x468(%rbp), %rdi
movq -0x4a0(%rbp), %rsi
addq $0x10, %rsi
callq 0x72b00
movq %rax, -0xf60(%rbp)
jmp 0x673e9
movq -0xf68(%rbp), %rdi
movq -0xf60(%rbp), %rax
movq %rax, -0x4a8(%rbp)
leaq -0x4a8(%rbp), %rsi
callq 0x6c190
jmp 0x6740c
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0xf78(%rbp)
movq %rax, -0xf70(%rbp)
jmp 0x67431
movq -0xb18(%rbp), %rax
movq -0xf78(%rbp), %rcx
movq -0xf70(%rbp), %rdx
movq %rdx, -0x4b8(%rbp)
movq %rcx, -0x4b0(%rbp)
addq $0x68, %rax
movq %rax, -0xf98(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x4b8(%rbp), %rdi
movq %rdi, -0xf90(%rbp)
callq 0x71c70
movq -0xf90(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0xf88(%rbp)
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72620
movl %eax, -0xf7c(%rbp)
jmp 0x674a1
movq -0xf88(%rbp), %rdi
movl -0xf7c(%rbp), %eax
movslq %eax, %rsi
callq 0x72d90
movq %rax, -0xfa0(%rbp)
jmp 0x674bf
movq -0xf98(%rbp), %rdi
movq -0xfa0(%rbp), %rax
movq %rax, -0x4c0(%rbp)
leaq -0x4c0(%rbp), %rsi
callq 0x6c190
jmp 0x674e2
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0xfa8(%rbp)
jmp 0x67500
movq -0xfa8(%rbp), %rax
movq %rax, -0x4d0(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x4d0(%rbp), %rdi
callq 0x71890
movq -0xb18(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0x4c8(%rbp)
movq -0x10(%rbp), %rsi
callq 0x72820
movq %rax, -0xfb0(%rbp)
jmp 0x67541
movq -0xfb0(%rbp), %rax
movq %rax, -0x4e0(%rbp)
leaq -0x4e0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x71890
movq %rax, %rcx
movq -0xb18(%rbp), %rax
movq (%rcx), %rcx
movq %rcx, -0x4d8(%rbp)
addq $0x68, %rax
movq %rax, -0xfb8(%rbp)
cmpq $0x0, -0x4d8(%rbp)
je 0x67598
leaq -0x4d8(%rbp), %rax
movq %rax, -0xfc0(%rbp)
jmp 0x675a8
leaq -0x4c8(%rbp), %rax
movq %rax, -0xfc0(%rbp)
jmp 0x675a8
movq -0xfb8(%rbp), %rdi
movq -0xfc0(%rbp), %rsi
callq 0x73050
jmp 0x675bd
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0xfd0(%rbp)
movq %rax, -0xfc8(%rbp)
jmp 0x675e2
movq -0xfd0(%rbp), %rax
movq -0xfc8(%rbp), %rcx
movq %rcx, -0x4f0(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4f0(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72620
movl %eax, -0xfd4(%rbp)
jmp 0x6761f
movl -0xfd4(%rbp), %eax
movl %eax, -0x4f4(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x4f4(%rbp)
movb %al, -0xfd5(%rbp)
je 0x67675
xorl %eax, %eax
movl %eax, %esi
leaq -0x4f0(%rbp), %rdi
callq 0x71c70
movq (%rax), %rdi
callq 0x72620
movl %eax, -0xfdc(%rbp)
jmp 0x6765c
movl -0xfdc(%rbp), %eax
cltd
idivl -0x4f4(%rbp)
cmpl $0x0, %edx
sete %al
movb %al, -0xfd5(%rbp)
movb -0xfd5(%rbp), %al
andb $0x1, %al
movb %al, -0x509(%rbp)
leaq -0x508(%rbp), %rdi
leaq -0x509(%rbp), %rsi
callq 0x71790
jmp 0x67698
leaq -0x20(%rbp), %rdi
movq %rdi, -0xfe8(%rbp)
leaq -0x508(%rbp), %rsi
movq %rsi, -0xff0(%rbp)
callq 0x718c0
movq -0xff0(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0xfe8(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x676db
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0xff8(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0xff8(%rbp), %rdi
movq %rax, -0x518(%rbp)
leaq -0x518(%rbp), %rsi
callq 0x6c190
jmp 0x67712
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x1000(%rbp)
jmp 0x67730
movq -0x1000(%rbp), %rax
movq %rax, -0x538(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x538(%rbp), %rdi
callq 0x71890
movq (%rax), %rdi
callq 0x72620
movl %eax, -0x1004(%rbp)
jmp 0x6775e
movl -0x1004(%rbp), %eax
movl %eax, %edx
shrl $0x1f, %edx
movl %eax, %ecx
addl %edx, %ecx
andl $-0x2, %ecx
subl %ecx, %eax
sete -0x529(%rbp)
leaq -0x528(%rbp), %rdi
leaq -0x529(%rbp), %rsi
callq 0x71790
jmp 0x6778e
leaq -0x20(%rbp), %rdi
movq %rdi, -0x1010(%rbp)
leaq -0x528(%rbp), %rsi
movq %rsi, -0x1018(%rbp)
callq 0x718c0
movq -0x1018(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0x1010(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x677d1
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x1020(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x1020(%rbp), %rdi
movq %rax, -0x540(%rbp)
leaq -0x540(%rbp), %rsi
callq 0x6c190
jmp 0x67808
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x1028(%rbp)
jmp 0x67826
movq -0x1028(%rbp), %rax
movq %rax, -0x550(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x550(%rbp), %rdi
callq 0x71890
movq (%rax), %rdi
callq 0x72560
movq %rax, -0x1030(%rbp)
jmp 0x67855
movq -0xb18(%rbp), %rax
movq -0x1030(%rbp), %rcx
movq %rcx, -0x548(%rbp)
movq 0x28(%rax), %rax
movq %rax, -0x1038(%rbp)
movq -0x548(%rbp), %rdi
callq 0xb610
movq %rax, -0x5b0(%rbp)
movq %rdx, -0x5a8(%rbp)
movq -0x5b0(%rbp), %rsi
movq -0x5a8(%rbp), %rdx
leaq -0x5a0(%rbp), %rdi
callq 0x62530
jmp 0x678ab
leaq -0x580(%rbp), %rdi
leaq -0x5a0(%rbp), %rsi
callq 0x62660
jmp 0x678c0
movq -0x1038(%rbp), %rdi
leaq -0x580(%rbp), %rsi
callq 0x6cab0
movb %al, -0x1039(%rbp)
jmp 0x678db
movb -0x1039(%rbp), %al
andb $0x1, %al
movb %al, -0x561(%rbp)
leaq -0x560(%rbp), %rdi
leaq -0x561(%rbp), %rsi
callq 0x71790
jmp 0x678fe
leaq -0x20(%rbp), %rdi
movq %rdi, -0x1048(%rbp)
leaq -0x560(%rbp), %rsi
movq %rsi, -0x1050(%rbp)
callq 0x718c0
movq -0x1050(%rbp), %rdi
callq 0x6c020
leaq -0x580(%rbp), %rdi
callq 0x637a0
leaq -0x5a0(%rbp), %rdi
callq 0xbb98
movq -0xb18(%rbp), %rdi
movq -0x1048(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x67959
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x1058(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x1058(%rbp), %rdi
movq %rax, -0x5b8(%rbp)
leaq -0x5b8(%rbp), %rsi
callq 0x6c190
jmp 0x67990
jmp 0x690f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x679bb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x580(%rbp), %rdi
callq 0x637a0
leaq -0x5a0(%rbp), %rdi
callq 0xbb98
jmp 0x69102
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0x1068(%rbp)
movq %rax, -0x1060(%rbp)
jmp 0x679ec
movq -0x1068(%rbp), %rax
movq -0x1060(%rbp), %rcx
movq %rcx, -0x5c8(%rbp)
movq %rax, -0x5c0(%rbp)
leaq -0x5c8(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72560
movq %rax, -0x1070(%rbp)
jmp 0x67a2a
movq -0x1070(%rbp), %rax
movq %rax, -0x5d0(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x5c8(%rbp), %rdi
callq 0x71c70
movq (%rax), %rsi
movq -0x5d0(%rbp), %rdx
leaq -0x608(%rbp), %rdi
callq 0x73080
jmp 0x67a60
xorl %eax, %eax
movl %eax, %esi
leaq -0x5c8(%rbp), %rdi
callq 0x71c70
movq (%rax), %rsi
leaq -0x628(%rbp), %rdi
movq %rdi, -0x1080(%rbp)
callq 0x71d40
movq -0x1080(%rbp), %rsi
leaq -0x608(%rbp), %rdi
callq 0x71d70
movb %al, -0x1071(%rbp)
jmp 0x67aa1
movb -0x1071(%rbp), %al
andb $0x1, %al
movb %al, -0x5e1(%rbp)
leaq -0x5e0(%rbp), %rdi
leaq -0x5e1(%rbp), %rsi
callq 0x71790
jmp 0x67ac4
leaq -0x20(%rbp), %rdi
movq %rdi, -0x1088(%rbp)
leaq -0x5e0(%rbp), %rsi
movq %rsi, -0x1090(%rbp)
callq 0x718c0
movq -0x1090(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0x1088(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x67b07
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x1098(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x1098(%rbp), %rdi
movq %rax, -0x630(%rbp)
leaq -0x630(%rbp), %rsi
callq 0x6c190
jmp 0x67b3e
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x10a0(%rbp)
jmp 0x67b5c
movq -0x10a0(%rbp), %rax
movq %rax, -0x640(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x640(%rbp), %rdi
callq 0x71890
movq (%rax), %rdi
callq 0x730f0
movq %rax, -0x10a8(%rbp)
jmp 0x67b8b
movq -0xb18(%rbp), %rdi
movq -0x10a8(%rbp), %rax
movq %rax, -0x638(%rbp)
addq $0x68, %rdi
leaq -0x638(%rbp), %rsi
callq 0x73050
jmp 0x67bb2
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x10b0(%rbp)
jmp 0x67bd0
movq -0x10b0(%rbp), %rax
movq %rax, -0x660(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x660(%rbp), %rdi
callq 0x71890
movq (%rax), %rdi
callq 0x72560
movq %rax, -0x10b8(%rbp)
jmp 0x67bff
movq -0x10b8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x73120
movsd %xmm0, -0x10c0(%rbp)
jmp 0x67c19
movsd -0x10c0(%rbp), %xmm0
movsd %xmm0, -0x658(%rbp)
leaq -0x650(%rbp), %rdi
leaq -0x658(%rbp), %rsi
callq 0x72650
jmp 0x67c3e
leaq -0x20(%rbp), %rdi
movq %rdi, -0x10c8(%rbp)
leaq -0x650(%rbp), %rsi
movq %rsi, -0x10d0(%rbp)
callq 0x718c0
movq -0x10d0(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0x10c8(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x67c81
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x10d8(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x10d8(%rbp), %rdi
movq %rax, -0x668(%rbp)
leaq -0x668(%rbp), %rsi
callq 0x6c190
jmp 0x67cb8
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x10e0(%rbp)
jmp 0x67cd6
movq -0x10e0(%rbp), %rax
movq %rax, -0x688(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x688(%rbp), %rdi
callq 0x71890
movq (%rax), %rdi
callq 0x72560
movq %rax, -0x10e8(%rbp)
jmp 0x67d05
movq -0x10e8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0xa, %edx
callq 0x73160
movl %eax, -0x10ec(%rbp)
jmp 0x67d22
movl -0x10ec(%rbp), %eax
movl %eax, -0x67c(%rbp)
leaq -0x678(%rbp), %rdi
leaq -0x67c(%rbp), %rsi
callq 0x725b0
jmp 0x67d43
leaq -0x20(%rbp), %rdi
movq %rdi, -0x10f8(%rbp)
leaq -0x678(%rbp), %rsi
movq %rsi, -0x1100(%rbp)
callq 0x718c0
movq -0x1100(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0x10f8(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x67d86
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x1108(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x1108(%rbp), %rdi
movq %rax, -0x690(%rbp)
leaq -0x690(%rbp), %rsi
callq 0x6c190
jmp 0x67dbd
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x1110(%rbp)
jmp 0x67ddb
movq -0x1110(%rbp), %rax
movq %rax, -0x6a0(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x6a0(%rbp), %rdi
callq 0x71890
movq (%rax), %rdi
callq 0x731a0
movq %rax, -0x1118(%rbp)
jmp 0x67e0a
movq -0xb18(%rbp), %rdi
movq -0x1118(%rbp), %rax
movq %rax, -0x698(%rbp)
addq $0x68, %rdi
leaq -0x698(%rbp), %rsi
callq 0x73050
jmp 0x67e31
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x1120(%rbp)
jmp 0x67e4f
movq -0x1120(%rbp), %rax
movq %rax, -0x6b0(%rbp)
leaq -0x6b0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x71890
movq (%rax), %rax
movq %rax, -0x6a8(%rbp)
movq -0x6a8(%rbp), %rdi
callq 0x50830
testb $0x1, %al
jne 0x67e89
jmp 0x67ee4
movq -0x6a8(%rbp), %rdi
callq 0x72560
movq %rax, -0x1128(%rbp)
jmp 0x67e9e
movq -0x1128(%rbp), %rdi
callq 0xb8d0
movq %rax, -0x6c8(%rbp)
leaq -0x6c0(%rbp), %rdi
leaq -0x6c8(%rbp), %rsi
callq 0x731e0
jmp 0x67ec6
leaq -0x20(%rbp), %rdi
leaq -0x6c0(%rbp), %rsi
callq 0x718c0
leaq -0x6c0(%rbp), %rdi
callq 0x6c020
jmp 0x67f28
movq -0x6a8(%rbp), %rdi
callq 0x4bb10
movq %rax, -0x6e0(%rbp)
leaq -0x6d8(%rbp), %rdi
leaq -0x6e0(%rbp), %rsi
callq 0x731e0
jmp 0x67f0c
leaq -0x20(%rbp), %rdi
leaq -0x6d8(%rbp), %rsi
callq 0x718c0
leaq -0x6d8(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
addq $0x50, %rdi
leaq -0x20(%rbp), %rsi
callq 0x6cc30
jmp 0x67f3e
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x1130(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x1130(%rbp), %rdi
movq %rax, -0x6e8(%rbp)
leaq -0x6e8(%rbp), %rsi
callq 0x6c190
jmp 0x67f75
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x1138(%rbp)
jmp 0x67f93
movq -0x1138(%rbp), %rax
movq %rax, -0x710(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x710(%rbp), %rdi
callq 0x71890
movq (%rax), %rsi
leaq -0x708(%rbp), %rdi
callq 0x73250
jmp 0x67fc2
leaq -0x708(%rbp), %rdi
movq %rdi, -0x1148(%rbp)
callq 0xb4e0
movq -0x1148(%rbp), %rdi
movq %rax, -0x718(%rbp)
callq 0xb340
movq -0x1148(%rbp), %rdi
movq %rax, -0x720(%rbp)
callq 0xb4e0
movq %rax, -0x728(%rbp)
movq -0x718(%rbp), %rdi
movq -0x720(%rbp), %rsi
movq -0x728(%rbp), %rdx
movq 0xb4f72(%rip), %rcx     # 0x11cf90
callq 0x732d0
movq %rax, -0x1140(%rbp)
jmp 0x6802c
movq -0x1140(%rbp), %rax
movq %rax, -0x730(%rbp)
leaq -0x740(%rbp), %rdi
leaq -0x708(%rbp), %rsi
callq 0x72470
jmp 0x6804f
leaq -0x20(%rbp), %rdi
movq %rdi, -0x1150(%rbp)
leaq -0x740(%rbp), %rsi
movq %rsi, -0x1158(%rbp)
callq 0x718c0
movq -0x1158(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0x1150(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x68092
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x1160(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x1160(%rbp), %rdi
movq %rax, -0x748(%rbp)
leaq -0x748(%rbp), %rsi
callq 0x6c190
jmp 0x680c9
leaq -0x708(%rbp), %rdi
callq 0xbb98
jmp 0x690f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x708(%rbp), %rdi
callq 0xbb98
jmp 0x69102
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x1168(%rbp)
jmp 0x68110
movq -0x1168(%rbp), %rax
movq %rax, -0x750(%rbp)
xorl %eax, %eax
movl %eax, %esi
movq %rsi, -0x1180(%rbp)
leaq -0x750(%rbp), %rdi
movq %rdi, -0x1188(%rbp)
callq 0x71890
movq (%rax), %rsi
leaq -0x790(%rbp), %rdi
movq %rdi, -0x1178(%rbp)
callq 0x71d10
movq -0x1188(%rbp), %rdi
movq -0x1180(%rbp), %rsi
callq 0x71890
movq (%rax), %rsi
leaq -0x7b0(%rbp), %rdi
movq %rdi, -0x1170(%rbp)
callq 0x71d40
movq -0x1178(%rbp), %rsi
movq -0x1170(%rbp), %rdx
leaq -0x770(%rbp), %rdi
callq 0x73350
jmp 0x68197
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x1198(%rbp)
leaq -0x770(%rbp), %rdi
callq 0x733b0
movq %rax, -0x1190(%rbp)
jmp 0x681be
movq -0x1198(%rbp), %rdi
movq -0x1190(%rbp), %rax
movq %rax, -0x7b8(%rbp)
leaq -0x7b8(%rbp), %rsi
callq 0x6c190
jmp 0x681e1
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x11a0(%rbp)
jmp 0x681ff
movq -0x11a0(%rbp), %rax
movq %rax, -0x7c0(%rbp)
xorl %eax, %eax
movl %eax, %esi
movq %rsi, -0x11b8(%rbp)
leaq -0x7c0(%rbp), %rdi
movq %rdi, -0x11c0(%rbp)
callq 0x71890
movq (%rax), %rsi
leaq -0x800(%rbp), %rdi
movq %rdi, -0x11b0(%rbp)
callq 0x71d10
movq -0x11c0(%rbp), %rdi
movq -0x11b8(%rbp), %rsi
callq 0x71890
movq (%rax), %rsi
leaq -0x820(%rbp), %rdi
movq %rdi, -0x11a8(%rbp)
callq 0x71d40
movq -0x11b0(%rbp), %rsi
movq -0x11a8(%rbp), %rdx
leaq -0x7e0(%rbp), %rdi
callq 0x736e0
jmp 0x68286
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x11d0(%rbp)
leaq -0x7e0(%rbp), %rdi
callq 0x733b0
movq %rax, -0x11c8(%rbp)
jmp 0x682ad
movq -0x11d0(%rbp), %rdi
movq -0x11c8(%rbp), %rax
movq %rax, -0x828(%rbp)
leaq -0x828(%rbp), %rsi
callq 0x6c190
jmp 0x682d0
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x11d8(%rbp)
jmp 0x682ee
movq -0x11d8(%rbp), %rax
movq %rax, -0x848(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x848(%rbp), %rdi
callq 0x71890
movq (%rax), %rdi
callq 0x72620
movl %eax, -0x11dc(%rbp)
jmp 0x6831c
movl -0x11dc(%rbp), %eax
movl %eax, %edx
shrl $0x1f, %edx
movl %eax, %ecx
addl %edx, %ecx
andl $-0x2, %ecx
subl %ecx, %eax
setne -0x839(%rbp)
leaq -0x838(%rbp), %rdi
leaq -0x839(%rbp), %rsi
callq 0x71790
jmp 0x6834c
leaq -0x20(%rbp), %rdi
movq %rdi, -0x11e8(%rbp)
leaq -0x838(%rbp), %rsi
movq %rsi, -0x11f0(%rbp)
callq 0x718c0
movq -0x11f0(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0x11e8(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x6838f
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x11f8(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x11f8(%rbp), %rdi
movq %rax, -0x850(%rbp)
leaq -0x850(%rbp), %rsi
callq 0x6c190
jmp 0x683c6
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x1200(%rbp)
jmp 0x683e4
movq -0x1200(%rbp), %rax
movq %rax, -0x870(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x870(%rbp), %rdi
callq 0x71890
movq (%rax), %rdi
callq 0x72620
movl %eax, -0x1204(%rbp)
jmp 0x68412
movl -0x1204(%rbp), %eax
cltq
movq %rax, -0x1218(%rbp)
leaq -0x871(%rbp), %rdi
movq %rdi, -0x1210(%rbp)
callq 0x73740
movq -0x1218(%rbp), %rsi
movq -0x1210(%rbp), %rdx
leaq -0x868(%rbp), %rdi
callq 0x73760
jmp 0x68450
leaq -0x871(%rbp), %rdi
callq 0x737d0
leaq -0x868(%rbp), %rdi
movq %rdi, -0x1220(%rbp)
callq 0x73850
movq -0x1220(%rbp), %rdi
movq %rax, -0x880(%rbp)
callq 0x73880
movq %rax, -0x888(%rbp)
movq -0x880(%rbp), %rdi
movq -0x888(%rbp), %rsi
xorl %edx, %edx
callq 0x737f0
jmp 0x684a0
leaq -0x898(%rbp), %rdi
leaq -0x868(%rbp), %rsi
callq 0x738b0
jmp 0x684b5
leaq -0x20(%rbp), %rdi
movq %rdi, -0x1228(%rbp)
leaq -0x898(%rbp), %rsi
movq %rsi, -0x1230(%rbp)
callq 0x718c0
movq -0x1230(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0x1228(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x684f8
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x1238(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x1238(%rbp), %rdi
movq %rax, -0x8a0(%rbp)
leaq -0x8a0(%rbp), %rsi
callq 0x6c190
jmp 0x6852f
leaq -0x868(%rbp), %rdi
callq 0x73920
jmp 0x690f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x871(%rbp), %rdi
callq 0x737d0
jmp 0x69102
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x868(%rbp), %rdi
callq 0x73920
jmp 0x69102
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x718f0
movq %rdx, -0x1248(%rbp)
movq %rax, -0x1240(%rbp)
jmp 0x6859a
movq -0x1248(%rbp), %rax
movq -0x1240(%rbp), %rcx
movq %rcx, -0x8b0(%rbp)
movq %rax, -0x8a8(%rbp)
leaq -0x8b0(%rbp), %rdi
movl $0x1, %esi
callq 0x71c70
movq (%rax), %rdi
callq 0x72620
movl %eax, -0x124c(%rbp)
jmp 0x685d7
movl -0x124c(%rbp), %eax
movl %eax, -0x8b4(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x8b0(%rbp), %rdi
callq 0x71c70
movq (%rax), %rdi
callq 0x726c0
movsd %xmm0, -0x1258(%rbp)
jmp 0x68605
movl -0x8b4(%rbp), %edi
movsd 0x586b5(%rip), %xmm0    # 0xc0cc8
callq 0x727d0
movsd %xmm0, -0x1260(%rbp)
jmp 0x68622
movsd -0x1260(%rbp), %xmm1
movsd -0x1258(%rbp), %xmm0
mulsd %xmm1, %xmm0
callq 0xb210
movsd %xmm0, -0x1270(%rbp)
movl -0x8b4(%rbp), %edi
movsd 0x58677(%rip), %xmm0    # 0xc0cc8
callq 0x727d0
movsd %xmm0, -0x1268(%rbp)
jmp 0x68660
movsd -0x1268(%rbp), %xmm1
movsd -0x1270(%rbp), %xmm0
divsd %xmm1, %xmm0
movsd %xmm0, -0x8c0(%rbp)
leaq -0x8d0(%rbp), %rdi
leaq -0x8c0(%rbp), %rsi
callq 0x72650
jmp 0x68691
leaq -0x20(%rbp), %rdi
movq %rdi, -0x1278(%rbp)
leaq -0x8d0(%rbp), %rsi
movq %rsi, -0x1280(%rbp)
callq 0x718c0
movq -0x1280(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0x1278(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x686d4
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x1288(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x1288(%rbp), %rdi
movq %rax, -0x8d8(%rbp)
leaq -0x8d8(%rbp), %rsi
callq 0x6c190
jmp 0x6870b
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x1290(%rbp)
jmp 0x68729
movq -0x1290(%rbp), %rax
movq %rax, -0x908(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x908(%rbp), %rdi
callq 0x71890
movq (%rax), %rsi
leaq -0x900(%rbp), %rdi
callq 0x739f0
jmp 0x68758
leaq -0x8e8(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x73980
jmp 0x6876d
leaq -0x20(%rbp), %rdi
movq %rdi, -0x12a8(%rbp)
leaq -0x8e8(%rbp), %rsi
movq %rsi, -0x12b0(%rbp)
callq 0x718c0
movq -0x12b0(%rbp), %rdi
callq 0x6c020
leaq -0x900(%rbp), %rdi
callq 0x73a70
movq -0x12a8(%rbp), %rdi
callq 0x73b20
movq %rax, %rsi
leaq -0x928(%rbp), %rdi
movq %rdi, -0x12a0(%rbp)
callq 0x12870
movq -0x12a8(%rbp), %rdi
callq 0x73b20
movq %rax, %rsi
leaq -0x948(%rbp), %rdi
movq %rdi, -0x1298(%rbp)
callq 0x128e0
movq -0x12a0(%rbp), %rdi
movq -0x1298(%rbp), %rsi
callq 0x73ad0
jmp 0x687fc
movq -0xb18(%rbp), %rdi
addq $0x50, %rdi
leaq -0x20(%rbp), %rsi
callq 0x6cc30
jmp 0x68812
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x12b8(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x12b8(%rbp), %rdi
movq %rax, -0x950(%rbp)
leaq -0x950(%rbp), %rsi
callq 0x6c190
jmp 0x68849
jmp 0x690f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x900(%rbp), %rdi
callq 0x73a70
jmp 0x69102
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x12c0(%rbp)
jmp 0x68884
movq -0x12c0(%rbp), %rax
movq %rax, -0x978(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x978(%rbp), %rdi
callq 0x71890
movq (%rax), %rsi
leaq -0x970(%rbp), %rdi
callq 0x73250
jmp 0x688b3
leaq -0x970(%rbp), %rdi
movq %rdi, -0x12d0(%rbp)
callq 0xb4e0
movq -0x12d0(%rbp), %rdi
movq %rax, -0x980(%rbp)
callq 0xb340
movq -0x12d0(%rbp), %rdi
movq %rax, -0x988(%rbp)
callq 0xb4e0
movq %rax, -0x990(%rbp)
movq -0x980(%rbp), %rdi
movq -0x988(%rbp), %rsi
movq -0x990(%rbp), %rdx
movq 0xb46c1(%rip), %rcx     # 0x11cfd0
callq 0x732d0
movq %rax, -0x12c8(%rbp)
jmp 0x6891d
movq -0x12c8(%rbp), %rax
movq %rax, -0x998(%rbp)
leaq -0x9a8(%rbp), %rdi
leaq -0x970(%rbp), %rsi
callq 0x72470
jmp 0x68940
leaq -0x20(%rbp), %rdi
movq %rdi, -0x12d8(%rbp)
leaq -0x9a8(%rbp), %rsi
movq %rsi, -0x12e0(%rbp)
callq 0x718c0
movq -0x12e0(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0x12d8(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x68983
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x12e8(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x12e8(%rbp), %rdi
movq %rax, -0x9b0(%rbp)
leaq -0x9b0(%rbp), %rsi
callq 0x6c190
jmp 0x689ba
leaq -0x970(%rbp), %rdi
callq 0xbb98
jmp 0x690f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x970(%rbp), %rdi
callq 0xbb98
jmp 0x69102
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x12f0(%rbp)
jmp 0x68a01
movq -0x12f0(%rbp), %rax
movq %rax, -0x9d0(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x9d0(%rbp), %rdi
callq 0x71890
movq (%rax), %rdi
callq 0x73b40
movb %al, -0x9c1(%rbp)
leaq -0x9c0(%rbp), %rdi
leaq -0x9c1(%rbp), %rsi
callq 0x71790
jmp 0x68a42
leaq -0x20(%rbp), %rdi
movq %rdi, -0x12f8(%rbp)
leaq -0x9c0(%rbp), %rsi
movq %rsi, -0x1300(%rbp)
callq 0x718c0
movq -0x1300(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0x12f8(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x68a85
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x1308(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x1308(%rbp), %rdi
movq %rax, -0x9d8(%rbp)
leaq -0x9d8(%rbp), %rsi
callq 0x6c190
jmp 0x68abc
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x1310(%rbp)
jmp 0x68ada
movq -0x1310(%rbp), %rax
movq %rax, -0x9f8(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x9f8(%rbp), %rdi
callq 0x71890
movq (%rax), %rdi
callq 0x73b60
movb %al, -0x9e9(%rbp)
leaq -0x9e8(%rbp), %rdi
leaq -0x9e9(%rbp), %rsi
callq 0x71790
jmp 0x68b1b
leaq -0x20(%rbp), %rdi
movq %rdi, -0x1318(%rbp)
leaq -0x9e8(%rbp), %rsi
movq %rsi, -0x1320(%rbp)
callq 0x718c0
movq -0x1320(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0x1318(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x68b5e
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x1328(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x1328(%rbp), %rdi
movq %rax, -0xa00(%rbp)
leaq -0xa00(%rbp), %rsi
callq 0x6c190
jmp 0x68b95
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x1330(%rbp)
jmp 0x68bb3
movq -0x1330(%rbp), %rax
movq %rax, -0xa20(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0xa20(%rbp), %rdi
callq 0x71890
movq (%rax), %rdi
callq 0x72580
movb %al, -0xa11(%rbp)
leaq -0xa10(%rbp), %rdi
leaq -0xa11(%rbp), %rsi
callq 0x71790
jmp 0x68bf4
leaq -0x20(%rbp), %rdi
movq %rdi, -0x1338(%rbp)
leaq -0xa10(%rbp), %rsi
movq %rsi, -0x1340(%rbp)
callq 0x718c0
movq -0x1340(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0x1338(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x68c37
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x1348(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x1348(%rbp), %rdi
movq %rax, -0xa28(%rbp)
leaq -0xa28(%rbp), %rsi
callq 0x6c190
jmp 0x68c6e
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x1350(%rbp)
jmp 0x68c8c
movq -0x1350(%rbp), %rax
movq %rax, -0xa48(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0xa48(%rbp), %rdi
callq 0x71890
movq (%rax), %rdi
callq 0x73ba0
movb %al, -0xa39(%rbp)
leaq -0xa38(%rbp), %rdi
leaq -0xa39(%rbp), %rsi
callq 0x71790
jmp 0x68ccd
leaq -0x20(%rbp), %rdi
movq %rdi, -0x1358(%rbp)
leaq -0xa38(%rbp), %rsi
movq %rsi, -0x1360(%rbp)
callq 0x718c0
movq -0x1360(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0x1358(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x68d10
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x1368(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x1368(%rbp), %rdi
movq %rax, -0xa50(%rbp)
leaq -0xa50(%rbp), %rsi
callq 0x6c190
jmp 0x68d47
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x1370(%rbp)
jmp 0x68d65
movq -0x1370(%rbp), %rax
movq %rax, -0xa70(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0xa70(%rbp), %rdi
callq 0x71890
movq (%rax), %rdi
callq 0x4a990
movb %al, -0xa61(%rbp)
leaq -0xa60(%rbp), %rdi
leaq -0xa61(%rbp), %rsi
callq 0x71790
jmp 0x68da6
leaq -0x20(%rbp), %rdi
movq %rdi, -0x1378(%rbp)
leaq -0xa60(%rbp), %rsi
movq %rsi, -0x1380(%rbp)
callq 0x718c0
movq -0x1380(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0x1378(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x68de9
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x1388(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x1388(%rbp), %rdi
movq %rax, -0xa78(%rbp)
leaq -0xa78(%rbp), %rsi
callq 0x6c190
jmp 0x68e20
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x1390(%rbp)
jmp 0x68e3e
movq -0x1390(%rbp), %rax
movq %rax, -0xa98(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0xa98(%rbp), %rdi
callq 0x71890
movq (%rax), %rdi
callq 0x4a970
movb %al, -0xa89(%rbp)
leaq -0xa88(%rbp), %rdi
leaq -0xa89(%rbp), %rsi
callq 0x71790
jmp 0x68e7f
leaq -0x20(%rbp), %rdi
movq %rdi, -0x1398(%rbp)
leaq -0xa88(%rbp), %rsi
movq %rsi, -0x13a0(%rbp)
callq 0x718c0
movq -0x13a0(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0x1398(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x68ec2
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x13a8(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x13a8(%rbp), %rdi
movq %rax, -0xaa0(%rbp)
leaq -0xaa0(%rbp), %rsi
callq 0x6c190
jmp 0x68ef9
jmp 0x690f0
movq -0xb18(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x71400
movq %rax, -0x13b0(%rbp)
jmp 0x68f17
movq -0x13b0(%rbp), %rax
movq %rax, -0xac0(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0xac0(%rbp), %rdi
callq 0x71890
movq (%rax), %rdi
callq 0x50830
movb %al, -0xab1(%rbp)
leaq -0xab0(%rbp), %rdi
leaq -0xab1(%rbp), %rsi
callq 0x71790
jmp 0x68f58
leaq -0x20(%rbp), %rdi
movq %rdi, -0x13b8(%rbp)
leaq -0xab0(%rbp), %rsi
movq %rsi, -0x13c0(%rbp)
callq 0x718c0
movq -0x13c0(%rbp), %rdi
callq 0x6c020
movq -0xb18(%rbp), %rdi
movq -0x13b8(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x68f9b
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x13c8(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x13c8(%rbp), %rdi
movq %rax, -0xac8(%rbp)
leaq -0xac8(%rbp), %rsi
callq 0x6c190
jmp 0x68fd2
jmp 0x690f0
movq -0xb18(%rbp), %rsi
movq -0x10(%rbp), %rcx
movslq 0x40(%rcx), %rdx
leaq -0xae0(%rbp), %rdi
callq 0x73bc0
jmp 0x68ff4
movq -0x10(%rbp), %rsi
addq $0x48, %rsi
leaq -0xb00(%rbp), %rdi
leaq -0xae0(%rbp), %rdx
callq 0x6cbd0
jmp 0x69011
leaq -0xaf0(%rbp), %rdi
leaq -0xb00(%rbp), %rsi
callq 0x6cb60
jmp 0x69026
leaq -0x20(%rbp), %rdi
movq %rdi, -0x13d0(%rbp)
leaq -0xaf0(%rbp), %rsi
movq %rsi, -0x13d8(%rbp)
callq 0x718c0
movq -0x13d8(%rbp), %rdi
callq 0x6c020
leaq -0xb00(%rbp), %rdi
callq 0x12460
movq -0xb18(%rbp), %rdi
movq -0x13d0(%rbp), %rsi
addq $0x50, %rdi
callq 0x6cc30
jmp 0x69075
movq -0xb18(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x13e0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6cca0
movq -0x13e0(%rbp), %rdi
movq %rax, -0xb08(%rbp)
leaq -0xb08(%rbp), %rsi
callq 0x6c190
jmp 0x690ac
leaq -0xae0(%rbp), %rdi
callq 0x6ccc0
jmp 0x690f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x690e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xb00(%rbp), %rdi
callq 0x12460
leaq -0xae0(%rbp), %rdi
callq 0x6ccc0
jmp 0x69102
jmp 0x690f0
leaq -0x20(%rbp), %rdi
callq 0x6c020
addq $0x13e0, %rsp           # imm = 0x13E0
popq %rbp
retq
leaq -0x20(%rbp), %rdi
callq 0x6c020
movq -0x30(%rbp), %rdi
callq 0xba60
nopw %cs:(%rax,%rax)
nop