// File: /workspace/github_c_makefile_star2_O0/samtools[P]htslib/cram/cram_io.c
// Function: cram_init_varint
static void cram_init_varint(varint_vec *vv, int version) {
    if (version >= 4) {
        vv->varint_get32 = uint7_get_32; // FIXME: varint.h API should be size agnostic
        vv->varint_get32s = sint7_get_32;
        vv->varint_get64 = uint7_get_64;
        vv->varint_get64s = sint7_get_64;
        vv->varint_put32 = uint7_put_32;
        vv->varint_put32s = sint7_put_32;
        vv->varint_put64 = uint7_put_64;
        vv->varint_put64s = sint7_put_64;
        vv->varint_put32_blk = uint7_put_blk_32;
        vv->varint_put32s_blk = sint7_put_blk_32;
        vv->varint_put64_blk = uint7_put_blk_64;
        vv->varint_put64s_blk = sint7_put_blk_64;
        vv->varint_size = uint7_size;
        vv->varint_decode32_crc = uint7_decode_crc32;
        vv->varint_decode32s_crc = sint7_decode_crc32;
        vv->varint_decode64_crc = uint7_decode_crc64;
    } else {
        vv->varint_get32 = safe_itf8_get;
        vv->varint_get32s = safe_itf8_get;
        vv->varint_get64 = safe_ltf8_get;
        vv->varint_get64s = safe_ltf8_get;
        vv->varint_put32 = safe_itf8_put;
        vv->varint_put32s = safe_itf8_put;
        vv->varint_put64 = safe_ltf8_put;
        vv->varint_put64s = safe_ltf8_put;
        vv->varint_put32_blk = itf8_put_blk;
        vv->varint_put32s_blk = itf8_put_blk;
        vv->varint_put64_blk = ltf8_put_blk;
        vv->varint_put64s_blk = ltf8_put_blk;
        vv->varint_size = itf8_size;
        vv->varint_decode32_crc = itf8_decode_crc;
        vv->varint_decode32s_crc = itf8_decode_crc;
        vv->varint_decode64_crc = ltf8_decode_crc;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
cmpl $0x4, -0xc(%rbp)
jl 0x7cc69
movq -0x8(%rbp), %rax
leaq 0x1e0(%rip), %rcx       # 0x7cd60
movq %rcx, 0x18(%rax)
movq -0x8(%rbp), %rax
leaq 0x231(%rip), %rcx       # 0x7cdc0
movq %rcx, 0x20(%rax)
movq -0x8(%rbp), %rax
leaq 0x282(%rip), %rcx       # 0x7ce20
movq %rcx, 0x28(%rax)
movq -0x8(%rbp), %rax
leaq 0x2d3(%rip), %rcx       # 0x7ce80
movq %rcx, 0x30(%rax)
movq -0x8(%rbp), %rax
leaq 0x324(%rip), %rcx       # 0x7cee0
movq %rcx, 0x38(%rax)
movq -0x8(%rbp), %rax
leaq 0x345(%rip), %rcx       # 0x7cf10
movq %rcx, 0x40(%rax)
movq -0x8(%rbp), %rax
leaq 0x366(%rip), %rcx       # 0x7cf40
movq %rcx, 0x48(%rax)
movq -0x8(%rbp), %rax
leaq 0x387(%rip), %rcx       # 0x7cf70
movq %rcx, 0x50(%rax)
movq -0x8(%rbp), %rax
leaq 0x3a8(%rip), %rcx       # 0x7cfa0
movq %rcx, 0x58(%rax)
movq -0x8(%rbp), %rax
leaq 0x3f9(%rip), %rcx       # 0x7d000
movq %rcx, 0x60(%rax)
movq -0x8(%rbp), %rax
leaq 0x44a(%rip), %rcx       # 0x7d060
movq %rcx, 0x68(%rax)
movq -0x8(%rbp), %rax
leaq 0x49b(%rip), %rcx       # 0x7d0c0
movq %rcx, 0x70(%rax)
movq -0x8(%rbp), %rax
leaq 0x4ec(%rip), %rcx       # 0x7d120
movq %rcx, 0x78(%rax)
movq -0x8(%rbp), %rax
leaq 0x4fd(%rip), %rcx       # 0x7d140
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
leaq 0x5af(%rip), %rcx       # 0x7d200
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
leaq 0x670(%rip), %rcx       # 0x7d2d0
movq %rcx, 0x10(%rax)
jmp 0x7cd58
movq -0x8(%rbp), %rax
leaq 0x72c(%rip), %rcx       # 0x7d3a0
movq %rcx, 0x18(%rax)
movq -0x8(%rbp), %rax
leaq 0x71d(%rip), %rcx       # 0x7d3a0
movq %rcx, 0x20(%rax)
movq -0x8(%rbp), %rax
leaq 0x91e(%rip), %rcx       # 0x7d5b0
movq %rcx, 0x28(%rax)
movq -0x8(%rbp), %rax
leaq 0x90f(%rip), %rcx       # 0x7d5b0
movq %rcx, 0x30(%rax)
movq -0x8(%rbp), %rax
leaq 0xd60(%rip), %rcx       # 0x7da10
movq %rcx, 0x38(%rax)
movq -0x8(%rbp), %rax
leaq 0xd51(%rip), %rcx       # 0x7da10
movq %rcx, 0x40(%rax)
movq -0x8(%rbp), %rax
leaq 0xd72(%rip), %rcx       # 0x7da40
movq %rcx, 0x48(%rax)
movq -0x8(%rbp), %rax
leaq 0xd63(%rip), %rcx       # 0x7da40
movq %rcx, 0x50(%rax)
movq -0x8(%rbp), %rax
leaq -0xeacc(%rip), %rcx     # 0x6e220
movq %rcx, 0x58(%rax)
movq -0x8(%rbp), %rax
leaq -0xeadb(%rip), %rcx     # 0x6e220
movq %rcx, 0x60(%rax)
movq -0x8(%rbp), %rax
leaq -0xea1a(%rip), %rcx     # 0x6e2f0
movq %rcx, 0x68(%rax)
movq -0x8(%rbp), %rax
leaq -0xea29(%rip), %rcx     # 0x6e2f0
movq %rcx, 0x70(%rax)
movq -0x8(%rbp), %rax
leaq 0xd48(%rip), %rcx       # 0x7da70
movq %rcx, 0x78(%rax)
movq -0x8(%rbp), %rax
leaq -0x100f7(%rip), %rcx    # 0x6cc40
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
leaq -0x10105(%rip), %rcx    # 0x6cc40
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
leaq -0xf234(%rip), %rcx     # 0x6db20
movq %rcx, 0x10(%rax)
popq %rbp
retq
nopw (%rax,%rax)