LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: walkWindowList
static int walkWindowList(Walker *pWalker, Window *pList){
  Window *pWin;
  for(pWin=pList; pWin; pWin=pWin->pNextWin){
    int rc;
    rc = sqlite3WalkExprList(pWalker, pWin->pOrderBy);
    if( rc ) return WRC_Abort;
    rc = sqlite3WalkExprList(pWalker, pWin->pPartition);
    if( rc ) return WRC_Abort;
    rc = sqlite3WalkExpr(pWalker, pWin->pFilter);
    if( rc ) return WRC_Abort;

    /* The next two are purely for calls to sqlite3RenameExprUnmap()
    ** within sqlite3WindowOffsetExpr().  Because of constraints imposed
    ** by sqlite3WindowOffsetExpr(), they can never fail.  The results do
    ** not matter anyhow. */
    rc = sqlite3WalkExpr(pWalker, pWin->pStart);
    if( NEVER(rc) ) return WRC_Abort;
    rc = sqlite3WalkExpr(pWalker, pWin->pEnd);
    if( NEVER(rc) ) return WRC_Abort;
  }
  return WRC_Continue;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %r14
movq %rdi, %r15
pushq $0x2
popq %rbx
testq %r14, %r14
je 0x268232
movq 0x18(%r14), %rsi
movq %r15, %rdi
callq 0x268181
testl %eax, %eax
jne 0x268234
movq 0x10(%r14), %rsi
movq %r15, %rdi
callq 0x268181
testl %eax, %eax
jne 0x268234
movq 0x48(%r14), %rsi
movq %r15, %rdi
callq 0x267f87
testl %eax, %eax
jne 0x268234
movq 0x28(%r14), %rsi
movq %r15, %rdi
callq 0x267f87
testl %eax, %eax
jne 0x268234
movq 0x30(%r14), %rsi
movq %r15, %rdi
callq 0x267f87
testl %eax, %eax
jne 0x268234
movq 0x40(%r14), %r14
jmp 0x2681d7
xorl %ebx, %ebx
movl %ebx, %eax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3WindowCompare
SQLITE_PRIVATE int sqlite3WindowCompare(Parse *pParse, Window *p1, Window *p2, int bFilter){
  int res;
  if( NEVER(p1==0) || NEVER(p2==0) ) return 1;
  if( p1->eFrmType!=p2->eFrmType ) return 1;
  if( p1->eStart!=p2->eStart ) return 1;
  if( p1->eEnd!=p2->eEnd ) return 1;
  if( p1->eExclude!=p2->eExclude ) return 1;
  if( sqlite3ExprCompare(pParse, p1->pStart, p2->pStart, -1) ) return 1;
  if( sqlite3ExprCompare(pParse, p1->pEnd, p2->pEnd, -1) ) return 1;
  if( (res = sqlite3ExprListCompare(p1->pPartition, p2->pPartition, -1)) ){
    return res;
  }
  if( (res = sqlite3ExprListCompare(p1->pOrderBy, p2->pOrderBy, -1)) ){
    return res;
  }
  if( bFilter ){
    if( (res = sqlite3ExprCompare(pParse, p1->pFilter, p2->pFilter, -1)) ){
      return res;
    }
  }
  return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl %ecx, %ebp
testq %rsi, %rsi
sete %al
testq %rdx, %rdx
sete %cl
orb %al, %cl
pushq $0x1
popq %rbx
jne 0x26867e
movq %rdx, %r15
movq %rsi, %r12
movb 0x20(%rsi), %al
cmpb 0x20(%rdx), %al
jne 0x26867e
movb 0x21(%r12), %al
cmpb 0x21(%r15), %al
jne 0x26867e
movb 0x22(%r12), %al
cmpb 0x22(%r15), %al
jne 0x26867e
movb 0x24(%r12), %al
cmpb 0x24(%r15), %al
jne 0x26867e
movq %rdi, %r14
movq 0x28(%r12), %rsi
movq 0x28(%r15), %rdx
pushq $-0x1
popq %rcx
callq 0x26823c
testl %eax, %eax
jne 0x26867e
movq 0x30(%r12), %rsi
movq 0x30(%r15), %rdx
pushq $-0x1
popq %rcx
movq %r14, %rdi
callq 0x26823c
testl %eax, %eax
jne 0x26867e
movq 0x10(%r12), %rdi
movq 0x10(%r15), %rsi
pushq $-0x1
popq %rdx
callq 0x2686a9
testl %eax, %eax
jne 0x26867c
movq 0x18(%r12), %rdi
movq 0x18(%r15), %rsi
pushq $-0x1
popq %rdx
callq 0x2686a9
testl %eax, %eax
je 0x268689
movl %eax, %ebx
movl %ebx, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
testl %ebp, %ebp
je 0x2686a5
movq 0x48(%r12), %rsi
movq 0x48(%r15), %rdx
pushq $-0x1
popq %rcx
movq %r14, %rdi
callq 0x26823c
testl %eax, %eax
jne 0x26867c
xorl %ebx, %ebx
jmp 0x26867e
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3ExprListCompare
SQLITE_PRIVATE int sqlite3ExprListCompare(ExprList *pA, ExprList *pB, int iTab){
  int i;
  if( pA==0 && pB==0 ) return 0;
  if( pA==0 || pB==0 ) return 1;
  if( pA->nExpr!=pB->nExpr ) return 1;
  for(i=0; i<pA->nExpr; i++){
    int res;
    Expr *pExprA = pA->a[i].pExpr;
    Expr *pExprB = pB->a[i].pExpr;
    if( pA->a[i].sortFlags!=pB->a[i].sortFlags ) return 1;
    if( (res = sqlite3ExprCompare(0, pExprA, pExprB, iTab)) ) return res;
  }
  return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
xorl %ebx, %ebx
movq %rdi, %rax
orq %rsi, %rax
je 0x268721
movq %rsi, %r14
movq %rdi, %r15
testq %rsi, %rsi
sete %al
testq %rdi, %rdi
sete %cl
orb %al, %cl
pushq $0x1
popq %rbx
jne 0x268721
movl (%r15), %eax
cmpl (%r14), %eax
jne 0x268721
movl %edx, %ebp
pushq $0x18
popq %rcx
pushq $-0x1
popq %r12
movslq (%r15), %rax
incq %r12
cmpq %rax, %r12
jge 0x26871f
movb (%r15,%rcx), %al
cmpb (%r14,%rcx), %al
jne 0x268721
leaq 0x18(%rcx), %r13
movq -0x10(%r14,%rcx), %rdx
movq -0x10(%r15,%rcx), %rsi
xorl %edi, %edi
movl %ebp, %ecx
callq 0x26823c
movq %r13, %rcx
testl %eax, %eax
je 0x2686e8
movl %eax, %ebx
jmp 0x268721
xorl %ebx, %ebx
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3VdbeGetBoundValue
SQLITE_PRIVATE sqlite3_value *sqlite3VdbeGetBoundValue(Vdbe *v, int iVar, u8 aff){
  assert( iVar>0 );
  if( v ){
    Mem *pMem = &v->aVar[iVar-1];
    assert( (v->db->flags & SQLITE_EnableQPSG)==0 );
    if( 0==(pMem->flags & MEM_Null) ){
      sqlite3_value *pRet = sqlite3ValueNew(v->db);
      if( pRet ){
        sqlite3VdbeMemCopy((Mem *)pRet, pMem);
        sqlite3ValueApplyAffinity(pRet, aff, SQLITE_UTF8);
      }
      return pRet;
    }
  }
  return 0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
testq %rdi, %rdi
je 0x268774
movq 0x80(%rdi), %r14
movslq %esi, %rax
imulq $0x38, %rax, %r15
testb $0x1, -0x30(%r14,%r15)
jne 0x268774
movq (%rdi), %rdi
callq 0x22998f
testq %rax, %rax
je 0x268774
movq %rax, %rbx
leaq (%r14,%r15), %rsi
addq $-0x38, %rsi
movq %rax, %rdi
callq 0x224a2e
jmp 0x268776
xorl %ebx, %ebx
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3ExprImpliesExpr
SQLITE_PRIVATE int sqlite3ExprImpliesExpr(Parse *pParse, Expr *pE1, Expr *pE2, int iTab){
  if( sqlite3ExprCompare(pParse, pE1, pE2, iTab)==0 ){
    return 1;
  }
  if( pE2->op==TK_OR
   && (sqlite3ExprImpliesExpr(pParse, pE1, pE2->pLeft, iTab)
             || sqlite3ExprImpliesExpr(pParse, pE1, pE2->pRight, iTab) )
  ){
    return 1;
  }
  if( pE2->op==TK_NOTNULL
   && exprImpliesNotNull(pParse, pE1, pE2->pLeft, iTab, 0)
  ){
    return 1;
  }
  return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl %ecx, %ebp
movq %rdx, %r12
movq %rsi, %r14
movq %rdi, %r15
callq 0x26823c
pushq $0x1
popq %rbx
testl %eax, %eax
je 0x2687f5
movb (%r12), %al
cmpb $0x2b, %al
jne 0x2687d6
movq 0x10(%r12), %rdx
movq %r15, %rdi
movq %r14, %rsi
movl %ebp, %ecx
callq 0x26877f
testl %eax, %eax
jne 0x2687f5
movq 0x18(%r12), %rdx
movq %r15, %rdi
movq %r14, %rsi
movl %ebp, %ecx
callq 0x26877f
testl %eax, %eax
jne 0x2687f5
movb (%r12), %al
cmpb $0x33, %al
jne 0x2687f3
movq 0x10(%r12), %rdx
movq %r15, %rdi
movq %r14, %rsi
movl %ebp, %ecx
xorl %r8d, %r8d
callq 0x268885
testl %eax, %eax
jne 0x2687f5
xorl %ebx, %ebx
movl %ebx, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3ExprImpliesNonNullRow
SQLITE_PRIVATE int sqlite3ExprImpliesNonNullRow(Expr *p, int iTab){
  Walker w;
  p = sqlite3ExprSkipCollateAndLikely(p);
  if( p==0 ) return 0;
  if( p->op==TK_NOTNULL ){
    p = p->pLeft;
  }else{
    while( p->op==TK_AND ){
      if( sqlite3ExprImpliesNonNullRow(p->pLeft, iTab) ) return 1;
      p = p->pRight;
    }
  }
  w.xExprCallback = impliesNotNullRow;
  w.xSelectCallback = 0;
  w.xSelectCallback2 = 0;
  w.eCode = 0;
  w.u.iCur = iTab;
  sqlite3WalkExpr(&w, p);
  return w.eCode;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movl %esi, %ebx
callq 0x267d34
testq %rax, %rax
je 0x268857
movq %rax, %r14
movb (%rax), %al
cmpb $0x33, %al
jne 0x268866
movq 0x10(%r14), %r14
leaq 0x193(%rip), %rax       # 0x2689bd
leaq 0x8(%rsp), %r15
movq %rax, 0x8(%r15)
andw $0x0, 0x24(%r15)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r15)
movl %ebx, 0x28(%r15)
movq %r15, %rdi
movq %r14, %rsi
callq 0x267f87
movzwl 0x24(%r15), %ebp
jmp 0x268859
xorl %ebp, %ebp
movl %ebp, %eax
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
pushq $0x1
popq %rbp
cmpb $0x2c, %al
jne 0x268823
movq 0x10(%r14), %rdi
movl %ebx, %esi
callq 0x268800
testl %eax, %eax
jne 0x268859
movq 0x18(%r14), %r14
movb (%r14), %al
jmp 0x268869
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3VdbeExplain
SQLITE_PRIVATE void sqlite3VdbeExplain(Parse *pParse, u8 bPush, const char *zFmt, ...){
#ifndef SQLITE_DEBUG
  /* Always include the OP_Explain opcodes if SQLITE_DEBUG is defined.
  ** But omit them (for performance) during production builds */
  if( pParse->explain==2 )
#endif
  {
    char *zMsg;
    Vdbe *v;
    va_list ap;
    int iThis;
    va_start(ap, zFmt);
    zMsg = sqlite3VMPrintf(pParse->db, zFmt, ap);
    va_end(ap);
    v = pParse->pVdbe;
    iThis = v->nOp;
    sqlite3VdbeAddOp4(v, OP_Explain, iThis, pParse->addrExplain, 0,
                      zMsg, P4_DYNAMIC);
    sqlite3ExplainBreakpoint(bPush?"PUSH":"", sqlite3VdbeGetOp(v,-1)->p4.z);
    if( bPush){
      pParse->addrExplain = iThis;
    }
  }
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0xe0, %rsp
movq %r9, 0x58(%rsp)
testb %al, %al
je 0x268af1
movaps %xmm0, 0x60(%rsp)
movaps %xmm1, 0x70(%rsp)
movaps %xmm2, 0x80(%rsp)
movaps %xmm3, 0x90(%rsp)
movaps %xmm4, 0xa0(%rsp)
movaps %xmm5, 0xb0(%rsp)
movaps %xmm6, 0xc0(%rsp)
movaps %xmm7, 0xd0(%rsp)
movq %r8, 0x50(%rsp)
movq %rcx, 0x48(%rsp)
cmpb $0x2, 0x11b(%rdi)
jne 0x268b75
movl %esi, %ebp
movq %rdi, %rbx
leaq 0x30(%rsp), %rcx
leaq 0x10(%rsp), %rax
movq %rcx, 0x10(%rax)
leaq 0x100(%rsp), %rcx
movq %rcx, 0x8(%rax)
movabsq $0x3000000018, %rcx     # imm = 0x3000000018
movq %rcx, (%rax)
movq (%rdi), %rdi
movq %rdx, %rsi
movq %rax, %rdx
callq 0x22efaa
movq 0x10(%rbx), %rdi
movl 0x90(%rdi), %r14d
movl 0x128(%rbx), %ecx
movl $0xfffffff9, (%rsp)     # imm = 0xFFFFFFF9
movl $0xae, %esi
movl %r14d, %edx
xorl %r8d, %r8d
movq %rax, %r9
callq 0x264609
testb %bpl, %bpl
je 0x268b75
movl %r14d, 0x128(%rbx)
addq $0xe0, %rsp
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3ExprCheckIN
SQLITE_PRIVATE int sqlite3ExprCheckIN(Parse *pParse, Expr *pIn){
  int nVector = sqlite3ExprVectorSize(pIn->pLeft);
  if( (pIn->flags & EP_xIsSelect) ){
    if( nVector!=pIn->x.pSelect->pEList->nExpr ){
      sqlite3SubselectError(pParse, pIn->x.pSelect->pEList->nExpr, nVector);
      return 1;
    }
  }else if( nVector!=1 ){
    sqlite3VectorErrorMsg(pParse, pIn->pLeft);
    return 1;
  }
  return 0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %r15
movq %rdi, %rbx
movq 0x10(%rsi), %r14
movq %r14, %rdi
callq 0x26697d
testb $0x8, 0x5(%r15)
jne 0x268bb1
cmpl $0x1, %eax
je 0x268bbf
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2696ff
jmp 0x268bcd
movq 0x20(%r15), %rcx
movq 0x20(%rcx), %rcx
movl (%rcx), %esi
cmpl %esi, %eax
jne 0x268bc3
xorl %eax, %eax
jmp 0x268bd0
movq %rbx, %rdi
movl %eax, %edx
callq 0x266714
pushq $0x1
popq %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: exprINAffinity
static char *exprINAffinity(Parse *pParse, Expr *pExpr){
  Expr *pLeft = pExpr->pLeft;
  int nVal = sqlite3ExprVectorSize(pLeft);
  Select *pSelect = (pExpr->flags & EP_xIsSelect) ? pExpr->x.pSelect : 0;
  char *zRet;

  assert( pExpr->op==TK_IN );
  zRet = sqlite3DbMallocRaw(pParse->db, nVal+1);
  if( zRet ){
    int i;
    for(i=0; i<nVal; i++){
      Expr *pA = sqlite3VectorFieldSubexpr(pLeft, i);
      char a = sqlite3ExprAffinity(pA);
      if( pSelect ){
        zRet[i] = sqlite3CompareAffinity(pSelect->pEList->a[i].pExpr, a);
      }else{
        zRet[i] = a;
      }
    }
    zRet[nVal] = '\0';
  }
  return zRet;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r12
movq %rdi, %r15
movq 0x10(%rsi), %rbx
movq %rbx, %rdi
callq 0x26697d
movl %eax, %r14d
testb $0x8, 0x5(%r12)
jne 0x268c03
xorl %r13d, %r13d
jmp 0x268c08
movq 0x20(%r12), %r13
movq (%r15), %rdi
leal 0x1(%r14), %eax
movslq %eax, %rsi
callq 0x22809f
movq %rax, %r15
testq %rax, %rax
je 0x268c79
xorl %r12d, %r12d
testl %r14d, %r14d
movl $0x0, %ebp
movq %r14, (%rsp)
cmovgl %r14d, %ebp
pushq $0x8
popq %r14
cmpq %r12, %rbp
je 0x268c70
movq %rbx, %rdi
movl %r12d, %esi
callq 0x267cfa
movq %rax, %rdi
callq 0x267d81
testq %r13, %r13
je 0x268c63
movq 0x20(%r13), %rcx
movq (%rcx,%r14), %rdi
movsbl %al, %esi
callq 0x267e25
movb %al, (%r15,%r12)
incq %r12
addq $0x18, %r14
jmp 0x268c36
movslq (%rsp), %rax
movb $0x0, (%r15,%rax)
movq %r15, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3ExprCanBeNull
SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr *p){
  u8 op;
  while( p->op==TK_UPLUS || p->op==TK_UMINUS ){
    p = p->pLeft;
  }
  op = p->op;
  if( op==TK_REGISTER ) op = p->op2;
  switch( op ){
    case TK_INTEGER:
    case TK_STRING:
    case TK_FLOAT:
    case TK_BLOB:
      return 0;
    case TK_COLUMN:
      return ExprHasProperty(p, EP_CanBeNull) ||
             p->y.pTab==0 ||  /* Reference to column of index on expression */
             (p->iColumn>=0
              && ALWAYS(p->y.pTab->aCol!=0) /* Defense against OOM problems */
              && p->y.pTab->aCol[p->iColumn].notNull==0);
    default:
      return 1;
  }
}

// Assembly:
movb (%rdi), %al
movzbl %al, %ecx
leal -0xaa(%rcx), %edx
cmpl $0x2, %edx
jae 0x26969a
movq 0x10(%rdi), %rdi
jmp 0x269684
cmpl $0xad, %ecx
jne 0x2696a5
movb 0x2(%rdi), %al
movzbl %al, %eax
leal -0x96(%rax), %ecx
cmpl $0x3, %ecx
jb 0x2696f8
cmpl $0x73, %eax
je 0x2696f8
cmpl $0xa4, %eax
jne 0x2696fb
pushq $0x1
popq %rax
testb $0x10, 0x6(%rdi)
jne 0x2696fe
movq 0x40(%rdi), %rdx
testq %rdx, %rdx
je 0x2696fe
movswq 0x30(%rdi), %rcx
testq %rcx, %rcx
js 0x2696f8
movq 0x8(%rdx), %rdx
movl $0x0, %eax
testq %rdx, %rdx
je 0x2696fe
shlq $0x5, %rcx
xorl %eax, %eax
cmpb $0x0, 0x18(%rdx,%rcx)
sete %al
retq
xorl %eax, %eax
retq
pushq $0x1
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3VectorErrorMsg
SQLITE_PRIVATE void sqlite3VectorErrorMsg(Parse *pParse, Expr *pExpr){
#ifndef SQLITE_OMIT_SUBQUERY
  if( pExpr->flags & EP_xIsSelect ){
    sqlite3SubselectError(pParse, pExpr->x.pSelect->pEList->nExpr, 1);
  }else
#endif
  {
    sqlite3ErrorMsg(pParse, "row value misused");
  }
}

// Assembly:
testb $0x8, 0x5(%rsi)
jne 0x269713
leaq 0x10e2dd(%rip), %rsi    # 0x3779e9
xorl %eax, %eax
jmp 0x226dce
movq 0x20(%rsi), %rax
movq 0x20(%rax), %rax
movl (%rax), %esi
pushq $0x1
popq %rdx
jmp 0x266714
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3CodeVerifySchema
SQLITE_PRIVATE void sqlite3CodeVerifySchema(Parse *pParse, int iDb){
  Parse *pToplevel = sqlite3ParseToplevel(pParse);

  assert( iDb>=0 && iDb<pParse->db->nDb );
  assert( pParse->db->aDb[iDb].pBt!=0 || iDb==1 );
  assert( iDb<SQLITE_MAX_ATTACHED+2 );
  assert( sqlite3SchemaMutexHeld(pParse->db, iDb, 0) );
  if( DbMaskTest(pToplevel->cookieMask, iDb)==0 ){
    DbMaskSet(pToplevel->cookieMask, iDb);
    if( !OMIT_TEMPDB && iDb==1 ){
      sqlite3OpenTempDatabase(pToplevel);
    }
  }
}

// Assembly:
movq %rdi, %rax
movq 0xa0(%rdi), %rdi
testq %rdi, %rdi
cmoveq %rax, %rdi
movl %esi, %ecx
movl 0x74(%rdi), %eax
pushq $0x1
popq %rdx
shll %cl, %edx
btl %esi, %eax
jb 0x269753
orl %edx, %eax
movl %eax, 0x74(%rdi)
cmpl $0x1, %ecx
je 0x22f03a
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3SetHasNullFlag
static void sqlite3SetHasNullFlag(Vdbe *v, int iCur, int regHasNull){
  int addr1;
  sqlite3VdbeAddOp2(v, OP_Integer, 0, regHasNull);
  addr1 = sqlite3VdbeAddOp1(v, OP_Rewind, iCur); VdbeCoverage(v);
  sqlite3VdbeAddOp3(v, OP_Column, iCur, 0, regHasNull);
  sqlite3VdbeChangeP5(v, OPFLAG_TYPEOFARG);
  VdbeComment((v, "first_entry_in(%d)", iCur));
  sqlite3VdbeJumpHere(v, addr1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %edx, %r14d
movl %esi, %r15d
movq %rdi, %rbx
pushq $0x45
popq %rsi
xorl %edx, %edx
movl %r14d, %ecx
callq 0x24d51a
pushq $0x25
popq %rsi
movq %rbx, %rdi
movl %r15d, %edx
callq 0x265d5c
movl %eax, %ebp
pushq $0x59
popq %rsi
movq %rbx, %rdi
movl %r15d, %edx
xorl %ecx, %ecx
movl %r14d, %r8d
callq 0x24d51f
movslq 0x90(%rbx), %rax
testq %rax, %rax
jle 0x2697b2
movq 0x88(%rbx), %rcx
imulq $0x18, %rax, %rax
movw $0x80, -0x16(%rcx,%rax)
movq %rbx, %rdi
movl %ebp, %esi
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x2645f8
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3VdbeChangeToNoop
SQLITE_PRIVATE int sqlite3VdbeChangeToNoop(Vdbe *p, int addr){
  VdbeOp *pOp;
  if( p->db->mallocFailed ) return 0;
  assert( addr>=0 && addr<p->nOp );
  pOp = &p->aOp[addr];
  freeP4(p->db, pOp->p4type, pOp->p4.p);
  pOp->p4type = P4_NOTUSED;
  pOp->p4.z = 0;
  pOp->opcode = OP_Noop;
  return 1;
}

// Assembly:
movq %rdi, %rax
movq (%rdi), %rdi
cmpb $0x0, 0x61(%rdi)
je 0x2697d3
retq
pushq %r14
pushq %rbx
pushq %rax
movq 0x88(%rax), %rbx
movslq %esi, %rax
imulq $0x18, %rax, %r14
movsbl 0x1(%rbx,%r14), %esi
movq 0x10(%rbx,%r14), %rdx
callq 0x238761
andq $0x0, 0x10(%rbx,%r14)
movw $0xad, (%rbx,%r14)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: resizeResolveLabel
static SQLITE_NOINLINE void resizeResolveLabel(Parse *p, Vdbe *v, int j){
  int nNewSize = 10 - p->nLabel;
  p->aLabel = sqlite3DbReallocOrFree(p->db, p->aLabel,
                     nNewSize*sizeof(p->aLabel[0]));
  if( p->aLabel==0 ){
    p->nLabelAlloc = 0;
  }else{
#ifdef SQLITE_DEBUG
    int i;
    for(i=p->nLabelAlloc; i<nNewSize; i++) p->aLabel[i] = -1;
#endif
    p->nLabelAlloc = nNewSize;
    p->aLabel[j] = v->nOp;
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movslq 0x44(%rdi), %rax
pushq $0xa
popq %r12
subq %rax, %r12
movq (%rdi), %rdi
movq 0x50(%r15), %rsi
leaq (,%r12,4), %rdx
callq 0x23a149
movq %rax, 0x50(%r15)
testq %rax, %rax
je 0x269855
movl %r12d, 0x48(%r15)
movl 0x90(%r14), %ecx
movslq %ebx, %rdx
movl %ecx, (%rax,%rdx,4)
jmp 0x26985a
andl $0x0, 0x48(%r15)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3ExprListDup
SQLITE_PRIVATE ExprList *sqlite3ExprListDup(sqlite3 *db, ExprList *p, int flags){
  ExprList *pNew;
  struct ExprList_item *pItem, *pOldItem;
  int i;
  Expr *pPriorSelectCol = 0;
  assert( db!=0 );
  if( p==0 ) return 0;
  pNew = sqlite3DbMallocRawNN(db, sqlite3DbMallocSize(db, p));
  if( pNew==0 ) return 0;
  pNew->nExpr = p->nExpr;
  pItem = pNew->a;
  pOldItem = p->a;
  for(i=0; i<p->nExpr; i++, pItem++, pOldItem++){
    Expr *pOldExpr = pOldItem->pExpr;
    Expr *pNewExpr;
    pItem->pExpr = sqlite3ExprDup(db, pOldExpr, flags);
    if( pOldExpr
     && pOldExpr->op==TK_SELECT_COLUMN
     && (pNewExpr = pItem->pExpr)!=0
    ){
      assert( pNewExpr->iColumn==0 || i>0 );
      if( pNewExpr->iColumn==0 ){
        assert( pOldExpr->pLeft==pOldExpr->pRight );
        pPriorSelectCol = pNewExpr->pLeft = pNewExpr->pRight;
      }else{
        assert( i>0 );
        assert( pItem[-1].pExpr!=0 );
        assert( pNewExpr->iColumn==pItem[-1].pExpr->iColumn+1 );
        assert( pPriorSelectCol==pItem[-1].pExpr->pLeft );
        pNewExpr->pLeft = pPriorSelectCol;
      }
    }
    pItem->zEName = sqlite3DbStrDup(db, pOldItem->zEName);
    pItem->sortFlags = pOldItem->sortFlags;
    pItem->eEName = pOldItem->eEName;
    pItem->done = 0;
    pItem->bNulls = pOldItem->bNulls;
    pItem->bSorterRef = pOldItem->bSorterRef;
    pItem->u = pOldItem->u;
  }
  return pNew;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %edx, 0xc(%rsp)
testq %rsi, %rsi
je 0x269e91
movq %rsi, %r14
movq %rdi, %r15
callq 0x22103d
movslq %eax, %rsi
movq %r15, %rdi
callq 0x22d205
xorl %ebp, %ebp
testq %rax, %rax
je 0x269e91
movq %rax, %r12
movl (%r14), %eax
movl %eax, (%r12)
pushq $0x8
popq %rbx
movq $0x0, 0x10(%rsp)
cmpl %eax, %ebp
jge 0x269e94
movq (%r14,%rbx), %r13
movq %r15, %rdi
movq %r13, %rsi
movl 0xc(%rsp), %edx
callq 0x267197
movq %rax, (%r12,%rbx)
testq %r13, %r13
je 0x269e25
cmpb $-0x51, (%r13)
setne %cl
testq %rax, %rax
sete %dl
orb %cl, %dl
jne 0x269e25
cmpw $0x0, 0x30(%rax)
jne 0x269e1c
movq 0x18(%rax), %rcx
movq %rcx, 0x10(%rsp)
movq 0x10(%rsp), %rcx
movq %rcx, 0x10(%rax)
movq 0x8(%r14,%rbx), %rsi
movq %r15, %rdi
callq 0x22572a
movq %rax, 0x8(%r12,%rbx)
movb 0x10(%r14,%rbx), %al
movb %al, 0x10(%r12,%rbx)
movb 0x11(%r14,%rbx), %al
andb $0x3, %al
movb 0x11(%r12,%rbx), %cl
andb $-0x8, %cl
orb %al, %cl
movb %cl, 0x11(%r12,%rbx)
movb 0x11(%r14,%rbx), %al
andb $0x20, %al
andb $-0x25, %cl
orb %al, %cl
movb %cl, 0x11(%r12,%rbx)
movb 0x11(%r14,%rbx), %al
andb $0x10, %al
andb $-0x15, %cl
orb %al, %cl
movb %cl, 0x11(%r12,%rbx)
movl 0x14(%r14,%rbx), %eax
movl %eax, 0x14(%r12,%rbx)
incl %ebp
movl (%r14), %eax
addq $0x18, %rbx
jmp 0x269dd6
xorl %r12d, %r12d
movq %r12, %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: dupedExprNodeSize
static int dupedExprNodeSize(Expr *p, int flags){
  int nByte = dupedExprStructSize(p, flags) & 0xfff;
  if( !ExprHasProperty(p, EP_IntValue) && p->u.zToken ){
    nByte += sqlite3Strlen30NN(p->u.zToken)+1;
  }
  return ROUND8(nByte);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %r14
callq 0x269afc
movl %eax, %ebx
andl $0xfff, %ebx            # imm = 0xFFF
testb $0x4, 0x5(%r14)
jne 0x269ed8
movq 0x8(%r14), %rdi
testq %rdi, %rdi
je 0x269ed8
callq 0x172d0
andl $0x3fffffff, %eax       # imm = 0x3FFFFFFF
addl %eax, %ebx
incl %ebx
addl $0x7, %ebx
andl $-0x8, %ebx
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3WindowDup
SQLITE_PRIVATE Window *sqlite3WindowDup(sqlite3 *db, Expr *pOwner, Window *p){
  Window *pNew = 0;
  if( ALWAYS(p) ){
    pNew = sqlite3DbMallocZero(db, sizeof(Window));
    if( pNew ){
      pNew->zName = sqlite3DbStrDup(db, p->zName);
      pNew->zBase = sqlite3DbStrDup(db, p->zBase);
      pNew->pFilter = sqlite3ExprDup(db, p->pFilter, 0);
      pNew->pFunc = p->pFunc;
      pNew->pPartition = sqlite3ExprListDup(db, p->pPartition, 0);
      pNew->pOrderBy = sqlite3ExprListDup(db, p->pOrderBy, 0);
      pNew->eFrmType = p->eFrmType;
      pNew->eEnd = p->eEnd;
      pNew->eStart = p->eStart;
      pNew->eExclude = p->eExclude;
      pNew->regResult = p->regResult;
      pNew->regAccum = p->regAccum;
      pNew->iArgCol = p->iArgCol;
      pNew->iEphCsr = p->iEphCsr;
      pNew->bExprArgs = p->bExprArgs;
      pNew->pStart = sqlite3ExprDup(db, p->pStart, 0);
      pNew->pEnd = sqlite3ExprDup(db, p->pEnd, 0);
      pNew->pOwner = pOwner;
      pNew->bImplicitFrame = p->bImplicitFrame;
    }
  }
  return pNew;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
testq %rdx, %rdx
je 0x269fe4
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %r12
movl $0x90, %esi
callq 0x2258ed
testq %rax, %rax
je 0x269fe4
movq %rax, %rbx
movq (%r14), %rsi
movq %r12, %rdi
callq 0x22572a
movq %rax, (%rbx)
movq 0x8(%r14), %rsi
movq %r12, %rdi
callq 0x22572a
movq %rax, 0x8(%rbx)
movq 0x48(%r14), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x267197
movq %rax, 0x48(%rbx)
movq 0x50(%r14), %rax
movq %rax, 0x50(%rbx)
movq 0x10(%r14), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x269d84
movq %rax, 0x10(%rbx)
movq 0x18(%r14), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x269d84
movq %rax, 0x18(%rbx)
movb 0x20(%r14), %al
movb %al, 0x20(%rbx)
movb 0x22(%r14), %al
movb %al, 0x22(%rbx)
movb 0x21(%r14), %al
movb %al, 0x21(%rbx)
movb 0x24(%r14), %al
movb %al, 0x24(%rbx)
movl 0x60(%r14), %eax
movl %eax, 0x60(%rbx)
movl 0x7c(%r14), %eax
movl %eax, 0x7c(%rbx)
movq 0x58(%r14), %rax
movq %rax, 0x58(%rbx)
movb 0x8c(%r14), %al
movb %al, 0x8c(%rbx)
movq 0x28(%r14), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x267197
movq %rax, 0x28(%rbx)
movq 0x30(%r14), %rsi
movq %r12, %rdi
xorl %edx, %edx
callq 0x267197
movq %rax, 0x30(%rbx)
movq %r15, 0x70(%rbx)
movb 0x23(%r14), %al
movb %al, 0x23(%rbx)
jmp 0x269fe6
xorl %ebx, %ebx
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3IdListDup
SQLITE_PRIVATE IdList *sqlite3IdListDup(sqlite3 *db, IdList *p){
  IdList *pNew;
  int i;
  assert( db!=0 );
  if( p==0 ) return 0;
  pNew = sqlite3DbMallocRawNN(db, sizeof(*pNew) );
  if( pNew==0 ) return 0;
  pNew->nId = p->nId;
  pNew->a = sqlite3DbMallocRawNN(db, p->nId*sizeof(p->a[0]) );
  if( pNew->a==0 ){
    sqlite3DbFreeNN(db, pNew);
    return 0;
  }
  /* Note that because the size of the allocation for p->a[] is not
  ** necessarily a power of two, sqlite3IdListAppend() may not be called
  ** on the duplicate created by this function. */
  for(i=0; i<p->nId; i++){
    struct IdList_item *pNewItem = &pNew->a[i];
    struct IdList_item *pOldItem = &p->a[i];
    pNewItem->zName = sqlite3DbStrDup(db, pOldItem->zName);
    pNewItem->idx = pOldItem->idx;
  }
  return pNew;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
testq %rsi, %rsi
je 0x26a1f3
movq %rsi, %r15
movq %rdi, %r14
pushq $0x10
popq %rsi
callq 0x22d205
testq %rax, %rax
je 0x26a1f3
movq %rax, %rbx
movslq 0x8(%r15), %rsi
movl %esi, 0x8(%rax)
shlq $0x4, %rsi
movq %r14, %rdi
callq 0x22d205
movq %rax, (%rbx)
testq %rax, %rax
je 0x26a1e8
movq %r14, (%rsp)
pushq $0x8
popq %r12
xorl %r13d, %r13d
movslq 0x8(%r15), %rax
cmpq %rax, %r13
jge 0x26a1f5
movq (%rbx), %rbp
movq (%r15), %r14
movq -0x8(%r14,%r12), %rsi
movq (%rsp), %rdi
callq 0x22572a
movq %rax, -0x8(%rbp,%r12)
movl (%r14,%r12), %eax
movl %eax, (%rbp,%r12)
incq %r13
addq $0x10, %r12
jmp 0x26a1b4
movq %r14, %rdi
movq %rbx, %rsi
callq 0x22d0fc
xorl %ebx, %ebx
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: gatherSelectWindowsCallback
static int gatherSelectWindowsCallback(Walker *pWalker, Expr *pExpr){
  if( pExpr->op==TK_FUNCTION && ExprHasProperty(pExpr, EP_WinFunc) ){
    Select *pSelect = pWalker->u.pSelect;
    Window *pWin = pExpr->y.pWin;
    assert( pWin );
    assert( IsWindowFunc(pExpr) );
    assert( pWin->ppThis==0 );
    sqlite3WindowLink(pSelect, pWin);
  }
  return WRC_Continue;
}

// Assembly:
cmpb $-0x57, (%rsi)
jne 0x26a224
testb $0x1, 0x7(%rsi)
je 0x26a224
pushq %rax
movq 0x28(%rdi), %rdi
movq 0x40(%rsi), %rsi
callq 0x26a231
addq $0x8, %rsp
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3WindowLink
SQLITE_PRIVATE void sqlite3WindowLink(Select *pSel, Window *pWin){
  if( pSel!=0
   && (0==pSel->pWin || 0==sqlite3WindowCompare(0, pSel->pWin, pWin, 0))
  ){
    pWin->pNextWin = pSel->pWin;
    if( pSel->pWin ){
      pSel->pWin->ppThis = &pWin->pNextWin;
    }
    pSel->pWin = pWin;
    pWin->ppThis = &pSel->pWin;
  }
}

// Assembly:
testq %rdi, %rdi
je 0x26a286
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq 0x70(%rdi), %rsi
addq $0x70, %r14
testq %rsi, %rsi
je 0x26a273
xorl %edi, %edi
movq %rbx, %rdx
xorl %ecx, %ecx
callq 0x2685d2
testl %eax, %eax
jne 0x26a27f
movq (%r14), %rax
movq %rax, 0x40(%rbx)
testq %rax, %rax
je 0x26a278
leaq 0x40(%rbx), %rcx
movq %rcx, 0x38(%rax)
jmp 0x26a278
andq $0x0, 0x40(%rbx)
movq %rbx, (%r14)
movq %r14, 0x38(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3ExprCodeFactorable
SQLITE_PRIVATE void sqlite3ExprCodeFactorable(Parse *pParse, Expr *pExpr, int target){
  if( pParse->okConstFactor && sqlite3ExprIsConstantNotJoin(pExpr) ){
    sqlite3ExprCodeRunJustOnce(pParse, pExpr, target);
  }else{
    sqlite3ExprCodeCopy(pParse, pExpr, target);
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
cmpb $0x0, 0x23(%rdi)
je 0x26a2b8
movq %r14, %rdi
callq 0x26631b
testl %eax, %eax
je 0x26a2b8
movq %r15, %rdi
movq %r14, %rsi
movl %ebx, %edx
popq %rbx
popq %r14
popq %r15
jmp 0x266325
movq %r15, %rdi
movq %r14, %rsi
movl %ebx, %edx
popq %rbx
popq %r14
popq %r15
jmp 0x267657
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3ExprSimplifiedAndOr
SQLITE_PRIVATE Expr *sqlite3ExprSimplifiedAndOr(Expr *pExpr){
  assert( pExpr!=0 );
  if( pExpr->op==TK_AND || pExpr->op==TK_OR ){
    Expr *pRight = sqlite3ExprSimplifiedAndOr(pExpr->pRight);
    Expr *pLeft = sqlite3ExprSimplifiedAndOr(pExpr->pLeft);
    if( ExprAlwaysTrue(pLeft) || ExprAlwaysFalse(pRight) ){
      pExpr = pExpr->op==TK_AND ? pRight : pLeft;
    }else if( ExprAlwaysTrue(pRight) || ExprAlwaysFalse(pLeft) ){
      pExpr = pExpr->op==TK_AND ? pLeft : pRight;
    }
  }
  return pExpr;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movb (%rdi), %r15b
leal -0x2b(%r15), %eax
cmpb $0x1, %al
ja 0x26a324
movq 0x18(%rbx), %rdi
callq 0x26a2ca
movq %rax, %r14
movq 0x10(%rbx), %rdi
callq 0x26a2ca
movl 0x4(%rax), %ecx
movl %ecx, %edx
andl $0x10000001, %edx       # imm = 0x10000001
cmpl $0x10000000, %edx       # imm = 0x10000000
je 0x26a319
movl 0x4(%r14), %edx
movl %edx, %esi
andl $0x20000001, %esi       # imm = 0x20000001
cmpl $0x20000000, %esi       # imm = 0x20000000
jne 0x26a32d
cmpb $0x2c, %r15b
cmoveq %r14, %rax
movq %rax, %rbx
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
andl $0x20000001, %ecx       # imm = 0x20000001
cmpl $0x20000000, %ecx       # imm = 0x20000000
je 0x26a349
andl $0x10000001, %edx       # imm = 0x10000001
cmpl $0x10000000, %edx       # imm = 0x10000000
jne 0x26a324
cmpb $0x2c, %r15b
cmoveq %rax, %r14
movq %r14, %rbx
jmp 0x26a324
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3TwoPartName
SQLITE_PRIVATE int sqlite3TwoPartName(
  Parse *pParse,      /* Parsing and code generating context */
  Token *pName1,      /* The "xxx" in the name "xxx.yyy" or "xxx" */
  Token *pName2,      /* The "yyy" in the name "xxx.yyy" */
  Token **pUnqual     /* Write the unqualified object name here */
){
  int iDb;                    /* Database holding the object */
  sqlite3 *db = pParse->db;

  assert( pName2!=0 );
  if( pName2->n>0 ){
    if( db->init.busy ) {
      sqlite3ErrorMsg(pParse, "corrupt database");
      return -1;
    }
    *pUnqual = pName2;
    iDb = sqlite3FindDb(db, pName1);
    if( iDb<0 ){
      sqlite3ErrorMsg(pParse, "unknown database %T", pName1);
      return -1;
    }
  }else{
    assert( db->init.iDb==0 || db->init.busy || IN_RENAME_OBJECT
             || (db->mDbFlags & DBFLAG_Vacuum)!=0);
    iDb = db->init.iDb;
    *pUnqual = pName1;
  }
  return iDb;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq (%rdi), %rdi
cmpl $0x0, 0x8(%rdx)
je 0x26a709
cmpb $0x0, 0xb5(%rdi)
je 0x26a715
leaq 0x10d4d4(%rip), %rsi    # 0x377bce
movq %rbx, %rdi
xorl %eax, %eax
callq 0x226dce
pushq $-0x1
popq %rax
jmp 0x26a724
movzbl 0xb4(%rdi), %eax
movq %r14, (%rcx)
jmp 0x26a724
movq %rdx, (%rcx)
movq %r14, %rsi
callq 0x26a866
testl %eax, %eax
js 0x26a72c
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0x10d4ac(%rip), %rsi    # 0x377bdf
movq %rbx, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x226dce
jmp 0x26a704
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3CheckObjectName
SQLITE_PRIVATE int sqlite3CheckObjectName(
  Parse *pParse,            /* Parsing context */
  const char *zName,        /* Name of the object to check */
  const char *zType,        /* Type of this object */
  const char *zTblName      /* Parent table name for triggers and indexes */
){
  sqlite3 *db = pParse->db;
  if( sqlite3WritableSchema(db)
   || db->init.imposterTable
   || !sqlite3Config.bExtraSchemaChecks
  ){
    /* Skip these error checks for writable_schema=ON */
    return SQLITE_OK;
  }
  if( db->init.busy ){
    if( sqlite3_stricmp(zType, db->init.azInit[0])
     || sqlite3_stricmp(zName, db->init.azInit[1])
     || sqlite3_stricmp(zTblName, db->init.azInit[2])
    ){
      sqlite3ErrorMsg(pParse, ""); /* corruptSchema() will supply the error */
      return SQLITE_ERROR;
    }
  }else{
    if( (pParse->nested==0 && 0==sqlite3StrNICmp(zName, "sqlite_", 7))
     || (sqlite3ReadOnlyShadowTables(db) && sqlite3ShadowTableName(db, zName))
    ){
      sqlite3ErrorMsg(pParse, "object name reserved for internal use: %s",
                      zName);
      return SQLITE_ERROR;
    }

  }
  return SQLITE_OK;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq (%rdi), %r13
movl $0x10000001, %eax       # imm = 0x10000001
andl 0x30(%r13), %eax
xorl %ebx, %ebx
cmpl $0x1, %eax
je 0x26a829
testb $0x2, 0xb6(%r13)
jne 0x26a829
cmpb $0x0, 0x1cfea2(%rip)    # 0x43a619
je 0x26a829
movq %rsi, %r15
movq %rdi, %r14
cmpb $0x0, 0xb5(%r13)
je 0x26a7da
movq %rcx, %r12
movq 0xb8(%r13), %r13
movq (%r13), %rsi
movq %rdx, %rdi
callq 0x221763
testl %eax, %eax
jne 0x26a7c7
movq 0x8(%r13), %rsi
movq %r15, %rdi
callq 0x221763
testl %eax, %eax
jne 0x26a7c7
movq 0x10(%r13), %rsi
movq %r12, %rdi
callq 0x221763
testl %eax, %eax
je 0x26a829
leaq 0xffda2(%rip), %rsi     # 0x36a570
movq %r14, %rdi
xorl %eax, %eax
callq 0x226dce
jmp 0x26a826
cmpb $0x0, 0x1e(%r14)
jne 0x26a7f7
leaq 0x10d40b(%rip), %rsi    # 0x377bf3
pushq $0x7
popq %rdx
movq %r15, %rdi
callq 0x2217ad
testl %eax, %eax
je 0x26a812
movq %r13, %rdi
callq 0x26a894
testl %eax, %eax
je 0x26a829
movq %r13, %rdi
movq %r15, %rsi
callq 0x26a8b4
testl %eax, %eax
je 0x26a829
leaq 0x10d3e2(%rip), %rsi    # 0x377bfb
movq %r14, %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0x226dce
pushq $0x1
popq %rbx
movl %ebx, %eax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3BeginWriteOperation
SQLITE_PRIVATE void sqlite3BeginWriteOperation(Parse *pParse, int setStatement, int iDb){
  Parse *pToplevel = sqlite3ParseToplevel(pParse);
  sqlite3CodeVerifySchema(pParse, iDb);
  DbMaskSet(pToplevel->writeMask, iDb);
  pToplevel->isMultiWrite |= setStatement;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movl %edx, %ebx
movl %esi, %ebp
movq 0xa0(%rdi), %r14
testq %r14, %r14
cmoveq %rdi, %r14
movl %edx, %esi
callq 0x269725
pushq $0x1
popq %rax
movl %ebx, %ecx
shll %cl, %eax
orl %eax, 0x70(%r14)
orb %bpl, 0x20(%r14)
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3ReadOnlyShadowTables
SQLITE_PRIVATE int sqlite3ReadOnlyShadowTables(sqlite3 *db){
#ifndef SQLITE_OMIT_VIRTUALTABLE
  if( (db->flags & SQLITE_Defensive)!=0
   && db->pVtabCtx==0
   && db->nVdbeExec==0
  ){
    return 1;
  }
#endif
  return 0;
}

// Assembly:
testb $0x10, 0x33(%rdi)
je 0x26a8ad
cmpq $0x0, 0x208(%rdi)
jne 0x26a8ad
cmpl $0x0, 0xcc(%rdi)
je 0x26a8b0
xorl %eax, %eax
retq
pushq $0x1
popq %rax
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3ShadowTableName
SQLITE_PRIVATE int sqlite3ShadowTableName(sqlite3 *db, const char *zName){
  char *zTail;                  /* Pointer to the last "_" in zName */
  Table *pTab;                  /* Table that zName is a shadow of */
  zTail = strrchr(zName, '_');
  if( zTail==0 ) return 0;
  *zTail = 0;
  pTab = sqlite3FindTable(db, zName, 0);
  *zTail = '_';
  if( pTab==0 ) return 0;
  if( !IsVirtual(pTab) ) return 0;
  return sqlite3IsShadowTableOf(db, pTab, zName);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
pushq $0x5f
popq %rsi
movq %rbx, %rdi
callq 0x17830
testq %rax, %rax
je 0x26a901
movq %rax, %r15
movb $0x0, (%rax)
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x22beb2
movb $0x5f, (%r15)
testq %rax, %rax
je 0x26a901
cmpl $0x0, 0x54(%rax)
je 0x26a901
movq %r14, %rdi
movq %rax, %rsi
movq %rbx, %rdx
popq %rbx
popq %r14
popq %r15
jmp 0x26a909
xorl %eax, %eax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3IsShadowTableOf
SQLITE_PRIVATE int sqlite3IsShadowTableOf(sqlite3 *db, Table *pTab, const char *zName){
  int nName;                    /* Length of zName */
  Module *pMod;                 /* Module for the virtual table */

  if( !IsVirtual(pTab) ) return 0;
  nName = sqlite3Strlen30(pTab->zName);
  if( sqlite3_strnicmp(zName, pTab->zName, nName)!=0 ) return 0;
  if( zName[nName]!='_' ) return 0;
  pMod = (Module*)sqlite3HashFind(&db->aModule, pTab->azModuleArg[0]);
  if( pMod==0 ) return 0;
  if( pMod->pModule->iVersion<3 ) return 0;
  if( pMod->pModule->xShadowName==0 ) return 0;
  return pMod->pModule->xShadowName(zName+nName+1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
cmpl $0x0, 0x54(%rsi)
je 0x26a98a
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r14
movq (%rsi), %r12
movq %r12, %rdi
callq 0x2211ac
movl %eax, %ebp
movq %rbx, %rdi
movq %r12, %rsi
movl %eax, %edx
callq 0x2217ad
testl %eax, %eax
jne 0x26a98a
movl %ebp, %r12d
cmpb $0x5f, (%rbx,%r12)
jne 0x26a98a
addq $0x1f0, %r14            # imm = 0x1F0
movq 0x58(%r15), %rax
movq (%rax), %rsi
movq %r14, %rdi
callq 0x24a8e6
testq %rax, %rax
je 0x26a98a
movq (%rax), %rax
cmpl $0x3, (%rax)
jl 0x26a98a
movq 0xb8(%rax), %rax
testq %rax, %rax
je 0x26a98a
addq %r12, %rbx
incq %rbx
movq %rbx, %rdi
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmpq *%rax
xorl %eax, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3ResolveSelfReference
SQLITE_PRIVATE int sqlite3ResolveSelfReference(
  Parse *pParse,   /* Parsing context */
  Table *pTab,     /* The table being referenced, or NULL */
  int type,        /* NC_IsCheck, NC_PartIdx, NC_IdxExpr, NC_GenCol, or 0 */
  Expr *pExpr,     /* Expression to resolve.  May be NULL. */
  ExprList *pList  /* Expression list to resolve.  May be NULL. */
){
  SrcList sSrc;                   /* Fake SrcList for pParse->pNewTable */
  NameContext sNC;                /* Name context for pParse->pNewTable */
  int rc;

  assert( type==0 || pTab!=0 );
  assert( type==NC_IsCheck || type==NC_PartIdx || type==NC_IdxExpr
          || type==NC_GenCol || pTab==0 );
  memset(&sNC, 0, sizeof(sNC));
  memset(&sSrc, 0, sizeof(sSrc));
  if( pTab ){
    sSrc.nSrc = 1;
    sSrc.a[0].zName = pTab->zName;
    sSrc.a[0].pTab = pTab;
    sSrc.a[0].iCursor = -1;
    if( pTab->pSchema!=pParse->db->aDb[1].pSchema ){
      /* Cause EP_FromDDL to be set on TK_FUNCTION nodes of non-TEMP
      ** schema elements */
      type |= NC_FromDDL;
    }
  }
  sNC.pParse = pParse;
  sNC.pSrcList = &sSrc;
  sNC.ncFlags = type | NC_IsDDL;
  if( (rc = sqlite3ResolveExprNames(&sNC, pExpr))!=SQLITE_OK ) return rc;
  if( pList ) rc = sqlite3ResolveExprListNames(&sNC, pList);
  return rc;
}

// Assembly:
pushq %rbx
subq $0xb0, %rsp
movq %r8, %rbx
xorps %xmm0, %xmm0
movups %xmm0, 0x98(%rsp)
andq $0x0, 0xa8(%rsp)
movups %xmm0, 0x88(%rsp)
movaps %xmm0, (%rsp)
movaps %xmm0, 0x10(%rsp)
movaps %xmm0, 0x20(%rsp)
movaps %xmm0, 0x30(%rsp)
movaps %xmm0, 0x40(%rsp)
movaps %xmm0, 0x50(%rsp)
movaps %xmm0, 0x60(%rsp)
andq $0x0, 0x70(%rsp)
testq %rsi, %rsi
je 0x26aa1f
movl $0x1, (%rsp)
movq (%rsi), %rax
movq %rax, 0x18(%rsp)
movq %rsi, 0x28(%rsp)
orl $-0x1, 0x48(%rsp)
movq 0x70(%rsi), %rax
movq (%rdi), %rsi
movq 0x20(%rsi), %rsi
movl %edx, %r8d
orl $0x40000, %r8d          # imm = 0x40000
cmpq 0x38(%rsi), %rax
cmovnel %r8d, %edx
leaq 0x78(%rsp), %rax
movq %rdi, (%rax)
movq %rsp, %rsi
movq %rsi, 0x8(%rax)
orl $0x10000, %edx          # imm = 0x10000
movl %edx, 0x28(%rax)
movq %rax, %rdi
movq %rcx, %rsi
callq 0x26afc4
testl %eax, %eax
je 0x26aa4b
pushq $0x1
popq %rax
jmp 0x26aa61
testq %rbx, %rbx
je 0x26aa5f
leaq 0x78(%rsp), %rdi
movq %rbx, %rsi
callq 0x26b08f
jmp 0x26aa61
xorl %eax, %eax
addq $0xb0, %rsp
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3ResultSetOfSelect
SQLITE_PRIVATE Table *sqlite3ResultSetOfSelect(Parse *pParse, Select *pSelect, char aff){
  Table *pTab;
  sqlite3 *db = pParse->db;
  u64 savedFlags;

  savedFlags = db->flags;
  db->flags &= ~(u64)SQLITE_FullColNames;
  db->flags |= SQLITE_ShortColNames;
  sqlite3SelectPrep(pParse, pSelect, 0);
  db->flags = savedFlags;
  if( pParse->nErr ) return 0;
  while( pSelect->pPrior ) pSelect = pSelect->pPrior;
  pTab = sqlite3DbMallocZero(db, sizeof(Table) );
  if( pTab==0 ){
    return 0;
  }
  pTab->nTabRef = 1;
  pTab->zName = 0;
  pTab->nRowLogEst = 200; assert( 200==sqlite3LogEst(1048576) );
  sqlite3ColumnsFromExprList(pParse, pSelect->pEList, &pTab->nCol, &pTab->aCol);
  sqlite3SelectAddColumnTypeAndCollation(pParse, pTab, pSelect, aff);
  pTab->iPKey = -1;
  if( db->mallocFailed ){
    sqlite3DeleteTable(db, pTab);
    return 0;
  }
  return pTab;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rsi, %r13
movq %rdi, %r14
movq (%rdi), %rbx
movq 0x30(%rbx), %r12
movq %r12, %rax
andq $-0x45, %rax
orq $0x40, %rax
movq %rax, 0x30(%rbx)
xorl %r15d, %r15d
xorl %edx, %edx
callq 0x26d3a5
movq %r12, 0x30(%rbx)
cmpl $0x0, 0x30(%r14)
jne 0x26ab6b
movq %r13, %r12
movq 0x50(%r13), %r13
testq %r13, %r13
jne 0x26aaf5
movl $0x80, %esi
movq %rbx, %rdi
callq 0x2258ed
testq %rax, %rax
je 0x26ab68
movq %rax, %r15
movl $0x1, 0x3c(%rax)
andq $0x0, (%rax)
movw $0xc8, 0x4a(%rax)
movq 0x20(%r12), %rsi
leaq 0x46(%rax), %rdx
movq %rax, %rcx
addq $0x8, %rcx
movq %r14, %rdi
callq 0x26eb22
movsbl %bpl, %ecx
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x26edff
orw $-0x1, 0x44(%r15)
cmpb $0x0, 0x61(%rbx)
je 0x26ab6b
movq %rbx, %rdi
movq %r15, %rsi
callq 0x21f182
xorl %r15d, %r15d
movq %r15, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3VdbeEndCoroutine
SQLITE_PRIVATE void sqlite3VdbeEndCoroutine(Vdbe *v, int regYield){
  sqlite3VdbeAddOp1(v, OP_EndCoroutine, regYield);

  /* Clear the temporary register cache, thereby ensuring that each
  ** co-routine has its own independent set of registers, because co-routines
  ** might expect their registers to be preserved across an OP_Yield, and
  ** that could cause problems if two or more co-routines are using the same
  ** temporary register.
  */
  v->pParse->nTempReg = 0;
  v->pParse->nRangeReg = 0;
}

// Assembly:
pushq %rbx
movl %esi, %edx
movq %rdi, %rbx
pushq $0x42
popq %rsi
callq 0x265d5c
movq 0x18(%rbx), %rax
movb $0x0, 0x1f(%rax)
andl $0x0, 0x28(%rax)
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/external/sqlite-3.33.0/sqlite3.c
// Function: sqlite3TableAffinity
SQLITE_PRIVATE void sqlite3TableAffinity(Vdbe *v, Table *pTab, int iReg){
  int i, j;
  char *zColAff = pTab->zColAff;
  if( zColAff==0 ){
    sqlite3 *db = sqlite3VdbeDb(v);
    zColAff = (char *)sqlite3DbMallocRaw(0, pTab->nCol+1);
    if( !zColAff ){
      sqlite3OomFault(db);
      return;
    }

    for(i=j=0; i<pTab->nCol; i++){
      assert( pTab->aCol[i].affinity!=0 );
      if( (pTab->aCol[i].colFlags & COLFLAG_VIRTUAL)==0 ){
        zColAff[j++] = pTab->aCol[i].affinity;
      }
    }
    do{
      zColAff[j--] = 0;
    }while( j>=0 && zColAff[j]<=SQLITE_AFF_BLOB );
    pTab->zColAff = zColAff;
  }
  assert( zColAff!=0 );
  i = sqlite3Strlen30NN(zColAff);
  if( i ){
    if( iReg ){
      sqlite3VdbeAddOp4(v, OP_Affinity, iReg, i, 0, zColAff, i);
    }else{
      sqlite3VdbeChangeP4(v, -1, zColAff, i);
    }
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x10, %rsp
movl %edx, %ebx
movq %rdi, %r14
movq 0x28(%rsi), %r15
testq %r15, %r15
jne 0x26ac25
movq %rsi, %r12
movq (%r14), %r13
movswq 0x46(%rsi), %rdi
incq %rdi
callq 0x21f6df
testq %rax, %rax
je 0x26ac7b
movq %rax, %r15
xorl %eax, %eax
pushq $0x1c
popq %rcx
xorl %edx, %edx
movswq 0x46(%r12), %rsi
cmpq %rsi, %rax
jge 0x26ac07
movq 0x8(%r12), %rsi
testb $0x20, (%rsi,%rcx)
jne 0x26abfe
movb -0x3(%rsi,%rcx), %sil
movslq %edx, %rdi
incl %edx
movb %sil, (%r15,%rdi)
incq %rax
addq $0x20, %rcx
jmp 0x26abda
movslq %edx, %rax
movb $0x0, (%r15,%rax)
testq %rax, %rax
jle 0x26ac20
cmpb $0x42, -0x1(%r15,%rax)
leaq -0x1(%rax), %rax
jl 0x26ac0a
movq %r15, 0x28(%r12)
movq %r15, %rdi
callq 0x172d0
andl $0x3fffffff, %eax       # imm = 0x3FFFFFFF
je 0x26ac50
testl %ebx, %ebx
je 0x26ac5e
movl %eax, (%rsp)
pushq $0x5a
popq %rsi
movq %r14, %rdi
movl %ebx, %edx
movl %eax, %ecx
xorl %r8d, %r8d
movq %r15, %r9
callq 0x264609
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
pushq $-0x1
popq %rsi
movq %r14, %rdi
movq %r15, %rdx
movl %eax, %ecx
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
jmp 0x2270ee
movq %r13, %rdi
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
jmp 0x224bb1