// File: /workspace/github_cpp_makefile_star2_O2/chhylp123[P]hifiasm/gfa_ut.cpp
// Function: integer_realign_g(ul_resolve_t*, usg_t*, uinfo_srt_warp_t*, unsigned int, integer_t*)
void integer_realign_g(ul_resolve_t *uidx, usg_t *ng, uinfo_srt_warp_t *seq, uint32_t seq_id, integer_t *buf)
{
    if(seq->n < 2) return;
    // if(seq_id != 1137) return;
    uint64_t *srt, *track, k, z, m, t, i, l, seq_n, j, sc, csc, mm_sc, mm_idx, n_v, n_u, n_v0, *p, lin, pn;
    uint32_t vi, vj; mmap_t *zm, *zt; 
    ///ng->map: the nodes in the new graph that are mapped to the initial HiFi graph 
    for (i = seq_n = 0; i < seq->n; ++i) seq_n += ng->mp.a[seq->a[i].v>>1].n;
    // fprintf(stderr, "[M::%s::] seq_id::%u, seq_n::%u, seq->n::%u\n", 
    // __func__, seq_id, (uint32_t)seq_n, (uint32_t)seq->n);

    buf->o.n = buf->u.n = 0; 
    kv_resize(uint64_t, buf->o, (seq_n<<1)); 
    srt = buf->o.a; track = buf->o.a + seq_n;

    for (z = l = 0; z < seq->n; ++z) {
        csc = seq->a[z].n; 
        zm = &(ng->mp.a[seq->a[z].v>>1]);///current 
        zt = ((z>0)?(&(ng->mp.a[seq->a[z-1].v>>1])):(NULL));///prefix
        for (m = 0; m < zm->n; m++) {
            i = l + m; mm_sc = csc; mm_idx = ((uint64_t)0x7FFFFFFF); 
            vi = (zm->a[m]<<1)|(seq->a[z].v&1);
            if(zt && zt->n > 0) {
                for (t = 0; t < zt->n; t++) {
                    j = l + t - zt->n;
                    vj = (zt->a[t]<<1)|(seq->a[z-1].v&1);
                    if(check_hybrid_connect(ng, seq_id, vj, z-1, vi, z)) {///seq_id:: integer contig id
                        sc = csc + (((uint32_t)-1) - (track[j]>>32));
                        if(sc > mm_sc) {
                            mm_sc = sc; mm_idx = j;
                        }
                    }
                }
            }
            mm_sc = ((uint32_t)-1) - mm_sc;
            track[i] = mm_sc; track[i] <<= 32; track[i] |= mm_idx;
            srt[i] = track[i]>>32; srt[i] <<= 32; srt[i] |= i;
        }
        l += zm->n;
    }
    assert(l == seq_n);

    radix_sort_srt64(srt, srt + seq_n); 
    kv_resize(uint64_t, buf->res_dump, buf->res_dump.n + seq_n); 
    l = buf->res_dump.n; m = buf->u.n;
    for (k = n_v = n_u = 0; k < seq_n; k++) {
        n_v0 = n_v; i = (uint32_t)srt[k];
        for (; i != ((uint64_t)0x7FFFFFFF) && (!(track[i]&((uint64_t)0x80000000)));) {
            kv_push(uint64_t, buf->res_dump, i); n_v++; 
            track[i] |= ((uint64_t)0x80000000);
            i = track[i]&((uint64_t)0x7FFFFFFF); 
        }
        if(n_v - n_v0 <= 1) {///not useful to resolve anything if the UL covers less than 1 nodes 
            buf->res_dump.n -= (n_v-n_v0); n_v = n_v0;
            continue;
        }
        kv_pushp(uint64_t, buf->u, &p); n_u++; 
        (*p) = n_v-n_v0; (*p) = ((uint32_t)-1) - (*p); (*p) <<= 32; (*p) |= ((uint64_t)(l+n_v0));
    }

    for (z = i = 0; z < seq->n; ++z) {
        zm = &(ng->mp.a[seq->a[z].v>>1]);
        for (k = 0; k < zm->n; k++, i++) {
            srt[i] = z; srt[i] <<= 32; srt[i] |= ((zm->a[k]<<1)|(seq->a[z].v&1));
        }
    }
    assert(i == seq_n);
    ///srt[]: (idx in seq)|(node id)
    uint64_t *r, nt;
    for (k = n_u = nt = 0; k < buf->u.n; k++) {
        n_v0 = (uint32_t)buf->u.a[k]; r = buf->res_dump.a + n_v0; 
        n_v = (((uint32_t)-1) - (buf->u.a[k]>>32));
        // if(n_v < 2) continue;
        // fprintf(stderr, "+[M::%s::k->%lu] buf->u.n::%u, n_v0::%lu, n_v::%lu, nt::%lu\n", 
        // __func__, k, (uint32_t)buf->u.n, n_v0, n_v, nt);
        assert(n_v >= 2);
        buf->u.a[n_u] = nt<<32;
        for (i = 0; i < n_v; i++, nt++) {
            // fprintf(stderr, ">[M::%s::] i::%lu, nt::%lu, n_v-i-1::%lu, r[n_v-i-1]::%lu\n", 
            //         __func__, i, nt, n_v-i-1, r[n_v-i-1]);
            track[nt] = srt[r[n_v-i-1]];
        }
        buf->u.a[n_u] |= nt; n_u++;
        // fprintf(stderr, "-[M::%s::k->%lu] buf->u.n::%u, n_v0::%lu, n_v::%lu, nt::%lu\n", 
        // __func__, k, (uint32_t)buf->u.n, n_v0, n_v, nt);
    }
    buf->u.n = n_u;

    uint64_t ceq_s, ceq_e, peq_s, peq_e, min_e, max_s;
    for (k = n_u = 0; k < buf->u.n; k++) {
        n_v0 = buf->u.a[k]>>32; n_v = (uint32_t)buf->u.a[k];///[n_v0, n_v)
        ceq_s = track[n_v0]>>32; ceq_e = (track[n_v-1]>>32) + 1;
        assert((ceq_e-ceq_s) == (n_v-n_v0));
        for (z = 0; z < n_u; z++) {
            n_v0 = buf->u.a[z]>>32; n_v = (uint32_t)buf->u.a[z];
            peq_s = track[n_v0]>>32; peq_e = (track[n_v-1]>>32) + 1;
            assert((peq_e-peq_s) == (n_v-n_v0));
            max_s = MAX(peq_s, ceq_s); min_e = MIN(peq_e, ceq_e);
            if(min_e > max_s) break;
        }
        if(z < n_u) continue;
        buf->u.a[n_u++] = buf->u.a[k];
    }
    buf->u.n = n_u; buf->res_dump.n = l;
    for (k = n_u = 0; k < buf->u.n; k++) {
        // t = (uint32_t)-1; t <<= 32; 
        t = seq_id; t <<= 32; t |= ((uint64_t)0x8000000000000000);
        t |= (((uint32_t)buf->u.a[k])-(buf->u.a[k]>>32)); 
        pn = buf->res_dump.n; kv_push(uint64_t, buf->res_dump, t);
        n_v0 = buf->u.a[k]>>32; n_v = (uint32_t)buf->u.a[k];
        for (z = n_v0, lin = 1; z < n_v; z++) {
            if(lin && (z > n_v0)) {
                if((usg_arc_occ(ng, ((uint32_t)track[z])^1) > 1) || 
                            (usg_arc_occ(ng, ((uint32_t)track[z-1])) > 1)) {
                    lin = 0;
                }
            }
            kv_push(uint64_t, buf->res_dump, (uint32_t)track[z]);
        }

        if(lin == 1) buf->res_dump.n = pn;
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %rcx, 0x40(%rsp)
movq %rsi, 0x20(%rsp)
movq (%rdx), %rax
cmpq $0x2, %rax
jae 0x1c95fe
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r8, %rbx
movq %rdx, %rdi
movq 0x20(%rsp), %rcx
movq 0x28(%rcx), %rcx
movq 0x10(%rdx), %rdx
xorl %r14d, %r14d
subq $0x1, %rax
jb 0x1c962d
movl (%rdx), %esi
shrl %esi
imulq $0x18, %rsi, %rsi
addq 0x8(%rcx,%rsi), %r14
addq $0x10, %rdx
jmp 0x1c9614
andq $0x0, 0x90(%rbx)
andq $0x0, 0x78(%rbx)
leaq (%r14,%r14), %rax
cmpq %rax, 0x80(%rbx)
movq %rdi, 0x10(%rsp)
jae 0x1c96b0
decq %rax
movq %rax, %rcx
shrq %rcx
orq %rax, %rcx
movq %rcx, %rax
shrq $0x2, %rax
orq %rcx, %rax
movq %rax, %rcx
shrq $0x4, %rcx
orq %rax, %rcx
movq %rcx, %rax
shrq $0x8, %rax
orq %rcx, %rax
movq %rax, %rcx
shrq $0x10, %rcx
orq %rax, %rcx
leaq 0x1(%rcx), %rax
movq %rax, 0x80(%rbx)
movq 0x88(%rbx), %rdi
leaq 0x8(,%rcx,8), %rsi
callq 0x2370
movq 0x10(%rsp), %rdi
movq %rax, %r13
movq %rax, 0x88(%rbx)
jmp 0x1c96b7
movq 0x88(%rbx), %r13
leaq (,%r14,8), %rax
addq %r13, %rax
movq %rax, 0x8(%rsp)
movq $0x0, 0x28(%rsp)
xorl %edx, %edx
movq %rbx, (%rsp)
movq %r14, 0x38(%rsp)
movq %r13, 0x48(%rsp)
cmpq (%rdi), %rdx
jae 0x1c989b
movq 0x10(%rdi), %rax
movq %rdx, %rsi
shlq $0x4, %rsi
movq 0x20(%rsp), %rcx
movq 0x28(%rcx), %r8
testq %rdx, %rdx
je 0x1c9714
leaq (%rax,%rsi), %rcx
movl -0x10(%rcx), %ecx
shrl %ecx
imulq $0x18, %rcx, %r14
addq %r8, %r14
jmp 0x1c9717
xorl %r14d, %r14d
movl (%rax,%rsi), %ecx
movq %rsi, 0x68(%rsp)
movl 0xc(%rax,%rsi), %eax
movq %rax, 0x30(%rsp)
shrl %ecx
imulq $0x18, %rcx, %rax
addq %rax, %r8
movq %rdx, 0x60(%rsp)
leaq -0x1(%rdx), %rbp
movq 0x8(%rsp), %rax
movq 0x28(%rsp), %rcx
leaq (%rax,%rcx,8), %rax
movq %rax, 0x70(%rsp)
xorl %r9d, %r9d
movq %r8, 0x50(%rsp)
movq 0x8(%r8), %rax
cmpq %rax, %r9
jae 0x1c9880
movq %r9, 0x58(%rsp)
movl $0x7fffffff, %ebx       # imm = 0x7FFFFFFF
testq %r14, %r14
je 0x1c9836
movq 0x8(%r14), %r12
movq 0x30(%rsp), %r15
testq %r12, %r12
je 0x1c983b
movq 0x10(%rdi), %rax
movq 0x68(%rsp), %rcx
movl (%rax,%rcx), %eax
andl $0x1, %eax
movq 0x50(%rsp), %rcx
movq (%rcx), %rcx
movq 0x58(%rsp), %rdx
movl (%rcx,%rdx,4), %ecx
leal (%rax,%rcx,2), %eax
movl %eax, 0x18(%rsp)
movq 0x30(%rsp), %r15
xorl %r13d, %r13d
cmpq %r12, %r13
jae 0x1c982f
movq (%r14), %rax
movl (%rax,%r13,4), %eax
movq 0x10(%rdi), %rcx
movq %rbp, %rdx
shlq $0x4, %rdx
movl (%rcx,%rdx), %ecx
andl $0x1, %ecx
leal (%rcx,%rax,2), %edx
movq 0x20(%rsp), %rdi
movq 0x40(%rsp), %rsi
movl %ebp, %ecx
movl 0x18(%rsp), %r8d
callq 0x1c9523
testl %eax, %eax
je 0x1c9821
movq 0x28(%rsp), %rax
addq %r13, %rax
subq %r12, %rax
shlq $0x3, %r12
movq 0x70(%rsp), %rcx
subq %r12, %rcx
movq (%rcx,%r13,8), %rcx
notq %rcx
shrq $0x20, %rcx
addq 0x30(%rsp), %rcx
cmpq %r15, %rcx
cmovaq %rax, %rbx
cmovaq %rcx, %r15
incq %r13
movq 0x8(%r14), %r12
movq 0x10(%rsp), %rdi
jmp 0x1c97b5
movq 0x48(%rsp), %r13
jmp 0x1c983b
movq 0x30(%rsp), %r15
movq 0x28(%rsp), %rax
movq 0x58(%rsp), %r9
addq %r9, %rax
shlq $0x20, %r15
movabsq $-0x100000000, %rsi     # imm = 0xFFFFFFFF00000000
movq %rsi, %rcx
subq %r15, %rcx
orq %rbx, %rcx
movq 0x8(%rsp), %rdx
movq %rcx, (%rdx,%rax,8)
andq %rsi, %rcx
orq %rax, %rcx
movq %rcx, (%r13,%rax,8)
incq %r9
movq 0x50(%rsp), %r8
jmp 0x1c9755
addq %rax, 0x28(%rsp)
movq 0x60(%rsp), %rdx
incq %rdx
movq (%rsp), %rbx
movq 0x38(%rsp), %r14
jmp 0x1c96e0
cmpq %r14, 0x28(%rsp)
jne 0x1c9e4c
movq %r13, %rdi
movq 0x8(%rsp), %rsi
callq 0x1a3def
movq 0x300(%rbx), %rax
movq %rax, 0x18(%rsp)
addq %r14, %rax
cmpq %rax, 0x308(%rbx)
jae 0x1c9935
decq %rax
movq %rax, %rcx
shrq %rcx
orq %rax, %rcx
movq %rcx, %rax
shrq $0x2, %rax
orq %rcx, %rax
movq %rax, %rcx
shrq $0x4, %rcx
orq %rax, %rcx
movq %rcx, %rax
shrq $0x8, %rax
orq %rcx, %rax
movq %rax, %rcx
shrq $0x10, %rcx
orq %rax, %rcx
leaq 0x1(%rcx), %rax
movq (%rsp), %rbx
movq %rax, 0x308(%rbx)
movq 0x310(%rbx), %rdi
leaq 0x8(,%rcx,8), %rsi
callq 0x2370
movq %rax, 0x310(%rbx)
movq 0x300(%rbx), %rax
movq %rax, 0x18(%rsp)
xorl %ebx, %ebx
xorl %r14d, %r14d
movq 0x10(%rsp), %r11
movq (%rsp), %rbp
cmpq 0x38(%rsp), %r14
je 0x1c9a96
movl (%r13,%r14,8), %r13d
movabsq $-0x100000000, %r12     # imm = 0xFFFFFFFF00000000
xorl %r15d, %r15d
cmpq $0x7fffffff, %r13       # imm = 0x7FFFFFFF
je 0x1c9a0a
movq 0x8(%rsp), %rax
testb $-0x80, 0x3(%rax,%r13,8)
jne 0x1c9a0a
movq 0x300(%rbp), %rcx
movq 0x310(%rbp), %rax
cmpq 0x308(%rbp), %rcx
jne 0x1c99c9
leaq (%rcx,%rcx), %rsi
testq %rcx, %rcx
pushq $0x2
popq %rcx
cmoveq %rcx, %rsi
movq %rsi, 0x308(%rbp)
shlq $0x3, %rsi
movq %rax, %rdi
callq 0x2370
movq 0x10(%rsp), %r11
movq %rax, 0x310(%rbp)
movq 0x300(%rbp), %rcx
leaq 0x1(%rcx), %rdx
movq %rdx, 0x300(%rbp)
movq %r13, (%rax,%rcx,8)
movq 0x8(%rsp), %rdx
movq (%rdx,%r13,8), %rax
movq %rax, %rcx
btsq $0x1f, %rcx
movq %rcx, (%rdx,%r13,8)
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
incq %r15
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
addq %rcx, %r12
movq %rax, %r13
jmp 0x1c9960
cmpq $0x1, %r15
ja 0x1c9a1d
movq (%rsp), %rax
subq %r15, 0x300(%rax)
jmp 0x1c9a89
movq (%rsp), %r13
movq 0x90(%r13), %rcx
movq 0xa0(%r13), %rax
cmpq 0x98(%r13), %rcx
jne 0x1c9a6c
leaq (%rcx,%rcx), %rsi
testq %rcx, %rcx
pushq $0x2
popq %rcx
cmoveq %rcx, %rsi
movq %rsi, 0x98(%r13)
shlq $0x3, %rsi
movq %rax, %rdi
callq 0x2370
movq 0x10(%rsp), %r11
movq %rax, 0xa0(%r13)
movq 0x90(%r13), %rcx
addq %rbx, %r15
leaq 0x1(%rcx), %rdx
movq %rdx, 0x90(%r13)
addq 0x18(%rsp), %rbx
orq %rbx, %r12
movq %r12, (%rax,%rcx,8)
movq %r15, %rbx
incq %r14
movq 0x48(%rsp), %r13
jmp 0x1c9943
xorl %eax, %eax
xorl %ecx, %ecx
movq 0x38(%rsp), %rbx
cmpq (%r11), %rcx
jae 0x1c9b00
movq 0x10(%r11), %rdx
movq %rcx, %rsi
shlq $0x4, %rsi
movl (%rdx,%rsi), %edx
movl %edx, %esi
shrl %esi
imulq $0x18, %rsi, %rsi
movq 0x20(%rsp), %rdi
addq 0x28(%rdi), %rsi
movq %rcx, %rdi
shlq $0x20, %rdi
andl $0x1, %edx
leaq (,%rax,8), %r9
addq %r13, %r9
xorl %r8d, %r8d
cmpq 0x8(%rsi), %r8
jae 0x1c9af8
movq (%rsi), %r10
movl (%r10,%r8,4), %r10d
leal (%rdx,%r10,2), %r10d
orq %rdi, %r10
movq %r10, (%r9,%r8,8)
incq %r8
jmp 0x1c9adb
incq %rcx
addq %r8, %rax
jmp 0x1c9a9f
cmpq %rbx, %rax
jne 0x1c9e6b
xorl %eax, %eax
xorl %ecx, %ecx
movq (%rsp), %r8
cmpq 0x90(%r8), %rax
jae 0x1c9b8a
movq 0xa0(%r8), %rdx
movq (%rdx,%rax,8), %rdi
movq %rdi, %rsi
shrq $0x21, %rsi
cmpl $0x7fffffff, %esi       # imm = 0x7FFFFFFF
jae 0x1c9e0e
movq %rdi, %rsi
notq %rsi
shrq $0x20, %rsi
movq 0x310(%r8), %r8
movl %edi, %edi
movq %rcx, %r9
shlq $0x20, %r9
movq %r9, (%rdx,%rax,8)
leaq (%r8,%rdi,8), %rdi
addq $-0x8, %rdi
movq %rsi, %r8
subq $0x1, %r8
jb 0x1c9b81
movq (%rdi,%rsi,8), %rsi
movq (%r13,%rsi,8), %rsi
movq 0x8(%rsp), %r9
movq %rsi, (%r9,%rcx,8)
incq %rcx
movq %r8, %rsi
jmp 0x1c9b61
orq %rcx, (%rdx,%rax,8)
incq %rax
jmp 0x1c9b0d
movq %rax, 0x90(%r8)
xorl %ecx, %ecx
xorl %edx, %edx
cmpq %rax, %rdx
jae 0x1c9c4d
movq (%rsp), %rsi
movq 0xa0(%rsi), %rsi
movq (%rsi,%rdx,8), %rdi
movq %rdi, %r10
shrq $0x20, %r10
movl %edi, %r11d
movq 0x8(%rsp), %r9
movq (%r9,%r10,8), %r8
shrq $0x20, %r8
movl -0x4(%r9,%r11,8), %r9d
incq %r9
movq %r9, %rbx
subq %r8, %rbx
subq %r10, %r11
cmpq %r11, %rbx
jne 0x1c9e2d
xorl %r10d, %r10d
cmpq %r10, %rcx
je 0x1c9c33
movq (%rsi,%r10,8), %r11
movl %r11d, %r14d
movq %r11, %r15
shrq $0x20, %r15
movq 0x8(%rsp), %rbx
movq (%rbx,%r15,8), %r11
shrq $0x20, %r11
movl -0x4(%rbx,%r14,8), %ebx
incq %rbx
movq %rbx, %r12
subq %r11, %r12
subq %r15, %r14
cmpq %r14, %r12
jne 0x1c9def
cmpq %r8, %r11
cmovbeq %r8, %r11
cmpq %r9, %rbx
cmovaeq %r9, %rbx
incq %r10
cmpq %r11, %rbx
jbe 0x1c9be1
jmp 0x1c9c45
movq %rdi, (%rsi,%rcx,8)
incq %rcx
movq (%rsp), %rax
movq 0x90(%rax), %rax
incq %rdx
jmp 0x1c9b95
movq (%rsp), %r15
movq %rcx, 0x90(%r15)
movq 0x18(%rsp), %rax
movq %rax, 0x300(%r15)
shlq $0x20, 0x40(%rsp)
xorl %ebx, %ebx
cmpq %rcx, %rbx
jae 0x1c95ef
movq 0xa0(%r15), %rax
movq (%rax,%rbx,8), %r14
movq 0x300(%r15), %rcx
movq 0x310(%r15), %r13
cmpq 0x308(%r15), %rcx
movq %rcx, 0x10(%rsp)
jne 0x1c9cd5
leaq (%rcx,%rcx), %rsi
testq %rcx, %rcx
pushq $0x2
popq %rax
cmoveq %rax, %rsi
movq %rsi, 0x308(%r15)
shlq $0x3, %rsi
movq %r13, %rdi
callq 0x2370
movq %rax, %r13
movq %rax, 0x310(%r15)
movq 0x300(%r15), %rcx
movq 0xa0(%r15), %rax
movl %r14d, %edx
shrq $0x20, %r14
subq %r14, %rdx
orq 0x40(%rsp), %rdx
btsq $0x3f, %rdx
leaq 0x1(%rcx), %rsi
movq %rsi, 0x300(%r15)
movq %rdx, (%r13,%rcx,8)
movq %rbx, 0x18(%rsp)
movq (%rax,%rbx,8), %r12
movl %r12d, %r14d
shrq $0x20, %r12
pushq $0x1
popq %rbp
movq %r12, %r15
cmpq %r14, %r15
jae 0x1c9dc5
testq %rbp, %rbp
je 0x1c9d5c
pushq $0x1
popq %rbp
cmpq %r12, %r15
jbe 0x1c9d5e
movq 0x8(%rsp), %rax
movl (%rax,%r15,8), %esi
xorl $0x1, %esi
movq 0x20(%rsp), %rdi
callq 0x1c9594
cmpl $0x1, %eax
ja 0x1c9d5c
movq 0x8(%rsp), %rax
movl -0x8(%rax,%r15,8), %esi
movq 0x20(%rsp), %rdi
callq 0x1c9594
pushq $0x1
popq %rbp
cmpl $0x2, %eax
jb 0x1c9d5e
xorl %ebp, %ebp
movq (%rsp), %rbx
movq 0x300(%rbx), %rax
cmpq 0x308(%rbx), %rax
jne 0x1c9da4
leaq (%rax,%rax), %rsi
testq %rax, %rax
pushq $0x2
popq %rax
cmoveq %rax, %rsi
movq %rsi, 0x308(%rbx)
shlq $0x3, %rsi
movq %r13, %rdi
callq 0x2370
movq %rax, %r13
movq %rax, 0x310(%rbx)
movq 0x300(%rbx), %rax
movq 0x8(%rsp), %rcx
movl (%rcx,%r15,8), %ecx
leaq 0x1(%rax), %rdx
movq %rdx, 0x300(%rbx)
movq %rcx, (%r13,%rax,8)
incq %r15
jmp 0x1c9d0f
cmpq $0x1, %rbp
movq (%rsp), %r15
jne 0x1c9ddb
movq 0x10(%rsp), %rax
movq %rax, 0x300(%r15)
movq 0x18(%rsp), %rbx
incq %rbx
movq 0x90(%r15), %rcx
jmp 0x1c9c6c
leaq 0x309bc(%rip), %rdi     # 0x1fa7b2
leaq 0x2d6dc(%rip), %rsi     # 0x1f74d9
leaq 0x30923(%rip), %rcx     # 0x1fa727
movl $0x2eee, %edx           # imm = 0x2EEE
callq 0x2110
leaq 0x30978(%rip), %rdi     # 0x1fa78d
leaq 0x2d6bd(%rip), %rsi     # 0x1f74d9
leaq 0x30904(%rip), %rcx     # 0x1fa727
movl $0x2ed9, %edx           # imm = 0x2ED9
callq 0x2110
leaq 0x30962(%rip), %rdi     # 0x1fa796
leaq 0x2d69e(%rip), %rsi     # 0x1f74d9
leaq 0x308e5(%rip), %rcx     # 0x1fa727
movl $0x2eea, %edx           # imm = 0x2EEA
callq 0x2110
leaq 0x308c9(%rip), %rdi     # 0x1fa71c
leaq 0x2d67f(%rip), %rsi     # 0x1f74d9
leaq 0x308c6(%rip), %rcx     # 0x1fa727
movl $0x2eb6, %edx           # imm = 0x2EB6
callq 0x2110
leaq 0x30910(%rip), %rdi     # 0x1fa782
leaq 0x2d660(%rip), %rsi     # 0x1f74d9
leaq 0x308a7(%rip), %rcx     # 0x1fa727
movl $0x2ed0, %edx           # imm = 0x2ED0
callq 0x2110