// File: /workspace/github_c_makefile_star2_O3/icebert[P]pblat/lib/psl.c
// Function: pslLoad
struct psl *pslLoad(char **row)
/* Load a psl from row fetched with select * from psl
 * from database.  Dispose of this with pslFree(). */
{
struct psl *ret;
int sizeOne;

AllocVar(ret);
ret->blockCount = sqlUnsigned(row[17]);
ret->match = sqlUnsigned(row[0]);
ret->misMatch = sqlUnsigned(row[1]);
ret->repMatch = sqlUnsigned(row[2]);
ret->nCount = sqlUnsigned(row[3]);
ret->qNumInsert = sqlUnsigned(row[4]);
ret->qBaseInsert = sqlSigned(row[5]);
ret->tNumInsert = sqlUnsigned(row[6]);
ret->tBaseInsert = sqlSigned(row[7]);
strcpy(ret->strand, row[8]);
ret->qName = cloneString(row[9]);
ret->qSize = sqlUnsigned(row[10]);
ret->qStart = sqlUnsigned(row[11]);
ret->qEnd = sqlUnsigned(row[12]);
ret->tName = cloneString(row[13]);
ret->tSize = sqlUnsigned(row[14]);
ret->tStart = sqlUnsigned(row[15]);
ret->tEnd = sqlUnsigned(row[16]);
sqlUnsignedDynamicArray(row[18], &ret->blockSizes, &sizeOne);
if (sizeOne != ret->blockCount)
    {
    printf("sizeOne bloxksizes %d bs %d block=%s\n",sizeOne, ret->blockCount,row[18]);
    }
assert(sizeOne == ret->blockCount);
sqlUnsignedDynamicArray(row[19], &ret->qStarts, &sizeOne);
if (sizeOne != ret->blockCount)
    {
    printf("sizeOne qStarts %d bs %d\n",sizeOne, ret->blockCount);
    }
assert(sizeOne == ret->blockCount);
sqlUnsignedDynamicArray(row[20], &ret->tStarts, &sizeOne);
if (sizeOne != ret->blockCount)
    {
    printf("sizeOne tStarts %d bs %d\n",sizeOne, ret->blockCount);
    }
assert(sizeOne == ret->blockCount);
return ret;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %r14
movl $0x88, %edi
callq 0x2dff4
movq %rax, %rbx
movq 0x88(%r14), %rdi
callq 0x3bc10
movl %eax, 0x5c(%rbx)
movq (%r14), %rdi
callq 0x3bc10
movl %eax, 0x8(%rbx)
movq 0x8(%r14), %rdi
callq 0x3bc10
movl %eax, 0xc(%rbx)
movq 0x10(%r14), %rdi
callq 0x3bc10
movl %eax, 0x10(%rbx)
movq 0x18(%r14), %rdi
callq 0x3bc10
movl %eax, 0x14(%rbx)
movq 0x20(%r14), %rdi
callq 0x3bc10
movl %eax, 0x18(%rbx)
movq 0x28(%r14), %rdi
callq 0x3bd74
movl %eax, 0x1c(%rbx)
movq 0x30(%r14), %rdi
callq 0x3bc10
movl %eax, 0x20(%rbx)
movq 0x38(%r14), %rdi
callq 0x3bd74
movl %eax, 0x24(%rbx)
leaq 0x28(%rbx), %rdi
movq 0x40(%r14), %rsi
callq 0x6680
movq 0x48(%r14), %rdi
callq 0x1feba
movq %rax, 0x30(%rbx)
movq 0x50(%r14), %rdi
callq 0x3bc10
movl %eax, 0x38(%rbx)
movq 0x58(%r14), %rdi
callq 0x3bc10
movl %eax, 0x3c(%rbx)
movq 0x60(%r14), %rdi
callq 0x3bc10
movl %eax, 0x40(%rbx)
movq 0x68(%r14), %rdi
callq 0x1feba
movq %rax, 0x48(%rbx)
movq 0x70(%r14), %rdi
callq 0x3bc10
movl %eax, 0x50(%rbx)
movq 0x78(%r14), %rdi
callq 0x3bc10
movl %eax, 0x54(%rbx)
movq 0x80(%r14), %rdi
callq 0x3bc10
movl %eax, 0x58(%rbx)
movq 0x90(%r14), %rdi
leaq 0x60(%rbx), %rsi
leaq 0xc(%rsp), %r15
movq %r15, %rdx
callq 0x3cfb1
movl (%r15), %esi
movl 0x5c(%rbx), %edx
cmpl %edx, %esi
je 0x36764
movq 0x90(%r14), %rcx
leaq 0x5d6a0(%rip), %rdi     # 0x93df0
xorl %eax, %eax
callq 0x6070
movl 0xc(%rsp), %eax
cmpl 0x5c(%rbx), %eax
jne 0x367e6
movq 0x98(%r14), %rdi
leaq 0x68(%rbx), %rsi
leaq 0xc(%rsp), %r15
movq %r15, %rdx
callq 0x3cfb1
movl (%r15), %esi
movl 0x5c(%rbx), %edx
cmpl %edx, %esi
je 0x3679d
leaq 0x5d6cb(%rip), %rdi     # 0x93e58
xorl %eax, %eax
callq 0x6070
movl 0xc(%rsp), %eax
cmpl 0x5c(%rbx), %eax
jne 0x36805
movq 0xa0(%r14), %rdi
movq %rbx, %rsi
addq $0x70, %rsi
leaq 0xc(%rsp), %r14
movq %r14, %rdx
callq 0x3cfb1
movl (%r14), %esi
movl 0x5c(%rbx), %edx
cmpl %edx, %esi
je 0x367d9
leaq 0x5d6a9(%rip), %rdi     # 0x93e72
xorl %eax, %eax
callq 0x6070
movl 0xc(%rsp), %eax
cmpl 0x5c(%rbx), %eax
jne 0x36824
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
leaq 0x5d629(%rip), %rdi     # 0x93e16
leaq 0x5d63d(%rip), %rsi     # 0x93e31
leaq 0x5d640(%rip), %rcx     # 0x93e3b
movl $0x41, %edx
callq 0x6460
leaq 0x5d60a(%rip), %rdi     # 0x93e16
leaq 0x5d61e(%rip), %rsi     # 0x93e31
leaq 0x5d621(%rip), %rcx     # 0x93e3b
movl $0x47, %edx
callq 0x6460
leaq 0x5d5eb(%rip), %rdi     # 0x93e16
leaq 0x5d5ff(%rip), %rsi     # 0x93e31
leaq 0x5d602(%rip), %rcx     # 0x93e3b
movl $0x4d, %edx
callq 0x6460