// File: flightaware[P]beast-splitter/splitter_main.cc
// Function: realmain(int, char**)
static int realmain(int argc, char **argv) {
    boost::asio::io_service io_service;
    modes::FilterDistributor distributor;

    po::options_description desc("Allowed options");
    desc.add_options()("help", "produce help message")("serial", po::value<std::string>(), "read from given serial device")("net", po::value<net_option>(), "read from given network host:port")("status-file", po::value<std::string>(), "set path to status file")("fixed-baud", po::value<unsigned>()->default_value(0), "set a fixed baud rate, or 0 for autobauding")("listen", po::value<std::vector<listen_option>>(), "specify a [host:]port[:settings] to listen on")(
        "connect", po::value<std::vector<connect_option>>(), "specify a host:port[:settings] to connect to")("force", po::value<beast::Settings>()->default_value(beast::Settings()), "specify settings to force on or off when configuring the Beast");

    po::variables_map opts;

    try {
        po::store(po::parse_command_line(argc, argv, desc), opts);
        po::notify(opts);
    } catch (boost::program_options::error &err) {
        std::cerr << err.what() << std::endl;
        std::cerr << desc << std::endl;
        return EXIT_NO_RESTART;
    }

    if (opts.count("help")) {
        std::cerr << desc << std::endl;
        return EXIT_NO_RESTART;
    }

    if (!opts.count("connect") && !opts.count("listen")) {
        std::cerr << "At least one --connect or --listen argument is needed" << std::endl;
        std::cerr << desc << std::endl;
        return EXIT_NO_RESTART;
    }

    beast::BeastInput::pointer input;
    if (opts.count("serial")) {
        input = beast::SerialInput::create(io_service, opts["serial"].as<std::string>(), opts["fixed-baud"].as<unsigned>(), opts["force"].as<beast::Settings>());
    } else if (opts.count("net")) {
        auto net = opts["net"].as<net_option>();
        input = beast::NetInput::create(io_service, net.host, net.port, opts["force"].as<beast::Settings>());
    } else {
        std::cerr << "A --serial or --net argument is needed" << std::endl;
        std::cerr << desc << std::endl;
        return EXIT_NO_RESTART;
    }

    distributor.set_filter_notifier(std::bind(&beast::BeastInput::set_filter, input, std::placeholders::_1));

    tcp::resolver resolver(io_service);

    if (opts.count("listen")) {
        for (auto l : opts["listen"].as<std::vector<listen_option>>()) {
            tcp::resolver::query query(l.host, l.port, tcp::resolver::query::passive);
            boost::system::error_code ec;

            bool success = false;
            tcp::resolver::iterator end;
            for (auto i = resolver.resolve(query, ec); i != end; ++i) {
                const auto &endpoint = i->endpoint();

                try {
                    auto listener = beast::SocketListener::create(io_service, endpoint, distributor, l.settings);
                    listener->start();
                    std::cerr << "Listening on " << endpoint << std::endl;
                    success = true;
                } catch (boost::system::system_error &err) {
                    std::cerr << "Could not listen on " << endpoint << ": " << err.what() << std::endl;
                    ec = err.code();
                }
            }

            if (!success) {
                if (l.host.empty())
                    std::cerr << "Could not bind to port " << l.port << ": " << ec.message() << std::endl;
                else
                    std::cerr << "Could not bind to " << l.host << ":" << l.port << ": " << ec.message() << std::endl;
                return 1;
            }
        }
    }

    if (opts.count("connect")) {
        for (auto l : opts["connect"].as<std::vector<connect_option>>()) {
            auto connector = beast::SocketConnector::create(io_service, l.host, l.port, distributor, l.settings);
            connector->start();
        }
    }

    if (opts.count("status-file")) {
        auto statuswriter = splitter::StatusWriter::create(io_service, distributor, input, opts["status-file"].as<std::string>());
        statuswriter->start();
    }

    input->set_message_notifier(std::bind(&modes::FilterDistributor::broadcast, &distributor, std::placeholders::_1));
    input->start();

    io_service.run();
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc30, %rsp            # imm = 0xC30
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x6a2e0
leaq -0x78(%rbp), %rdi
callq 0x16cf0
jmp 0x65fb6
leaq -0x129(%rbp), %rdi
movq %rdi, -0x918(%rbp)
callq 0x12fa0
movq -0x918(%rbp), %rdx
leaq 0x4fe21(%rip), %rsi     # 0xb5df8
leaq -0x128(%rbp), %rdi
callq 0x22350
jmp 0x65fe5
movq 0xa4f34(%rip), %rax     # 0x10af20
movl (%rax), %edx
movl %edx, %ecx
shrl %ecx
leaq -0x108(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x12c00
jmp 0x66007
leaq -0x128(%rbp), %rdi
callq 0x13198
leaq -0x129(%rbp), %rdi
callq 0x128f0
leaq -0x108(%rbp), %rdi
callq 0x129f0
movq %rax, -0x920(%rbp)
jmp 0x66034
movq -0x920(%rbp), %rax
movq %rax, -0x138(%rbp)
leaq 0x4fdbf(%rip), %rsi     # 0xb5e08
leaq 0x4fdbd(%rip), %rdx     # 0xb5e0d
leaq -0x138(%rbp), %rdi
callq 0x13030
movq %rax, -0x928(%rbp)
jmp 0x66065
callq 0x6a390
movq %rax, -0x930(%rbp)
jmp 0x66073
movq -0x930(%rbp), %rdx
movq -0x928(%rbp), %rdi
leaq 0x4fd9a(%rip), %rsi     # 0xb5e22
leaq 0x4fd9a(%rip), %rcx     # 0xb5e29
callq 0x130f0
movq %rax, -0x938(%rbp)
jmp 0x6609d
callq 0x6a3a0
movq %rax, -0x940(%rbp)
jmp 0x660ab
movq -0x940(%rbp), %rdx
movq -0x938(%rbp), %rdi
leaq 0x4fd87(%rip), %rsi     # 0xb5e47
leaq 0x4fd84(%rip), %rcx     # 0xb5e4b
callq 0x130f0
movq %rax, -0x948(%rbp)
jmp 0x660d5
callq 0x6a390
movq %rax, -0x950(%rbp)
jmp 0x660e3
movq -0x950(%rbp), %rdx
movq -0x948(%rbp), %rdi
leaq 0x4fd75(%rip), %rsi     # 0xb5e6d
leaq 0x4fd7a(%rip), %rcx     # 0xb5e79
callq 0x130f0
movq %rax, -0x958(%rbp)
jmp 0x6610d
callq 0x6a3b0
movq %rax, -0x960(%rbp)
jmp 0x6611b
movq -0x960(%rbp), %rdi
movl $0x0, -0x13c(%rbp)
leaq -0x13c(%rbp), %rsi
callq 0x6a3c0
movq %rax, -0x968(%rbp)
jmp 0x66141
movq -0x968(%rbp), %rdx
movq -0x958(%rbp), %rdi
leaq 0x4fd3b(%rip), %rsi     # 0xb5e91
leaq 0x4fd3f(%rip), %rcx     # 0xb5e9c
callq 0x130f0
movq %rax, -0x970(%rbp)
jmp 0x6616b
callq 0x6a430
movq %rax, -0x978(%rbp)
jmp 0x66179
movq -0x978(%rbp), %rdx
movq -0x970(%rbp), %rdi
leaq 0x4eedb(%rip), %rsi     # 0xb5069
leaq 0x4fd33(%rip), %rcx     # 0xb5ec8
callq 0x130f0
movq %rax, -0x980(%rbp)
jmp 0x661a3
callq 0x6a440
movq %rax, -0x988(%rbp)
jmp 0x661b1
movq -0x988(%rbp), %rdx
movq -0x980(%rbp), %rdi
leaq 0x4fd30(%rip), %rsi     # 0xb5ef6
leaq 0x4fd31(%rip), %rcx     # 0xb5efe
callq 0x130f0
movq %rax, -0x990(%rbp)
jmp 0x661db
callq 0x6a450
movq %rax, -0x998(%rbp)
jmp 0x661e9
leaq -0x16c(%rbp), %rdi
callq 0x19860
jmp 0x661f7
movq -0x998(%rbp), %rdi
leaq -0x16c(%rbp), %rsi
callq 0x6a460
movq %rax, -0x9a0(%rbp)
jmp 0x66213
movq -0x9a0(%rbp), %rdx
movq -0x990(%rbp), %rdi
leaq 0x4fd03(%rip), %rsi     # 0xb5f2b
leaq 0x4fd02(%rip), %rcx     # 0xb5f31
callq 0x130f0
jmp 0x66236
leaq -0x210(%rbp), %rdi
callq 0x123b0
jmp 0x66244
movl -0x8(%rbp), %eax
movl %eax, -0x9ac(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x9a8(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x250(%rbp)
movaps %xmm0, -0x260(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x6a610
jmp 0x66277
movq -0x9a8(%rbp), %rdx
movl -0x9ac(%rbp), %esi
leaq -0x238(%rbp), %rdi
leaq -0x108(%rbp), %rcx
xorl %r8d, %r8d
leaq -0x260(%rbp), %r9
callq 0x6a4d0
jmp 0x662a3
leaq -0x238(%rbp), %rdi
leaq -0x210(%rbp), %rsi
xorl %edx, %edx
callq 0x12f50
jmp 0x662ba
leaq -0x238(%rbp), %rdi
callq 0x6a630
leaq -0x260(%rbp), %rdi
callq 0x6a650
leaq -0x210(%rbp), %rdi
callq 0x124e0
jmp 0x662e0
jmp 0x66470
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x67d07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x66325
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x128(%rbp), %rdi
callq 0x13198
leaq -0x129(%rbp), %rdi
callq 0x128f0
jmp 0x67cfe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x67cf2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x66393
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x66387
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x6a630
leaq -0x260(%rbp), %rdi
callq 0x6a650
movl -0x84(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x67ce6
movq -0x80(%rbp), %rdi
callq 0x12380
movq %rax, -0x268(%rbp)
movq -0x268(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, %rsi
movq 0xa4c08(%rip), %rdi     # 0x10afd8
callq 0x12800
movq %rax, -0x9b8(%rbp)
jmp 0x663de
movq -0x9b8(%rbp), %rdi
movq 0xa4b2c(%rip), %rsi     # 0x10af18
callq 0x128b0
jmp 0x663f3
movq 0xa4bde(%rip), %rdi     # 0x10afd8
leaq -0x108(%rbp), %rsi
callq 0x12190
movq %rax, -0x9c0(%rbp)
jmp 0x6640f
movq -0x9c0(%rbp), %rdi
movq 0xa4afb(%rip), %rsi     # 0x10af18
callq 0x128b0
jmp 0x66424
movl $0x40, -0x4(%rbp)
movl $0x1, -0x26c(%rbp)
callq 0x12e40
jmp 0x66452
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
callq 0x12e40
jmp 0x6646b
jmp 0x67cb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x67ce6
jmp 0x67ce6
leaq -0x200(%rbp), %rax
movq %rax, -0x9d0(%rbp)
leaq -0x291(%rbp), %rdi
movq %rdi, -0x9c8(%rbp)
callq 0x12fa0
movq -0x9c8(%rbp), %rdx
leaq 0x4f969(%rip), %rsi     # 0xb5e08
leaq -0x290(%rbp), %rdi
callq 0x22350
jmp 0x664ad
movq -0x9d0(%rbp), %rdi
leaq -0x290(%rbp), %rsi
callq 0x6a680
movq %rax, -0x9d8(%rbp)
jmp 0x664c9
leaq -0x290(%rbp), %rdi
callq 0x13198
leaq -0x291(%rbp), %rdi
callq 0x128f0
movq -0x9d8(%rbp), %rax
cmpq $0x0, %rax
je 0x66576
movq 0xa4adf(%rip), %rdi     # 0x10afd8
leaq -0x108(%rbp), %rsi
callq 0x12190
movq %rax, -0x9e0(%rbp)
jmp 0x6650e
movq -0x9e0(%rbp), %rdi
movq 0xa49fc(%rip), %rsi     # 0x10af18
callq 0x128b0
jmp 0x66523
movl $0x40, -0x4(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x67cb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x66565
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x290(%rbp), %rdi
callq 0x13198
leaq -0x291(%rbp), %rdi
callq 0x128f0
jmp 0x67ce6
leaq -0x200(%rbp), %rax
movq %rax, -0x9f0(%rbp)
leaq -0x2b9(%rbp), %rdi
movq %rdi, -0x9e8(%rbp)
callq 0x12fa0
movq -0x9e8(%rbp), %rdx
movb $0x0, -0x2e2(%rbp)
movb $0x0, -0x2e3(%rbp)
leaq 0x4f943(%rip), %rsi     # 0xb5ef6
leaq -0x2b8(%rbp), %rdi
callq 0x22350
jmp 0x665c1
movq -0x9f0(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
callq 0x6a680
movq %rax, -0x9f8(%rbp)
jmp 0x665dd
movq -0x9f8(%rbp), %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movb %al, -0x9f9(%rbp)
jne 0x6666f
leaq -0x200(%rbp), %rax
movq %rax, -0xa10(%rbp)
leaq -0x2e1(%rbp), %rdi
movq %rdi, -0xa08(%rbp)
callq 0x12fa0
movq -0xa08(%rbp), %rdx
movb $0x1, -0x2e2(%rbp)
leaq 0x4ea41(%rip), %rsi     # 0xb5069
leaq -0x2e0(%rbp), %rdi
callq 0x22350
jmp 0x66636
movq -0xa10(%rbp), %rdi
movb $0x1, -0x2e3(%rbp)
leaq -0x2e0(%rbp), %rsi
callq 0x6a680
movq %rax, -0xa18(%rbp)
jmp 0x66659
movq -0xa18(%rbp), %rax
cmpq $0x0, %rax
setne %al
xorb $-0x1, %al
movb %al, -0x9f9(%rbp)
movb -0x9f9(%rbp), %al
movb %al, -0xa19(%rbp)
testb $0x1, -0x2e3(%rbp)
jne 0x66686
jmp 0x66692
leaq -0x2e0(%rbp), %rdi
callq 0x13198
testb $0x1, -0x2e2(%rbp)
jne 0x6669d
jmp 0x666a9
leaq -0x2e1(%rbp), %rdi
callq 0x128f0
leaq -0x2b8(%rbp), %rdi
callq 0x13198
leaq -0x2b9(%rbp), %rdi
callq 0x128f0
movb -0xa19(%rbp), %al
testb $0x1, %al
jne 0x666d0
jmp 0x667d9
movq 0xa4901(%rip), %rdi     # 0x10afd8
leaq 0x4f892(%rip), %rsi     # 0xb5f70
callq 0x12800
movq %rax, -0xa28(%rbp)
jmp 0x666ec
movq -0xa28(%rbp), %rdi
movq 0xa481e(%rip), %rsi     # 0x10af18
callq 0x128b0
jmp 0x66701
movq 0xa48d0(%rip), %rdi     # 0x10afd8
leaq -0x108(%rbp), %rsi
callq 0x12190
movq %rax, -0xa30(%rbp)
jmp 0x6671d
movq -0xa30(%rbp), %rdi
movq 0xa47ed(%rip), %rsi     # 0x10af18
callq 0x128b0
jmp 0x66732
movl $0x40, -0x4(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x67cb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x667c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x667bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x667a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
testb $0x1, -0x2e3(%rbp)
jne 0x66795
jmp 0x667a1
leaq -0x2e0(%rbp), %rdi
callq 0x13198
jmp 0x667a3
testb $0x1, -0x2e2(%rbp)
jne 0x667ae
jmp 0x667ba
leaq -0x2e1(%rbp), %rdi
callq 0x128f0
jmp 0x667bc
leaq -0x2b8(%rbp), %rdi
callq 0x13198
leaq -0x2b9(%rbp), %rdi
callq 0x128f0
jmp 0x67ce6
leaq -0x2f8(%rbp), %rdi
callq 0x6a6e0
leaq -0x200(%rbp), %rax
movq %rax, -0xa40(%rbp)
leaq -0x319(%rbp), %rdi
movq %rdi, -0xa38(%rbp)
callq 0x12fa0
movq -0xa38(%rbp), %rdx
leaq 0x4f60e(%rip), %rsi     # 0xb5e22
leaq -0x318(%rbp), %rdi
callq 0x22350
jmp 0x66822
movq -0xa40(%rbp), %rdi
leaq -0x318(%rbp), %rsi
callq 0x6a680
movq %rax, -0xa48(%rbp)
jmp 0x6683e
leaq -0x318(%rbp), %rdi
callq 0x13198
leaq -0x319(%rbp), %rdi
callq 0x128f0
movq -0xa48(%rbp), %rax
cmpq $0x0, %rax
je 0x66b2e
leaq -0x351(%rbp), %rdi
movq %rdi, -0xa50(%rbp)
callq 0x12fa0
movq -0xa50(%rbp), %rdx
leaq 0x4f59a(%rip), %rsi     # 0xb5e22
leaq -0x350(%rbp), %rdi
callq 0x22350
jmp 0x66896
leaq -0x210(%rbp), %rdi
leaq -0x350(%rbp), %rsi
callq 0x6a7a0
movq %rax, -0xa58(%rbp)
jmp 0x668b2
movq -0xa58(%rbp), %rdi
callq 0x6a7d0
movq %rax, -0xa60(%rbp)
jmp 0x668c7
leaq -0x379(%rbp), %rdi
movq %rdi, -0xa68(%rbp)
callq 0x12fa0
movq -0xa68(%rbp), %rdx
leaq 0x4f5a9(%rip), %rsi     # 0xb5e91
leaq -0x378(%rbp), %rdi
callq 0x22350
jmp 0x668f6
leaq -0x210(%rbp), %rdi
leaq -0x378(%rbp), %rsi
callq 0x6a7a0
movq %rax, -0xa70(%rbp)
jmp 0x66912
movq -0xa70(%rbp), %rdi
callq 0x6a7f0
movq %rax, -0xa78(%rbp)
jmp 0x66927
movq -0xa78(%rbp), %rax
movl (%rax), %eax
movl %eax, -0xa84(%rbp)
leaq -0x3a1(%rbp), %rdi
movq %rdi, -0xa80(%rbp)
callq 0x12fa0
movq -0xa80(%rbp), %rdx
leaq 0x4f5d4(%rip), %rsi     # 0xb5f2b
leaq -0x3a0(%rbp), %rdi
callq 0x22350
jmp 0x66965
leaq -0x210(%rbp), %rdi
leaq -0x3a0(%rbp), %rsi
callq 0x6a7a0
movq %rax, -0xa90(%rbp)
jmp 0x66981
movq -0xa90(%rbp), %rdi
callq 0x6a810
movq %rax, -0xa98(%rbp)
jmp 0x66996
leaq -0x3c8(%rbp), %rdi
callq 0x16810
jmp 0x669a4
movq -0xa98(%rbp), %r8
movl -0xa84(%rbp), %ecx
movq -0xa60(%rbp), %rdx
leaq -0x330(%rbp), %rdi
leaq -0x20(%rbp), %rsi
leaq -0x3c8(%rbp), %r9
callq 0x6a700
jmp 0x669d1
leaq -0x2f8(%rbp), %rdi
leaq -0x330(%rbp), %rsi
callq 0x6a830
leaq -0x330(%rbp), %rdi
callq 0x3b2b0
leaq -0x3a0(%rbp), %rdi
callq 0x13198
leaq -0x3a1(%rbp), %rdi
callq 0x128f0
leaq -0x378(%rbp), %rdi
callq 0x13198
leaq -0x379(%rbp), %rdi
callq 0x128f0
leaq -0x350(%rbp), %rdi
callq 0x13198
leaq -0x351(%rbp), %rdi
callq 0x128f0
jmp 0x66e8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x66a69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x318(%rbp), %rdi
callq 0x13198
leaq -0x319(%rbp), %rdi
callq 0x128f0
jmp 0x67ca2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x66b1d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x66b11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x66b05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x66af9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x66aed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0x13198
leaq -0x3a1(%rbp), %rdi
callq 0x128f0
leaq -0x378(%rbp), %rdi
callq 0x13198
leaq -0x379(%rbp), %rdi
callq 0x128f0
leaq -0x350(%rbp), %rdi
callq 0x13198
leaq -0x351(%rbp), %rdi
callq 0x128f0
jmp 0x67ca2
leaq -0x200(%rbp), %rax
movq %rax, -0xaa8(%rbp)
leaq -0x3e9(%rbp), %rdi
movq %rdi, -0xaa0(%rbp)
callq 0x12fa0
movq -0xaa0(%rbp), %rdx
leaq 0x4f2ea(%rip), %rsi     # 0xb5e47
leaq -0x3e8(%rbp), %rdi
callq 0x22350
jmp 0x66b6b
movq -0xaa8(%rbp), %rdi
leaq -0x3e8(%rbp), %rsi
callq 0x6a680
movq %rax, -0xab0(%rbp)
jmp 0x66b87
leaq -0x3e8(%rbp), %rdi
callq 0x13198
leaq -0x3e9(%rbp), %rdi
callq 0x128f0
movq -0xab0(%rbp), %rax
cmpq $0x0, %rax
je 0x66e00
leaq -0x451(%rbp), %rdi
movq %rdi, -0xab8(%rbp)
callq 0x12fa0
movq -0xab8(%rbp), %rdx
leaq 0x4f276(%rip), %rsi     # 0xb5e47
leaq -0x450(%rbp), %rdi
callq 0x22350
jmp 0x66bdf
leaq -0x210(%rbp), %rdi
leaq -0x450(%rbp), %rsi
callq 0x6a7a0
movq %rax, -0xac0(%rbp)
jmp 0x66bfb
movq -0xac0(%rbp), %rdi
callq 0x6a860
movq %rax, -0xac8(%rbp)
jmp 0x66c10
movq -0xac8(%rbp), %rsi
leaq -0x430(%rbp), %rdi
callq 0x6a880
jmp 0x66c25
leaq -0x450(%rbp), %rdi
callq 0x13198
leaq -0x451(%rbp), %rdi
callq 0x128f0
leaq -0x430(%rbp), %rax
movq %rax, -0xae0(%rbp)
leaq -0x410(%rbp), %rax
movq %rax, -0xad8(%rbp)
leaq -0x489(%rbp), %rdi
movq %rdi, -0xad0(%rbp)
callq 0x12fa0
movq -0xad0(%rbp), %rdx
leaq 0x4f2b1(%rip), %rsi     # 0xb5f2b
leaq -0x488(%rbp), %rdi
callq 0x22350
jmp 0x66c88
leaq -0x210(%rbp), %rdi
leaq -0x488(%rbp), %rsi
callq 0x6a7a0
movq %rax, -0xae8(%rbp)
jmp 0x66ca4
movq -0xae8(%rbp), %rdi
callq 0x6a810
movq %rax, -0xaf0(%rbp)
jmp 0x66cb9
leaq -0x4b0(%rbp), %rdi
callq 0x16810
jmp 0x66cc7
movq -0xaf0(%rbp), %r8
movq -0xad8(%rbp), %rcx
movq -0xae0(%rbp), %rdx
leaq -0x468(%rbp), %rdi
leaq -0x20(%rbp), %rsi
leaq -0x4b0(%rbp), %r9
callq 0x6a8e0
jmp 0x66cf5
leaq -0x2f8(%rbp), %rdi
leaq -0x468(%rbp), %rsi
callq 0x6a980
leaq -0x468(%rbp), %rdi
callq 0x48c10
leaq -0x488(%rbp), %rdi
callq 0x13198
leaq -0x489(%rbp), %rdi
callq 0x128f0
leaq -0x430(%rbp), %rdi
callq 0x68500
jmp 0x66e8c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x66d69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x3e8(%rbp), %rdi
callq 0x13198
leaq -0x3e9(%rbp), %rdi
callq 0x128f0
jmp 0x67ca2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x66da6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x450(%rbp), %rdi
callq 0x13198
leaq -0x451(%rbp), %rdi
callq 0x128f0
jmp 0x67ca2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x66de3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x488(%rbp), %rdi
callq 0x13198
leaq -0x489(%rbp), %rdi
callq 0x128f0
leaq -0x430(%rbp), %rdi
callq 0x68500
jmp 0x67ca2
movq 0xa41d1(%rip), %rdi     # 0x10afd8
leaq 0x4f198(%rip), %rsi     # 0xb5fa6
callq 0x12800
movq %rax, -0xaf8(%rbp)
jmp 0x66e1c
movq -0xaf8(%rbp), %rdi
movq 0xa40ee(%rip), %rsi     # 0x10af18
callq 0x128b0
jmp 0x66e31
movq 0xa41a0(%rip), %rdi     # 0x10afd8
leaq -0x108(%rbp), %rsi
callq 0x12190
movq %rax, -0xb00(%rbp)
jmp 0x66e4d
movq -0xb00(%rbp), %rdi
movq 0xa40bd(%rip), %rsi     # 0x10af18
callq 0x128b0
jmp 0x66e62
movl $0x40, -0x4(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x67c94
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x67ca2
jmp 0x66e8e
leaq -0x49bb5(%rip), %rax    # 0x1d2e0
movq %rax, -0x500(%rbp)
movq $0x0, -0x4f8(%rbp)
movq 0xa40b2(%rip), %rcx     # 0x10af60
leaq -0x4f0(%rbp), %rdi
leaq -0x500(%rbp), %rsi
leaq -0x2f8(%rbp), %rdx
callq 0x6a9b0
jmp 0x66eca
leaq -0x4d0(%rbp), %rdi
leaq -0x4f0(%rbp), %rsi
callq 0x6a9f0
jmp 0x66edf
leaq -0x78(%rbp), %rdi
leaq -0x4d0(%rbp), %rsi
callq 0x16d30
jmp 0x66ef1
leaq -0x4d0(%rbp), %rdi
callq 0x185b0
leaq -0x4f0(%rbp), %rdi
callq 0x6aa90
xorl %eax, %eax
movl %eax, %edx
leaq -0x548(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x48680
jmp 0x66f1f
leaq -0x200(%rbp), %rax
movq %rax, -0xb10(%rbp)
leaq -0x569(%rbp), %rdi
movq %rdi, -0xb08(%rbp)
callq 0x12fa0
movq -0xb08(%rbp), %rdx
leaq 0x4e11b(%rip), %rsi     # 0xb5069
leaq -0x568(%rbp), %rdi
callq 0x22350
jmp 0x66f5c
movq -0xb10(%rbp), %rdi
leaq -0x568(%rbp), %rsi
callq 0x6a680
movq %rax, -0xb18(%rbp)
jmp 0x66f78
leaq -0x568(%rbp), %rdi
callq 0x13198
leaq -0x569(%rbp), %rdi
callq 0x128f0
movq -0xb18(%rbp), %rax
cmpq $0x0, %rax
je 0x67703
leaq -0x599(%rbp), %rdi
movq %rdi, -0xb20(%rbp)
callq 0x12fa0
movq -0xb20(%rbp), %rdx
leaq 0x4e0a7(%rip), %rsi     # 0xb5069
leaq -0x598(%rbp), %rdi
callq 0x22350
jmp 0x66fd0
leaq -0x210(%rbp), %rdi
leaq -0x598(%rbp), %rsi
callq 0x6a7a0
movq %rax, -0xb28(%rbp)
jmp 0x66fec
movq -0xb28(%rbp), %rdi
callq 0x6aab0
movq %rax, -0xb30(%rbp)
jmp 0x67001
leaq -0x598(%rbp), %rdi
callq 0x13198
leaq -0x599(%rbp), %rdi
callq 0x128f0
movq -0xb30(%rbp), %rax
movq %rax, -0x578(%rbp)
movq -0x578(%rbp), %rdi
callq 0x6aad0
movq %rax, -0x5a8(%rbp)
movq -0x578(%rbp), %rdi
callq 0x6ab00
movq %rax, -0x5b0(%rbp)
leaq -0x5a8(%rbp), %rdi
leaq -0x5b0(%rbp), %rsi
callq 0x6ab30
testb $0x1, %al
jne 0x67069
jmp 0x67701
leaq -0x5a8(%rbp), %rdi
callq 0x6ab70
movq %rax, %rsi
leaq -0x620(%rbp), %rdi
callq 0x6ab90
jmp 0x67086
leaq -0x600(%rbp), %rdx
leaq -0x690(%rbp), %rdi
leaq -0x620(%rbp), %rsi
movl $0x1, %ecx
callq 0x487a0
jmp 0x670a7
leaq -0x6a0(%rbp), %rdi
callq 0x26710
movb $0x0, -0x6a1(%rbp)
leaq -0x6c0(%rbp), %rdi
callq 0x48700
jmp 0x670c8
leaq -0x6d8(%rbp), %rdi
leaq -0x548(%rbp), %rsi
leaq -0x690(%rbp), %rdx
leaq -0x6a0(%rbp), %rcx
callq 0x6abc0
jmp 0x670eb
jmp 0x670ed
leaq -0x6d8(%rbp), %rdi
leaq -0x6c0(%rbp), %rsi
callq 0x6ac20
movb %al, -0xb31(%rbp)
jmp 0x67108
movb -0xb31(%rbp), %al
testb $0x1, %al
jne 0x6724e
jmp 0x67118
movl $0x4, -0x26c(%rbp)
leaq -0x6d8(%rbp), %rdi
callq 0x492e0
jmp 0x67474
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x6715f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x4d0(%rbp), %rdi
callq 0x185b0
leaq -0x4f0(%rbp), %rdi
callq 0x6aa90
jmp 0x67ca2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x6719c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x568(%rbp), %rdi
callq 0x13198
leaq -0x569(%rbp), %rdi
callq 0x128f0
jmp 0x67c86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x671d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x598(%rbp), %rdi
callq 0x13198
leaq -0x599(%rbp), %rdi
callq 0x128f0
jmp 0x67c86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x67c86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x676f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x676e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x676d8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x67463
leaq -0x6d8(%rbp), %rdi
callq 0x6ac50
movq %rax, -0xb40(%rbp)
jmp 0x67263
movq -0xb40(%rbp), %rsi
leaq -0x6fc(%rbp), %rdi
callq 0x6ac70
jmp 0x67278
leaq -0x6fc(%rbp), %rax
movq %rax, -0x6e0(%rbp)
movq -0x6e0(%rbp), %rdx
leaq -0x5e0(%rbp), %r8
leaq -0x710(%rbp), %rdi
leaq -0x20(%rbp), %rsi
leaq -0x78(%rbp), %rcx
callq 0x6aca0
jmp 0x672aa
leaq -0x710(%rbp), %rdi
callq 0x6ad30
movq %rax, %rdi
callq 0x513d0
jmp 0x672c0
movq 0xa3d11(%rip), %rdi     # 0x10afd8
leaq 0x4ecff(%rip), %rsi     # 0xb5fcd
callq 0x12800
movq %rax, -0xb48(%rbp)
jmp 0x672dc
movq -0xb48(%rbp), %rdi
movq -0x6e0(%rbp), %rsi
callq 0x48a20
movq %rax, -0xb50(%rbp)
jmp 0x672f8
movq -0xb50(%rbp), %rdi
movq 0xa3c12(%rip), %rsi     # 0x10af18
callq 0x128b0
jmp 0x6730d
movb $0x1, -0x6a1(%rbp)
leaq -0x710(%rbp), %rdi
callq 0x5adc0
jmp 0x67436
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x67351
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x710(%rbp), %rdi
callq 0x5adc0
movl -0x84(%rbp), %eax
movl $0x2, %ecx
cmpl %ecx, %eax
jne 0x67463
movq -0x80(%rbp), %rdi
callq 0x12380
movq %rax, -0x718(%rbp)
movq 0xa3c5d(%rip), %rdi     # 0x10afd8
leaq 0x4ec59(%rip), %rsi     # 0xb5fdb
callq 0x12800
movq %rax, -0xb58(%rbp)
jmp 0x67390
movq -0xb58(%rbp), %rdi
movq -0x6e0(%rbp), %rsi
callq 0x48a20
movq %rax, -0xb60(%rbp)
jmp 0x673ac
movq -0xb60(%rbp), %rdi
leaq 0x4dff1(%rip), %rsi     # 0xb53ab
callq 0x12800
movq %rax, -0xb68(%rbp)
jmp 0x673c8
movq -0x718(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq -0xb68(%rbp), %rdi
movq %rax, %rsi
callq 0x12800
movq %rax, -0xb70(%rbp)
jmp 0x673f0
movq -0xb70(%rbp), %rdi
movq 0xa3b1a(%rip), %rsi     # 0x10af18
callq 0x128b0
jmp 0x67405
movq -0x718(%rbp), %rdi
callq 0x3ada0
movq %rax, -0x728(%rbp)
movq %rdx, -0x720(%rbp)
movups -0x728(%rbp), %xmm0
movaps %xmm0, -0x6a0(%rbp)
callq 0x12e40
jmp 0x67434
jmp 0x67436
jmp 0x67438
leaq -0x6d8(%rbp), %rdi
callq 0x4e8a0
jmp 0x67446
jmp 0x670ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
callq 0x12e40
jmp 0x67461
jmp 0x67463
leaq -0x6d8(%rbp), %rdi
callq 0x492e0
jmp 0x676d8
testb $0x1, -0x6a1(%rbp)
jne 0x67671
leaq -0x620(%rbp), %rdi
callq 0x12e80
testb $0x1, %al
jne 0x67496
jmp 0x67561
movq 0xa3b3b(%rip), %rdi     # 0x10afd8
leaq 0x4eb4c(%rip), %rsi     # 0xb5ff0
callq 0x12800
movq %rax, -0xb78(%rbp)
jmp 0x674b2
movq -0xb78(%rbp), %rdi
leaq -0x600(%rbp), %rsi
callq 0x12770
movq %rax, -0xb80(%rbp)
jmp 0x674ce
movq -0xb80(%rbp), %rdi
leaq 0x4decf(%rip), %rsi     # 0xb53ab
callq 0x12800
movq %rax, -0xb88(%rbp)
jmp 0x674ea
leaq -0x748(%rbp), %rdi
leaq -0x6a0(%rbp), %rsi
callq 0x21130
jmp 0x674ff
movq -0xb88(%rbp), %rdi
leaq -0x748(%rbp), %rsi
callq 0x12770
movq %rax, -0xb90(%rbp)
jmp 0x6751b
movq -0xb90(%rbp), %rdi
movq 0xa39ef(%rip), %rsi     # 0x10af18
callq 0x128b0
jmp 0x67530
leaq -0x748(%rbp), %rdi
callq 0x13198
jmp 0x6765e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x748(%rbp), %rdi
callq 0x13198
jmp 0x676d8
movq 0xa3a70(%rip), %rdi     # 0x10afd8
leaq 0x4ea99(%rip), %rsi     # 0xb6008
callq 0x12800
movq %rax, -0xb98(%rbp)
jmp 0x6757d
movq -0xb98(%rbp), %rdi
leaq -0x620(%rbp), %rsi
callq 0x12770
movq %rax, -0xba0(%rbp)
jmp 0x67599
movq -0xba0(%rbp), %rdi
leaq 0x4ba73(%rip), %rsi     # 0xb301a
callq 0x12800
movq %rax, -0xba8(%rbp)
jmp 0x675b5
movq -0xba8(%rbp), %rdi
leaq -0x600(%rbp), %rsi
callq 0x12770
movq %rax, -0xbb0(%rbp)
jmp 0x675d1
movq -0xbb0(%rbp), %rdi
leaq 0x4ddcc(%rip), %rsi     # 0xb53ab
callq 0x12800
movq %rax, -0xbb8(%rbp)
jmp 0x675ed
leaq -0x768(%rbp), %rdi
leaq -0x6a0(%rbp), %rsi
callq 0x21130
jmp 0x67602
movq -0xbb8(%rbp), %rdi
leaq -0x768(%rbp), %rsi
callq 0x12770
movq %rax, -0xbc0(%rbp)
jmp 0x6761e
movq -0xbc0(%rbp), %rdi
movq 0xa38ec(%rip), %rsi     # 0x10af18
callq 0x128b0
jmp 0x67633
leaq -0x768(%rbp), %rdi
callq 0x13198
jmp 0x6765e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x768(%rbp), %rdi
callq 0x13198
jmp 0x676d8
movl $0x1, -0x4(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x6767b
movl $0x0, -0x26c(%rbp)
leaq -0x6c0(%rbp), %rdi
callq 0x48730
leaq -0x690(%rbp), %rdi
callq 0x488b0
movl -0x26c(%rbp), %eax
testl %eax, %eax
jne 0x676a9
jmp 0x6769f
movl $0x0, -0x26c(%rbp)
leaq -0x620(%rbp), %rdi
callq 0x68780
movl -0x26c(%rbp), %eax
testl %eax, %eax
jne 0x67c78
jmp 0x676c5
jmp 0x676c7
leaq -0x5a8(%rbp), %rdi
callq 0x6ad50
jmp 0x6704d
leaq -0x6c0(%rbp), %rdi
callq 0x48730
leaq -0x690(%rbp), %rdi
callq 0x488b0
leaq -0x620(%rbp), %rdi
callq 0x68780
jmp 0x67c86
jmp 0x67703
leaq -0x200(%rbp), %rax
movq %rax, -0xbd0(%rbp)
leaq -0x789(%rbp), %rdi
movq %rdi, -0xbc8(%rbp)
callq 0x12fa0
movq -0xbc8(%rbp), %rdx
leaq 0x4e7c4(%rip), %rsi     # 0xb5ef6
leaq -0x788(%rbp), %rdi
callq 0x22350
jmp 0x67740
movq -0xbd0(%rbp), %rdi
leaq -0x788(%rbp), %rsi
callq 0x6a680
movq %rax, -0xbd8(%rbp)
jmp 0x6775c
leaq -0x788(%rbp), %rdi
callq 0x13198
leaq -0x789(%rbp), %rdi
callq 0x128f0
movq -0xbd8(%rbp), %rax
cmpq $0x0, %rax
je 0x6798d
leaq -0x7b9(%rbp), %rdi
movq %rdi, -0xbe0(%rbp)
callq 0x12fa0
movq -0xbe0(%rbp), %rdx
leaq 0x4e750(%rip), %rsi     # 0xb5ef6
leaq -0x7b8(%rbp), %rdi
callq 0x22350
jmp 0x677b4
leaq -0x210(%rbp), %rdi
leaq -0x7b8(%rbp), %rsi
callq 0x6a7a0
movq %rax, -0xbe8(%rbp)
jmp 0x677d0
movq -0xbe8(%rbp), %rdi
callq 0x6ad70
movq %rax, -0xbf0(%rbp)
jmp 0x677e5
leaq -0x7b8(%rbp), %rdi
callq 0x13198
leaq -0x7b9(%rbp), %rdi
callq 0x128f0
movq -0xbf0(%rbp), %rax
movq %rax, -0x798(%rbp)
movq -0x798(%rbp), %rdi
callq 0x6ad90
movq %rax, -0x7c8(%rbp)
movq -0x798(%rbp), %rdi
callq 0x6adc0
movq %rax, -0x7d0(%rbp)
leaq -0x7c8(%rbp), %rdi
leaq -0x7d0(%rbp), %rsi
callq 0x6adf0
testb $0x1, %al
jne 0x6784d
jmp 0x6798b
leaq -0x7c8(%rbp), %rdi
callq 0x6ae30
movq %rax, %rsi
leaq -0x840(%rbp), %rdi
callq 0x6ae50
jmp 0x6786a
leaq -0x820(%rbp), %rcx
leaq -0x800(%rbp), %r9
leaq -0x850(%rbp), %rdi
leaq -0x20(%rbp), %rsi
leaq -0x840(%rbp), %rdx
leaq -0x78(%rbp), %r8
callq 0x6ae80
jmp 0x67895
leaq -0x850(%rbp), %rdi
callq 0x6af20
movq %rax, %rdi
callq 0x51830
jmp 0x678ab
leaq -0x850(%rbp), %rdi
callq 0x5aec0
leaq -0x840(%rbp), %rdi
callq 0x686c0
leaq -0x7c8(%rbp), %rdi
callq 0x6af40
jmp 0x67831
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x67900
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x788(%rbp), %rdi
callq 0x13198
leaq -0x789(%rbp), %rdi
callq 0x128f0
jmp 0x67c86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x6793d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x7b8(%rbp), %rdi
callq 0x13198
leaq -0x7b9(%rbp), %rdi
callq 0x128f0
jmp 0x67c86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x6797a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x850(%rbp), %rdi
callq 0x5aec0
leaq -0x840(%rbp), %rdi
callq 0x686c0
jmp 0x67c86
jmp 0x6798d
leaq -0x200(%rbp), %rax
movq %rax, -0xc00(%rbp)
leaq -0x871(%rbp), %rdi
movq %rdi, -0xbf8(%rbp)
callq 0x12fa0
movq -0xbf8(%rbp), %rdx
leaq 0x4e4b1(%rip), %rsi     # 0xb5e6d
leaq -0x870(%rbp), %rdi
callq 0x22350
jmp 0x679ca
movq -0xc00(%rbp), %rdi
leaq -0x870(%rbp), %rsi
callq 0x6a680
movq %rax, -0xc08(%rbp)
jmp 0x679e6
leaq -0x870(%rbp), %rdi
callq 0x13198
leaq -0x871(%rbp), %rdi
callq 0x128f0
movq -0xc08(%rbp), %rax
cmpq $0x0, %rax
je 0x67b97
leaq -0x898(%rbp), %rdi
leaq -0x2f8(%rbp), %rsi
callq 0x21400
leaq -0x8b9(%rbp), %rdi
movq %rdi, -0xc10(%rbp)
callq 0x12fa0
movq -0xc10(%rbp), %rdx
leaq 0x4e42a(%rip), %rsi     # 0xb5e6d
leaq -0x8b8(%rbp), %rdi
callq 0x22350
jmp 0x67a51
leaq -0x210(%rbp), %rdi
leaq -0x8b8(%rbp), %rsi
callq 0x6a7a0
movq %rax, -0xc18(%rbp)
jmp 0x67a6d
movq -0xc18(%rbp), %rdi
callq 0x6a7d0
movq %rax, -0xc20(%rbp)
jmp 0x67a82
movq -0xc20(%rbp), %r8
leaq -0x888(%rbp), %rdi
leaq -0x20(%rbp), %rsi
leaq -0x78(%rbp), %rdx
leaq -0x898(%rbp), %rcx
callq 0x6af60
jmp 0x67aa6
leaq -0x8b8(%rbp), %rdi
callq 0x13198
leaq -0x8b9(%rbp), %rdi
callq 0x128f0
leaq -0x898(%rbp), %rdi
callq 0x21430
leaq -0x888(%rbp), %rdi
callq 0x6b050
movq %rax, %rdi
callq 0x60710
jmp 0x67ae0
leaq -0x888(%rbp), %rdi
callq 0x622b0
jmp 0x67b97
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x67b1d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x870(%rbp), %rdi
callq 0x13198
leaq -0x871(%rbp), %rdi
callq 0x128f0
jmp 0x67c86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x67b5a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x8b8(%rbp), %rdi
callq 0x13198
leaq -0x8b9(%rbp), %rdi
callq 0x128f0
leaq -0x898(%rbp), %rdi
callq 0x21430
jmp 0x67c86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x888(%rbp), %rdi
callq 0x622b0
jmp 0x67c86
leaq -0x2f8(%rbp), %rdi
callq 0x62380
movq %rax, -0xc28(%rbp)
leaq -0x50b31(%rip), %rax    # 0x17080
movq %rax, -0x908(%rbp)
movq $0x0, -0x900(%rbp)
leaq -0x78(%rbp), %rax
movq %rax, -0x910(%rbp)
movq 0xa338b(%rip), %rcx     # 0x10af60
leaq -0x8f8(%rbp), %rdi
leaq -0x908(%rbp), %rsi
leaq -0x910(%rbp), %rdx
callq 0x6b0a0
jmp 0x67bf1
leaq -0x8e0(%rbp), %rdi
leaq -0x8f8(%rbp), %rsi
callq 0x6b0e0
jmp 0x67c06
movq -0xc28(%rbp), %rdi
leaq -0x8e0(%rbp), %rsi
callq 0x6b070
jmp 0x67c1b
leaq -0x8e0(%rbp), %rdi
callq 0x17ad0
leaq -0x2f8(%rbp), %rdi
callq 0x62380
movq %rax, %rdi
callq 0x1cca0
jmp 0x67c3d
leaq -0x20(%rbp), %rdi
callq 0x6b180
jmp 0x67c48
movl $0x0, -0x4(%rbp)
movl $0x1, -0x26c(%rbp)
jmp 0x67c78
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x8e0(%rbp), %rdi
callq 0x17ad0
jmp 0x67c86
leaq -0x548(%rbp), %rdi
callq 0x48770
jmp 0x67c94
leaq -0x548(%rbp), %rdi
callq 0x48770
jmp 0x67ca2
leaq -0x2f8(%rbp), %rdi
callq 0x21430
jmp 0x67cb0
leaq -0x2f8(%rbp), %rdi
callq 0x21430
jmp 0x67ce6
leaq -0x210(%rbp), %rdi
callq 0x6b1d0
leaq -0x108(%rbp), %rdi
callq 0x6b230
leaq -0x78(%rbp), %rdi
callq 0x6b280
leaq -0x20(%rbp), %rdi
callq 0x6b2b0
movl -0x4(%rbp), %eax
addq $0xc30, %rsp            # imm = 0xC30
popq %rbp
retq
leaq -0x210(%rbp), %rdi
callq 0x6b1d0
leaq -0x108(%rbp), %rdi
callq 0x6b230
leaq -0x78(%rbp), %rdi
callq 0x6b280
leaq -0x20(%rbp), %rdi
callq 0x6b2b0
movq -0x80(%rbp), %rdi
callq 0x12f70
movq %rax, %rdi
callq 0x148f0
nopw %cs:(%rax,%rax)