// File: /workspace/github_cpp_makefile_star2_O2/ctSkennerton[P]fxtract/util/msutil_t.c
// Function: main
int
main(void)
{
    char        buf[99];
    plan_tests(31);

    MEMREF  mr = fileref(__FILE__);
    ok(!nilref(mr), "fileref("__FILE__")");
    ok(!memcmp(mr.ptr, "// Copyright", 12), "readable");
    ok(!memcmp(mr.ptr + mr.len - 7, "\n//EOF\n", 7), "to the end");
    defileref(mr);  // coverage

    FILE *fp = popenf("r", "echo hello");
    ok(fp, "popenf works");
    ok(fgets(buf, 99, fp) && !strcmp(buf, "hello\n"), "popenf cmd works");
    ok(!systemf("PS4='# '; set -x; echo '# %d'", 666), "systemf works");
    int     act;
#undef TRY
#define TRY(x,exp) act=fls(x); if (!ok(act==exp, "fls(0x%X) = %d", x,exp)) fprintf(stderr, "# returned: %d\n", act)
    TRY( 0,  0);
    TRY( 1,  1);
    TRY(64,  7);
    TRY(66,  7);
    TRY(-1, 32);

    ok(!strcmp(getprogname(), "msutil_t"), "getprogname");

#undef TRY
#define TRY(x,exp) ok(!strcmp(strim(strcpy(buf,x)), exp), "strim('%s')", x)
    TRY("", "");
    TRY(" \t  \n  \r", "");
    TRY("abc", "abc");
    TRY(" abc", "abc");
    TRY(" abc  ", "abc");
    TRY("a b c", "a b c");

//TODO:
// addr_part(MEMREF r)
// belch(char const *filename, MEMREF data)
// bit_count(char const*vec, int len)
#if 0
    char    data[49] = {
        15,  0,  2,  0,  6,  0,  2,  0, 15,  0,  2,  0,  6,  0,  2,  0,
        15,  0,  2,  0,  6,  0,  2,  0, 15,  0,  2,  0,  6,  0,  2,  0,
        15,  0,  2,  0,  6,  0,  2,  0, 15,  0,  2,  0,  6,  0,  2,  0, 15
    };
    int     iact = bit_count(data, 49);
    ok(iact == 52, "bit_count is %d", iact);
    
    MEMBUF      mb = NILBUF;
    bufcat(&mb, strref("hello,"));
    bufcat(&mb, strref(" world"));
    ok(!refcmp(bufref(mb), strref("hello, world")), "bufcat works");
    ok(0 < refcmp(bufref(mb), strref("hello")), "refcmp works");
    char        *cp = refdup(bufref(mb));
    ok(!strcmp(cp, "hello, world"), "refdup works");
    buffree(mb);
// die(char const *fmt, ...)
// findbit_1
    int i, off, succ = 0;
    for (off = 0; off < 16; ++off) {
        for (i = 0; i < 256; i++) {
            uint8_t ff[50] = {};
            ff[off + (i >> 3)] = 1 << (i & 7);
            iact = findbit_1(ff + off, off + (i >> 3) + 2);
            if (iact == i) ++succ;
            else fprintf(stderr, "%3d %3d %3d\n", off, i, iact);
        }
    }
    ok(succ == 4096, "%d/4096 findbit_1 tests passed", succ);
#endif
// fopenf(char const *mode, char const *fmt, ...)
// memfind(char const *tgt, int tgtlen, char const *pat, int patlen)

    MEMREF  x[] = { strref("middle"), strref("head"), strref("tail") };
    qsort(x, 3, sizeof(MEMREF), (qsort_cmp)refpcmp);
    ok(refcmp(x[0], x[1]) < 0 && refcmp(x[1], x[2]) < 0, "refpcmp works");

// vec_new(int width, DTOR *dtor, void *context)
// vec_push(VEC* v, void *elem)
// vec_allow(VEC* v, int limit)
// vec_resize(VEC* v, int limit)
// vec_free(VEC* v)

    char    *cs = acstr("one\2\t\377\0'two\0\0\0", 14);
    ok(!strcmp(cs,  "\"one\\x02\\t\\xFF\\x00'two\""), "acstr formats buffer as %s", cs);

    uint32_t    a32 = revbit32(0x2357BD0F);
    ok(a32 == 0xF0BDEAC4, "rev(2357BD0F) = %8X", a32);

    uint64_t    a64 = revbit64(0xC23456789AB10DEFULL);
    ok(a64 == 0xF7B08D591E6A2C43ULL, "rev(C23456789AB10DEF) = %16llX", a64);

    YMD     ymd, exp;
    exp = (YMD) { 2004,02,29 };
    unsigned day = ymd2day(exp);
    ymd = day2ymd(day);
    ok(!memcmp(&ymd, &exp, sizeof(YMD)), "%d/%02d/%02d", exp.yyyy, exp.mm, exp.dd);

    exp = (YMD) { 2004,03,01 };
    ymd = day2ymd(day+1);
    ok(!memcmp(&ymd, &exp, sizeof(YMD)), "+ 1 = %d/%02d/%02d", exp.yyyy, exp.mm, exp.dd);

    exp = (YMD) { 2000,12,31 };
    ymd = day2ymd(ymd2day((YMD){2001,1,1}) - 1);
    ok(!memcmp(&ymd, &exp, sizeof(YMD)), "%d/%02d/%02d", exp.yyyy, exp.mm, exp.dd);

    exp = (YMD) { 2005,03,01 };
    ymd = day2ymd(ymd2day((YMD){2005,02,29}));
    ok(!memcmp(&ymd, &exp, sizeof(YMD)), "2005/02/29 => %d/%02d/%02d", exp.yyyy, exp.mm, exp.dd);

    return exit_status();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb8, %rsp
pushq $0x1f
popq %rdi
callq 0x5973
leaq 0x2b78(%rip), %rbx      # 0x6004
movq %rbx, %rdi
callq 0x4437
movq %rax, %r15
movq %rdx, %r12
xorl %esi, %esi
movq %rdx, %rax
orq %r15, %rax
setne %sil
subq $0x8, %rsp
leaq 0x2b63(%rip), %r10      # 0x6014
leaq 0x2b57(%rip), %r14      # 0x600f
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r14, %r9
xorl %eax, %eax
pushq %r10
pushq $0x20
pushq %rbx
callq 0x5064
addq $0x20, %rsp
leaq 0x2b4d(%rip), %rsi      # 0x6028
pushq $0xc
popq %rdx
movq %r15, %rdi
callq 0x3190
xorl %esi, %esi
testl %eax, %eax
sete %sil
subq $0x8, %rsp
leaq 0x2b3c(%rip), %r10      # 0x6035
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r14, %r9
xorl %eax, %eax
pushq %r10
pushq $0x21
pushq %rbx
callq 0x5064
addq $0x20, %rsp
leaq (%r15,%r12), %rdi
addq $-0x7, %rdi
leaq 0x2b1a(%rip), %rsi      # 0x603e
pushq $0x7
popq %rdx
callq 0x3190
xorl %esi, %esi
testl %eax, %eax
sete %sil
subq $0x8, %rsp
leaq 0x2b07(%rip), %r10      # 0x6046
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r14, %r9
xorl %eax, %eax
pushq %r10
pushq $0x22
pushq %rbx
callq 0x5064
addq $0x20, %rsp
movq %r15, %rdi
movq %rbx, %r13
movq %r12, %rsi
callq 0x4ca7
leaq 0x3785(%rip), %rdi      # 0x6cf5
leaq 0x2ada(%rip), %rsi      # 0x6051
xorl %eax, %eax
callq 0x4a50
movq %rax, %rbx
xorl %esi, %esi
testq %rax, %rax
setne %sil
subq $0x8, %rsp
leaq 0x2ac7(%rip), %r10      # 0x605c
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r14, %r9
xorl %eax, %eax
pushq %r10
pushq $0x26
pushq %r13
callq 0x5064
addq $0x20, %rsp
leaq 0x50(%rsp), %rdi
pushq $0x63
popq %rsi
movq %rbx, %rdx
callq 0x32b0
testq %rax, %rax
je 0x35df
leaq 0x2a9b(%rip), %rsi      # 0x6069
leaq 0x50(%rsp), %rdi
pushq $0x7
popq %rdx
callq 0x3190
testl %eax, %eax
je 0x35e3
xorl %esi, %esi
jmp 0x35e6
pushq $0x1
popq %rsi
subq $0x8, %rsp
leaq 0x2a7f(%rip), %r10      # 0x6070
leaq 0x2a17(%rip), %r14      # 0x600f
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r14, %r9
xorl %eax, %eax
pushq %r10
pushq $0x27
pushq %r13
callq 0x5064
addq $0x20, %rsp
leaq 0x2a65(%rip), %rdi      # 0x6081
movl $0x29a, %esi            # imm = 0x29A
xorl %eax, %eax
callq 0x4e62
xorl %esi, %esi
testl %eax, %eax
sete %sil
subq $0x8, %rsp
leaq 0x2a64(%rip), %r10      # 0x609f
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r14, %r9
xorl %eax, %eax
pushq %r10
pushq $0x28
pushq %r13
callq 0x5064
addq $0x18, %rsp
leaq 0x2a4e(%rip), %rbx      # 0x60ad
pushq $0x1
popq %rsi
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r14, %r9
xorl %eax, %eax
pushq $0x0
pushq $0x0
pushq %rbx
pushq $0x2c
pushq %r13
callq 0x5064
addq $0x30, %rsp
testl %eax, %eax
je 0x3daa
pushq $0x1
popq %r10
movl %r10d, %eax
bsrl %eax, %eax
movl %eax, %ebp
subq $0x8, %rsp
testl %eax, %eax
je 0x36ab
leaq 0x296a(%rip), %r9       # 0x600f
xorl %edi, %edi
xorl %esi, %esi
jmp 0x36b7
leaq 0x295d(%rip), %r9       # 0x600f
pushq $0x1
popq %rsi
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %eax, %eax
pushq %r10
pushq %r10
pushq %rbx
pushq $0x2d
pushq %r13
callq 0x5064
addq $0x30, %rsp
testl %eax, %eax
je 0x3dc9
pushq $0x40
popq %rax
bsrl %eax, %eax
movl %eax, %ebp
incl %ebp
subq $0x8, %rsp
cmpl $0x7, %ebp
jne 0x36fb
leaq 0x291b(%rip), %r9       # 0x600f
pushq $0x1
popq %rsi
xorl %edi, %edi
jmp 0x3706
leaq 0x290d(%rip), %r9       # 0x600f
xorl %edi, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %eax, %eax
pushq $0x7
pushq $0x40
pushq %rbx
pushq $0x2e
pushq %r13
callq 0x5064
addq $0x30, %rsp
testl %eax, %eax
je 0x3dea
pushq $0x42
popq %rax
bsrl %eax, %eax
movl %eax, %ebp
incl %ebp
subq $0x8, %rsp
cmpl $0x7, %ebp
jne 0x374a
leaq 0x28cc(%rip), %r9       # 0x600f
pushq $0x1
popq %rsi
xorl %edi, %edi
jmp 0x3755
leaq 0x28be(%rip), %r9       # 0x600f
xorl %edi, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %eax, %eax
pushq $0x7
pushq $0x42
pushq %rbx
pushq $0x2f
pushq %r13
callq 0x5064
addq $0x30, %rsp
testl %eax, %eax
je 0x3e09
pushq $-0x1
popq %rax
bsrl %eax, %eax
movl %eax, %ebp
incl %ebp
subq $0x30, %rsp
cmpl $0x20, %ebp
jne 0x37b7
movq %rbx, 0x10(%rsp)
orl $-0x1, 0x18(%rsp)
movq %r13, (%rsp)
movl $0x20, 0x20(%rsp)
movl $0x30, 0x8(%rsp)
leaq 0x285f(%rip), %r9       # 0x600f
pushq $0x1
popq %rsi
xorl %edi, %edi
jmp 0x37e0
movq %rbx, 0x10(%rsp)
movq %r13, (%rsp)
movl $0x20, 0x20(%rsp)
orl $-0x1, 0x18(%rsp)
movl $0x30, 0x8(%rsp)
leaq 0x2833(%rip), %r9       # 0x600f
xorl %edi, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %eax, %eax
callq 0x5064
addq $0x30, %rsp
testl %eax, %eax
je 0x3e28
callq 0x47ad
leaq 0x28c6(%rip), %rsi      # 0x60cc
movq %rax, %rdi
callq 0x3260
xorl %esi, %esi
testl %eax, %eax
sete %sil
subq $0x8, %rsp
leaq 0x28b4(%rip), %r10      # 0x60d5
leaq 0x27e7(%rip), %r15      # 0x600f
xorl %ebx, %ebx
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r15, %r9
xorl %eax, %eax
pushq %r10
pushq $0x32
pushq %r13
callq 0x5064
addq $0x20, %rsp
leaq 0x50(%rsp), %rbp
movb %bl, (%rbp)
movq %rbp, %rdi
callq 0x4e0d
xorl %esi, %esi
cmpb %bl, (%rax)
sete %sil
leaq 0x3258(%rip), %r10      # 0x6abe
leaq 0x2874(%rip), %r12      # 0x60e1
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r15, %r9
xorl %eax, %eax
pushq %r10
pushq %r12
pushq $0x36
leaq 0x277c(%rip), %r10      # 0x6004
pushq %r10
callq 0x5064
addq $0x20, %rsp
movabsq $0xd20200a20200920, %rax # imm = 0xD20200A20200920
movq %rax, (%rbp)
movb %bl, 0x8(%rbp)
leaq 0x2842(%rip), %r14      # 0x60ed
movq %rbp, %rdi
callq 0x4e0d
xorl %esi, %esi
cmpb %bl, (%rax)
sete %sil
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r15, %r9
xorl %eax, %eax
pushq %r14
pushq %r12
pushq $0x37
leaq 0x272e(%rip), %r10      # 0x6004
pushq %r10
callq 0x5064
addq $0x20, %rsp
movl $0x636261, (%rbp)       # imm = 0x636261
movq %rbp, %rdi
callq 0x4e0d
leaq 0x2800(%rip), %r14      # 0x60f7
movq %rax, %rdi
movq %r14, %rsi
callq 0x3260
xorl %esi, %esi
testl %eax, %eax
sete %sil
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r15, %r9
xorl %eax, %eax
pushq %r14
pushq %r12
pushq $0x38
leaq 0x26df(%rip), %r10      # 0x6004
pushq %r10
callq 0x5064
addq $0x20, %rsp
movl $0x63626120, %r13d      # imm = 0x63626120
movl %r13d, (%rbp)
movb %bl, 0x4(%rbp)
leaq 0x27b2(%rip), %rbx      # 0x60f6
movq %rbp, %rdi
callq 0x4e0d
movq %rax, %rdi
movq %r14, %rsi
callq 0x3260
xorl %esi, %esi
testl %eax, %eax
sete %sil
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r15, %r9
xorl %eax, %eax
pushq %rbx
pushq %r12
pushq $0x39
leaq 0x268b(%rip), %r10      # 0x6004
pushq %r10
callq 0x5064
addq $0x20, %rsp
movl %r13d, (%rbp)
movl $0x202063, 0x3(%rbp)    # imm = 0x202063
leaq 0x2765(%rip), %rbx      # 0x60fb
movq %rbp, %rdi
callq 0x4e0d
movq %rax, %rdi
movq %r14, %rsi
callq 0x3260
xorl %esi, %esi
testl %eax, %eax
sete %sil
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r15, %r9
xorl %eax, %eax
pushq %rbx
pushq %r12
pushq $0x3a
leaq 0x2639(%rip), %r10      # 0x6004
pushq %r10
callq 0x5064
addq $0x20, %rsp
movl $0x20622061, (%rbp)     # imm = 0x20622061
movw $0x63, 0x4(%rbp)
leaq 0x2718(%rip), %rbx      # 0x6102
movq %rbp, %rdi
callq 0x4e0d
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3260
xorl %esi, %esi
testl %eax, %eax
sete %sil
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r15, %r9
xorl %eax, %eax
pushq %rbx
pushq %r12
leaq 0x25e7(%rip), %r15      # 0x6004
pushq $0x3b
pushq %r15
callq 0x5064
addq $0x20, %rsp
leaq 0x26d7(%rip), %rdi      # 0x6108
callq 0x3e47
movq %rsp, %rbx
movq %rax, (%rbx)
movq %rdx, 0x8(%rbx)
leaq 0x26c8(%rip), %rdi      # 0x610f
callq 0x3e47
movq %rax, 0x10(%rbx)
movq %rdx, 0x18(%rbx)
leaq 0x26b9(%rip), %rdi      # 0x6114
callq 0x3e47
movq %rax, 0x20(%rbx)
movq %rdx, 0x28(%rbx)
leaq 0x1118(%rip), %rcx      # 0x4b87
pushq $0x3
popq %rsi
pushq $0x10
popq %rdx
movq %rbx, %rdi
callq 0x3330
movq (%rbx), %rdi
movq 0x8(%rbx), %rsi
movq 0x10(%rbx), %rdx
movq 0x18(%rbx), %rcx
callq 0x4b03
testl %eax, %eax
pushq $0x1
popq %rbx
jns 0x3ab5
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rdx
movq 0x28(%rsp), %rcx
callq 0x4b03
testl %eax, %eax
js 0x3ab7
xorl %ebx, %ebx
subq $0x8, %rsp
leaq 0x2657(%rip), %r10      # 0x6119
leaq 0x2546(%rip), %rbp      # 0x600f
xorl %edi, %edi
movq %rbx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %rbp, %r9
xorl %eax, %eax
pushq %r10
pushq $0x65
pushq %r15
callq 0x5064
addq $0x20, %rsp
leaq 0x26cb(%rip), %rdi      # 0x61bb
pushq $0xe
popq %rsi
callq 0x3e64
movq %rax, %rbx
leaq 0x2625(%rip), %rsi      # 0x6127
movq %rax, %rdi
callq 0x3260
xorl %esi, %esi
testl %eax, %eax
sete %sil
leaq 0x2626(%rip), %r10      # 0x613f
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %rbp, %r9
xorl %eax, %eax
pushq %rbx
pushq %r10
pushq $0x6e
pushq %r15
callq 0x5064
addq $0x20, %rsp
leaq 0x261c(%rip), %r10      # 0x615a
pushq $0x1
popq %rbx
xorl %edi, %edi
movq %rbx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %rbp, %r9
xorl %eax, %eax
pushq $-0xf42153c             # imm = 0xF0BDEAC4
pushq %r10
pushq $0x71
pushq %r15
callq 0x5064
addq $0x20, %rsp
movabsq $-0x84f72a6e195d3bd, %r10 # imm = 0xF7B08D591E6A2C43
leaq 0x25f7(%rip), %r11      # 0x616e
xorl %edi, %edi
movq %rbx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %rbp, %r9
xorl %eax, %eax
pushq %r10
pushq %r11
pushq $0x74
pushq %r15
callq 0x5064
addq $0x20, %rsp
movabsq $0x2000007d4, %rdi      # imm = 0x2000007D4
leaq 0x30(%rsp), %r12
movq %rdi, (%r12)
pushq $0x1d
popq %r13
movl %r13d, 0x8(%r12)
movl %r13d, %esi
callq 0x4f44
movl %eax, %ebx
movl %eax, %edi
callq 0x4fc7
leaq 0x40(%rsp), %r14
movq %rax, (%r14)
movl %edx, 0x8(%r14)
pushq $0xc
popq %rdx
movq %r14, %rdi
movq %r12, %rsi
callq 0x3190
xorl %esi, %esi
testl %eax, %eax
sete %sil
movl $0x7d4, %r11d           # imm = 0x7D4
leaq 0x259e(%rip), %r10      # 0x6193
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %rbp, %r9
xorl %eax, %eax
pushq %r13
pushq $0x2
pushq %r11
pushq %r10
pushq $0x7a
pushq %r15
movq %r15, %rbp
callq 0x5064
addq $0x30, %rsp
movabsq $0x3000007d4, %rax      # imm = 0x3000007D4
movq %rax, (%r12)
pushq $0x1
popq %r15
movl %r15d, 0x8(%r12)
incl %ebx
movl %ebx, %edi
callq 0x4fc7
movq %rax, (%r14)
movl %edx, 0x8(%r14)
movq %r14, %rdi
movq %r12, %rsi
pushq $0xc
popq %rbx
movq %rbx, %rdx
callq 0x3190
xorl %esi, %esi
testl %eax, %eax
sete %sil
pushq $0x3
popq %r11
leaq 0x2527(%rip), %r10      # 0x618d
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
leaq 0x2399(%rip), %r13      # 0x600f
movq %r13, %r9
xorl %eax, %eax
pushq %r15
pushq %r11
movl $0x7d4, %r11d           # imm = 0x7D4
pushq %r11
pushq %r10
pushq $0x7e
pushq %rbp
callq 0x5064
addq $0x30, %rsp
movabsq $0xc000007d0, %rax      # imm = 0xC000007D0
movq %rax, (%r12)
pushq $0x1f
popq %rbp
movl %ebp, 0x8(%r12)
movabsq $0x1000007d1, %rdi      # imm = 0x1000007D1
movl %r15d, %esi
callq 0x4f44
leal -0x1(%rax), %edi
callq 0x4fc7
movq %rax, (%r14)
movl %edx, 0x8(%r14)
movq %r14, %rdi
movq %r12, %rsi
movq %rbx, %rdx
callq 0x3190
xorl %esi, %esi
testl %eax, %eax
sete %sil
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r13, %r9
xorl %eax, %eax
pushq %rbp
pushq $0xc
pushq $0x7d0                  # imm = 0x7D0
leaq 0x2494(%rip), %r10      # 0x6193
pushq %r10
pushq $0x82
leaq 0x22f7(%rip), %rbp      # 0x6004
pushq %rbp
callq 0x5064
addq $0x30, %rsp
movabsq $0x3000007d5, %rax      # imm = 0x3000007D5
movq %rax, (%r12)
movl %r15d, 0x8(%r12)
movabsq $0x2000007d5, %rdi      # imm = 0x2000007D5
pushq $0x1d
popq %rsi
callq 0x4f44
movl %eax, %edi
callq 0x4fc7
movq %rax, (%r14)
movl %edx, 0x8(%r14)
movq %r14, %rdi
movq %r12, %rsi
movq %rbx, %rdx
callq 0x3190
xorl %esi, %esi
testl %eax, %eax
sete %sil
leaq 0x2439(%rip), %r10      # 0x61a0
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movq %r13, %r9
xorl %eax, %eax
pushq %r15
pushq $0x3
popq %r11
pushq %r11
pushq $0x7d5                  # imm = 0x7D5
pushq %r10
pushq $0x86
pushq %rbp
callq 0x5064
addq $0x30, %rsp
callq 0x5c11
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x522f(%rip), %rax      # 0x8fe0
movq (%rax), %rdi
leaq 0x2301(%rip), %rsi      # 0x60bc
xorl %edx, %edx
xorl %eax, %eax
callq 0x3280
jmp 0x368a
incl %ebp
movq 0x520e(%rip), %rax      # 0x8fe0
movq (%rax), %rdi
leaq 0x22e0(%rip), %rsi      # 0x60bc
movl %ebp, %edx
xorl %eax, %eax
callq 0x3280
jmp 0x36da
movq 0x51ef(%rip), %rax      # 0x8fe0
movq (%rax), %rdi
leaq 0x22c1(%rip), %rsi      # 0x60bc
movl %ebp, %edx
xorl %eax, %eax
callq 0x3280
jmp 0x3729
movq 0x51d0(%rip), %rax      # 0x8fe0
movq (%rax), %rdi
leaq 0x22a2(%rip), %rsi      # 0x60bc
movl %ebp, %edx
xorl %eax, %eax
callq 0x3280
jmp 0x3778
movq 0x51b1(%rip), %rax      # 0x8fe0
movq (%rax), %rdi
leaq 0x2283(%rip), %rsi      # 0x60bc
movl %ebp, %edx
xorl %eax, %eax
callq 0x3280
jmp 0x37fa