// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/match/querymatch.c
// Function: gt_querymatch_init
void gt_querymatch_init(GtQuerymatch *querymatch,
                        GtUword dblen,
                        GtUword dbseqnum,
                        GtUword dbstart_relative,
                        GtUword db_seqstart,
                        GtUword db_seqlen,
                        GtWord score,
                        GtUword distance,
                        GtUword mismatches,
                        bool selfmatch,
                        GtUword queryseqnum,
                        GtUword querylen,
                        GtUword querystart,
                        GtUword query_seqstart,
                        GtUword query_seqlen,
                        const char *db_desc,
                        const char *query_desc)
{
  gt_assert(querymatch != NULL);
  querymatch->dblen = dblen;
  querymatch->score = score;
  querymatch->distance = distance;
  querymatch->queryseqnum = queryseqnum;
  querymatch->querylen = querylen;
  querymatch->querystart = querystart;
  querymatch->dbseqnum = dbseqnum;
  querymatch->mismatches = mismatches;
  querymatch->dbstart_relative = dbstart_relative;
  gt_assert((int) querymatch->query_readmode < 4);
  querymatch->selfmatch = selfmatch;
  querymatch->query_seqlen = query_seqlen;
  querymatch->querystart_fwdstrand
    = gt_querymatch_position_convert(querymatch->query_readmode,
                                     querymatch->querylen,
                                     querymatch->query_seqlen,
                                     querymatch->querystart);
  querymatch->query_seqstart = query_seqstart;
  querymatch->db_seqstart = db_seqstart;
  querymatch->db_seqlen = db_seqlen;
  querymatch->db_desc = db_desc;
  querymatch->query_desc = query_desc;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x16a1eb
movq %r9, %rbx
movq %r8, %r14
movq %rcx, %rax
movq %rsi, %r8
movq %rdi, %r15
movq 0x70(%rsp), %rcx
movq 0x68(%rsp), %rsi
movq 0x60(%rsp), %rdi
movq 0x50(%rsp), %r9
movq 0x48(%rsp), %r10
movq 0x40(%rsp), %r11
movq %r8, 0x10(%r15)
movq %r11, 0x80(%r15)
movq %r10, 0x70(%r15)
movq %rdi, 0x28(%r15)
movq %rsi, 0x40(%r15)
movq %rcx, 0x30(%r15)
movq %rdx, (%r15)
movq %r9, 0x78(%r15)
movq %rax, 0x8(%r15)
movl 0x88(%r15), %edi
cmpl $0x4, %edi
jge 0x16a219
movq 0x90(%rsp), %r12
movq 0x88(%rsp), %r13
movq 0x80(%rsp), %rdx
movq 0x78(%rsp), %rbp
movb 0x58(%rsp), %al
movb %al, 0x8c(%r15)
movq %rdx, 0x48(%r15)
callq 0x16a251
movq %rax, 0x38(%r15)
movq %rbp, 0x50(%r15)
movq %r14, 0x20(%r15)
movq %rbx, 0x18(%r15)
movq %r13, 0xa0(%r15)
movq %r12, 0xa8(%r15)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x2cdd76(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x17ae17(%rip), %rsi    # 0x2e5013
leaq 0x1eb258(%rip), %rdx    # 0x35545b
leaq 0x1e1964(%rip), %rcx    # 0x34bb6e
leaq 0x1e1887(%rip), %r8     # 0x34ba98
movl $0x138, %r9d            # imm = 0x138
jmp 0x16a245
movq 0x2cdd48(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x17ade9(%rip), %rsi    # 0x2e5013
leaq 0x1e1950(%rip), %rdx    # 0x34bb81
leaq 0x1e1936(%rip), %rcx    # 0x34bb6e
leaq 0x1e1859(%rip), %r8     # 0x34ba98
movl $0x142, %r9d            # imm = 0x142
xorl %eax, %eax
callq 0x17a50
callq 0x17390