// File: /workspace/github_cpp_makefile_star2_O1/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 0x92e6(%rip), %r14      # 0x12320
movq 0x10(%r14), %rax
movq %rax, 0x30(%rdi)
movb $0x40, %al
movb %al, 0x2062(%rdi)
movb %al, 0x61(%rdi)
leaq 0x2227(%rip), %rsi      # 0xb27b
movq %r14, %rdi
xorl %edx, %edx
callq 0x3b08
testq %rax, %rax
setne 0x50(%rbx)
leaq 0x1dc5(%rip), %rsi      # 0xae31
movq %r14, %rdi
callq 0x3a8a
movb %al, 0x51(%rbx)
leaq 0x21f8(%rip), %rsi      # 0xb276
movq %r14, %rdi
xorl %edx, %edx
callq 0x3b08
movq %rax, 0x38(%rbx)
movq %rax, 0x48(%rbx)
cmpb $0x0, 0x50(%rbx)
jne 0x90aa
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
movq %rdx, 0x24078(%rbx)
addq $0x4064, %rcx           # imm = 0x4064
movq %rcx, 0x24070(%rbx)
movq %rax, 0x40(%rbx)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21b0
movq %rax, %r14
leaq 0x1fb8(%rip), %rsi      # 0xb0a0
movq %rax, %rdi
callq 0x9866
movq %r14, 0x24080(%rbx)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21b0
movq %rax, %r14
leaq 0x1f9b(%rip), %rsi      # 0xb0a6
movq %rax, %rdi
callq 0x9866
movq %r14, 0x24088(%rbx)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21b0
movq %rax, %r14
leaq 0x1f80(%rip), %rsi      # 0xb0ae
movq %rax, %rdi
callq 0x9866
movq %r14, 0x24090(%rbx)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21b0
movq %rax, %r14
leaq 0x1f65(%rip), %rsi      # 0xb0b6
movq %rax, %rdi
callq 0x9866
movq %r14, 0x24098(%rbx)
movq 0x24080(%rbx), %rdi
callq 0x9a38
movq %rax, (%rbx)
movq 0x24088(%rbx), %rdi
callq 0x9a38
movq %rax, 0x8(%rbx)
movq 0x24090(%rbx), %rdi
callq 0x9a38
movq %rax, 0x10(%rbx)
movq 0x24098(%rbx), %rdi
callq 0x9a38
movq %rax, 0x18(%rbx)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21b0
movq %rax, %r14
leaq 0x1f1d(%rip), %rsi      # 0xb0d0
movq %rax, %rdi
callq 0x9866
movq %r14, 0x240b0(%rbx)
movq %r14, %rdi
callq 0x9a38
movq %rax, 0x20(%rbx)
testq %rax, %rax
je 0x921b
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21b0
movq %rax, %r14
leaq 0x1ed7(%rip), %rsi      # 0xb0be
movq %rax, %rdi
callq 0x9866
movq %r14, 0x240a0(%rbx)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x21b0
movq %rax, %r14
leaq 0x1ebd(%rip), %rsi      # 0xb0c7
movq %rax, %rdi
callq 0x9866
movq %r14, 0x240a8(%rbx)
jmp 0x9251
movq 0x240b0(%rbx), %r14
testq %r14, %r14
je 0x923c
movq %r14, %rdi
callq 0x988a
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 0x9265
jmp 0x9265
jmp 0x9265
jmp 0x9265
jmp 0x9265
jmp 0x9265
movq %rax, %rbx
movl $0x2db0, %esi           # imm = 0x2DB0
movq %r14, %rdi
callq 0x21c0
movq %rbx, %rdi
callq 0x22c0
nop