// File: /workspace/github_c_makefile_star2_O2/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 0x28bb0
movq %rax, %rbx
movq 0x88(%r14), %rdi
callq 0x35d13
movl %eax, 0x5c(%rbx)
movq (%r14), %rdi
callq 0x35d13
movl %eax, 0x8(%rbx)
movq 0x8(%r14), %rdi
callq 0x35d13
movl %eax, 0xc(%rbx)
movq 0x10(%r14), %rdi
callq 0x35d13
movl %eax, 0x10(%rbx)
movq 0x18(%r14), %rdi
callq 0x35d13
movl %eax, 0x14(%rbx)
movq 0x20(%r14), %rdi
callq 0x35d13
movl %eax, 0x18(%rbx)
movq 0x28(%r14), %rdi
callq 0x35e52
movl %eax, 0x1c(%rbx)
movq 0x30(%r14), %rdi
callq 0x35d13
movl %eax, 0x20(%rbx)
movq 0x38(%r14), %rdi
callq 0x35e52
movl %eax, 0x24(%rbx)
leaq 0x28(%rbx), %rdi
movq 0x40(%r14), %rsi
callq 0x6680
movq 0x48(%r14), %rdi
callq 0x1c306
movq %rax, 0x30(%rbx)
movq 0x50(%r14), %rdi
callq 0x35d13
movl %eax, 0x38(%rbx)
movq 0x58(%r14), %rdi
callq 0x35d13
movl %eax, 0x3c(%rbx)
movq 0x60(%r14), %rdi
callq 0x35d13
movl %eax, 0x40(%rbx)
movq 0x68(%r14), %rdi
callq 0x1c306
movq %rax, 0x48(%rbx)
movq 0x70(%r14), %rdi
callq 0x35d13
movl %eax, 0x50(%rbx)
movq 0x78(%r14), %rdi
callq 0x35d13
movl %eax, 0x54(%rbx)
movq 0x80(%r14), %rdi
callq 0x35d13
movl %eax, 0x58(%rbx)
movq 0x90(%r14), %rdi
leaq 0x60(%rbx), %rsi
leaq 0xc(%rsp), %r15
movq %r15, %rdx
callq 0x37022
movl (%r15), %esi
movl 0x5c(%rbx), %edx
cmpl %edx, %esi
je 0x30ce4
movq 0x90(%r14), %rcx
leaq 0x52020(%rip), %rdi     # 0x82cf0
xorl %eax, %eax
callq 0x6070
movl 0xc(%rsp), %eax
cmpl 0x5c(%rbx), %eax
jne 0x30d66
movq 0x98(%r14), %rdi
leaq 0x68(%rbx), %rsi
leaq 0xc(%rsp), %r15
movq %r15, %rdx
callq 0x37022
movl (%r15), %esi
movl 0x5c(%rbx), %edx
cmpl %edx, %esi
je 0x30d1d
leaq 0x5204b(%rip), %rdi     # 0x82d58
xorl %eax, %eax
callq 0x6070
movl 0xc(%rsp), %eax
cmpl 0x5c(%rbx), %eax
jne 0x30d7f
movq 0xa0(%r14), %rdi
movq %rbx, %rsi
addq $0x70, %rsi
leaq 0xc(%rsp), %r14
movq %r14, %rdx
callq 0x37022
movl (%r14), %esi
movl 0x5c(%rbx), %edx
cmpl %edx, %esi
je 0x30d59
leaq 0x52029(%rip), %rdi     # 0x82d72
xorl %eax, %eax
callq 0x6070
movl 0xc(%rsp), %eax
cmpl 0x5c(%rbx), %eax
jne 0x30d98
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
leaq 0x51fa9(%rip), %rdi     # 0x82d16
leaq 0x51fbd(%rip), %rsi     # 0x82d31
leaq 0x51fc0(%rip), %rcx     # 0x82d3b
pushq $0x41
jmp 0x30daf
leaq 0x51f90(%rip), %rdi     # 0x82d16
leaq 0x51fa4(%rip), %rsi     # 0x82d31
leaq 0x51fa7(%rip), %rcx     # 0x82d3b
pushq $0x47
jmp 0x30daf
leaq 0x51f77(%rip), %rdi     # 0x82d16
leaq 0x51f8b(%rip), %rsi     # 0x82d31
leaq 0x51f8e(%rip), %rcx     # 0x82d3b
pushq $0x4d
popq %rdx
callq 0x6460