// File: /workspace/github_c_makefile_star2_O0/icebert[P]pblat/jkOwnLib/gfBlatLib.c
// Function: gfQuerySeqTrans
static void gfQuerySeqTrans(int conn, aaSeq *seq, struct gfClump *clumps[2][3], 
    struct lm *lm, struct gfSeqSource **retSsList, int *retTileSize)
/* Query server for clumps where aa sequence hits translated index. */
{
int frame, isRc, rowSize;
struct gfClump *clump;
int tileSize = 0;
char *line;
char buf[256], *row[12];
struct gfSeqSource *ssList = NULL, *ss;

for (isRc = 0; isRc <= 1; ++isRc)
    for (frame = 0; frame<3; ++frame)
	clumps[isRc][frame] = NULL;

/* Send sequence to server. */
startSeqQuery(conn, seq, "protQuery");
line = netRecieveString(conn, buf);
if (!startsWith("Error:", line))
    {
    tileSize = findTileSize(line);

    /* Read results line by line and save in memory. */
    for (;;)
	{
	/* Read and parse first line that describes clump overall. */
	netRecieveString(conn, buf);
	if (sameString(buf, "end"))
	    {
	    break;
	    }
	else if (startsWith("Error:", buf))
	    {
	    gfServerWarn(seq, buf);
	    break;
	    }
	rowSize = chopLine(buf, row);
	if (rowSize < 8)
	    errAbort("Expecting 8 words from server got %d", rowSize);
	AllocVar(clump);
	clump->qStart = sqlUnsigned(row[0]);
	clump->qEnd = sqlUnsigned(row[1]);
	AllocVar(ss);
	ss->fileName = cloneString(row[2]);
	slAddHead(&ssList, ss);
	clump->target = ss;
	clump->tStart = sqlUnsigned(row[3]);
	clump->tEnd = sqlUnsigned(row[4]);
	clump->hitCount = sqlUnsigned(row[5]);
	isRc = ((row[6][0] == '-') ? 1 : 0);
	frame = sqlUnsigned(row[7]);
	slAddHead(&clumps[isRc][frame], clump);

	/* Read and parse next (long) line that describes hits. */
	clump->hitList = getHitsFromServer(conn, lm);
	assert(slCount(clump->hitList) == clump->hitCount);
	}
    for (isRc = 0; isRc <= 1; ++isRc)
	for (frame = 0; frame<3; ++frame)
	    slReverse(&clumps[isRc][frame]);
    }
else
    {
    gfServerWarn(seq, line);
    }
*retSsList = ssList;
*retTileSize = tileSize;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1d0, %rsp            # imm = 0x1D0
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movl $0x0, -0x4c(%rbp)
movq $0x0, -0x1c8(%rbp)
movl $0x0, -0x38(%rbp)
cmpl $0x1, -0x38(%rbp)
jg 0x13411
movl $0x0, -0x34(%rbp)
cmpl $0x3, -0x34(%rbp)
jge 0x13404
movq -0x18(%rbp), %rax
movslq -0x38(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movslq -0x34(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x133d8
jmp 0x13406
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x133cb
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rsi
leaq 0xc4a24(%rip), %rdx     # 0xd7e43
callq 0x15130
movl -0x4(%rbp), %edi
leaq -0x160(%rbp), %rsi
callq 0x456e0
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rsi
leaq 0xc48f1(%rip), %rdi     # 0xd7d33
callq 0x2d3d0
cmpl $0x0, %eax
jne 0x1369f
movq -0x58(%rbp), %rdi
callq 0x15640
movl %eax, -0x4c(%rbp)
movl -0x4(%rbp), %edi
leaq -0x160(%rbp), %rsi
callq 0x456e0
leaq -0x160(%rbp), %rdi
leaq 0xd14ff(%rip), %rsi     # 0xe4978
callq 0x6a40
cmpl $0x0, %eax
jne 0x13488
jmp 0x1364c
leaq -0x160(%rbp), %rsi
leaq 0xc489d(%rip), %rdi     # 0xd7d33
callq 0x2d3d0
cmpl $0x0, %eax
je 0x134b5
movq -0x10(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0x15230
jmp 0x1364c
jmp 0x134b7
leaq -0x160(%rbp), %rdi
leaq -0x1c0(%rbp), %rsi
movl $0xc, %edx
callq 0x2e900
movl %eax, -0x3c(%rbp)
cmpl $0x8, -0x3c(%rbp)
jge 0x134e9
movl -0x3c(%rbp), %esi
leaq 0xc496b(%rip), %rdi     # 0xd7e4d
movb $0x0, %al
callq 0x35d40
movl $0x38, %edi
callq 0x40c50
movq %rax, -0x48(%rbp)
movq -0x1c0(%rbp), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x48(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x1b8(%rbp), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x48(%rbp), %rax
movl %ecx, 0xc(%rax)
movl $0x28, %edi
callq 0x40c50
movq %rax, -0x1d0(%rbp)
movq -0x1b0(%rbp), %rdi
callq 0x2a450
movq %rax, %rcx
movq -0x1d0(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x1d0(%rbp), %rsi
leaq -0x1c8(%rbp), %rdi
callq 0x119b0
movq -0x1d0(%rbp), %rcx
movq -0x48(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x1a8(%rbp), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x48(%rbp), %rax
movl %ecx, 0x18(%rax)
movq -0x1a0(%rbp), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x48(%rbp), %rax
movl %ecx, 0x1c(%rax)
movq -0x198(%rbp), %rdi
callq 0x55b40
movl %eax, %ecx
movq -0x48(%rbp), %rax
movl %ecx, 0x20(%rax)
movq -0x190(%rbp), %rax
movsbl (%rax), %edx
xorl %eax, %eax
movl $0x1, %ecx
cmpl $0x2d, %edx
cmovel %ecx, %eax
movl %eax, -0x38(%rbp)
movq -0x188(%rbp), %rdi
callq 0x55b40
movl %eax, -0x34(%rbp)
movq -0x18(%rbp), %rdi
movslq -0x38(%rbp), %rax
imulq $0x18, %rax, %rax
addq %rax, %rdi
movslq -0x34(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x48(%rbp), %rsi
callq 0x119b0
movl -0x4(%rbp), %edi
movq -0x20(%rbp), %rsi
callq 0x118e0
movq %rax, %rcx
movq -0x48(%rbp), %rax
movq %rcx, 0x28(%rax)
movq -0x48(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0x2a810
movq -0x48(%rbp), %rcx
cmpl 0x20(%rcx), %eax
jne 0x13628
jmp 0x13647
leaq 0xc4843(%rip), %rdi     # 0xd7e72
leaq 0xc46e2(%rip), %rsi     # 0xd7d18
movl $0x109, %edx            # imm = 0x109
leaq 0xc485b(%rip), %rcx     # 0xd7e9d
callq 0x6450
jmp 0x1345c
movl $0x0, -0x38(%rbp)
cmpl $0x1, -0x38(%rbp)
jg 0x1369d
movl $0x0, -0x34(%rbp)
cmpl $0x3, -0x34(%rbp)
jge 0x13690
movq -0x18(%rbp), %rdi
movslq -0x38(%rbp), %rax
imulq $0x18, %rax, %rax
addq %rax, %rdi
movslq -0x34(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
callq 0x2aad0
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x13660
jmp 0x13692
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x13653
jmp 0x136ac
movq -0x10(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x15230
movq -0x1c8(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movl -0x4c(%rbp), %ecx
movq -0x30(%rbp), %rax
movl %ecx, (%rax)
addq $0x1d0, %rsp            # imm = 0x1D0
popq %rbp
retq
nopl (%rax)