Function at 0x665f21d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
mov edi, eax
push esi
push ebx
mov ebx, ecx
sub esp, 0xbc
mov ebp, dword [edi + 8]
mov eax, dword [eax]
test ebp, ebp
mov dword [esp + 0x28], eax
je 0x665f2460
or byte [ebp + 0x58], 0x10
lea eax, [esp + 0x80]
mov dword [edi + 0x48], 2
mov ecx, ebx
mov dword [esp], eax
mov eax, edi
call sym._sqlite3TwoPartName
test eax, eax
mov dword [esp + 0x34], eax
js 0x665f22cd
mov ecx, dword [esp + 0x28]
cmp eax, 1
mov esi, dword [ecx + 0x10]
je 0x665f2310
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x28]
call sym._sqlite3NameFromToken
test eax, eax
mov dword [esp + 0x2c], eax
je 0x665f22cd
mov ecx, dword [esp + 0xd4]
test ecx, ecx
jne 0x665f22e0
mov edx, dword [esp + 0xd0]
mov eax, dword [esp + 0x28]
call sym._sqlite3NameFromToken
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
mov edx, dword [ebx + 4]
mov dword [esp + 0x38], 0
shl eax, 4
add esi, eax
test edx, edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], esi
je 0x665f228e
mov eax, dword [esi]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov edx, 0x13
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov eax, edi
call sym._sqlite3AuthCheck
test eax, eax
mov esi, eax
je 0x665f2320
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov eax, ebx
call sym._sqlite3DbFree
mov edx, dword [esp + 0x30]
mov eax, ebx
call sym._sqlite3DbFree
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0xd0]
mov dword [esp + 4], 0x6661dd6f
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sym._sqlite3MPrintf
mov dword [esp + 0x30], eax
jmp 0x665f2268
mov eax, edi
call sym._sqlite3OpenTempDatabase
test eax, eax
jne 0x665f22cd
jmp 0x665f2229
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xa0], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0x1c4], 0
mov dword [esp + 8], 0xe
mov dword [esp], ecx
mov dword [esp + 0xa8], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call sym.libsqlite3_0.dll_sqlite3_file_control
test eax, eax
jne 0x665f2412
mov esi, dword [esp + 0xa0]
test esi, esi
je 0x665f22b3
mov eax, dword [edi + 0x48]
xor ecx, ecx
mov edx, 0x61
lea ebx, [eax + 1]
mov eax, ebp
mov dword [edi + 0x48], ebx
mov dword [esp + 4], 0
mov dword [esp], ebx
call sym._sqlite3VdbeAddOp3
mov ecx, esi
mov edx, eax
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov eax, ebp
mov edx, 1
call sym._sqlite3VdbeSetNumCols
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
je 0x665f2480
mov dword [esp + 4], 0
mov dword [esp], 1
mov ecx, ebx
mov edx, 0x23
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
jmp 0x665f22b3
cmp eax, 0xc
je 0x665f24a0
mov edx, dword [esp + 0xa0]
test edx, edx
je 0x665f2451
mov dword [esp + 8], edx
mov dword [esp + 4], 0x6661ac50
mov dword [esp], edi
mov dword [esp + 0x34], eax
call sym._sqlite3ErrorMsg
mov edx, dword [esp + 0xa0]
mov dword [esp], edx
call sym.libsqlite3_0.dll_sqlite3_free
mov eax, dword [esp + 0x34]
add dword [edi + 0x40], 1
mov dword [edi + 0xc], eax
jmp 0x665f22b3
mov eax, edi
mov dword [esp + 0x2c], edx
call sym._sqlite3GetVdbe.part.430
test eax, eax
mov ebp, eax
mov edx, dword [esp + 0x2c]
je 0x665f22cd
jmp 0x665f21ef
mov dword [esp + 4], 0
mov dword [esp], str.result
xor ecx, ecx
xor edx, edx
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
jmp 0x665f23e1
mov ecx, 0x39
xor edx, edx
mov eax, 0x39
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], ebp
mov esi, ecx
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], ebx
mov ebp, edx
mov edi, str.index_xinfo
mov ebx, eax
jmp 0x665f24ed
lea ebp, [ebx + 1]
cmp ebp, esi
jg 0x665f22b3
lea ebx, [ebp + esi]
mov eax, ebx
sar eax, 1
lea eax, [eax + eax*2]
mov edi, dword [eax*4 + str.2Sbf]
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], edi
sar ebx, 1
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_stricmp
test eax, eax
je 0x665f250a
jns 0x665f24d0
lea esi, [ebx - 1]
jmp 0x665f24d3
mov edx, ebp
mov ecx, esi
mov dword [esp + 0x5c], edi
cmp edx, ecx
mov eax, ebx
mov dword [esp + 0x58], ebx
mov esi, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
jg 0x665f22b3
lea eax, [eax + eax*2]
movzx edx, byte [eax*4 + 0x666255c5]
test dl, 1
jne 0x665f528b
mov eax, dword [esp + 0x58]
lea eax, [eax + eax*2]
lea eax, [eax*4 + str.2Sbf]
cmp byte [eax + 4], 0x23
ja case.0x665f2560.1717720509
movzx eax, byte [eax + 4]
jmp dword [eax*4 + 0x6661e024]
cmp dword [ebx], 0
mov eax, 0xa
cmovne eax, dword [esp + 0x34]
cmp dword [esp + 0x30], 0
mov dword [esp + 0x34], eax
je 0x665f6266
mov esi, dword [esp + 0x30]
movzx eax, byte [esi]
test al, al
je 0x665f624a
cmp byte [eax + 0x66626580], 0x66
mov ebx, str.full
mov edx, eax
je 0x665f25b6
jmp 0x665f25c5
movzx ecx, byte [ebx]
movzx ecx, byte [ecx + 0x66626580]
cmp byte [edx + 0x66626580], cl
jne 0x665f25c5
add esi, 1
movzx edx, byte [esi]
add ebx, 1
test dl, dl
jne 0x665f25a4
xor edx, edx
movzx ecx, byte [ebx]
mov ebx, 1
movzx ecx, byte [ecx + 0x66626580]
cmp byte [edx + 0x66626580], cl
jne 0x665f59de
mov eax, ebp
mov edx, 3
call sym._sqlite3VdbeSetNumCols
mov eax, dword [ebp]
mov dword [edi + 0x48], 3
cmp byte [eax + 0x41], 0
je 0x665f596b
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], 1
mov edx, 0xb
mov dword [esp], ebx
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov dword [esp + 4], 0
mov dword [esp], 3
mov ecx, 1
mov edx, 0x23
mov eax, ebp
call sym._sqlite3VdbeAddOp3
jmp 0x665f22b3
mov eax, dword [esp + 0x30]
test eax, eax
je 0x665f2676
lea edx, [esp + 0x90]
mov dword [esp + 0x90], 0
call sym._sqlite3GetInt32
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_wal_autocheckpoint
mov esi, dword [esp + 0x28]
xor eax, eax
xor edx, edx
cmp dword [esi + 0xd8], 0x665da240
je 0x665f63df
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, edi
mov edx, str.wal_autocheckpoint
call sym._returnSingleInt
jmp 0x665f22b3
mov eax, dword [esp + 0x30]
test eax, eax
je 0x665f26e9
lea edx, [esp + 0x90]
call sym._sqlite3DecOrHexToI64
test eax, eax
jne 0x665f26e9
cmp dword [esp + 0x94], 0
mov eax, dword [esp + 0x90]
js 0x665f26e9
and eax, 0x7fffffff
mov esi, dword [esp + 0x28]
mov edx, 8
cmp eax, 8
cmovg eax, edx
mov dword [esi + 0x84], eax
mov eax, dword [esp + 0x28]
mov edx, str.threads
mov eax, dword [eax + 0x84]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov eax, edi
call sym._returnSingleInt
jmp 0x665f22b3
cmp dword [esp + 0x30], 0
je 0x665f6279
mov eax, dword [esp + 0x30]
cmp byte [eax], 0
jne 0x665f5f6e
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x40], 1
jbe 0x665f626d
mov eax, dword [sym.libsqlite3_0.dll_sqlite3_temp_directory]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
mov eax, dword [esp + 0x30]
cmp byte [eax], 0
jne 0x665f5f54
mov dword [sym.libsqlite3_0.dll_sqlite3_temp_directory], 0
jmp 0x665f22b3
cmp dword [esp + 0x30], 0
je 0x665f646d
mov ebx, dword [esp + 0x30]
movzx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp dl, 2
jbe 0x665f5db1
test al, al
je 0x665f6456
movzx ebp, al
mov edx, ebx
mov ebx, str.file
cmp byte [ebp + 0x66626580], 0x66
mov ecx, ebp
jne 0x665f27c8
mov byte [esp + 0x34], al
jmp 0x665f27b4
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x66626580]
cmp byte [ecx + 0x66626580], al
jne 0x665f5da7
add edx, 1
movzx ecx, byte [edx]
add ebx, 1
test cl, cl
jne 0x665f279e
movzx eax, byte [esp + 0x34]
xor ecx, ecx
movzx edx, byte [ebx]
movzx ebx, byte [edx + 0x66626580]
cmp byte [ecx + 0x66626580], bl
je 0x665f63d5
cmp byte [ebp + 0x66626580], 0x6d
jne 0x665f63cb
mov ebx, dword [esp + 0x30]
mov ecx, str.memory
jmp 0x665f2808
movzx edx, byte [ecx]
movzx edx, byte [edx + 0x66626580]
cmp byte [eax + 0x66626580], dl
jne 0x665f2817
add ebx, 1
movzx eax, byte [ebx]
add ecx, 1
test al, al
jne 0x665f27f6
xor eax, eax
movzx edx, byte [ecx]
movzx ecx, byte [edx + 0x66626580]
cmp byte [eax + 0x66626580], cl
mov eax, 2
cmove esi, eax
jmp 0x665f5db7
mov eax, dword [esp + 0x30]
test eax, eax
je 0x665f22b3
mov edx, eax
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
call sym._sqlite3FindTable
test eax, eax
mov dword [esp + 0x38], eax
je 0x665f22b3
mov esi, dword [eax + 8]
test esi, esi
jne 0x665f286b
jmp 0x665f2876
mov esi, dword [esi + 0x14]
test esi, esi
je 0x665f2876
movzx eax, byte [esi + 0x34]
and eax, 3
cmp al, 2
jne 0x665f2864
mov edx, 6
mov eax, ebp
call sym._sqlite3VdbeSetNumCols
mov edx, dword [esp + 0x34]
mov eax, edi
mov dword [edi + 0x48], 6
call sym._sqlite3CodeVerifySchema
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
je 0x665f5fbc
cmp byte [eax + 0x41], 0
je 0x665f605c
mov ebx, dword [esp + 0x38]
mov eax, edi
mov edx, ebx
call sym._sqlite3ViewGetColumnNames
cmp word [ebx + 0x22], 0
mov edi, dword [ebx + 4]
jle 0x665f22b3
xor eax, eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x34], 0
mov esi, eax
jmp 0x665f28f3
add dword [esp + 0x34], 1
mov eax, dword [esp + 0x38]
add esi, 1
add edi, 0x18
movsx eax, word [eax + 0x22]
cmp eax, esi
jle 0x665f22b3
test byte [edi + 0x17], 2
jne 0x665f28d8
mov ecx, esi
sub ecx, dword [esp + 0x34]
mov edx, 0x19
mov dword [esp + 4], 0
mov dword [esp], 1
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ebx, dword [edi]
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 2
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, ebx
mov edx, eax
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov ebx, dword [edi + 0xc]
mov eax, 0x6661a381
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 3
test ebx, ebx
cmove ebx, eax
xor ecx, ecx
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, ebx
mov edx, eax
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeChangeP4
xor ecx, ecx
cmp byte [edi + 0x14], 0
mov edx, 0x19
mov dword [esp + 4], 0
mov dword [esp], 4
mov eax, ebp
setne cl
call sym._sqlite3VdbeAddOp3
mov ebx, dword [edi + 8]
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], 5
test ebx, ebx
je 0x665f5a85
mov edx, 0x61
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov dword [esp], 0
mov edx, eax
mov ecx, ebx
mov eax, ebp
call sym._sqlite3VdbeChangeP4
xor ecx, ecx
test byte [edi + 0x17], 1
je 0x665f2a30
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x665f61d8
mov ebx, dword [esp + 0x38]
movsx edx, word [ebx + 0x22]
test edx, edx
jle 0x665f61d8
mov eax, dword [eax + 4]
movsx ecx, word [eax]
cmp ecx, esi
mov ecx, 1
jne 0x665f2a29
jmp 0x665f2a30
movsx ebx, word [eax + ecx*2 - 2]
cmp ebx, esi
je 0x665f2a30
add ecx, 1
cmp ecx, edx
jle 0x665f2a20
mov dword [esp + 4], 0
mov dword [esp], 6
mov edx, 0x19
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov dword [esp + 4], 0
mov dword [esp], 6
mov ecx, 1
mov edx, 0x23
mov eax, ebp
call sym._sqlite3VdbeAddOp3
jmp 0x665f28dd
cmp dword [esp + 0x30], 0
je 0x665f630f
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x3f], 0
jne 0x665f5dde
mov dword [esp + 4], str.Safety_level_may_not_be_changed_inside_a_transaction
mov dword [esp], edi
call sym._sqlite3ErrorMsg
jmp 0x665f22b3
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x665f6210
mov edx, 4
mov eax, ebx
call sym._sqlite3VdbeSetNumCols
mov edx, dword [esp + 0x34]
mov eax, edi
mov dword [edi + 0x48], 4
call sym._sqlite3CodeVerifySchema
mov eax, dword [ebx]
cmp byte [eax + 0x41], 0
je 0x665f60d8
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0xc]
mov ebp, dword [eax + 0x10]
test ebp, ebp
je 0x665f22b3
mov esi, dword [ebp + 8]
xor ecx, ecx
mov edx, 0x61
mov eax, ebx
mov edi, dword [esi]
mov dword [esp + 4], 0
mov dword [esp], 1
call sym._sqlite3VdbeAddOp3
mov ecx, edi
mov edx, eax
mov dword [esp], 0
mov eax, ebx
call sym._sqlite3VdbeChangeP4
xor ecx, ecx
mov edx, 0x1c
mov dword [esp + 4], 0
mov dword [esp], 2
mov eax, ebx
call sym._sqlite3VdbeAddOp3
movzx edx, word [esi + 0x28]
mov ecx, 1
cmp dx, 9
jle 0x665f2b4f
movsx eax, dx
call sym._sqlite3LogEstToInt.part.13
mov ecx, eax
mov edx, 0x19
mov dword [esp + 4], 0
mov dword [esp], 3
mov eax, ebx
call sym._sqlite3VdbeAddOp3
movzx edx, word [esi + 0x26]
mov ecx, 1
cmp dx, 9
jle 0x665f2b83
movsx eax, dx
call sym._sqlite3LogEstToInt.part.13
mov ecx, eax
mov edx, 0x19
mov dword [esp + 4], 0
mov dword [esp], 4
mov eax, ebx
call sym._sqlite3VdbeAddOp3
mov dword [esp + 4], 0
mov dword [esp], 4
mov ecx, 1
mov edx, 0x23
mov eax, ebx
call sym._sqlite3VdbeAddOp3
mov esi, dword [esi + 8]
test esi, esi
je 0x665f2c96
lea esi, [esi]
mov edi, dword [esi]
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 2
mov eax, ebx
call sym._sqlite3VdbeAddOp3
mov ecx, edi
mov edx, eax
mov dword [esp], 0
mov eax, ebx
call sym._sqlite3VdbeChangeP4
movzx edx, word [esi + 0x2c]
mov ecx, 1
cmp dx, 9
jle 0x665f2c1a
movsx eax, dx
call sym._sqlite3LogEstToInt.part.13
mov ecx, eax
mov edx, 0x19
mov dword [esp + 4], 0
mov dword [esp], 3
mov eax, ebx
call sym._sqlite3VdbeAddOp3
mov eax, dword [esi + 8]
mov ecx, 1
movzx edx, word [eax]
cmp dx, 9
jle 0x665f2c50
movsx eax, dx
call sym._sqlite3LogEstToInt.part.13
mov ecx, eax
mov edx, 0x19
mov dword [esp + 4], 0
mov dword [esp], 4
mov eax, ebx
call sym._sqlite3VdbeAddOp3
mov dword [esp + 4], 0
mov dword [esp], 4
mov ecx, 1
mov edx, 0x23
mov eax, ebx
call sym._sqlite3VdbeAddOp3
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x665f2bd0
mov ebp, dword [ebp]
test ebp, ebp
jne 0x665f2ae5
jmp 0x665f22b3
cmp dword [esp + 0x30], 0
je 0x665f57f7
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x90]
call sym._sqlite3GetInt32
test eax, eax
je 0x665f57f7
cmp dword [esp + 0x90], 0
jle 0x665f57f7
mov esi, dword [esp + 0x34]
xor edx, edx
mov eax, edi
mov ecx, esi
call sym._sqlite3BeginWriteOperation
mov ecx, dword [esp + 0x90]
mov edx, 0x19
mov dword [esp + 4], 0
mov dword [esp], 1
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, esi
mov edx, 0x8f
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, 1
mov ebx, eax
mov edx, 0x23
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, 1
mov edx, 0x25
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov edx, 0x89
mov dword [esp + 4], 0
mov dword [esp], ebx
mov ecx, 1
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov edx, dword [ebp + 0x20]
cmp ebx, edx
jae 0x665f2d93
imul eax, ebx, 0x14
add eax, dword [ebp + 4]
mov dword [eax + 8], edx
mov eax, dword [ebp + 0x18]
sub edx, 1
mov dword [eax + 0x58], edx
jmp 0x665f22b3
mov eax, dword [esp + 0x30]
test eax, eax
je 0x665f22b3
mov edx, eax
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
call sym._sqlite3FindTable
test eax, eax
mov dword [esp + 0x4c], eax
je 0x665f22b3
mov ebp, dword [edi + 8]
test ebp, ebp
je 0x665f654a
mov eax, dword [esp + 0x4c]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x665f22b3
mov edx, 8
mov eax, ebp
call sym._sqlite3VdbeSetNumCols
mov edx, dword [esp + 0x34]
mov eax, edi
mov dword [edi + 0x48], 8
call sym._sqlite3CodeVerifySchema
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
je 0x665f5ced
cmp byte [eax + 0x41], 0
je 0x665f5c4d
mov dword [esp + 0x48], 0
mov esi, ebp
mov edi, ebx
mov ebp, dword [edi + 0x14]
lea ebx, [edi + 0x28]
mov dword [esp + 0x34], 0
test ebp, ebp
jle 0x665f303b
lea esi, [esi]
mov eax, dword [ebx]
mov dword [esp + 0x3c], str.NO_ACTION
mov dword [esp + 0x40], eax
movzx eax, byte [edi + 0x19]
sub eax, 6
cmp al, 3
ja 0x665f2e67
movzx eax, al
mov eax, dword [eax*4 + 0x66620b40]
mov dword [esp + 0x3c], eax
movzx eax, byte [edi + 0x1a]
mov dword [esp + 0x38], str.NO_ACTION
sub eax, 6
cmp al, 3
ja 0x665f2e88
movzx eax, al
mov eax, dword [eax*4 + 0x66620b40]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x48]
mov edx, 0x19
mov dword [esp + 4], 0
mov dword [esp], 1
mov eax, esi
call sym._sqlite3VdbeAddOp3
mov ecx, dword [esp + 0x34]
mov edx, 0x19
mov dword [esp + 4], 0
mov dword [esp], 2
mov eax, esi
call sym._sqlite3VdbeAddOp3
mov ebp, dword [edi + 8]
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 3
mov eax, esi
call sym._sqlite3VdbeAddOp3
mov ecx, ebp
mov edx, eax
mov dword [esp], 0
mov eax, esi
call sym._sqlite3VdbeChangeP4
mov eax, dword [ebx - 4]
mov ecx, dword [esp + 0x4c]
mov edx, 0x61
lea eax, [eax + eax*2]
shl eax, 3
add eax, dword [ecx + 4]
xor ecx, ecx
mov ebp, dword [eax]
mov dword [esp + 4], 0
mov eax, esi
mov dword [esp], 4
call sym._sqlite3VdbeAddOp3
mov ecx, ebp
mov edx, eax
mov dword [esp], 0
mov eax, esi
call sym._sqlite3VdbeChangeP4
mov ebp, dword [esp + 0x40]
mov dword [esp + 4], 0
mov eax, esi
mov dword [esp], 5
cmp ebp, 1
sbb edx, edx
xor ecx, ecx
add ebx, 8
and edx, 0xffffffbb
add edx, 0x61
call sym._sqlite3VdbeAddOp3
mov ecx, ebp
mov edx, eax
mov dword [esp], 0
mov eax, esi
call sym._sqlite3VdbeChangeP4
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 6
mov eax, esi
call sym._sqlite3VdbeAddOp3
mov ecx, dword [esp + 0x38]
mov edx, eax
mov dword [esp], 0
mov eax, esi
call sym._sqlite3VdbeChangeP4
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 7
mov eax, esi
call sym._sqlite3VdbeAddOp3
mov ecx, dword [esp + 0x3c]
mov edx, eax
mov dword [esp], 0
mov eax, esi
call sym._sqlite3VdbeChangeP4
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 8
mov eax, esi
call sym._sqlite3VdbeAddOp3
mov ecx, str.NONE
mov edx, eax
mov dword [esp], 0
mov eax, esi
call sym._sqlite3VdbeChangeP4
mov dword [esp + 4], 0
mov dword [esp], 8
mov ecx, 1
mov edx, 0x23
mov eax, esi
call sym._sqlite3VdbeAddOp3
add dword [esp + 0x34], 1
mov eax, dword [esp + 0x34]
cmp dword [edi + 0x14], eax
jg 0x665f2e40
mov edi, dword [edi + 4]
add dword [esp + 0x48], 1
test edi, edi
jne 0x665f2e23
jmp 0x665f22b3
mov ebx, dword [edi + 0x48]
mov ebp, dword [edi + 8]
lea eax, [ebx + 1]
test ebp, ebp
mov dword [esp + 0x5c], eax
lea eax, [ebx + 4]
mov dword [esp + 0x70], eax
lea eax, [ebx + 5]
mov dword [esp + 0x58], eax
lea eax, [ebx + 6]
mov dword [esp + 0x48], eax
mov dword [edi + 0x48], eax
je 0x665f6517
mov eax, ebp
mov edx, 4
call sym._sqlite3VdbeSetNumCols
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
je 0x665f5e1b
mov edx, dword [esp + 0x34]
mov eax, edi
call sym._sqlite3CodeVerifySchema
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x40]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + esi + 0xc]
lea esi, [ebx + 2]
mov dword [esp + 0x74], esi
lea esi, [ebx + 3]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x60], esi
test eax, eax
mov dword [esp + 0x78], eax
je 0x665f22b3
mov dword [esp + 0x54], edi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x665f56b1
mov edi, dword [esp + 0x38]
mov ecx, eax
mov eax, dword [esp + 0x54]
xor edx, edx
mov dword [esp], edi
call sym._sqlite3LocateTable
test eax, eax
mov dword [esp + 0x40], eax
je 0x665f22b3
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x665f22b3
mov dword [esp + 0x78], 0
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x34]
mov eax, dword [edi]
mov ecx, dword [edi + 0x1c]
mov dword [esp], 0
mov dword [esp + 4], eax
mov eax, esi
call sym._sqlite3TableLock
movsx eax, word [edi + 0x22]
add eax, dword [esp + 0x48]
cmp eax, dword [esi + 0x48]
jle 0x665f3147
mov dword [esi + 0x48], eax
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x54]
xor edx, edx
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], 0x36
mov dword [esp], edi
mov eax, esi
call sym._sqlite3OpenTable
mov eax, dword [esp + 0x5c]
mov ebx, dword [edi]
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, ebx
mov edx, eax
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov ebx, dword [edi + 0x10]
mov edi, 1
test ebx, ebx
je 0x665f52d1
mov dword [esp + 0x3c], ebp
mov ebp, esi
jmp 0x665f31ea
mov esi, dword [esp + 0x34]
mov edx, 0x36
mov ecx, edi
mov dword [esp + 4], esi
mov eax, dword [eax + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
call sym._sqlite3VdbeAddOp3
mov edx, dword [esp + 0x8c]
mov eax, ebp
call sym._sqlite3VdbeSetP4KeyInfo
mov ebx, dword [ebx + 4]
add edi, 1
test ebx, ebx
je 0x665f52cd
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
call sym._sqlite3FindTable
test eax, eax
mov esi, eax
je 0x665f31dc
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x8c], 0
mov eax, dword [eax]
mov edx, dword [esp + 0x34]
mov dword [esp], 0
mov dword [esp + 4], eax
mov eax, ebp
call sym._sqlite3TableLock
lea eax, [esp + 0x8c]
mov dword [esp + 4], 0
mov ecx, ebx
mov edx, esi
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3FkLocateIndex
test eax, eax
jne 0x665f22b3
mov eax, dword [esp + 0x8c]
test eax, eax
jne 0x665f31b0
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], 0x36
mov edx, edi
mov dword [esp], esi
mov eax, ebp
call sym._sqlite3OpenTable
jmp 0x665f31dc
cmp dword [esp + 0x30], 0
je 0x665f65c9
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
mov esi, dword [eax + 0xc]
movzx eax, word [esi + 0x4e]
and eax, 5
sub ax, 1
je 0x665f22b3
mov eax, str.UTF8
mov ebx, 0x66622600
mov ebp, dword [esp + 0x30]
jmp 0x665f32b9
add ebx, 8
mov eax, dword [ebx]
test eax, eax
je 0x665f32ea
mov dword [esp + 4], eax
mov dword [esp], ebp
call sym.libsqlite3_0.dll_sqlite3_stricmp
test eax, eax
jne 0x665f32b0
movzx eax, byte [ebx + 4]
mov ecx, dword [esp + 0x28]
mov edx, 2
test al, al
cmove eax, edx
mov byte [ecx + 0x3e], al
mov byte [esi + 0x4d], al
cmp dword [ebx], 0
jne 0x665f22b3
mov eax, dword [esp + 0x30]
mov dword [esp + 4], str.unsupported_encoding:__s
mov dword [esp], edi
mov dword [esp + 8], eax
call sym._sqlite3ErrorMsg
jmp 0x665f22b3
mov esi, dword [esp + 0x34]
mov eax, 1
mov ecx, esi
shl eax, cl
or dword [ebp + 0x60], eax
sub esi, 1
je 0x665f3333
mov edx, dword [ebp]
mov esi, dword [esp + 0x40]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + esi + 4]
cmp byte [edx + 9], 0
je 0x665f3333
or dword [ebp + 0x64], eax
cmp dword [esp + 0x30], 0
je 0x665f6491
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x90]
mov dword [esp + 0x90], 0
call sym._sqlite3GetInt32
mov ebx, dword [esp + 0x90]
test ebx, ebx
jns 0x665f3376
mov eax, ebx
neg eax
cmp ebx, 0x80000000
mov ebx, 0x7fffffff
cmovne ebx, eax
mov esi, dword [esp + 0x34]
xor edx, edx
mov eax, edi
mov ecx, esi
call sym._sqlite3BeginWriteOperation
mov ecx, ebx
mov dword [esp + 4], 0
mov dword [esp], 1
mov edx, 0x19
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov dword [esp + 4], 1
mov dword [esp], 3
mov ecx, esi
mov edx, 0x34
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov edi, dword [esp + 0x3c]
mov edx, ebx
mov eax, dword [edi + 0xc]
mov dword [eax + 0x50], ebx
mov eax, dword [edi + 4]
call sym._sqlite3BtreeSetCacheSize
jmp 0x665f22b3
cmp dword [esp + 0x30], 0
je 0x665f6335
mov esi, dword [esp + 0x30]
cmp byte [esi], 0
je 0x665f57ce
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x90]
mov eax, dword [eax]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [eax + 0x20]
test eax, eax
jne 0x665f3425
cmp dword [esp + 0x90], 0
jne 0x665f57ce
mov dword [esp + 4], str.not_a_writable_directory
mov dword [esp], edi
call sym._sqlite3ErrorMsg
jmp 0x665f22b3
mov eax, ebp
mov edx, 1
call sym._sqlite3VdbeSetNumCols
mov eax, dword [ebp]
mov dword [edi + 0x48], 1
cmp byte [eax + 0x41], 0
jne 0x665f3470
mov dword [esp + 4], 0
mov dword [esp], str.compile_option
xor ecx, ecx
xor edx, edx
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 1
mov eax, ebp
mov ebx, 0x666263a4
call sym._sqlite3VdbeAddOp3
mov ecx, str.ENABLE_COLUMN_METADATA
mov edx, eax
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov dword [esp + 4], 0
mov dword [esp], 1
mov ecx, 1
mov edx, 0x23
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov esi, dword [ebx + 4]
test esi, esi
je 0x665f22b3
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 1
mov eax, ebp
add ebx, 4
call sym._sqlite3VdbeAddOp3
mov ecx, esi
mov edx, eax
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov dword [esp + 4], 0
mov dword [esp], 1
mov ecx, 1
mov edx, 0x23
mov eax, ebp
call sym._sqlite3VdbeAddOp3
cmp ebx, 0x666263b4
jne 0x665f34c7
jmp 0x665f22b3
mov eax, ebp
mov edx, 2
call sym._sqlite3VdbeSetNumCols
mov eax, dword [ebp]
mov dword [edi + 0x48], 2
cmp byte [eax + 0x41], 0
je 0x665f5b82
mov eax, dword [esp + 0x28]
mov edi, dword [eax + 0x1b4]
test edi, edi
je 0x665f22b3
xor ecx, ecx
mov esi, dword [edi + 8]
mov edx, 0x19
mov dword [esp + 4], 0
mov dword [esp], 1
mov eax, ebp
lea ebx, [ecx + 1]
call sym._sqlite3VdbeAddOp3
mov esi, dword [esi]
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 2
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, esi
mov edx, eax
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov ecx, 1
mov dword [esp + 4], 0
mov dword [esp], 2
mov edx, 0x23
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov edi, dword [edi]
mov ecx, ebx
test edi, edi
jne 0x665f3565
jmp 0x665f22b3
mov eax, dword [esp + 0x30]
test eax, eax
je 0x665f22b3
xor ecx, ecx
mov edx, 1
call sym._getSafetyLevel
test al, al
je 0x665f5aa3
mov edi, dword [esp + 0x28]
mov ecx, 2
mov edx, str.like
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], sym._likeFunc
mov dword [esp + 4], 0x66625bc0
mov dword [esp], 1
mov eax, edi
call sym._sqlite3CreateFunc
mov ecx, 3
mov edx, str.like
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov eax, edi
mov dword [esp + 8], sym._likeFunc
mov dword [esp + 4], 0x66625bc0
mov dword [esp], 1
call sym._sqlite3CreateFunc
mov ecx, 2
mov edx, str.glob
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov eax, edi
mov dword [esp + 8], sym._likeFunc
mov dword [esp + 4], 0x66625bc8
mov dword [esp], 1
call sym._sqlite3CreateFunc
mov ecx, 0xc
mov edx, str.glob
mov eax, edi
call sym._setLikeOptFlag
mov ecx, 0xc
mov eax, dword [esp + 0x28]
mov edx, str.like
call sym._setLikeOptFlag
jmp 0x665f22b3
cmp dword [esp + 0x30], 0
je 0x665f6525
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x90]
mov dword [esp + 0x90], 0
call sym._sqlite3GetInt32
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x90]
mov eax, dword [edi + 0xc]
mov dword [eax + 0x50], edx
mov eax, dword [edi + 4]
call sym._sqlite3BtreeSetCacheSize
jmp 0x665f22b3
imul eax, dword [esp + 0x58], 0xc
cmp dword [esp + 0x30], 0
je 0x665f61e2
mov ebx, dword [eax + 0x666255c8]
mov edi, dword [esp + 0x28]
mov edx, 1
mov eax, ebx
and eax, 0xfff7ffff
cmp byte [edi + 0x3f], 0
cmove ebx, eax
mov eax, dword [esp + 0x30]
xor ecx, ecx
call sym._getSafetyLevel
test al, al
je 0x665f60a8
or dword [edi + 0x18], ebx
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], 0
mov edx, 0x90
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x3f], 0
je 0x665f22b3
call sym._setAllPagerFlags.part.185
jmp 0x665f22b3
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
mov eax, dword [eax + 4]
test esi, esi
mov dword [esp + 0x38], eax
je 0x665f6432
movzx edi, byte [esi]
mov eax, edi
test al, al
je 0x665f6412
movzx eax, al
mov ebx, str.none
cmp byte [eax + 0x66626580], 0x6e
mov edx, eax
je 0x665f3802
jmp 0x665f3811
movzx ecx, byte [ebx]
movzx ecx, byte [ecx + 0x66626580]
cmp byte [edx + 0x66626580], cl
jne 0x665f3811
add esi, 1
movzx edx, byte [esi]
add ebx, 1
test dl, dl
jne 0x665f37f0
xor edx, edx
movzx ecx, byte [ebx]
movzx ebx, byte [edx + 0x66626580]
cmp byte [ecx + 0x66626580], bl
je 0x665f63fa
cmp byte [eax + 0x66626580], 0x66
jne 0x665f63eb
mov esi, dword [esp + 0x30]
mov ebx, str.full
jmp 0x665f3851
movzx ecx, byte [ebx]
movzx ecx, byte [ecx + 0x66626580]
cmp byte [edx + 0x66626580], cl
jne 0x665f3860
add esi, 1
movzx edx, byte [esi]
add ebx, 1
test dl, dl
jne 0x665f383f
xor edx, edx
movzx ecx, byte [ebx]
movzx ecx, byte [ecx + 0x66626580]
cmp byte [edx + 0x66626580], cl
je 0x665f6228
cmp byte [eax + 0x66626580], 0x69
jne 0x665f621e
mov ebx, dword [esp + 0x30]
mov edx, str.incremental
jmp 0x665f38a0
movzx ecx, byte [edx]
movzx ecx, byte [ecx + 0x66626580]
cmp byte [eax + 0x66626580], cl
jne 0x665f38af
add ebx, 1
movzx eax, byte [ebx]
add edx, 1
test al, al
jne 0x665f388e
xor eax, eax
movzx edx, byte [edx]
mov ebx, 2
movzx ecx, byte [edx + 0x66626580]
cmp byte [eax + 0x66626580], cl
jne 0x665f6172
mov eax, dword [esp + 0x28]
mov edx, ebx
lea esi, [ebx - 1]
mov byte [eax + 0x43], bl
mov eax, dword [esp + 0x38]
call sym._sqlite3BtreeSetAutoVacuum
test eax, eax
jne 0x665f22b3
mov edx, 6
mov ecx, 0x66622654
mov eax, ebp
call sym._sqlite3VdbeAddOpList.isra.445
cmp eax, dword [ebp + 0x20]
mov edx, dword [ebp + 4]
jae 0x665f390b
imul ecx, eax, 0x14
mov edi, dword [esp + 0x34]
mov dword [edx + ecx + 4], edi
lea ecx, [eax + 1]
cmp ecx, dword [ebp + 0x20]
jae 0x665f391e
imul ecx, ecx, 0x14
mov edi, dword [esp + 0x34]
mov dword [edx + ecx + 4], edi
lea ecx, [eax + 2]
cmp ecx, dword [ebp + 0x20]
lea ebx, [eax + 4]
jae 0x665f3930
imul ecx, ecx, 0x14
mov dword [edx + ecx + 8], ebx
cmp ebx, dword [ebp + 0x20]
jae 0x665f393c
imul ebx, ebx, 0x14
mov dword [edx + ebx + 4], esi
add eax, 5
cmp eax, dword [ebp + 0x20]
jae 0x665f394f
imul eax, eax, 0x14
mov edi, dword [esp + 0x34]
mov dword [edx + eax + 4], edi
mov edi, dword [esp + 0x34]
mov eax, 1
mov ecx, edi
shl eax, cl
or dword [ebp + 0x60], eax
sub edi, 1
je 0x665f22b3
mov edx, dword [ebp]
mov edi, dword [esp + 0x40]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + edi + 4]
cmp byte [edx + 9], 0
je 0x665f22b3
or dword [ebp + 0x64], eax
jmp 0x665f22b3
imul eax, dword [esp + 0x58], 0xc
mov edi, dword [esp + 0x34]
mov ecx, edi
mov ebx, dword [eax + 0x666255c8]
mov eax, 1
shl eax, cl
or dword [ebp + 0x60], eax
sub edi, 1
je 0x665f39bf
mov ecx, dword [ebp]
mov edi, dword [esp + 0x40]
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + edi + 4]
cmp byte [ecx + 9], 0
je 0x665f39bf
or dword [ebp + 0x64], eax
cmp dword [esp + 0x30], 0
je 0x665f39cf
and dl, 2
je 0x665f5bcb
mov ecx, 0x666225a4
mov edx, 3
mov eax, ebp
call sym._sqlite3VdbeAddOpList.isra.445
cmp eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 4]
jae 0x665f39f3
imul edx, eax, 0x14
mov edi, dword [esp + 0x34]
mov dword [ecx + edx + 4], edi
add eax, 1
cmp eax, dword [ebp + 0x20]
jae 0x665f3a0f
imul edx, eax, 0x14
mov edi, dword [esp + 0x34]
add edx, ecx
mov dword [edx + 4], edi
cmp eax, dword [ebp + 0x20]
jae 0x665f3a0f
mov dword [edx + 0xc], ebx
mov eax, ebp
mov edx, 1
call sym._sqlite3VdbeSetNumCols
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f22b3
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], 0xffffffff
xor ecx, ecx
xor edx, edx
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
jmp 0x665f22b3
mov eax, ebp
mov edx, 3
call sym._sqlite3VdbeSetNumCols
mov eax, dword [ebp]
mov dword [edi + 0x48], 3
cmp byte [eax + 0x41], 0
je 0x665f5843
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x14], 0
jle 0x665f22b3
xor edi, edi
mov ebx, eax
mov eax, dword [ebx + 0x10]
mov esi, edi
shl esi, 4
mov eax, dword [eax + esi + 4]
test eax, eax
je 0x665f3b51
mov ecx, edi
mov edx, 0x19
mov dword [esp + 4], 0
mov dword [esp], 1
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov eax, dword [ebx + 0x10]
xor ecx, ecx
mov edx, 0x61
mov eax, dword [eax + esi]
mov dword [esp + 4], 0
mov dword [esp], 2
mov dword [esp + 0x34], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, dword [esp + 0x34]
mov edx, eax
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + esi + 4]
mov esi, 0x6661a381
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
jne 0x665f3b02
mov esi, dword [eax + 0xa8]
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 3
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, esi
mov edx, eax
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov dword [esp + 4], 0
mov dword [esp], 3
mov ecx, 1
mov edx, 0x23
mov eax, ebp
call sym._sqlite3VdbeAddOp3
add edi, 1
cmp dword [ebx + 0x14], edi
jg 0x665f3a79
jmp 0x665f22b3
cmp dword [esp + 0x30], 0
lea eax, [esp + 0x90]
mov dword [esp + 0x3c], eax
je 0x665f3c6e
mov edx, eax
mov eax, dword [esp + 0x30]
call sym._sqlite3DecOrHexToI64
cmp dword [esp + 0x94], 0
jns 0x665f3ba6
mov eax, dword [0x66619230]
mov edx, dword [0x66619234]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
cmp dword [ebx + 4], 0
jne 0x665f3bc4
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0x28]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], edx
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x14]
mov esi, eax
mov dword [esp + 0x40], eax
sub esi, 1
js 0x665f3c6e
mov ebp, esi
mov dword [esp + 0x48], edi
shl ebp, 4
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
mov edi, dword [eax + ebp + 4]
test edi, edi
je 0x665f3c5b
cmp dword [esp + 0x34], esi
je 0x665f3bff
mov eax, dword [ebx + 4]
test eax, eax
jne 0x665f3c5b
cmp byte [edi + 9], 0
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x44], edx
mov edx, dword [edi + 4]
mov dword [esp + 0x40], eax
je 0x665f3c2d
mov eax, edi
mov dword [esp + 0x4c], edx
call sym._sqlite3BtreeEnter.part.88
mov edx, dword [esp + 0x4c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov dword [eax + 0x84], ecx
mov dword [eax + 0x80], edx
call sym._pagerFixMaplimit
cmp byte [edi + 9], 0
je 0x665f3c5b
sub dword [edi + 0xc], 1
jne 0x665f3c5b
mov eax, edi
call sym._sqlite3BtreeLeave.part.89
sub esi, 1
sub ebp, 0x10
cmp esi, 0xffffffff
jne 0x665f3be3
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], 0x12
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x94], 0xffffffff
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_file_control
test eax, eax
je 0x665f58be
cmp eax, 0xc
je 0x665f22b3
add dword [edi + 0x40], 1
mov dword [edi + 0xc], eax
jmp 0x665f22b3
mov edx, dword [esp + 0x34]
mov eax, edi
call sym._sqlite3CodeVerifySchema
mov eax, dword [edi + 0x48]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x48], ebx
movzx eax, byte [eax]
cmp byte [eax + 0x66626580], 0x70
je 0x665f6558
mov eax, dword [esp + 0x30]
mov dword [esp + 0x90], 0
test eax, eax
je 0x665f3d2b
lea edx, [esp + 0x90]
call sym._sqlite3GetInt32
mov esi, dword [esp + 0x90]
test esi, esi
jns 0x665f3d2b
mov eax, esi
mov edx, 0x7fffffff
neg eax
cmp esi, 0x80000000
mov esi, edx
cmovne esi, eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], esi
mov edx, 0x9a
mov dword [esp], ebx
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, ebx
mov edx, 0x23
mov dword [esp + 4], 0
mov dword [esp], 1
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov eax, ebp
mov edx, 1
call sym._sqlite3VdbeSetNumCols
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f22b3
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], 0xffffffff
xor ecx, ecx
xor edx, edx
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
jmp 0x665f22b3
mov eax, dword [esp + 0x30]
test eax, eax
je 0x665f658f
movzx ecx, byte [eax]
test cl, cl
je 0x665f6578
cmp byte [ecx + 0x66626580], 0x65
jne 0x665f65ac
mov edx, eax
mov edi, str.exclusive
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], ecx
jmp 0x665f3de2
movzx esi, byte [edi]
movzx ecx, byte [esi + 0x66626580]
cmp byte [eax + 0x66626580], cl
jne 0x665f5a96
add edx, 1
movzx eax, byte [edx]
add edi, 1
test al, al
jne 0x665f3dcc
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
xor eax, eax
movzx edx, byte [edi]
movzx edx, byte [edx + 0x66626580]
cmp byte [eax + 0x66626580], dl
je 0x665f5823
cmp byte [ecx + 0x66626580], 0x6e
jne 0x665f6240
mov edi, dword [esp + 0x30]
mov edx, str.normal
jmp 0x665f3e3c
movzx ecx, al
movzx eax, byte [edx]
movzx eax, byte [eax + 0x66626580]
cmp byte [ecx + 0x66626580], al
jne 0x665f3e4b
add edi, 1
movzx eax, byte [edi]
add edx, 1
test al, al
jne 0x665f3e27
xor ecx, ecx
movzx eax, byte [edx]
movzx eax, byte [eax + 0x66626580]
cmp byte [ecx + 0x66626580], al
jne 0x665f658f
cmp dword [ebx + 4], 0
jne 0x665f5832
mov eax, dword [esp + 0x28]
mov ecx, 2
cmp dword [eax + 0x14], 2
jle 0x665f3eb3
mov edx, esi
mov esi, dword [esp + 0x28]
mov eax, ecx
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x665f3ea9
mov ebx, dword [eax + 0xd0]
test ebx, ebx
je 0x665f3ea6
cmp byte [ebx + 0x2b], 2
je 0x665f3ea9
mov byte [eax + 4], dl
add ecx, 1
cmp dword [esi + 0x14], ecx
jg 0x665f3e80
mov esi, edx
mov edi, dword [esp + 0x28]
mov eax, esi
mov byte [edi + 0x42], al
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x665f3ee3
mov edx, dword [eax + 0xd0]
test edx, edx
je 0x665f3ede
cmp byte [edx + 0x2b], 2
je 0x665f3ee3
mov ecx, esi
mov byte [eax + 4], cl
movzx eax, byte [eax + 4]
sub eax, 1
mov ebx, str.exclusive
mov eax, str.normal
cmovne ebx, eax
mov edx, 1
mov eax, ebp
call sym._sqlite3VdbeSetNumCols
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f3f26
mov dword [esp + 4], 0
mov dword [esp], str.locking_mode
xor ecx, ecx
xor edx, edx
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], 1
mov edx, 0x61
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, ebx
mov edx, eax
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov dword [esp + 4], 0
mov dword [esp], 1
mov ecx, 1
mov edx, 0x23
mov eax, ebp
call sym._sqlite3VdbeAddOp3
jmp 0x665f22b3
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ebx, dword [eax]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x90], 0xfffffffe
mov dword [esp + 0x94], 0xffffffff
test eax, eax
je 0x665f3fe8
lea edx, [esp + 0x90]
call sym._sqlite3DecOrHexToI64
cmp dword [esp + 0x94], 0xffffffff
jle 0x665f6667
mov eax, dword [ebx + 0xd0]
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
test eax, eax
mov dword [ebx + 0xa0], edx
mov dword [ebx + 0xa4], ecx
je 0x665f3fe8
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ecx
mov eax, dword [ebx + 0xa0]
mov edx, dword [ebx + 0xa4]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, edi
mov edx, str.journal_size_limit
call sym._returnSingleInt
jmp 0x665f22b3
mov eax, ebp
mov edx, 1
call sym._sqlite3VdbeSetNumCols
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f4049
mov dword [esp + 4], 0
mov dword [esp], str.journal_mode
xor ecx, ecx
xor edx, edx
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov edi, dword [esp + 0x30]
test edi, edi
mov eax, edi
je 0x665f4098
cmp byte [edi], 0
je 0x665f4060
add eax, 1
cmp byte [eax], 0
jne 0x665f4058
sub eax, dword [esp + 0x30]
xor edi, edi
and eax, 0x3fffffff
mov esi, eax
mov eax, dword [edi*4 + str.s_bfz_bf]
test eax, eax
je 0x665f4098
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 8], esi
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_strnicmp
test eax, eax
je 0x665f40b0
add edi, 1
cmp edi, 6
jne 0x665f406d
or edi, 0xffffffff
cmp dword [ebx + 4], 0
jne 0x665f40b0
mov dword [ebx + 4], 1
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x14]
lea esi, [eax - 1]
mov dword [esp + 0x38], eax
mov eax, esi
shl eax, 4
test esi, esi
js 0x665f413d
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x38], ebx
mov ebx, eax
mov eax, dword [edi + 0x10]
mov eax, dword [eax + ebx + 4]
test eax, eax
je 0x665f4132
cmp dword [esp + 0x34], esi
je 0x665f40f1
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 4]
test eax, eax
jne 0x665f4132
mov eax, 1
mov ecx, esi
shl eax, cl
or dword [ebp + 0x60], eax
cmp esi, 1
je 0x665f4115
mov edx, dword [ebp]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + ebx + 4]
cmp byte [edx + 9], 0
je 0x665f4115
or dword [ebp + 0x64], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], 1
mov ecx, esi
mov edx, 0xc
mov dword [esp + 4], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
sub esi, 1
sub ebx, 0x10
cmp esi, 0xffffffff
jne 0x665f40d5
mov dword [esp + 4], 0
mov dword [esp], 1
mov ecx, 1
mov edx, 0x23
mov eax, ebp
call sym._sqlite3VdbeAddOp3
jmp 0x665f22b3
mov eax, dword [esp + 0x2c]
cmp dword [ebx], 0
mov edx, 1
movzx eax, byte [eax]
mov dword [edi + 0x48], 6
movzx eax, byte [eax + 0x66626580]
mov byte [esp + 0x78], al
mov eax, 0xffffffff
cmovne eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
mov eax, ebp
call sym._sqlite3VdbeSetNumCols
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f41bb
mov dword [esp + 4], 0
mov dword [esp], 0x6661df15
xor ecx, ecx
xor edx, edx
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [esp + 0x30]
mov dword [esp + 0x84], 0x64
test eax, eax
je 0x665f41ef
lea edx, [esp + 0x84]
call sym._sqlite3GetInt32
cmp dword [esp + 0x84], 0
jg 0x665f41ef
mov dword [esp + 0x84], 0x64
mov ecx, dword [esp + 0x84]
mov dword [esp + 4], 0
mov edx, 0x19
mov dword [esp], 1
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x14], 0
jle 0x665f577d
mov eax, dword [esp + 0x34]
mov dword [esp + 0x70], 0
mov dword [esp + 0x4c], edi
not eax
shr eax, 0x1f
mov dword [esp + 0x60], eax
jmp 0x665f4257
cmp byte [esp + 0x60], 0
je 0x665f4261
mov edi, dword [esp + 0x28]
add dword [esp + 0x70], 1
mov eax, dword [esp + 0x70]
cmp dword [edi + 0x14], eax
jle 0x665f577d
mov edi, dword [esp + 0x70]
cmp dword [esp + 0x34], edi
jne 0x665f423a
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x4c]
call sym._sqlite3CodeVerifySchema
mov ecx, 1
mov edx, 0x89
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeAddOp3
xor ecx, ecx
mov ebx, eax
mov edx, 0x18
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov edx, dword [ebp + 0x20]
cmp ebx, edx
jae 0x665f42bd
imul eax, ebx, 0x14
add eax, dword [ebp + 4]
mov dword [eax + 8], edx
mov eax, dword [ebp + 0x18]
sub edx, 1
xor esi, esi
mov dword [eax + 0x58], edx
mov eax, dword [esp + 0x70]
shl eax, 4
mov edi, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 0xc]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x38], eax
test edi, edi
je 0x665f432d
mov ebx, dword [edi + 8]
test byte [ebx + 0x2a], 0x20
je 0x665f52a8
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x665f4327
nop
mov ecx, dword [ebx + 0x28]
lea eax, [esi + 2]
mov dword [esp + 4], 0
mov edx, 0x19
add esi, 1
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x665f4300
mov edi, dword [edi]
test edi, edi
jne 0x665f42eb
mov edi, dword [esp + 0x4c]
lea eax, [esi + 8]
mov ecx, 2
mov edx, dword [edi + 0x48]
cmp eax, edx
cmovl eax, edx
mov edx, 0x7f
mov dword [edi + 0x48], eax
mov dword [esp + 4], 1
mov eax, ebp
mov dword [esp], esi
call sym._sqlite3VdbeAddOp3
mov eax, dword [ebp + 4]
test eax, eax
je 0x665f436f
imul edx, dword [ebp + 0x20], 0x14
movzx ecx, byte [esp + 0x70]
mov byte [eax + edx - 0x11], cl
mov ecx, 2
mov edx, 0x4c
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x3c]
mov ebx, eax
mov eax, dword [edi + 0x10]
mov eax, dword [eax + esi]
mov dword [esp + 4], str._in_database__s__n
mov dword [esp], edi
mov dword [esp + 8], eax
call sym._sqlite3MPrintf
xor ecx, ecx
mov esi, eax
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 3
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, esi
mov edx, eax
mov dword [esp], 0xffffffff
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov ecx, 2
mov edx, 0x20
mov dword [esp + 4], 1
mov dword [esp], 4
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, 4
mov edx, 0x5e
mov dword [esp + 4], 2
mov dword [esp], 3
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov edx, 0x23
mov dword [esp + 4], 0
mov dword [esp], 1
mov ecx, 2
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov edx, dword [ebp + 0x20]
cmp ebx, edx
jae 0x665f4454
imul eax, ebx, 0x14
add eax, dword [ebp + 4]
mov dword [eax + 8], edx
mov eax, dword [ebp + 0x18]
sub edx, 1
cmp byte [esp + 0x78], 0x71
mov dword [eax + 0x58], edx
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x54], eax
je 0x665f4241
test eax, eax
je 0x665f4241
mov eax, dword [esp + 0x54]
mov edi, dword [eax + 8]
mov eax, dword [edi + 8]
test eax, eax
mov dword [esp + 0x40], eax
je 0x665f50bb
test byte [edi + 0x2a], 0x20
jne 0x665f5262
mov dword [esp + 0x40], 0
mov ecx, 1
mov edx, 0x89
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeAddOp3
xor ecx, ecx
mov ebx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
mov edx, 0x18
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov eax, dword [ebp + 0x20]
cmp ebx, eax
jae 0x665f44f5
mov ecx, dword [ebp + 4]
lea edx, [ebx + ebx*4]
lea edx, [ecx + edx*4]
mov dword [edx + 8], eax
mov edx, dword [ebp + 0x18]
sub eax, 1
mov dword [edx + 0x58], eax
mov eax, dword [esp + 0x4c]
call sym._sqlite3ExprCacheClear
test byte [edi + 0x2a], 0x10
je 0x665f5677
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], 7
mov edx, 0x19
mov eax, ebp
xor ebx, ebx
call sym._sqlite3VdbeAddOp3
mov esi, dword [edi + 8]
test esi, esi
je 0x665f4566
mov esi, esi
lea edi, [edi]
lea eax, [ebx + 8]
xor ecx, ecx
mov dword [esp + 4], 0
mov edx, 0x19
add ebx, 1
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x665f4540
mov esi, dword [esp + 0x4c]
add ebx, 8
mov ecx, dword [esp + 0x88]
mov edx, 0x6c
mov eax, dword [esi + 0x48]
cmp ebx, eax
cmovl ebx, eax
mov eax, ebp
mov dword [esi + 0x48], ebx
mov dword [esp + 4], 0
xor ebx, ebx
mov dword [esp], 0
call sym._sqlite3VdbeAddOp3
mov dword [esp + 4], 0
mov dword [esp], 1
mov ecx, 7
mov edx, 0x25
mov eax, ebp
call sym._sqlite3VdbeAddOp3
cmp word [edi + 0x22], 0
mov dword [esp + 0x74], eax
jg 0x665f45df
jmp 0x665f4c50
movsx eax, word [edi + 0x22]
add ebx, 1
cmp eax, ebx
jle 0x665f4c50
movsx eax, word [edi + 0x20]
cmp eax, ebx
je 0x665f45d0
mov eax, dword [edi + 4]
lea esi, [ebx + ebx*2]
cmp byte [eax + esi*8 + 0x14], 0
je 0x665f45d0
mov ecx, dword [esp + 0x88]
mov eax, ebp
mov dword [esp + 4], 3
mov dword [esp], ebx
mov edx, edi
call sym._sqlite3ExprCodeGetColumnOfTable
mov eax, dword [ebp + 4]
test eax, eax
je 0x665f4621
mov edx, dword [ebp + 0x20]
lea edx, [edx + edx*4]
mov byte [eax + edx*4 - 0x11], 0x80
mov ecx, 3
mov edx, 0x4d
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, 1
mov edx, 0x25
mov dword [esp + 0x38], eax
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov eax, dword [edi + 4]
mov eax, dword [eax + esi*8]
mov esi, dword [esp + 0x28]
mov dword [esp + 0xc], eax
mov eax, dword [edi]
mov dword [esp], esi
mov dword [esp + 4], str.NULL_value_in__s._s
mov dword [esp + 8], eax
call sym._sqlite3MPrintf
xor ecx, ecx
mov esi, eax
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 3
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, esi
mov edx, eax
mov dword [esp], 0xffffffff
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov ecx, 3
mov edx, 0x23
mov dword [esp + 4], 0
mov dword [esp], 1
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, 1
mov edx, 0x89
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeAddOp3
xor ecx, ecx
mov edx, 0x18
mov esi, eax
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov eax, dword [ebp + 0x20]
mov edx, dword [esp + 0x38]
mov ecx, dword [ebp + 4]
cmp edx, eax
mov dword [esp + 0x3c], ecx
jae 0x665f4732
lea edx, [edx + edx*4]
mov dword [ecx + edx*4 + 8], eax
mov edx, dword [ebp + 0x18]
lea ecx, [eax - 1]
cmp esi, eax
mov dword [edx + 0x58], ecx
jae 0x665f45d0
lea edx, [esi + esi*4]
mov esi, dword [esp + 0x3c]
mov dword [esi + edx*4 + 8], eax
jmp 0x665f45d0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x665f4785
lea edx, [esp + 0x90]
call sym._sqlite3DecOrHexToI64
test eax, eax
jne 0x665f4785
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.libsqlite3_0.dll_sqlite3_soft_heap_limit64
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0xffffffff
call sym.libsqlite3_0.dll_sqlite3_soft_heap_limit64
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, edi
mov edx, str.soft_heap_limit
call sym._returnSingleInt
jmp 0x665f22b3
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_db_release_memory
jmp 0x665f22b3
mov eax, dword [esp + 0x3c]
mov ebp, dword [eax + 4]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x665f58b6
xor ecx, ecx
mov edx, 1
call sym._getSafetyLevel
test al, al
setne al
cmp dword [ebx + 4], 0
movzx eax, al
mov esi, eax
jne 0x665f481f
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x14], 0
jle 0x665f481f
xor ebx, ebx
mov ecx, dword [esp + 0x28]
mov eax, ebx
mov edx, esi
shl eax, 4
add ebx, 1
add eax, dword [ecx + 0x10]
mov eax, dword [eax + 4]
call sym._sqlite3BtreeSecureDelete
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0x14], ebx
jg 0x665f47fd
mov edx, esi
mov eax, ebp
call sym._sqlite3BtreeSecureDelete
mov dword [esp], eax
sar eax, 0x1f
mov edx, str.secure_delete
mov dword [esp + 4], eax
mov eax, edi
call sym._returnSingleInt
jmp 0x665f22b3
cmp dword [esp + 0x30], 0
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax + 4]
je 0x665f6692
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x90]
mov dword [esp + 0x90], 0
call sym._sqlite3GetInt32
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x90]
or ecx, 0xffffffff
mov dword [eax + 0x48], edx
mov dword [esp], 0
mov eax, ebx
call sym._sqlite3BtreeSetPageSize
cmp eax, 7
jne 0x665f22b3
mov eax, dword [esp + 0x28]
mov byte [eax + 0x41], 1
jmp 0x665f22b3
mov eax, dword [esp + 0x30]
test eax, eax
je 0x665f22b3
mov edx, eax
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
call sym._sqlite3FindTable
test eax, eax
mov ebx, eax
je 0x665f22b3
mov esi, dword [edi + 8]
test esi, esi
je 0x665f6232
mov edx, 5
mov eax, esi
call sym._sqlite3VdbeSetNumCols
mov edx, dword [esp + 0x34]
mov eax, edi
mov dword [edi + 0x48], 5
call sym._sqlite3CodeVerifySchema
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
je 0x665f5eb8
cmp byte [eax + 0x41], 0
jne 0x665f4922
mov dword [esp + 4], 0
mov dword [esp], str.partial
xor ecx, ecx
mov edx, 4
mov eax, esi
call sym._sqlite3VdbeSetColName.part.365
mov edi, dword [ebx + 8]
test edi, edi
je 0x665f22b3
xor ebp, ebp
mov ecx, ebp
mov edx, 0x19
mov dword [esp + 4], 0
mov dword [esp], 1
mov eax, esi
mov dword [esp + 0x90], 0x6661dedc
mov dword [esp + 0x94], 0x6661dede
mov dword [esp + 0x98], 0x6661de92
call sym._sqlite3VdbeAddOp3
mov ebx, dword [edi]
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 2
mov eax, esi
call sym._sqlite3VdbeAddOp3
mov ecx, ebx
mov edx, eax
mov dword [esp], 0
mov eax, esi
call sym._sqlite3VdbeChangeP4
xor ecx, ecx
cmp byte [edi + 0x32], 0
mov edx, 0x19
mov dword [esp + 4], 0
mov dword [esp], 3
mov eax, esi
setne cl
call sym._sqlite3VdbeAddOp3
movzx eax, byte [edi + 0x34]
xor ecx, ecx
mov edx, 0x61
and eax, 3
mov ebx, dword [esp + eax*4 + 0x90]
mov dword [esp + 4], 0
mov eax, esi
mov dword [esp], 4
call sym._sqlite3VdbeAddOp3
mov ecx, ebx
mov edx, eax
mov dword [esp], 0
mov eax, esi
call sym._sqlite3VdbeChangeP4
mov eax, dword [edi + 0x24]
xor ecx, ecx
mov edx, 0x19
mov dword [esp + 4], 0
mov dword [esp], 5
test eax, eax
mov eax, esi
setne cl
add ebp, 1
call sym._sqlite3VdbeAddOp3
mov dword [esp + 4], 0
mov dword [esp], 5
mov ecx, 1
mov edx, 0x23
mov eax, esi
call sym._sqlite3VdbeAddOp3
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x665f492f
jmp 0x665f22b3
mov eax, dword [esp + 0x30]
test eax, eax
je 0x665f22b3
mov edx, eax
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
call sym._sqlite3FindIndex
test eax, eax
mov esi, eax
je 0x665f22b3
imul eax, dword [esp + 0x58], 0xc
mov ebx, dword [eax + 0x666255c8]
test ebx, ebx
je 0x665f5957
movzx eax, word [esi + 0x30]
mov dword [edi + 0x48], 6
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0xc]
mov edx, dword [edi + 0x48]
mov dword [esp + 0x48], eax
mov eax, ebp
call sym._sqlite3VdbeSetNumCols
mov edx, dword [esp + 0x34]
mov eax, edi
call sym._sqlite3CodeVerifySchema
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
je 0x665f58e4
test ebx, ebx
je 0x665f4ad8
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
je 0x665f66bb
cmp dword [esp + 0x38], 0
je 0x665f22b3
mov eax, dword [esp + 0x58]
xor ebx, ebx
mov dword [esp + 0x40], edi
mov edi, ebx
lea eax, [eax + eax*2]
lea eax, [eax*4 + str.2Sbf]
mov dword [esp + 0x3c], eax
jmp 0x665f4b7c
lea eax, [ebx + ebx*2]
mov ebx, dword [esp + 0x48]
xor ecx, ecx
mov edx, 0x61
shl eax, 3
add eax, dword [ebx + 4]
mov ebx, dword [eax]
mov dword [esp + 4], 0
mov eax, ebp
mov dword [esp], 3
call sym._sqlite3VdbeAddOp3
mov dword [esp], 0
mov edx, eax
mov ecx, ebx
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 8]
test eax, eax
jne 0x665f56fb
mov eax, dword [esp + 0x40]
mov dword [esp + 4], 0
mov ecx, 1
mov edx, 0x23
add edi, 1
mov eax, dword [eax + 0x48]
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
cmp dword [esp + 0x38], edi
je 0x665f22b3
mov eax, dword [esi + 4]
mov ecx, edi
mov edx, 0x19
movzx eax, word [eax + edi*2]
mov dword [esp + 4], 0
mov dword [esp], 1
mov ebx, eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov word [esp + 0x34], bx
movsx ebx, bx
mov dword [esp + 4], 0
mov dword [esp], 2
mov ecx, ebx
mov edx, 0x19
mov eax, ebp
call sym._sqlite3VdbeAddOp3
cmp word [esp + 0x34], 0
jns 0x665f4aff
mov dword [esp + 4], 0
mov dword [esp], 3
xor ecx, ecx
mov edx, 0x1c
mov eax, ebp
call sym._sqlite3VdbeAddOp3
jmp 0x665f4b3d
mov eax, dword [esp + 0x30]
test eax, eax
je 0x665f4c2b
lea edx, [esp + 0x90]
mov dword [esp + 0x90], 0
call sym._sqlite3GetInt32
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_busy_timeout
mov eax, dword [esp + 0x28]
mov edx, str.timeout
mov eax, dword [eax + 0x1ec]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov eax, edi
call sym._returnSingleInt
jmp 0x665f22b3
mov esi, dword [edi + 8]
xor eax, eax
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x3c], 0
test esi, esi
je 0x665f4ef6
mov dword [esp + 0x58], edi
mov edi, eax
mov eax, dword [ebp + 0x18]
call sym._sqlite3VdbeMakeLabel.isra.428
cmp dword [esp + 0x40], esi
mov ebx, eax
je 0x665f4ee2
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x88]
mov edx, esi
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 0x10], eax
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
call sym._sqlite3GenerateIndexKey
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x38], eax
mov edx, 0x25
mov dword [esp + 4], 0
mov dword [esp], 1
mov eax, ebp
lea ecx, [edi + 8]
call sym._sqlite3VdbeAddOp3
movzx edi, word [esi + 0x30]
mov eax, dword [esp + 0x38]
mov edx, 0x45
mov ecx, dword [esp + 0x3c]
add ecx, dword [esp + 0x8c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, edi
mov edx, eax
mov ebx, eax
mov dword [esp], 0xfffffff2
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov ecx, 1
mov edx, 0x25
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
mov eax, ebp
call sym._sqlite3VdbeAddOp3
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 3
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, str.row
mov edx, eax
mov dword [esp], 0xfffffffe
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov ecx, 7
mov edx, 0x5e
mov dword [esp + 4], 3
mov dword [esp], 3
mov eax, ebp
call sym._sqlite3VdbeAddOp3
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 4
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, str._missing_from_index
mov edx, eax
mov dword [esp], 0xfffffffe
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov ecx, 4
mov edx, 0x5e
mov dword [esp + 4], 3
mov dword [esp], 3
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov edi, dword [esi]
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 4
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, edi
mov edx, eax
mov dword [esp + 0x50], eax
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov ecx, 4
mov edx, 0x5e
mov dword [esp + 4], 3
mov dword [esp], 3
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, 3
mov edx, 0x23
mov dword [esp + 4], 0
mov dword [esp], 1
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, 1
mov edx, 0x89
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeAddOp3
xor ecx, ecx
mov edx, 0x18
mov edi, eax
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp + 4]
cmp ebx, edx
jae 0x665f4ea8
lea eax, [ebx + ebx*4]
mov dword [ecx + eax*4 + 8], edx
mov eax, dword [ebp + 0x18]
lea ebx, [edx - 1]
mov dword [eax + 0x58], ebx
cmp byte [esi + 0x32], 0
jne 0x665f50d2
cmp edi, edx
jae 0x665f4ec6
lea ebx, [edi + edi*4]
mov dword [ecx + ebx*4 + 8], edx
sub edx, 1
mov dword [eax + 0x58], edx
mov edx, dword [esp + 0x90]
test edx, edx
je 0x665f4ee0
mov eax, dword [esp + 0x4c]
call sym._sqlite3ResolvePartIdxLabel.part.175
mov edi, esi
mov esi, dword [esi + 0x14]
add dword [esp + 0x3c], 1
test esi, esi
jne 0x665f4c73
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x88]
mov edx, 9
mov dword [esp + 4], 0
mov eax, ebp
mov dword [esp], esi
call sym._sqlite3VdbeAddOp3
mov edx, dword [ebp + 0x20]
mov eax, esi
sub eax, 1
cmp eax, edx
jae 0x665f4f30
mov esi, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [esi + eax*4]
mov dword [eax + 8], edx
mov eax, dword [ebp + 0x18]
sub edx, 1
xor ecx, ecx
mov dword [eax + 0x58], edx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 2
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov dword [esp], 0xfffffffe
mov edx, eax
mov ecx, str.wrong__of_entries_in_index
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov ebx, dword [edi + 8]
xor edi, edi
test ebx, ebx
je 0x665f50bb
nop
lea esi, [esi]
cmp dword [esp + 0x40], ebx
je 0x665f50ad
mov esi, dword [ebp + 0x20]
mov ecx, 1
mov edx, 0x89
mov dword [esp + 4], 0
lea eax, [esi + 2]
add esi, 8
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
xor ecx, ecx
mov edx, 0x18
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, dword [esp + 0x8c]
mov edx, 0x32
mov dword [esp + 4], 0
mov dword [esp], 3
mov eax, ebp
add ecx, edi
call sym._sqlite3VdbeAddOp3
lea ecx, [edi + 8]
mov dword [esp + 4], 3
mov dword [esp], esi
mov edx, 0x4f
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov eax, dword [ebp + 4]
test eax, eax
je 0x665f501c
mov edx, dword [ebp + 0x20]
lea edx, [edx + edx*4]
mov byte [eax + edx*4 - 0x11], 0x90
mov ecx, 1
mov edx, 0x25
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov esi, dword [ebx]
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 3
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, esi
mov edx, eax
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov ecx, 3
mov edx, 0x5e
mov dword [esp + 4], 7
mov dword [esp], 2
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov dword [esp + 4], 0
mov dword [esp], 1
mov ecx, 7
mov edx, 0x23
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ebx, dword [ebx + 0x14]
add edi, 1
test ebx, ebx
jne 0x665f4f80
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x54], eax
jne 0x665f447b
jmp 0x665f4241
call sym._sqlite3VdbeMakeLabel.isra.428
xor ebx, ebx
cmp word [esi + 0x2e], 0
mov dword [esp + 0x48], eax
je 0x665f5139
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x58]
jmp 0x665f50fb
movzx eax, word [esi + 0x2e]
add ebx, 1
cmp eax, ebx
jle 0x665f5135
mov eax, dword [esi + 4]
mov edx, dword [edi + 4]
movsx eax, word [eax + ebx*2]
lea eax, [eax + eax*2]
lea eax, [edx + eax*8]
cmp byte [eax + 0x14], 0
jne 0x665f50f0
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0
mov edx, 0x4c
lea ecx, [eax + ebx]
mov eax, dword [esp + 0x48]
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
jmp 0x665f50f0
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x3c]
add ecx, dword [esp + 0x8c]
mov edx, 9
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ebx, eax
mov eax, dword [esp + 0x48]
xor ecx, ecx
mov dword [esp + 4], 0
mov edx, 0x10
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov eax, dword [ebp + 0x20]
cmp ebx, eax
jae 0x665f5191
mov ecx, dword [ebp + 4]
lea edx, [ebx + ebx*4]
lea edx, [ecx + edx*4]
mov dword [edx + 8], eax
mov edx, dword [ebp + 0x18]
sub eax, 1
mov ebx, dword [esp + 0x48]
mov ecx, dword [esp + 0x3c]
mov dword [edx + 0x58], eax
movzx eax, word [esi + 0x2e]
mov edx, 0x72
add ecx, dword [esp + 0x8c]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp4Int
mov ecx, 1
mov edx, 0x25
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
mov eax, ebp
call sym._sqlite3VdbeAddOp3
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], 3
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, str.non_unique_entry_in_index
mov edx, eax
mov dword [esp], 0xfffffffe
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov eax, dword [esp + 0x50]
xor ecx, ecx
mov edx, 0x10
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov edx, ebx
mov eax, dword [ebp + 0x18]
xor edx, 0xffffffff
js 0x665f524e
mov ecx, dword [eax + 0x70]
test ecx, ecx
je 0x665f524e
mov ebx, dword [ebp + 0x20]
mov dword [ecx + edx*4], ebx
mov ebx, dword [ebp + 0x20]
mov ecx, dword [ebp + 4]
lea edx, [ebx - 1]
mov dword [eax + 0x58], edx
mov edx, dword [ebp + 0x20]
jmp 0x665f4ebb
mov edx, dword [esp + 0x40]
lea esi, [esi]
lea edi, [edi]
movzx eax, byte [edx + 0x34]
and eax, 3
cmp al, 2
je 0x665f5282
mov edx, dword [edx + 0x14]
test edx, edx
jne 0x665f5270
mov dword [esp + 0x40], edx
jmp 0x665f44a3
mov eax, edi
mov byte [esp + 0x48], dl
call sym._sqlite3ReadSchema
test eax, eax
movzx edx, byte [esp + 0x48]
je 0x665f2544
jmp 0x665f22b3
mov ecx, dword [ebx + 0x1c]
lea eax, [esi + 2]
mov dword [esp + 4], 0
mov edx, 0x19
add esi, 1
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
jmp 0x665f42f8
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x54]
cmp dword [eax + 0x44], edi
jge 0x665f52e1
mov eax, dword [esp + 0x54]
mov dword [eax + 0x44], edi
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], 0
mov edx, 0x6c
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x4c], 1
mov edi, dword [eax + 0x10]
test edi, edi
je 0x665f5531
lea esi, [esi]
mov edx, dword [edi + 8]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
call sym._sqlite3FindTable
test eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
je 0x665f5584
lea esi, [esp + 0x90]
mov edx, eax
mov eax, dword [esp + 0x54]
mov ecx, edi
mov dword [esp + 4], esi
lea esi, [esp + 0x8c]
mov dword [esp], esi
call sym._sqlite3FkLocateIndex
mov eax, dword [ebp + 0x18]
call sym._sqlite3VdbeMakeLabel.isra.428
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x3c], eax
test edx, edx
je 0x665f55a0
mov ecx, dword [edi + 0x14]
test ecx, ecx
jle 0x665f5403
xor ebx, ebx
jmp 0x665f53dc
mov eax, dword [eax + ebx*4]
mov edx, dword [esp + 0x40]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], esi
mov eax, ebp
add ebx, 1
call sym._sqlite3ExprCodeGetColumnOfTable
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], 0
mov ecx, esi
mov edx, 0x4c
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
cmp dword [edi + 0x14], ebx
jle 0x665f53f4
mov eax, dword [esp + 0x48]
lea esi, [eax + ebx]
mov eax, dword [esp + 0x90]
test eax, eax
jne 0x665f53a0
mov eax, dword [edi + ebx*8 + 0x24]
jmp 0x665f53a3
mov eax, dword [esp + 0x50]
test eax, eax
je 0x665f545f
mov edx, dword [esp + 0x8c]
mov eax, ebp
call sym._sqlite3IndexAffinityStr
mov ebx, dword [edi + 0x14]
mov esi, eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x48]
mov edx, 0x31
mov dword [esp + 4], eax
mov dword [esp], ebx
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, esi
mov edx, eax
mov dword [esp], ebx
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x4c]
mov edx, 0x45
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp4Int
mov eax, dword [esp + 0x74]
xor ecx, ecx
mov edx, 0x67
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov eax, dword [esp + 0x60]
mov ebx, dword [edi + 8]
xor ecx, ecx
mov edx, 0x61
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, ebx
mov edx, eax
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov eax, dword [esp + 0x4c]
mov edx, 0x19
mov dword [esp + 4], 0
lea ecx, [eax - 1]
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], 0
mov edx, 0x23
mov dword [esp], 4
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, dword [esp + 0x3c]
mov eax, dword [ebp + 0x18]
xor ecx, 0xffffffff
js 0x665f5508
mov edx, dword [eax + 0x70]
test edx, edx
je 0x665f5508
mov ebx, dword [ebp + 0x20]
mov dword [edx + ecx*4], ebx
mov esi, dword [ebp + 0x20]
lea edx, [esi - 1]
mov dword [eax + 0x58], edx
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x28]
call sym._sqlite3DbFree
mov edi, dword [edi + 4]
add dword [esp + 0x4c], 1
test edi, edi
jne 0x665f5320
mov edi, dword [esp + 0x7c]
xor ecx, ecx
mov dword [esp + 4], 0
mov edx, 9
mov eax, edi
add eax, 1
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov eax, dword [ebp + 0x20]
cmp edi, eax
jae 0x665f556a
mov edi, dword [esp + 0x7c]
mov esi, dword [ebp + 4]
lea edx, [edi + edi*4]
lea edx, [esi + edx*4]
mov dword [edx + 8], eax
mov edx, dword [ebp + 0x18]
sub eax, 1
mov dword [edx + 0x58], eax
mov ebx, dword [esp + 0x78]
test ebx, ebx
jne 0x665f30d1
jmp 0x665f22b3
mov eax, dword [ebp + 0x18]
call sym._sqlite3VdbeMakeLabel.isra.428
mov ebx, dword [edi + 0x14]
mov dword [esp + 0x3c], eax
test ebx, ebx
jg 0x665f5396
jmp 0x665f545f
mov esi, dword [esp + 0x40]
mov ebx, dword [edi + 0x24]
movsx eax, word [esi + 0x20]
cmp ebx, eax
je 0x665f56d9
mov eax, dword [esp + 0x48]
xor ecx, ecx
mov dword [esp], ebx
mov edx, 0x2f
mov dword [esp + 4], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov esi, dword [esi + 0xc]
test esi, esi
je 0x665f5807
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x48]
mov edx, 0x4c
mov dword [esp + 4], 0
mov dword [esp], eax
mov ecx, esi
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov dword [esp + 4], 0
mov eax, dword [ebp + 0x20]
mov ecx, esi
mov edx, 0x26
add eax, 3
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov edx, 0x46
mov dword [esp], 0
mov dword [esp + 4], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov eax, dword [esp + 0x3c]
xor ecx, ecx
mov edx, 0x10
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov eax, dword [ebp + 0x20]
lea edx, [eax - 2]
cmp edx, eax
jae 0x665f5669
mov ecx, dword [ebp + 4]
lea edx, [edx + edx*4]
lea edx, [ecx + edx*4]
mov dword [edx + 8], eax
mov edx, dword [ebp + 0x18]
sub eax, 1
mov dword [edx + 0x58], eax
jmp 0x665f545f
lea eax, [esp + 0x8c]
mov dword [esp + 4], 0
mov dword [esp], 1
mov ecx, 0x36
mov edx, edi
mov dword [esp + 0xc], eax
lea eax, [esp + 0x88]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
call sym._sqlite3OpenTableAndIndices.part.443
jmp 0x665f4511
mov edi, dword [esp + 0x78]
mov eax, dword [edi + 8]
mov edi, dword [edi]
test eax, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x78], edi
je 0x665f5573
cmp dword [eax + 0x10], 0
je 0x665f5573
jmp 0x665f3114
mov eax, dword [esp + 0x48]
mov dword [esp + 4], 0
xor ecx, ecx
mov edx, 0x67
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3VdbeAddOp3
jmp 0x665f5617
mov eax, dword [esi + 0x1c]
mov edx, 0x19
movzx ecx, byte [eax + edi]
mov dword [esp + 4], 0
mov eax, ebp
mov dword [esp], 4
call sym._sqlite3VdbeAddOp3
mov eax, dword [esi + 0x20]
xor ecx, ecx
mov edx, 0x61
mov ebx, dword [eax + edi*4]
mov dword [esp + 4], 0
mov eax, ebp
mov dword [esp], 5
call sym._sqlite3VdbeAddOp3
mov ecx, ebx
mov edx, eax
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeChangeP4
movzx eax, word [esi + 0x2e]
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], 6
mov edx, 0x19
cmp eax, edi
mov eax, ebp
setg cl
call sym._sqlite3VdbeAddOp3
jmp 0x665f4b4c
mov edx, 3
mov ecx, 0x66622648
mov eax, ebp
call sym._sqlite3VdbeAddOpList.isra.445
mov edx, dword [ebp + 0x20]
cmp eax, edx
jae 0x665f57aa
imul ecx, eax, 0x14
mov ebx, dword [esp + 0x84]
add ecx, dword [ebp + 4]
neg ebx
mov dword [ecx + 0xc], ebx
mov dword [ecx + 8], edx
mov ecx, dword [ebp + 0x18]
sub edx, 1
mov dword [ecx + 0x58], edx
lea edx, [eax + 1]
mov dword [esp], 0xfffffffe
mov ecx, 0x6661dfa3
mov eax, ebp
call sym._sqlite3VdbeChangeP4
jmp 0x665f22b3
mov eax, dword [sym.libsqlite3_0.dll_sqlite3_data_directory]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
mov eax, dword [esp + 0x30]
cmp byte [eax], 0
jne 0x665f5d8d
mov dword [sym.libsqlite3_0.dll_sqlite3_data_directory], 0
jmp 0x665f22b3
mov dword [esp + 0x90], 0x7fffffff
jmp 0x665f2cd7
mov eax, dword [esp + 0x40]
mov ecx, ebx
lea edx, [eax + 4]
mov eax, dword [esp + 0x48]
mov dword [esp], eax
mov eax, ebp
call sym._sqlite3ColumnDefault.isra.436.part.437
jmp 0x665f55d7
cmp dword [ebx + 4], 0
mov esi, 1
je 0x665f3e6b
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
jmp 0x665f3ec8
xor ecx, ecx
xor edx, edx
mov dword [esp + 4], 0
mov dword [esp], 0x6661dec2
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f3a67
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], str.name
mov edx, 1
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f3a67
mov dword [esp + 4], 0
mov dword [esp], str.file
xor ecx, ecx
mov edx, 2
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
jmp 0x665f3a67
or esi, 0xffffffff
jmp 0x665f481f
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, edi
mov edx, str.mmap_size
call sym._returnSingleInt
jmp 0x665f22b3
xor ecx, ecx
xor edx, edx
mov dword [esp + 4], 0
mov dword [esp], str.seqno
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f4ac7
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], 0x6661de71
mov edx, 1
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f4ac7
mov dword [esp + 4], 0
mov dword [esp], str.name
xor ecx, ecx
mov edx, 2
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
jmp 0x665f4ac7
movzx eax, word [esi + 0x2e]
mov dword [edi + 0x48], 3
mov dword [esp + 0x38], eax
jmp 0x665f4a9e
xor ecx, ecx
xor edx, edx
mov dword [esp + 4], 0
mov dword [esp], str.busy
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f2600
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], 0x6661a940
mov edx, 1
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f2600
mov dword [esp + 4], 0
mov dword [esp], str.checkpointed
xor ecx, ecx
mov edx, 2
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
jmp 0x665f2600
cmp byte [eax + 0x66626580], 0x72
jne 0x665f65a2
mov ebx, dword [esp + 0x30]
mov edx, str.restart
jmp 0x665f5a12
movzx ecx, byte [edx]
movzx ecx, byte [ecx + 0x66626580]
cmp byte [eax + 0x66626580], cl
jne 0x665f5a21
add ebx, 1
movzx eax, byte [ebx]
add edx, 1
test al, al
jne 0x665f5a00
xor eax, eax
movzx edx, byte [edx]
mov ebx, 2
movzx ecx, byte [edx + 0x66626580]
cmp byte [eax + 0x66626580], cl
je 0x665f25e0
mov ebx, dword [esp + 0x30]
mov edx, str.truncate
jmp 0x665f5a5f
movzx ecx, byte [edx]
movzx ecx, byte [ecx + 0x66626580]
cmp byte [eax + 0x66626580], cl
jne 0x665f5a68
add ebx, 1
add edx, 1
movzx eax, byte [ebx]
test al, al
jne 0x665f5a47
xor eax, eax
movzx edx, byte [edx]
xor ebx, ebx
movzx ecx, byte [edx + 0x66626580]
cmp byte [eax + 0x66626580], cl
sete bl
lea ebx, [ebx + ebx*2]
jmp 0x665f25e0
mov edx, 0x1c
mov eax, ebp
call sym._sqlite3VdbeAddOp3
jmp 0x665f29e5
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
jmp 0x665f3df9
mov edi, dword [esp + 0x28]
mov ecx, 2
mov edx, str.like
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], sym._likeFunc
mov dword [esp + 4], 0x66625bc4
mov dword [esp], 1
mov eax, edi
call sym._sqlite3CreateFunc
mov ecx, 3
mov edx, str.like
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov eax, edi
mov dword [esp + 8], sym._likeFunc
mov dword [esp + 4], 0x66625bc4
mov dword [esp], 1
call sym._sqlite3CreateFunc
mov ecx, 2
mov edx, str.glob
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov eax, edi
mov dword [esp + 8], sym._likeFunc
mov dword [esp + 4], 0x66625bc8
mov dword [esp], 1
call sym._sqlite3CreateFunc
mov ecx, 0xc
mov edx, str.glob
mov eax, edi
call sym._setLikeOptFlag
mov ecx, 4
jmp 0x665f36de
xor ecx, ecx
xor edx, edx
mov dword [esp + 4], 0
mov dword [esp], 0x6661dec2
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f3551
mov dword [esp + 4], 0
mov dword [esp], str.name
xor ecx, ecx
mov edx, 1
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
jmp 0x665f3551
mov ecx, 0x666225b0
mov edx, 3
mov eax, ebp
call sym._sqlite3VdbeAddOpList.isra.445
cmp eax, dword [ebp + 0x20]
mov esi, eax
jae 0x665f5bf0
imul eax, eax, 0x14
add eax, dword [ebp + 4]
mov edi, dword [esp + 0x34]
mov dword [eax + 4], edi
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x90]
mov dword [esp + 0x90], 0
call sym._sqlite3GetInt32
lea eax, [esi + 1]
cmp eax, dword [ebp + 0x20]
mov ecx, dword [esp + 0x90]
mov edx, dword [ebp + 4]
jae 0x665f5c24
imul eax, eax, 0x14
mov dword [edx + eax + 4], ecx
add esi, 2
cmp esi, dword [ebp + 0x20]
jae 0x665f22b3
imul eax, esi, 0x14
add edx, eax
mov eax, dword [esp + 0x34]
mov dword [edx + 4], eax
cmp esi, dword [ebp + 0x20]
jae 0x665f22b3
mov dword [edx + 8], ebx
jmp 0x665f22b3
mov dword [esp + 4], 0
mov dword [esp], 0x6661dee8
xor ecx, ecx
mov edx, 4
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f2e17
mov dword [esp + 4], 0
mov dword [esp], str.on_update
xor ecx, ecx
mov edx, 5
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f2e17
mov dword [esp + 4], 0
mov dword [esp], str.on_delete
xor ecx, ecx
mov edx, 6
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f2e17
mov dword [esp + 4], 0
mov dword [esp], str.match
xor ecx, ecx
mov edx, 7
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
jmp 0x665f2e17
xor ecx, ecx
xor edx, edx
mov dword [esp + 4], 0
mov dword [esp], 0x6661dee0
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f5c6d
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], 0x6661dec2
mov edx, 1
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f5c97
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], str.table
mov edx, 2
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f5cc1
mov dword [esp + 4], 0
mov dword [esp], str.from
xor ecx, ecx
mov edx, 3
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
jmp 0x665f2e0d
mov dword [esp + 4], eax
mov dword [esp], 0x6661ac50
call sym.libsqlite3_0.dll_sqlite3_mprintf
mov dword [sym.libsqlite3_0.dll_sqlite3_data_directory], eax
jmp 0x665f22b3
movzx eax, byte [esp + 0x34]
jmp 0x665f27c8
movsx eax, al
lea esi, [eax - 0x30]
mov ebx, dword [edi]
movzx eax, byte [ebx + 0x40]
cmp eax, esi
je 0x665f22b3
mov eax, edi
call sym._invalidateTempStorage
test eax, eax
jne 0x665f22b3
mov eax, esi
mov byte [ebx + 0x40], al
jmp 0x665f22b3
mov eax, dword [esp + 0x30]
xor edx, edx
mov ecx, 1
call sym._getSafetyLevel
mov edi, dword [esp + 0x3c]
add eax, 1
mov edx, 1
and eax, 3
cmove eax, edx
mov byte [edi + 8], al
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x3f], 0
je 0x665f22b3
call sym._setAllPagerFlags.part.185
jmp 0x665f22b3
xor ecx, ecx
xor edx, edx
mov dword [esp + 4], 0
mov dword [esp], str.table
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f3096
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], str.rowid
mov edx, 1
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f3096
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], str.parent
mov edx, 2
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f3096
mov dword [esp + 4], 0
mov dword [esp], str.fkid
xor ecx, ecx
mov edx, 3
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
jmp 0x665f3096
xor ecx, ecx
xor edx, edx
mov dword [esp + 4], 0
mov dword [esp], 0x6661dec2
mov eax, esi
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
jne 0x665f4922
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], str.name
mov edx, 1
mov eax, esi
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
jne 0x665f4922
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], str.unique
mov edx, 2
mov eax, esi
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [esi]
cmp byte [eax + 0x41], 0
jne 0x665f4922
mov dword [esp + 4], 0
mov dword [esp], str.origin
xor ecx, ecx
mov edx, 3
mov eax, esi
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [esi]
jmp 0x665f48ff
mov dword [esp + 4], eax
mov dword [esp], 0x6661ac50
call sym.libsqlite3_0.dll_sqlite3_mprintf
mov dword [sym.libsqlite3_0.dll_sqlite3_temp_directory], eax
jmp 0x665f22b3
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
lea edx, [esp + 0x90]
mov eax, dword [eax]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [eax + 0x20]
test eax, eax
jne 0x665f5fa7
cmp dword [esp + 0x90], 0
jne 0x665f2726
mov dword [esp + 4], str.not_a_writable_directory
mov dword [esp], edi
call sym._sqlite3ErrorMsg
jmp 0x665f22b3
xor ecx, ecx
xor edx, edx
mov dword [esp + 4], 0
mov dword [esp], 0x6661de71
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f607c
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], str.name
mov edx, 1
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f28ab
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], str.type
mov edx, 2
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f28ab
mov dword [esp + 4], 0
mov dword [esp], str.notnull
xor ecx, ecx
mov edx, 3
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
jmp 0x665f28a1
mov dword [esp + 4], 0
mov dword [esp], str.dflt_value
xor ecx, ecx
mov edx, 4
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f28ab
mov dword [esp + 4], 0
mov dword [esp], 0x6661de92
xor ecx, ecx
mov edx, 5
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
jmp 0x665f28ab
mov edi, dword [esp + 0x28]
mov eax, ebx
not eax
and dword [edi + 0x18], eax
cmp ebx, 0x1000000
jne 0x665f3778
mov dword [edi + 0x200], 0
mov dword [edi + 0x204], 0
jmp 0x665f3778
xor ecx, ecx
xor edx, edx
mov dword [esp + 4], 0
mov dword [esp], str.table
mov eax, ebx
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebx]
cmp byte [eax + 0x41], 0
jne 0x665f2ad3
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], str.index
mov edx, 1
mov eax, ebx
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebx]
cmp byte [eax + 0x41], 0
jne 0x665f2ad3
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], str.width
mov edx, 2
mov eax, ebx
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebx]
cmp byte [eax + 0x41], 0
jne 0x665f2ad3
mov dword [esp + 4], 0
mov dword [esp], str.height
xor ecx, ecx
mov edx, 3
mov eax, ebx
call sym._sqlite3VdbeSetColName.part.365
jmp 0x665f2ad3
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x90]
mov dword [esp + 0x90], 0
call sym._sqlite3GetInt32
mov ebx, dword [esp + 0x90]
mov eax, dword [esp + 0x28]
cmp ebx, 2
ja 0x665f61c4
mov byte [eax + 0x43], bl
mov eax, dword [esp + 0x38]
mov edx, ebx
call sym._sqlite3BtreeSetAutoVacuum
test eax, eax
jne 0x665f22b3
lea esi, [ebx - 1]
cmp esi, 1
ja 0x665f22b3
jmp 0x665f38e7
mov byte [eax + 0x43], 0
mov eax, dword [esp + 0x38]
xor edx, edx
call sym._sqlite3BtreeSetAutoVacuum
jmp 0x665f22b3
mov ecx, 1
jmp 0x665f2a30
mov esi, dword [esp + 0x28]
mov edx, dword [esi + 0x18]
test dword [eax + 0x666255c8], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 4], 0
setne al
movzx eax, al
mov dword [esp], eax
mov eax, edi
call sym._returnSingleInt
jmp 0x665f22b3
mov eax, edi
call sym._sqlite3GetVdbe.part.430
mov ebx, eax
jmp 0x665f2aa9
mov edx, str.incremental
jmp 0x665f38af
mov ebx, 1
jmp 0x665f38ca
mov eax, edi
call sym._sqlite3GetVdbe.part.430
mov esi, eax
jmp 0x665f48d5
mov edx, str.normal
jmp 0x665f3e4b
cmp byte [0x666265e6], 0
mov ebx, 1
je 0x665f25e0
mov edx, str.restart
jmp 0x665f5a1f
xor ebx, ebx
jmp 0x665f25e0
mov eax, edi
call sym._invalidateTempStorage
jmp 0x665f2734
cmp dword [sym.libsqlite3_0.dll_sqlite3_temp_directory], 0
je 0x665f22b3
mov eax, ebp
mov edx, 1
call sym._sqlite3VdbeSetNumCols
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f62b5
mov dword [esp + 4], 0
mov dword [esp], str.temp_store_directory
xor ecx, ecx
xor edx, edx
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov ebx, dword [sym.libsqlite3_0.dll_sqlite3_temp_directory]
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], 1
mov edx, 0x61
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, ebx
mov edx, eax
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov dword [esp + 4], 0
mov dword [esp], 1
mov ecx, 1
mov edx, 0x23
mov eax, ebp
call sym._sqlite3VdbeAddOp3
jmp 0x665f22b3
mov eax, dword [esp + 0x3c]
mov edx, str.synchronous
movzx eax, byte [eax + 8]
sub eax, 1
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov eax, edi
call sym._returnSingleInt
jmp 0x665f22b3
cmp dword [sym.libsqlite3_0.dll_sqlite3_data_directory], 0
je 0x665f22b3
mov eax, ebp
mov edx, 1
call sym._sqlite3VdbeSetNumCols
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f6371
mov dword [esp + 4], 0
mov dword [esp], str.data_store_directory
xor ecx, ecx
xor edx, edx
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov ebx, dword [sym.libsqlite3_0.dll_sqlite3_data_directory]
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], 1
mov edx, 0x61
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov ecx, ebx
mov edx, eax
mov dword [esp], 0
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov dword [esp + 4], 0
mov dword [esp], 1
mov ecx, 1
mov edx, 0x23
mov eax, ebp
call sym._sqlite3VdbeAddOp3
jmp 0x665f22b3
mov ecx, str.memory
jmp 0x665f2817
mov esi, 1
jmp 0x665f5db7
mov eax, dword [esi + 0xdc]
cdq
jmp 0x665f268e
mov ecx, edi
mov ebx, str.full
movzx edx, cl
jmp 0x665f3860
mov eax, dword [esp + 0x28]
xor edx, edx
mov byte [eax + 0x43], 0
mov eax, dword [esp + 0x38]
call sym._sqlite3BtreeSetAutoVacuum
jmp 0x665f22b3
cmp byte [0x666265ee], 0
je 0x665f63fa
cmp byte [0x666265e6], 0
je 0x665f6228
mov edx, str.incremental
jmp 0x665f38ad
mov eax, dword [esp + 0x38]
call sym._sqlite3BtreeGetAutoVacuum
mov dword [esp], eax
sar eax, 0x1f
mov edx, str.auto_vacuum
mov dword [esp + 4], eax
mov eax, edi
call sym._returnSingleInt
jmp 0x665f22b3
cmp byte [0x666265e6], 0
je 0x665f63d5
mov ecx, str.memory
jmp 0x665f2815
mov eax, dword [esp + 0x28]
mov edx, str.temp_store
movzx eax, byte [eax + 0x40]
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, edi
call sym._returnSingleInt
jmp 0x665f22b3
mov eax, ebp
mov edx, 1
call sym._sqlite3VdbeSetNumCols
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f64c0
mov dword [esp + 4], 0
mov dword [esp], str.cache_size
xor ecx, ecx
xor edx, edx
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
add dword [edi + 0x48], 2
mov edx, 9
mov ecx, 0x66622680
mov eax, ebp
call sym._sqlite3VdbeAddOpList.isra.445
cmp eax, dword [ebp + 0x20]
mov edx, dword [ebp + 4]
jae 0x665f64e8
imul ecx, eax, 0x14
mov edi, dword [esp + 0x34]
mov dword [edx + ecx + 4], edi
lea ecx, [eax + 1]
cmp ecx, dword [ebp + 0x20]
jae 0x665f64fb
imul ecx, ecx, 0x14
mov edi, dword [esp + 0x34]
mov dword [edx + ecx + 4], edi
add eax, 6
cmp eax, dword [ebp + 0x20]
jae 0x665f22b3
imul eax, eax, 0x14
mov dword [edx + eax + 4], 0x7d0
jmp 0x665f22b3
mov eax, edi
call sym._sqlite3GetVdbe.part.430
mov ebp, eax
jmp 0x665f307d
mov eax, dword [esp + 0x3c]
mov edx, str.cache_size
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x50]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov eax, edi
call sym._returnSingleInt
jmp 0x665f22b3
mov eax, edi
call sym._sqlite3GetVdbe.part.430
mov ebp, eax
jmp 0x665f2dd3
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], 0
mov edx, 0x99
mov dword [esp], ebx
mov eax, ebp
call sym._sqlite3VdbeAddOp3
jmp 0x665f3d42
cmp byte [0x666265e5], 0
je 0x665f5823
mov edx, str.normal
jmp 0x665f3e49
cmp dword [ebx + 4], 0
jne 0x665f65b8
mov eax, dword [esp + 0x28]
movzx eax, byte [eax + 0x42]
jmp 0x665f3ee7
mov edx, str.restart
jmp 0x665f5a21
mov edi, str.exclusive
mov eax, ecx
jmp 0x665f3df9
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
jmp 0x665f3ee3
mov eax, edi
call sym._sqlite3ReadSchema
test eax, eax
jne 0x665f22b3
mov eax, ebp
mov edx, 1
call sym._sqlite3VdbeSetNumCols
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f6607
mov dword [esp + 4], 0
mov dword [esp], str.encoding
xor ecx, ecx
xor edx, edx
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], 1
mov edx, 0x61
mov eax, ebp
call sym._sqlite3VdbeAddOp3
mov eax, dword [edi]
or edx, 0xffffffff
movzx eax, byte [eax + 0x3e]
mov dword [esp], 0xfffffffe
mov ecx, dword [eax*8 + 0x66622600]
mov eax, ebp
call sym._sqlite3VdbeChangeP4
mov dword [esp + 4], 0
mov dword [esp], 1
mov ecx, 1
mov edx, 0x23
mov eax, ebp
call sym._sqlite3VdbeAddOp3
jmp 0x665f22b3
jl 0x665f6677
cmp dword [esp + 0x90], 0xffffffff
jae 0x665f3fbe
mov dword [esp + 0x90], 0xffffffff
mov dword [esp + 0x94], 0xffffffff
jmp 0x665f3fbe
test ebx, ebx
je 0x665f6731
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x20]
mov dword [esp], eax
sar eax, 0x1f
mov edx, str.page_size
mov dword [esp + 4], eax
mov eax, edi
call sym._returnSingleInt
jmp 0x665f22b3
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], str.desc
mov edx, 3
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f4ad8
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp], str.coll
mov edx, 4
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
mov eax, dword [ebp]
cmp byte [eax + 0x41], 0
jne 0x665f4ad8
mov dword [esp + 4], 0
mov dword [esp], 0x6661debe
xor ecx, ecx
mov edx, 5
mov eax, ebp
call sym._sqlite3VdbeSetColName.part.365
jmp 0x665f4ad8
xor eax, eax
jmp 0x665f66a0