// File: /workspace/github_c_makefile_star2_O3/shifengbin[P]bishe/Output/../Persistence/sqlite3.c
// Function: sqlite3MinimumFileFormat
SQLITE_PRIVATE void sqlite3MinimumFileFormat(Parse *pParse, int iDb, int minFormat){
  Vdbe *v;
  v = sqlite3GetVdbe(pParse);
  /* The VDBE should have been allocated before this routine is called.
  ** If that allocation failed, we would have quit before reaching this
  ** point */
  if( ALWAYS(v) ){
    int r1 = sqlite3GetTempReg(pParse);
    int r2 = sqlite3GetTempReg(pParse);
    int addr1;
    sqlite3VdbeAddOp3(v, OP_ReadCookie, iDb, r1, BTREE_FILE_FORMAT);
    sqlite3VdbeUsesBtree(v, iDb);
    sqlite3VdbeAddOp2(v, OP_Integer, minFormat, r2);
    addr1 = sqlite3VdbeAddOp3(v, OP_Ge, r2, 0, r1);
    sqlite3VdbeChangeP5(v, SQLITE_NOTNULL); VdbeCoverage(v);
    sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_FILE_FORMAT, r2);
    sqlite3VdbeJumpHere(v, addr1);
    sqlite3ReleaseTempReg(pParse, r1);
    sqlite3ReleaseTempReg(pParse, r2);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %r14d
movl %esi, %r13d
movq %rdi, %rbx
callq 0x4f63b
testq %rax, %rax
je 0x71beb
movq %rax, %r12
movb 0x1f(%rbx), %al
testb %al, %al
movl %r14d, -0x2c(%rbp)
je 0x71a5c
leal -0x1(%rax), %ecx
movb %cl, 0x1f(%rbx)
movzbl %cl, %ecx
movl 0x24(%rbx,%rcx,4), %r15d
testb %cl, %cl
je 0x71a67
addb $-0x2, %al
movb %al, 0x1f(%rbx)
movzbl %al, %eax
movl 0x24(%rbx,%rax,4), %r14d
jmp 0x71a72
movl 0x54(%rbx), %r15d
incl %r15d
movl %r15d, 0x54(%rbx)
movl 0x54(%rbx), %r14d
incl %r14d
movl %r14d, 0x54(%rbx)
movq %r12, %rdi
movl $0x34, %esi
movl %r13d, %edx
movl %r15d, %ecx
movl $0x2, %r8d
callq 0x3ea9f
movl $0x1, %eax
movl %r13d, %ecx
shll %cl, %eax
orl %eax, 0x94(%r12)
cmpl $0x1, %r13d
je 0x71ac5
movq (%r12), %rcx
movq 0x20(%rcx), %rcx
movslq %r13d, %rdx
shlq $0x5, %rdx
movq 0x8(%rcx,%rdx), %rcx
cmpb $0x0, 0x11(%rcx)
je 0x71ac5
orl %eax, 0x98(%r12)
movl %r13d, -0x30(%rbp)
movq %r12, %rdi
movl $0x17, %esi
movl -0x2c(%rbp), %edx
movl %r14d, %ecx
xorl %r8d, %r8d
callq 0x3ea9f
movq %r12, %rdi
movl $0x53, %esi
movl %r14d, %edx
xorl %ecx, %ecx
movl %r15d, %r8d
callq 0x3ea9f
movl %eax, -0x2c(%rbp)
movq (%r12), %rax
leaq 0x219f6(%rip), %r13     # 0x934f8
cmpb $0x0, 0x51(%rax)
movq %r13, %rax
jne 0x71b21
movslq 0x3c(%r12), %rax
movq 0x8(%r12), %rcx
leaq (%rax,%rax,2), %rax
leaq (%rcx,%rax,8), %rax
addq $-0x18, %rax
movb $-0x70, 0x3(%rax)
movq %r12, %rdi
movl $0x35, %esi
movl -0x30(%rbp), %edx
movl $0x2, %ecx
movl %r14d, %r8d
callq 0x3ea9f
movl 0x3c(%r12), %eax
leal -0x1(%rax), %ecx
movq 0x30(%r12), %rdx
movl %ecx, 0x68(%rdx)
movq (%r12), %rdx
cmpb $0x0, 0x51(%rdx)
jne 0x71b6f
movl -0x2c(%rbp), %edx
testl %edx, %edx
cmovnsl %edx, %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %r13
shlq $0x3, %r13
addq 0x8(%r12), %r13
movl %eax, 0x8(%r13)
testl %r15d, %r15d
je 0x71baf
movzbl 0x1f(%rbx), %eax
cmpq $0x7, %rax
ja 0x71baf
xorl %ecx, %ecx
cmpl %r15d, 0x94(%rbx,%rcx)
je 0x71ba7
addq $0x14, %rcx
cmpl $0xc8, %ecx
jne 0x71b84
leal 0x1(%rax), %ecx
movb %cl, 0x1f(%rbx)
movl %r15d, 0x24(%rbx,%rax,4)
jmp 0x71baf
movb $0x1, 0x8e(%rbx,%rcx)
testl %r14d, %r14d
je 0x71beb
movzbl 0x1f(%rbx), %eax
cmpq $0x7, %rax
ja 0x71beb
xorl %ecx, %ecx
cmpl %r14d, 0x94(%rbx,%rcx)
je 0x71be3
addq $0x14, %rcx
cmpl $0xc8, %ecx
jne 0x71bc0
leal 0x1(%rax), %ecx
movb %cl, 0x1f(%rbx)
movl %r14d, 0x24(%rbx,%rax,4)
jmp 0x71beb
movb $0x1, 0x8e(%rbx,%rcx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq