Function at 0x665dcd90
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x22c
mov esi, dword [eax + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x48], esi
mov esi, eax
mov eax, dword [eax]
mov edi, eax
mov dword [esp + 0x20], eax
movzx eax, byte [eax + 0x3e]
mov byte [esp + 0x4f], al
mov eax, esi
mov esi, dword [esi + 8]
mov dword [esp + 0x2c], esi
mov esi, dword [edi + 0x20]
mov edi, dword [edi + 0x24]
mov dword [esp + 0x38], esi
lea esi, [eax + 0x64]
mov dword [esp + 0x3c], edi
mov edi, dword [eax + 0x64]
mov dword [esp + 0x50], esi
test edi, edi
jne 0x665dcfe5
mov esi, dword [esp + 0x24]
cmp dword [esi + 0x50], 7
je 0x665dcffe
mov ecx, dword [esp + 0x20]
mov dword [esi + 0x50], 0
mov dword [esi + 0x88], 0
mov dword [esi + 0x8c], 0
mov dword [esi + 0x14], 0
mov eax, dword [ecx + 0xf0]
mov dword [ecx + 0x1c4], 0
test eax, eax
jne 0x665dd040
mov ebx, dword [ecx + 0x124]
test ebx, ebx
je 0x665e1298
mov eax, dword [esi + 0x7c]
test eax, eax
je 0x665dceb4
mov esi, dword [esp + 0x20]
xor edx, edx
div dword [esi + 0x12c]
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x64], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x80], 0
mov byte [esp + 0x4e], 0
mov eax, dword [eax + 0x4c]
lea eax, [eax + eax*4]
lea ebp, [esi + eax*4]
mov eax, dword [esp + 0x20]
movzx edi, byte [eax + 0x41]
mov eax, edi
mov ecx, edi
nop
test al, al
jne 0x665dcf30
movzx ebx, byte [ebp]
add dword [esp + 0x28], 1
cmp bl, 0x9b
ja case.0x665dcead.0
movzx esi, bl
jmp dword [esi*4 + 0x6661d508]
mov eax, dword [ecx + 0x12c]
mov dword [esp + 0x54], eax
jmp 0x665dce51
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x2c]
movzx ebx, byte [ebp + 3]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp + 0xc]
test ebx, ebx
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
mov eax, dword [ebp + 8]
mov dword [esp + 0x160], edx
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
je 0x665e137c
xor edx, edx
mov dword [esp + 0x30], ebp
mov ebp, ebx
mov ebx, edx
jmp 0x665dcf0e
add ebx, 1
add esi, 0x28
cmp ebp, ebx
je 0x665e136f
test byte [esi + 9], 0x10
mov dword [edi + ebx*4], esi
je 0x665dcf00
mov eax, esi
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x665dcf00
mov ebp, dword [esp + 0x30]
lea esi, [esi]
lea edi, [edi]
mov eax, dword [esp + 0x24]
lea ebx, [eax + 0x2c]
sub ebp, dword [esp + 0x48]
sar ebp, 2
imul esi, ebp, 0xcccccccd
mov eax, dword [esp + 0x20]
mov byte [eax + 0x41], 1
mov dword [esp + 4], eax
mov dword [esp + 8], 0x6661b30a
mov dword [esp], ebx
call sym._sqlite3SetString
mov eax, 7
mov edi, dword [esp + 0x24]
mov edx, dword [edi + 0x2c]
mov dword [edi + 0x50], eax
mov dword [esp + 0x10], edx
mov edx, dword [edi + 0xa8]
mov dword [esp], eax
mov dword [esp + 8], esi
mov dword [esp + 4], str.statement_aborts_at__d:___s___s
mov dword [esp + 0xc], edx
call sym.libsqlite3_0.dll_sqlite3_log
mov eax, edi
call sym._sqlite3VdbeHalt
cmp byte [esp + 0x4e], 0
mov dword [esp + 0x30], 1
jne 0x665dd020
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x24], edx
mov esi, dword [esp + 0x28]
mov edi, dword [eax + 0x64]
add dword [eax + 0x7c], esi
test edi, edi
je 0x665dcfd6
mov edx, dword [esp + 0x50]
mov eax, dword [eax]
call sym._sqlite3VdbeLeave.isra.132.part.133
mov eax, dword [esp + 0x30]
add esp, 0x22c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x20]
mov edx, esi
call sym._sqlite3VdbeEnter.isra.130.part.131
mov esi, dword [esp + 0x24]
cmp dword [esi + 0x50], 7
jne 0x665dcdee
mov eax, dword [esp + 0x24]
xor esi, esi
mov dword [esp + 0x28], 0
mov byte [esp + 0x4e], 0
lea ebx, [eax + 0x2c]
jmp 0x665dcf44
movzx edx, byte [esp + 0x4e]
mov eax, dword [esp + 0x20]
sub edx, 1
call sym._sqlite3ResetOneSchema
jmp 0x665dcfa7
xor esi, esi
mov dword [esp + 0x28], 0
mov byte [esp + 0x4e], 0
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov dword [eax + 0x50], 9
add eax, 0x2c
mov dword [esp + 0xc], str.interrupted
mov dword [esp], eax
mov dword [esp + 8], 0x6661ac50
mov dword [esp + 4], edi
call sym._sqlite3SetString
mov eax, 9
jmp 0x665dcf65
mov eax, dword [esp + 0x24]
add dword [eax + 0x74], 1
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x70], eax
mov eax, dword [eax + 0x38]
test eax, eax
mov dword [esp + 0x68], eax
je 0x665e2065
cmp byte [eax + 0x38], 0
jne 0x665e1d85
mov edx, dword [eax + 0x24]
test edx, edx
je 0x665e1f6e
lea ecx, [eax + 0x28]
lea edx, [eax + 0x24]
add eax, 0x40
call sym._vdbeSorterSort.isra.278
mov edi, eax
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 0
lea esi, [esi]
add ebp, 0x14
test edi, edi
jne 0x665e5e88
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dce90
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + edx*4]
test esi, esi
je case.0x665dcead.54
mov eax, dword [ebp + 8]
cmp dword [esi + 0x20], eax
je 0x665e1a15
mov eax, dword [esp + 0x24]
test byte [eax + 0x58], 8
jne 0x665e12bd
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x20]
mov edi, dword [ebp + 8]
mov dword [esp + 0x30], 0
mov eax, esi
shl eax, 4
add eax, dword [ecx + 0x10]
cmp bl, 0x37
mov ecx, dword [eax + 4]
mov dword [esp + 0x40], ecx
je 0x665e2d7c
test byte [ebp + 3], 4
jne 0x665e2ca3
movzx eax, byte [ebp + 1]
cmp al, 0xfa
je 0x665e2ed4
xor ebx, ebx
xor ecx, ecx
cmp al, 0xf2
je 0x665e1b2e
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x24]
mov dword [esp], esi
mov dword [esp + 4], 1
call sym._allocateCursor
test eax, eax
mov esi, eax
je 0x665dcf30
or byte [eax + 0x1c], 8
mov dword [eax + 0x20], edi
mov edx, edi
mov byte [eax + 0x19], 1
mov eax, dword [eax]
mov ecx, dword [esp + 0x30]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
call sym._sqlite3BtreeCursor
mov dword [esi + 8], ebx
cmp byte [ebp + 1], 0xfa
mov edi, eax
movzx edx, byte [esi + 0x1c]
setne al
shl eax, 2
and edx, 0xfffffffb
or eax, edx
mov byte [esi + 0x1c], al
movzx eax, byte [ebp + 3]
mov edx, dword [esi]
and eax, 3
mov byte [edx + 0x4a], al
jmp 0x665dd0e0
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 0x2c]
lea edx, [edx + edx*4]
test byte [edi + edx*8 + 8], 1
je 0x665dd284
mov eax, ebp
sub eax, dword [esp + 0x48]
sar eax, 2
imul ebx, eax, 0xcccccccd
mov eax, dword [ebp + 4]
test eax, eax
jne 0x665e540c
mov edi, dword [esp + 0x24]
mov eax, dword [edi + 0xb0]
test eax, eax
je 0x665e53d4
mov edx, dword [eax + 4]
mov esi, dword [esp + 0x20]
mov ebx, edi
sub dword [edi + 0xb8], 1
mov dword [edi + 0xb0], edx
mov edx, dword [edi + 0x5c]
add dword [esi + 0x54], edx
mov dword [esi + 0x50], edx
call sym._sqlite3VdbeFrameRestore
cmp dword [ebp + 8], 4
mov edi, dword [esi + 0x24]
mov esi, dword [esi + 0x20]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], esi
je 0x665e1e31
mov ecx, dword [ebx + 4]
mov dword [esp + 0x48], ecx
mov edi, dword [esp + 0x24]
lea eax, [eax + eax*4]
mov esi, dword [edi + 8]
mov edi, dword [esp + 0x48]
lea ebp, [edi + eax*4]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], esi
movzx ecx, byte [eax + 0x41]
mov eax, ecx
add ebp, 0x14
jmp 0x665dce90
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + edx*4]
mov ebx, dword [eax]
mov byte [eax + 0x19], 1
mov dword [eax + 0x3c], 0
test ebx, ebx
je 0x665e209a
mov eax, dword [ebx + 0x38]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x38], 0
mov byte [ebx + 0x49], 0
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov edi, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [edi + 8]
call sym._out2Prerelease.isra.294
mov edx, dword [ebp + 4]
mov ebx, eax
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
cmp byte [esi + 0x19], 0
jne 0x665df400
cmp byte [esi + 0x1a], 0
je 0x665e2ded
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
xor edi, edi
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp 0x665dd0e0
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + edx*4]
test byte [esi + 0x1c], 4
mov edi, dword [esi]
je 0x665e170d
cmp word [edi + 0x2c], 0
jne 0x665dd356
movsx eax, word [edi + 0x4c]
lea ecx, [edi + 0x18]
movzx edx, word [edi + eax*2 + 0x4e]
mov eax, dword [edi + eax*4 + 0x78]
call sym._btreeParseCell
or byte [edi + 0x48], 2
mov eax, dword [esp + 0x20]
mov ecx, dword [edi + 0x24]
cmp dword [eax + 0x58], ecx
jb 0x665dd629
cmp ecx, 0x20
mov edx, 0x20
cmovae edx, ecx
cmp dword [ebx + 0x18], edx
jl 0x665e2581
movzx eax, word [ebx + 8]
mov edx, dword [ebx + 0x14]
mov dword [ebx + 0x10], edx
and eax, 0xd
and ax, 0xbe00
mov dword [ebx + 0xc], ecx
or eax, 0x10
mov word [ebx + 8], ax
test byte [esi + 0x1c], 4
jne 0x665e1db3
mov dword [esp], edx
mov eax, edi
mov dword [esp + 4], 0
xor edx, edx
call sym._accessPayload
mov edi, eax
mov byte [ebx + 0xa], 1
jmp 0x665dd0e0
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x2c]
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + edx*4]
mov eax, dword [eax + 0x38]
cmp byte [eax + 0x38], 0
jne 0x665e27b3
mov esi, dword [eax + 0x24]
mov edi, dword [esi]
add esi, 8
cmp edi, dword [ebx + 0x18]
jg 0x665e2798
movzx eax, word [ebx + 8]
mov edx, dword [ebx + 0x14]
mov dword [ebx + 0x10], edx
and eax, 0xd
and ax, 0xbe00
mov dword [ebx + 0xc], edi
or eax, 0x10
mov word [ebx + 8], ax
mov dword [esp + 8], edi
xor edi, edi
mov dword [esp + 4], esi
mov dword [esp], edx
call sym._memcpy
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 0xc]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + edx*4]
mov dword [eax + 0x3c], 0
jmp 0x665dd0e0
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov ebx, dword [ebp + 0xc]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x40], ebx
mov ebx, dword [ebp + 0x10]
mov eax, dword [eax + edx*4]
mov esi, dword [eax + 8]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x30], esi
mov esi, dword [edi + 0x20]
test esi, esi
je 0x665e48f2
cmp byte [edi + 0x38], 0
jne 0x665e2780
mov edi, dword [edi + 0x24]
mov ecx, dword [edi]
add edi, 8
mov eax, dword [esp + 0x30]
mov dword [esp + 4], esi
mov dword [esp], edi
lea edx, [eax + 0xc]
add eax, 4
call sym._sqlite3VdbeRecordUnpack.isra.136
test ebx, ebx
jle 0x665dd4c6
mov ecx, dword [esi + 8]
xor eax, eax
test byte [ecx + 8], 1
lea edx, [ecx + 0x30]
je 0x665dd4bf
jmp 0x665df791
movzx ecx, word [edx]
add edx, 0x28
and ecx, 1
jne 0x665df791
add eax, 1
cmp ebx, eax
jne 0x665dd4b0
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x2c]
mov ecx, esi
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp], 0
call sym._sqlite3VdbeRecordCompareWithSkip
test eax, eax
jne 0x665df791
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebx]
call sym._sqlite3BtreeDelete
test eax, eax
mov edi, eax
mov dword [ebx + 0x3c], 0
jne 0x665e15de
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x665dd543
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x665dd543
test byte [ebx + 0x1c], 4
jne 0x665e3fc3
test byte [ebp + 8], 1
jne 0x665e15e8
mov eax, dword [esp + 0x20]
add ebp, 0x14
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dce90
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 8]
call sym._out2Prerelease.isra.294
mov edx, dword [ebp + 0x10]
mov ebx, eax
mov byte [ebp], 0x1b
test edx, edx
je 0x665e316d
cmp byte [edx], 0
je 0x665e316d
mov eax, edx
lea esi, [esi]
add eax, 1
cmp byte [eax], 0
jne 0x665dd590
sub eax, edx
and eax, 0x3fffffff
cmp byte [esp + 0x4f], 1
mov dword [ebp + 4], eax
je 0x665e1820
mov dword [esp + 4], 0
mov dword [esp], 1
mov ecx, 0xffffffff
mov eax, ebx
call sym._sqlite3VdbeMemSetStr
cmp eax, 0x12
mov edi, eax
je 0x665dd629
movzx eax, word [ebx + 8]
test al, 2
je 0x665dd5f4
movzx edx, byte [esp + 0x4f]
cmp byte [ebx + 0xa], dl
je 0x665dd5f4
mov eax, ebx
call sym._sqlite3VdbeChangeEncoding.part.366
test eax, eax
jne 0x665dcf30
movzx eax, word [ebx + 8]
or ah, 8
mov dword [ebx + 0x18], 0
mov word [ebx + 8], ax
cmp byte [ebp + 1], 0xff
je 0x665e47c3
mov byte [ebp + 1], 0xff
mov eax, dword [ebx + 0x10]
mov dword [ebp + 0x10], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp + 4], eax
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 0x58], eax
jge 0x665deced
sub ebp, dword [esp + 0x48]
mov eax, dword [esp + 0x24]
lea edi, [eax + 0x2c]
sar ebp, 2
imul esi, ebp, 0xcccccccd
mov eax, dword [esp + 0x20]
mov dword [esp + 8], str.string_or_blob_too_big
mov dword [esp], edi
mov dword [esp + 4], eax
call sym._sqlite3SetString
mov eax, 0x12
jmp 0x665dcf65
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
test word [ebx + 8], 0x2460
jne 0x665e2bf1
mov eax, 1
mov word [ebx + 8], ax
test byte [esi + 8], 1
je 0x665e2280
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov eax, dword [esi + 0x5c]
add dword [ecx + 0x54], eax
mov dword [ecx + 0x50], eax
mov dword [esi + 0x5c], 0
movzx ecx, byte [ecx + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
mov edi, eax
and di, 0xc
mov word [esp + 0x60], di
jne 0x665dd6fb
and ax, 0x12
mov word [esp + 0x60], ax
je 0x665dd6fb
mov eax, esi
call sym._computeNumericType
mov word [esp + 0x60], ax
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0x68], eax
movzx eax, word [eax + 8]
mov ecx, eax
and cx, 0xc
mov word [esp + 0x58], cx
jne 0x665dd73e
mov edi, eax
and di, 0x12
mov word [esp + 0x58], di
je 0x665dd73e
mov edi, dword [esp + 0x68]
mov eax, edi
call sym._computeNumericType
mov word [esp + 0x58], ax
movzx eax, word [edi + 8]
mov edx, dword [ebp + 0xc]
or ax, word [esi + 8]
mov ecx, dword [esp + 0x2c]
lea edx, [edx + edx*4]
test al, 1
lea edi, [ecx + edx*8]
jne 0x665e10a6
movzx eax, word [esp + 0x60]
and eax, 4
test word [esp + 0x58], ax
je 0x665e1042
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x44], edx
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
movzx eax, byte [ebp]
mov dword [esp + 0x34], edx
cmp al, 0x5a
je 0x665e457a
jbe 0x665e4001
cmp al, 0x5b
je 0x665e4aef
cmp al, 0x5c
jne 0x665e4aab
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov eax, ebx
or eax, ecx
je 0x665e10a6
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
add edx, 0x80000000
or eax, edx
jne 0x665dd7db
mov eax, ecx
and eax, ebx
cmp eax, 0xffffffff
je 0x665e45d7
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.___divdi3
mov dword [edi], eax
movzx eax, word [edi + 8]
mov dword [edi + 4], edx
and ax, 0xbe00
or eax, 4
mov word [edi + 8], ax
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x2c]
mov edx, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea edx, [edx + edx*4]
lea ecx, [edi + eax*8]
mov eax, dword [ebp + 8]
lea ebx, [edi + edx*8]
movzx edx, word [ecx + 8]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
or dx, word [eax + 8]
and edx, 1
je 0x665e22a8
test word [ebx + 8], 0x2460
jne 0x665e1a97
mov eax, 1
mov word [ebx + 8], ax
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp + 8]
movzx edx, word [edi + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
movzx eax, word [esi + 8]
mov ecx, edx
or ecx, eax
and ecx, 1
jne 0x665e15f5
and dh, 0x40
jne 0x665e3944
test ah, 0x40
jne 0x665e3930
test byte [edi + 8], 0x12
je 0x665e3910
test byte [esi + 8], 0x12
je 0x665e38f0
mov edx, dword [esp + 0x20]
mov eax, dword [esi + 0xc]
add eax, dword [edi + 0xc]
cmp eax, dword [edx + 0x58]
mov dword [esp + 0x30], eax
jg 0x665dd629
mov eax, dword [esp + 0x30]
xor ecx, ecx
cmp esi, ebx
sete cl
lea edx, [eax + 2]
mov eax, ebx
call sym._sqlite3VdbeMemGrow
test eax, eax
jne 0x665dcf30
movzx eax, word [ebx + 8]
and ax, 0xbe00
or eax, 2
cmp esi, ebx
mov word [ebx + 8], ax
je 0x665dd930
mov eax, dword [ebx + 0x10]
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 8], ecx
call sym._memcpy
mov eax, dword [esi + 0xc]
add eax, dword [ebx + 0x10]
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._memcpy
mov eax, dword [ebx + 0x10]
mov esi, dword [esp + 0x30]
mov byte [eax + esi], 0
mov eax, dword [ebx + 0x10]
mov byte [eax + esi + 1], 0
movzx eax, byte [esp + 0x4f]
or word [ebx + 8], 0x200
mov dword [ebx + 0xc], esi
mov byte [ebx + 0xa], al
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 4]
mov esi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea edi, [esi + eax*8]
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
movzx eax, word [edi + 8]
movzx edx, word [esi + 8]
mov word [esp + 0x40], ax
mov word [esp + 0x58], ax
or eax, edx
mov word [esp + 0x30], dx
test al, 1
movzx eax, byte [ebp + 3]
jne 0x665e1752
and eax, 0x47
cmp al, 0x42
jle 0x665e2e68
movzx edx, word [esp + 0x40]
movzx eax, word [esp + 0x30]
and edx, 0xe
cmp dx, 2
je 0x665e4f8b
and eax, 0xe
cmp ax, 2
je 0x665e5207
movzx eax, word [edi + 8]
test ah, 0x40
jne 0x665e395c
test byte [esi + 9], 0x40
jne 0x665e37ba
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x41], 0
jne 0x665dcf30
mov ecx, dword [ebp + 0x10]
mov edx, edi
mov eax, esi
call sym._sqlite3MemCompare
movzx ebx, byte [ebp]
sub ebx, 0x4e
cmp bl, 4
ja case.default.0x665dda2d
movzx ebx, bl
jmp dword [ebx*4 + 0x6661d778]
mov edx, dword [ebp + 4]
mov edi, dword [esp + 0x2c]
lea edx, [edx + edx*4]
test byte [edi + edx*8 + 8], 1
jne 0x665dd284
jmp 0x665df791
mov edx, dword [ebp + 4]
mov esi, dword [esp + 0x2c]
lea edx, [edx + edx*4]
test byte [esi + edx*8 + 8], 1
je 0x665dd284
jmp 0x665df791
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x2c]
cmp bl, 0x4b
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp + 0xc]
je 0x665e25a4
mov dword [esp + 0x30], eax
sar eax, 0x1f
mov dword [esp + 0x34], eax
movzx eax, byte [ebp + 3]
test al, 1
je 0x665ddaad
mov eax, dword [esp + 0x24]
add dword [eax + 0x5c], 1
movzx eax, byte [ebp + 3]
test al, 2
je 0x665ddacb
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], ebx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ebx
movzx ecx, word [edx + 8]
test cl, 1
jne 0x665e1622
mov eax, dword [edx + 0xc]
mov dword [esp + 0x58], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x40], eax
movzx eax, byte [ebp + 3]
xor edi, edi
test al, 0x10
je 0x665ddaf3
mov edi, dword [esi + 0xc]
xor ebx, ebx
and ch, 0x40
je 0x665ddafc
mov ebx, dword [edx]
shr al, 3
mov edx, dword [esp + 0x34]
mov dword [esp + 0x18], edi
and eax, 1
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], edx
xor edx, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov eax, dword [esi]
call sym._sqlite3BtreeInsert
test eax, eax
mov edi, eax
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
jne 0x665df361
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 0xd4]
test edx, edx
je 0x665e46b4
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x665e4a56
movsx eax, byte [esi + 0x18]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
shl eax, 4
add eax, dword [ebx + 0x10]
mov ebx, dword [eax]
movzx eax, byte [ebp + 3]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x20]
and eax, 4
cmp al, 1
sbb eax, eax
and eax, 0xfffffffb
add eax, 0x17
mov dword [esp + 4], eax
mov eax, dword [ebx + 0xd0]
mov dword [esp], eax
call edx
movzx ecx, byte [ebx + 0x41]
mov eax, ecx
jmp 0x665dd284
mov esi, dword [esp + 0x24]
mov dword [esp + 0x118], 0
mov edx, dword [ebp + 8]
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
mov eax, dword [esi + 8]
call sym._out2Prerelease.isra.294
mov edx, dword [ebp + 4]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x38]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebx]
test eax, eax
je 0x665e375a
test byte [ebx + 0x1c], 2
je 0x665e2da0
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x665e193c
xor edi, edi
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0xb0]
test edx, edx
jne 0x665ddc32
jmp 0x665e4a47
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x665ddc30
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea esi, [eax + ecx*8]
mov eax, esi
call sym._sqlite3VdbeIntValue
movzx ecx, word [esi + 8]
mov dword [esp + 0x34], edx
mov dword [esi + 4], edx
mov dword [esp + 0x30], eax
mov dword [esi], eax
and cx, 0xbe00
or ecx, 4
mov word [esi + 8], cx
mov ecx, edx
mov edx, eax
mov eax, ecx
mov ecx, edx
xor eax, 0x7fffffff
not ecx
or eax, ecx
je 0x665e4274
test byte [ebx + 0x1c], 2
jne 0x665e4274
mov edx, dword [esp + 0x164]
cmp edx, dword [esp + 0x34]
mov eax, dword [esp + 0x160]
jg 0x665ddcbf
jl 0x665ddca3
cmp eax, dword [esp + 0x30]
ja 0x665ddcbf
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
add eax, 1
adc edx, 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], edx
mov dword [esi], eax
mov dword [esi + 4], edx
test byte [ebx + 0x1c], 2
jne 0x665e193c
mov byte [ebx + 0x1a], 0
mov dword [ebx + 0x3c], 0
mov eax, dword [esp + 0x160]
mov edx, dword [esp + 0x164]
mov esi, dword [esp + 0x40]
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x665dd0e0
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
mov ebx, 6
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
test byte [eax + 8], 1
je 0x665e21b7
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x2c]
mov edx, 2
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
test byte [eax + 8], 1
je 0x665e21a5
cmp byte [ebp], 0x48
je 0x665e2198
movzx ecx, byte [edx + ebx + 0x66621c7c]
mov eax, dword [ebp + 0xc]
mov esi, dword [esp + 0x2c]
cmp ecx, 2
lea eax, [eax + eax*4]
lea edx, [esi + eax*8]
je 0x665e217a
movzx eax, word [edx + 8]
mov dword [edx], ecx
sar ecx, 0x1f
mov dword [edx + 4], ecx
and ax, 0xbe00
or eax, 4
mov word [edx + 8], ax
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebx]
mov dword [esp + 0x160], 0
mov edi, dword [ecx + edx*8 + 4]
mov esi, dword [ecx + edx*8]
lea ecx, [esp + 0x160]
xor edx, edx
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], esi
call sym._sqlite3BtreeMovetoUnpacked
mov edi, eax
mov eax, dword [esp + 0x30]
mov byte [ebx + 0x19], 0
mov dword [ebx + 0x3c], 0
mov byte [ebx + 0x1a], 0
mov edx, dword [esp + 0x34]
mov dword [ebx + 0x30], eax
mov eax, dword [esp + 0x160]
mov dword [ebx + 0x34], edx
test eax, eax
mov dword [ebx + 0xc], eax
je 0x665dd0e0
mov eax, dword [ebp + 8]
jmp 0x665df796
mov edi, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [edi + 8]
call sym._out2Prerelease.isra.294
mov ecx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov edx, dword [edx + ecx*4]
mov ecx, dword [edx + 0x28]
mov ebx, dword [edx + 0x2c]
mov esi, ecx
mov edi, ebx
add esi, 1
adc edi, 0
mov dword [edx + 0x28], esi
mov dword [edx + 0x2c], edi
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov edi, dword [esp + 0x2c]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xf8], 0
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x10]
test eax, eax
jle 0x665e3c74
mov edx, dword [ebx + 8]
test ax, ax
mov word [esp + 0x11c], ax
mov dword [esp + 0x120], ecx
mov dword [esp + 0x118], edx
je 0x665e12ca
xor esi, esi
xor edi, edi
mov eax, ecx
jmp 0x665ddecd
movzx eax, word [esp + 0x11c]
add edi, 1
add esi, 0x28
cmp eax, edi
jle 0x665e12ca
mov eax, dword [esp + 0x120]
add eax, esi
test byte [eax + 9], 0x40
je 0x665ddeb0
call sym._sqlite3VdbeMemExpandBlob
jmp 0x665ddeb0
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov esi, dword [esp + 0x2c]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + edx*4]
mov byte [ebx + 0x19], 0
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
call sym._sqlite3VdbeIntValue
mov dword [ebx + 0x30], eax
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x34], edx
mov byte [ebx + 0x1a], 1
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov dword [esp + 0x40], esi
mov eax, dword [eax + 0x38]
mov ecx, dword [eax + edx*4]
test byte [ecx + 0x1c], 4
mov byte [ecx + 0x19], 0
je 0x665e178d
mov eax, dword [ebp + 0xc]
mov edi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
movzx eax, word [edi + 8]
and eax, 0xe
cmp ax, 2
je 0x665e4a95
mov eax, edi
mov dword [esp + 0x30], ecx
call sym._sqlite3VdbeIntValue
mov dword [esp + 0x58], eax
movzx eax, word [edi + 8]
mov dword [esp + 0x5c], edx
mov ecx, dword [esp + 0x30]
test al, 4
jne 0x665ddf9b
test al, 8
je 0x665df791
fld qword [edi]
fild qword [esp + 0x58]
fucomi st(1)
jbe 0x665e41ee
fstp st(0)
fstp st(0)
lea eax, [esi - 1]
and ebx, 1
cmovne esi, eax
mov dword [esp + 0x40], esi
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
lea eax, [esp + 0x118]
mov dword [esp + 8], 0
xor edx, edx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0xc], eax
mov dword [esp], ebx
mov dword [esp + 4], esi
mov eax, dword [ecx]
call sym._sqlite3BtreeMovetoUnpacked
mov ecx, dword [esp + 0x58]
mov edi, eax
test edi, edi
mov dword [ecx + 0x30], ebx
mov dword [ecx + 0x34], esi
jne 0x665dfe58
mov esi, dword [esp + 0x40]
mov byte [ecx + 0x1a], 0
mov dword [ecx + 0x3c], 0
mov eax, dword [esp + 0x118]
cmp esi, 0x3f
jle 0x665e1e4b
test eax, eax
js 0x665e3f97
cmp esi, 0x41
jne 0x665de016
test eax, eax
je 0x665e3f97
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov esi, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov eax, dword [esi + 0x38]
mov edx, dword [eax + edx*4]
mov eax, esi
call sym._sqlite3VdbeFreeCursor.isra.499
mov eax, dword [esi + 0x38]
mov edx, dword [ebp + 4]
mov dword [eax + edx*4], 0
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
call sym._allocateCursor
test eax, eax
je 0x665dcf30
mov byte [eax + 0x19], 1
mov edx, dword [ebp + 8]
or byte [eax + 0x1c], 4
mov dword [eax + 0x10], edx
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + edx*4]
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 0x2c]
mov ecx, eax
mov ebx, edx
add ecx, 1
mov dword [esi + 0x28], ecx
mov ecx, edx
adc ebx, 0
or ecx, eax
mov dword [esi + 0x2c], ebx
je 0x665df791
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 1
mov dword [esp], 0xffffffff
call sym._allocateCursor
test eax, eax
mov ebx, eax
je 0x665dcf30
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x20]
mov dword [ebx + 8], eax
cmp byte [esi + 0x40], 2
je 0x665de121
mov edi, dword [0x66619184]
test edi, edi
jne 0x665e18d0
mov edx, 0x88
mov dword [esp + 0x40], 0x88
xor edi, edi
movzx eax, word [eax + 6]
lea esi, [eax*4 + 0x14]
mov eax, dword [esp + 0x20]
add edx, esi
mov ecx, edx
sar ecx, 0x1f
call sym._sqlite3DbMallocZero
test eax, eax
mov ecx, eax
mov dword [ebx + 0x38], eax
je 0x665e184c
mov eax, dword [esp + 0x40]
mov dword [esp + 0x58], ecx
add eax, ecx
mov dword [ecx + 0x1c], eax
mov edx, eax
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
mov dword [esp + 8], esi
mov esi, edx
mov dword [esp], edx
mov dword [esp + 4], eax
call sym._memcpy
mov ebx, dword [esp + 0x30]
mov dword [esi + 0xc], 0
mov ecx, dword [esp + 0x58]
test ebx, ebx
je 0x665de1a9
test edi, edi
jne 0x665de1a9
movzx eax, word [esi + 6]
mov word [esi + 6], bx
add ax, word [esi + 8]
sub eax, ebx
mov word [esi + 8], ax
mov esi, dword [esp + 0x20]
lea edx, [edi + 1]
cmp dl, 1
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ebx, dword [eax + 0x20]
lea eax, [edi - 1]
mov dword [ecx + 0x18], esi
movzx esi, dl
seta byte [ecx + 0x39]
mov byte [ecx + 0x3b], dl
mov byte [ecx + 0x3a], al
xor eax, eax
test esi, esi
mov dword [ecx + 0xc], ebx
lea edx, [ecx + 0x48]
je 0x665de1ec
nop
add eax, 1
mov dword [edx], ecx
add edx, 0x48
cmp esi, eax
jg 0x665de1e0
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x40], 2
je 0x665de238
mov edx, dword [0x66619260]
mov eax, ebx
imul eax, edx
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x50]
cmp eax, edx
cmovl eax, edx
imul ebx
cmp edx, 0
jl 0x665de227
jle 0x665e49fb
mov eax, 0x20000000
mov esi, dword [0x66619240]
mov dword [ecx + 4], eax
test esi, esi
je 0x665e52cb
mov eax, dword [esp + 0x40]
xor edi, edi
movzx edx, word [eax + 6]
movzx eax, word [eax + 8]
add eax, edx
cmp eax, 0xc
jg 0x665dd54d
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x665de269
mov ebx, dword [esp + 0x20]
cmp eax, dword [ebx + 8]
jne 0x665dd0e0
mov byte [ecx + 0x3c], 3
jmp 0x665dd0e0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 1
mov dword [esp], 0xffffffff
call sym._allocateCursor
test eax, eax
mov ebx, eax
je 0x665dcf30
or byte [eax + 0x1c], 1
mov byte [eax + 0x19], 1
xor edx, edx
mov dword [esp + 8], 0x41e
movzx eax, byte [ebp + 3]
or eax, 5
movzx eax, al
mov dword [esp + 4], eax
lea eax, [ebx + 4]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov ecx, eax
mov eax, dword [eax]
call sym._sqlite3BtreeOpen
test eax, eax
mov edi, eax
je 0x665e266c
cmp byte [ebp + 3], 8
movzx edx, byte [ebx + 0x1c]
setne al
and edx, 0xfffffff7
shl eax, 3
or eax, edx
mov byte [ebx + 0x1c], al
jmp 0x665dd0e0
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + edx*4]
lea edx, [esp + 0x160]
mov eax, dword [ebx]
mov dword [esp + 0x160], 0
call sym._sqlite3BtreeLast
mov edx, dword [esp + 0x160]
mov edi, eax
mov byte [ebx + 0x1a], 0
mov dword [ebx + 0x3c], 0
mov byte [ebx + 0x19], dl
mov eax, dword [ebp + 0xc]
test edx, edx
mov dword [ebx + 0xc], eax
mov eax, dword [ebp + 8]
je 0x665dd0e0
test eax, eax
jg 0x665df796
jmp 0x665dd0e0
mov eax, dword [esp + 0x20]
mov esi, dword [ebp + 4]
mov edi, dword [esp + 0x2c]
shl esi, 4
add esi, dword [eax + 0x10]
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov eax, ebx
call sym._sqlite3VdbeIntValue
mov dword [ebx + 4], edx
movzx edx, word [ebx + 8]
mov ecx, eax
mov dword [ebx], eax
mov eax, dword [esi + 4]
and dx, 0xbe00
or edx, 4
mov word [ebx + 8], dx
mov edx, dword [ebp + 8]
call sym._sqlite3BtreeUpdateMeta
mov edi, eax
mov eax, dword [ebp + 8]
cmp eax, 1
je 0x665e2bbd
cmp eax, 2
je 0x665e1aad
cmp dword [ebp + 4], 1
jne 0x665dd0e0
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
test eax, eax
je 0x665de3cb
lea esi, [esi]
or byte [eax + 0x58], 8
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x665de3c0
mov eax, dword [esp + 0x24]
and byte [eax + 0x58], 0xf7
jmp 0x665dd0e0
mov esi, dword [esp + 0x20]
mov eax, dword [ebp + 4]
lea ecx, [esp + 0x160]
mov edx, dword [ebp + 0xc]
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 4]
call sym._sqlite3BtreeGetMeta
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 8]
call sym._out2Prerelease.isra.294
mov edx, dword [esp + 0x160]
mov dword [eax], edx
sar edx, 0x1f
mov dword [eax + 4], edx
movzx ecx, byte [esi + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
xor edi, edi
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov eax, dword [eax + 0x38]
mov eax, dword [eax + edx*4]
mov ebx, dword [eax]
mov eax, dword [ebx + 0x3c]
test eax, eax
jne 0x665e1e89
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 8]
call sym._out2Prerelease.isra.294
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov dword [eax], ecx
mov dword [eax + 4], ebx
jmp 0x665dd0e0
mov eax, dword [ebp + 4]
mov esi, dword [esp + 0x2c]
mov ebx, dword [ebp + 0x10]
lea eax, [eax + eax*4]
test ebx, ebx
lea eax, [esi + eax*8]
mov edi, eax
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8 - 0x28]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x24]
movzx eax, byte [eax + 0x57]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x70], eax
je 0x665de4d6
movzx edi, byte [esp + 0x4f]
movsx edx, byte [ebx]
mov eax, dword [esp + 0x58]
lea esi, [esi]
add ebx, 1
mov ecx, edi
lea esi, [eax + 0x28]
call sym._applyAffinity
movsx edx, byte [ebx]
mov eax, esi
test dl, dl
jne 0x665de4c0
mov esi, dword [esp + 0x60]
xor eax, eax
mov dword [esp + 0x78], ebp
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov ebp, eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
movzx edx, word [esi + 8]
test dl, 1
jne 0x665e1185
test dl, 4
je 0x665e1190
mov eax, dword [esi + 4]
mov ecx, dword [esi]
test eax, eax
mov ebx, ecx
mov edi, eax
js 0x665e12b4
cmp edi, 0
jbe 0x665e1220
cmp edi, 0x8000
sbb eax, eax
and eax, 0xfffffffe
add eax, 8
cmp edi, 0x8000
sbb ebx, ebx
add ebx, 6
nop
lea esi, [esi]
mov ecx, edx
mov dword [esi + 0x1c], ebx
and cx, 0x4000
test cx, cx
je 0x665e11f5
mov edx, dword [esp + 0x34]
mov edi, eax
mov eax, dword [esp + 0x30]
mov ecx, edx
or ecx, eax
jne 0x665e11e9
mov ecx, dword [esi]
mov eax, ecx
cdq
add dword [esp + 0x68], ecx
adc dword [esp + 0x6c], edx
sub edi, ecx
mov eax, edi
mov ecx, 1
cdq
add dword [esp + 0x30], edi
adc dword [esp + 0x34], edx
cmp ebx, 0x7f
jbe 0x665de5b8
mov eax, ebx
xor edx, edx
xor ecx, ecx
jmp 0x665de5a8
cmp ecx, 8
jg 0x665de5b8
shrd eax, edx, 7
shr edx, 7
add ecx, 1
mov edi, eax
or edi, edx
jne 0x665de5a3
add ebp, ecx
sub esi, 0x28
cmp dword [esp + 0x58], esi
jbe 0x665de502
mov eax, ebp
mov ebx, ebp
mov ebp, dword [esp + 0x78]
cmp eax, 0x7e
mov edi, eax
jle 0x665de629
cdq
xor ecx, ecx
jmp 0x665de5e5
cmp ecx, 8
jg 0x665de5f5
shrd eax, edx, 7
shr edx, 7
add ecx, 1
mov esi, eax
or esi, edx
jne 0x665de5e0
mov edi, ebx
xor ebx, ebx
add edi, ecx
mov eax, edi
mov dword [esp + 0x40], edi
cdq
mov dword [esp + 0x44], edx
jmp 0x665de615
cmp ebx, 8
jg 0x665de625
shrd eax, edx, 7
shr edx, 7
add ebx, 1
mov esi, eax
or esi, edx
jne 0x665de610
cmp ebx, ecx
jle 0x665de639
add edi, 1
mov eax, edi
mov dword [esp + 0x40], edi
sar eax, 0x1f
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
add edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x68]
adc ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x6c]
mov eax, dword [eax + 0x58]
add ebx, edx
mov dword [esp + 0x30], edx
adc esi, ecx
mov dword [esp + 0x34], ecx
mov ecx, eax
sar ecx, 0x1f
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], esi
cmp esi, ecx
jge 0x665e15cb
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0x30]
cmp eax, dword [esi + 0x18]
mov dword [esp + 0x78], eax
jg 0x665e2525
mov eax, dword [esp + 0x70]
mov esi, dword [eax + 0x14]
and word [eax + 8], 0xd
mov dword [esp + 0x30], esi
mov dword [eax + 0x10], esi
cmp edi, 0x7f
jg 0x665e1827
mov ebx, dword [esp + 0x30]
mov eax, edi
mov esi, dword [esp + 0x58]
mov dword [esp + 0x40], 1
mov dword [esp + 0x58], ebp
mov byte [ebx], al
mov ebx, dword [esi + 0x1c]
mov eax, dword [esp + 0x30]
cmp ebx, 0x7f
ja 0x665e1d70
mov ecx, dword [esp + 0x40]
mov byte [eax + ecx], bl
mov eax, 1
add dword [esp + 0x40], eax
mov eax, dword [esp + 0x30]
lea ebp, [eax + edi]
lea eax, [ebx - 1]
cmp eax, 6
ja 0x665e1d41
movzx ebx, byte [ebx + 0x666228c8]
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov ecx, ebx
sub ecx, 1
mov byte [ebp + ecx], al
shrd eax, edx, 8
shr edx, 8
test ecx, ecx
jne 0x665de703
mov eax, ebx
add edi, eax
add esi, 0x28
cmp dword [esp + 0x60], esi
jae 0x665de6c2
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x78]
mov ecx, 0x10
mov esi, dword [esp + 0x68]
mov ebp, dword [esp + 0x58]
mov dword [eax + 0xc], edi
mov edi, dword [esp + 0x6c]
mov word [eax + 8], cx
mov ecx, edi
or ecx, esi
je 0x665de753
mov edx, 0x4010
mov dword [eax], esi
mov word [eax + 8], dx
mov eax, dword [esp + 0x70]
mov byte [eax + 0xa], 1
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov ebx, dword [ebp + 4]
mov edx, dword [ebp + 0x10]
mov esi, dword [esp + 0x2c]
lea ebx, [ebx + ebx*4]
lea esi, [esi + ebx*8]
lea ebx, [edx + 1]
movsx edx, byte [edx]
test dl, dl
je 0x665dd284
movzx edi, byte [esp + 0x4f]
lea esi, [esi]
mov eax, esi
add ebx, 1
mov ecx, edi
call sym._applyAffinity
movsx edx, byte [ebx - 1]
add esi, 0x28
test dl, dl
jne 0x665de790
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 4]
mov esi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea ebx, [esi + eax*8]
mov eax, ebx
call sym._sqlite3VdbeIntValue
movzx ecx, word [ebx + 8]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov esi, dword [ebp + 8]
and cx, 0xbe00
mov edi, esi
or ecx, 4
sar edi, 0x1f
add eax, esi
mov dword [ebx], eax
mov eax, dword [esp + 0x20]
adc edx, edi
mov word [ebx + 8], cx
mov dword [ebx + 4], edx
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
test byte [eax + 8], 1
je 0x665e25bb
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x665df791
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov edi, dword [esp + 0x24]
mov eax, dword [ebp + 4]
add eax, dword [edi + 0xc8]
cmp byte [eax], 0
jne 0x665df791
mov byte [eax], 1
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov edx, dword [esp + 0x80]
test edx, edx
js 0x665e2c90
jne 0x665e1859
mov edx, dword [ebp + 8]
mov esi, dword [esp + 0x48]
lea edx, [edx + edx*4]
lea ebp, [esi + edx*4 - 0x14]
jmp 0x665dd284
mov edi, dword [ebp + 0xc]
test byte [ebp + 3], 1
mov edx, 0
cmovne edx, dword [esp + 0x64]
mov esi, dword [ebp + 0x10]
mov ebx, edi
mov dword [esp + 0x58], edi
mov edi, dword [ebp + 4]
test ebx, ebx
mov dword [esp + 0x30], edi
mov edi, dword [ebp + 8]
jle 0x665e51c3
mov dword [esp + 0x40], edi
mov dword [esp + 0x64], ebp
xor ebx, ebx
mov edi, dword [esp + 0x2c]
mov ebp, edx
jmp 0x665de8cd
add ebx, 1
cmp dword [esp + 0x58], ebx
je 0x665e1dd2
test ebp, ebp
mov eax, ebx
je 0x665de8d7
mov eax, dword [ebp + ebx*4]
mov edx, dword [esi + 0x10]
movzx ecx, byte [edx + ebx]
mov edx, dword [esp + 0x40]
add edx, eax
add eax, dword [esp + 0x30]
lea edx, [edx + edx*4]
mov byte [esp + 0x60], cl
mov ecx, dword [esi + ebx*4 + 0x14]
lea edx, [edi + edx*8]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
call sym._sqlite3MemCompare
test eax, eax
je 0x665de8c0
cmp byte [esp + 0x60], 0
mov dword [esp + 0x80], eax
mov ebp, dword [esp + 0x64]
jne 0x665e2f17
mov eax, dword [esp + 0x20]
mov dword [esp + 0x64], 0
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x64], esi
jmp 0x665dd284
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
xor edi, edi
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
test byte [ebx + 9], 0x40
jne 0x665e216c
movzx ecx, byte [esp + 0x4f]
movzx edx, byte [ebp + 8]
mov eax, ebx
call sym._sqlite3VdbeMemCast
jmp 0x665dd0e0
mov edx, dword [ebp + 4]
mov edi, dword [esp + 0x2c]
lea edx, [edx + edx*4]
lea ebx, [edi + edx*8]
test byte [ebx + 8], 4
je 0x665dd284
mov eax, ebx
call sym._sqlite3VdbeRealValue
movzx eax, word [ebx + 8]
fstp qword [ebx]
and ax, 0xbe00
or eax, 8
mov word [ebx + 8], ax
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 4]
mov esi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea ebx, [esi + eax*8]
movzx eax, word [ebx + 8]
test al, 4
je 0x665e2114
and ax, 0xbe00
or eax, 4
mov word [ebx + 8], ax
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ebp + 4]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebx + 0x50]
cmp byte [ebx + 0x1a], 0
mov dword [esp + 0x40], eax
mov eax, dword [ebx]
mov dword [esp + 0x30], eax
jne 0x665e3174
mov edi, dword [esp + 0x30]
test edi, edi
je 0x665dea38
mov eax, dword [esp + 0x30]
cmp byte [eax + 0x49], 1
je 0x665dea38
mov eax, ebx
call sym._handleMovedCursor
mov edi, eax
test edi, edi
jne 0x665dfe58
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x48]
cmp dword [ebx + 0x3c], eax
je 0x665e2c49
cmp byte [ebx + 0x19], 0
jne 0x665e187b
test byte [ebx + 0x1c], 4
jne 0x665e3667
mov edi, dword [esp + 0x30]
lea eax, [esp + 0x118]
mov edx, eax
mov eax, edi
call sym._sqlite3BtreeKeySize
movsx eax, word [edi + 0x4c]
mov edx, dword [edi + 0x20]
mov eax, dword [edi + eax*4 + 0x78]
movzx edi, word [edi + 0x28]
mov eax, dword [eax + 0x3c]
mov dword [ebx + 0x4c], edx
sub eax, edx
cmp eax, edi
cmovbe edi, eax
mov eax, dword [esp + 0x118]
mov dword [ebx + 0x40], eax
cmp edi, eax
mov edx, eax
cmovb edx, edi
mov dword [ebx + 0x44], edx
mov edx, dword [esp + 0x20]
cmp dword [edx + 0x58], eax
jb 0x665dd629
mov eax, dword [ebx + 0x4c]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x48]
mov dword [ebx + 0x3c], edx
movzx edx, byte [eax]
test dl, dl
js 0x665e4dab
movzx eax, dl
mov edx, 1
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x40]
mov dword [ebx + 0x48], edx
xor edx, edx
mov word [ebx + 0x16], dx
mov dword [ecx], eax
mov edx, dword [esp + 0xe4]
cmp edx, 0x18003
ja 0x665e2d10
cmp edx, dword [ebx + 0x40]
ja 0x665e2d10
cmp edx, edi
jbe 0x665e1c4d
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x4c], 0
mov eax, dword [eax]
cmp dword [ebx + 0x48], eax
jb 0x665e1c61
xor eax, eax
cmp dword [esp + 0x60], eax
jge 0x665e2c66
test word [esi + 8], 0x2460
jne 0x665e505e
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x40]
mov edx, dword [ebx + eax*4 + 0x54]
add eax, 1
lea edi, [eax*4]
mov dword [esp + 0xf8], edx
mov eax, dword [ecx + eax*4]
cmp dword [ebx + 0x44], eax
jae 0x665e4a65
movzx eax, byte [ebp + 3]
test al, 0xc0
je 0x665e46bf
cmp edx, 0xb
jbe 0x665e5219
test dl, 1
je 0x665deb87
test al, al
jns 0x665e46c8
lea eax, [esp + 0x118]
cmp edx, 0xd
mov ecx, 0
cmova eax, ecx
mov ecx, esi
call sym._sqlite3VdbeSerialGet
movzx eax, word [esi + 8]
movzx ecx, byte [esp + 0x4f]
mov byte [esi + 0xa], cl
test ah, 0x10
je 0x665e189c
mov edi, dword [esi + 0x10]
test edi, edi
je 0x665e189c
mov ebx, dword [esi + 0xc]
mov edx, eax
and edx, 0x12
mov word [esp + 0x30], dx
lea edx, [ebx + 2]
cmp edx, dword [esi + 0x18]
jg 0x665e44e7
mov edx, dword [esi + 0x14]
and eax, 0xd
mov word [esi + 8], ax
mov dword [esi + 0x10], edx
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp], edx
call sym._memcpy
mov eax, dword [esi + 0x10]
movzx edi, word [esp + 0x30]
mov byte [eax + ebx], 0
mov eax, dword [esi + 0x10]
or di, 0x200
mov byte [eax + ebx + 1], 0
mov word [esi + 8], di
xor edi, edi
jmp 0x665dd0e0
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
movzx eax, word [edx + 8]
and al, 0x7f
or eax, 1
mov word [edx + 8], ax
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
xor edi, edi
mov dword [esp + 0x30], ebp
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [ebp + 0xc]
mov ebp, eax
jmp 0x665dec81
cmp ebp, edi
je 0x665e1491
add ebx, 0x28
add esi, 0x28
add edi, 1
mov ecx, 0x1000
mov edx, esi
mov eax, ebx
call sym._sqlite3VdbeMemShallowCopy
test byte [ebx + 9], 0x10
je 0x665dec70
mov eax, ebx
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x665dec70
jmp 0x665dcf22
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
mov esi, 4
mov edi, dword [esp + 0x48]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, ebp
sub eax, edi
sar eax, 2
mov ecx, dword [edx]
mov word [edx + 8], si
imul eax, eax, 0xcccccccd
mov dword [edx], eax
sar eax, 0x1f
mov dword [edx + 4], eax
lea eax, [ecx + ecx*4]
lea ebp, [edi + eax*4]
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
xor edi, edi
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 8]
call sym._out2Prerelease.isra.294
mov ecx, 0xa02
mov word [eax + 8], cx
mov edx, dword [ebp + 0x10]
movzx ecx, byte [esp + 0x4f]
mov dword [eax + 0x10], edx
mov edx, dword [ebp + 4]
mov byte [eax + 0xa], cl
mov dword [eax + 0xc], edx
cmp byte [ebp + 3], 0
je 0x665dd0e0
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x2c]
lea edx, [edx + edx*4]
lea edx, [esi + edx*8]
mov ecx, dword [edx + 4]
or ecx, dword [edx]
je 0x665dd0e0
mov edx, 0xa10
mov word [eax + 8], dx
jmp 0x665dd0e0
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 8]
call sym._out2Prerelease.isra.294
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx]
mov ebx, dword [edx + 4]
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 8]
call sym._out2Prerelease.isra.294
mov esi, dword [ebp + 0xc]
sub esi, dword [ebp + 8]
mov ebx, eax
cmp dword [ebp + 4], 1
sbb edi, edi
and di, 0xff00
add di, 0x101
test esi, esi
mov word [eax + 8], di
jg 0x665dedbd
jmp 0x665e4213
sub esi, 1
mov word [ebx + 8], di
je 0x665e12a5
add ebx, 0x28
test word [ebx + 8], 0x2460
je 0x665dedb0
mov eax, ebx
call sym._vdbeMemClearExternAndSetNull
jmp 0x665dedb0
mov edi, dword [esp + 0x54]
cmp dword [esp + 0x28], edi
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x124]
jb 0x665deded
test eax, eax
jne 0x665e19e7
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x94], 0
jle 0x665e31a3
mov esi, dword [esp + 0x24]
mov eax, dword [esi]
mov dword [esi + 0x50], 0x313
mov byte [esi + 0x56], 2
mov dword [esp + 8], str.FOREIGN_KEY_constraint_failed
mov dword [esp + 4], eax
lea eax, [esi + 0x2c]
mov dword [esp], eax
call sym._sqlite3SetString
mov dword [esp + 0x30], 1
jmp 0x665dfc81
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x2c]
mov ecx, 0x1000
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
call sym._sqlite3VdbeMemShallowCopy
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov edx, dword [ebp + 4]
test edx, edx
je 0x665dd284
mov edi, dword [esp + 0x2c]
lea eax, [edx + edx*4]
lea eax, [edi + eax*8]
test word [eax + 8], 0x2460
jne 0x665e396f
mov edx, 4
mov dword [eax], 0
mov dword [eax + 4], 0
mov word [eax + 8], dx
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x3c]
lea ebx, [eax + edx*8 - 0x28]
movzx eax, word [ebx + 8]
test al, 0x12
je 0x665deed7
test ah, 0x40
mov edx, dword [ebx + 0xc]
je 0x665deecb
add edx, dword [ebx]
mov eax, dword [ebx + 0x20]
cmp edx, dword [eax + 0x58]
jg 0x665dd629
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 8]
call sym._out2Prerelease.isra.294
mov ecx, 0x800
mov edx, ebx
call sym._sqlite3VdbeMemShallowCopy
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 8]
call sym._out2Prerelease.isra.294
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x10]
mov ebx, eax
mov dword [esp + 4], 0
mov dword [esp], 0
call sym._sqlite3VdbeMemSetStr
movzx eax, byte [esp + 0x4f]
mov byte [ebx + 0xa], al
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
mov esi, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
jmp 0x665def6f
add ebx, 0x28
add edi, 0x28
sub esi, 1
je 0x665e1482
mov edx, ebx
mov eax, edi
call sym._sqlite3VdbeMemMove
test byte [edi + 9], 0x10
je 0x665def60
mov eax, edi
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x665def60
jmp 0x665dcf30
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 8]
call sym._out2Prerelease.isra.294
mov edx, dword [ebp + 4]
mov dword [eax], edx
sar edx, 0x1f
mov dword [eax + 4], edx
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov ebx, dword [ebp + 4]
mov eax, dword [ebp + 8]
test ebx, ebx
je 0x665e1590
mov edi, dword [esp + 0x20]
movzx edx, byte [edi + 0x3f]
test dl, dl
jne 0x665e2d60
test eax, eax
jne 0x665e58ae
mov eax, dword [edi + 0x9c]
test eax, eax
jg 0x665e2d3e
mov eax, dword [esp + 0x24]
call sym._sqlite3VdbeCheckFk.constprop.592
test eax, eax
mov dword [esp + 0x30], eax
jne 0x665dcfa7
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov byte [esi + 0x3f], bl
mov eax, edi
call sym._sqlite3VdbeHalt
cmp eax, 5
je 0x665e5cb1
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x20]
mov edx, dword [eax + 0x1e8]
test edx, edx
je 0x665df047
mov eax, dword [edx + 0x18]
mov dword [ebx + 0x1e8], eax
mov eax, ebx
call sym._sqlite3DbFree
mov edx, dword [ebx + 0x1e8]
test edx, edx
jne 0x665df02d
mov eax, dword [esp + 0x20]
mov dword [eax + 0x1f0], 0
mov dword [eax + 0x1f4], 0
mov byte [eax + 0x46], 0
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x50], 1
sbb eax, eax
and eax, 0x64
add eax, 1
mov dword [esp + 0x30], eax
jmp 0x665dcfa7
mov eax, dword [ebp + 4]
mov esi, dword [ebp + 0x10]
test eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
je 0x665e16a3
mov edi, dword [eax + 0x1e8]
test edi, edi
je 0x665e2d4f
xor eax, eax
mov dword [esp + 0x40], edi
mov ebx, eax
jmp 0x665df0be
mov edi, dword [edi + 0x18]
add ebx, 1
test edi, edi
je 0x665e2d4f
mov dword [esp + 4], esi
mov eax, dword [edi]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_stricmp
test eax, eax
jne 0x665df0b0
mov eax, dword [esp + 0x20]
mov dword [esp + 0x58], ebx
mov ebx, edi
mov edi, dword [esp + 0x40]
mov esi, dword [eax + 0x9c]
test esi, esi
jle 0x665df0f3
cmp dword [esp + 0x30], 1
je 0x665e4e0d
mov esi, dword [ebx + 0x18]
mov dword [esp + 0x40], 0
test esi, esi
je 0x665e491f
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x20]
not eax
add eax, dword [esi + 0x1f0]
cmp dword [esp + 0x30], 2
mov dword [esp + 0x58], eax
je 0x665e464c
mov eax, dword [esp + 0x20]
mov dword [esp + 0x60], 0
mov edx, dword [eax + 0x14]
test edx, edx
jle 0x665e57f1
mov edi, ebx
xor esi, esi
mov ebx, dword [esp + 0x20]
jmp 0x665df15c
add esi, 1
cmp dword [ebx + 0x14], esi
jle 0x665e3d5d
mov eax, esi
shl eax, 4
add eax, dword [ebx + 0x10]
mov eax, dword [eax + 4]
test eax, eax
je 0x665df150
cmp byte [eax + 8], 2
jne 0x665df150
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x30]
call sym._sqlite3BtreeSavepoint.part.465
test eax, eax
je 0x665df150
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + 0x41]
jmp 0x665dfe64
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0xb0]
test eax, eax
je 0x665e116b
mov eax, dword [esp + 0x24]
test byte [eax + 0x59], 2
jne 0x665e116b
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x665e486c
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe4], 0
lea edi, [esp + 0x160]
mov eax, dword [eax]
mov ebx, eax
mov dword [esp + 0x58], eax
mov eax, dword [eax + 0x58]
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0x64
mov byte [esp + 0x110], 0
mov dword [esp + 0xfc], edi
mov dword [esp + 0x10c], eax
cmp dword [ebx + 0xa0], 1
mov dword [esp + 0x100], edi
mov dword [esp + 0xf8], ebx
jle 0x665e42b8
movzx eax, byte [esi]
test al, al
je 0x665e113d
mov ebx, esi
jmp 0x665df23c
movzx eax, byte [ebx]
test al, al
je 0x665df243
add ebx, 1
cmp al, 0xa
jne 0x665df235
lea eax, [esp + 0xf8]
mov ecx, 3
mov edx, 0x6661d4a1
call sym._sqlite3StrAccumAppend
lea eax, [esp + 0xf8]
mov ecx, ebx
mov edx, esi
sub ecx, esi
call sym._sqlite3StrAccumAppend
movzx eax, byte [ebx]
test al, al
je 0x665e113d
mov esi, ebx
jmp 0x665df231
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 8]
call sym._out2Prerelease.isra.294
mov ebx, dword [esp + 0x20]
mov edi, eax
mov eax, dword [ebp + 4]
mov esi, dword [ebp + 0xc]
shl eax, 4
add eax, dword [ebx + 0x10]
test esi, esi
mov ebx, dword [eax + 4]
je 0x665e1564
mov edx, dword [ebx + 4]
mov eax, dword [edx + 0x2c]
cmp esi, eax
cmovb esi, eax
cmp byte [ebx + 9], 0
jne 0x665e4a7c
test esi, esi
mov eax, dword [edx]
jle 0x665e5ca6
mov dword [eax + 0x9c], esi
cmp byte [ebx + 9], 0
je 0x665e1579
sub dword [ebx + 0xc], 1
jne 0x665e1579
mov eax, ebx
call sym._sqlite3BtreeLeave.part.89
jmp 0x665e1579
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 8]
call sym._out2Prerelease.isra.294
mov edx, dword [ebp + 4]
mov edi, dword [esp + 0x20]
shl edx, 4
add edx, dword [edi + 0x10]
mov edx, dword [edx + 4]
mov edx, dword [edx + 4]
mov ecx, dword [edx + 0x2c]
mov dword [eax + 4], 0
mov dword [eax], ecx
movzx ecx, byte [edi + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 0x10]
mov esi, dword [esp + 0x2c]
mov ebx, dword [eax + 8]
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
test byte [esi + 8], 2
je 0x665e1017
cmp byte [esi + 0xa], 1
je 0x665e1017
mov edx, 1
mov eax, esi
call sym._sqlite3VdbeMemTranslate
test eax, eax
mov edi, eax
je 0x665e1017
mov dword [esp + 0x30], edi
jmp 0x665dfc81
mov edi, dword [esp + 0x24]
mov ebx, dword [ebp + 4]
mov edx, dword [edi + 0x38]
mov ebx, dword [edx + ebx*4]
cmp byte [ebx + 0x19], 0
jne 0x665dd284
mov eax, dword [ebx + 0x24]
mov edx, dword [eax]
mov esi, dword [edx]
mov dword [esp + 0x30], edx
mov dword [esp], eax
call dword [esi + 0x24]
mov edx, dword [esp + 0x30]
mov edi, eax
mov eax, dword [esp + 0x24]
lea ecx, [edx + 8]
lea edx, [eax + 0x2c]
mov eax, dword [eax]
call sym._sqlite3VtabImportErrmsg.isra.297
test edi, edi
jne 0x665dfad0
mov eax, dword [ebx + 0x24]
mov dword [esp], eax
call dword [esi + 0x28]
test eax, eax
jne 0x665dfade
jmp 0x665dfad0
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
mov eax, dword [eax + 0x38]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp + 0xc]
cmp byte [edx + 0x19], 0
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
je 0x665e26ba
test word [ebx + 8], 0x2460
jne 0x665e1a89
mov eax, 1
xor edi, edi
mov word [ebx + 8], ax
jmp 0x665dd0e0
mov dword [esp + 0x160], 0
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x665e14a4
mov eax, dword [ebx]
test eax, eax
mov dword [esp + 0x30], eax
je 0x665e14a4
lea edi, [esp + 0x160]
mov dword [esp], ebx
mov dword [esp + 4], edi
call dword [eax + 0x18]
mov edi, eax
mov eax, dword [esp + 0x24]
lea ecx, [ebx + 8]
lea esi, [eax + 0x2c]
mov eax, dword [eax]
mov edx, esi
call sym._sqlite3VtabImportErrmsg.isra.297
test edi, edi
jne 0x665dd0e0
mov eax, dword [esp + 0x160]
mov edx, dword [ebp + 4]
xor ecx, ecx
mov dword [eax], ebx
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
call sym._allocateCursor
test eax, eax
je 0x665e5c71
mov edx, dword [esp + 0x160]
mov dword [eax + 0x24], edx
add dword [ebx + 4], 1
jmp 0x665dd0e0
mov edi, dword [esp + 0x20]
mov eax, dword [ebp + 4]
shl eax, 4
add eax, dword [edi + 0x10]
add dword [edi + 0xa4], 1
mov edx, dword [ebp + 0x10]
mov ecx, dword [eax]
mov eax, edi
call sym._sqlite3FindTable
test eax, eax
mov esi, eax
je 0x665e364e
mov eax, dword [eax + 0x38]
test eax, eax
je 0x665e364e
mov ebx, eax
lea esi, [esi]
mov edx, dword [ebx + 8]
mov edx, dword [edx + 4]
test edx, edx
jg 0x665e1f57
mov ebx, dword [ebx + 0x18]
test ebx, ebx
jne 0x665df4e0
mov dword [esi + 0x38], 0
mov edi, dword [esp + 0x20]
mov dword [esp + 0x30], ebp
jmp 0x665df529
mov ebp, dword [edx + 0x14c]
mov dword [eax + 0x18], ebp
mov dword [edx + 0x14c], eax
test ecx, ecx
mov eax, ecx
je 0x665e1df4
mov edx, dword [eax]
mov ecx, dword [eax + 0x18]
cmp edi, edx
jne 0x665df510
mov dword [esi + 0x38], eax
mov ebx, eax
mov dword [eax + 0x18], 0
jmp 0x665df51f
mov edx, dword [ebp + 0xc]
test dl, dl
jne 0x665df555
mov esi, dword [esp + 0x20]
test byte [esi + 0x19], 0x40
jne 0x665dd284
mov eax, dword [ebp + 4]
mov esi, dword [esp + 0x20]
shl eax, 4
add eax, dword [esi + 0x10]
mov ebx, dword [eax + 4]
cmp byte [ebx + 9], 0
jne 0x665e1b45
add ebp, 0x14
mov eax, ecx
jmp 0x665dce90
mov edi, dword [ebp + 4]
test edi, edi
jne 0x665e168c
mov ebx, dword [esp + 0x20]
mov edx, dword [ebx + 4]
test edx, edx
je 0x665dd284
or byte [edx + 0x58], 8
mov edx, dword [edx + 0x34]
test edx, edx
jne 0x665df593
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x20]
shl eax, 4
add eax, dword [ecx + 0x10]
mov ebx, dword [eax + 4]
cmp byte [ebx + 9], 0
mov esi, dword [ebx + 4]
jne 0x665e2616
cmp byte [esi + 0x11], 0
je 0x665df791
mov eax, dword [esi + 0x2c]
mov edx, eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x30], edx
mov eax, dword [eax + 0x38]
mov edi, dword [eax + 0x24]
mov eax, esi
bswap edi
mov ecx, edi
call sym._finalDbSize
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x40], eax
cmp ecx, eax
jb 0x665e4611
test edi, edi
jne 0x665e1f75
cmp byte [ebx + 9], 0
je 0x665df791
sub dword [ebx + 0xc], 1
jne 0x665df791
mov edi, 0x65
mov eax, ebx
call sym._sqlite3BtreeLeave.part.89
cmp edi, 0x65
jne 0x665dd0e0
jmp 0x665df791
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
mov edx, dword [ebp + 0x10]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov eax, ebx
call sym._sqlite3VdbeMemFinalize
test eax, eax
mov edi, eax
jne 0x665e25e2
movzx eax, word [ebx + 8]
test al, 2
je 0x665df67e
movzx edx, byte [esp + 0x4f]
cmp byte [ebx + 0xa], dl
je 0x665df67e
mov eax, ebx
call sym._sqlite3VdbeChangeEncoding.part.366
movzx eax, word [ebx + 8]
test al, 0x12
je 0x665dd0e0
test ah, 0x40
mov edx, dword [ebx + 0xc]
je 0x665df690
add edx, dword [ebx]
mov eax, dword [ebx + 0x20]
cmp dword [eax + 0x58], edx
jge 0x665dd0e0
jmp 0x665dd629
mov eax, dword [ebp + 4]
mov esi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov ecx, eax
mov ebx, edx
mov edi, edx
add ecx, 1
adc ebx, 0
or edi, eax
mov dword [esi], ecx
mov dword [esi + 4], ebx
je 0x665df791
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov edx, dword [ebp + 4]
mov esi, dword [esp + 0x2c]
lea edx, [edx + edx*4]
lea edx, [esi + edx*8]
mov edi, dword [edx + 4]
mov esi, dword [edx]
mov ebx, edi
or ebx, esi
je 0x665dd284
mov eax, dword [ebp + 0xc]
mov ecx, eax
mov ebx, eax
sar ebx, 0x1f
add ecx, esi
adc ebx, edi
mov dword [edx], ecx
xor edi, edi
mov dword [edx + 4], ebx
mov eax, dword [ebp + 8]
jmp 0x665df796
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [ebp + 0xc]
cdq
add eax, dword [ecx]
adc edx, dword [ecx + 4]
mov dword [ecx], eax
test edx, edx
mov dword [ecx + 4], edx
js 0x665df791
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, edx
or ecx, eax
je 0x665df791
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov edx, dword [ebp + 4]
mov edi, dword [esp + 0x2c]
lea edx, [edx + edx*4]
lea edx, [edi + edx*8]
cmp dword [edx + 4], 0
jl 0x665dd284
jle 0x665e373f
mov eax, dword [ebp + 8]
xor edi, edi
mov esi, dword [esp + 0x48]
lea eax, [eax + eax*4]
lea ebp, [esi + eax*4 - 0x14]
jmp 0x665dd0e0
mov edx, dword [ebp + 4]
test edx, edx
jne 0x665e16d9
mov esi, dword [esp + 0x24]
mov edx, dword [esi + 0x94]
or edx, dword [esi + 0x90]
jne 0x665dd284
mov edi, dword [esp + 0x20]
mov edx, dword [edi + 0x204]
or edx, dword [edi + 0x200]
jne 0x665dd284
jmp 0x665df791
mov ebx, dword [esp + 0x20]
test byte [ebx + 0x1b], 1
jne 0x665e16f4
mov ebx, dword [ebp + 4]
test ebx, ebx
je 0x665e2ef4
mov edx, dword [ebp + 8]
mov ebx, dword [esp + 0x20]
mov edi, edx
sar edi, 0x1f
add dword [ebx + 0x1f8], edx
adc dword [ebx + 0x1fc], edi
jmp 0x665dd284
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov ebx, 8
mov eax, dword [eax + 8]
call sym._out2Prerelease.isra.294
mov word [eax + 8], bx
mov edx, dword [ebp + 0x10]
fld qword [edx]
fstp qword [eax]
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov esi, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [esi + 8]
call sym._out2Prerelease.isra.294
mov ecx, dword [esi + 0xb0]
mov ebx, dword [ebp + 4]
mov edx, dword [ecx + 0x2c]
mov esi, dword [ecx + 8]
lea edx, [edx + edx*4]
lea edx, [esi + edx*4]
add ebx, dword [edx + 4]
mov edx, dword [ecx + 0x10]
mov ecx, 0x1000
lea ebx, [ebx + ebx*4]
lea edx, [edx + ebx*8]
call sym._sqlite3VdbeMemShallowCopy
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
cmp byte [ebp + 3], 0
mov ebx, dword [ebp + 0x10]
je 0x665df8c0
mov edi, dword [esp + 0x24]
mov esi, dword [ebx + 0x14]
mov edx, dword [edi + 0xb0]
test edx, edx
je 0x665df8c0
cmp dword [edx + 0x1c], esi
jne 0x665df8b9
jmp 0x665dd284
cmp esi, dword [edx + 0x1c]
je 0x665dd284
mov edx, dword [edx + 4]
test edx, edx
jne 0x665df8b0
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov eax, dword [eax + 0xb8]
cmp eax, dword [esi + 0x80]
jge 0x665e1b36
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x2c]
lea edx, [edx + edx*4]
lea edi, [esi + edx*8]
test byte [edi + 8], 0x40
je 0x665e3e2e
mov edx, dword [edi]
mov ecx, dword [edx + 0x3c]
mov edi, dword [edx + 0x40]
mov esi, ecx
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x24]
add eax, 1
mov ebp, dword [esp + 0x3c]
mov dword [edi + 0xb8], eax
mov eax, dword [edi + 0xb0]
mov edi, dword [esp + 0x38]
mov dword [edx + 0x24], ebp
mov dword [edx + 4], eax
mov dword [edx + 0x20], edi
mov edi, dword [esp + 0x24]
mov eax, dword [edi + 0x5c]
mov dword [edx + 0x44], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x50]
mov dword [edx + 0x48], eax
lea eax, [edx + 0x28]
mov dword [edi + 0xb0], edx
movzx edx, word [esp + 0x30]
mov dword [edi + 0x1c], ecx
mov dword [edi + 8], eax
mov ebp, eax
mov dword [esp + 0x2c], eax
lea eax, [esi + esi*4 + 5]
mov ecx, dword [ebx]
mov dword [edi + 0x5c], 0
lea eax, [ebp + eax*8]
mov dword [edi + 0x24], edx
mov dword [edi + 4], ecx
mov esi, ecx
mov dword [esp + 0x48], ecx
mov dword [edi + 0x38], eax
mov ecx, dword [ebx + 4]
lea eax, [eax + edx*4]
mov edx, dword [ebx + 0x10]
lea ebp, [esi - 0x14]
mov dword [edi + 0xc8], eax
mov dword [edi + 0x20], ecx
mov dword [edi + 0xc4], edx
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._memset
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov edi, eax
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0xc]
test byte [edi + 8], 0x20
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x30], eax
je 0x665e2aa7
mov esi, dword [esp + 0x30]
test esi, esi
jne 0x665e23a5
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
call sym._sqlite3RowSetInsert
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0xb0]
test edx, edx
jne 0x665dfa22
jmp 0x665e3776
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x665dfa20
mov eax, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea ebx, [eax + ecx*8]
mov eax, ebx
call sym._sqlite3VdbeIntValue
mov dword [ebx], eax
movzx eax, word [ebx + 8]
mov dword [ebx + 4], edx
mov esi, dword [esp + 0x2c]
and ax, 0xbe00
or eax, 4
mov word [ebx + 8], ax
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, esi
call sym._sqlite3VdbeIntValue
movzx ecx, word [esi + 8]
mov dword [esi], eax
mov dword [esi + 4], edx
and cx, 0xbe00
or ecx, 4
mov word [esi + 8], cx
cmp edx, dword [ebx + 4]
jg 0x665e1678
jl 0x665dfa8c
cmp eax, dword [ebx]
ja 0x665e1678
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
movzx eax, word [ebx + 8]
test al, 0x20
jne 0x665e233e
test ax, 0x2460
jne 0x665e2ee6
mov eax, 1
xor edi, edi
mov word [ebx + 8], ax
lea esi, [esi]
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x48]
lea eax, [eax + eax*4]
lea ebp, [esi + eax*4 - 0x14]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0xf0]
test eax, eax
jne 0x665e4063
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x20]
cmp edx, ebx
mov ecx, dword [eax + 0x124]
jb 0x665dd0e0
test ecx, ecx
je 0x665dd0e0
mov esi, dword [eax + 0x12c]
mov ebx, edx
mov eax, edx
xor edx, edx
div esi
add ebx, esi
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x128]
sub ebx, edx
mov dword [esp + 0x54], ebx
mov dword [esp], eax
call ecx
test eax, eax
je 0x665dd0e0
jmp 0x665e19fe
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 8]
call sym._out2Prerelease.isra.294
mov dword [esp + 0x160], 0
mov ebx, eax
mov esi, dword [esp + 0x20]
mov eax, dword [ebp + 4]
xor ecx, ecx
lea edx, [esp + 0x160]
shl eax, 4
add eax, dword [esi + 0x10]
cmp byte [ebp], 0x79
mov eax, dword [eax + 4]
setne cl
add ecx, 1
call sym._sqlite3BtreeCreateTable
mov edi, eax
mov eax, dword [esp + 0x160]
mov dword [ebx], eax
sar eax, 0x1f
mov dword [ebx + 4], eax
jmp 0x665dd0e0
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x38]
test edx, edx
je 0x665e3761
mov edi, dword [esp + 0x20]
mov eax, edi
call sym._sqlite3VdbeSorterReset
movzx ecx, byte [edi + 0x41]
mov eax, ecx
jmp 0x665dd284
mov dword [esp + 0x160], 0
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x160]
mov ebx, dword [esp + 0x20]
mov edx, dword [ebp + 4]
test ecx, ecx
mov ecx, 0
cmovne ecx, eax
mov eax, dword [ebp + 8]
shl eax, 4
add eax, dword [ebx + 0x10]
mov eax, dword [eax + 4]
call sym._sqlite3BtreeClearTable
mov edi, eax
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x665dd0e0
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x160]
add dword [ebx + 0x5c], edx
test eax, eax
jle 0x665dd0e0
mov ebx, dword [esp + 0x2c]
lea ecx, [eax + eax*4]
mov eax, edx
cdq
add dword [ebx + ecx*8], eax
adc dword [ebx + ecx*8 + 4], edx
jmp 0x665dd0e0
mov edi, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [edi + 8]
call sym._out2Prerelease.isra.294
mov ecx, 1
mov dword [esp + 0x40], eax
mov word [eax + 8], cx
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0xa4]
mov dword [esp + 0x30], eax
add eax, 1
cmp dword [ecx + 0x98], eax
jle 0x665e21ce
mov byte [edi + 0x56], 2
mov dword [esp + 0x30], 6
lea eax, [ebp + 0x14]
sub eax, dword [esp + 0x48]
sar eax, 2
imul eax, eax, 0xcccccccd
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
mov edx, dword [edi + 0x2c]
mov dword [edi + 0x50], esi
mov dword [esp + 0x10], edx
mov edx, dword [edi + 0xa8]
mov dword [esp + 8], eax
mov dword [esp + 4], str.statement_aborts_at__d:___s___s
mov dword [esp], esi
mov dword [esp + 0xc], edx
call sym.libsqlite3_0.dll_sqlite3_log
mov eax, edi
call sym._sqlite3VdbeHalt
cmp esi, 0xc0a
jne 0x665dcf98
mov eax, dword [esp + 0x20]
mov byte [eax + 0x41], 1
jmp 0x665dcf98
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
cmp bl, 0x73
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + edx*4]
lea edx, [esp + 0xf8]
mov eax, dword [esi + 8]
mov dword [esp + 0x118], eax
mov eax, dword [ebp + 0x10]
mov word [esp + 0x11c], ax
sbb eax, eax
mov byte [esp + 0x11e], al
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x120], eax
mov eax, dword [esi]
call sym._sqlite3BtreeKeySize
mov ecx, dword [esp + 0xf8]
mov ebx, dword [esp + 0xfc]
mov eax, ecx
mov edx, ebx
add eax, 0xffffffff
adc edx, 0xffffffff
cmp edx, 0
ja 0x665e10ca
cmp eax, 0x7ffffffe
ja 0x665e10ca
mov eax, dword [esp + 0x20]
mov dword [esp], 1
xor edi, edi
xor edx, edx
mov word [esp + 0x168], di
mov dword [esp + 0x178], 0
xor ebx, ebx
mov dword [esp + 0x180], eax
lea eax, [esp + 0x160]
mov dword [esp + 4], eax
mov eax, dword [esi]
call sym._sqlite3VdbeMemFromBtree
test eax, eax
mov edi, eax
jne 0x665e10f5
lea eax, [esp + 0x118]
mov edx, dword [esp + 0x170]
mov dword [esp], 0
mov ecx, eax
mov eax, dword [esp + 0x16c]
call sym._sqlite3VdbeRecordCompareWithSkip
test word [esp + 0x168], 0x2460
mov ebx, eax
jne 0x665dfdfa
mov esi, dword [esp + 0x178]
test esi, esi
je 0x665e10f5
lea eax, [esp + 0x160]
call sym._vdbeMemClear
jmp 0x665e10f5
mov edi, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [edi + 8]
call sym._out2Prerelease.isra.294
mov edx, dword [ebp + 4]
mov esi, eax
mov eax, dword [edi + 0x38]
mov edx, dword [eax + edx*4]
mov eax, 1
mov ebx, dword [edx]
mov word [esi + 8], ax
cmp byte [ebx + 0x49], 1
je 0x665e1110
mov eax, edx
mov dword [esp + 0x30], edx
call sym._handleMovedCursor
test eax, eax
mov edi, eax
mov edx, dword [esp + 0x30]
je 0x665e1110
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + 0x41]
test al, al
jne 0x665e374d
cmp dword [esp + 0x30], 0xc0a
jne 0x665e2154
mov esi, dword [esp + 0x24]
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x50], 0xc0a
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0xa8]
mov dword [esp + 4], str.statement_aborts_at__d:___s___s
mov dword [esp], 0xc0a
mov dword [esp + 0xc], eax
mov eax, ebp
sub eax, dword [esp + 0x48]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [esp + 8], eax
call sym.libsqlite3_0.dll_sqlite3_log
mov eax, esi
call sym._sqlite3VdbeHalt
jmp 0x665dfcd4
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov edi, dword [esp + 0x2c]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + edx*4]
lea edx, [esp + 0x160]
mov eax, dword [esi + 8]
mov ebx, dword [esi]
mov dword [esp + 0x160], eax
mov eax, dword [ebp + 0xc]
mov byte [esp + 0x166], 0
mov word [esp + 0x164], ax
mov eax, dword [ebp + 8]
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], 0
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [esp + 0x168], eax
lea eax, [esp + 0x118]
mov dword [esp + 0xc], eax
mov eax, ebx
call sym._sqlite3BtreeMovetoUnpacked
test eax, eax
mov edi, eax
jne 0x665dff5a
mov eax, dword [esp + 0x118]
test eax, eax
jne 0x665dff5a
mov eax, ebx
call sym._sqlite3BtreeDelete
mov edi, eax
mov dword [esi + 0x3c], 0
jmp 0x665dd0e0
mov edi, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov ebx, dword [esp + 0x2c]
test byte [ebp + 3], 1
mov eax, dword [edi + 0x38]
mov esi, dword [eax + edx*4]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
mov ecx, dword [esi]
lea eax, [ebx + eax*8]
mov dword [esp + 0x30], eax
jne 0x665e1619
mov eax, dword [esp + 0x30]
test byte [eax + 9], 0x40
jne 0x665e2bd1
mov ebx, dword [esi + 0x38]
test ebx, ebx
je 0x665e1a32
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x10]
movzx eax, byte [edx + 1]
test al, al
js 0x665e4e22
mov dword [esp + 0x160], eax
lea edx, [eax - 1]
cmp edx, 8
ja 0x665e3715
cmp eax, 7
je 0x665e3715
and byte [ebx + 0x3c], 1
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov esi, dword [eax + 0xc]
lea eax, [esi + 8]
mov dword [esp + 0x58], eax
mov eax, esi
cdq
jmp 0x665dfff6
cmp ecx, 8
jg 0x665e0006
shrd eax, edx, 7
shr edx, 7
add ecx, 1
mov edi, eax
or edi, edx
jne 0x665dfff1
mov edx, dword [ebx + 4]
add esi, ecx
test edx, edx
jne 0x665e36cf
mov edi, dword [ebx + 0x28]
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x40], edi
xor edi, edi
add eax, esi
cmp esi, dword [ebx + 8]
mov dword [ebx + 0x2c], eax
jle 0x665e002c
mov dword [ebx + 8], esi
mov eax, dword [esp + 0x40]
test eax, eax
je 0x665e5266
mov ecx, dword [ebx + 0x30]
mov eax, dword [esp + 0x58]
mov edx, ecx
lea esi, [eax + ecx]
mov eax, dword [ebx + 0x34]
cmp esi, eax
jg 0x665e1ae0
mov ecx, dword [ebx + 0x24]
mov eax, dword [esp + 0x40]
sub ecx, dword [esp + 0x40]
lea esi, [eax + edx]
mov eax, dword [esp + 0x58]
add eax, 7
and eax, 0xfffffff8
add eax, edx
mov dword [ebx + 0x30], eax
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x30]
lea eax, [esi + 8]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0xc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sym._memcpy
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0xc]
mov dword [esi], eax
mov dword [ebx + 0x24], esi
jmp 0x665dd0e0
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x20]
xor ecx, ecx
mov edx, dword [ebp + 0x10]
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 0xc]
add eax, 0x18
call sym._sqlite3HashInsert
test eax, eax
je 0x665e00fc
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 8]
cmp eax, edx
je 0x665e3c60
test edx, edx
je 0x665e00f1
mov ecx, dword [edx + 0x14]
cmp eax, ecx
jne 0x665e00ed
jmp 0x665e1f61
mov edx, dword [ecx + 0x14]
cmp eax, edx
je 0x665e1f63
mov ecx, edx
test ecx, ecx
jne 0x665e00e0
mov edx, eax
mov eax, dword [esp + 0x20]
call sym._freeIndex
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
or dword [eax + 0x18], 2
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [esp + 0x40], eax
lea eax, [eax*4 + 4]
mov dword [esp + 0x30], eax
mov edx, eax
mov eax, dword [esp + 0x20]
call sym._sqlite3DbMallocRaw
test eax, eax
mov edi, eax
je 0x665dcf30
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x58], eax
test ecx, ecx
jle 0x665e420c
mov dword [esp + 0x60], ebp
xor ebx, ebx
mov ebp, eax
mov esi, ecx
lea esi, [esi]
mov eax, ebp
add ebp, 0x28
call sym._sqlite3VdbeIntValue
mov dword [edi + ebx*4], eax
add ebx, 1
cmp esi, ebx
jne 0x665e0170
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x60]
sub eax, 4
mov dword [edi + eax], 0
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x20]
mov ebx, dword [eax]
movzx eax, byte [ebp + 3]
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 4]
cmp byte [eax + 9], 0
mov ecx, dword [eax + 4]
mov dword [esp + 0x60], eax
mov dword [esp + 0x70], ecx
jne 0x665e2bfd
mov esi, dword [esp + 0x70]
mov eax, dword [esi]
mov edx, dword [eax + 0xcc]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x11c], eax
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x118], esi
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], 0
mov dword [esp + 0x78], ecx
mov dword [esp + 0x130], 0
test eax, eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0
jne 0x665e27cb
mov eax, dword [esp + 0x60]
cmp byte [eax + 9], 0
je 0x665e0256
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x30], eax
sub eax, 1
test eax, eax
mov dword [ecx + 0xc], eax
je 0x665e1acf
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
xor ebx, ebx
xor esi, esi
mov eax, dword [esp + 0x20]
mov edx, edi
call sym._sqlite3DbFree
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
sub dword [edi], eax
mov eax, dword [esp + 0x58]
sbb dword [edi + 4], edx
test word [eax + 8], 0x2460
jne 0x665e2ac1
mov eax, dword [esp + 0x58]
mov edx, 1
test ebx, ebx
mov word [eax + 8], dx
je 0x665e186c
test esi, esi
je 0x665dcf30
mov eax, dword [esp + 0x58]
mov dword [esp + 4], sym.libsqlite3_0.dll_sqlite3_free
mov ecx, 0xffffffff
mov dword [esp], 1
mov edx, esi
call sym._sqlite3VdbeMemSetStr
mov eax, dword [esp + 0x58]
test byte [eax + 8], 2
je 0x665e186c
mov esi, dword [esp + 0x58]
movzx edx, byte [esp + 0x4f]
cmp byte [esi + 0xa], dl
jne 0x665e2e33
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov ebx, dword [esp + 0x20]
mov eax, dword [ebp + 4]
xor ecx, ecx
mov edx, dword [ebp + 0x10]
shl eax, 4
add eax, dword [ebx + 0x10]
mov eax, dword [eax + 0xc]
add eax, 0x28
call sym._sqlite3HashInsert
test eax, eax
mov ebx, eax
je 0x665e41d6
mov eax, dword [eax + 0x14]
cmp eax, dword [ebx + 0x18]
je 0x665e47d4
mov edi, dword [esp + 0x20]
mov edx, ebx
mov eax, edi
call sym._sqlite3DeleteTrigger
movzx ecx, byte [edi + 0x41]
or dword [edi + 0x18], 2
mov eax, ecx
jmp 0x665dd284
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x20]
call sym._sqlite3AnalysisLoad
mov edi, eax
jmp 0x665dd0e0
mov eax, dword [ebp + 4]
mov ecx, str.sqlite_temp_master
mov edx, str.sqlite_master
mov edi, dword [esp + 0x20]
cmp eax, 1
mov dword [esp + 0x168], eax
cmove edx, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x160], edi
shl eax, 4
lea esi, [ecx + 0x2c]
mov dword [esp + 0x164], esi
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
add eax, dword [edi + 0x10]
mov eax, dword [eax]
mov dword [esp + 4], str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov dword [esp], edi
mov dword [esp + 8], eax
call sym._sqlite3MPrintf
test eax, eax
mov ebx, eax
je 0x665e2055
lea eax, [esp + 0x160]
mov byte [edi + 0x91], 1
mov dword [esp], edi
mov dword [esp + 0x10], 0
mov dword [esp + 8], sym._sqlite3InitCallback
mov dword [esp + 0xc], eax
mov dword [esp + 4], ebx
mov dword [esp + 0x20], edi
mov dword [esp + 0x16c], 0
call sym.libsqlite3_0.dll_sqlite3_exec
test eax, eax
mov edi, eax
je 0x665e18a3
mov edx, ebx
mov ebx, dword [esp + 0x20]
mov eax, ebx
call sym._sqlite3DbFree
mov byte [ebx + 0x91], 0
mov eax, dword [esp + 0x20]
call sym._sqlite3ResetAllSchemasOfConnection
cmp edi, 7
jne 0x665dd0e0
mov ebx, esi
jmp 0x665dcf37
mov esi, dword [esp + 0x20]
mov eax, dword [ebp + 4]
xor ecx, ecx
mov edx, dword [ebp + 0x10]
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
add eax, 8
call sym._sqlite3HashInsert
mov edx, eax
mov eax, esi
call sym._sqlite3DeleteTable
movzx ecx, byte [esi + 0x41]
or dword [esi + 0x18], 2
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 4]
mov esi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea ebx, [esi + eax*8]
mov eax, dword [ebp + 8]
test byte [ebx + 8], 0x20
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
jne 0x665e04a2
mov eax, ebx
call sym._sqlite3VdbeMemSetRowSet
test byte [ebx + 8], 0x20
je 0x665dcf30
mov ecx, dword [esi + 4]
mov eax, dword [ebx]
mov edx, dword [esi]
call sym._sqlite3RowSetInsert
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x48]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov edi, pe_nt_image_headers32
mov edx, dword [eax]
lea edx, [edx + edx*4]
mov edx, dword [esi + edx*4 + 8]
mov word [eax + 8], di
mov eax, dword [esp + 0x20]
lea edx, [edx + edx*4]
movzx ecx, byte [eax + 0x41]
lea ebp, [esi + edx*4 - 0x14]
mov eax, ecx
jmp 0x665dd284
lea edi, [esp + 0x160]
xor eax, eax
mov ecx, 0xa
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x20]
rep stosd dword es:[edi], eax
mov dword [esp + 0x180], esi
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
lea eax, [esp + 0x160]
call sym._sqlite3VdbeMemCopy
mov edi, eax
lea eax, [esp + 0x160]
mov edx, 1
call sym._sqlite3ValueText
test eax, eax
je 0x665e05e0
mov ecx, dword [ebp + 4]
mov ebx, dword [esp + 0x24]
mov edx, eax
mov eax, esi
mov dword [esp + 0x20], esi
shl ecx, 4
add ecx, dword [esi + 0x10]
lea edi, [ebx + 0x2c]
mov ecx, dword [ecx]
call sym._sqlite3FindTable
mov ebx, eax
mov eax, dword [eax + 0x34]
lea ecx, [esp + 0x118]
mov esi, dword [eax]
mov eax, dword [esp + 0x20]
mov edx, esi
add eax, 0x134
call sym._findElementWithHash
test eax, eax
je 0x665e41ad
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x665e41ad
mov dword [esp + 4], edi
mov eax, dword [ecx]
mov edx, ebx
mov esi, dword [esp + 0x20]
mov eax, dword [eax + 4]
mov dword [esp], eax
mov eax, esi
call sym._vtabCallConstructor
test eax, eax
mov edi, eax
jne 0x665e05e0
mov eax, dword [ebx + 0x38]
test eax, eax
je 0x665e05e0
cmp esi, dword [eax]
je 0x665e1fb0
mov edx, esi
jmp 0x665e05d8
cmp edx, dword [eax]
je 0x665e1fb0
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x665e05d0
nop
test word [esp + 0x168], 0x2460
jne 0x665e05fb
mov ecx, dword [esp + 0x178]
test ecx, ecx
je 0x665dd0e0
lea eax, [esp + 0x160]
call sym._vdbeMemClear
jmp 0x665dd0e0
mov edi, dword [esp + 0x20]
mov ebx, dword [ebp + 0x10]
mov edx, dword [edi + 0x130]
test edx, edx
jle 0x665e062b
mov esi, dword [edi + 0x148]
test esi, esi
je 0x665e1aba
test ebx, ebx
je 0x665dd284
mov ecx, dword [ebx + 8]
mov esi, dword [ecx]
mov edi, dword [esi + 0x38]
test edi, edi
je 0x665e1e82
test edx, edx
jle 0x665e0670
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x148]
cmp ebx, dword [edi]
je 0x665e1e82
xor eax, eax
jmp 0x665e0669
cmp ebx, dword [edi + eax*4]
je 0x665e1e82
add eax, 1
cmp edx, eax
jne 0x665e0660
mov eax, dword [esp + 0x20]
call sym._growVTrans
test eax, eax
je 0x665e39e7
mov ecx, dword [ebx + 8]
mov edi, eax
mov eax, dword [esp + 0x24]
add ecx, 8
lea edx, [eax + 0x2c]
mov eax, dword [eax]
call sym._sqlite3VtabImportErrmsg.isra.297
jmp 0x665dd0e0
mov eax, dword [esp + 0x24]
lea esi, [eax + 0x2c]
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x3f], 0
je 0x665e3182
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x94], 1
jg 0x665e18eb
mov eax, dword [esp + 0x20]
mov edx, esi
mov edi, dword [eax + 0x18]
mov ecx, dword [eax + 0x54]
mov ebx, edi
mov dword [esp + 0x58], edi
mov edi, dword [eax + 0x50]
mov dword [esp + 0x68], ecx
mov ecx, str.ATTACH_:memory:_AS_vacuum_db_
mov dword [esp + 0x60], edi
mov edi, eax
mov eax, dword [eax + 0xb0]
mov dword [edi + 0xb0], 0
mov dword [esp + 0x70], eax
mov eax, ebx
and eax, 0xfff5ffff
or eax, 0x202800
mov dword [edi + 0x18], eax
mov eax, dword [edi + 0x10]
mov ebx, dword [eax + 4]
mov eax, dword [ebx + 4]
mov eax, dword [eax]
movzx eax, byte [eax + 0xf]
mov byte [esp + 0x88], al
mov eax, edi
mov edi, dword [edi + 0x14]
cmp byte [eax + 0x40], 2
mov dword [esp + 0x30], edi
mov edi, eax
mov eax, str.ATTACH__AS_vacuum_db_
cmovne ecx, eax
mov eax, edi
call sym._execSql
mov ecx, dword [esp + 0x20]
mov edi, eax
mov eax, dword [ecx + 0x14]
cmp dword [esp + 0x30], eax
jge 0x665e311f
add eax, 0xfffffff
shl eax, 4
add eax, dword [ecx + 0x10]
test edi, edi
mov dword [esp + 0x78], eax
je 0x665e3a39
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x18], esi
mov esi, dword [esp + 0x60]
mov dword [eax + 0x54], edx
mov dword [eax + 0xb0], ecx
mov edx, 0xffffffff
mov ecx, 0xffffffff
mov dword [eax + 0x50], esi
mov esi, eax
mov dword [esp], 1
mov eax, ebx
call sym._sqlite3BtreeSetPageSize
mov byte [esi + 0x3f], 1
mov esi, dword [esp + 0x78]
test esi, esi
je 0x665e07c6
mov eax, dword [esi + 4]
call sym._sqlite3BtreeClose
mov dword [esi + 4], 0
mov dword [esi + 0xc], 0
mov eax, dword [esp + 0x20]
call sym._sqlite3ResetAllSchemasOfConnection
jmp 0x665dd0e0
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x2c]
mov ecx, 4
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov eax, ebp
sub eax, dword [esp + 0x48]
xor edi, edi
mov word [edx + 8], cx
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [edx], eax
sar eax, 0x1f
mov dword [edx + 4], eax
mov eax, dword [ebp + 8]
jmp 0x665df796
xor edi, edi
jmp 0x665dfad0
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x665e14a4
mov esi, dword [ebx]
test esi, esi
je 0x665e14a4
mov eax, dword [esi + 0x34]
mov edi, dword [ebp + 8]
test eax, eax
je 0x665e189c
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
test edi, edi
movzx eax, byte [eax + 0x45]
mov byte [esp + 0x30], al
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0xc]
mov ecx, eax
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, ecx
lea ecx, [ecx + edi*4]
jle 0x665e087c
mov esi, esi
lea edi, [edi]
mov dword [eax], edx
add eax, 4
add edx, 0x28
cmp eax, ecx
jne 0x665e0870
movzx eax, byte [ebp + 3]
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x45], al
lea eax, [esp + 0x160]
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
call dword [esi + 0x34]
mov edi, eax
movzx eax, byte [esp + 0x30]
mov ecx, dword [esp + 0x20]
mov byte [ecx + 0x45], al
mov eax, dword [esp + 0x24]
lea ecx, [ebx + 8]
lea edx, [eax + 0x2c]
mov eax, dword [eax]
call sym._sqlite3VtabImportErrmsg.isra.297
test edi, edi
je 0x665e190c
mov eax, edi
cmp al, 0x13
jne 0x665e15e8
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x10], 0
je 0x665e15e8
movzx eax, byte [ebp + 3]
cmp al, 4
je 0x665e189c
mov esi, dword [esp + 0x24]
cmp al, 5
mov edx, 2
cmove eax, edx
mov byte [esi + 0x56], al
jmp 0x665dd0e0
mov eax, dword [ebp + 0xc]
mov edi, dword [esp + 0x2c]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov edi, dword [esp + 0x24]
add edx, 0x50
mov eax, dword [edi + 0x38]
mov edi, dword [edi + 0xc]
mov esi, dword [eax + ecx*4]
mov ecx, dword [edx - 0x28]
mov ebx, dword [esi + 0x24]
mov eax, dword [ebx]
mov dword [esp + 0x40], eax
mov eax, dword [eax]
mov dword [esp + 0x30], eax
mov eax, dword [edx - 0x50]
mov dword [esp + 0x58], eax
xor eax, eax
test ecx, ecx
jle 0x665e0950
mov dword [edi + eax*4], edx
add eax, 1
add edx, 0x28
cmp ecx, eax
jne 0x665e0943
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ecx
mov eax, dword [ebp + 0x10]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
call dword [eax + 0x20]
mov edi, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x40]
lea edx, [eax + 0x2c]
mov eax, dword [eax]
add ecx, 8
call sym._sqlite3VtabImportErrmsg.isra.297
test edi, edi
je 0x665e2c07
mov dword [esp + 0x30], edi
mov byte [esi + 0x19], 0
jmp 0x665dfc81
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea esi, [edi + eax*8]
mov eax, dword [ebp + 8]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
test word [ebx + 8], 0x2460
jne 0x665e2660
mov eax, 1
mov word [ebx + 8], ax
test byte [esi + 8], 1
je 0x665e2630
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp + 0xc]
sub eax, 1
mov dword [edx], eax
sar eax, 0x1f
mov dword [edx + 4], eax
mov eax, 4
mov word [edx + 8], ax
mov eax, dword [ebp + 8]
test eax, eax
je 0x665e14ae
xor edi, edi
jmp 0x665df796
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov edi, dword [esp + 0x48]
mov edx, dword [eax]
lea edx, [edx + edx*4]
lea ebp, [edi + edx*4]
mov edx, pe_nt_image_headers32
mov word [eax + 8], dx
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x160], eax
lea eax, [esp + 0x160]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call dword [ebp + 0x10]
mov edi, eax
mov eax, dword [esp + 0x160]
test eax, eax
mov dword [ebx + 0x3c], 0
jne 0x665e1280
mov byte [ebx + 0x19], 0
movzx eax, byte [ebp + 3]
mov ecx, dword [esp + 0x24]
add dword [ecx + eax*4 + 0x6c], 1
jmp 0x665dfad0
mov esi, dword [esp + 0x24]
mov ebx, dword [ebp + 4]
mov edx, dword [esi + 0x38]
mov ebx, dword [edx + ebx*4]
test ebx, ebx
jne 0x665e0a55
jmp 0x665dd284
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 4]
mov eax, dword [eax + 0x38]
mov ebx, dword [eax + edx*4]
mov dword [esp + 0x160], 0
mov esi, dword [ebx + 0x38]
cmp byte [esi + 0x38], 0
je 0x665e1645
cmp byte [esi + 0x39], 0
je 0x665e2e4b
mov eax, dword [esi + 0x10]
call sym._vdbePmaReaderNext
mov edi, eax
mov eax, dword [esi + 0x10]
mov esi, dword [eax + 0x18]
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0x160], eax
jmp 0x665e0a7b
mov edx, dword [ebp + 8]
test edx, edx
je 0x665e0ea6
mov eax, dword [esp + 0x20]
test byte [eax + 0x1b], 2
je 0x665e0ea6
mov dword [esp + 0x30], 8
mov eax, dword [esp + 0x30]
call sym._sqlite3ErrStr.part.222
mov esi, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 8], 0x6661ac50
mov dword [esp + 4], eax
mov eax, esi
add eax, 0x2c
mov dword [esp], eax
call sym._sqlite3SetString
mov eax, dword [esi + 0x2c]
mov ebx, dword [esp + 0x30]
mov dword [esi + 0x50], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0xa8]
mov dword [esp + 4], str.statement_aborts_at__d:___s___s
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov eax, ebp
sub eax, dword [esp + 0x48]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [esp + 8], eax
call sym.libsqlite3_0.dll_sqlite3_log
mov eax, esi
call sym._sqlite3VdbeHalt
jmp 0x665dcf98
lea eax, [esp + 0x168]
mov dword [esp + 0x160], 0
mov dword [esp + 0x168], 0xffffffff
mov dword [esp + 0x164], 0xffffffff
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 4]
mov dword [esp + 4], eax
lea eax, [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
call sym._sqlite3Checkpoint
cmp eax, 5
mov edi, eax
je 0x665e20fd
mov edx, dword [esp + 0x160]
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0x2c]
mov ecx, edx
sar ecx, 0x1f
lea esi, [esp + 0x160]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
test word [ebx + 8], 0x2460
jne 0x665e0c48
mov eax, 4
mov dword [ebx], edx
mov dword [ebx + 4], ecx
mov word [ebx + 8], ax
lea eax, [esp + 0x16c]
add esi, 4
cmp esi, eax
je 0x665dd0e0
mov edx, dword [esi]
add ebx, 0x28
mov ecx, edx
sar ecx, 0x1f
test word [ebx + 8], 0x2460
je 0x665e0c16
mov eax, ebx
call sym._vdbeReleaseAndSetInt64
jmp 0x665e0c24
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 8]
call sym._out2Prerelease.isra.294
mov edi, dword [esp + 0x20]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 4]
mov ebx, dword [ebp + 0xc]
shl eax, 4
add eax, dword [edi + 0x10]
cmp ebx, 0xffffffff
mov eax, dword [eax + 4]
mov dword [esp + 0x60], eax
mov eax, dword [eax + 4]
mov esi, dword [eax]
movzx eax, byte [esi + 5]
cmove ebx, eax
cmp byte [esi + 0x10], 2
mov dword [esp + 0x30], eax
ja 0x665e0cab
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
test eax, eax
je 0x665e0caf
cmp dword [esi + 0x4c], 0
jl 0x665e0caf
jg 0x665e0cab
cmp dword [esi + 0x48], 0
jbe 0x665e0caf
mov ebx, dword [esp + 0x30]
cmp byte [esi + 0xf], 0
jne 0x665e14bd
cmp ebx, 5
mov edx, dword [esi + 0xa8]
jne 0x665e14c6
test edx, edx
je 0x665e36c6
cmp byte [edx], 0
je 0x665e36c6
mov eax, edx
nop
lea esi, [esi]
add eax, 1
cmp byte [eax], 0
jne 0x665e0ce0
sub eax, edx
test eax, 0x3fffffff
je 0x665e36c6
cmp byte [esi + 4], 0
jne 0x665e0d14
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
cmp dword [eax], 1
jle 0x665e36c6
mov eax, dword [eax + 0x34]
test eax, eax
je 0x665e36c6
xor eax, eax
cmp dword [esp + 0x30], 5
mov byte [esp + 0x58], 1
mov ebx, 5
je 0x665e14f1
mov edi, dword [esp + 0x20]
cmp byte [edi + 0x3f], 0
je 0x665e0d42
cmp dword [edi + 0x98], 1
jle 0x665e4dc6
cmp byte [esp + 0x58], 0
mov edx, str.into
mov eax, str.out_of
mov dword [esp + 8], str.cannot_change__s_wal_mode_from_within_a_transaction
cmovne eax, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
add eax, 0x2c
mov dword [esp], eax
call sym._sqlite3SetString
mov dword [esp + 0x30], 1
jmp 0x665dfc81
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0x2c]
movzx ecx, byte [ebp + 3]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 0xc]
xor eax, eax
test ecx, ecx
je 0x665e0daf
mov dword [ebx + eax*4], edx
add eax, 1
add edx, 0x28
cmp ecx, eax
jne 0x665e0da2
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x2c]
mov eax, dword [ebp + 0x10]
mov edi, dword [esp + 0x20]
lea edx, [edx + edx*4]
mov dword [esp + 0x11c], eax
lea edx, [esi + edx*8]
mov esi, 1
mov dword [esp + 0x120], edx
add dword [edx + 0xc], 1
mov edx, ebp
sub edx, dword [esp + 0x48]
mov dword [esp + 0x180], edi
mov edi, dword [esp + 0x24]
mov word [esp + 0x168], si
lea esi, [esp + 0x160]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x118]
mov dword [esp + 0x178], 0
sar edx, 2
mov dword [esp + 0x124], edi
mov dword [esp + 0x118], esi
imul edx, edx, 0xcccccccd
mov dword [esp + 0x12c], 0
mov byte [esp + 0x130], 0
mov dword [esp + 8], ebx
mov dword [esp], ecx
mov dword [esp + 0x128], edx
call dword [eax + 0x10]
mov edi, dword [esp + 0x12c]
test edi, edi
jne 0x665e20bd
xor edi, edi
cmp byte [esp + 0x130], 0
je 0x665e05e0
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x665e05e0
mov ebx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
test word [eax + 8], 0x2460
jne 0x665e45f0
mov edx, 4
mov dword [eax], 1
mov dword [eax + 4], 0
mov word [eax + 8], dx
jmp 0x665e05e0
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x20]
shl eax, 4
add eax, dword [edi + 0x10]
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x665e20a9
mov eax, ebx
call sym._sqlite3BtreeBeginTrans
cmp eax, 5
mov edi, eax
je 0x665e5880
test eax, eax
jne 0x665dfe58
mov eax, dword [ebp + 8]
test eax, eax
je 0x665e0f7f
mov eax, dword [esp + 0x24]
test byte [eax + 0x58], 0x20
je 0x665e0f7f
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x3f], 0
je 0x665e0f04
cmp dword [eax + 0x98], 1
jle 0x665e0f7f
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x68]
test eax, eax
jne 0x665e0f2f
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x1f4]
mov dword [esp + 0x30], eax
add eax, 1
mov dword [esi + 0x1f4], eax
add eax, dword [esi + 0x1f0]
mov dword [edx + 0x68], eax
lea ecx, [eax - 1]
mov eax, dword [esp + 0x20]
xor edx, edx
call sym._sqlite3VtabSavepoint
test eax, eax
mov edi, eax
je 0x665e4f49
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esi + 0x1fc]
mov eax, dword [esi + 0x1f8]
mov dword [ecx + 0x9c], edx
mov dword [ecx + 0x98], eax
mov edx, dword [esi + 0x204]
mov eax, dword [esi + 0x200]
mov dword [ecx + 0xa4], edx
mov dword [ecx + 0xa0], eax
lea ecx, [esp + 0x160]
mov eax, ebx
mov edx, 1
call sym._sqlite3BtreeGetMeta
mov eax, dword [ebp + 4]
mov ebx, dword [esp + 0x20]
shl eax, 4
add eax, dword [ebx + 0x10]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 4]
cmp byte [ebp + 3], 0
je 0x665dd0e0
mov esi, dword [esp + 0x160]
cmp dword [ebp + 0xc], esi
jne 0x665e0fc4
cmp eax, dword [ebp + 0x10]
je 0x665dd0e0
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov edx, dword [esi + 0x2c]
mov eax, edi
call sym._sqlite3DbFree
mov edx, str.database_schema_has_changed
mov eax, edi
call sym._sqlite3DbStrDup
mov edx, dword [ebp + 4]
mov dword [esi + 0x2c], eax
mov esi, dword [esp + 0x160]
mov eax, edx
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 0xc]
cmp dword [eax], esi
je 0x665e1005
mov eax, edi
call sym._sqlite3ResetOneSchema
mov eax, dword [esp + 0x24]
mov edi, 0x11
or byte [eax + 0x58], 8
jmp 0x665dd0e0
mov edx, dword [esi + 0x10]
mov eax, dword [ebx]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x4c]
mov esi, dword [esp + 0x24]
mov edi, eax
lea ecx, [ebx + 8]
mov eax, dword [esi]
lea edx, [esi + 0x2c]
call sym._sqlite3VtabImportErrmsg.isra.297
and byte [esi + 0x58], 0xf7
jmp 0x665dd0e0
mov byte [esp + 0x40], 0
mov eax, esi
call sym._sqlite3VdbeRealValue
mov eax, dword [esp + 0x68]
fstp qword [esp + 0x30]
call sym._sqlite3VdbeRealValue
movzx eax, byte [ebp]
fld qword [esp + 0x30]
cmp al, 0x5a
je 0x665e4d83
jbe 0x665e45e1
cmp al, 0x5b
je 0x665e4dff
cmp al, 0x5c
jne 0x665e4d01
fldz
fxch st(1)
fucomi st(1)
fstp st(1)
jp 0x665e37cd
jne 0x665e37cd
fstp st(0)
fstp st(0)
jmp 0x665e10a6
fstp st(0)
jmp 0x665e10a6
fstp st(0)
jmp 0x665e10a6
fstp st(0)
test word [edi + 8], 0x2460
jne 0x665e1a1c
mov eax, dword [esp + 0x20]
mov ecx, 1
mov word [edi + 8], cx
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov dword [esp + 0xc], 0x6661a358
mov dword [esp + 8], 0x10d05
xor ebx, ebx
mov dword [esp + 4], str.database_corruption_at_line__d_of___.10s_
mov dword [esp], 0xb
mov edi, 0xb
call sym.libsqlite3_0.dll_sqlite3_log
mov eax, ebx
add ebx, 1
neg eax
test byte [ebp], 1
cmove eax, ebx
test eax, eax
jg 0x665dde00
jmp 0x665dd0e0
cmp byte [edx + 0x19], 0
je 0x665e2ad3
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov ebp, dword [esp + 0x40]
mov ecx, edi
lea eax, [esp + 0xf8]
mov edx, esi
call sym._sqlite3StrAccumAppend
lea eax, [esp + 0xf8]
call sym._sqlite3StrAccumFinish
mov esi, dword [esp + 0x20]
mov ebx, eax
mov dword [esp + 4], eax
mov eax, dword [esi + 0xb4]
mov dword [esp], eax
call dword [esi + 0xb0]
mov edx, ebx
mov eax, esi
call sym._sqlite3DbFree
mov eax, dword [ebp + 8]
test eax, eax
jne 0x665e0a10
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
xor eax, eax
xor ebx, ebx
jmp 0x665de550
test dl, 8
mov eax, 8
mov ebx, 7
jne 0x665de550
mov ecx, edx
mov eax, dword [esi + 0xc]
and cx, 0x4000
je 0x665e11b1
add eax, dword [esi]
shr dx, 1
and edx, 1
lea ebx, [edx + eax*2 + 0xc]
cmp ebx, 0xb
mov dword [esi + 0x1c], ebx
jbe 0x665e5a92
lea eax, [ebx - 0xc]
shr eax, 1
test cx, cx
mov edi, eax
je 0x665de586
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov ecx, edx
or ecx, eax
je 0x665de577
mov eax, esi
call sym._sqlite3VdbeMemExpandBlob
jmp 0x665de586
cdq
mov ecx, 1
add dword [esp + 0x30], eax
adc dword [esp + 0x34], edx
add ebp, ecx
sub esi, 0x28
cmp dword [esp + 0x58], esi
jbe 0x665de502
jmp 0x665de5c7
cmp ebx, 0x7f
jbe 0x665e1254
cmp ebx, 0x7fff
jbe 0x665e1289
cmp ebx, 0x7fffff
jbe 0x665e5a50
cmp ebx, 0x7fffffff
ja 0x665de532
mov eax, 4
mov ebx, 4
jmp 0x665de550
and ecx, 0xfffffffe
or ecx, eax
jne 0x665e1360
cmp dword [esp + 0x40], 3
jle 0x665e1360
and dx, 0x4000
add ebx, 8
mov ecx, edx
jmp 0x665e11bb
mov byte [ebx + 0x19], 1
jmp 0x665dfade
mov eax, 2
mov ebx, 2
jmp 0x665de550
mov dword [esp + 0x54], 0
jmp 0x665dce51
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
not ebx
not edi
jmp 0x665de529
mov dword [esp + 0x30], 0x204
jmp 0x665dfc81
lea edi, [esp + 0x118]
mov byte [edi + 6], 0
xor esi, esi
cmp byte [ebp], 0x43
je 0x665e2542
lea eax, [esp + 0xe4]
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], 0
mov edx, edi
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
call sym._sqlite3BtreeMovetoUnpacked
mov edx, dword [esp + 0xf8]
mov edi, eax
mov eax, dword [esp + 0x20]
call sym._sqlite3DbFree
test edi, edi
jne 0x665dd0e0
mov eax, dword [esp + 0xe4]
mov byte [ebx + 0x1a], 0
mov dword [ebx + 0x3c], 0
test eax, eax
mov dword [ebx + 0xc], eax
setne byte [ebx + 0x19]
cmp byte [ebp], 0x45
je 0x665e3991
test eax, eax
jne 0x665dde00
test esi, esi
je 0x665dd0e0
jmp 0x665dde00
mov eax, 1
mov ebx, 1
jmp 0x665de550
mov ebx, ebp
mov edx, dword [esp + 0x160]
mov ebp, dword [esp + 0x30]
mov esi, ebp
sub esi, dword [esp + 0x48]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x164], ecx
sar esi, 2
imul eax, esi, 0xcccccccd
mov esi, dword [esp + 0x20]
mov dword [esp + 0x170], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x16c], eax
movzx eax, word [edx + 8]
and ax, 0xbe00
or eax, 1
mov word [edx + 8], ax
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov byte [esp + 0x179], 0
mov dword [esi + 0x20], eax
lea eax, [esp + 0x160]
mov dword [esi + 0x24], edx
mov dword [esp + 8], edi
xor edi, edi
mov dword [esp], eax
mov dword [esp + 4], ebx
call dword [ecx + 0xc]
cmp byte [esp + 0x179], 0
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
je 0x665e1426
mov eax, dword [esp + 0x174]
test eax, eax
jne 0x665e3f24
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
call sym._sqlite3VdbeDeleteAuxData
mov eax, dword [esp + 0x160]
movzx ecx, word [eax + 8]
test cl, 2
je 0x665e1453
movzx ebx, byte [esp + 0x4f]
cmp byte [eax + 0xa], bl
movzx edx, bl
je 0x665e1453
call sym._sqlite3VdbeChangeEncoding.part.366
mov eax, dword [esp + 0x160]
movzx ecx, word [eax + 8]
test cl, 0x12
je 0x665dd0e0
and ch, 0x40
mov edx, dword [eax + 0xc]
je 0x665e1466
add edx, dword [eax]
mov eax, dword [eax + 0x20]
cmp dword [eax + 0x58], edx
jge 0x665dd0e0
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x40]
lea edi, [eax + 0x2c]
jmp 0x665dd63d
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x30]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov edi, 6
jmp 0x665dd0e0
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
cmp ebx, 5
je 0x665e3788
mov eax, dword [esp + 0x30]
cmp ebx, eax
je 0x665e14f1
cmp eax, 5
sete al
cmp ebx, 5
sete byte [esp + 0x58]
test al, al
movzx ecx, byte [esp + 0x58]
jne 0x665e0d2b
test cl, cl
jne 0x665e0d2b
xor edi, edi
mov edx, ebx
mov eax, esi
call sym._sqlite3PagerSetJournalMode
mov ebx, dword [esp + 0x40]
mov edx, 0xa02
cmp eax, 6
mov word [ebx + 8], dx
je 0x665e3655
mov edx, dword [eax*4 + str.s_bfz_bf]
test edx, edx
mov dword [ebx + 0x10], edx
je 0x665e4f9d
cmp byte [edx], 0
je 0x665e4f9d
mov eax, edx
nop
add eax, 1
cmp byte [eax], 0
jne 0x665e1530
sub eax, edx
and eax, 0x3fffffff
movzx edx, byte [esp + 0x4f]
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0xc], eax
mov byte [ecx + 0xa], 1
cmp edx, 1
je 0x665dd0e0
mov eax, ecx
call sym._sqlite3VdbeChangeEncoding.part.366
jmp 0x665dd0e0
cmp byte [ebx + 9], 0
jne 0x665e303b
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov esi, dword [eax + 0x9c]
mov eax, dword [esp + 0x20]
mov dword [edi], esi
sar esi, 0x1f
mov dword [edi + 4], esi
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov ecx, dword [esp + 0x20]
cmp byte [ecx + 0x3f], 0
jne 0x665e58a6
mov eax, str.cannot_start_a_transaction_within_a_transaction
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
add eax, 0x2c
mov dword [esp], eax
call sym._sqlite3SetString
mov dword [esp + 0x30], 1
jmp 0x665dfc81
jg 0x665dd629
cmp ebx, eax
ja 0x665dd629
jmp 0x665de679
test byte [ebp + 8], 1
je 0x665e5a42
mov eax, dword [esp + 0x24]
add dword [eax + 0x5c], 1
jmp 0x665dd0e0
test word [ebx + 8], 0x2460
jne 0x665e37a4
mov eax, 1
mov word [ebx + 8], ax
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
add dword [edi + 0x5c], 1
jmp 0x665dff90
mov dword [edx + 0x10], 0
mov dword [edx + 0xc], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x40], 0
jmp 0x665ddae6
mov edx, dword [esi + 0x24]
mov eax, dword [edx + 4]
mov dword [esi + 0x24], eax
mov dword [edx + 4], 0
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x665e475c
mov edx, dword [esi + 0x24]
xor eax, eax
test edx, edx
sete al
xor edi, edi
mov dword [esp + 0x160], eax
jmp 0x665e0a7b
mov dword [ebx], eax
mov eax, dword [esp + 0x20]
mov dword [ebx + 4], edx
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [esp + 0x24]
or byte [eax + 0x58], 8
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov edi, dword [eax + 0x9c]
test edi, edi
jle 0x665e3052
mov dword [esp + 8], str.cannot_open_savepoint___SQL_statements_in_progress
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
add eax, 0x2c
mov dword [esp], eax
call sym._sqlite3SetString
mov dword [esp + 0x30], 5
jmp 0x665dfc81
mov edi, dword [esp + 0x20]
mov edx, dword [edi + 0x1fc]
or edx, dword [edi + 0x1f8]
jne 0x665dd284
jmp 0x665df7cb
mov edx, dword [ebp + 8]
mov edi, edx
sar edi, 0x1f
add dword [ebx + 0x200], edx
adc dword [ebx + 0x204], edi
jmp 0x665dd284
lea edx, [esp + 0x160]
mov eax, edi
call sym._sqlite3BtreeKeySize
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x160]
mov ecx, dword [ecx + 0x58]
mov dword [esp + 0x30], eax
mov eax, ecx
cdq
cmp edx, dword [esp + 0x164]
jl 0x665dd629
jg 0x665e1749
cmp ecx, dword [esp + 0x30]
jb 0x665dd629
mov ecx, dword [esp + 0x30]
jmp 0x665dd366
test al, al
js 0x665e39c2
test al, 0x20
je 0x665e36b8
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
movzx eax, word [edx + 8]
and ax, 0xbe00
or eax, 1
mov word [edx + 8], ax
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebp + 0x10]
and ebx, 1
mov edx, dword [ecx + 8]
cmp bl, 1
mov ebx, dword [esp + 0x2c]
mov word [esp + 0x164], ax
sbb eax, eax
mov dword [esp + 0x160], edx
and eax, 2
sub eax, 1
mov byte [esp + 0x166], al
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
test byte [eax + 9], 0x40
mov dword [esp + 0x168], eax
jne 0x665e3792
lea eax, [esp + 0x118]
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], 0
lea edx, [esp + 0x160]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0xc], eax
mov eax, dword [ecx]
call sym._sqlite3BtreeMovetoUnpacked
test eax, eax
mov edi, eax
mov ecx, dword [esp + 0x58]
je 0x665ddfe2
jmp 0x665dfe58
xor edi, edi
jmp 0x665dd61c
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x30]
call sym._sqlite3PutVarint.part.9
movzx eax, al
mov esi, dword [esp + 0x58]
mov dword [esp + 0x58], ebp
mov dword [esp + 0x40], eax
jmp 0x665de6c2
mov dword [esp + 0x30], 7
jmp 0x665dfc81
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 0x48]
lea edx, [edx + edx*4]
lea ebp, [edi + edx*4 - 0x14]
jmp 0x665dd284
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x665e4d8a
test word [esi + 8], 0x2460
jne 0x665e3f64
mov edi, 1
mov word [esi + 8], di
xor edi, edi
jmp 0x665dd0e0
mov edx, ebx
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x16c]
mov eax, ebx
call sym._sqlite3DbFree
test edi, edi
mov byte [ebx + 0x91], 0
je 0x665dd0e0
jmp 0x665e0422
mov edi, dword [esi + 0x84]
lea edx, [edi + edi*8]
lea esi, [edx*8 + 0x88]
mov dword [esp + 0x40], esi
mov edx, esi
jmp 0x665de130
mov dword [esp + 8], str.cannot_VACUUM___SQL_statements_in_progress
mov dword [esp + 4], eax
mov dword [esp], esi
call sym._sqlite3SetString
mov dword [esp + 0x30], 1
jmp 0x665dfc81
mov eax, dword [ebp + 4]
test eax, eax
je 0x665e15e8
mov eax, dword [esp + 0x160]
mov edx, dword [esp + 0x164]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], edx
jmp 0x665e15e8
lea eax, [esp + 0x118]
mov esi, 0x64
mov dword [esp + 0x58], ebp
mov dword [esp + 0x30], esi
mov ebp, eax
jmp 0x665e196a
mov edx, dword [esp + 0x118]
test edx, edx
jne 0x665e19ce
sub dword [esp + 0x30], 1
je 0x665e4270
lea eax, [esp + 0x160]
mov dword [esp], 8
mov dword [esp + 4], eax
call sym.libsqlite3_0.dll_sqlite3_randomness
mov eax, dword [esp + 0x164]
mov esi, dword [esp + 0x160]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 0
and eax, 0x3fffffff
mov edi, eax
mov eax, esi
add eax, 1
mov edx, edi
adc edx, 0
mov dword [esp + 0x160], eax
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [ebx]
mov dword [esp + 0x164], edx
xor edx, edx
call sym._sqlite3BtreeMovetoUnpacked
test eax, eax
je 0x665e1954
mov dword [esp + 0x9c], edi
mov ebp, dword [esp + 0x58]
mov edi, eax
mov dword [esp + 0x98], esi
jmp 0x665ddcce
mov edi, dword [esp + 0x20]
mov edx, dword [edi + 0x128]
mov dword [esp], edx
call eax
test eax, eax
je 0x665deded
sub ebp, dword [esp + 0x48]
mov eax, 9
sar ebp, 2
imul esi, ebp, 0xcccccccd
jmp 0x665dcf65
xor edi, edi
jmp 0x665dd1d0
mov eax, edi
call sym._vdbeMemClearExternAndSetNull
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [esp + 0x30]
mov ebx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
xor eax, eax
test byte [ebp + 3], 0x10
je 0x665e1a47
mov eax, dword [esi + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], ebx
sar ebx, 0x1f
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6661a381
mov dword [esp + 0x14], eax
mov dword [esp + 4], ebx
mov eax, ecx
call sym._sqlite3BtreeInsert
mov dword [esi + 0x3c], 0
mov edi, eax
jmp 0x665dd0e0
mov eax, ebx
xor edi, edi
call sym._vdbeMemClearExternAndSetNull
jmp 0x665dd0e0
mov eax, ebx
call sym._vdbeMemClearExternAndSetNull
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [esi + 0xc]
mov edx, dword [ebx]
mov byte [eax + 0x4c], dl
jmp 0x665de3a7
test ebx, ebx
jne 0x665e5f78
mov dword [esp + 0x30], 6
jmp 0x665dfc81
mov eax, ecx
call sym._sqlite3BtreeLeave.part.89
jmp 0x665e0256
add eax, eax
cmp esi, eax
jg 0x665e1ae0
mov edx, dword [ebx + 4]
cmp edx, eax
jge 0x665e4230
cmp esi, edx
jle 0x665e422e
mov eax, dword [esp + 0x40]
mov ecx, esi
mov edx, esi
sar ecx, 0x1f
call sym._sqlite3Realloc
test eax, eax
je 0x665e4e3d
mov ecx, eax
sub ecx, dword [ebx + 0x28]
mov dword [ebx + 0x34], esi
add ecx, dword [ebx + 0x24]
mov dword [ebx + 0x28], eax
mov edx, dword [ebx + 0x30]
mov dword [esp + 0x40], eax
mov dword [ebx + 0x24], ecx
jmp 0x665e0052
mov ecx, dword [ebp + 0x10]
jmp 0x665dd171
mov dword [esp + 8], str.too_many_levels_of_trigger_recursion
mov eax, esi
jmp 0x665e15ab
lea eax, [edx + 1]
mov esi, dword [ebp + 8]
mov byte [esp + 0x30], al
mov eax, ebx
call sym._sqlite3BtreeEnter.part.88
movzx ecx, byte [esp + 0x30]
mov edx, esi
mov eax, ebx
call sym._querySharedCacheTableLock
test eax, eax
mov edi, eax
je 0x665e3ce6
cmp byte [ebx + 9], 0
je 0x665e4fcd
sub dword [ebx + 0xc], 1
je 0x665e3d2a
mov eax, edi
cmp al, 6
jne 0x665dd0e0
mov dword [esp + 0x30], edi
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], str.database_table_is_locked:__s
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
add eax, 0x2c
mov dword [esp], eax
call sym._sqlite3SetString
add ebp, 0x14
mov eax, ebp
sub eax, dword [esp + 0x48]
sar eax, 2
imul eax, eax, 0xcccccccd
jmp 0x665dfc91
not eax
shr eax, 0x1f
movzx ebx, word [esp + 0x40]
mov word [edi + 8], bx
movzx edi, word [esp + 0x30]
mov word [esi + 8], di
test byte [ebp + 3], 0x20
je 0x665e203e
mov edx, dword [ebp + 8]
mov esi, dword [esp + 0x2c]
lea edx, [edx + edx*4]
lea ecx, [esi + edx*8]
movzx edx, word [ecx + 8]
mov dword [ecx], eax
sar eax, 0x1f
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x20]
and dx, 0xbe00
or edx, 4
mov word [ecx + 8], dx
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
test eax, eax
setg al
movzx eax, al
jmp 0x665e1bd5
test eax, eax
setne al
movzx eax, al
jmp 0x665e1bd5
test eax, eax
setle al
movzx eax, al
jmp 0x665e1bd5
test eax, eax
sete al
movzx eax, al
jmp 0x665e1bd5
cmp dword [ebx + 0x48], eax
jae 0x665deb24
mov eax, dword [ebx + 0x4c]
test eax, eax
mov dword [esp + 0x68], eax
jne 0x665e1cb2
lea edi, [esp + 0x160]
xor eax, eax
mov ecx, 0xa
xor edx, edx
rep stosd dword es:[edi], eax
lea eax, [esp + 0x160]
mov dword [esp + 4], eax
movzx eax, byte [ebx + 0x1c]
shr al, 2
xor eax, 1
and eax, 1
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
mov eax, dword [esp + 0x30]
call sym._sqlite3VdbeMemFromBtree
test eax, eax
mov edi, eax
jne 0x665dd0e0
mov eax, dword [esp + 0x170]
mov dword [esp + 0x68], eax
movzx edi, word [ebx + 0x16]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x70], esi
mov dword [esp + 0x78], ebp
mov ebp, dword [esp + 0x60]
mov eax, dword [edx + edi*4]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x68]
mov ecx, dword [ebx + 0x48]
add ecx, eax
add eax, dword [edx]
mov esi, ecx
mov ecx, edx
mov dword [esp + 0x58], eax
jmp 0x665e1d1a
sub eax, 0xc
shr eax, 1
mov edx, dword [esp + 0xe4]
add edx, eax
cmp edx, eax
mov dword [esp + 0xe4], edx
jb 0x665e4880
add edi, 1
cmp ebp, edi
mov dword [ecx + edi*4], edx
jl 0x665e450e
cmp esi, dword [esp + 0x58]
jae 0x665e450e
movzx eax, byte [esi]
test al, al
js 0x665e3260
mov dword [esp + 0xf8], eax
add esi, 1
cmp eax, 0xb
mov dword [ebx + edi*4 + 0x54], eax
ja 0x665e1ce5
movzx eax, byte [eax + 0x666228c8]
jmp 0x665e1cea
xor eax, eax
cmp ebx, 0xb
jbe 0x665de717
mov ebx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov dword [esp], ebp
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
call sym._memcpy
jmp 0x665de715
add eax, dword [esp + 0x40]
mov edx, ebx
xor ecx, ecx
call sym._sqlite3PutVarint.part.9
movzx eax, al
jmp 0x665de6de
mov ebx, dword [esp + 0x68]
mov eax, ebx
call sym._vdbeSorterFlushPMA
mov edx, eax
mov eax, ebx
call sym._vdbeSorterJoinAll
test eax, eax
mov edi, eax
je 0x665e328d
mov eax, dword [esp + 0x70]
mov byte [eax + 0x19], 1
mov eax, dword [ebp + 8]
jmp 0x665df796
mov dword [esp], edi
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
call sym._sqlite3BtreeData
mov edi, eax
jmp 0x665dd3b5
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x64], 0
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov ebp, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [esp], edx
call dword [eax + 0x14]
test eax, eax
mov edi, eax
jne 0x665e1e21
mov dword [ebx + 8], 0
mov eax, ebx
mov dword [esi + 0x38], 0
call sym._sqlite3VtabUnlock
mov eax, dword [esp + 0x20]
sub dword [eax + 0xa4], 1
jmp 0x665dd0e0
mov esi, dword [esp + 0x24]
lea eax, [eax + eax*4]
mov edx, dword [esi + 4]
mov eax, dword [edx + eax*4 + 8]
mov dword [esp + 0x48], edx
sub eax, 1
jmp 0x665dd265
test eax, eax
jg 0x665e3008
cmp dword [esp + 0x40], 0x3e
jne 0x665e1e62
test eax, eax
je 0x665e3008
mov eax, dword [ecx]
cmp byte [eax + 0x49], 1
setne al
movzx eax, al
mov dword [esp + 0x118], eax
test eax, eax
jne 0x665df791
jmp 0x665de016
xor edi, edi
jmp 0x665e0686
mov eax, ebx
call sym._moveToRoot
test eax, eax
mov edi, eax
jne 0x665de44c
movsx ecx, word [ebx + 0x4c]
mov edx, dword [ebx + ecx*4 + 0x78]
mov eax, ecx
cmp byte [edx + 5], 0
jne 0x665e1f10
cmp byte [edx + 2], 0
je 0x665e2016
movzx ecx, word [ebx + ecx*2 + 0x4e]
movzx eax, word [edx + 0x12]
movzx ecx, cx
cmp ecx, eax
je 0x665e2c30
mov esi, dword [edx + 0x40]
movzx eax, byte [esi + ecx*2]
movzx ecx, byte [esi + ecx*2 + 1]
shl eax, 8
or eax, ecx
movzx ecx, word [edx + 0x14]
mov edx, dword [edx + 0x38]
and eax, ecx
mov edx, dword [edx + eax]
mov eax, ebx
bswap edx
call sym._moveToChild
test eax, eax
je 0x665e1e9a
mov edi, eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
jmp 0x665de44c
movzx esi, word [edx + 0x12]
xor edi, edi
add dword [esp + 0x30], esi
adc dword [esp + 0x34], edi
jmp 0x665e1f44
call sym._moveToParent
movsx edx, word [ebx + 0x4c]
lea edi, [edx + 0x20]
mov eax, edx
mov edx, dword [ebx + edx*4 + 0x78]
movzx ecx, word [ebx + edi*2 + 0xe]
movzx esi, word [edx + 0x12]
cmp cx, si
jb 0x665e202e
test ax, ax
mov eax, ebx
jne 0x665e1f20
call sym._moveToRoot
mov edi, eax
jmp 0x665de44c
mov edi, 6
jmp 0x665e1e21
mov ecx, edx
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x14], edx
jmp 0x665e00f1
xor edi, edi
jmp 0x665e1da3
mov eax, dword [esi + 8]
test eax, eax
je 0x665e56af
xor ecx, ecx
xor edx, edx
call sym._saveCursorsOnList
test eax, eax
mov edi, eax
je 0x665e569d
cmp byte [ebx + 9], 0
je 0x665df629
sub dword [ebx + 0xc], 1
jne 0x665df629
jmp 0x665df622
mov eax, dword [esp + 0x20]
call sym._growVTrans
test eax, eax
mov edi, eax
jne 0x665e05e0
mov eax, dword [ebx + 0x38]
test eax, eax
je 0x665e1fef
mov ebx, dword [esp + 0x20]
cmp ebx, dword [eax]
je 0x665e323b
mov edx, ebx
jmp 0x665e1fe8
cmp edx, dword [eax]
je 0x665e323b
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x665e1fe0
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx + 0x130]
mov edx, dword [ebx + 0x148]
lea ecx, [eax + 1]
mov dword [ebx + 0x130], ecx
mov dword [edx + eax*4], 0
mov eax, dword [0xc]
ud2
movzx eax, word [edx + 0x12]
xor edi, edi
movzx ecx, word [ebx + ecx*2 + 0x4e]
add dword [esp + 0x30], eax
adc dword [esp + 0x34], edi
jmp 0x665e1ebd
add ecx, 1
movzx eax, si
mov word [ebx + edi*2 + 0xe], cx
jmp 0x665e1ebd
test eax, eax
jne 0x665df791
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [esp + 0x20]
mov ebx, esi
call sym._sqlite3ResetAllSchemasOfConnection
jmp 0x665dcf37
mov eax, dword [esp + 0x70]
mov ebx, dword [eax]
mov eax, ebx
call sym._moveToRoot
test eax, eax
mov edi, eax
jne 0x665e2082
cmp byte [ebx + 0x49], 0
jne 0x665e4a26
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1a], 0
mov dword [eax + 0x3c], 0
mov byte [eax + 0x19], 1
jmp 0x665dde00
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov dword [esp + 0x160], 0
xor eax, eax
xor edi, edi
jmp 0x665e0fa5
lea eax, [esp + 0x160]
mov edx, 1
call sym._sqlite3ValueText
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 8], 0x6661ac50
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
add eax, 0x2c
mov dword [esp], eax
call sym._sqlite3SetString
mov edi, dword [esp + 0x12c]
jmp 0x665e0e5c
mov dword [esp + 0x160], 1
mov edx, 1
xor edi, edi
jmp 0x665e0bf5
movzx ecx, byte [esp + 0x4f]
mov eax, ebx
mov edx, 0x43
call sym._applyAffinity
movzx eax, word [ebx + 8]
test al, 4
jne 0x665de9c3
mov eax, dword [ebp + 8]
test eax, eax
jne 0x665e0a10
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], 0x14
movzx eax, byte [eax + 0x41]
test al, al
jne 0x665e374d
cmp dword [esp + 0x30], 0x204
jne 0x665e0b29
mov eax, str.abort_due_to_ROLLBACK
jmp 0x665e0b32
mov eax, ebx
call sym._sqlite3VdbeMemExpandBlob
mov edi, eax
jmp 0x665de957
movzx eax, word [edx + 8]
and ax, 0xbe00
or eax, 1
mov word [edx + 8], ax
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
movzx ecx, byte [edx + ebx + 0x66621c88]
jmp 0x665ddd3f
call sym._sqlite3VdbeIntValue
or eax, edx
setne dl
movzx edx, dl
jmp 0x665ddd2d
call sym._sqlite3VdbeIntValue
or eax, edx
setne al
movzx eax, al
lea ebx, [eax + eax]
add ebx, eax
jmp 0x665ddd11
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 4]
mov dword [esp + 0x68], eax
shl eax, 4
mov ebx, eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + ebx + 4]
cmp byte [ebx + 9], 0
jne 0x665e42ac
mov dword [esp + 0xf8], 0
mov eax, dword [ebx + 4]
mov edi, 0x106
mov edx, dword [eax + 8]
mov dword [esp + 0x30], eax
test edx, edx
je 0x665e5616
cmp byte [ebx + 9], 0
je 0x665e3f74
sub dword [ebx + 0xc], 1
jne 0x665e5521
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
xor esi, esi
mov eax, ebx
call sym._sqlite3BtreeLeave.part.89
mov eax, dword [esp + 0x40]
mov ebx, 4
mov edx, dword [esp + 0x5c]
test edi, edi
mov word [eax + 8], bx
mov ebx, eax
mov eax, dword [esp + 0x58]
mov dword [ebx + 4], edx
mov dword [ebx], eax
jne 0x665df361
test esi, esi
jne 0x665e4fe0
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, 4
mov word [ebx + 8], ax
mov eax, esi
call sym._sqlite3VdbeIntValue
not eax
not edx
mov dword [ebx], eax
mov eax, dword [esp + 0x20]
mov dword [ebx + 4], edx
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov dword [esp + 0x30], ecx
call sym._sqlite3VdbeIntValue
mov ecx, dword [esp + 0x30]
mov esi, eax
mov edi, edx
mov eax, ecx
call sym._sqlite3VdbeIntValue
movzx ecx, byte [ebp]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
cmp cl, 0x55
je 0x665e4297
cmp cl, 0x56
je 0x665e4f15
mov eax, dword [esp + 0x34]
or eax, dword [esp + 0x30]
je 0x665e231b
cmp dword [esp + 0x34], 0
jl 0x665e555e
jle 0x665e55fb
mov eax, edi
not eax
shr eax, 0x1f
cmp cl, 0x57
sete dl
xor edi, edi
mov esi, edx
or esi, eax
mov eax, esi
xor eax, 1
movzx esi, al
neg esi
adc edi, 0
neg edi
movzx eax, word [ebx + 8]
mov dword [ebx], esi
mov dword [ebx + 4], edi
and ax, 0xbe00
or eax, 4
mov word [ebx + 8], ax
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov ecx, dword [ebx]
movzx edx, word [ecx + 0x1a]
mov eax, dword [ecx + 8]
test dl, 2
jne 0x665e235c
test dl, 1
je 0x665e51aa
or edx, 2
mov word [ecx + 0x1a], dx
test eax, eax
je 0x665e5518
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
test eax, eax
mov dword [ecx + 8], eax
je 0x665e54bf
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
test word [eax + 8], 0x2460
jne 0x665e504e
mov dword [eax + 4], edi
mov edi, 4
mov dword [eax], esi
mov word [eax + 8], di
xor edi, edi
jmp 0x665dfade
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x30]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x70], edi
mov eax, dword [eax]
cmp ecx, dword [eax + 0x1c]
mov dword [esp + 0x60], eax
je 0x665e24be
mov edi, dword [eax + 8]
test edi, edi
je 0x665e24b3
test byte [eax + 0x1a], 1
je 0x665e4cf3
mov eax, dword [esp + 0x60]
mov esi, dword [eax + 0x14]
test esi, esi
je 0x665e598a
lea eax, [esi + 8]
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x665e2492
lea edx, [esp + 0x118]
mov dword [esp + 0x78], ebp
mov dword [esp + 0x84], ebx
lea ebp, [esi + 8]
mov ebx, edx
jmp 0x665e242e
mov eax, dword [esi + 0xc]
lea ebp, [esi + 8]
test eax, eax
je 0x665e44fe
lea ecx, [esp + 0x160]
mov edx, ebx
call sym._rowSetTreeToList
mov dword [esi + 0xc], 0
mov eax, dword [esp + 0x118]
mov edx, edi
call sym._rowSetEntryMerge
mov esi, dword [esi + 8]
mov edi, eax
test esi, esi
jne 0x665e2420
mov dword [esp + 0x68], ebp
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x60]
call sym._rowSetEntryAlloc
mov esi, eax
mov eax, dword [esp + 0x68]
test esi, esi
mov dword [eax], esi
je 0x665e249c
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov eax, edi
call sym._rowSetListToTree
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x60]
or word [eax + 0x1a], 1
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x30]
mov dword [eax + 0x1c], esi
mov eax, dword [esp + 0x60]
mov esi, dword [eax + 0x14]
test esi, esi
je 0x665e2503
mov edi, dword [esp + 0x70]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x665e24fc
mov edx, dword [eax + 4]
mov ecx, dword [eax]
cmp ebx, edx
jl 0x665e24f5
jg 0x665e2520
cmp edi, ecx
ja 0x665e2520
cmp ebx, edx
jl 0x665e24f5
jg 0x665df791
cmp edi, ecx
jae 0x665df791
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x665e24d4
mov esi, dword [esi + 8]
test esi, esi
jne 0x665e24cd
mov ebx, dword [esp + 0x30]
test ebx, ebx
jns 0x665df9ea
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [eax + 8]
jmp 0x665e24d0
mov edx, eax
mov eax, esi
call sym._sqlite3VdbeMemClearAndResize.part.357
test eax, eax
jne 0x665dcf30
mov eax, dword [esi + 0x10]
mov dword [esp + 0x30], eax
jmp 0x665de6a1
movzx ecx, word [edi + 4]
test ecx, ecx
je 0x665e12e1
mov eax, dword [edi + 8]
test byte [eax + 8], 1
jne 0x665e3987
add eax, 0x30
xor edx, edx
jmp 0x665e2573
movzx esi, word [eax]
add eax, 0x28
test si, 1
jne 0x665e3987
add edx, 1
cmp edx, ecx
jne 0x665e2562
xor esi, esi
jmp 0x665e12e1
mov eax, ebx
mov dword [esp + 0x30], ecx
call sym._sqlite3VdbeMemClearAndResize.part.357
test eax, eax
jne 0x665dcf30
movzx eax, word [ebx + 8]
mov edx, dword [ebx + 0x10]
mov ecx, dword [esp + 0x30]
jmp 0x665dd387
lea eax, [eax + eax*4]
mov ebx, dword [edi + eax*8 + 4]
mov ecx, dword [edi + eax*8]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], ecx
jmp 0x665dda99
call sym._sqlite3VdbeRealValue
cmp byte [ebp], 0x2e
fldz
je 0x665e4281
xor eax, eax
mov edx, 1
fucompi st(1)
fstp st(0)
setp al
cmovne eax, edx
jmp 0x665de819
mov edx, 1
mov eax, ebx
call sym._sqlite3ValueText
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 8], 0x6661ac50
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
add eax, 0x2c
mov dword [esp], eax
call sym._sqlite3SetString
jmp 0x665df661
mov eax, ebx
call sym._sqlite3BtreeEnter.part.88
cmp byte [esi + 0x11], 0
je 0x665df609
jmp 0x665df5d4
mov eax, 4
mov word [ebx + 8], ax
mov eax, esi
call sym._sqlite3VdbeIntValue
or eax, edx
mov dword [ebx + 4], 0
sete al
movzx eax, al
mov dword [ebx], eax
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, ebx
call sym._vdbeMemClearExternAndSetNull
jmp 0x665e09c8
mov eax, dword [ebx + 4]
mov edx, 1
call sym._sqlite3BtreeBeginTrans
test eax, eax
mov edi, eax
jne 0x665de2d7
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x665e4799
movzx ecx, byte [ebp + 3]
mov eax, dword [ebx + 4]
lea edx, [esp + 0x160]
or ecx, 2
movzx ecx, cl
call sym._sqlite3BtreeCreateTable
test eax, eax
mov edi, eax
je 0x665e3d36
and byte [ebx + 0x1c], 0xfb
jmp 0x665de2d7
mov edx, dword [edx + 0x24]
xor eax, eax
mov edi, dword [edx]
mov ecx, dword [edi]
mov dword [esp + eax + 0x160], 0
add eax, 4
cmp eax, 0x1c
jb 0x665e26c3
movzx eax, word [ebx + 8]
mov dword [esp + 0x160], ebx
and ax, 0xbe00
or eax, 1
mov word [ebx + 8], ax
mov eax, dword [ebp + 8]
mov dword [esp], edx
mov dword [esp + 8], eax
lea eax, [esp + 0x160]
mov dword [esp + 4], eax
call dword [ecx + 0x2c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x24]
lea ecx, [edi + 8]
lea esi, [eax + 0x2c]
mov eax, dword [eax]
mov edx, esi
call sym._sqlite3VtabImportErrmsg.isra.297
movzx eax, word [ebx + 8]
mov edi, dword [esp + 0x174]
test edi, edi
cmove edi, dword [esp + 0x30]
test al, 2
je 0x665e2746
movzx edx, byte [esp + 0x4f]
cmp byte [ebx + 0xa], dl
je 0x665e2746
mov eax, ebx
call sym._sqlite3VdbeChangeEncoding.part.366
movzx eax, word [ebx + 8]
test al, 0x12
je 0x665dd0e0
test ah, 0x40
mov edx, dword [ebx + 0xc]
je 0x665e2758
add edx, dword [ebx]
mov eax, dword [ebx + 0x20]
cmp dword [eax + 0x58], edx
jge 0x665dd0e0
sub ebp, dword [esp + 0x48]
mov edi, esi
sar ebp, 2
imul esi, ebp, 0xcccccccd
jmp 0x665dd63d
cmp byte [edi + 0x39], 0
je 0x665e39b0
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 0x14]
mov edi, dword [eax + 0x20]
jmp 0x665dd47a
mov edx, edi
mov eax, ebx
call sym._sqlite3VdbeMemClearAndResize.part.357
test eax, eax
je 0x665e5f6c
mov edi, 7
jmp 0x665dd423
cmp byte [eax + 0x39], 0
je 0x665e399e
mov eax, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
mov esi, dword [eax + 0x20]
jmp 0x665dd3ed
shr eax, 3
xor edx, edx
add eax, 1
call sym._sqlite3MallocZero
test eax, eax
mov ebx, eax
mov dword [esp + 0x120], eax
je 0x665e5128
mov eax, dword [0x66619164]
mov esi, dword [esp + 0x70]
xor edx, edx
div dword [esi + 0x20]
add eax, 1
cmp eax, dword [esp + 0x124]
ja 0x665e2817
mov edx, eax
and eax, 7
mov ecx, eax
shr edx, 3
mov eax, 1
shl eax, cl
or byte [ebx + edx], al
mov esi, dword [esp + 0x70]
lea eax, [esp + 0x160]
mov dword [esp + 0x140], 0
mov byte [esp + 0x158], 0
mov dword [esp + 0x134], str.Main_freelist:
lea ebx, [esp + 0x118]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0x64
mov dword [esp + 0x154], 0x3b9aca00
mov dword [esp + 0x30], ebx
mov edx, dword [eax + 0x38]
mov eax, dword [edx + 0x24]
mov ecx, dword [edx + 0x20]
mov edx, 1
bswap eax
bswap ecx
mov dword [esp], eax
mov eax, ebx
call sym._checkList
mov eax, dword [esp + 0x40]
mov dword [esp + 0x134], 0
test eax, eax
jle 0x665e293c
mov edx, dword [esp + 0x128]
test edx, edx
je 0x665e2f43
mov dword [esp + 0x40], ebp
xor ebx, ebx
mov ebp, esi
mov esi, eax
jmp 0x665e28df
mov eax, dword [esp + 0x128]
test eax, eax
je 0x665e41e5
mov edx, dword [edi + ebx*4]
test edx, edx
je 0x665e2931
cmp byte [ebp + 0x11], 0
je 0x665e2909
cmp edx, 1
jle 0x665e2909
mov eax, dword [esp + 0x30]
mov dword [esp], 0
mov ecx, 1
call sym._checkPtrmap
mov edx, dword [edi + ebx*4]
mov eax, dword [esp + 0x30]
mov dword [esp], 0
xor ecx, ecx
mov dword [esp + 0x134], str.List_of_tree_roots:
call sym._checkTreePage
mov dword [esp + 0x134], 0
add ebx, 1
cmp esi, ebx
jne 0x665e28d0
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x124]
test eax, eax
je 0x665e2f43
mov eax, dword [esp + 0x128]
test eax, eax
je 0x665e2f43
mov dword [esp + 0x40], 0xffffffff
mov ebx, 1
mov dword [esp + 0x84], ebp
mov esi, dword [esp + 0x70]
mov dword [esp + 0x88], edi
jmp 0x665e29df
xor edx, edx
cmp ebx, 1
jbe 0x665e29b3
mov eax, 0xcccccccd
mul dword [esi + 0x24]
mov eax, dword [esp + 0x40]
shr edx, 2
lea ecx, [edx + 1]
xor edx, edx
div ecx
xor edx, edx
imul ecx, eax
mov eax, dword [0x66619164]
div dword [esi + 0x20]
lea edx, [ecx + 2]
add ecx, 3
add eax, 1
cmp edx, eax
cmove edx, ecx
cmp edx, ebx
je 0x665e2a80
add ebx, 1
cmp ebx, dword [esp + 0x124]
ja 0x665e2f35
mov edi, dword [esp + 0x128]
add dword [esp + 0x40], 1
test edi, edi
je 0x665e2f35
mov eax, dword [esp + 0x120]
mov edi, ebx
mov ecx, ebx
shr edi, 3
and ecx, 7
mov ebp, 1
shl ebp, cl
movzx eax, byte [eax + edi]
test eax, ebp
jne 0x665e297b
xor edx, edx
cmp ebx, 1
jbe 0x665e2a3b
mov eax, 0xcccccccd
mul dword [esi + 0x24]
mov eax, dword [esp + 0x40]
shr edx, 2
lea ecx, [edx + 1]
xor edx, edx
div ecx
xor edx, edx
imul ecx, eax
mov eax, dword [0x66619164]
div dword [esi + 0x20]
lea edx, [ecx + 2]
add ecx, 3
add eax, 1
cmp edx, eax
cmove edx, ecx
cmp edx, ebx
jne 0x665e2a49
cmp byte [esi + 0x11], 0
jne 0x665e29bb
mov eax, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Page__d_is_never_used
mov dword [esp], eax
call sym._checkAppendMsg
mov eax, dword [esp + 0x120]
movzx eax, byte [eax + edi]
test eax, ebp
je 0x665e29bb
jmp 0x665e297b
cmp byte [esi + 0x11], 0
je 0x665e29bb
mov eax, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Pointer_map_page__d_is_referenced
mov dword [esp], eax
call sym._checkAppendMsg
jmp 0x665e29bb
mov ebx, dword [esp + 0x40]
mov eax, ebx
call sym._sqlite3VdbeMemSetRowSet
test byte [ebx + 8], 0x20
jne 0x665df9de
jmp 0x665dcf30
call sym._vdbeMemClearExternAndSetNull
test ebx, ebx
jne 0x665e02ab
jmp 0x665e02d2
lea edx, [esp + 0xf8]
mov eax, ebx
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
call sym._sqlite3BtreeKeySize
xor eax, eax
mov ecx, dword [esp + 0xf8]
xor edx, edx
mov word [esp + 0x120], ax
mov eax, dword [esp + 0x20]
mov dword [esp], 1
mov dword [esp + 0x130], 0
mov dword [esp + 0x138], eax
lea eax, [esp + 0x118]
mov dword [esp + 0x30], eax
mov dword [esp + 4], eax
mov eax, ebx
call sym._sqlite3VdbeMemFromBtree
test eax, eax
mov edi, eax
jne 0x665dfe58
mov eax, dword [esp + 0x128]
movzx edx, byte [eax]
test dl, dl
js 0x665e53bc
movzx eax, dl
mov dword [esp + 0xe0], eax
cmp eax, 2
ja 0x665e4e47
test word [esp + 0x120], 0x2460
jne 0x665e2b83
mov eax, dword [esp + 0x130]
test eax, eax
je 0x665e2b8c
mov eax, dword [esp + 0x30]
call sym._vdbeMemClear
mov dword [esp + 0xc], 0x6661a358
mov dword [esp + 8], 0x10ce5
mov dword [esp + 4], str.database_corruption_at_line__d_of___.10s_
mov dword [esp], 0xb
call sym.libsqlite3_0.dll_sqlite3_log
mov dword [esp + 0x30], 0xb
jmp 0x665dfe5c
mov eax, dword [esi + 0xc]
mov edx, dword [ebx]
mov dword [eax], edx
mov eax, dword [esp + 0x20]
or dword [eax + 0x18], 2
jmp 0x665de3a7
mov eax, dword [esp + 0x30]
mov dword [esp + 0x40], ecx
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
mov edi, eax
mov ecx, dword [esp + 0x40]
jne 0x665df361
jmp 0x665dff9e
mov eax, ebx
call sym._vdbeMemClearExternAndSetNull
jmp 0x665dd68a
call sym._sqlite3BtreeEnter.part.88
jmp 0x665e01c2
mov eax, dword [esp + 0x30]
mov dword [esp], ebx
call dword [eax + 0x28]
test eax, eax
mov byte [esi + 0x19], 0
jne 0x665dde00
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
movzx eax, byte [edx + 6]
mov edx, dword [edx + 0x38]
mov edx, dword [edx + eax + 8]
mov eax, ebx
bswap edx
call sym._moveToChild
jmp 0x665e1eee
movzx eax, word [ebx + 0x16]
cmp dword [esp + 0x60], eax
jl 0x665deb30
mov eax, dword [esp + 0x40]
mov edi, dword [ebx + 0x48]
cmp dword [eax], edi
ja 0x665e1c56
cmp byte [ebp + 1], 0xf8
jne 0x665e1887
mov edx, dword [ebp + 0x10]
mov eax, esi
mov ecx, 0x800
call sym._sqlite3VdbeMemShallowCopy
movzx eax, word [esi + 8]
jmp 0x665debac
mov edx, dword [ebp + 4]
mov edi, dword [esp + 0x48]
lea edx, [edx + edx*4]
lea ebp, [edi + edx*4 - 0x14]
jmp 0x665dd284
mov ebx, dword [esp + 0x2c]
lea eax, [edi + edi*4]
lea ebx, [ebx + eax*8]
mov eax, ebx
call sym._sqlite3VdbeIntValue
mov dword [ebx + 4], edx
movzx edx, word [ebx + 8]
mov edi, eax
mov dword [ebx], eax
and dx, 0xbe00
or edx, 4
cmp eax, 1
mov word [ebx + 8], dx
jg 0x665dd159
mov dword [esp + 0xc], 0x6661a358
mov dword [esp + 8], 0x121b5
mov dword [esp + 4], str.database_corruption_at_line__d_of___.10s_
mov dword [esp], 0xb
call sym.libsqlite3_0.dll_sqlite3_log
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], 0xb
movzx eax, byte [eax + 0x41]
jmp 0x665e214c
mov dword [esp + 0xc], 0x6661a358
mov dword [esp + 8], 0x11e08
mov edi, 0xb
mov dword [esp + 4], str.database_corruption_at_line__d_of___.10s_
mov dword [esp], 0xb
call sym.libsqlite3_0.dll_sqlite3_log
jmp 0x665dd0e0
mov dword [esp + 8], str.cannot_commit_transaction___SQL_statements_in_progress
mov dword [esp + 4], edi
jmp 0x665e16bd
mov dword [esp + 0xc], esi
mov dword [esp + 8], str.no_such_savepoint:__s
jmp 0x665e0d60
cmp ebx, edx
jne 0x665e58a6
test eax, eax
mov edx, str.cannot_rollback___no_transaction_is_active
mov eax, str.cannot_commit___no_transaction_is_active
cmovne eax, edx
jmp 0x665e15a3
mov eax, dword [eax + 0xc]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x30], 1
movzx eax, byte [eax + 0x4c]
cmp al, byte [ebx + 0x57]
jae 0x665dd14f
mov byte [ebx + 0x57], al
jmp 0x665dd14f
lea edi, [esp + 0x118]
mov edx, edi
call sym._sqlite3BtreeLast
test eax, eax
mov edi, eax
jne 0x665dfe58
mov ecx, dword [esp + 0x118]
test ecx, ecx
je 0x665e481d
mov dword [esp + 0x160], 1
mov dword [esp + 0x164], 0
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x665ddcc4
jmp 0x665ddc1d
mov eax, dword [esi + 0x24]
test eax, eax
je 0x665e472f
mov esi, dword [eax]
lea edi, [esp + 0x160]
mov edx, dword [esi]
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x30]
mov edi, eax
mov eax, dword [esp + 0x24]
lea ecx, [esi + 8]
lea edx, [eax + 0x2c]
mov eax, dword [eax]
call sym._sqlite3VtabImportErrmsg.isra.297
mov eax, dword [esp + 0x160]
mov edx, dword [esp + 0x164]
jmp 0x665dd306
mov eax, dword [esp + 0x58]
call sym._sqlite3VdbeChangeEncoding.part.366
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [esi + 0x14]
lea edx, [esp + 0x160]
call sym._vdbeMergeEngineStep
mov edi, eax
mov eax, dword [esp + 0x160]
jmp 0x665e0a7b
movzx eax, word [esp + 0x58]
jne 0x665dd9ed
movzx ecx, word [esp + 0x58]
movzx edx, word [esp + 0x30]
test cl, 2
mov eax, edx
jne 0x665e2ebe
and ecx, 0xc
je 0x665e2ebe
movzx edx, byte [esp + 0x4f]
mov ecx, 1
mov eax, edi
call sym._sqlite3VdbeMemStringify
movzx eax, word [edi + 8]
mov ecx, eax
mov word [esp + 0x58], ax
movzx eax, word [esp + 0x40]
and cx, 0xfe00
and ax, 0x1ff
or ecx, eax
movzx eax, word [esi + 8]
mov word [esp + 0x40], cx
test al, 2
jne 0x665e2eca
test al, 0xc
jne 0x665e57f8
movzx eax, word [esp + 0x58]
jmp 0x665dd9ed
mov ebx, dword [ebp + 0x10]
movzx ecx, word [ebx + 6]
movzx eax, word [ebx + 8]
add ecx, eax
jmp 0x665dd171
mov eax, ebx
xor edi, edi
call sym._vdbeMemClearExternAndSetNull
jmp 0x665dfad0
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0x24]
cdq
add dword [ebx + 0x90], eax
mov eax, dword [esp + 0x20]
adc dword [ebx + 0x94], edx
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [esp + 0x20]
neg dword [esp + 0x80]
mov dword [esp + 0x64], 0
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov ebp, dword [esp + 0x84]
mov edi, dword [esp + 0x88]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x78]
mov eax, dword [eax]
mov eax, dword [eax + 0xcc]
mov eax, dword [eax + 0xc]
cmp ecx, eax
je 0x665e2f76
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 8], ecx
mov dword [esp + 4], str.Outstanding_page_count_goes_from__d_to__d_during_this_analysis
mov dword [esp], eax
call sym._checkAppendMsg
mov esi, dword [esp + 0x60]
cmp byte [esi + 9], 0
je 0x665e2f98
mov eax, dword [esi + 0xc]
mov dword [esp + 0x30], eax
sub eax, 1
test eax, eax
mov dword [esi + 0xc], eax
jne 0x665e2f98
mov eax, esi
call sym._sqlite3BtreeLeave.part.89
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
mov ecx, dword [esp + 0x130]
test ecx, ecx
jne 0x665e5310
mov ebx, dword [esp + 0x12c]
test ebx, ebx
jne 0x665e2fe8
mov edx, dword [esp + 0x148]
cmp edx, dword [esp + 0x144]
je 0x665e2fdd
mov eax, dword [esp + 0x140]
call sym._sqlite3DbFree
mov dword [esp + 0x148], 0
lea eax, [esp + 0x140]
call sym._sqlite3StrAccumFinish
mov esi, eax
mov eax, ebx
mov dword [esp + 0x30], ebx
sar eax, 0x1f
mov dword [esp + 0x34], eax
jmp 0x665e026a
mov eax, dword [esp + 0x30]
mov dword [esp + 0x118], 0
mov dword [esp + 4], eax
mov eax, dword [ecx]
mov dword [esp], eax
call sym._sqlite3BtreePrevious
test eax, eax
mov edi, eax
jne 0x665dfe58
mov eax, dword [esp + 0x118]
jmp 0x665e1e75
mov eax, ebx
call sym._sqlite3BtreeEnter.part.88
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov esi, dword [eax + 0x9c]
jmp 0x665df2cb
test esi, esi
je 0x665e4e06
cmp byte [esi], 0
je 0x665e4e06
mov eax, esi
add eax, 1
cmp byte [eax], 0
jne 0x665e3065
sub eax, esi
and eax, 0x3fffffff
mov ebx, eax
mov eax, dword [esp + 0x20]
xor edx, edx
mov ecx, dword [eax + 0x1f0]
add ecx, dword [eax + 0x1f4]
call sym._sqlite3VtabSavepoint
test eax, eax
mov edi, eax
jne 0x665dfe58
mov eax, dword [esp + 0x20]
lea edx, [ebx + 0x21]
xor ecx, ecx
call sym._sqlite3DbMallocRaw
test eax, eax
mov edi, eax
je 0x665e4a0b
lea eax, [eax + 0x20]
add ebx, 1
mov dword [edi], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x3f], 0
je 0x665e4601
mov byte [eax + 0x3f], 0
mov byte [eax + 0x46], 1
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx + 0x1e8]
mov edx, dword [ebx + 0x1fc]
mov dword [edi + 0x18], eax
mov eax, dword [ebx + 0x1f8]
mov dword [ebx + 0x1e8], edi
mov dword [edi + 0xc], edx
mov edx, dword [ebx + 0x204]
mov dword [edi + 8], eax
mov eax, dword [ebx + 0x200]
mov dword [edi + 0x14], edx
mov dword [edi + 0x10], eax
movzx ecx, byte [ebx + 0x41]
mov eax, ecx
jmp 0x665dd284
test edi, edi
je 0x665e3a22
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x58]
mov edx, 0xffffffff
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x18], esi
mov esi, dword [esp + 0x60]
mov dword [eax + 0xb0], ecx
mov ecx, 0xffffffff
mov dword [eax + 0x50], esi
mov esi, dword [esp + 0x68]
mov dword [eax + 0x54], esi
mov esi, eax
mov dword [esp], 1
mov eax, ebx
call sym._sqlite3BtreeSetPageSize
mov byte [esi + 0x3f], 1
jmp 0x665e07c6
xor eax, eax
jmp 0x665dd59f
mov eax, ebx
call sym._handleDeferredMoveto
mov edi, eax
jmp 0x665dea30
mov dword [esp + 8], str.cannot_VACUUM_from_within_a_transaction
mov dword [esp + 4], eax
mov dword [esp], esi
call sym._sqlite3SetString
mov dword [esp + 0x30], 1
jmp 0x665dfc81
jl 0x665e31b2
cmp dword [eax + 0x90], 0
ja 0x665dedfe
mov eax, dword [esp + 0x24]
mov edx, 1
call sym._sqlite3VdbeCloseStatement
test eax, eax
mov dword [esp + 0x30], eax
jne 0x665dfc81
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
xor ebx, ebx
mov eax, dword [edi + 0x48]
mov dword [esp + 0x30], eax
add eax, 2
or eax, 1
mov dword [edi + 0x48], eax
mov eax, dword [ebp + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov eax, dword [ebp + 8]
mov dword [edi + 0x14], esi
test eax, eax
jg 0x665e321d
jmp 0x665e5a0e
and ax, 0x202
cmp ax, 2
je 0x665e5827
add ebx, 1
add esi, 0x28
cmp dword [ebp + 8], ebx
jle 0x665e5a0e
movzx eax, word [esi + 8]
test ah, 0x10
je 0x665e3200
mov eax, esi
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
jne 0x665dcf30
movzx eax, word [esi + 8]
jmp 0x665e3200
mov esi, dword [esp + 0x20]
mov edx, dword [esi + 0x130]
mov ecx, dword [esi + 0x148]
lea ebx, [edx + 1]
mov dword [esi + 0x130], ebx
mov dword [ecx + edx*4], eax
add dword [eax + 0xc], 1
jmp 0x665e05e0
lea edx, [esp + 0xf8]
mov eax, esi
mov dword [esp + 0x84], ecx
call sym._sqlite3GetVarint32
movzx eax, al
mov ecx, dword [esp + 0x84]
add esi, eax
mov eax, dword [esp + 0xf8]
jmp 0x665e1d2f
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx + 0x48]
lea ebx, [ecx + 0x40]
mov dword [esp + 0xd0], ebx
mov ebx, sym._vdbeSorterCompareInt
mov eax, dword [eax + 0x18]
mov dword [esp + 0xc4], eax
movzx eax, byte [ecx + 0x3c]
cmp al, 1
je 0x665e32c4
cmp al, 2
mov ebx, sym._vdbeSorterCompare
mov eax, sym._vdbeSorterCompareText
cmove ebx, eax
mov edi, dword [esp + 0x68]
movzx esi, byte [edi + 0x3b]
mov eax, esi
movzx eax, al
test eax, eax
je 0x665e57d6
lea ecx, [edi + 0x60]
xor edx, edx
nop
add edx, 1
mov dword [ecx], ebx
add ecx, 0x48
cmp edx, eax
jne 0x665e32e0
mov ecx, esi
cmp cl, 1
ja 0x665e4075
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0xd0]
mov dword [esp + 0x88], 0
mov dword [esp + 0x78], 1
mov dword [esp + 0xc0], ebp
add eax, 0x5c
mov dword [esp + 0x40], edi
mov dword [esp + 0x60], eax
mov eax, 0x88
mov ebx, eax
sub ebx, edi
mov dword [esp + 0x90], ebx
jmp 0x665e3406
cmp esi, 0x10
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
jg 0x665e3466
lea eax, [esp + 0xe4]
lea ecx, [esp + 0x160]
mov edx, esi
mov dword [esp], eax
mov eax, dword [esp + 0x40]
call sym._vdbeMergeEngineLevel0
mov edi, eax
mov eax, dword [esp + 0xe4]
test edi, edi
jne 0x665e34df
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x665e363e
mov ebx, ecx
mov ecx, dword [esp + 0x88]
mov edx, eax
add ecx, dword [ebx + 0xc]
mov eax, dword [esp + 0x40]
add ecx, 0x30
call sym._vdbeIncrMergerNew
mov edi, eax
test edi, edi
mov edx, dword [esp + 0x78]
jne 0x665e476a
mov edi, dword [esp + 0x68]
add dword [esp + 0x60], 0x48
add dword [esp + 0x78], 1
add dword [esp + 0x88], 0x38
movzx eax, byte [edi + 0x3b]
cmp eax, edx
jle 0x665e4222
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x90]
add eax, edi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x60]
mov esi, dword [eax]
test esi, esi
je 0x665e345d
mov ebx, esi
mov dword [esp + 0xe4], 0
mov ecx, esi
sar ebx, 0x1f
cmp ebx, 0
jl 0x665e3738
jle 0x665e372f
xor ebp, ebp
mov eax, 0x10
xor edx, edx
lea esi, [esi]
shld edx, eax, 4
add ebp, 1
shl eax, 4
cmp ebx, edx
jg 0x665e3440
jl 0x665e3350
cmp ecx, eax
ja 0x665e3440
jmp 0x665e3350
mov edx, dword [esp + 0x78]
jmp 0x665e33d3
mov eax, 0x10
call sym._vdbeMergeEngineNew
test eax, eax
mov dword [esp + 0xe4], eax
je 0x665e4725
mov esi, dword [esp + 0x60]
mov edx, dword [esi]
test edx, edx
jle 0x665e339c
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x160]
mov dword [esp + 0xf8], 0
shl eax, 4
sub edx, eax
mov dword [esp + 0x58], eax
mov eax, 0x10
cmp edx, 0x10
cmovg edx, eax
lea eax, [esp + 0xf8]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
call sym._vdbeMergeEngineLevel0
test eax, eax
je 0x665e34f0
mov edi, eax
mov eax, dword [esp + 0xe4]
call sym._vdbeMergeEngineFree
jmp 0x665e33c7
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0xf8]
lea ecx, [esp + 0x118]
mov ebx, dword [esp + 0xe4]
add eax, 1
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x40]
call sym._vdbeIncrMergerNew
cmp ebp, 1
jle 0x665e35f0
mov edx, 1
mov esi, 1
nop
add edx, 1
shl esi, 4
cmp edx, ebp
jne 0x665e3530
test eax, eax
jne 0x665e35b1
mov edi, 1
mov ecx, ebx
jmp 0x665e3569
mov ecx, dword [eax + 4]
lea eax, [esi + 0xf]
test esi, esi
cmovs esi, eax
add edi, 1
sar esi, 4
cmp edi, ebp
je 0x665e3630
mov eax, dword [esp + 0x30]
cdq
idiv esi
cdq
shr edx, 0x1c
lea ebx, [eax + edx]
and ebx, 0xf
sub ebx, edx
imul ebx, ebx, 0x38
add ebx, dword [ecx + 0xc]
mov eax, dword [ebx + 0x30]
test eax, eax
jne 0x665e3550
mov eax, 0x10
call sym._vdbeMergeEngineNew
test eax, eax
je 0x665e3634
mov edx, eax
mov eax, dword [esp + 0x40]
lea ecx, [ebx + 0x30]
call sym._vdbeIncrMergerNew
test eax, eax
je 0x665e59ad
mov ecx, eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x30], ecx
call sym._vdbeIncrFree
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x30]
add eax, 0x10
cmp eax, dword [edx]
jl 0x665e5f0f
mov eax, dword [esp + 0xe4]
mov edi, ecx
jmp 0x665e3394
test eax, eax
jne 0x665e35b1
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x118]
and eax, 0xf
imul eax, eax, 0x38
add eax, dword [ebx + 0xc]
mov dword [eax + 0x30], edx
mov eax, dword [esp + 0x60]
mov edx, dword [eax]
mov eax, dword [esp + 0x58]
add eax, 0x10
cmp eax, edx
jge 0x665e5f1d
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x30], eax
jmp 0x665e3495
mov ebx, ecx
jmp 0x665e35f4
mov ecx, 7
jmp 0x665e35b3
mov edx, dword [esp + 0x78]
mov dword [esp + 0x84], eax
jmp 0x665e33d3
xor edi, edi
jmp 0x665e1e21
mov eax, dword [esp + 0x40]
mov dword [eax + 0x10], 0
xor eax, eax
jmp 0x665e153f
mov eax, dword [esp + 0x30]
cmp word [eax + 0x2c], 0
jne 0x665e368d
mov edi, eax
movsx eax, word [eax + 0x4c]
lea ecx, [edi + 0x18]
movzx edx, word [edi + eax*2 + 0x4e]
mov eax, dword [edi + eax*4 + 0x78]
call sym._btreeParseCell
or byte [edi + 0x48], 2
mov edi, dword [esp + 0x30]
movsx edx, word [edi + 0x4c]
mov eax, dword [edi + 0x24]
mov ecx, dword [edi + 0x20]
mov edx, dword [edi + edx*4 + 0x78]
movzx edi, word [edi + 0x28]
mov dword [ebx + 0x40], eax
mov edx, dword [edx + 0x3c]
mov dword [ebx + 0x4c], ecx
sub edx, ecx
cmp edx, edi
cmovbe edi, edx
jmp 0x665dea96
and eax, 0x10
je 0x665dd284
jmp 0x665df791
mov ebx, dword [esp + 0x30]
jmp 0x665e14f1
mov eax, dword [ebx + 0x28]
test eax, eax
mov dword [esp + 0x40], eax
je 0x665e5239
mov ecx, dword [ebx + 0x30]
test ecx, ecx
je 0x665e3cce
mov eax, dword [esp + 0x58]
add eax, ecx
cmp edx, eax
jge 0x665e3cce
mov eax, ebx
call sym._vdbeSorterFlushPMA
mov edi, eax
mov eax, dword [ebx + 0x28]
mov dword [ebx + 0x30], 0
mov dword [esp + 0x40], eax
xor eax, eax
jmp 0x665e001f
cmp eax, 0xa
jle 0x665e3c6b
test al, 1
je 0x665e3c6b
and byte [ebx + 0x3c], 2
jmp 0x665dffdc
cmp esi, 0x10
ja 0x665e3431
xor ebp, ebp
jmp 0x665e3350
cmp dword [edx], 0
jbe 0x665dd284
jmp 0x665df791
mov dword [esp + 0x30], 7
jmp 0x665e0b29
xor edi, edi
jmp 0x665ddcd9
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [eax + 0x3c]
mov eax, dword [eax]
call sym._sqlite3BtreeClearTable
mov edi, eax
jmp 0x665dd0e0
mov eax, dword [ebp + 4]
mov edi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
jmp 0x665dfa35
mov edx, 0x6661a381
jmp 0x665e0cd0
mov dword [esp + 0x30], ecx
call sym._sqlite3VdbeMemExpandBlob
mov ecx, dword [esp + 0x30]
jmp 0x665e17d5
mov eax, ebx
call sym._vdbeMemClearExternAndSetNull
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, esi
call sym._sqlite3VdbeMemExpandBlob
and word [esp + 0x30], 0xbfff
jmp 0x665dda00
fdivp st(1)
fst qword [esp + 0xe8]
fld qword [esp + 0xe8]
fstp qword [esp + 0xf0]
fld qword [esp + 0xe8]
fld qword [esp + 0xf0]
fxch st(1)
fucompi st(1)
fstp st(0)
jp 0x665e109b
jne 0x665e10a0
movzx esi, word [edi + 8]
fst qword [edi]
and si, 0xbe00
mov eax, esi
or eax, 8
mov word [edi + 8], ax
movzx eax, word [esp + 0x58]
or ax, word [esp + 0x60]
test al, 8
jne 0x665e4f2a
cmp byte [esp + 0x40], 0
jne 0x665e4f2e
fld dword [0x666266ac]
fld st(0)
fucompi st(2)
jae 0x665e539f
fstp st(0)
fld dword [0x666266b0]
fld st(0)
fxch st(2)
fucomi st(2)
fstp st(2)
jae 0x665e539f
fstp st(0)
fnstcw word [esp + 0xd6]
movzx eax, word [esp + 0xd6]
mov ah, 0xc
mov word [esp + 0xd4], ax
fld st(0)
fldcw word [esp + 0xd4]
fistp qword [esp + 0xc8]
fldcw word [esp + 0xd6]
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
fild qword [esp + 0x30]
fxch st(1)
fucompi st(1)
fstp st(0)
jp 0x665e53ad
jne 0x665e53ad
mov ecx, eax
mov ebx, edx
add ecx, 0xffffffff
adc ebx, 0x7fffffff
cmp ebx, 0xffffffff
jb 0x665e38d4
cmp ecx, 0xfffffffd
ja 0x665e5607
mov dword [edi], eax
mov eax, dword [esp + 0x20]
or esi, 4
mov dword [edi + 4], edx
mov word [edi + 8], si
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
movzx edx, byte [esp + 0x4f]
xor ecx, ecx
mov eax, esi
call sym._sqlite3VdbeMemStringify
test eax, eax
je 0x665dd8d0
jmp 0x665dcf30
movzx edx, byte [esp + 0x4f]
xor ecx, ecx
mov eax, edi
call sym._sqlite3VdbeMemStringify
test eax, eax
je 0x665dd8c6
jmp 0x665dcf30
mov eax, esi
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
je 0x665dd8bc
jmp 0x665dcf30
mov eax, edi
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
jne 0x665dcf30
movzx eax, word [esi + 8]
jmp 0x665dd8b3
mov eax, edi
call sym._sqlite3VdbeMemExpandBlob
and word [esp + 0x40], 0xbfff
jmp 0x665dd9f6
xor ecx, ecx
xor edx, edx
call sym._vdbeReleaseAndSetInt64
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov esi, 1
jmp 0x665e12e1
test eax, eax
je 0x665dde00
jmp 0x665dd0e0
mov edx, dword [eax + 0x14]
mov eax, dword [edx + 8]
imul eax, dword [eax + 4], 0x38
add eax, dword [edx + 0xc]
jmp 0x665e27c0
mov edx, dword [edi + 0x14]
mov eax, dword [edx + 8]
imul eax, dword [eax + 4], 0x38
add eax, dword [edx + 0xc]
jmp 0x665e278d
test byte [esp + 0x40], 1
mov eax, 1
je 0x665dda1e
mov eax, edx
and ax, 0x101
cmp ax, 1
setne al
movzx eax, al
jmp 0x665dda1e
mov eax, dword [ebx + 8]
mov dword [esp], eax
call dword [esi + 0x38]
test eax, eax
jne 0x665e0681
mov edi, dword [esp + 0x20]
mov eax, dword [edi + 0x130]
mov edx, dword [edi + 0x148]
lea ecx, [eax + 1]
mov dword [edi + 0x130], ecx
mov dword [edx + eax*4], ebx
xor edi, edi
add dword [ebx + 0xc], 1
mov ecx, dword [ebx + 8]
jmp 0x665e0686
mov edi, dword [esp + 0x20]
add eax, 0xfffffff
mov dword [esp + 0x78], 0
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 4]
mov dword [esp + 0x40], eax
call sym._sqlite3BtreeCommit
cmp byte [ebx + 9], 0
jne 0x665e51d0
mov eax, dword [ebx + 4]
mov edx, dword [eax + 0x20]
sub edx, dword [eax + 0x24]
mov dword [esp + 0x84], edx
mov eax, dword [esp + 0x20]
mov ecx, str.PRAGMA_vacuum_db.synchronousOFF
mov edx, esi
call sym._execSql
test eax, eax
mov edi, eax
jne 0x665e0767
mov eax, dword [esp + 0x20]
mov ecx, str.BEGIN_
mov edx, esi
call sym._execSql
test eax, eax
mov edi, eax
jne 0x665e0767
mov edx, 2
mov eax, ebx
call sym._sqlite3BtreeBeginTrans
test eax, eax
mov edi, eax
jne 0x665e0767
mov eax, dword [ebx + 4]
mov edx, dword [eax]
cmp byte [edx + 5], 5
jne 0x665e3abf
mov edi, dword [esp + 0x20]
mov dword [edi + 0x48], 0
mov edx, dword [eax + 0x20]
mov ecx, dword [esp + 0x84]
mov edi, 7
mov eax, dword [esp + 0x40]
mov dword [esp], 0
call sym._sqlite3BtreeSetPageSize
test eax, eax
jne 0x665e0767
cmp byte [esp + 0x88], 0
je 0x665e5a67
mov eax, dword [esp + 0x20]
mov edi, 7
cmp byte [eax + 0x41], 0
jne 0x665e0767
mov eax, dword [esp + 0x20]
movsx eax, byte [eax + 0x43]
test al, al
jns 0x665e3b1a
mov eax, ebx
call sym._sqlite3BtreeGetAutoVacuum
mov edx, eax
mov eax, dword [esp + 0x40]
call sym._sqlite3BtreeSetAutoVacuum
mov eax, dword [esp + 0x20]
mov ecx, str.SELECT_CREATE_TABLE_vacuum_db.__substr_sql_14____FROM_sqlite_master_WHERE_typetable_AND_name_sqlite_sequence___AND_coalesce_rootpage_1__0
mov edx, esi
call sym._execExecSql
test eax, eax
mov edi, eax
jne 0x665e0767
mov eax, dword [esp + 0x20]
mov ecx, str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
mov edx, esi
call sym._execExecSql
test eax, eax
mov edi, eax
jne 0x665e0767
mov eax, dword [esp + 0x20]
mov ecx, str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
mov edx, esi
call sym._execExecSql
test eax, eax
mov edi, eax
jne 0x665e0767
mov eax, dword [esp + 0x20]
mov ecx, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM_main.__quote_name____FROM_main.sqlite_master_WHERE_type__table_AND_name_sqlite_sequence___AND_coalesce_rootpage_1__0
mov edx, esi
or dword [eax + 0x18], 0x8000000
call sym._execExecSql
mov edi, eax
mov eax, dword [esp + 0x20]
and dword [eax + 0x18], 0xf7ffffff
test edi, edi
jne 0x665e0767
mov ecx, str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
mov edx, esi
call sym._execExecSql
test eax, eax
mov edi, eax
jne 0x665e0767
mov eax, dword [esp + 0x20]
mov ecx, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM_main.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence_
mov edx, esi
call sym._execExecSql
test eax, eax
mov edi, eax
jne 0x665e0767
mov eax, dword [esp + 0x20]
mov ecx, str.INSERT_INTO_vacuum_db.sqlite_master___SELECT_type__name__tbl_name__rootpage__sql____FROM_main.sqlite_master___WHERE_typeview_OR_typetrigger______OR__typetable_AND_rootpage0_
mov edx, esi
call sym._execSql
test eax, eax
mov edi, eax
jne 0x665e0767
lea edi, [esp + 0x118]
mov esi, 0x66621c68
mov byte [esp + 0x88], 1
mov eax, 1
mov dword [esp + 0x30], edi
mov ecx, dword [esp + 0x30]
movzx edi, al
mov eax, ebx
mov edx, edi
call sym._sqlite3BtreeGetMeta
movzx ecx, byte [esp + 0x88]
mov eax, dword [esp + 0x40]
mov edx, edi
add ecx, dword [esp + 0x118]
call sym._sqlite3BtreeUpdateMeta
test eax, eax
jne 0x665e5c47
add esi, 2
mov eax, 0x66621c72
cmp eax, esi
je 0x665e5abd
movzx ecx, byte [esi + 1]
movzx eax, byte [esi]
mov byte [esp + 0x88], cl
jmp 0x665e3c06
mov edx, dword [eax + 0x14]
mov dword [ecx + 8], edx
jmp 0x665e00f1
mov byte [ebx + 0x3c], 0
jmp 0x665dffdc
mov eax, dword [ebx + 8]
lea esi, [esp + 0xf8]
lea edx, [esp + 0x160]
mov ecx, 0xbf
mov dword [esp], esi
call sym._sqlite3VdbeAllocUnpackedRecord
test eax, eax
mov edi, eax
je 0x665dcf30
mov eax, dword [esp + 0x30]
test byte [eax + 9], 0x40
jne 0x665e4f3f
mov esi, dword [esp + 0x30]
mov eax, dword [ebx + 8]
mov ecx, dword [esi + 0xc]
mov dword [esp + 4], edi
lea edx, [eax + 0xc]
mov esi, dword [esi + 0x10]
add eax, 4
mov dword [esp], esi
call sym._sqlite3VdbeRecordUnpack.isra.136
jmp 0x665e12d1
mov eax, dword [ebx + 0x2c]
xor edi, edi
add eax, esi
cmp dword [ebx + 8], esi
mov dword [ebx + 0x2c], eax
jge 0x665e003b
jmp 0x665e0029
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 0x48]
test eax, eax
jne 0x665e3d00
jmp 0x665e4237
mov eax, dword [eax + 0xc]
test eax, eax
je 0x665e4237
cmp esi, dword [eax + 4]
jne 0x665e3cf5
cmp dword [eax], ebx
jne 0x665e3cf5
movzx ecx, byte [esp + 0x30]
cmp byte [eax + 8], cl
jae 0x665e3d16
mov byte [eax + 8], cl
cmp byte [ebx + 9], 0
je 0x665dd54d
sub dword [ebx + 0xc], 1
jne 0x665dd0e0
mov eax, ebx
call sym._sqlite3BtreeLeave.part.89
jmp 0x665e1b82
mov edx, dword [ebx]
mov dword [ebx + 8], esi
mov ecx, 1
mov eax, dword [ebx + 4]
mov dword [esp], esi
mov dword [esp + 4], edx
mov edx, dword [esp + 0x160]
call sym._sqlite3BtreeCursor
mov edi, eax
jmp 0x665e26b1
mov ebx, edi
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x20]
test edx, edx
je 0x665e3d8e
mov eax, dword [eax + 4]
test eax, eax
je 0x665e3d7d
or byte [eax + 0x58], 8
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x665e3d72
mov edi, dword [esp + 0x20]
mov eax, edi
call sym._sqlite3ResetAllSchemasOfConnection
or dword [edi + 0x18], 2
mov eax, edi
mov edx, dword [eax + 0x1e8]
xor edi, edi
cmp ebx, edx
je 0x665e3dc1
mov esi, dword [esp + 0x20]
nop
mov eax, dword [edx + 0x18]
mov dword [esi + 0x1e8], eax
mov eax, esi
call sym._sqlite3DbFree
mov edx, dword [esi + 0x1e8]
sub dword [esi + 0x1f0], 1
cmp ebx, edx
jne 0x665e3da0
cmp dword [esp + 0x30], 1
je 0x665e5371
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov esi, dword [esp + 0x20]
mov dword [esi + 0x1f8], eax
mov dword [esi + 0x1fc], edx
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov dword [esi + 0x200], eax
mov dword [esi + 0x204], edx
test byte [esp + 0x40], 1
je 0x665e3e06
cmp dword [esp + 0x30], 2
jne 0x665dd0e0
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x30]
mov eax, esi
call sym._sqlite3VtabSavepoint
test eax, eax
mov edi, eax
jne 0x665dfe58
movzx ecx, byte [esi + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
add esi, eax
lea edx, [esi + esi*4]
lea edx, [eax + edx*2 + 0x14]
mov eax, dword [ebx + 0x10]
lea edx, [eax + edx*4]
mov eax, dword [esp + 0x20]
mov ecx, edx
sar ecx, 0x1f
call sym._sqlite3DbMallocZero
test eax, eax
mov edx, eax
je 0x665dcf30
test word [edi + 8], 0x2460
jne 0x665e3e6a
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x665e3e79
mov eax, edi
mov dword [esp + 0x2c], edx
call sym._vdbeMemClear
mov edx, dword [esp + 0x2c]
mov eax, 0x40
mov dword [edi], edx
mov word [edi + 8], ax
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x24]
mov dword [edx + 0x3c], esi
mov dword [esp + 0x30], eax
mov dword [edx + 0x40], eax
mov eax, ebp
sub eax, dword [esp + 0x48]
mov dword [edx], edi
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [edx + 0x2c], eax
mov eax, dword [edi + 8]
mov dword [edx + 0x10], eax
mov eax, dword [edi + 0x1c]
mov dword [edx + 0x34], eax
mov eax, dword [edi + 0x38]
mov dword [edx + 0x18], eax
mov eax, dword [edi + 0x24]
mov dword [edx + 0x28], eax
mov eax, dword [edi + 4]
mov dword [edx + 8], eax
mov eax, dword [edi + 0x20]
mov dword [edx + 0x30], eax
mov eax, dword [ebx + 0x14]
mov dword [edx + 0x1c], eax
mov eax, dword [edi + 0xc8]
mov dword [edx + 0x14], eax
mov eax, dword [edi + 0xc4]
mov dword [edx + 0x38], eax
lea eax, [esi + esi*4]
lea ecx, [edx + eax*8 + 0x50]
lea eax, [edx + 0x50]
cmp ecx, eax
je 0x665e58c7
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x30]
mov word [eax + 8], pe_nt_image_headers32
mov dword [eax + 0x20], ebp
add eax, 0x28
cmp ecx, eax
jne 0x665e3eff
mov eax, dword [esp + 0x24]
mov dword [esp + 0x30], edi
mov ecx, esi
mov eax, dword [eax + 0xb8]
jmp 0x665df8ff
mov eax, dword [esp + 0x160]
mov edx, 1
call sym._sqlite3ValueText
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 8], 0x6661ac50
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
add eax, 0x2c
mov dword [esp], eax
call sym._sqlite3SetString
mov edi, dword [esp + 0x174]
jmp 0x665e1416
mov eax, esi
call sym._vdbeMemClearExternAndSetNull
movzx eax, word [esi + 8]
jmp 0x665debac
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x40]
mov ecx, 4
mov word [edi + 8], cx
mov dword [edi], 0
mov dword [edi + 4], 0
jmp 0x665e1bb6
mov eax, dword [esp + 0x30]
mov dword [esp + 0x118], 0
mov dword [esp + 4], eax
mov eax, dword [ecx]
mov dword [esp], eax
call sym._sqlite3BtreeNext
test eax, eax
mov edi, eax
je 0x665e302f
jmp 0x665dfe58
mov eax, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov dword [esp + 0xc], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
movsx eax, byte [ebx + 0x18]
mov edx, dword [esp + 0x20]
shl eax, 4
add eax, dword [edx + 0x10]
mov eax, dword [eax]
mov dword [esp + 4], 9
mov dword [esp + 8], eax
mov eax, dword [edx + 0xd0]
mov dword [esp], eax
call ecx
jmp 0x665dd543
cmp al, 0x59
jne 0x665e4aab
mov eax, dword [esp + 0x44]
test eax, eax
js 0x665e5833
cmp dword [esp + 0x34], 0
jl 0x665e404e
jle 0x665e58d4
mov eax, 0xffffffff
sub eax, dword [esp + 0x30]
mov edx, 0x7fffffff
sbb edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
cmp ebx, edx
jg 0x665e45d7
jl 0x665e404e
cmp ecx, eax
ja 0x665e45d7
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x30]
mov edx, dword [esp + 0x44]
adc edx, dword [esp + 0x34]
jmp 0x665dd7ff
sub ebp, dword [esp + 0x48]
sar ebp, 2
imul esi, ebp, 0xcccccccd
jmp 0x665dd04f
call sym._vdbeMergeEngineNew
test eax, eax
mov dword [esp + 0x84], eax
je 0x665e5980
mov eax, dword [esp + 0x68]
cmp byte [eax + 0x3b], 0
jne 0x665e3302
mov eax, dword [esp + 0x68]
cmp byte [eax + 0x39], 0
je 0x665e5487
mov edi, dword [esp + 0x68]
movzx eax, byte [edi + 0x3b]
lea eax, [eax + eax*8 - 9]
lea esi, [edi + eax*8 + 0x40]
mov edi, dword [esi + 0xc]
test edi, edi
je 0x665e5f24
mov eax, dword [esp + 0xc4]
xor ecx, ecx
mov edx, 0x38
call sym._sqlite3DbMallocZero
mov ebx, eax
mov eax, dword [esp + 0x68]
test ebx, ebx
mov dword [eax + 0x10], ebx
je 0x665e5705
mov edx, dword [esp + 0x84]
lea ecx, [ebx + 0x30]
mov eax, esi
call sym._vdbeIncrMergerNew
test eax, eax
mov edi, eax
jne 0x665e54af
mov eax, dword [ebx + 0x30]
mov dword [eax + 0x18], 1
mov ecx, dword [eax]
mov eax, dword [eax + 0x10]
cdq
sub dword [ecx + 0x40], eax
mov eax, dword [esp + 0x68]
sbb dword [ecx + 0x44], edx
movzx eax, byte [eax + 0x3b]
cmp eax, 1
mov edx, eax
jle 0x665e4168
mov eax, dword [esp + 0x84]
xor edi, edi
mov eax, dword [eax + 0xc]
lea esi, [eax + 0x30]
mov dword [esp + 0x30], eax
mov eax, dword [esi]
test eax, eax
je 0x665e4158
mov dword [eax + 0x18], 1
mov ecx, dword [eax]
mov eax, dword [eax + 0x10]
cdq
sub dword [ecx + 0x40], eax
mov eax, dword [esp + 0x68]
sbb dword [ecx + 0x44], edx
movzx edx, byte [eax + 0x3b]
movzx eax, dl
add edi, 1
add esi, 0x38
lea ecx, [eax - 1]
cmp edi, ecx
jl 0x665e4137
xor esi, esi
jmp 0x665e4196
mov ecx, dword [esp + 0x84]
mov edx, 1
imul eax, esi, 0x38
add esi, 1
add eax, dword [ecx + 0xc]
call sym._vdbePmaReaderIncrInit
test eax, eax
jne 0x665e5e91
mov eax, dword [esp + 0x68]
movzx eax, byte [eax + 0x3b]
cmp eax, esi
jg 0x665e416c
mov edx, 2
mov eax, ebx
call sym._vdbePmaReaderIncrMergeInit
mov edi, eax
jmp 0x665e54a7
mov eax, dword [esp + 0x20]
mov dword [esp + 8], esi
mov edi, 1
mov dword [esp + 4], str.no_such_module:__s
mov dword [esp], eax
call sym._sqlite3MPrintf
mov ebx, dword [esp + 0x24]
mov dword [ebx + 0x2c], eax
jmp 0x665e05e0
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov ebp, dword [esp + 0x40]
jmp 0x665e2f43
fxch st(1)
fucompi st(1)
fstp st(0)
jbe 0x665ddf9b
lea eax, [esi + 1]
and ebx, 1
cmove esi, eax
mov dword [esp + 0x40], esi
jmp 0x665ddf9b
xor eax, eax
jmp 0x665e018f
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov ebp, dword [esp + 0xc0]
jmp 0x665e4097
mov eax, edx
mov esi, eax
jmp 0x665e1af9
xor edx, edx
mov eax, 0x10
mov dword [esp + 0x40], ecx
call sym._sqlite3MallocZero
test eax, eax
mov ecx, dword [esp + 0x40]
je 0x665e5544
mov edx, dword [ecx + 0x48]
mov dword [eax + 4], esi
mov dword [eax], ebx
mov dword [eax + 0xc], edx
mov dword [ecx + 0x48], eax
jmp 0x665e3d09
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x30], 0xd
jmp 0x665dfe5c
xor eax, eax
mov edx, 0
fucompi st(1)
fstp st(0)
setnp al
cmovne eax, edx
jmp 0x665de819
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
and ecx, esi
and eax, edi
mov esi, ecx
mov edi, eax
jmp 0x665e231b
mov eax, ebx
call sym._sqlite3BtreeEnter.part.88
jmp 0x665e21f6
mov eax, dword [esp + 0x24]
cmp word [eax + 0x44], 0
je 0x665e509c
mov dword [esp + 0x30], 1
mov dword [esp + 0x40], ebp
cmp byte [esi], 0
je 0x665e5230
mov ebp, esi
xor edi, edi
jmp 0x665e42f0
add ebp, eax
add edi, eax
cmp byte [ebp], 0
je 0x665e1129
lea edx, [esp + 0x118]
mov eax, ebp
call sym._sqlite3GetToken
cmp dword [esp + 0x118], 0x87
jne 0x665e42e2
mov ebx, eax
lea eax, [esp + 0xf8]
mov edx, esi
mov ecx, edi
add esi, edi
call sym._sqlite3StrAccumAppend
test ebx, ebx
je 0x665e5230
cmp byte [esi], 0x3f
je 0x665e446a
mov eax, dword [esp + 0x24]
mov ecx, ebx
mov edx, esi
call sym._sqlite3VdbeParameterIndex
mov dword [esp + 0xe4], eax
add esi, ebx
lea edx, [eax + eax*4]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x30], ebx
mov eax, dword [eax + 0x3c]
lea ebx, [eax + edx*8 - 0x28]
movzx eax, word [ebx + 8]
test al, 1
jne 0x665e444f
test al, 4
jne 0x665e4483
test al, 8
jne 0x665e4894
test al, 2
je 0x665e44b4
mov ebp, dword [esp + 0x58]
movzx edx, byte [ebp + 0x3e]
cmp dl, 1
je 0x665e506a
lea edi, [esp + 0x118]
xor eax, eax
mov ecx, 0xa
rep stosd dword es:[edi], eax
mov dword [esp + 0x138], ebp
movzx eax, dl
mov ecx, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x10]
mov dword [esp], eax
lea eax, [esp + 0x118]
mov dword [esp + 4], 0
mov edx, ebx
call sym._sqlite3VdbeMemSetStr
test byte [esp + 0x120], 2
je 0x665e43ee
cmp byte [esp + 0x122], 1
je 0x665e43ee
lea eax, [esp + 0x118]
mov edx, 1
call sym._sqlite3VdbeChangeEncoding.part.366
mov eax, dword [esp + 0x128]
mov dword [esp + 8], str._.q
mov dword [esp + 4], 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xf8]
mov dword [esp], eax
call sym._sqlite3XPrintf
test word [esp + 0x120], 0x2460
jne 0x665e443e
mov ebp, dword [esp + 0x130]
test ebp, ebp
je 0x665e42d3
lea eax, [esp + 0x118]
call sym._vdbeMemClear
jmp 0x665e42d3
lea eax, [esp + 0xf8]
mov ecx, 4
mov edx, str.NULL
call sym._sqlite3StrAccumAppend
jmp 0x665e42d3
cmp ebx, 1
jg 0x665e48be
mov eax, dword [esp + 0x30]
mov dword [esp + 0xe4], eax
jmp 0x665e4344
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [esp + 8], str._lld
mov dword [esp + 4], 0
mov dword [esp + 0xc], eax
lea eax, [esp + 0xf8]
mov dword [esp + 0x10], edx
mov dword [esp], eax
call sym._sqlite3XPrintf
jmp 0x665e42d3
test ah, 0x40
je 0x665e50bd
mov eax, dword [ebx]
mov dword [esp + 8], str.zeroblob__d_
mov dword [esp + 4], 0
mov dword [esp + 0xc], eax
lea eax, [esp + 0xf8]
mov dword [esp], eax
call sym._sqlite3XPrintf
jmp 0x665e42d3
mov eax, esi
call sym._sqlite3VdbeMemClearAndResize.part.357
test eax, eax
jne 0x665dcf30
mov edx, dword [esi + 0x10]
jmp 0x665debe6
mov ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0x84]
jmp 0x665e2492
mov ecx, esi
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x70]
mov eax, ecx
sub eax, dword [esp + 0x68]
mov word [ebx + 0x16], di
mov dword [ebx + 0x48], eax
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x665e528e
cmp ecx, dword [esp + 0x58]
jb 0x665e48d9
ja 0x665e454c
mov eax, dword [esp + 0xe4]
cmp dword [ebx + 0x40], eax
je 0x665e48e9
mov dword [esp + 0xc], 0x6661a358
mov dword [esp + 8], 0x11e5c
mov edi, 0xb
mov dword [esp + 4], str.database_corruption_at_line__d_of___.10s_
mov dword [esp], 0xb
call sym.libsqlite3_0.dll_sqlite3_log
jmp 0x665dd0e0
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov eax, ebx
add eax, 0x80000000
or eax, ecx
je 0x665e534a
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
neg eax
adc edx, 0
mov ecx, eax
neg edx
test edx, edx
mov ebx, edx
js 0x665e49a7
cmp dword [esp + 0x34], 0
jl 0x665e49e6
jle 0x665e5c96
mov eax, 0xffffffff
sub eax, dword [esp + 0x30]
mov edx, 0x7fffffff
sbb edx, dword [esp + 0x34]
cmp ebx, edx
jle 0x665e49dc
mov byte [esp + 0x40], 1
jmp 0x665e1047
cmp al, 0x59
jne 0x665e4d01
faddp st(1)
jmp 0x665e37cf
mov edx, 1
xor ecx, ecx
call sym._vdbeReleaseAndSetInt64
jmp 0x665e05e0
mov eax, dword [esp + 0x20]
add dword [eax + 0x1f0], 1
jmp 0x665e30dd
mov dword [esp + 0xc], 0x6661a358
mov dword [esp + 8], 0xdc5e
mov dword [esp + 4], str.database_corruption_at_line__d_of___.10s_
mov dword [esp], 0xb
call sym.libsqlite3_0.dll_sqlite3_log
cmp byte [ebx + 9], 0
jne 0x665e5ce1
mov dword [esp + 0x30], 0xb
jmp 0x665dfc81
mov eax, dword [esi + 0x18]
xor ecx, ecx
mov edi, esi
and eax, 2
setne cl
mov dword [esp + 0x60], ecx
mov ecx, dword [esi + 0x14]
test ecx, ecx
jle 0x665e3d5f
test eax, eax
mov dword [esp + 0x68], ebx
mov ebx, edi
sete al
xor esi, esi
movzx eax, al
mov edi, eax
mov eax, esi
mov ecx, edi
mov edx, 0x204
shl eax, 4
add eax, dword [ebx + 0x10]
mov eax, dword [eax + 4]
call sym._sqlite3BtreeTripAllCursors
test eax, eax
jne 0x665df182
mov eax, dword [ebx + 0x14]
add esi, 1
cmp eax, esi
jg 0x665e467a
test eax, eax
mov ebx, dword [esp + 0x68]
jg 0x665df13c
jmp 0x665e3d5f
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
cmp edx, 0xb
jbe 0x665e4a1a
lea ecx, [edx - 0xc]
shr ecx, 1
test ecx, ecx
je 0x665deb87
mov eax, dword [esp + 0x40]
mov edx, dword [eax + edi - 4]
mov dword [esp + 4], esi
movzx eax, byte [ebx + 0x1c]
shr al, 2
xor eax, 1
and eax, 1
mov dword [esp], eax
mov eax, dword [esp + 0x30]
call sym._sqlite3VdbeMemFromBtree
test eax, eax
mov edi, eax
jne 0x665dd0e0
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0xf8]
mov ecx, esi
call sym._sqlite3VdbeSerialGet
movzx eax, word [esi + 8]
and ah, 0xef
mov word [esi + 8], ax
jmp 0x665deba4
mov edi, 7
jmp 0x665e34df
mov eax, dword [esi]
cmp byte [eax + 0x49], 1
jne 0x665e4fa4
lea edx, [esp + 0x160]
call sym._sqlite3BtreeKeySize
mov edx, dword [esp + 0x164]
mov edi, eax
mov eax, dword [esp + 0x160]
jmp 0x665dd306
mov eax, dword [esp + 0x20]
call sym._sqlite3DbFree
jmp 0x665e1660
mov ebp, dword [esp + 0xc0]
mov eax, dword [esp + 0x84]
call sym._vdbeMergeEngineFree
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x84]
call sym._vdbeMergeEngineFree
jmp 0x665dd0d4
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
mov ecx, 1
mov dword [esp], 0
mov dword [esp + 4], edx
mov edx, 1
call sym._sqlite3BtreeCursor
or byte [ebx + 0x1c], 4
mov edi, eax
jmp 0x665de2d7
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x20]
call sym._sqlite3DbFree
jmp 0x665dd60c
mov edx, dword [ebx + 4]
lea ecx, [esp + 0x160]
add eax, 8
call sym._findElementWithHash
test eax, eax
je 0x665e4816
mov eax, dword [eax + 8]
mov edx, dword [eax + 0x3c]
cmp ebx, edx
jne 0x665e4802
jmp 0x665e5a5f
mov edx, eax
mov eax, dword [edx + 0x20]
cmp eax, ebx
jne 0x665e4800
add edx, 0x20
mov eax, dword [ebx + 0x20]
mov dword [edx], eax
jmp 0x665e0334
mov eax, dword [0x3c]
ud2
mov eax, dword [ebx]
lea edx, [esp + 0x160]
call sym._sqlite3BtreeKeySize
mov edx, dword [esp + 0x160]
mov ecx, dword [esp + 0x164]
mov edi, eax
mov esi, ecx
mov eax, edx
xor esi, 0x7fffffff
not eax
or esi, eax
je 0x665e5285
mov eax, edx
mov edx, ecx
add eax, 1
adc edx, 0
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], edx
jmp 0x665e2ddd
mov esi, dword [eax + 0xa8]
test esi, esi
je 0x665e116b
jmp 0x665df1be
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x70]
mov ebp, dword [esp + 0x78]
lea ecx, [eax + 1]
jmp 0x665e4518
fld qword [ebx]
lea eax, [esp + 0xf8]
mov dword [esp + 8], str.__.15g
mov dword [esp + 4], 0
fstp qword [esp + 0xc]
mov dword [esp], eax
call sym._sqlite3XPrintf
jmp 0x665e42d3
lea eax, [esi + 1]
lea edx, [esp + 0xe4]
call sym._sqlite3GetInt32
mov eax, dword [esp + 0xe4]
jmp 0x665e4344
mov eax, dword [esp + 0xe4]
cmp dword [ebx + 0x40], eax
jb 0x665e454c
movzx eax, word [ebx + 0x16]
jmp 0x665deb26
lea eax, [esp + 0x160]
xor ecx, ecx
xor edx, edx
mov dword [esp], eax
mov eax, dword [esp + 0x30]
call sym._sqlite3VdbeAllocUnpackedRecord
test eax, eax
mov esi, eax
mov dword [edi + 0x20], eax
je 0x665e184c
mov word [eax + 4], bx
jmp 0x665dd468
mov esi, dword [esp + 0x20]
cmp byte [esi + 0x46], 0
je 0x665df106
cmp dword [esp + 0x30], 1
jne 0x665e5a01
mov eax, dword [esp + 0x24]
call sym._sqlite3VdbeCheckFk.constprop.592
test eax, eax
jne 0x665e59f8
mov eax, dword [esp + 0x24]
mov byte [esi + 0x3f], 1
call sym._sqlite3VdbeHalt
cmp eax, 5
je 0x665e59c6
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x40], 1
mov edx, dword [eax + 0x1e8]
mov byte [eax + 0x46], 0
mov edi, dword [esi + 0x50]
cmp ebx, edx
jne 0x665e3d9a
mov eax, dword [ebx + 0x18]
mov esi, dword [esp + 0x20]
mov edx, ebx
mov dword [esi + 0x1e8], eax
mov eax, esi
call sym._sqlite3DbFree
mov eax, dword [esp + 0x30]
mov dword [esp + 0x40], eax
jmp 0x665e3df4
mov ebx, dword [esp + 0x34]
test ebx, ebx
jns 0x665e49e6
mov eax, 1
sub eax, dword [esp + 0x30]
mov edx, 0x80000000
sbb edx, dword [esp + 0x34]
mov ecx, eax
mov eax, 1
mov ebx, edx
xor edx, edx
sub eax, dword [esp + 0x40]
sbb edx, dword [esp + 0x44]
cmp ebx, edx
jg 0x665e45d7
jl 0x665e49e6
cmp ecx, eax
ja 0x665e45d7
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
sbb edx, dword [esp + 0x44]
jmp 0x665dd7ff
cmp eax, 0x20000000
jbe 0x665de227
jmp 0x665de222
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
movzx ecx, byte [edx + 0x666228c8]
jmp 0x665e46cd
mov eax, ebx
call sym._moveToLeftmost
mov edi, eax
mov eax, dword [esp + 0x70]
mov byte [eax + 0x1a], 0
mov dword [eax + 0x3c], 0
mov byte [eax + 0x19], 0
jmp 0x665dd0e0
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x2c]
lea esi, [ecx + eax*8]
jmp 0x665ddc42
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov eax, dword [ecx + edi - 4]
add eax, dword [ebx + 0x4c]
mov ecx, esi
call sym._sqlite3VdbeSerialGet
movzx eax, word [esi + 8]
jmp 0x665deba4
mov eax, ebx
call sym._sqlite3BtreeEnter.part.88
mov eax, dword [ebx + 4]
test esi, esi
mov eax, dword [eax]
jg 0x665df2c5
jmp 0x665e3047
xor edx, edx
mov eax, edi
mov dword [esp + 0x30], ecx
call sym._applyNumericAffinity
mov ecx, dword [esp + 0x30]
jmp 0x665ddf55
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov esi, ebx
or esi, ecx
je 0x665e10a6
mov esi, ecx
xor eax, eax
xor edx, edx
and esi, ebx
cmp esi, 0xffffffff
je 0x665dd7ff
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.___moddi3
jmp 0x665dd7ff
mov eax, dword [esp + 0x34]
mov dword [esp + 0xa4], 0
mov edx, dword [esp + 0xa4]
mov dword [esp + 0xac], 0
mov dword [esp + 0xb4], 0
sar eax, 0x1f
mov ebx, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0xa0], eax
sar ebx, 0x1f
mov eax, dword [esp + 0xa0]
add eax, dword [esp + 0x30]
adc edx, dword [esp + 0x34]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0xac]
mov ecx, edx
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x74]
sar ecx, 0x1f
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x30]
mov eax, edx
xor edx, edx
add ecx, eax
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0xa8]
sub ecx, eax
sbb ebx, edx
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0x44]
mov eax, ebx
sar eax, 0x1f
cdq
mov dword [esp + 0x90], eax
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xb4]
add eax, ecx
mov ecx, dword [esp + 0x40]
adc edx, ebx
mov ebx, edx
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x94]
sar ebx, 0x1f
mov dword [esp + 0x88], ebx
mov eax, edx
xor edx, edx
add ecx, eax
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xbc], 0
mov ebx, dword [esp + 0xbc]
sub ecx, eax
sbb ebx, edx
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0xc0]
or ecx, dword [esp + 0x78]
mov dword [esp + 0xd0], ebx
jne 0x665e516a
mov ebx, dword [esp + 0x88]
or ebx, dword [esp + 0x84]
je 0x665e5797
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
imul eax, dword [esp + 0x70]
imul ecx, ebx
add ecx, eax
mov eax, ebx
mul dword [esp + 0x70]
add edx, ecx
mov ecx, eax
mov ebx, edx
add ecx, 0x80000000
adc ebx, 0
cmp ebx, 0
ja 0x665e45d7
mov edx, eax
xor eax, eax
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x34], edx
imul eax, dword [esp + 0x70]
imul ecx, ebx
add ecx, eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x40], ecx
mul ebx
mov ebx, dword [esp + 0x40]
add ebx, edx
mov ecx, eax
test ebx, ebx
js 0x665e592a
cmp dword [esp + 0x34], 0
jl 0x665e4ce2
jle 0x665e4ce2
mov eax, 0xffffffff
sub eax, dword [esp + 0x30]
mov edx, 0x7fffffff
sbb edx, dword [esp + 0x34]
cmp ebx, edx
jg 0x665e45d7
jl 0x665e4ce2
cmp ecx, eax
ja 0x665e45d7
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
add eax, ecx
adc edx, ebx
jmp 0x665dd7ff
mov eax, edi
call sym._rowSetEntrySort
mov edi, eax
jmp 0x665e23de
fnstcw word [esp + 0xd6]
movzx eax, word [esp + 0xd6]
mov ah, 0xc
mov word [esp + 0xd4], ax
fldcw word [esp + 0xd4]
fistp qword [esp + 0xc8]
fldcw word [esp + 0xd6]
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 0xc8]
mov ebx, edx
or ebx, eax
je 0x665e10a4
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
je 0x665e57c0
fldcw word [esp + 0xd4]
fistp qword [esp]
fldcw word [esp + 0xd6]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call sym.___moddi3
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
fild qword [esp + 0x30]
jmp 0x665e37cf
fsubp st(1)
jmp 0x665e37cf
mov eax, dword [ebx + 0x10]
mov edi, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov edi, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x44], edi
mov dword [ebx + 0x40], edi
mov dword [ebx + 0x4c], eax
jmp 0x665deab0
lea edx, [esp + 0xe4]
call sym._sqlite3GetVarint32
movzx edx, al
mov eax, dword [esp + 0xe4]
jmp 0x665dead4
test al, al
jne 0x665e570f
cmp dword [esp + 0x30], 4
je 0x665e5e77
cmp byte [esp + 0x58], 1
mov eax, dword [esp + 0x60]
sbb edx, edx
add edx, 2
call sym._sqlite3BtreeSetVersion
test eax, eax
mov edi, eax
je 0x665e14f1
mov ebx, dword [esp + 0x30]
jmp 0x665e14f3
fmulp st(1)
jmp 0x665e37cf
xor ebx, ebx
jmp 0x665e3076
mov eax, dword [esp + 0x20]
mov dword [esp + 8], str.cannot_release_savepoint___SQL_statements_in_progress
mov dword [esp + 4], eax
jmp 0x665e16bd
lea eax, [edx + 1]
lea edx, [esp + 0x160]
call sym._sqlite3GetVarint32
mov eax, dword [esp + 0x160]
jmp 0x665dffc3
mov edi, 7
jmp 0x665dd0e0
cmp dword [esp + 0x124], eax
jl 0x665e2b6c
mov edx, dword [esp + 0x128]
lea eax, [edx + eax - 1]
movzx edx, byte [eax]
test dl, dl
js 0x665e5aa5
mov dword [esp + 0xe4], edx
lea eax, [edx - 1]
cmp eax, 8
ja 0x665e2b6c
cmp edx, 7
je 0x665e2b6c
movzx ecx, byte [edx + 0x666228c8]
mov ebx, dword [esp + 0xe0]
mov eax, dword [esp + 0x124]
add ebx, ecx
cmp eax, ebx
jb 0x665e2b6c
sub eax, ecx
add eax, dword [esp + 0x128]
lea ecx, [esp + 0x160]
call sym._sqlite3VdbeSerialGet
test word [esp + 0x120], 0x2460
mov ecx, dword [esp + 0x160]
mov ebx, dword [esp + 0x164]
jne 0x665e4edf
mov eax, dword [esp + 0x130]
test eax, eax
je 0x665e4ef8
mov eax, dword [esp + 0x30]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ebx
call sym._vdbeMemClear
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x20]
mov dword [esi + 4], ebx
mov ebx, 4
mov dword [esi], ecx
mov word [esi + 8], bx
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
or ecx, esi
or eax, edi
mov esi, ecx
mov edi, eax
jmp 0x665e231b
fstp st(0)
jmp 0x665e4f30
fstp st(0)
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
call sym._sqlite3VdbeMemExpandBlob
jmp 0x665e3caa
cmp byte [ebx + 9], 0
mov eax, dword [esp + 0x24]
mov esi, dword [ebx + 4]
mov edi, dword [eax + 0x68]
je 0x665e4f60
mov eax, ebx
call sym._sqlite3BtreeEnter.part.88
mov eax, dword [esi]
mov edx, edi
call sym._sqlite3PagerOpenSavepoint
cmp byte [ebx + 9], 0
mov edi, eax
je 0x665e0f47
sub dword [ebx + 0xc], 1
jne 0x665e0f47
mov eax, ebx
call sym._sqlite3BtreeLeave.part.89
jmp 0x665e0f47
mov eax, edi
xor edx, edx
call sym._applyNumericAffinity
movzx eax, word [esi + 8]
jmp 0x665dd9dc
xor eax, eax
jmp 0x665e153f
mov eax, esi
call sym._handleMovedCursor
test eax, eax
mov edi, eax
jne 0x665dfe58
cmp byte [esi + 0x19], 0
je 0x665e5a9e
mov ecx, 1
mov word [ebx + 8], cx
jmp 0x665dd0e0
mov eax, edi
mov dword [esp + 0x30], edi
cmp al, 6
je 0x665e1b90
jmp 0x665e1bb6
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x70]
mov ecx, dword [ebp + 4]
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + ebx + 0xc]
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x665e5006
jmp 0x665e5013
mov eax, dword [eax]
test eax, eax
je 0x665e5013
mov edx, dword [eax + 8]
cmp dword [edx + 0x1c], esi
jne 0x665e5000
mov dword [edx + 0x1c], ecx
jmp 0x665e5000
mov eax, dword [ebx + 0x20]
test eax, eax
jne 0x665e5026
jmp 0x665e5033
mov eax, dword [eax]
test eax, eax
je 0x665e5033
mov edx, dword [eax + 8]
cmp dword [edx + 0x28], esi
jne 0x665e5020
mov dword [edx + 0x28], ecx
jmp 0x665e5020
movzx eax, byte [esp + 0x68]
add eax, 1
mov byte [esp + 0x4e], al
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
mov ecx, edi
mov edx, esi
xor edi, edi
call sym._vdbeReleaseAndSetInt64
jmp 0x665dfade
mov eax, esi
call sym._vdbeMemClearExternAndSetNull
jmp 0x665deb3c
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 8], str._.q
mov dword [esp + 4], 0
mov dword [esp + 0xc], eax
lea eax, [esp + 0xf8]
mov dword [esp], eax
call sym._sqlite3XPrintf
jmp 0x665e42d3
cmp byte [esi], 0
je 0x665e59bf
mov eax, esi
add eax, 1
cmp byte [eax], 0
jne 0x665e50a7
sub eax, esi
and eax, 0x3fffffff
mov ecx, eax
jmp 0x665e112f
lea eax, [esp + 0xf8]
mov ecx, 2
mov edx, 0x6661d4b2
xor edi, edi
call sym._sqlite3StrAccumAppend
mov ebp, dword [ebx + 0xc]
test ebp, ebp
jle 0x665e510d
mov eax, dword [ebx + 0x10]
movzx eax, byte [eax + edi]
mov dword [esp + 8], str._02x
add edi, 1
mov dword [esp + 4], 0
mov dword [esp + 0xc], eax
lea eax, [esp + 0xf8]
mov dword [esp], eax
call sym._sqlite3XPrintf
cmp ebp, edi
jne 0x665e50dc
lea eax, [esp + 0xf8]
mov ecx, 1
mov edx, 0x6661d4b5
call sym._sqlite3StrAccumAppend
jmp 0x665e42d3
mov eax, dword [esp + 0x60]
cmp byte [eax + 9], 0
je 0x665e514e
mov edx, dword [esp + 0x60]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x30], eax
sub eax, 1
test eax, eax
mov dword [edx + 0xc], eax
jne 0x665e514e
mov eax, edx
call sym._sqlite3BtreeLeave.part.89
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 0
mov ebx, 1
xor esi, esi
jmp 0x665e026a
mov eax, dword [esp + 0x88]
or eax, dword [esp + 0x84]
jne 0x665e45d7
mov ebx, dword [esp + 0x90]
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xd0]
imul ecx, dword [esp + 0x78]
imul eax, ebx
add ecx, eax
mov eax, dword [esp + 0x78]
mul ebx
add edx, ecx
jmp 0x665e4c5a
mov dword [esp + 0x30], ecx
call sym._rowSetEntrySort
mov ecx, dword [esp + 0x30]
mov dword [ecx + 8], eax
movzx edx, word [ecx + 0x1a]
jmp 0x665e2355
mov dword [esp + 0x64], 0
jmp 0x665dd284
mov eax, ebx
call sym._sqlite3BtreeEnter.part.88
mov eax, dword [ebx + 4]
mov edx, dword [eax + 0x20]
sub edx, dword [eax + 0x24]
cmp byte [ebx + 9], 0
mov dword [esp + 0x84], edx
je 0x665e3a5f
sub dword [ebx + 0xc], 1
jne 0x665e3a5f
mov eax, ebx
call sym._sqlite3BtreeLeave.part.89
jmp 0x665e3a5f
mov eax, esi
xor edx, edx
call sym._applyNumericAffinity
movzx eax, word [edi + 8]
jmp 0x665dd9ed
test al, al
jns 0x665e4a1a
lea eax, [esp + 0x118]
jmp 0x665deb99
mov ebp, dword [esp + 0x40]
jmp 0x665e113d
mov eax, dword [ebx + 0x2c]
cmp edx, eax
jl 0x665e36f7
cmp eax, dword [ebx]
jle 0x665e5256
mov edx, dword [0x6663c364]
test edx, edx
jne 0x665e36f7
add eax, esi
xor edi, edi
cmp dword [ebx + 8], esi
mov dword [ebx + 0x2c], eax
jl 0x665e0029
mov eax, dword [esp + 0x58]
cdq
call sym._sqlite3Malloc
test eax, eax
mov esi, eax
je 0x665e4e3d
mov eax, dword [ebx + 0x24]
mov dword [esi + 4], eax
jmp 0x665e006f
or byte [ebx + 0x1c], 2
jmp 0x665e2ddd
test word [esp + 0x168], 0x2460
jne 0x665e52a5
mov eax, dword [esp + 0x178]
test eax, eax
je 0x665e52b9
lea eax, [esp + 0x160]
mov dword [esp + 0x68], ecx
call sym._vdbeMemClear
mov ecx, dword [esp + 0x68]
mov eax, 1
mov word [esp + 0x168], ax
jmp 0x665e4530
mov eax, ebx
mov dword [ecx + 0x34], ebx
mov dword [esp + 0x30], ecx
cdq
call sym._sqlite3Malloc
mov ecx, dword [esp + 0x30]
test eax, eax
mov dword [ecx + 0x28], eax
jne 0x665de238
mov eax, dword [esp + 0x40]
movzx edx, word [eax + 8]
movzx eax, word [eax + 6]
add eax, edx
cmp eax, 0xc
jg 0x665e554e
mov edi, 7
jmp 0x665de251
mov edx, dword [esp + 0x148]
cmp edx, dword [esp + 0x144]
je 0x665e532c
mov eax, dword [esp + 0x140]
call sym._sqlite3DbFree
mov eax, dword [esp + 0x12c]
xor esi, esi
lea ebx, [eax + 1]
mov eax, ebx
mov dword [esp + 0x30], ebx
sar eax, 0x1f
mov dword [esp + 0x34], eax
jmp 0x665e026a
mov eax, dword [esp + 0x34]
mov byte [esp + 0x40], 1
test eax, eax
jns 0x665e1047
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
add eax, 0
adc edx, 0x80000000
jmp 0x665dd7ff
mov eax, dword [ebx + 0x18]
mov esi, dword [esp + 0x20]
mov edx, ebx
mov dword [esi + 0x1e8], eax
mov eax, esi
call sym._sqlite3DbFree
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x665e57c9
sub dword [esi + 0x1f0], 1
jmp 0x665e3e06
fxch st(1)
fucompi st(1)
fstp st(0)
jp 0x665e53ad
je 0x665e5607
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
lea edx, [esp + 0xe0]
call sym._sqlite3GetVarint32
mov eax, dword [esp + 0xe0]
jmp 0x665e2b63
mov ecx, dword [esp + 0x24]
mov eax, dword [ebp + 8]
mov dword [ecx + 0x50], 0
mov byte [ecx + 0x56], al
mov dword [ecx + 0x4c], ebx
mov edi, dword [esp + 0x24]
mov eax, edi
call sym._sqlite3VdbeHalt
cmp eax, 5
mov dword [esp + 0x30], eax
jne 0x665df063
mov dword [edi + 0x50], 5
jmp 0x665dcfa7
mov edx, dword [esp + 0x24]
mov dword [edx + 0x50], eax
mov eax, dword [ebp + 8]
mov dword [edx + 0x4c], ebx
mov byte [edx + 0x56], al
movzx eax, byte [ebp + 3]
test al, al
jne 0x665e58e4
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x665e599a
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6661ac50
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
add eax, 0x2c
mov dword [esp], eax
call sym._sqlite3SetString
mov edi, dword [esp + 0x24]
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0xa8]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.abort_at__d_in___s_:__s
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 4]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_log
jmp 0x665e53e8
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0xd0]
xor ecx, ecx
mov edx, ebx
call sym._vdbeMergeEngineInit
mov esi, dword [esp + 0x68]
mov edi, eax
mov dword [esi + 0x14], ebx
test edi, edi
je 0x665dd0d4
mov dword [esp + 0x84], 0
jmp 0x665e4788
mov edx, dword [ecx]
test edx, edx
je 0x665e54e9
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], esi
mov edi, ecx
mov ebx, dword [edx]
mov eax, dword [edi + 4]
call sym._sqlite3DbFree
test ebx, ebx
mov edx, ebx
jne 0x665e54cf
mov ecx, edi
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
xor eax, eax
mov dword [ecx], 0
mov dword [ecx + 8], 0
mov word [ecx + 0x18], ax
mov eax, 1
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x14], 0
mov word [ecx + 0x1a], ax
jmp 0x665e2377
movzx eax, word [ebx + 8]
jmp 0x665dfab4
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x40]
mov eax, 4
mov word [edi + 8], ax
mov dword [edi], 0
mov dword [edi + 4], 0
jmp 0x665dfc81
cmp byte [ebx + 9], 0
jne 0x665e59b5
add ebp, 0x14
mov dword [esp + 0x30], 7
jmp 0x665e1bb9
mov eax, 0xffffffaf
sub eax, ecx
cmp dword [esp + 0x34], 0xffffffff
mov ecx, eax
jl 0x665e22f9
jle 0x665e5f85
neg dword [esp + 0x30]
adc dword [esp + 0x34], 0
neg dword [esp + 0x34]
cmp cl, 0x57
je 0x665e5775
mov eax, esi
mov edx, edi
xor esi, esi
mov ecx, dword [esp + 0x30]
shrd eax, edi, cl
shr edx, cl
test cl, 0x20
mov dword [esp + 0x40], ecx
cmovne eax, edx
cmovne edx, esi
test edi, edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
jns 0x665e55ee
mov ecx, 0x40
sub ecx, dword [esp + 0x40]
mov eax, 0xffffffff
xor esi, esi
mov edx, 0xffffffff
mov edi, dword [esp + 0x34]
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, esi
mov esi, dword [esp + 0x30]
mov ecx, edx
mov edx, ecx
or eax, esi
or edx, edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
jmp 0x665e231b
cmp dword [esp + 0x30], 0x3f
jbe 0x665e5585
jmp 0x665e22f9
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x41]
mov eax, ecx
jmp 0x665dd284
lea ecx, [esp + 0xf8]
mov dword [esp], 0
mov edx, esi
call sym._btreeGetPage
test eax, eax
mov edi, eax
mov dword [esp + 0xe4], eax
jne 0x665e2218
xor ecx, ecx
mov edx, esi
mov eax, ebx
call sym._sqlite3BtreeClearTable
test eax, eax
mov dword [esp + 0xe4], eax
je 0x665e5cfb
mov edx, dword [esp + 0xf8]
test edx, edx
je 0x665e5670
mov eax, dword [edx + 0x44]
call sym._sqlite3PagerUnrefNotNull
mov eax, dword [esp + 0xe4]
mov edi, eax
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
xor esi, esi
cmp byte [ebx + 9], 0
je 0x665e2245
sub dword [ebx + 0xc], 1
jne 0x665e2245
jmp 0x665e223e
mov eax, dword [esi + 8]
test eax, eax
je 0x665e56af
and byte [eax + 0x48], 0xfb
mov eax, dword [eax + 8]
test eax, eax
jne 0x665e56a4
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x40]
mov eax, esi
mov dword [esp], 0
call sym._incrVacuumStep
test eax, eax
mov edi, eax
jne 0x665e1f93
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x44]
call sym._sqlite3PagerWrite
mov edi, eax
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x2c]
mov eax, dword [eax + 0x38]
mov ecx, edx
shr ecx, 0x18
mov byte [eax + 0x1c], cl
mov ecx, edx
mov byte [eax + 0x1f], dl
shr ecx, 0x10
mov byte [eax + 0x1d], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 0x1e], cl
jmp 0x665e1f93
mov edi, 7
jmp 0x665e4788
mov eax, dword [esi + 0xd0]
test eax, eax
je 0x665e5ea3
mov eax, esi
call sym._pagerExclusiveLock
test eax, eax
mov edi, eax
jne 0x665e4df6
movzx edx, byte [esi + 9]
mov edi, dword [esi + 0xc8]
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0xd0]
mov dword [esp], edi
call sym._sqlite3WalClose
mov dword [esi + 0xd0], 0
mov edi, eax
mov eax, esi
call sym._pagerFixMaplimit
test edi, edi
jne 0x665e4df6
mov edx, ebx
mov eax, esi
call sym._sqlite3PagerSetJournalMode
jmp 0x665e4dd9
movzx ecx, byte [esp + 0x30]
xor eax, eax
shld edi, esi, cl
shl esi, cl
test cl, 0x20
cmovne edi, esi
cmovne esi, eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], edi
jmp 0x665e55ee
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x34]
imul ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
mov eax, esi
imul eax, edx
mov ebx, ecx
add ebx, eax
mov eax, dword [esp + 0x40]
mul dword [esp + 0x30]
add edx, ebx
jmp 0x665dd7ff
fstp st(0)
fldz
jmp 0x665e37cf
mov dword [esp + 0x40], 1
jmp 0x665e3df4
mov ecx, esi
cmp cl, 1
ja 0x665e4075
mov dword [esp + 0x84], 0
jmp 0x665e4097
mov edx, edi
jmp 0x665e3d94
movzx edx, byte [esp + 0x4f]
mov ecx, 1
mov eax, esi
call sym._sqlite3VdbeMemStringify
movzx edx, word [esp + 0x30]
movzx eax, word [esi + 8]
and dx, 0x1ff
and ax, 0xfe00
or eax, edx
mov word [esp + 0x30], ax
jmp 0x665dd9e9
mov eax, esi
call sym._vdbeMemAddTerminator
jmp 0x665e320e
mov eax, dword [esp + 0x34]
test eax, eax
jns 0x665e404e
mov eax, 1
mov ecx, dword [esp + 0x40]
sub eax, dword [esp + 0x30]
mov edx, 0x80000000
mov ebx, dword [esp + 0x44]
sbb edx, dword [esp + 0x34]
add ecx, 1
adc ebx, 0
cmp edx, ebx
jg 0x665e45d7
jl 0x665e404e
cmp eax, ecx
ja 0x665e45d7
jmp 0x665e404e
mov dword [esp + 0x30], eax
mov eax, ebp
sub eax, dword [esp + 0x48]
mov edi, dword [esp + 0x24]
sar eax, 2
mov dword [edi + 0x50], 5
imul eax, eax, 0xcccccccd
mov dword [edi + 0x4c], eax
jmp 0x665dcfa7
test eax, eax
je 0x665defeb
mov edi, dword [esp + 0x20]
mov edx, 0x204
mov eax, edi
call sym._sqlite3RollbackAll
mov byte [edi + 0x3f], 1
jmp 0x665df01b
mov eax, dword [edi + 0xb8]
mov ecx, esi
jmp 0x665df8ff
cmp dword [esp + 0x30], 0
jbe 0x665e404e
jmp 0x665e4022
mov eax, dword [eax*4 + 0x66621cb0]
test eax, eax
je 0x665e5428
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x665e599c
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], edx
mov dword [esp + 8], str._s_constraint_failed:__s
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
add eax, 0x2c
mov dword [esp], eax
call sym._sqlite3SetString
jmp 0x665e5456
mov eax, dword [esp + 0x34]
test eax, eax
jns 0x665e4ce2
mov eax, 1
sub eax, dword [esp + 0x30]
mov edx, 0x80000000
sbb edx, dword [esp + 0x34]
mov dword [esp + 0x40], eax
mov eax, ecx
mov dword [esp + 0x44], edx
add eax, 1
mov edx, ebx
adc edx, 0
cmp dword [esp + 0x44], edx
jg 0x665e45d7
jl 0x665e4ce2
cmp dword [esp + 0x40], eax
ja 0x665e45d7
jmp 0x665e4ce2
mov edi, 7
jmp 0x665e4771
mov eax, dword [esp + 0x60]
add eax, 0x14
mov dword [esp + 0x68], eax
jmp 0x665e2469
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], str._s_constraint_failed
jmp 0x665e543f
mov eax, dword [ebx + 0x30]
jmp 0x665e3550
mov edi, 7
jmp 0x665e3d20
xor ecx, ecx
jmp 0x665e112f
mov eax, ebp
sub eax, dword [esp + 0x48]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x30], 5
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [edi + 0x4c], eax
mov eax, dword [esp + 0x20]
mov byte [eax + 0x3f], 0
mov dword [edi + 0x50], 5
jmp 0x665dcfa7
mov dword [esp + 0x30], eax
jmp 0x665dcfa7
mov dword [esp + 0x40], 1
jmp 0x665df106
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x41], 0
jne 0x665dcf30
mov eax, ebp
sub eax, dword [esp + 0x48]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x30], 0x64
sar eax, 2
imul eax, eax, 0xcccccccd
add eax, 1
mov dword [edi + 0x4c], eax
jmp 0x665dcfa7
mov dword [esp + 0x30], eax
add ebp, 0x14
jmp 0x665e1bb9
mov eax, 3
mov ebx, 3
jmp 0x665de550
lea edx, [eax + 0x3c]
jmp 0x665e480c
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x84]
mov edx, dword [eax + 0x48]
mov eax, dword [esp + 0x40]
mov dword [esp], 0
call sym._sqlite3BtreeSetPageSize
test eax, eax
jne 0x665e0767
jmp 0x665e3af4
movzx eax, byte [ebx + 0x666228c8]
jmp 0x665de55a
mov eax, dword [esi]
jmp 0x665e473b
lea edx, [esp + 0xe4]
call sym._sqlite3GetVarint32
mov edx, dword [esp + 0xe4]
jmp 0x665e4e71
cmp byte [ebx + 9], 0
je 0x665e5aca
mov eax, ebx
call sym._sqlite3BtreeEnter.part.88
mov eax, dword [esp + 0x40]
cmp byte [eax + 9], 0
je 0x665e5ad9
call sym._sqlite3BtreeEnter.part.88
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax]
mov dword [esp + 0x30], eax
test ecx, ecx
je 0x665e5bd8
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 4]
mov edi, dword [eax + 0x20]
mov eax, dword [eax + 0x2c]
mov dword [esp + 4], 0xb
mov dword [esp + 0x88], edi
sar edi, 0x1f
mov esi, edi
imul esi, eax
mul dword [esp + 0x88]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x30]
add edx, esi
lea esi, [esp + 0x160]
mov dword [esp + 0x164], edx
mov dword [esp + 8], esi
mov dword [esp], eax
call dword [ecx + 0x28]
cmp eax, 0xc
mov edi, eax
je 0x665e5bd8
test eax, eax
je 0x665e5bd8
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 9], 0
je 0x665e5b74
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x30], eax
sub eax, 1
test eax, eax
mov dword [ecx + 0xc], eax
jne 0x665e5b74
mov eax, ecx
call sym._sqlite3BtreeLeave.part.89
cmp byte [ebx + 9], 0
je 0x665e5b87
sub dword [ebx + 0xc], 1
jne 0x665e5b87
mov eax, ebx
call sym._sqlite3BtreeLeave.part.89
test edi, edi
jne 0x665e0767
mov eax, dword [esp + 0x40]
call sym._sqlite3BtreeCommit
test eax, eax
mov edi, eax
jne 0x665e0767
mov esi, dword [esp + 0x40]
mov eax, esi
call sym._sqlite3BtreeGetAutoVacuum
mov edx, eax
mov eax, ebx
call sym._sqlite3BtreeSetAutoVacuum
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0x84]
mov edx, dword [eax + 0x20]
mov dword [esp], 1
mov eax, ebx
call sym._sqlite3BtreeSetPageSize
mov edi, eax
jmp 0x665e0767
lea edi, [esp + 0x160]
xor eax, eax
mov ecx, 0xc
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x40]
mov eax, dword [edi]
mov dword [esp + 4], 0x7fffffff
mov dword [esp + 0x178], edi
mov dword [esp + 0x164], ebx
mov dword [esp + 0x170], 1
mov dword [esp + 0x174], eax
lea eax, [esp + 0x160]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_backup_step
lea eax, [esp + 0x160]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_backup_finish
test eax, eax
mov edi, eax
jne 0x665e5c4e
mov eax, dword [ebx + 4]
and word [eax + 0x16], 0xfffd
jmp 0x665e5b52
mov edi, eax
jmp 0x665e0767
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test dword [eax + 0xc], 0xff0000ff
jne 0x665e5b52
call sym._pager_reset
jmp 0x665e5b52
mov eax, dword [esp + 0x160]
mov edi, dword [esp + 0x30]
mov ebx, esi
mov dword [esp], eax
call dword [edi + 0x1c]
sub ebp, dword [esp + 0x48]
sar ebp, 2
imul esi, ebp, 0xcccccccd
jmp 0x665dcf44
cmp dword [esp + 0x30], 0
jbe 0x665e49e6
jmp 0x665e45bd
mov esi, dword [eax + 0x9c]
jmp 0x665e1579
mov eax, ebp
sub eax, dword [esp + 0x48]
mov dword [esp + 0x30], 5
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [edi + 0x4c], eax
mov eax, 1
sub eax, ebx
mov byte [esi + 0x3f], al
mov dword [edi + 0x50], 5
jmp 0x665dcfa7
sub dword [ebx + 0xc], 1
je 0x665e5f95
add ebp, 0x14
mov dword [esp + 0x30], 0xb
jmp 0x665e1bb9
cmp esi, 1
jbe 0x665e5f9f
mov eax, dword [esp + 0x30]
cmp byte [eax + 0x11], 0
jne 0x665e5d54
mov eax, dword [esp + 0xf8]
lea edx, [esp + 0xe4]
call sym._freePage.part.478
mov eax, dword [esp + 0xf8]
test eax, eax
je 0x665e5d34
mov eax, dword [eax + 0x44]
call sym._sqlite3PagerUnrefNotNull
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x58], 0
xor esi, esi
mov dword [esp + 0x5c], 0
mov edi, eax
jmp 0x665e5684
lea eax, [esp + 0x118]
mov edx, 4
mov ecx, eax
mov eax, ebx
call sym._sqlite3BtreeGetMeta
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0xf8]
cmp esi, edx
je 0x665e5dbb
test eax, eax
je 0x665e5d8e
mov eax, dword [eax + 0x44]
call sym._sqlite3PagerUnrefNotNull
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x160]
mov dword [esp], 0
call sym._btreeGetPage
test eax, eax
mov dword [esp + 0xe4], eax
je 0x665e5fc4
mov edi, eax
jmp 0x665e2218
mov edx, dword [esp + 0xe4]
test edx, edx
je 0x665e608a
test eax, eax
mov edi, edx
je 0x665e2218
mov eax, dword [eax + 0x44]
call sym._sqlite3PagerUnrefNotNull
mov eax, dword [esp + 0xe4]
test eax, eax
jne 0x665e5db4
mov eax, dword [esp + 0x118]
mov dword [esp + 0x58], 0
xor esi, esi
mov dword [esp + 0x5c], 0
lea edi, [eax - 1]
mov ecx, dword [esp + 0x30]
mov eax, dword [0x66619164]
xor edx, edx
mov byte [esp + 0x60], 0
mov dword [esp + 0x118], edi
div dword [ecx + 0x20]
add eax, 1
mov dword [esp + 0x78], eax
cmp dword [esp + 0x78], edi
je 0x665e5e6d
xor eax, eax
cmp edi, 1
jbe 0x665e5e65
mov ecx, dword [esp + 0x30]
mov eax, 0xcccccccd
mov ecx, dword [ecx + 0x24]
mul ecx
mov dword [esp + 0x84], ecx
lea eax, [edi - 2]
shr edx, 2
lea ecx, [edx + 1]
xor edx, edx
div ecx
mov edx, dword [esp + 0x78]
imul ecx, eax
lea eax, [ecx + 2]
add ecx, 3
cmp eax, edx
cmove eax, ecx
cmp eax, edi
jne 0x665e60aa
sub edi, 1
mov byte [esp + 0x60], 1
jmp 0x665e5e24
mov edx, 2
mov eax, esi
call sym._sqlite3PagerSetJournalMode
jmp 0x665e4dd9
mov dword [esp + 0x30], edi
jmp 0x665e1bb9
mov edi, eax
mov dword [esp + 0x84], 0
jmp 0x665e4788
mov dword [esp + 0x160], 0
movzx eax, byte [esi + 0x11]
test al, al
je 0x665e5f51
cmp al, 5
je 0x665e5f51
lea edi, [esp + 0x160]
mov eax, dword [esi]
mov dword [esp + 8], 0
mov dword [esp + 0xc], edi
mov edx, dword [esi + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], edx
call dword [eax + 0x20]
test eax, eax
mov edi, eax
jne 0x665e4df6
mov edi, dword [esp + 0x160]
test edi, edi
jne 0x665e5f3e
mov ecx, dword [esi + 0xd0]
test ecx, ecx
jne 0x665e571d
jmp 0x665e5767
mov eax, dword [esp + 0xe4]
mov edi, ecx
jmp 0x665e34df
xor ecx, ecx
jmp 0x665e35da
lea edx, [esi + 0xc]
lea eax, [esi + 8]
call sym._vdbeSortAllocUnpacked.isra.146.part.147
test eax, eax
mov edi, eax
jne 0x665e4788
jmp 0x665e40c0
mov eax, esi
call sym._pagerOpenWal
test eax, eax
mov edi, eax
jne 0x665e4df6
jmp 0x665e5efc
mov edx, 1
mov eax, esi
call sym._pagerLockDb.part.35
test eax, eax
mov edi, eax
jne 0x665e4df6
jmp 0x665e5ec2
movzx eax, word [ebx + 8]
mov edx, dword [ebx + 0x10]
jmp 0x665dd403
mov ecx, dword [ebx + 8]
mov edi, 6
jmp 0x665e0686
cmp dword [esp + 0x30], 0xffffffc1
jb 0x665e22f9
jmp 0x665e5578
mov edi, 0xb
jmp 0x665df622
mov eax, dword [esp + 0xf8]
mov edx, 9
call sym._zeroPage
mov eax, dword [esp + 0xf8]
test eax, eax
jne 0x665e5d2c
jmp 0x665e5d34
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x30]
mov ecx, 1
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], 0
call sym._relocatePage
mov edx, dword [esp + 0x160]
mov dword [esp + 0xe4], eax
test edx, edx
je 0x665e600d
mov eax, dword [edx + 0x44]
call sym._sqlite3PagerUnrefNotNull
mov eax, dword [esp + 0xe4]
test eax, eax
jne 0x665e5db4
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x160]
mov dword [esp], 0
mov dword [esp + 0x160], 0
call sym._btreeGetPage
test eax, eax
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x160]
je 0x665e60cb
test ecx, ecx
je 0x665e5db4
mov eax, dword [ecx + 0x44]
call sym._sqlite3PagerUnrefNotNull
mov eax, dword [esp + 0xe4]
test eax, eax
jne 0x665e5db4
mov eax, dword [esp + 0x118]
mov edi, eax
mov esi, eax
mov dword [esp + 0x58], eax
sar edi, 0x1f
mov dword [esp + 0x5c], edi
jmp 0x665e5e00
lea edx, [esp + 0xe4]
call sym._freePage.part.478
mov eax, dword [esp + 0xf8]
test eax, eax
jne 0x665e5dd4
jmp 0x665e5ddc
cmp byte [esp + 0x60], 0
je 0x665e60b8
mov dword [esp + 0x118], edi
mov ecx, edi
mov edx, 4
mov eax, ebx
call sym._sqlite3BtreeUpdateMeta
jmp 0x665e5d4d
lea edx, [esp + 0xe4]
mov eax, ecx
call sym._freePage.part.478
mov ecx, dword [esp + 0x160]
test ecx, ecx
jne 0x665e6058
jmp 0x665e6060