// File: mshabbirhasan[P]ups-indel/include/seqan/bam_io/read_sam.h
// Function: int seqan::readRecord<std::istream, void, seqan::StringSet<seqan::String<char, seqan::Alloc<void>>, seqan::Owner<seqan::Tag<seqan::Default_>>>, seqan::NameStoreCache<seqan::StringSet<seqan::String<char, seqan::Alloc<void>>, seqan::Owner<seqan::Tag<seqan::Default_>>>, seqan::String<char, seqan::Alloc<void>>>>(seqan::BamAlignmentRecord&, seqan::BamIOContext<seqan::StringSet<seqan::String<char, seqan::Alloc<void>>, seqan::Owner<seqan::Tag<seqan::Default_>>>, seqan::NameStoreCache<seqan::StringSet<seqan::String<char, seqan::Alloc<void>>, seqan::Owner<seqan::Tag<seqan::Default_>>>, seqan::String<char, seqan::Alloc<void>>>>&, seqan::RecordReader<std::istream, seqan::SinglePass<void>>&, seqan::Tag<seqan::Sam_> const&)
int readRecord(BamAlignmentRecord & record,
               BamIOContext<TNameStore, TNameStoreCache> & context,
               RecordReader<TStream, SinglePass<TSpec> > & reader,
               Sam const & /*tag*/)
{
    clear(record);
    CharString &buffer = context.buffer;

#define SEQAN_SKIP_TAB                              \
    do                                              \
    {                                               \
        res = skipChar(reader, '\t');               \
        if (res != 0)                               \
            return res;                             \
    }                                               \
    while (false)

    int res = 0;

    // QNAME
    res = readUntilTabOrLineBreak(record.qName, reader);
    if (res != 0)
        return res;
    SEQAN_SKIP_TAB;

    // FLAG
    // TODO(holtgrew): Interpret hex and char as c-samtools -X does?
    clear(buffer);
    res = readDigits(buffer, reader);
    if (res != 0)
        return res;
    record.flag = lexicalCast<__uint16>(buffer);
    SEQAN_SKIP_TAB;

    // RNAME
    clear(buffer);
    res = readUntilTabOrLineBreak(buffer, reader);
    if (res != 0)
        return res;
    if (buffer == "*")
    {
        record.rID = BamAlignmentRecord::INVALID_REFID;
    }
    else if (!getIdByName(nameStore(context), buffer, record.rID, nameStoreCache(context)))
    {
        record.rID = length(nameStore(context));
        appendName(nameStore(context), buffer, nameStoreCache(context));
    }
    SEQAN_SKIP_TAB;

    // POS
    clear(buffer);
    res = readUntilChar(buffer, reader, '\t');
    if (res != 0)
        return res;
    if (buffer == "*")
        record.beginPos = BamAlignmentRecord::INVALID_POS;
    else
        record.beginPos = lexicalCast<__uint32>(buffer) - 1;
    SEQAN_SKIP_TAB;

    // MAPQ
    clear(buffer);
    if (value(reader) == '*')
    {
        record.mapQ = 255;
        goNext(reader);
    }
    else
    {
        res = readDigits(buffer, reader);
        if (res != 0)
            return res;
        record.mapQ = lexicalCast<__uint16>(buffer);
    }
    SEQAN_SKIP_TAB;

    // CIGAR
    CigarElement<> element;
    if (atEnd(reader))
        return EOF_BEFORE_SUCCESS;
    if (value(reader) == '*')
    {
        goNext(reader);
    }
    else
    {
        do
        {
            clear(buffer);
            res = readDigits(buffer, reader);
            if (res != 0)
                return res;
            element.count = lexicalCast<__uint32>(buffer);
            element.operation = value(reader);
            if (goNext(reader))
                return EOF_BEFORE_SUCCESS;
            appendValue(record.cigar, element);
        } while (value(reader) != '\t');
    }
    SEQAN_SKIP_TAB;

    // RNEXT
    clear(buffer);
    res = readUntilChar(buffer, reader, '\t');
    if (res != 0)
        return res;
    if (buffer == "*")
    {
        record.rNextId = BamAlignmentRecord::INVALID_REFID;
    }
    else if (buffer == "=")
    {
        record.rNextId = record.rID;
    }
    else if (!getIdByName(nameStore(context), buffer, record.rNextId, nameStoreCache(context)))
    {
        record.rNextId = length(nameStore(context));
        appendName(nameStore(context), buffer, nameStoreCache(context));
    }
    SEQAN_SKIP_TAB;

    // PNEXT
    if (atEnd(reader))
        return EOF_BEFORE_SUCCESS;
    if (value(reader) == '*')
    {
        record.pNext = BamAlignmentRecord::INVALID_POS;
        goNext(reader);
    }
    else
    {
        clear(buffer);
        res = readDigits(buffer, reader);
        if (res != 0)
            return res;
        record.pNext = lexicalCast<__uint32>(buffer) - 1;
    }
    SEQAN_SKIP_TAB;

    // TLEN
    if (atEnd(reader))
        return EOF_BEFORE_SUCCESS;
    if (value(reader) == '*')
    {
        record.tLen = MaxValue<__int32>::VALUE;
        goNext(reader);
    }
    else
    {
        clear(buffer);
        if (value(reader) == '-')
        {
            appendValue(buffer, value(reader));
            if (goNext(reader))
                return SAM_INVALID_RECORD;
        }
        res = readDigits(buffer, reader);
        if (res != 0)
            return res;
        record.tLen = lexicalCast<__int32>(buffer);
    }
    SEQAN_SKIP_TAB;

    // SEQ
    res = readUntilTabOrLineBreak(record.seq, reader);
    if (res != 0)
        return res;
    // Handle case of missing sequence:  Clear seq string as documented.
    if (record.seq == "*")
        clear(record.seq);
    SEQAN_SKIP_TAB;

    // QUAL
    res = readUntilTabOrLineBreak(record.qual, reader);
    if (res == EOF_BEFORE_SUCCESS)  // The record ends on EOF.
        return 0;
    if (res != 0)
        return res;
    // Handle case of missing quality:  Clear qual string as documented.
    if (record.qual == "*")
        clear(record.qual);

    // The following list of tags is optional.  A line break or EOF could also follow.
    if (atEnd(reader))
        return 0;
    if (value(reader) != '\t')
    {
        res = skipLine(reader);
        return res;
    }
    SEQAN_SKIP_TAB;

    // TAGS
    clear(buffer);
    res = readLine(buffer, reader);
    if (res != 0 && res != EOF_BEFORE_SUCCESS)
        return res;
    assignTagsSamToBam(record.tags, buffer);

    return 0;

#undef SEQAN_SKIP_TAB
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1da10
movq -0x18(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x30(%rbp)
movl $0x0, -0x34(%rbp)
movq -0x10(%rbp), %rdi
addq $0x8, %rdi
movq -0x20(%rbp), %rsi
callq 0x1dac0
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d20c
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
jmp 0x1d20e
movq -0x20(%rbp), %rdi
movl $0x9, %esi
callq 0x1a700
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d230
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
jmp 0x1d232
movq -0x30(%rbp), %rdi
callq 0x13670
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x1daf0
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d25c
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
movq -0x30(%rbp), %rdi
callq 0x1db20
movw %ax, %cx
movq -0x10(%rbp), %rax
movw %cx, 0x20(%rax)
movq -0x20(%rbp), %rdi
movl $0x9, %esi
callq 0x1a700
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d292
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
jmp 0x1d294
movq -0x30(%rbp), %rdi
callq 0x13670
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x1dac0
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d2be
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
movq -0x30(%rbp), %rdi
leaq 0xb7ad(%rip), %rsi      # 0x28a76
callq 0x9e70
testb $0x1, %al
jne 0x1d2d4
jmp 0x1d2e4
movq -0x10(%rbp), %rax
movl $0xffffffff, 0x24(%rax) # imm = 0xFFFFFFFF
jmp 0x1d370
movq -0x18(%rbp), %rdi
callq 0x19f30
movq %rax, -0x60(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x10(%rbp), %rax
addq $0x24, %rax
movq %rax, -0x50(%rbp)
movq -0x18(%rbp), %rdi
callq 0x19f90
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rdx
movq %rax, %rcx
callq 0x1db70
testb $0x1, %al
jne 0x1d36e
movq -0x18(%rbp), %rdi
callq 0x19f30
movq %rax, %rdi
callq 0xcc10
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x24(%rax)
movq -0x18(%rbp), %rdi
callq 0x19f30
movq %rax, -0x70(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x18(%rbp), %rdi
callq 0x19f90
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rsi
movq %rax, %rdx
callq 0x19ff0
jmp 0x1d370
jmp 0x1d372
movq -0x20(%rbp), %rdi
movl $0x9, %esi
callq 0x1a700
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d394
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
jmp 0x1d396
movq -0x30(%rbp), %rdi
callq 0x13670
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
movb $0x9, -0x35(%rbp)
leaq -0x35(%rbp), %rdx
callq 0x1a910
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d3c8
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
movq -0x30(%rbp), %rdi
leaq 0xb6a3(%rip), %rsi      # 0x28a76
callq 0x9e70
testb $0x1, %al
jne 0x1d3de
jmp 0x1d3eb
movq -0x10(%rbp), %rax
movl $0xffffffff, 0x28(%rax) # imm = 0xFFFFFFFF
jmp 0x1d400
movq -0x30(%rbp), %rdi
callq 0x1dc20
movl %eax, %ecx
subl $0x1, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x28(%rax)
jmp 0x1d402
movq -0x20(%rbp), %rdi
movl $0x9, %esi
callq 0x1a700
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d424
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
jmp 0x1d426
movq -0x30(%rbp), %rdi
callq 0x13670
movq -0x20(%rbp), %rdi
callq 0x1a3f0
movsbl %al, %eax
cmpl $0x2a, %eax
jne 0x1d453
movq -0x10(%rbp), %rax
movb $-0x1, 0x2c(%rax)
movq -0x20(%rbp), %rdi
callq 0x1a660
jmp 0x1d486
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x1daf0
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d474
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
movq -0x30(%rbp), %rdi
callq 0x1db20
movb %al, %cl
movq -0x10(%rbp), %rax
movb %cl, 0x2c(%rax)
jmp 0x1d488
movq -0x20(%rbp), %rdi
movl $0x9, %esi
callq 0x1a700
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d4aa
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
jmp 0x1d4ac
leaq -0x40(%rbp), %rdi
callq 0x1dc70
movq -0x20(%rbp), %rdi
callq 0x18f10
testb $0x1, %al
jne 0x1d4c4
jmp 0x1d4d0
movl $0x400, -0x4(%rbp)      # imm = 0x400
jmp 0x1da03
movq -0x20(%rbp), %rdi
callq 0x1a3f0
movsbl %al, %eax
cmpl $0x2a, %eax
jne 0x1d4ef
movq -0x20(%rbp), %rdi
callq 0x1a660
jmp 0x1d572
jmp 0x1d4f1
movq -0x30(%rbp), %rdi
callq 0x13670
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x1daf0
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d51b
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
movq -0x30(%rbp), %rdi
callq 0x1dc20
movl %eax, -0x3c(%rbp)
movq -0x20(%rbp), %rdi
callq 0x1a3f0
movb %al, -0x40(%rbp)
movq -0x20(%rbp), %rdi
callq 0x1a660
testb $0x1, %al
jne 0x1d542
jmp 0x1d54e
movl $0x400, -0x4(%rbp)      # imm = 0x400
jmp 0x1da03
movq -0x10(%rbp), %rdi
addq $0x30, %rdi
leaq -0x40(%rbp), %rsi
callq 0x1dc90
movq -0x20(%rbp), %rdi
callq 0x1a3f0
movsbl %al, %eax
cmpl $0x9, %eax
jne 0x1d4f1
jmp 0x1d572
jmp 0x1d574
movq -0x20(%rbp), %rdi
movl $0x9, %esi
callq 0x1a700
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d596
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
jmp 0x1d598
movq -0x30(%rbp), %rdi
callq 0x13670
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
movb $0x9, -0x41(%rbp)
leaq -0x41(%rbp), %rdx
callq 0x1a910
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d5ca
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
movq -0x30(%rbp), %rdi
leaq 0xb4a1(%rip), %rsi      # 0x28a76
callq 0x9e70
testb $0x1, %al
jne 0x1d5e0
jmp 0x1d5f0
movq -0x10(%rbp), %rax
movl $0xffffffff, 0x48(%rax) # imm = 0xFFFFFFFF
jmp 0x1d6b9
movq -0x30(%rbp), %rdi
leaq 0xb47d(%rip), %rsi      # 0x28a78
callq 0x9e70
testb $0x1, %al
jne 0x1d606
jmp 0x1d619
movq -0x10(%rbp), %rax
movl 0x24(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x48(%rax)
jmp 0x1d6b7
movq -0x18(%rbp), %rdi
callq 0x19f30
movq %rax, -0x88(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x10(%rbp), %rax
addq $0x48, %rax
movq %rax, -0x78(%rbp)
movq -0x18(%rbp), %rdi
callq 0x19f90
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq %rax, %rcx
callq 0x1db70
testb $0x1, %al
jne 0x1d6b5
movq -0x18(%rbp), %rdi
callq 0x19f30
movq %rax, %rdi
callq 0xcc10
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x48(%rax)
movq -0x18(%rbp), %rdi
callq 0x19f30
movq %rax, -0x98(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x18(%rbp), %rdi
callq 0x19f90
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
movq %rax, %rdx
callq 0x19ff0
jmp 0x1d6b7
jmp 0x1d6b9
jmp 0x1d6bb
movq -0x20(%rbp), %rdi
movl $0x9, %esi
callq 0x1a700
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d6dd
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
jmp 0x1d6df
movq -0x20(%rbp), %rdi
callq 0x18f10
testb $0x1, %al
jne 0x1d6ee
jmp 0x1d6fa
movl $0x400, -0x4(%rbp)      # imm = 0x400
jmp 0x1da03
movq -0x20(%rbp), %rdi
callq 0x1a3f0
movsbl %al, %eax
cmpl $0x2a, %eax
jne 0x1d721
movq -0x10(%rbp), %rax
movl $0xffffffff, 0x4c(%rax) # imm = 0xFFFFFFFF
movq -0x20(%rbp), %rdi
callq 0x1a660
jmp 0x1d760
movq -0x30(%rbp), %rdi
callq 0x13670
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x1daf0
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d74b
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
movq -0x30(%rbp), %rdi
callq 0x1dc20
movl %eax, %ecx
subl $0x1, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x4c(%rax)
jmp 0x1d762
movq -0x20(%rbp), %rdi
movl $0x9, %esi
callq 0x1a700
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d784
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
jmp 0x1d786
movq -0x20(%rbp), %rdi
callq 0x18f10
testb $0x1, %al
jne 0x1d795
jmp 0x1d7a1
movl $0x400, -0x4(%rbp)      # imm = 0x400
jmp 0x1da03
movq -0x20(%rbp), %rdi
callq 0x1a3f0
movsbl %al, %eax
cmpl $0x2a, %eax
jne 0x1d7cb
movq -0x10(%rbp), %rax
movl $0x7fffffff, 0x50(%rax) # imm = 0x7FFFFFFF
movq -0x20(%rbp), %rdi
callq 0x1a660
jmp 0x1d85c
movq -0x30(%rbp), %rdi
callq 0x13670
movq -0x20(%rbp), %rdi
callq 0x1a3f0
movsbl %al, %eax
cmpl $0x2d, %eax
jne 0x1d829
movq -0x30(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x20(%rbp), %rdi
callq 0x1a3f0
movq -0xa0(%rbp), %rdi
movb %al, -0x42(%rbp)
leaq -0x42(%rbp), %rsi
callq 0x176a0
movq -0x20(%rbp), %rdi
callq 0x1a660
testb $0x1, %al
jne 0x1d81b
jmp 0x1d827
movl $0x800, -0x4(%rbp)      # imm = 0x800
jmp 0x1da03
jmp 0x1d829
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x1daf0
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d84a
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
movq -0x30(%rbp), %rdi
callq 0x1dcc0
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x50(%rax)
jmp 0x1d85e
movq -0x20(%rbp), %rdi
movl $0x9, %esi
callq 0x1a700
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d880
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
jmp 0x1d882
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
movq -0x20(%rbp), %rsi
callq 0x1dac0
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d8a7
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
leaq 0xb1c0(%rip), %rsi      # 0x28a76
callq 0x9e70
testb $0x1, %al
jne 0x1d8c1
jmp 0x1d8ce
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x13670
jmp 0x1d8d0
movq -0x20(%rbp), %rdi
movl $0x9, %esi
callq 0x1a700
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d8f2
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
jmp 0x1d8f4
movq -0x10(%rbp), %rdi
addq $0x70, %rdi
movq -0x20(%rbp), %rsi
callq 0x1dac0
movl %eax, -0x34(%rbp)
cmpl $0x400, -0x34(%rbp)     # imm = 0x400
jne 0x1d91d
movl $0x0, -0x4(%rbp)
jmp 0x1da03
cmpl $0x0, -0x34(%rbp)
je 0x1d92e
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
movq -0x10(%rbp), %rdi
addq $0x70, %rdi
leaq 0xb139(%rip), %rsi      # 0x28a76
callq 0x9e70
testb $0x1, %al
jne 0x1d948
jmp 0x1d955
movq -0x10(%rbp), %rdi
addq $0x70, %rdi
callq 0x13670
movq -0x20(%rbp), %rdi
callq 0x18f10
testb $0x1, %al
jne 0x1d964
jmp 0x1d970
movl $0x0, -0x4(%rbp)
jmp 0x1da03
movq -0x20(%rbp), %rdi
callq 0x1a3f0
movsbl %al, %eax
cmpl $0x9, %eax
je 0x1d995
movq -0x20(%rbp), %rdi
callq 0x1aa50
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
jmp 0x1d997
movq -0x20(%rbp), %rdi
movl $0x9, %esi
callq 0x1a700
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d9b6
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
jmp 0x1d9b8
movq -0x30(%rbp), %rdi
callq 0x13670
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x1a760
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
je 0x1d9e8
cmpl $0x400, -0x34(%rbp)     # imm = 0x400
je 0x1d9e8
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1da03
movq -0x10(%rbp), %rdi
addq $0x88, %rdi
movq -0x30(%rbp), %rsi
callq 0x1dd10
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0xa0, %rsp
popq %rbp
retq
nop