// File: oknenavin[P]cxon/test/src/json/json.node-main.cxx
// Function: main
int main(int argc, char *argv[]) {
    if (argc == 1)
#       ifndef CXON_TIME_ONLY
            return test::kind::self();
#       else
            return -1;
#       endif

    test::config cf;
    std::map<std::string, test::cases> sets;

    if (argc > 1) {
        if (auto is = std::ifstream(argv[1])) {
            auto const str = std::string(std::istreambuf_iterator<char>(is), std::istreambuf_iterator<char>());
            auto const fbr = cxon::from_bytes<cxon::CXCF<>>(cf, str);
            if (!fbr) {
                std::fprintf(stderr, "%s\n", test::format_error(fbr, std::begin(str)).c_str());
                std::fprintf(stderr, "usage: cxon-json-node <tests>.cf <label>*\n");
                return -1;
            }
        }
        else {
            std::fprintf(stderr, "\"%s\": cannot be opened\n", argv[1]);
            return -1;
        }
        std::string const cfd = test::get_directory(argv[1]);
        static auto const load = [&](const test::config::set& ts) {
            auto& cs = sets[ts.label];
            for (auto& t : ts.group) {
                auto& ss = cf.sets[t];
                for (auto& s : ss.group) {
                    auto p = !test::is_absolute(s.c_str()) ? cfd + s : s;
                    cs.push_back({std::move(p), 0, {}, {}, false});
                }
            }
        };
        if (argc > 2) {
            for (int i = 2; i != argc; ++i)
                if (cf.tests.find(argv[i]) == cf.tests.end()) {
                        std::fprintf(stderr, "%s: test not found in \"%s\"\n", argv[i], argv[1]);
                        return -1;
                }
                else    load(cf.tests[argv[i]]);
        }
        else
            for (auto& ts : cf.tests) load(ts.second);
    }

    int err = 0;

#   ifndef CXON_TIME_ONLY
        if (!sets["pass"].empty())
            err += test::kind::pass(sets["pass"]);
        if (!sets["fail"].empty())
            err += test::kind::fail(sets["fail"]);
        if (!sets["diff-node"].empty())
            err += test::kind::diff_node(sets["diff-node"]);
        if (!sets["diff-native"].empty())
            err += test::kind::diff_native(sets["diff-native"]);
#   endif
        if (!sets["time-node"].empty())
            test::kind::time(sets["time-node"], test::kind::time_cxon_node);
        if (!sets["time-native"].empty())
            test::kind::time(sets["time-native"], test::kind::time_cxon_native);

    return err;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x750, %rsp            # imm = 0x750
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpl $0x1, -0x8(%rbp)
jne 0xa5ebc
callq 0xc1b70
movl %eax, -0x4(%rbp)
jmp 0xa6ed2
leaq -0x70(%rbp), %rdi
callq 0xaa320
leaq -0xa0(%rbp), %rdi
callq 0xaa350
cmpl $0x1, -0x8(%rbp)
jle 0xa6513
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
leaq -0x2a8(%rbp), %rdi
movl $0x8, %edx
callq 0xf060
jmp 0xa5ef6
movq -0x2a8(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x2a8(%rbp,%rax), %rdi
callq 0xf270
movb %al, -0x5d2(%rbp)
jmp 0xa5f16
movb -0x5d2(%rbp), %al
testb $0x1, %al
jne 0xa5f25
jmp 0xa6103
leaq -0x2e8(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
callq 0x18790
leaq -0x2f8(%rbp), %rdi
callq 0x187f0
leaq -0x2f9(%rbp), %rdi
movq %rdi, -0x5e0(%rbp)
callq 0xf5f0
movq -0x5e0(%rbp), %r9
movq -0x2e8(%rbp), %rsi
movl -0x2e0(%rbp), %edx
movq -0x2f8(%rbp), %rcx
movl -0x2f0(%rbp), %r8d
leaq -0x2d8(%rbp), %rdi
callq 0x18fc0
jmp 0xa5f87
leaq -0x2f9(%rbp), %rdi
callq 0xf710
leaq -0x318(%rbp), %rdi
leaq -0x70(%rbp), %rsi
leaq -0x2d8(%rbp), %rdx
callq 0xaa370
jmp 0xa5fac
leaq -0x318(%rbp), %rdi
callq 0x189a0
testb $0x1, %al
jne 0xa60df
movq 0x29e001(%rip), %rax    # 0x343fc8
movq (%rax), %rax
movq %rax, -0x5f0(%rbp)
leaq -0x2d8(%rbp), %rdi
callq 0x19670
movq %rax, -0x5e8(%rbp)
jmp 0xa5fe6
movq -0x5e8(%rbp), %rax
movq %rax, -0x340(%rbp)
movq -0x340(%rbp), %rdx
leaq -0x338(%rbp), %rdi
leaq -0x318(%rbp), %rsi
callq 0x189c0
jmp 0xa6010
leaq -0x338(%rbp), %rdi
callq 0xf0f0
movq -0x5f0(%rbp), %rdi
movq %rax, %rdx
leaq 0x1a2c43(%rip), %rsi    # 0x248c70
movb $0x0, %al
callq 0xf1a0
leaq -0x338(%rbp), %rdi
callq 0xf490
movq 0x29df81(%rip), %rax    # 0x343fc8
movq (%rax), %rdi
leaq 0x1a4457(%rip), %rsi    # 0x24a4a8
movb $0x0, %al
callq 0xf1a0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl $0x1, -0x344(%rbp)
jmp 0xa60e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
jmp 0xa6ebb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
jmp 0xa62f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
leaq -0x2f9(%rbp), %rdi
callq 0xf710
jmp 0xa62f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
leaq -0x2d8(%rbp), %rdi
callq 0xf490
jmp 0xa62f1
movl $0x0, -0x344(%rbp)
leaq -0x2d8(%rbp), %rdi
callq 0xf490
movl -0x344(%rbp), %eax
testl %eax, %eax
jne 0xa6140
jmp 0xa6101
jmp 0xa6136
movq 0x29debe(%rip), %rax    # 0x343fc8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdx
leaq 0x1a43b7(%rip), %rsi    # 0x24a4d3
movb $0x0, %al
callq 0xf1a0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl $0x1, -0x344(%rbp)
jmp 0xa6140
movl $0x0, -0x344(%rbp)
leaq -0x2a8(%rbp), %rdi
callq 0xf050
movl -0x344(%rbp), %eax
testl %eax, %eax
jne 0xa6ea4
jmp 0xa615c
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
leaq -0x368(%rbp), %rdi
callq 0xaa3a0
jmp 0xa6172
cmpb $0x0, 0x29e67f(%rip)    # 0x3447f8
jne 0xa61bf
leaq 0x29e676(%rip), %rdi    # 0x3447f8
callq 0xf260
cmpl $0x0, %eax
je 0xa61bf
leaq -0xa0(%rbp), %rax
movq %rax, 0x29e646(%rip)    # 0x3447e0
leaq -0x70(%rbp), %rax
movq %rax, 0x29e643(%rip)    # 0x3447e8
leaq -0x368(%rbp), %rax
movq %rax, 0x29e63d(%rip)    # 0x3447f0
leaq 0x29e63e(%rip), %rdi    # 0x3447f8
callq 0xf3d0
cmpl $0x2, -0x8(%rbp)
jle 0xa643e
movl $0x2, -0x36c(%rbp)
movl -0x36c(%rbp), %eax
cmpl -0x8(%rbp), %eax
je 0xa6439
leaq -0x70(%rbp), %rax
movq %rax, -0x608(%rbp)
movq -0x10(%rbp), %rax
movslq -0x36c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x600(%rbp)
leaq -0x399(%rbp), %rdi
movq %rdi, -0x5f8(%rbp)
callq 0xf5f0
movq -0x600(%rbp), %rsi
movq -0x5f8(%rbp), %rdx
leaq -0x398(%rbp), %rdi
callq 0xf530
jmp 0xa6232
movq -0x608(%rbp), %rdi
leaq -0x398(%rbp), %rsi
callq 0xaa510
movq %rax, -0x610(%rbp)
jmp 0xa624e
movq -0x610(%rbp), %rax
movq %rax, -0x378(%rbp)
leaq -0x70(%rbp), %rdi
callq 0xaa540
movq %rax, -0x3a8(%rbp)
leaq -0x378(%rbp), %rdi
leaq -0x3a8(%rbp), %rsi
callq 0xaa4e0
movb %al, -0x611(%rbp)
leaq -0x398(%rbp), %rdi
callq 0xf490
leaq -0x399(%rbp), %rdi
callq 0xf710
movb -0x611(%rbp), %al
testb $0x1, %al
jne 0xa62ac
jmp 0xa6345
movq 0x29dd15(%rip), %rax    # 0x343fc8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movslq -0x36c(%rbp), %rcx
movq (%rax,%rcx,8), %rdx
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0x1a4217(%rip), %rsi    # 0x24a4eb
movb $0x0, %al
callq 0xf1a0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl $0x1, -0x344(%rbp)
jmp 0xa64e4
leaq -0x2a8(%rbp), %rdi
callq 0xf050
jmp 0xa6ebb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
jmp 0xa6334
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
leaq -0x398(%rbp), %rdi
callq 0xf490
leaq -0x399(%rbp), %rdi
callq 0xf710
jmp 0xa6502
leaq -0x70(%rbp), %rax
movq %rax, -0x630(%rbp)
movq -0x10(%rbp), %rax
movslq -0x36c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x628(%rbp)
leaq -0x3c9(%rbp), %rdi
movq %rdi, -0x620(%rbp)
callq 0xf5f0
movq -0x628(%rbp), %rsi
movq -0x620(%rbp), %rdx
leaq -0x3c8(%rbp), %rdi
callq 0xf530
jmp 0xa6395
movq -0x630(%rbp), %rdi
leaq -0x3c8(%rbp), %rsi
callq 0xaa570
movq %rax, -0x638(%rbp)
jmp 0xa63b1
movq -0x638(%rbp), %rsi
leaq 0x29e421(%rip), %rdi    # 0x3447e0
callq 0xa6ef0
jmp 0xa63c6
leaq -0x3c8(%rbp), %rdi
callq 0xf490
leaq -0x3c9(%rbp), %rdi
callq 0xf710
jmp 0xa6423
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
jmp 0xa6412
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
leaq -0x3c8(%rbp), %rdi
callq 0xf490
leaq -0x3c9(%rbp), %rdi
callq 0xf710
jmp 0xa6502
jmp 0xa6425
movl -0x36c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x36c(%rbp)
jmp 0xa61d3
jmp 0xa64da
leaq -0x70(%rbp), %rax
movq %rax, -0x3d8(%rbp)
movq -0x3d8(%rbp), %rdi
callq 0xaa650
movq %rax, -0x3e0(%rbp)
movq -0x3d8(%rbp), %rdi
callq 0xaa540
movq %rax, -0x3e8(%rbp)
leaq -0x3e0(%rbp), %rdi
leaq -0x3e8(%rbp), %rsi
callq 0xaa680
testb $0x1, %al
jne 0xa6488
jmp 0xa64d8
leaq -0x3e0(%rbp), %rdi
callq 0xaa6b0
movq %rax, -0x3f0(%rbp)
movq -0x3f0(%rbp), %rsi
addq $0x20, %rsi
leaq 0x29e333(%rip), %rdi    # 0x3447e0
callq 0xa6ef0
jmp 0xa64b4
jmp 0xa64b6
leaq -0x3e0(%rbp), %rdi
callq 0xaa6d0
jmp 0xa646f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
jmp 0xa6502
jmp 0xa64da
movl $0x0, -0x344(%rbp)
leaq -0x368(%rbp), %rdi
callq 0xf490
movl -0x344(%rbp), %eax
testl %eax, %eax
jne 0xa6ea4
jmp 0xa6500
jmp 0xa6513
leaq -0x368(%rbp), %rdi
callq 0xf490
jmp 0xa6ebb
movl $0x0, -0x3f4(%rbp)
leaq -0x419(%rbp), %rdi
movq %rdi, -0x640(%rbp)
callq 0xf5f0
movq -0x640(%rbp), %rdx
leaq 0x1a402d(%rip), %rsi    # 0x24a56b
leaq -0x418(%rbp), %rdi
callq 0xf530
jmp 0xa654c
leaq -0xa0(%rbp), %rdi
leaq -0x418(%rbp), %rsi
callq 0xaa700
movq %rax, -0x648(%rbp)
jmp 0xa6568
movq -0x648(%rbp), %rdi
callq 0xaa7e0
xorb $-0x1, %al
movb %al, -0x649(%rbp)
leaq -0x418(%rbp), %rdi
callq 0xf490
leaq -0x419(%rbp), %rdi
callq 0xf710
movb -0x649(%rbp), %al
testb $0x1, %al
jne 0xa65a3
jmp 0xa66b7
leaq -0x441(%rbp), %rdi
movq %rdi, -0x658(%rbp)
callq 0xf5f0
movq -0x658(%rbp), %rdx
leaq 0x1a3fa7(%rip), %rsi    # 0x24a56b
leaq -0x440(%rbp), %rdi
callq 0xf530
jmp 0xa65d2
leaq -0xa0(%rbp), %rdi
leaq -0x440(%rbp), %rsi
callq 0xaa700
movq %rax, -0x660(%rbp)
jmp 0xa65ee
movq -0x660(%rbp), %rdi
callq 0xa7120
movl %eax, -0x664(%rbp)
jmp 0xa6602
movl -0x664(%rbp), %eax
addl -0x3f4(%rbp), %eax
movl %eax, -0x3f4(%rbp)
leaq -0x440(%rbp), %rdi
callq 0xf490
leaq -0x441(%rbp), %rdi
callq 0xf710
jmp 0xa66b7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
jmp 0xa6663
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
leaq -0x418(%rbp), %rdi
callq 0xf490
leaq -0x419(%rbp), %rdi
callq 0xf710
jmp 0xa6ebb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
jmp 0xa66a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
leaq -0x440(%rbp), %rdi
callq 0xf490
leaq -0x441(%rbp), %rdi
callq 0xf710
jmp 0xa6ebb
leaq -0x469(%rbp), %rdi
movq %rdi, -0x670(%rbp)
callq 0xf5f0
movq -0x670(%rbp), %rdx
leaq 0x1a3ec3(%rip), %rsi    # 0x24a59b
leaq -0x468(%rbp), %rdi
callq 0xf530
jmp 0xa66e6
leaq -0xa0(%rbp), %rdi
leaq -0x468(%rbp), %rsi
callq 0xaa700
movq %rax, -0x678(%rbp)
jmp 0xa6702
movq -0x678(%rbp), %rdi
callq 0xaa7e0
xorb $-0x1, %al
movb %al, -0x679(%rbp)
leaq -0x468(%rbp), %rdi
callq 0xf490
leaq -0x469(%rbp), %rdi
callq 0xf710
movb -0x679(%rbp), %al
testb $0x1, %al
jne 0xa673d
jmp 0xa6851
leaq -0x491(%rbp), %rdi
movq %rdi, -0x688(%rbp)
callq 0xf5f0
movq -0x688(%rbp), %rdx
leaq 0x1a3e3d(%rip), %rsi    # 0x24a59b
leaq -0x490(%rbp), %rdi
callq 0xf530
jmp 0xa676c
leaq -0xa0(%rbp), %rdi
leaq -0x490(%rbp), %rsi
callq 0xaa700
movq %rax, -0x690(%rbp)
jmp 0xa6788
movq -0x690(%rbp), %rdi
callq 0xa7680
movl %eax, -0x694(%rbp)
jmp 0xa679c
movl -0x694(%rbp), %eax
addl -0x3f4(%rbp), %eax
movl %eax, -0x3f4(%rbp)
leaq -0x490(%rbp), %rdi
callq 0xf490
leaq -0x491(%rbp), %rdi
callq 0xf710
jmp 0xa6851
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
jmp 0xa67fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
leaq -0x468(%rbp), %rdi
callq 0xf490
leaq -0x469(%rbp), %rdi
callq 0xf710
jmp 0xa6ebb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
jmp 0xa6840
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
leaq -0x490(%rbp), %rdi
callq 0xf490
leaq -0x491(%rbp), %rdi
callq 0xf710
jmp 0xa6ebb
leaq -0x4b9(%rbp), %rdi
movq %rdi, -0x6a0(%rbp)
callq 0xf5f0
movq -0x6a0(%rbp), %rdx
leaq 0x1a3c95(%rip), %rsi    # 0x24a507
leaq -0x4b8(%rbp), %rdi
callq 0xf530
jmp 0xa6880
leaq -0xa0(%rbp), %rdi
leaq -0x4b8(%rbp), %rsi
callq 0xaa700
movq %rax, -0x6a8(%rbp)
jmp 0xa689c
movq -0x6a8(%rbp), %rdi
callq 0xaa7e0
xorb $-0x1, %al
movb %al, -0x6a9(%rbp)
leaq -0x4b8(%rbp), %rdi
callq 0xf490
leaq -0x4b9(%rbp), %rdi
callq 0xf710
movb -0x6a9(%rbp), %al
testb $0x1, %al
jne 0xa68d7
jmp 0xa69eb
leaq -0x4e1(%rbp), %rdi
movq %rdi, -0x6b8(%rbp)
callq 0xf5f0
movq -0x6b8(%rbp), %rdx
leaq 0x1a3c0f(%rip), %rsi    # 0x24a507
leaq -0x4e0(%rbp), %rdi
callq 0xf530
jmp 0xa6906
leaq -0xa0(%rbp), %rdi
leaq -0x4e0(%rbp), %rsi
callq 0xaa700
movq %rax, -0x6c0(%rbp)
jmp 0xa6922
movq -0x6c0(%rbp), %rdi
callq 0x102a0
movl %eax, -0x6c4(%rbp)
jmp 0xa6936
movl -0x6c4(%rbp), %eax
addl -0x3f4(%rbp), %eax
movl %eax, -0x3f4(%rbp)
leaq -0x4e0(%rbp), %rdi
callq 0xf490
leaq -0x4e1(%rbp), %rdi
callq 0xf710
jmp 0xa69eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
jmp 0xa6997
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
leaq -0x4b8(%rbp), %rdi
callq 0xf490
leaq -0x4b9(%rbp), %rdi
callq 0xf710
jmp 0xa6ebb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
jmp 0xa69da
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
leaq -0x4e0(%rbp), %rdi
callq 0xf490
leaq -0x4e1(%rbp), %rdi
callq 0xf710
jmp 0xa6ebb
leaq -0x509(%rbp), %rdi
movq %rdi, -0x6d0(%rbp)
callq 0xf5f0
movq -0x6d0(%rbp), %rdx
leaq 0x1a3b05(%rip), %rsi    # 0x24a511
leaq -0x508(%rbp), %rdi
callq 0xf530
jmp 0xa6a1a
leaq -0xa0(%rbp), %rdi
leaq -0x508(%rbp), %rsi
callq 0xaa700
movq %rax, -0x6d8(%rbp)
jmp 0xa6a36
movq -0x6d8(%rbp), %rdi
callq 0xaa7e0
xorb $-0x1, %al
movb %al, -0x6d9(%rbp)
leaq -0x508(%rbp), %rdi
callq 0xf490
leaq -0x509(%rbp), %rdi
callq 0xf710
movb -0x6d9(%rbp), %al
testb $0x1, %al
jne 0xa6a71
jmp 0xa6b85
leaq -0x531(%rbp), %rdi
movq %rdi, -0x6e8(%rbp)
callq 0xf5f0
movq -0x6e8(%rbp), %rdx
leaq 0x1a3a7f(%rip), %rsi    # 0x24a511
leaq -0x530(%rbp), %rdi
callq 0xf530
jmp 0xa6aa0
leaq -0xa0(%rbp), %rdi
leaq -0x530(%rbp), %rsi
callq 0xaa700
movq %rax, -0x6f0(%rbp)
jmp 0xa6abc
movq -0x6f0(%rbp), %rdi
callq 0x107a0
movl %eax, -0x6f4(%rbp)
jmp 0xa6ad0
movl -0x6f4(%rbp), %eax
addl -0x3f4(%rbp), %eax
movl %eax, -0x3f4(%rbp)
leaq -0x530(%rbp), %rdi
callq 0xf490
leaq -0x531(%rbp), %rdi
callq 0xf710
jmp 0xa6b85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
jmp 0xa6b31
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
leaq -0x508(%rbp), %rdi
callq 0xf490
leaq -0x509(%rbp), %rdi
callq 0xf710
jmp 0xa6ebb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
jmp 0xa6b74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
leaq -0x530(%rbp), %rdi
callq 0xf490
leaq -0x531(%rbp), %rdi
callq 0xf710
jmp 0xa6ebb
leaq -0x559(%rbp), %rdi
movq %rdi, -0x700(%rbp)
callq 0xf5f0
movq -0x700(%rbp), %rdx
leaq 0x1a3977(%rip), %rsi    # 0x24a51d
leaq -0x558(%rbp), %rdi
callq 0xf530
jmp 0xa6bb4
leaq -0xa0(%rbp), %rdi
leaq -0x558(%rbp), %rsi
callq 0xaa700
movq %rax, -0x708(%rbp)
jmp 0xa6bd0
movq -0x708(%rbp), %rdi
callq 0xaa7e0
xorb $-0x1, %al
movb %al, -0x709(%rbp)
leaq -0x558(%rbp), %rdi
callq 0xf490
leaq -0x559(%rbp), %rdi
callq 0xf710
movb -0x709(%rbp), %al
testb $0x1, %al
jne 0xa6c0b
jmp 0xa6d0e
leaq -0x581(%rbp), %rdi
movq %rdi, -0x718(%rbp)
callq 0xf5f0
movq -0x718(%rbp), %rdx
leaq 0x1a38f1(%rip), %rsi    # 0x24a51d
leaq -0x580(%rbp), %rdi
callq 0xf530
jmp 0xa6c3a
leaq -0xa0(%rbp), %rdi
leaq -0x580(%rbp), %rsi
callq 0xaa700
movq %rax, -0x720(%rbp)
jmp 0xa6c56
movq -0x720(%rbp), %rdi
leaq 0x19ac5c(%rip), %rsi    # 0x2418c0
callq 0xaa820
jmp 0xa6c6b
leaq -0x580(%rbp), %rdi
callq 0xf490
leaq -0x581(%rbp), %rdi
callq 0xf710
jmp 0xa6d0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
jmp 0xa6cba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
leaq -0x558(%rbp), %rdi
callq 0xf490
leaq -0x559(%rbp), %rdi
callq 0xf710
jmp 0xa6ebb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
jmp 0xa6cfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
leaq -0x580(%rbp), %rdi
callq 0xf490
leaq -0x581(%rbp), %rdi
callq 0xf710
jmp 0xa6ebb
leaq -0x5a9(%rbp), %rdi
movq %rdi, -0x728(%rbp)
callq 0xf5f0
movq -0x728(%rbp), %rdx
leaq 0x1a37f8(%rip), %rsi    # 0x24a527
leaq -0x5a8(%rbp), %rdi
callq 0xf530
jmp 0xa6d3d
leaq -0xa0(%rbp), %rdi
leaq -0x5a8(%rbp), %rsi
callq 0xaa700
movq %rax, -0x730(%rbp)
jmp 0xa6d59
movq -0x730(%rbp), %rdi
callq 0xaa7e0
xorb $-0x1, %al
movb %al, -0x731(%rbp)
leaq -0x5a8(%rbp), %rdi
callq 0xf490
leaq -0x5a9(%rbp), %rdi
callq 0xf710
movb -0x731(%rbp), %al
testb $0x1, %al
jne 0xa6d94
jmp 0xa6e91
leaq -0x5d1(%rbp), %rdi
movq %rdi, -0x740(%rbp)
callq 0xf5f0
movq -0x740(%rbp), %rdx
leaq 0x1a3772(%rip), %rsi    # 0x24a527
leaq -0x5d0(%rbp), %rdi
callq 0xf530
jmp 0xa6dc3
leaq -0xa0(%rbp), %rdi
leaq -0x5d0(%rbp), %rsi
callq 0xaa700
movq %rax, -0x748(%rbp)
jmp 0xa6ddf
movq -0x748(%rbp), %rdi
leaq 0x119af3(%rip), %rsi    # 0x1c08e0
callq 0xaa820
jmp 0xa6df4
leaq -0x5d0(%rbp), %rdi
callq 0xf490
leaq -0x5d1(%rbp), %rdi
callq 0xf710
jmp 0xa6e91
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
jmp 0xa6e43
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
leaq -0x5a8(%rbp), %rdi
callq 0xf490
leaq -0x5a9(%rbp), %rdi
callq 0xf710
jmp 0xa6ebb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
jmp 0xa6e83
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x2b0(%rbp)
movl %eax, -0x2b4(%rbp)
leaq -0x5d0(%rbp), %rdi
callq 0xf490
leaq -0x5d1(%rbp), %rdi
callq 0xf710
jmp 0xa6ebb
movl -0x3f4(%rbp), %eax
movl %eax, -0x4(%rbp)
movl $0x1, -0x344(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0xaaa70
leaq -0x70(%rbp), %rdi
callq 0xaaa90
jmp 0xa6ed2
leaq -0xa0(%rbp), %rdi
callq 0xaaa70
leaq -0x70(%rbp), %rdi
callq 0xaaa90
jmp 0xa6ede
movl -0x4(%rbp), %eax
addq $0x750, %rsp            # imm = 0x750
popq %rbp
retq
movq -0x2b0(%rbp), %rdi
callq 0xf410
nopw (%rax,%rax)