// File: 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:
subq $0x68, %rsp
movq %rdi, 0x60(%rsp)
movq 0x60(%rsp), %rdi
movq %rdi, 0x48(%rsp)
xorl %esi, %esi
movl $0x30, %edx
callq 0x2170
movq 0x48(%rsp), %rax
movb $0x0, 0x60(%rax)
leaq 0xa0f1(%rip), %rdi      # 0x183e0
callq 0xf160
movq %rax, %rcx
movq 0x48(%rsp), %rax
movq %rcx, 0x30(%rax)
movb $0x40, 0x2062(%rax)
movb $0x40, 0x61(%rax)
leaq 0xa0ce(%rip), %rdi      # 0x183e0
leaq 0x3187(%rip), %rsi      # 0x114a0
xorl %eax, %eax
movl %eax, %edx
callq 0x3b40
movq %rax, %rcx
movq 0x48(%rsp), %rax
cmpq $0x0, %rcx
setne %cl
andb $0x1, %cl
movb %cl, 0x50(%rax)
leaq 0xa0a2(%rip), %rdi      # 0x183e0
leaq 0x2c04(%rip), %rsi      # 0x10f49
callq 0x3a40
movb %al, %cl
movq 0x48(%rsp), %rax
andb $0x1, %cl
movb %cl, 0x51(%rax)
leaq 0xa082(%rip), %rdi      # 0x183e0
leaq 0x3136(%rip), %rsi      # 0x1149b
xorl %eax, %eax
movl %eax, %edx
callq 0x3b40
movq %rax, %rcx
movq 0x48(%rsp), %rax
movq %rcx, 0x38(%rax)
movq 0x38(%rax), %rcx
movq %rcx, 0x48(%rax)
testb $0x1, 0x50(%rax)
jne 0xe3a5
movq 0x48(%rsp), %rax
movq 0x38(%rax), %rcx
movb $0xa, 0x14066(%rax,%rcx)
movq 0x38(%rax), %rcx
movb $0x2b, 0x14067(%rax,%rcx)
movq 0x48(%rsp), %rax
testb $0x1, 0x51(%rax)
je 0xe3e1
movq 0x48(%rsp), %rax
movq %rax, %rcx
addq $0x14065, %rcx          # imm = 0x14065
movq %rcx, 0x24078(%rax)
movq %rax, %rcx
addq $0x4063, %rcx           # imm = 0x4063
movq %rcx, 0x24070(%rax)
movq $0x1, 0x40(%rax)
jmp 0xe418
movq 0x48(%rsp), %rax
movq %rax, %rcx
addq $0x14065, %rcx          # imm = 0x14065
addq $0x1, %rcx
movq %rcx, 0x24078(%rax)
movq %rax, %rcx
addq $0x4063, %rcx           # imm = 0x4063
addq $0x1, %rcx
movq %rcx, 0x24070(%rax)
movq $0x0, 0x40(%rax)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x2280
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x40(%rsp)
leaq 0x2e68(%rip), %rsi      # 0x1129c
callq 0xf800
jmp 0xe43b
movq 0x48(%rsp), %rax
movq 0x40(%rsp), %rcx
movq %rcx, 0x24080(%rax)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x2280
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x38(%rsp)
leaq 0x2e3a(%rip), %rsi      # 0x112a2
callq 0xf800
jmp 0xe46f
movq 0x48(%rsp), %rax
movq 0x38(%rsp), %rcx
movq %rcx, 0x24088(%rax)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x2280
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x30(%rsp)
leaq 0x2e0e(%rip), %rsi      # 0x112aa
callq 0xf800
jmp 0xe4a3
movq 0x48(%rsp), %rax
movq 0x30(%rsp), %rcx
movq %rcx, 0x24090(%rax)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x2280
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x28(%rsp)
leaq 0x2de2(%rip), %rsi      # 0x112b2
callq 0xf800
jmp 0xe4d7
movq 0x48(%rsp), %rax
movq 0x28(%rsp), %rcx
movq %rcx, 0x24098(%rax)
movq 0x24080(%rax), %rdi
callq 0xfb60
movq %rax, %rcx
movq 0x48(%rsp), %rax
movq %rcx, (%rax)
movq 0x24088(%rax), %rdi
callq 0xfb60
movq %rax, %rcx
movq 0x48(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x24090(%rax), %rdi
callq 0xfb60
movq %rax, %rcx
movq 0x48(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x24098(%rax), %rdi
callq 0xfb60
movq %rax, %rcx
movq 0x48(%rsp), %rax
movq %rcx, 0x18(%rax)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x2280
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x20(%rsp)
leaq 0x2d69(%rip), %rsi      # 0x112cc
callq 0xf800
jmp 0xe56a
movq 0x48(%rsp), %rax
movq 0x20(%rsp), %rcx
movq %rcx, 0x240b0(%rax)
movq 0x240b0(%rax), %rdi
callq 0xfb60
movq %rax, %rcx
movq 0x48(%rsp), %rax
movq %rcx, 0x20(%rax)
cmpq $0x0, 0x20(%rax)
je 0xe6f6
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x2280
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x18(%rsp)
leaq 0x2d00(%rip), %rsi      # 0x112ba
callq 0xf800
jmp 0xe5c1
movq 0x48(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rcx, 0x240a0(%rax)
movl $0x2db0, %edi           # imm = 0x2DB0
callq 0x2280
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x10(%rsp)
leaq 0x2cd5(%rip), %rsi      # 0x112c3
callq 0xf800
jmp 0xe5f5
movq 0x48(%rsp), %rax
movq 0x10(%rsp), %rcx
movq %rcx, 0x240a8(%rax)
jmp 0xe764
movq 0x40(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
movl $0x2db0, %esi           # imm = 0x2DB0
callq 0x2290
jmp 0xe769
movq 0x38(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
movl $0x2db0, %esi           # imm = 0x2DB0
callq 0x2290
jmp 0xe769
movq 0x30(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
movl $0x2db0, %esi           # imm = 0x2DB0
callq 0x2290
jmp 0xe769
movq 0x28(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
movl $0x2db0, %esi           # imm = 0x2DB0
callq 0x2290
jmp 0xe769
movq 0x20(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
movl $0x2db0, %esi           # imm = 0x2DB0
callq 0x2290
jmp 0xe769
movq 0x18(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
movl $0x2db0, %esi           # imm = 0x2DB0
callq 0x2290
jmp 0xe769
movq 0x10(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
movl $0x2db0, %esi           # imm = 0x2DB0
callq 0x2290
jmp 0xe769
jmp 0xe6f8
movq 0x48(%rsp), %rax
cmpq $0x0, 0x240b0(%rax)
je 0xe739
movq 0x48(%rsp), %rax
movq 0x240b0(%rax), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, %rax
je 0xe737
movq 0x8(%rsp), %rdi
callq 0xf840
movq 0x8(%rsp), %rdi
movl $0x2db0, %esi           # imm = 0x2DB0
callq 0x2290
jmp 0xe739
movq 0x48(%rsp), %rax
movq $0x0, 0x240b0(%rax)
movq 0x48(%rsp), %rax
movq $0x0, 0x240a8(%rax)
movq $0x0, 0x240a0(%rax)
addq $0x68, %rsp
retq
movq 0x58(%rsp), %rdi
callq 0x23f0
nopw %cs:(%rax,%rax)