// File: /workspace/github_cpp_makefile_star2_O3/j-faria[P]cpp-loadtxt/./src/loadtxt.cpp
// Function: main
int main() {
    { // test 1
        std::string fname = "data.txt";
        std::ifstream f(fname);
        auto data = loadtxt(fname).comments("#")();
        std::cout << "Read " << data.size() << " columns, each with " << data[0].size() << " rows from file '" << fname << "'\n";

        assert(data.size() == 4 && "should have read 4 columns");
        assert(data[0].size() == 100 && "should have read 100 rows");
        assert(data[1].size() == 100 && "should have read 100 rows");
        assert(data[2].size() == 100 && "should have read 100 rows");
        assert(data[3].size() == 100 && "should have read 100 rows");
    }
    { // test 2
        auto fname = "data.rdb";
        auto data = loadtxt(fname).skiprows(2)();
        std::cout << "Read " << data.size() << " columns, each with " << data[0].size() << " rows from file '" << fname << "'\n";

        assert(data.size() == 3 && "should have read 3 columns");
        assert(data[0].size() == 5 && "should have read 5 rows");
        assert(data[1].size() == 5 && "should have read 5 rows");
        assert(data[2].size() == 5 && "should have read 5 rows");
    }
    { // test 3
        auto fname = "data.txt";
        auto data = loadtxt(fname).skiprows(10).comments("#")();
        std::cout << "Read " << data.size() << " columns, each with " << data[0].size() << " rows from file '" << fname << "'\n";

        assert(data.size() == 4 && "should have read 4 columns");
        assert(data[0].size() == 91 && "should have read 91 rows");
        assert(data[1].size() == 91 && "should have read 91 rows");
        assert(data[2].size() == 91 && "should have read 91 rows");
        assert(data[3].size() == 91 && "should have read 91 rows");
    }
    { // test 4
        auto fname = "data.txt";
        auto data = loadtxt(fname).skiprows(10).max_rows(8).comments("#")();
        std::cout << "Read " << data.size() << " columns, each with " << data[0].size() << " rows from file '" << fname << "'\n";

        assert(data.size() == 4 && "should have read 4 columns");
        assert(data[0].size() == 8 && "should have read 8 rows");
        assert(data[1].size() == 8 && "should have read 8 rows");
        assert(data[2].size() == 8 && "should have read 8 rows");
        assert(data[3].size() == 8 && "should have read 8 rows");
    }
    { // test 5
        auto fname = "data.csv";
        auto data = loadtxt(fname)();
        std::cout << "Read " << data.size() << " columns, each with " << data[0].size() << " rows from file '" << fname << "'\n";

        assert(data.size() == 4 && "should have read 4 columns");
        assert(data[0].size() == 8 && "should have read 8 rows");
        assert(data[1].size() == 8 && "should have read 8 rows");
        assert(data[2].size() == 8 && "should have read 8 rows");
        assert(data[3].size() == 8 && "should have read 8 rows");
    }
    { // test 6
        auto fname = "data.tsv";
        auto data = loadtxt(fname)();
        std::cout << "Read " << data.size() << " columns, each with " << data[0].size() << " rows from file '" << fname << "'\n";

        assert(data.size() == 3 && "should have read 3 columns");
        assert(data[0].size() == 20 && "should have read 20 rows");
        assert(data[1].size() == 20 && "should have read 20 rows");
        assert(data[2].size() == 20 && "should have read 20 rows");
    }

    std::cout << "Done reading!\n";
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x420, %rsp            # imm = 0x420
leaq -0x30(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x2b27(%rip), %rsi      # 0x5004
leaq 0x2b28(%rip), %rdx      # 0x500c
leaq -0x40(%rbp), %rdi
callq 0x411a
leaq -0x438(%rbp), %rdi
leaq -0x40(%rbp), %rsi
movl $0x8, %edx
callq 0x2270
leaq -0x220(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rdx
addq %rsi, %rdx
leaq -0x230(%rbp), %rdi
callq 0x407c
leaq -0x110(%rbp), %rdi
leaq -0x230(%rbp), %rsi
callq 0x3504
leaq -0x200(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x2ac3(%rip), %rsi      # 0x500d
leaq 0x2abd(%rip), %rdx      # 0x500e
leaq -0x210(%rbp), %rdi
callq 0x411a
leaq -0xd8(%rbp), %rdi
leaq -0x210(%rbp), %rsi
callq 0x20f0
leaq -0x58(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x35fa
movq -0x210(%rbp), %rdi
cmpq %r12, %rdi
je 0x259b
movq -0x200(%rbp), %rsi
incq %rsi
callq 0x21e0
leaq -0x110(%rbp), %rdi
callq 0x3f86
movq -0x230(%rbp), %rdi
cmpq %r14, %rdi
je 0x25c2
movq -0x220(%rbp), %rsi
incq %rsi
callq 0x21e0
movq 0x59ef(%rip), %rdi      # 0x7fb8
leaq 0x2a3f(%rip), %rsi      # 0x500f
movl $0x5, %edx
callq 0x2200
movq -0x50(%rbp), %rsi
subq -0x58(%rbp), %rsi
sarq $0x3, %rsi
movabsq $-0x5555555555555555, %r14 # imm = 0xAAAAAAAAAAAAAAAB
imulq %r14, %rsi
movq 0x59bd(%rip), %rdi      # 0x7fb8
callq 0x2140
movq %rax, %rbx
leaq 0x2a0b(%rip), %rsi      # 0x5015
movl $0x14, %edx
movq %rax, %rdi
callq 0x2200
movq -0x58(%rbp), %rax
movq 0x8(%rax), %rsi
subq (%rax), %rsi
sarq $0x3, %rsi
movq %rbx, %rdi
callq 0x2140
movq %rax, %rbx
leaq 0x29f2(%rip), %rsi      # 0x502a
movl $0x11, %edx
movq %rax, %rdi
callq 0x2200
movq -0x40(%rbp), %rsi
movq -0x38(%rbp), %rdx
movq %rbx, %rdi
callq 0x2200
leaq 0x29e0(%rip), %rsi      # 0x503c
movl $0x2, %edx
movq %rax, %rdi
callq 0x2200
movq -0x58(%rbp), %rax
movq -0x50(%rbp), %rcx
subq %rax, %rcx
cmpq $0x60, %rcx
jne 0x2f99
movq 0x8(%rax), %rcx
subq (%rax), %rcx
cmpq $0x320, %rcx            # imm = 0x320
jne 0x2fb8
movq 0x20(%rax), %rcx
subq 0x18(%rax), %rcx
cmpq $0x320, %rcx            # imm = 0x320
jne 0x2fd7
movq 0x38(%rax), %rcx
subq 0x30(%rax), %rcx
cmpq $0x320, %rcx            # imm = 0x320
jne 0x2ff6
movq 0x50(%rax), %rcx
subq 0x48(%rax), %rcx
cmpq $0x320, %rcx            # imm = 0x320
jne 0x3015
leaq -0x58(%rbp), %rdi
callq 0x400c
leaq -0x438(%rbp), %rdi
callq 0x2070
movq -0x40(%rbp), %rdi
cmpq %r15, %rdi
je 0x26fb
movq -0x30(%rbp), %rsi
incq %rsi
callq 0x21e0
leaq -0x1e0(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x2a54(%rip), %rsi      # 0x5161
leaq 0x2a55(%rip), %rdx      # 0x5169
leaq -0x1f0(%rbp), %rdi
callq 0x411a
leaq -0x438(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
callq 0x3504
leaq -0x438(%rbp), %rsi
movq $0x2, 0x78(%rsi)
leaq -0x110(%rbp), %rdi
callq 0x35fa
leaq -0x438(%rbp), %rdi
callq 0x3f86
movq -0x1f0(%rbp), %rdi
cmpq %r15, %rdi
je 0x2775
movq -0x1e0(%rbp), %rsi
incq %rsi
callq 0x21e0
movq 0x583c(%rip), %rdi      # 0x7fb8
leaq 0x288c(%rip), %rsi      # 0x500f
movl $0x5, %edx
callq 0x2200
movq -0x108(%rbp), %rsi
subq -0x110(%rbp), %rsi
sarq $0x3, %rsi
imulq %r14, %rsi
movq 0x580e(%rip), %rdi      # 0x7fb8
callq 0x2140
movq %rax, %rbx
leaq 0x285c(%rip), %rsi      # 0x5015
movl $0x14, %edx
movq %rax, %rdi
callq 0x2200
movq -0x110(%rbp), %rax
movq 0x8(%rax), %rsi
subq (%rax), %rsi
sarq $0x3, %rsi
movq %rbx, %rdi
callq 0x2140
movq %rax, %rbx
leaq 0x2840(%rip), %rsi      # 0x502a
movl $0x11, %edx
movq %rax, %rdi
callq 0x2200
leaq 0x2963(%rip), %rsi      # 0x5161
movl $0x8, %edx
movq %rbx, %rdi
callq 0x2200
leaq 0x282a(%rip), %rsi      # 0x503c
movl $0x2, %edx
movq %rbx, %rdi
callq 0x2200
movq -0x110(%rbp), %rax
movq -0x108(%rbp), %rcx
subq %rax, %rcx
cmpq $0x48, %rcx
jne 0x3034
movq 0x8(%rax), %rcx
subq (%rax), %rcx
cmpq $0x28, %rcx
jne 0x3053
movq 0x20(%rax), %rcx
subq 0x18(%rax), %rcx
cmpq $0x28, %rcx
jne 0x3072
movq 0x38(%rax), %rcx
subq 0x30(%rax), %rcx
cmpq $0x28, %rcx
jne 0x3091
leaq -0x110(%rbp), %rdi
callq 0x400c
leaq -0x1c0(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x2777(%rip), %rsi      # 0x5004
leaq 0x2778(%rip), %rdx      # 0x500c
leaq -0x1d0(%rbp), %rdi
callq 0x411a
leaq -0x438(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x3504
movq $0xa, -0x3c0(%rbp)
leaq -0x1a0(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x273c(%rip), %rsi      # 0x500d
leaq 0x2736(%rip), %rdx      # 0x500e
leaq -0x1b0(%rbp), %rdi
callq 0x411a
leaq -0x400(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x20f0
leaq -0x110(%rbp), %rdi
leaq -0x438(%rbp), %rsi
callq 0x35fa
movq -0x1b0(%rbp), %rdi
cmpq %r12, %rdi
je 0x2925
movq -0x1a0(%rbp), %rsi
incq %rsi
callq 0x21e0
leaq -0x438(%rbp), %rdi
callq 0x3f86
movq -0x1d0(%rbp), %rdi
cmpq %r15, %rdi
je 0x294c
movq -0x1c0(%rbp), %rsi
incq %rsi
callq 0x21e0
movq 0x5665(%rip), %rdi      # 0x7fb8
leaq 0x26b5(%rip), %rsi      # 0x500f
movl $0x5, %edx
callq 0x2200
movq -0x108(%rbp), %rsi
subq -0x110(%rbp), %rsi
sarq $0x3, %rsi
imulq %r14, %rsi
movq 0x5637(%rip), %rdi      # 0x7fb8
callq 0x2140
movq %rax, %rbx
leaq 0x2685(%rip), %rsi      # 0x5015
movl $0x14, %edx
movq %rax, %rdi
callq 0x2200
movq -0x110(%rbp), %rax
movq 0x8(%rax), %rsi
subq (%rax), %rsi
sarq $0x3, %rsi
movq %rbx, %rdi
callq 0x2140
movq %rax, %rbx
leaq 0x2669(%rip), %rsi      # 0x502a
movl $0x11, %edx
movq %rax, %rdi
callq 0x2200
leaq 0x262f(%rip), %rsi      # 0x5004
movl $0x8, %edx
movq %rbx, %rdi
callq 0x2200
leaq 0x2653(%rip), %rsi      # 0x503c
movl $0x2, %edx
movq %rbx, %rdi
callq 0x2200
movq -0x110(%rbp), %rax
movq -0x108(%rbp), %rcx
subq %rax, %rcx
cmpq $0x60, %rcx
jne 0x30b0
movq 0x8(%rax), %rcx
subq (%rax), %rcx
cmpq $0x2d8, %rcx            # imm = 0x2D8
jne 0x30cf
movq 0x20(%rax), %rcx
subq 0x18(%rax), %rcx
cmpq $0x2d8, %rcx            # imm = 0x2D8
jne 0x30ee
movq 0x38(%rax), %rcx
subq 0x30(%rax), %rcx
cmpq $0x2d8, %rcx            # imm = 0x2D8
jne 0x310d
movq 0x50(%rax), %rcx
subq 0x48(%rax), %rcx
cmpq $0x2d8, %rcx            # imm = 0x2D8
jne 0x312c
leaq -0x110(%rbp), %rdi
callq 0x400c
leaq -0x180(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x2582(%rip), %rsi      # 0x5004
leaq 0x2583(%rip), %rdx      # 0x500c
leaq -0x190(%rbp), %rdi
callq 0x411a
leaq -0x438(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x3504
movq $0xa, -0x3c0(%rbp)
movq $0x8, -0x3a0(%rbp)
leaq -0x160(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x253c(%rip), %rsi      # 0x500d
leaq 0x2536(%rip), %rdx      # 0x500e
leaq -0x170(%rbp), %rdi
callq 0x411a
leaq -0x400(%rbp), %rdi
leaq -0x170(%rbp), %rsi
callq 0x20f0
leaq -0x110(%rbp), %rdi
leaq -0x438(%rbp), %rsi
callq 0x35fa
movq -0x170(%rbp), %rdi
cmpq %r12, %rdi
je 0x2b25
movq -0x160(%rbp), %rsi
incq %rsi
callq 0x21e0
leaq -0x438(%rbp), %rdi
callq 0x3f86
movq -0x190(%rbp), %rdi
cmpq %r15, %rdi
je 0x2b4c
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x21e0
movq 0x5465(%rip), %rdi      # 0x7fb8
leaq 0x24b5(%rip), %rsi      # 0x500f
movl $0x5, %edx
callq 0x2200
movq -0x108(%rbp), %rsi
subq -0x110(%rbp), %rsi
sarq $0x3, %rsi
imulq %r14, %rsi
movq 0x5437(%rip), %rdi      # 0x7fb8
callq 0x2140
movq %rax, %rbx
leaq 0x2485(%rip), %rsi      # 0x5015
movl $0x14, %edx
movq %rax, %rdi
callq 0x2200
movq -0x110(%rbp), %rax
movq 0x8(%rax), %rsi
subq (%rax), %rsi
sarq $0x3, %rsi
movq %rbx, %rdi
callq 0x2140
movq %rax, %rbx
leaq 0x2469(%rip), %rsi      # 0x502a
movl $0x11, %edx
movq %rax, %rdi
callq 0x2200
leaq 0x242f(%rip), %rsi      # 0x5004
movl $0x8, %edx
movq %rbx, %rdi
callq 0x2200
leaq 0x2453(%rip), %rsi      # 0x503c
movl $0x2, %edx
movq %rbx, %rdi
callq 0x2200
movq -0x110(%rbp), %rax
movq -0x108(%rbp), %rcx
subq %rax, %rcx
cmpq $0x60, %rcx
jne 0x314b
movq 0x8(%rax), %rcx
subq (%rax), %rcx
cmpq $0x40, %rcx
jne 0x316a
movq 0x20(%rax), %rcx
subq 0x18(%rax), %rcx
cmpq $0x40, %rcx
jne 0x3189
movq 0x38(%rax), %rcx
subq 0x30(%rax), %rcx
cmpq $0x40, %rcx
jne 0x31a8
movq 0x50(%rax), %rcx
subq 0x48(%rax), %rcx
cmpq $0x40, %rcx
jne 0x31c7
leaq -0x110(%rbp), %rdi
callq 0x400c
leaq -0x140(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x2748(%rip), %rsi      # 0x53be
leaq 0x2749(%rip), %rdx      # 0x53c6
leaq -0x150(%rbp), %rdi
callq 0x411a
leaq -0x438(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x3504
leaq -0x110(%rbp), %rdi
leaq -0x438(%rbp), %rsi
callq 0x35fa
leaq -0x438(%rbp), %rdi
callq 0x3f86
movq -0x150(%rbp), %rdi
cmpq %r15, %rdi
je 0x2cd6
movq -0x140(%rbp), %rsi
incq %rsi
callq 0x21e0
movq 0x52db(%rip), %rdi      # 0x7fb8
leaq 0x232b(%rip), %rsi      # 0x500f
movl $0x5, %edx
callq 0x2200
movq -0x108(%rbp), %rsi
subq -0x110(%rbp), %rsi
sarq $0x3, %rsi
imulq %r14, %rsi
movq 0x52ad(%rip), %rdi      # 0x7fb8
callq 0x2140
movq %rax, %rbx
leaq 0x22fb(%rip), %rsi      # 0x5015
movl $0x14, %edx
movq %rax, %rdi
callq 0x2200
movq -0x110(%rbp), %rax
movq 0x8(%rax), %rsi
subq (%rax), %rsi
sarq $0x3, %rsi
movq %rbx, %rdi
callq 0x2140
movq %rax, %rbx
leaq 0x22df(%rip), %rsi      # 0x502a
movl $0x11, %edx
movq %rax, %rdi
callq 0x2200
leaq 0x265f(%rip), %rsi      # 0x53be
movl $0x8, %edx
movq %rbx, %rdi
callq 0x2200
leaq 0x22c9(%rip), %rsi      # 0x503c
movl $0x2, %edx
movq %rbx, %rdi
callq 0x2200
movq -0x110(%rbp), %rax
movq -0x108(%rbp), %rcx
subq %rax, %rcx
cmpq $0x60, %rcx
jne 0x31e6
movq 0x8(%rax), %rcx
subq (%rax), %rcx
cmpq $0x40, %rcx
jne 0x3205
movq 0x20(%rax), %rcx
subq 0x18(%rax), %rcx
cmpq $0x40, %rcx
jne 0x3224
movq 0x38(%rax), %rcx
subq 0x30(%rax), %rcx
cmpq $0x40, %rcx
jne 0x3243
movq 0x50(%rax), %rcx
subq 0x48(%rax), %rcx
cmpq $0x40, %rcx
jne 0x3262
leaq -0x110(%rbp), %rdi
callq 0x400c
leaq -0x120(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x25c7(%rip), %rsi      # 0x53c7
leaq 0x25c8(%rip), %rdx      # 0x53cf
leaq -0x130(%rbp), %rdi
callq 0x411a
leaq -0x438(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x3504
leaq -0x110(%rbp), %rdi
leaq -0x438(%rbp), %rsi
callq 0x35fa
leaq -0x438(%rbp), %rdi
callq 0x3f86
movq -0x130(%rbp), %rdi
cmpq %r15, %rdi
je 0x2e60
movq -0x120(%rbp), %rsi
incq %rsi
callq 0x21e0
movq 0x5151(%rip), %rdi      # 0x7fb8
leaq 0x21a1(%rip), %rsi      # 0x500f
movl $0x5, %edx
callq 0x2200
movq -0x108(%rbp), %rsi
subq -0x110(%rbp), %rsi
sarq $0x3, %rsi
imulq %r14, %rsi
movq 0x5123(%rip), %rdi      # 0x7fb8
callq 0x2140
movq %rax, %rbx
leaq 0x2171(%rip), %rsi      # 0x5015
movl $0x14, %edx
movq %rax, %rdi
callq 0x2200
movq -0x110(%rbp), %rax
movq 0x8(%rax), %rsi
subq (%rax), %rsi
sarq $0x3, %rsi
movq %rbx, %rdi
callq 0x2140
movq %rax, %rbx
leaq 0x2155(%rip), %rsi      # 0x502a
movl $0x11, %edx
movq %rax, %rdi
callq 0x2200
leaq 0x24de(%rip), %rsi      # 0x53c7
movl $0x8, %edx
movq %rbx, %rdi
callq 0x2200
leaq 0x213f(%rip), %rsi      # 0x503c
movl $0x2, %edx
movq %rbx, %rdi
callq 0x2200
movq -0x110(%rbp), %rax
movq -0x108(%rbp), %rcx
subq %rax, %rcx
cmpq $0x48, %rcx
jne 0x3281
movq 0x8(%rax), %rcx
subq (%rax), %rcx
cmpq $0xa0, %rcx
jne 0x32a0
movq 0x20(%rax), %rcx
subq 0x18(%rax), %rcx
cmpq $0xa0, %rcx
jne 0x32bf
movq 0x38(%rax), %rcx
subq 0x30(%rax), %rcx
cmpq $0xa0, %rcx
jne 0x32de
leaq -0x110(%rbp), %rdi
callq 0x400c
movq 0x5042(%rip), %rdi      # 0x7fb8
leaq 0x24ec(%rip), %rsi      # 0x5469
movl $0xe, %edx
callq 0x2200
xorl %eax, %eax
addq $0x420, %rsp            # imm = 0x420
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x209f(%rip), %rdi      # 0x503f
leaq 0x20c9(%rip), %rsi      # 0x5070
leaq 0x20d4(%rip), %rcx      # 0x5082
movl $0xd, %edx
callq 0x2130
leaq 0x20ce(%rip), %rdi      # 0x508d
leaq 0x20aa(%rip), %rsi      # 0x5070
leaq 0x20b5(%rip), %rcx      # 0x5082
movl $0xe, %edx
callq 0x2130
leaq 0x20e4(%rip), %rdi      # 0x50c2
leaq 0x208b(%rip), %rsi      # 0x5070
leaq 0x2096(%rip), %rcx      # 0x5082
movl $0xf, %edx
callq 0x2130
leaq 0x20fa(%rip), %rdi      # 0x50f7
leaq 0x206c(%rip), %rsi      # 0x5070
leaq 0x2077(%rip), %rcx      # 0x5082
movl $0x10, %edx
callq 0x2130
leaq 0x2110(%rip), %rdi      # 0x512c
leaq 0x204d(%rip), %rsi      # 0x5070
leaq 0x2058(%rip), %rcx      # 0x5082
movl $0x11, %edx
callq 0x2130
leaq 0x212f(%rip), %rdi      # 0x516a
leaq 0x202e(%rip), %rsi      # 0x5070
leaq 0x2039(%rip), %rcx      # 0x5082
movl $0x18, %edx
callq 0x2130
leaq 0x2141(%rip), %rdi      # 0x519b
leaq 0x200f(%rip), %rsi      # 0x5070
leaq 0x201a(%rip), %rcx      # 0x5082
movl $0x19, %edx
callq 0x2130
leaq 0x2153(%rip), %rdi      # 0x51cc
leaq 0x1ff0(%rip), %rsi      # 0x5070
leaq 0x1ffb(%rip), %rcx      # 0x5082
movl $0x1a, %edx
callq 0x2130
leaq 0x2165(%rip), %rdi      # 0x51fd
leaq 0x1fd1(%rip), %rsi      # 0x5070
leaq 0x1fdc(%rip), %rcx      # 0x5082
movl $0x1b, %edx
callq 0x2130
leaq 0x1f88(%rip), %rdi      # 0x503f
leaq 0x1fb2(%rip), %rsi      # 0x5070
leaq 0x1fbd(%rip), %rcx      # 0x5082
movl $0x22, %edx
callq 0x2130
leaq 0x2158(%rip), %rdi      # 0x522e
leaq 0x1f93(%rip), %rsi      # 0x5070
leaq 0x1f9e(%rip), %rcx      # 0x5082
movl $0x23, %edx
callq 0x2130
leaq 0x216c(%rip), %rdi      # 0x5261
leaq 0x1f74(%rip), %rsi      # 0x5070
leaq 0x1f7f(%rip), %rcx      # 0x5082
movl $0x24, %edx
callq 0x2130
leaq 0x2180(%rip), %rdi      # 0x5294
leaq 0x1f55(%rip), %rsi      # 0x5070
leaq 0x1f60(%rip), %rcx      # 0x5082
movl $0x25, %edx
callq 0x2130
leaq 0x2194(%rip), %rdi      # 0x52c7
leaq 0x1f36(%rip), %rsi      # 0x5070
leaq 0x1f41(%rip), %rcx      # 0x5082
movl $0x26, %edx
callq 0x2130
leaq 0x1eed(%rip), %rdi      # 0x503f
leaq 0x1f17(%rip), %rsi      # 0x5070
leaq 0x1f22(%rip), %rcx      # 0x5082
movl $0x2d, %edx
callq 0x2130
leaq 0x2189(%rip), %rdi      # 0x52fa
leaq 0x1ef8(%rip), %rsi      # 0x5070
leaq 0x1f03(%rip), %rcx      # 0x5082
movl $0x2e, %edx
callq 0x2130
leaq 0x219b(%rip), %rdi      # 0x532b
leaq 0x1ed9(%rip), %rsi      # 0x5070
leaq 0x1ee4(%rip), %rcx      # 0x5082
movl $0x2f, %edx
callq 0x2130
leaq 0x21ad(%rip), %rdi      # 0x535c
leaq 0x1eba(%rip), %rsi      # 0x5070
leaq 0x1ec5(%rip), %rcx      # 0x5082
movl $0x30, %edx
callq 0x2130
leaq 0x21bf(%rip), %rdi      # 0x538d
leaq 0x1e9b(%rip), %rsi      # 0x5070
leaq 0x1ea6(%rip), %rcx      # 0x5082
movl $0x31, %edx
callq 0x2130
leaq 0x1e52(%rip), %rdi      # 0x503f
leaq 0x1e7c(%rip), %rsi      # 0x5070
leaq 0x1e87(%rip), %rcx      # 0x5082
movl $0x38, %edx
callq 0x2130
leaq 0x20ee(%rip), %rdi      # 0x52fa
leaq 0x1e5d(%rip), %rsi      # 0x5070
leaq 0x1e68(%rip), %rcx      # 0x5082
movl $0x39, %edx
callq 0x2130
leaq 0x2100(%rip), %rdi      # 0x532b
leaq 0x1e3e(%rip), %rsi      # 0x5070
leaq 0x1e49(%rip), %rcx      # 0x5082
movl $0x3a, %edx
callq 0x2130
leaq 0x2112(%rip), %rdi      # 0x535c
leaq 0x1e1f(%rip), %rsi      # 0x5070
leaq 0x1e2a(%rip), %rcx      # 0x5082
movl $0x3b, %edx
callq 0x2130
leaq 0x2124(%rip), %rdi      # 0x538d
leaq 0x1e00(%rip), %rsi      # 0x5070
leaq 0x1e0b(%rip), %rcx      # 0x5082
movl $0x3c, %edx
callq 0x2130
leaq 0x1ee2(%rip), %rdi      # 0x516a
leaq 0x1de1(%rip), %rsi      # 0x5070
leaq 0x1dec(%rip), %rcx      # 0x5082
movl $0x43, %edx
callq 0x2130
leaq 0x2129(%rip), %rdi      # 0x53d0
leaq 0x1dc2(%rip), %rsi      # 0x5070
leaq 0x1dcd(%rip), %rcx      # 0x5082
movl $0x44, %edx
callq 0x2130
leaq 0x213d(%rip), %rdi      # 0x5403
leaq 0x1da3(%rip), %rsi      # 0x5070
leaq 0x1dae(%rip), %rcx      # 0x5082
movl $0x45, %edx
callq 0x2130
leaq 0x2151(%rip), %rdi      # 0x5436
leaq 0x1d84(%rip), %rsi      # 0x5070
leaq 0x1d8f(%rip), %rcx      # 0x5082
movl $0x46, %edx
callq 0x2130
movq %rax, %rbx
leaq -0x438(%rbp), %rdi
callq 0x3f86
jmp 0x3311
movq %rax, %rbx
movq -0x130(%rbp), %rdi
cmpq %r15, %rdi
je 0x34fb
movq -0x120(%rbp), %rsi
jmp 0x34f3
jmp 0x33da
movq %rax, %rbx
leaq -0x438(%rbp), %rdi
callq 0x3f86
jmp 0x3346
movq %rax, %rbx
movq -0x150(%rbp), %rdi
cmpq %r15, %rdi
je 0x34fb
movq -0x140(%rbp), %rsi
jmp 0x34f3
jmp 0x33da
movq %rax, %rbx
jmp 0x3400
movq %rax, %rbx
jmp 0x340c
jmp 0x33da
movq %rax, %rbx
jmp 0x3446
movq %rax, %rbx
jmp 0x3452
jmp 0x33da
movq %rax, %rbx
leaq -0x438(%rbp), %rdi
callq 0x3f86
jmp 0x339c
movq %rax, %rbx
movq -0x1f0(%rbp), %rdi
cmpq %r15, %rdi
je 0x34fb
movq -0x1e0(%rbp), %rsi
jmp 0x34f3
jmp 0x33da
movq %rax, %rbx
jmp 0x348c
movq %rax, %rbx
jmp 0x3498
movq %rax, %rbx
jmp 0x34da
movq %rax, %rbx
jmp 0x34e6
movq %rax, %rbx
jmp 0x34fb
movq %rax, %rbx
movq -0x170(%rbp), %rdi
cmpq %r12, %rdi
je 0x3400
movq -0x160(%rbp), %rsi
incq %rsi
callq 0x21e0
leaq -0x438(%rbp), %rdi
callq 0x3f86
movq -0x190(%rbp), %rdi
cmpq %r15, %rdi
je 0x34fb
movq -0x180(%rbp), %rsi
jmp 0x34f3
movq %rax, %rbx
movq -0x1b0(%rbp), %rdi
cmpq %r12, %rdi
je 0x3446
movq -0x1a0(%rbp), %rsi
incq %rsi
callq 0x21e0
leaq -0x438(%rbp), %rdi
callq 0x3f86
movq -0x1d0(%rbp), %rdi
cmpq %r15, %rdi
je 0x34fb
movq -0x1c0(%rbp), %rsi
jmp 0x34f3
movq %rax, %rbx
movq -0x210(%rbp), %rdi
cmpq %r12, %rdi
je 0x348c
movq -0x200(%rbp), %rsi
incq %rsi
callq 0x21e0
leaq -0x110(%rbp), %rdi
callq 0x3f86
movq -0x230(%rbp), %rdi
cmpq %r14, %rdi
je 0x34da
movq -0x220(%rbp), %rsi
incq %rsi
callq 0x21e0
jmp 0x34da
jmp 0x34bd
jmp 0x34bd
jmp 0x34bd
jmp 0x34bd
movq %rax, %rbx
leaq -0x110(%rbp), %rdi
callq 0x400c
jmp 0x34fb
movq %rax, %rbx
leaq -0x58(%rbp), %rdi
callq 0x400c
leaq -0x438(%rbp), %rdi
callq 0x2070
movq -0x40(%rbp), %rdi
cmpq %r15, %rdi
je 0x34fb
movq -0x30(%rbp), %rsi
incq %rsi
callq 0x21e0
movq %rbx, %rdi
callq 0x22e0
nop