// File: /workspace/github_cpp_makefile_star2_O3/Infinidat[P]slimfastq/usrs.cpp
// Function: UsrLoad::UsrLoad()
UsrLoad::UsrLoad() {
    BZERO(m_last);
    flip = 0;
    m_out = conf.file_usr();
    m_rec[0] = '@' ;
    m_rep[0] = '@' ;
    m_2nd_rec = conf.get_long("usr.2id");
    m_solid   = conf.get_bool("usr.solid");
    m_llen = conf.get_long("llen");
    m_qlen = m_llen;

    if (not m_2nd_rec) {
        m_gen[m_llen+1] = '\n';
        m_gen[m_llen+2] = '+' ;
    }

    if (m_solid) {
        m_gen_ptr = m_gen;
        m_qlt_ptr = m_qlt;
        m_llen_factor = 1;
    }
    else {
        m_gen_ptr = m_gen + 1;
        m_qlt_ptr = m_qlt + 1;
        m_llen_factor = 0;
    }

    x_llen = new XFileLoad("usr.x");
    x_qlen = new XFileLoad("usr.x.q");
    x_sgen = new XFileLoad("usr.pfg");
    x_sqlt = new XFileLoad("usr.pfq");

    m_last.i_llen = x_llen->get();
    m_last.i_qlen = x_qlen->get();
    m_last.i_sgen = x_sgen->get();
    m_last.i_sqlt = x_sqlt->get();

    x_lrec = new XFileLoad("usr.lrec");
    m_last.i_long = x_lrec->get();
    if (m_last.i_long) {
        x_lgen = new XFileLoad("usr.lgen");
        x_lqlt = new XFileLoad("usr.lqlt");
    }
    else {
        DELETE(x_lrec);
        x_lgen = x_lqlt = NULL;
    }
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
xorps %xmm0, %xmm0
movups %xmm0, 0x20(%rdi)
movups %xmm0, 0x10(%rdi)
movups %xmm0, (%rdi)
movb $0x0, 0x60(%rdi)
leaq 0x97e8(%rip), %r14      # 0x13320
movq 0x10(%r14), %rax
movq %rax, 0x30(%rdi)
movb $0x40, %al
movb %al, 0x2062(%rdi)
movb %al, 0x61(%rdi)
leaq 0x2769(%rip), %rsi      # 0xc2bb
movq %r14, %rdi
xorl %edx, %edx
callq 0x46e8
testq %rax, %rax
setne 0x50(%rbx)
leaq 0x2335(%rip), %rsi      # 0xbe9f
movq %r14, %rdi
callq 0x466a
movb %al, 0x51(%rbx)
leaq 0x273a(%rip), %rsi      # 0xc2b6
movq %r14, %rdi
xorl %edx, %edx
callq 0x46e8
movq %rax, 0x38(%rbx)
movq %rax, 0x48(%rbx)
cmpb $0x0, 0x50(%rbx)
jne 0x9ba8
movb $0xa, 0x14066(%rax,%rbx)
movq 0x38(%rbx), %rax
movb $0x2b, 0x14067(%rax,%rbx)
movzbl 0x51(%rbx), %eax
movq %rbx, %rcx
subq %rax, %rcx
leaq 0x14066(%rcx), %rdx
addq $0x4064, %rcx           # imm = 0x4064
movq %rdx, 0x24078(%rbx)
movq %rcx, 0x24070(%rbx)
movq %rax, 0x40(%rbx)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21b0
movq %rax, %r14
leaq 0x24fa(%rip), %rsi      # 0xc0e0
movq %rax, %rdi
callq 0xa3ba
movq %r14, 0x24080(%rbx)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21b0
movq %rax, %r14
leaq 0x24dd(%rip), %rsi      # 0xc0e6
movq %rax, %rdi
callq 0xa3ba
movq %r14, 0x24088(%rbx)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21b0
movq %rax, %r14
leaq 0x24c2(%rip), %rsi      # 0xc0ee
movq %rax, %rdi
callq 0xa3ba
movq %r14, 0x24090(%rbx)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21b0
movq %rax, %r14
leaq 0x24a7(%rip), %rsi      # 0xc0f6
movq %rax, %rdi
callq 0xa3ba
movq %r14, 0x24098(%rbx)
movq 0x24080(%rbx), %rdi
callq 0xa58c
movq %rax, (%rbx)
movq 0x24088(%rbx), %rdi
callq 0xa58c
movq %rax, 0x8(%rbx)
movq 0x24090(%rbx), %rdi
callq 0xa58c
movq %rax, 0x10(%rbx)
movq 0x24098(%rbx), %rdi
callq 0xa58c
movq %rax, 0x18(%rbx)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21b0
movq %rax, %r14
leaq 0x245f(%rip), %rsi      # 0xc110
movq %rax, %rdi
callq 0xa3ba
movq %r14, 0x240b0(%rbx)
movq %r14, %rdi
callq 0xa58c
movq %rax, 0x20(%rbx)
testq %rax, %rax
je 0x9d19
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21b0
movq %rax, %r14
leaq 0x2419(%rip), %rsi      # 0xc0fe
movq %rax, %rdi
callq 0xa3ba
movq %r14, 0x240a0(%rbx)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21b0
movq %rax, %r14
leaq 0x23ff(%rip), %rsi      # 0xc107
movq %rax, %rdi
callq 0xa3ba
movq %r14, 0x240a8(%rbx)
jmp 0x9d4f
movq 0x240b0(%rbx), %r14
testq %r14, %r14
je 0x9d3a
movq %r14, %rdi
callq 0xa3de
movl $0x2db0, %esi           # imm = 0x2DB0
movq %r14, %rdi
callq 0x21c0
xorps %xmm0, %xmm0
movups %xmm0, 0x240a0(%rbx)
movq $0x0, 0x240b0(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
jmp 0x9d63
jmp 0x9d63
jmp 0x9d63
jmp 0x9d63
jmp 0x9d63
jmp 0x9d63
movq %rax, %rbx
movl $0x2db0, %esi           # imm = 0x2DB0
movq %r14, %rdi
callq 0x21c0
movq %rbx, %rdi
callq 0x22c0
nop