// File: /workspace/github_cpp_makefile_star2_O2/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 0x9782(%rip), %r14      # 0x11350
movq 0x10(%r14), %rax
movq %rax, 0x30(%rdi)
movb $0x40, %al
movb %al, 0x2062(%rdi)
movb %al, 0x61(%rdi)
leaq 0x2653(%rip), %rsi      # 0xa23b
movq %r14, %rdi
xorl %edx, %edx
callq 0x2f54
testq %rax, %rax
setne 0x50(%rbx)
leaq 0x220f(%rip), %rsi      # 0x9e0f
movq %r14, %rdi
callq 0x2ef8
movb %al, 0x51(%rbx)
leaq 0x2624(%rip), %rsi      # 0xa236
movq %r14, %rdi
xorl %edx, %edx
callq 0x2f54
movq %rax, 0x38(%rbx)
movq %rax, 0x48(%rbx)
cmpb $0x0, 0x50(%rbx)
jne 0x7c3e
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 0x21e0
movq %rax, %r14
leaq 0x23e4(%rip), %rsi      # 0xa060
movq %rax, %rdi
callq 0x85f6
movq %r14, 0x24080(%rbx)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21e0
movq %rax, %r14
leaq 0x23c7(%rip), %rsi      # 0xa066
movq %rax, %rdi
callq 0x85f6
movq %r14, 0x24088(%rbx)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21e0
movq %rax, %r14
leaq 0x23ac(%rip), %rsi      # 0xa06e
movq %rax, %rdi
callq 0x85f6
movq %r14, 0x24090(%rbx)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21e0
movq %rax, %r14
leaq 0x2391(%rip), %rsi      # 0xa076
movq %rax, %rdi
callq 0x85f6
movq %r14, 0x24098(%rbx)
movq 0x24080(%rbx), %rdi
callq 0x87ba
movq %rax, (%rbx)
movq 0x24088(%rbx), %rdi
callq 0x87ba
movq %rax, 0x8(%rbx)
movq 0x24090(%rbx), %rdi
callq 0x87ba
movq %rax, 0x10(%rbx)
movq 0x24098(%rbx), %rdi
callq 0x87ba
movq %rax, 0x18(%rbx)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21e0
movq %rax, %r14
leaq 0x2349(%rip), %rsi      # 0xa090
movq %rax, %rdi
callq 0x85f6
movq %r14, 0x240b0(%rbx)
movq %r14, %rdi
callq 0x87ba
movq %rax, 0x20(%rbx)
testq %rax, %rax
je 0x7daf
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21e0
movq %rax, %r14
leaq 0x2303(%rip), %rsi      # 0xa07e
movq %rax, %rdi
callq 0x85f6
movq %r14, 0x240a0(%rbx)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21e0
movq %rax, %r14
leaq 0x22e9(%rip), %rsi      # 0xa087
movq %rax, %rdi
callq 0x85f6
movq %r14, 0x240a8(%rbx)
jmp 0x7de2
movq 0x240b0(%rbx), %r14
testq %r14, %r14
je 0x7dd0
movq %r14, %rdi
callq 0x8618
movl $0x2db0, %esi           # imm = 0x2DB0
movq %r14, %rdi
callq 0x21f0
xorps %xmm0, %xmm0
movups %xmm0, 0x240a0(%rbx)
andq $0x0, 0x240b0(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
jmp 0x7df6
jmp 0x7df6
jmp 0x7df6
jmp 0x7df6
jmp 0x7df6
jmp 0x7df6
movq %rax, %rbx
movl $0x2db0, %esi           # imm = 0x2DB0
movq %r14, %rdi
callq 0x21f0
movq %rbx, %rdi
callq 0x2300