// File: /workspace/github_c_makefile_star2_O0/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 %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x88, %edi
callq 0x40c50
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x88(%rax), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x5c(%rax)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xc(%rax)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x14(%rax)
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x18(%rax)
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x55e00
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x1c(%rax)
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x20(%rax)
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rdi
callq 0x55e00
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x24(%rax)
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rsi
callq 0x6680
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rdi
callq 0x2a450
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x30(%rax)
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x38(%rax)
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x3c(%rax)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x40(%rax)
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rdi
callq 0x2a450
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x48(%rax)
movq -0x8(%rbp), %rax
movq 0x70(%rax), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x50(%rax)
movq -0x8(%rbp), %rax
movq 0x78(%rax), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x54(%rax)
movq -0x8(%rbp), %rax
movq 0x80(%rax), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x58(%rax)
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rdi
movq -0x10(%rbp), %rsi
addq $0x60, %rsi
leaq -0x14(%rbp), %rdx
callq 0x577f0
movl -0x14(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x5c(%rcx), %eax
je 0x4d5d9
movl -0x14(%rbp), %esi
movq -0x10(%rbp), %rax
movl 0x5c(%rax), %edx
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rcx
leaq 0x905d6(%rip), %rdi     # 0xddba8
movb $0x0, %al
callq 0x6070
movl -0x14(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x5c(%rcx), %eax
jne 0x4d5e7
jmp 0x4d606
leaq 0x905e0(%rip), %rdi     # 0xddbce
leaq 0x905f4(%rip), %rsi     # 0xddbe9
movl $0x41, %edx
leaq 0x905f2(%rip), %rcx     # 0xddbf3
callq 0x6450
movq -0x8(%rbp), %rax
movq 0x98(%rax), %rdi
movq -0x10(%rbp), %rsi
addq $0x68, %rsi
leaq -0x14(%rbp), %rdx
callq 0x577f0
movl -0x14(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x5c(%rcx), %eax
je 0x4d646
movl -0x14(%rbp), %esi
movq -0x10(%rbp), %rax
movl 0x5c(%rax), %edx
leaq 0x905d1(%rip), %rdi     # 0xddc10
movb $0x0, %al
callq 0x6070
movl -0x14(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x5c(%rcx), %eax
jne 0x4d654
jmp 0x4d673
leaq 0x90573(%rip), %rdi     # 0xddbce
leaq 0x90587(%rip), %rsi     # 0xddbe9
movl $0x47, %edx
leaq 0x90585(%rip), %rcx     # 0xddbf3
callq 0x6450
movq -0x8(%rbp), %rax
movq 0xa0(%rax), %rdi
movq -0x10(%rbp), %rsi
addq $0x70, %rsi
leaq -0x14(%rbp), %rdx
callq 0x577f0
movl -0x14(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x5c(%rcx), %eax
je 0x4d6b3
movl -0x14(%rbp), %esi
movq -0x10(%rbp), %rax
movl 0x5c(%rax), %edx
leaq 0x9057e(%rip), %rdi     # 0xddc2a
movb $0x0, %al
callq 0x6070
movl -0x14(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x5c(%rcx), %eax
jne 0x4d6c1
jmp 0x4d6e0
leaq 0x90506(%rip), %rdi     # 0xddbce
leaq 0x9051a(%rip), %rsi     # 0xddbe9
movl $0x4d, %edx
leaq 0x90518(%rip), %rcx     # 0xddbf3
callq 0x6450
movq -0x10(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)