// File: /workspace/github_c_makefile_star2_O1/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 0x507bf
testq %rax, %rax
je 0x731db
movq %rax, %r12
movb 0x1f(%rbx), %al
testb %al, %al
je 0x73032
decb %al
movb %al, 0x1f(%rbx)
movzbl %al, %eax
movl 0x24(%rbx,%rax,4), %r15d
jmp 0x7303d
movl 0x54(%rbx), %r15d
incl %r15d
movl %r15d, 0x54(%rbx)
movl %r14d, -0x2c(%rbp)
movb 0x1f(%rbx), %al
testb %al, %al
je 0x73057
decb %al
movb %al, 0x1f(%rbx)
movzbl %al, %eax
movl 0x24(%rbx,%rax,4), %r14d
jmp 0x73062
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 0x3fa9e
movl $0x1, %eax
movl %r13d, %ecx
shll %cl, %eax
orl %eax, 0x94(%r12)
cmpl $0x1, %r13d
je 0x730b5
movq (%r12), %rcx
movq 0x20(%rcx), %rcx
movslq %r13d, %rdx
shlq $0x5, %rdx
movq 0x8(%rcx,%rdx), %rcx
cmpb $0x0, 0x11(%rcx)
je 0x730b5
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 0x3fa9e
movq %r12, %rdi
movl $0x53, %esi
movl %r14d, %edx
xorl %ecx, %ecx
movl %r15d, %r8d
callq 0x3fa9e
movl %eax, -0x2c(%rbp)
movq (%r12), %rax
leaq 0x223f6(%rip), %r13     # 0x954e8
cmpb $0x0, 0x51(%rax)
movq %r13, %rax
jne 0x73111
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 0x3fa9e
movl 0x3c(%r12), %eax
leal -0x1(%rax), %ecx
movq 0x30(%r12), %rdx
movl %ecx, 0x68(%rdx)
movq (%r12), %rdx
cmpb $0x0, 0x51(%rdx)
jne 0x7315f
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 0x7319f
movzbl 0x1f(%rbx), %eax
cmpq $0x7, %rax
ja 0x7319f
xorl %ecx, %ecx
cmpl %r15d, 0x94(%rbx,%rcx)
je 0x73197
addq $0x14, %rcx
cmpl $0xc8, %ecx
jne 0x73174
leal 0x1(%rax), %ecx
movb %cl, 0x1f(%rbx)
movl %r15d, 0x24(%rbx,%rax,4)
jmp 0x7319f
movb $0x1, 0x8e(%rbx,%rcx)
testl %r14d, %r14d
je 0x731db
movzbl 0x1f(%rbx), %eax
cmpq $0x7, %rax
ja 0x731db
xorl %ecx, %ecx
cmpl %r14d, 0x94(%rbx,%rcx)
je 0x731d3
addq $0x14, %rcx
cmpl $0xc8, %ecx
jne 0x731b0
leal 0x1(%rax), %ecx
movb %cl, 0x1f(%rbx)
movl %r14d, 0x24(%rbx,%rax,4)
jmp 0x731db
movb $0x1, 0x8e(%rbx,%rcx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq