Function at 0x10144928
Capabilities:
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x11c
mov dword [ebp - 0x80], eax
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x8c], eax
mov al, byte [eax + 0x54]
mov byte [ebp - 0x95], al
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x80]
call sym._sqlite3VdbeEnter
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xd8], 0xffffffff
mov dword [ebp - 0xd4], 0xffffffff
cmp dword [eax + 0x170], 0
je 0x101449ae
mov ecx, dword [eax + 0x178]
mov eax, dword [ebp - 0x80]
xor edx, edx
xor esi, esi
mov dword [ebp - 0xd4], esi
mov eax, dword [eax + 0xb4]
div ecx
sub ecx, edx
mov dword [ebp - 0xd8], ecx
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x24], 7
je 0x1014b76b
xor ecx, ecx
xor ebx, ebx
mov dword [eax + 0x24], ecx
mov dword [eax + 0x38], ecx
mov dword [eax + 0x3c], ecx
mov dword [eax + 0x78], ecx
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0x1c4], ebx
add eax, 0x128
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x128]
test eax, eax
jne 0x1014b54e
mov eax, dword [ebp - 0x80]
mov edi, dword [ebp - 0x94]
xor edx, edx
mov byte [ebp - 0xa5], 0
mov dword [ebp - 0x88], edx
imul eax, dword [eax + 0x20], 0x14
add eax, edi
mov dword [ebp - 0x7c], eax
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x7c]
add dword [ebp - 0xc8], 1
adc dword [ebp - 0xc4], 0
mov bl, byte [eax]
cmp bl, 0xb5
ja case.0x10144a50.89
movzx eax, bl
mov dword [ebp - 0xb0], eax
jmp dword [eax*4 + 0x101fa21c]
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x94]
imul edx, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add edx, eax
mov eax, dword [ebp - 0x7c]
mov word [edx + 0x10], 4
sub eax, edi
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [edx], eax
sar eax, 0x1f
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x94]
imul eax, dword [eax + 8], 0x14
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax]
test eax, eax
jne 0x1014b578
mov eax, dword [ebp - 0xd8]
cmp dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc4]
sbb eax, dword [ebp - 0xd4]
jb case.0x10144a50.89
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x170]
test eax, eax
je case.0x10144a50.89
mov edi, dword [ebp - 0x8c]
xor ebx, ebx
mov edx, dword [edi + 0x174]
mov ecx, dword [edi + 0x178]
add dword [ebp - 0xd8], ecx
adc dword [ebp - 0xd4], ebx
mov dword [esp], edx
call eax
test eax, eax
je 0x10144aac
mov dword [ebp - 0xd8], 0xffffffff
mov dword [ebp - 0xd4], 0xffffffff
mov dword [ebp - 0x88], 9
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
add eax, edi
test byte [eax + 0x10], 4
je case.0x10144a50.89
imul eax, dword [eax], 0x14
mov edi, dword [ebp - 0x94]
add eax, edi
mov dword [ebp - 0x7c], eax
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul edx, dword [eax + 4], 0x28
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xa0], eax
dec eax
mov dword [edi + edx], eax
sar eax, 0x1f
mov dword [edi + edx + 4], eax
mov eax, dword [ebp - 0x7c]
mov word [edi + edx + 0x10], 4
cmp dword [eax + 8], 0
je case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x94]
imul eax, dword [eax + 8], 0x14
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0x7c], eax
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
add eax, edi
mov edi, dword [ebp - 0x94]
imul edx, dword [eax], 0x14
imul edx, dword [edi + edx + 8], 0x14
mov word [eax + 0x10], 0
lea edi, [edi + edx - 0x14]
mov dword [ebp - 0x7c], edi
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
mov edx, dword [ebp - 0x7c]
imul eax, dword [eax + 4], 0x28
add eax, edi
mov edi, dword [ebp - 0x94]
mov ecx, dword [eax]
mov word [eax + 0x10], 4
sub edx, edi
mov edi, dword [ebp - 0x94]
sar edx, 2
imul edx, edx, 0xcccccccd
mov dword [eax], edx
sar edx, 0x1f
mov dword [eax + 4], edx
imul eax, ecx, 0x14
add eax, edi
mov dword [ebp - 0x7c], eax
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 0xc], 0x28
test byte [edi + eax + 0x10], 1
je case.0x10144a50.89
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0xd0]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
test edx, edx
je 0x10144cc3
test eax, eax
jne 0x10144caf
mov eax, dword [edx + 4]
mov edi, dword [ebp - 0x80]
mov ecx, dword [edi + 0x28]
mov ebx, dword [edi + 0x2c]
mov dword [edi + 0xd0], eax
mov eax, dword [ebp - 0x8c]
dec dword [edi + 0xd8]
add dword [eax + 0x70], ecx
adc dword [eax + 0x74], ebx
mov dword [eax + 0x68], ecx
mov dword [eax + 0x6c], ebx
mov eax, edx
call sym._sqlite3VdbeFrameRestore
mov edi, dword [ebp - 0x7c]
cmp dword [edi + 8], 4
mov edi, dword [ebp - 0x80]
mov edx, dword [edi + 0x68]
jne 0x10144c90
imul eax, eax, 0x14
mov eax, dword [edx + eax + 8]
dec eax
imul eax, eax, 0x14
mov edi, dword [ebp - 0x80]
mov dword [ebp - 0x94], edx
mov edi, dword [edi + 0x58]
add eax, edx
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x7c], eax
jmp case.0x10144a50.89
mov edi, dword [ebp - 0x80]
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 8]
mov byte [edi + 0x92], al
jmp 0x10144ce0
mov edi, dword [ebp - 0x80]
mov dword [edi + 0x24], eax
mov edi, dword [ebp - 0x7c]
mov edx, dword [edi + 8]
mov edi, dword [ebp - 0x80]
mov byte [edi + 0x92], dl
test eax, eax
je 0x10144da2
mov eax, dword [ebp - 0x7c]
movzx eax, word [eax + 2]
test ax, ax
je 0x10144d40
mov eax, dword [eax*4 + 0x101ff640]
mov dword [esp + 4], str._s_constraint_failed
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x10144d5d
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x7c]
mov dword [esp + 4], str._z:__s
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call sym._sqlite3MPrintf
mov edi, dword [ebp - 0x80]
mov dword [edi + 0x7c], eax
jmp 0x10144d5d
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], 0x101f7757
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0xc8]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x94]
mov dword [esp + 4], str.abort_at__d_in___s_:__s
sub eax, edi
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
mov dword [esp], eax
call sym._sqlite3_log
mov eax, dword [ebp - 0x80]
call sym._sqlite3VdbeHalt
mov edi, eax
mov eax, dword [ebp - 0x80]
cmp edi, 5
jne 0x10147459
jmp 0x1014743f
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov edi, dword [ebp - 0x7c]
mov edx, dword [edi + 4]
mov dword [eax], edx
sar edx, 0x1f
mov dword [eax + 4], edx
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov edi, dword [ebp - 0x7c]
mov edx, dword [edi + 0x10]
mov ecx, dword [edx]
mov ebx, dword [edx + 4]
mov dword [eax], ecx
mov dword [eax + 4], ebx
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov edi, dword [ebp - 0x7c]
mov word [eax + 0x10], 8
mov edx, dword [edi + 0x10]
fld qword [edx]
fstp qword [eax]
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov ebx, eax
mov eax, dword [ebp - 0x7c]
mov esi, dword [eax + 0x10]
mov eax, esi
call sym._sqlite3Strlen30
mov edi, dword [ebp - 0x7c]
cmp byte [ebp - 0x95], 1
mov dword [edi + 4], eax
je 0x10144ee9
xor eax, eax
mov dword [esp + 8], 1
mov edx, esi
mov dword [esp + 0xc], eax
mov eax, ebx
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0xffffffff
call sym._sqlite3VdbeMemSetStr
test eax, eax
jne 0x1014b749
movzx edx, byte [ebp - 0x95]
mov eax, ebx
call sym._sqlite3VdbeChangeEncoding
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b789
xor eax, eax
or word [ebx + 0x10], 0x2000
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x7c]
cmp byte [eax + 1], 0xfa
jne 0x10144ed3
mov eax, dword [eax + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call sym._sqlite3DbFree
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x7c]
mov byte [eax + 1], 0xfa
mov eax, dword [ebx + 8]
mov dword [edi + 0x10], eax
mov eax, dword [ebx + 0xc]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x7c]
mov edi, dword [edi + 0x78]
cmp dword [eax + 4], edi
jg 0x1014b749
mov byte [eax], 0x49
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov edi, dword [ebp - 0x7c]
mov cl, byte [ebp - 0x95]
mov word [eax + 0x10], 0x2202
mov edx, dword [edi + 0x10]
mov dword [eax + 8], edx
mov edx, dword [edi + 4]
mov byte [eax + 0x12], cl
mov dword [eax + 0xc], edx
mov edx, dword [edi + 0xc]
test edx, edx
jle case.0x10144a50.89
imul edx, edx, 0x28
mov edi, dword [ebp - 0x90]
add edx, edi
mov edi, dword [ebp - 0x7c]
cmp dword [edx + 4], 0
movzx ecx, word [edi + 2]
jne case.0x10144a50.89
cmp dword [edx], ecx
jne case.0x10144a50.89
mov word [eax + 0x10], 0x2210
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov ebx, eax
mov eax, dword [ebp - 0x7c]
mov edi, dword [eax + 0xc]
sub edi, dword [eax + 8]
cmp dword [eax + 4], 1
sbb esi, esi
xor eax, eax
and si, 0xff00
mov dword [ebx + 0xc], eax
add si, 0x101
mov word [ebx + 0x10], si
test edi, edi
jle case.0x10144a50.89
add ebx, 0x28
dec edi
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
xor eax, eax
mov word [ebx + 0x10], si
mov dword [ebx + 0xc], eax
jmp 0x10144f9f
mov eax, dword [ebp - 0x7c]
imul edx, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add edx, eax
mov eax, dword [edx + 0x10]
and eax, 0xffffffc0
or eax, 1
mov word [edx + 0x10], ax
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov ebx, eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 0x10]
test edx, edx
jne 0x10145015
mov edx, dword [eax + 4]
mov eax, ebx
call sym._sqlite3VdbeMemSetZeroBlob
mov eax, ebx
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
je 0x10145036
jmp 0x1014b789
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov eax, ebx
call sym._sqlite3VdbeMemSetStr
mov al, byte [ebp - 0x95]
mov byte [ebx + 0x12], al
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x80]
imul eax, dword [eax + 4], 0x28
mov edx, dword [edi + 0x64]
lea esi, [edx + eax - 0x28]
mov eax, esi
call sym._sqlite3VdbeMemTooBig
test eax, eax
jne 0x1014b749
mov eax, dword [ebp - 0x7c]
imul ebx, dword [eax + 8], 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
test word [ebx + 0x10], 0x9000
je 0x10145082
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
mov ecx, 5
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x10]
and ah, 0xaf
or ax, 0x2040
mov word [ebx + 0x10], ax
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x7c]
imul ebx, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
mov eax, dword [ebp - 0x7c]
imul eax, dword [eax + 8], 0x28
add eax, edi
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
mov esi, ebx
call sym._sqlite3VdbeMemRelease
mov edi, dword [ebp - 0xa0]
mov ecx, 0xa
xor edx, edx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xa0]
mov word [ebx + 0x10], 1
mov dword [ebx + 0x18], edx
test byte [eax + 0x11], 0x40
jne 0x10145116
add dword [ebp - 0xa0], 0x28
add ebx, 0x28
dec dword [ebp - 0xb0]
jne 0x101450ce
jmp case.0x10144a50.89
mov eax, dword [ebp - 0xa0]
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x101450ff
jmp 0x1014b789
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
add edi, eax
mov eax, dword [ebp - 0x7c]
imul ebx, dword [eax + 8], 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
mov eax, dword [ebp - 0x7c]
mov esi, dword [eax + 0xc]
mov ecx, 0x4000
mov edx, edi
mov eax, ebx
call sym._sqlite3VdbeMemShallowCopy
test byte [ebx + 0x11], 0x40
jne 0x1014516c
mov eax, dword [ebx + 0x10]
test ah, 8
jne 0x1014517c
jmp 0x1014518c
mov eax, ebx
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x10145162
jmp 0x1014b789
mov ecx, dword [ebp - 0x7c]
test byte [ecx + 2], 2
je 0x1014518c
and ah, 0xf7
mov word [ebx + 0x10], ax
test esi, esi
je case.0x10144a50.89
add ebx, 0x28
add edi, 0x28
dec esi
jmp 0x1014514e
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
mov ecx, 0x4000
imul edx, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add edx, eax
mov eax, dword [ebp - 0x7c]
imul eax, dword [eax + 8], 0x28
add eax, edi
call sym._sqlite3VdbeMemShallowCopy
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
mov edx, dword [edi + eax]
mov ecx, dword [edi + eax + 4]
mov eax, dword [ebp - 0x7c]
imul eax, dword [eax + 8], 0x28
add eax, edi
call sym._sqlite3VdbeMemSetInt64
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x80]
xor edx, edx
call sym._sqlite3VdbeCheckFk
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1014893a
jmp 0x1014b58e
mov eax, dword [ebp - 0x80]
mov edi, dword [ebp - 0x80]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x88], eax
add eax, 2
or eax, 1
mov dword [edi + 0x1c], eax
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
add edi, eax
mov eax, edi
mov edi, dword [ebp - 0x80]
mov dword [edi + 0x78], eax
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x57], 0
jne 0x1014b789
test byte [eax + 0x5e], 4
je 0x10145280
xor eax, eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xdc]
mov dword [esp], 4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8c]
call dword [eax + 0xd8]
mov edi, dword [ebp - 0x94]
mov eax, dword [ebp - 0x7c]
sub eax, edi
mov edi, dword [ebp - 0x80]
sar eax, 2
imul eax, eax, 0xcccccccd
inc eax
mov dword [edi + 0x20], eax
mov edi, 0x64
jmp 0x1014b6cb
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
add eax, edi
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x7c]
imul ebx, dword [eax + 8], 0x28
mov eax, edi
add eax, ebx
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x7c]
imul eax, dword [eax + 0xc], 0x28
lea ebx, [edi + eax]
mov eax, dword [ebp - 0xb0]
mov edi, dword [ebp - 0xa0]
mov eax, dword [eax + 0x10]
mov word [ebp - 0xc0], ax
or eax, dword [edi + 0x10]
test al, 1
je 0x101452fe
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
jmp case.0x10144a50.89
test byte [ebp - 0xc0], 0x12
jne 0x1014531d
movzx edx, byte [ebp - 0x95]
mov eax, dword [ebp - 0xb0]
xor ecx, ecx
call sym._sqlite3VdbeMemStringify
jmp 0x10145333
test word [ebp - 0xc0], 0x400
je 0x10145355
mov eax, dword [ebp - 0xb0]
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
jne 0x1014b789
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x10]
mov word [ebp - 0xb8], ax
and eax, 0xfffffffd
mov word [ebp - 0xc0], ax
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax + 0x10]
mov word [ebp - 0xd0], ax
test al, 0x12
jne 0x1014537f
movzx edx, byte [ebp - 0x95]
mov eax, dword [ebp - 0xa0]
xor ecx, ecx
call sym._sqlite3VdbeMemStringify
jmp 0x10145395
test word [ebp - 0xd0], 0x400
je 0x101453b7
mov eax, dword [ebp - 0xa0]
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
jne 0x1014b789
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax + 0x10]
mov word [ebp - 0xb8], ax
and eax, 0xfffffffd
mov word [ebp - 0xd0], ax
mov edi, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax + 0xc]
add eax, dword [edi + 0xc]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0xb8]
cmp edi, dword [eax + 0x78]
jg 0x1014b749
xor ecx, ecx
cmp dword [ebp - 0xa0], ebx
lea edx, [edi + 2]
mov eax, ebx
sete cl
call sym._sqlite3VdbeMemGrow
test eax, eax
jne 0x1014b789
mov eax, dword [ebx + 0x10]
and ax, 0xf240
or eax, 2
mov word [ebx + 0x10], ax
cmp dword [ebp - 0xa0], ebx
je 0x10145432
mov eax, dword [ebp - 0xa0]
mov edi, dword [ebx + 8]
mov esi, dword [eax + 8]
mov ecx, dword [eax + 0xc]
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xd0]
mov word [eax + 0x10], di
mov eax, dword [ebp - 0xa0]
mov edi, dword [ebp - 0xb0]
mov eax, dword [eax + 0xc]
add eax, dword [ebx + 8]
mov esi, dword [edi + 8]
mov ecx, dword [edi + 0xc]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0xb0]
mov edi, dword [ebp - 0xc0]
cmp byte [ebp - 0x95], 1
mov word [eax + 0x10], di
jbe 0x1014546e
and dword [ebp - 0xb8], 0xfffffffe
mov eax, dword [ebx + 8]
mov edi, dword [ebp - 0xb8]
mov byte [eax + edi], 0
mov eax, dword [ebx + 8]
mov byte [eax + edi + 1], 0
mov al, byte [ebp - 0x95]
or word [ebx + 0x10], 0x200
mov dword [ebx + 0xc], edi
mov byte [ebx + 0x12], al
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
add eax, edi
mov dword [ebp - 0xb8], eax
call sym._numericType
mov edi, dword [ebp - 0x90]
mov ebx, eax
mov eax, dword [ebp - 0x7c]
imul eax, dword [eax + 8], 0x28
add eax, edi
mov dword [ebp - 0xc0], eax
call sym._numericType
mov edi, dword [ebp - 0x90]
mov ecx, eax
mov eax, dword [ebp - 0x7c]
and ebx, ecx
imul eax, dword [eax + 0xc], 0x28
add eax, edi
mov edi, dword [ebp - 0xc0]
and bl, 4
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb8]
mov edx, dword [edi + 0x10]
mov eax, dword [eax + 0x10]
je 0x101457d9
mov eax, dword [ebp - 0xb8]
mov esi, dword [edi]
mov edi, dword [edi + 4]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x9c], edx
mov al, byte [eax]
cmp al, 0x6c
je 0x10145571
ja 0x10145549
cmp al, 0x6a
je 0x10145556
cmp al, 0x6b
jne 0x1014575e
mov eax, esi
mov edx, edi
sub eax, dword [ebp - 0xa0]
sbb edx, dword [ebp - 0x9c]
jmp 0x10145566
cmp al, 0x6d
je 0x10145707
jmp 0x1014575e
mov eax, esi
mov edx, edi
add eax, dword [ebp - 0xa0]
adc edx, dword [ebp - 0x9c]
jno 0x101457b4
jmp 0x101457e3
mov eax, dword [ebp - 0x9c]
mov edx, esi
mov dword [ebp - 0xe8], edi
sar edx, 0x1f
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xd0]
sar eax, 0x1f
cmp edx, edi
jne 0x101455e4
cmp eax, ecx
jne 0x101455b8
mov eax, esi
imul dword [ebp - 0xa0]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], edx
jmp 0x101456f6
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xd0], esi
jmp 0x10145604
cmp eax, ecx
jne 0x10145675
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xf8], esi
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0xd0], eax
mov eax, esi
mul dword [ebp - 0xa0]
mov ecx, eax
mov ebx, edx
mov eax, dword [ebp - 0xd0]
mul dword [ebp - 0xe8]
cmp dword [ebp - 0xe8], 0
mov esi, eax
mov edi, edx
jns 0x1014563a
mov eax, dword [ebp - 0xd0]
mov edx, eax
mov eax, 0
sub esi, eax
sbb edi, edx
cmp dword [ebp - 0xd0], 0
jns 0x1014564f
sub esi, dword [ebp - 0xf8]
sbb edi, dword [ebp - 0xf4]
mov eax, ebx
xor edx, edx
add eax, esi
adc edx, edi
mov edi, eax
sar edi, 0x1f
cmp edi, edx
jne 0x101457e3
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe0], ecx
jmp 0x101456f6
mov eax, dword [ebp - 0xa0]
mov edx, edi
imul edx, eax
mov eax, dword [ebp - 0x9c]
imul eax, esi
lea ebx, [edx + eax]
mov eax, esi
mul dword [ebp - 0xa0]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe8]
add edx, ebx
mov dword [ebp - 0xdc], edx
inc eax
cmp eax, 1
ja 0x101457e3
mov eax, dword [ebp - 0xd0]
inc eax
cmp eax, 1
ja 0x101457e3
mov edi, dword [ebp - 0xd0]
cmp dword [ebp - 0xe8], edi
jne 0x101456e9
mov edi, dword [ebp - 0xe0]
xor eax, eax
cmp eax, edi
mov edi, dword [ebp - 0xdc]
sbb eax, edi
jl 0x101456f6
jmp 0x101457e3
cmp dword [ebp - 0xdc], 0
jns 0x101457e3
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xdc]
jmp 0x101457b4
mov eax, dword [ebp - 0x9c]
or eax, dword [ebp - 0xa0]
je 0x101458e4
mov edx, edi
mov eax, esi
add edx, 0x80000000
or eax, edx
jne 0x1014573c
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
and eax, ecx
inc eax
je 0x101457e3
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x9c]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call sym.___divdi3
jmp 0x101457b4
mov eax, dword [ebp - 0x9c]
or eax, dword [ebp - 0xa0]
je 0x101458e4
cmp dword [ebp - 0x9c], 0xffffffff
jne 0x10145794
cmp dword [ebp - 0xa0], 0xffffffff
jne 0x10145794
mov dword [ebp - 0xa0], 1
xor eax, eax
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x9c]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call sym.___moddi3
mov edi, dword [ebp - 0xb0]
mov dword [edi], eax
mov eax, dword [edi + 0x10]
mov dword [edi + 4], edx
mov word [ebp - 0xa0], ax
and ax, 0xf240
or eax, 4
mov word [edi + 0x10], ax
jmp case.0x10144a50.89
or eax, edx
test al, 1
jne 0x101458e4
mov eax, dword [ebp - 0xb8]
call sym._sqlite3VdbeRealValue
mov eax, dword [ebp - 0xc0]
fstp qword [ebp - 0xa0]
call sym._sqlite3VdbeRealValue
mov eax, dword [ebp - 0x7c]
fld qword [ebp - 0xa0]
mov al, byte [eax]
cmp al, 0x6c
je 0x1014582d
ja 0x1014581f
cmp al, 0x6a
je 0x10145829
cmp al, 0x6b
jne 0x10145845
fsubp st(1)
jmp 0x101458a0
cmp al, 0x6d
je 0x10145831
fstp st(0)
fstp st(0)
jmp 0x10145849
faddp st(1)
jmp 0x101458a0
fmulp st(1)
jmp 0x101458a0
fldz
fxch st(1)
fucomi st(1)
fstp st(1)
jp 0x10145841
je 0x101458e0
fdivp st(1)
jmp 0x101458a0
fstp st(0)
fstp st(0)
mov eax, dword [ebp - 0xb8]
call sym._sqlite3VdbeIntValue
mov esi, eax
mov ebx, edx
mov eax, dword [ebp - 0xc0]
mov edi, ebx
call sym._sqlite3VdbeIntValue
or edi, esi
je 0x101458e4
cmp ebx, 0xffffffff
jne 0x1014587a
cmp esi, 0xffffffff
jne 0x1014587a
mov esi, 1
xor ebx, ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.___moddi3
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edx
fild qword [ebp - 0xa0]
fst qword [esp]
fstp qword [ebp - 0xa0]
call sym._sqlite3IsNaN
test eax, eax
jne 0x101458e4
fld qword [ebp - 0xa0]
mov eax, dword [ebp - 0xb0]
mov edi, dword [ebp - 0xb0]
fstp qword [eax]
mov eax, dword [eax + 0x10]
mov word [ebp - 0xa0], ax
and ax, 0xf240
or eax, 8
mov word [edi + 0x10], ax
jmp case.0x10144a50.89
fstp st(0)
fstp st(0)
mov eax, dword [ebp - 0xb0]
call sym._sqlite3VdbeMemSetNull
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
test eax, eax
je case.0x10144a50.89
imul eax, eax, 0x28
mov edi, dword [ebp - 0x90]
xor edx, edx
xor ecx, ecx
add eax, edi
call sym._sqlite3VdbeMemSetInt64
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul ecx, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add ecx, eax
mov eax, dword [ebp - 0x7c]
imul eax, dword [eax + 8], 0x28
add eax, edi
mov edi, dword [ebp - 0x7c]
imul edx, dword [edi + 0xc], 0x28
mov edi, dword [ebp - 0x90]
add edi, edx
mov edx, dword [ecx + 0x10]
or edx, dword [eax + 0x10]
and dl, 1
mov dword [ebp - 0xa0], edi
je 0x10145965
mov eax, edi
call sym._sqlite3VdbeMemSetNull
jmp case.0x10144a50.89
mov dword [ebp - 0xb0], ecx
call sym._sqlite3VdbeIntValue
mov esi, eax
mov eax, dword [ebp - 0xb0]
mov edi, edx
call sym._sqlite3VdbeIntValue
cmp bl, 0x66
jne 0x1014598d
and esi, eax
and edi, edx
jmp 0x10145a3e
cmp bl, 0x67
jne 0x1014599b
or esi, eax
or edi, edx
jmp 0x10145a3e
mov ecx, edx
or ecx, eax
je 0x10145a3e
test edx, edx
jns 0x101459bd
mov cl, 0xd1
sub ecx, ebx
cmp eax, 0xffffffc1
mov ebx, ecx
mov ecx, edx
sbb ecx, 0xffffffff
jl 0x101459cd
neg eax
jmp 0x101459e8
mov ecx, 0x3f
cmp ecx, eax
mov ecx, 0
sbb ecx, edx
jge 0x101459e8
mov edx, edi
xor eax, eax
not edx
shr edx, 0x1f
cmp bl, 0x68
sete al
or eax, edx
xor edx, edx
add eax, 0xffffffff
adc edx, 0xffffffff
jmp 0x10145a3a
mov ecx, eax
mov edx, edi
mov eax, esi
cmp bl, 0x68
jne 0x10145a05
shl eax, cl
shld edx, esi, cl
xor edi, edi
and cl, 0x20
cmovne edx, eax
cmovne eax, edi
jmp 0x10145a3a
shr edx, cl
shrd eax, edi, cl
xor esi, esi
test cl, 0x20
cmovne eax, edx
cmovne edx, esi
test edi, edi
jns 0x10145a3a
mov ebx, 0x40
mov esi, 0xffffffff
sub ebx, ecx
mov edi, esi
mov ecx, ebx
xor ebx, ebx
shl esi, cl
and cl, 0x20
cmovne edi, esi
cmovne esi, ebx
or edx, edi
or eax, esi
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0xa0]
mov dword [eax + 4], edi
mov edi, dword [ebp - 0xa0]
mov dword [eax], esi
mov eax, dword [eax + 0x10]
mov word [ebp - 0xb0], ax
and ax, 0xf240
or eax, 4
mov word [edi + 0x10], ax
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
imul ebx, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
mov eax, ebx
call sym._sqlite3VdbeMemIntegerify.isra.0
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 8]
cdq
add dword [ebx], eax
adc dword [ebx + 4], edx
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
imul ebx, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
test byte [ebx + 0x10], 4
jne 0x10145ada
movzx ecx, byte [ebp - 0x95]
mov edx, 0x43
mov eax, ebx
call sym._applyAffinity
test byte [ebx + 0x10], 4
jne 0x10145ada
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 8], 0
jne 0x10144b8b
mov dword [ebp - 0x88], 0x14
jmp 0x1014b58e
mov eax, dword [ebx + 0x10]
and ax, 0xf240
or eax, 4
mov word [ebx + 0x10], ax
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
add eax, edi
test byte [eax + 0x10], 0x24
je case.0x10144a50.89
call sym._sqlite3VdbeMemRealify.isra.0
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
imul ebx, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
test byte [ebx + 0x11], 4
jne 0x10145b4d
mov eax, dword [ebp - 0x7c]
movzx ecx, byte [ebp - 0x95]
movzx edx, byte [eax + 8]
mov eax, ebx
call sym._sqlite3VdbeMemCast
mov dword [ebp - 0x88], eax
test eax, eax
je case.0x10144a50.89
jmp 0x1014b58e
mov eax, ebx
call sym._sqlite3VdbeMemExpandBlob
mov dword [ebp - 0x88], eax
test eax, eax
je 0x10145b25
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
mov esi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
add edi, eax
mov eax, dword [ebp - 0x7c]
imul eax, dword [eax + 0xc], 0x28
add esi, eax
mov eax, dword [edi + 0x10]
mov ebx, dword [esi + 0x10]
mov edx, eax
mov word [ebp - 0xa0], ax
and edx, ebx
test dl, 4
je 0x10145c0d
mov ecx, dword [edi]
mov ebx, dword [esi]
mov edx, dword [edi + 4]
mov eax, dword [esi + 4]
cmp ecx, ebx
mov edi, edx
sbb edi, eax
jge 0x10145bcb
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x102005d8], 0
jne 0x10144b8b
mov dword [ebp - 0xa4], 1
jmp case.0x10144a50.89
cmp ebx, ecx
sbb eax, edx
mov eax, dword [ebp - 0xb0]
jge 0x10145bf3
cmp byte [eax + 0x102005cc], 0
jne 0x10144b8b
mov dword [ebp - 0xa4], 0xffffffff
jmp case.0x10144a50.89
cmp byte [eax + 0x102005d2], 0
jne 0x10144b8b
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
jmp case.0x10144a50.89
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x7c]
or ecx, ebx
mov ax, word [eax + 2]
test cl, 1
je 0x10145c62
test al, 0x80
je 0x10145c4b
and dl, 1
je 0x10145c33
test bh, 1
je 0x10145d53
test bl, 1
jne 0x10145d38
mov dword [ebp - 0xa4], 1
jmp 0x10145d6a
test al, 0x10
jne 0x10144b8b
mov dword [ebp - 0xa4], 1
jmp case.0x10144a50.89
and eax, 0x47
cmp al, 0x42
jle 0x10145ca7
and cl, 2
je 0x10145d1d
mov eax, dword [ebp - 0xa0]
and eax, 0x2e
cmp ax, 2
jne 0x10145c8d
xor edx, edx
mov eax, edi
call sym._applyNumericAffinity
mov ebx, dword [esi + 0x10]
mov eax, ebx
and eax, 0x2e
cmp ax, 2
jne 0x10145d1d
xor edx, edx
mov eax, esi
call sym._applyNumericAffinity
jmp 0x10145d1d
jne 0x10145d1d
test byte [ebp - 0xa0], 2
jne 0x10145cf2
test byte [ebp - 0xa0], 0x2c
je 0x10145cf2
movzx edx, byte [ebp - 0x95]
mov ecx, 1
mov eax, edi
call sym._sqlite3VdbeMemStringify
mov edx, dword [ebp - 0xa0]
mov eax, dword [edi + 0x10]
and dx, 0xdbf
and ax, 0xf240
or eax, edx
mov word [ebp - 0xa0], ax
cmp edi, esi
jne 0x10145cf2
mov ebx, eax
or ebx, 2
test bl, 2
jne 0x10145d1d
test bl, 0x2c
je 0x10145d1d
movzx edx, byte [ebp - 0x95]
mov ecx, 1
mov eax, esi
and bx, 0xdbf
call sym._sqlite3VdbeMemStringify
mov eax, dword [esi + 0x10]
and ax, 0xf240
or ebx, eax
mov eax, dword [ebp - 0x7c]
mov edx, edi
mov ecx, dword [eax + 0x10]
mov eax, esi
call sym._sqlite3MemCompare
mov dword [ebp - 0xa4], eax
test eax, eax
jns 0x10145d51
jmp 0x10145d42
mov dword [ebp - 0xa4], 0xffffffff
mov eax, dword [ebp - 0x7c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x102005cc]
jmp 0x10145d77
jne 0x10145d6a
mov eax, dword [ebp - 0x7c]
xor edx, edx
mov dword [ebp - 0xa4], edx
movzx eax, byte [eax]
movzx eax, byte [eax + 0x102005d2]
jmp 0x10145d77
mov eax, dword [ebp - 0x7c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x102005d8]
mov word [esi + 0x10], bx
mov esi, dword [ebp - 0xa0]
mov word [edi + 0x10], si
jmp 0x101460b1
cmp dword [ebp - 0xa4], 0
jmp 0x10149fca
mov eax, dword [ebp - 0x7c]
xor esi, esi
test byte [eax + 2], 1
je 0x10145dad
mov eax, dword [eax - 4]
mov dword [ebp - 0xa0], eax
lea esi, [eax + 4]
mov eax, dword [ebp - 0x7c]
xor ebx, ebx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x7c]
mov edi, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 8]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xc0]
cmp ebx, eax
jge case.0x10144a50.89
mov eax, ebx
test esi, esi
je 0x10145ded
mov eax, dword [esi + ebx*4]
mov edx, dword [edi + 0x10]
mov cl, byte [edx + ebx]
mov byte [ebp - 0xb8], cl
mov ecx, dword [ebp - 0xe8]
lea edx, [ecx + eax]
mov ecx, dword [ebp - 0x90]
imul edx, edx, 0x28
add ecx, edx
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xa0]
add eax, ecx
mov ecx, dword [ebp - 0x90]
imul eax, eax, 0x28
add eax, ecx
mov ecx, dword [edi + ebx*4 + 0x14]
mov dword [ebp - 0xb0], eax
call sym._sqlite3MemCompare
mov dword [ebp - 0xa4], eax
test eax, eax
je 0x10145e84
mov eax, dword [edi + 0x10]
test byte [eax + ebx], 2
je 0x10145e6c
mov eax, dword [ebp - 0xb0]
test byte [eax + 0x10], 1
jne 0x10145e66
mov eax, dword [ebp - 0xa0]
test byte [eax + 0x10], 1
je 0x10145e6c
neg dword [ebp - 0xa4]
test byte [ebp - 0xb8], 1
je case.0x10144a50.89
neg dword [ebp - 0xa4]
jmp case.0x10144a50.89
inc ebx
jmp 0x10145dd6
cmp dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0x7c]
jns 0x10145eac
imul eax, dword [eax + 4], 0x14
mov edi, dword [ebp - 0x94]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0x7c], eax
jmp case.0x10144a50.89
jne 0x10145ec4
imul eax, dword [eax + 8], 0x14
mov edi, dword [ebp - 0x94]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0x7c], eax
jmp case.0x10144a50.89
imul eax, dword [eax + 0xc], 0x14
mov edi, dword [ebp - 0x94]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0x7c], eax
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
mov edx, 2
imul eax, dword [eax + 4], 0x28
add eax, edi
call sym._sqlite3VdbeBooleanValue
mov edi, dword [ebp - 0x90]
mov edx, 2
mov esi, eax
mov eax, dword [ebp - 0x7c]
lea esi, [esi + esi*2]
imul eax, dword [eax + 8], 0x28
add eax, edi
call sym._sqlite3VdbeBooleanValue
cmp bl, 0x2c
jne 0x10145f20
movzx ecx, byte [eax + esi + 0x101ff180]
jmp 0x10145f28
movzx ecx, byte [eax + esi + 0x101ffbe4]
mov eax, dword [ebp - 0x7c]
imul edx, dword [eax + 0xc], 0x28
mov eax, dword [ebp - 0x90]
add edx, eax
mov eax, dword [edx + 0x10]
and ax, 0xf240
cmp ecx, 2
jne 0x10145f4f
or eax, 1
mov word [edx + 0x10], ax
jmp case.0x10144a50.89
mov dword [edx], ecx
or eax, 4
sar ecx, 0x1f
mov dword [edx + 4], ecx
mov word [edx + 0x10], ax
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
mov edx, dword [eax + 0xc]
imul eax, dword [eax + 4], 0x28
add eax, edi
call sym._sqlite3VdbeBooleanValue
mov edi, dword [ebp - 0x7c]
xor eax, dword [edi + 0x10]
mov edx, eax
mov ecx, eax
imul eax, dword [edi + 8], 0x28
mov edi, dword [ebp - 0x90]
sar ecx, 0x1f
add eax, edi
call sym._sqlite3VdbeMemSetInt64
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
add eax, edi
mov edi, dword [ebp - 0x7c]
imul ebx, dword [edi + 8], 0x28
mov edi, dword [ebp - 0x90]
add ebx, edi
test byte [eax + 0x10], 1
jne 0x10145fdd
xor edx, edx
call sym._sqlite3VdbeBooleanValue
xor edx, edx
test eax, eax
mov eax, ebx
sete dl
xor ecx, ecx
call sym._sqlite3VdbeMemSetInt64
jmp case.0x10144a50.89
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
imul ebx, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
mov eax, dword [ebp - 0x7c]
imul esi, dword [eax + 8], 0x28
mov eax, dword [ebp - 0x90]
add esi, eax
mov eax, esi
call sym._sqlite3VdbeMemSetNull
test byte [ebx + 0x10], 1
jne case.0x10144a50.89
mov word [esi + 0x10], 4
mov eax, ebx
call sym._sqlite3VdbeIntValue
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x80]
mov ebx, dword [eax + 0xd0]
mov eax, dword [eax + 0x68]
test ebx, ebx
je 0x10146077
mov ecx, dword [ebp - 0x7c]
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xcccccccd
mov edx, ecx
and ecx, 7
shr edx, 3
add edx, dword [ebx + 0x18]
movzx ebx, byte [edx]
bt ebx, ecx
mov eax, ebx
jb 0x10144b8b
mov ebx, 1
shl ebx, cl
or eax, ebx
mov byte [edx], al
jmp 0x10146086
mov edi, dword [ebp - 0x7c]
mov edi, dword [edi + 4]
cmp dword [eax + 4], edi
je 0x10144b8b
mov eax, dword [ebp - 0x80]
mov edi, dword [ebp - 0x7c]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 4]
mov dword [edi + 4], eax
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
mov edx, dword [eax + 0xc]
imul eax, dword [eax + 4], 0x28
add eax, edi
call sym._sqlite3VdbeBooleanValue
test eax, eax
jmp 0x10144b85
mov eax, dword [ebp - 0x7c]
xor edx, edx
mov edi, dword [ebp - 0x90]
cmp dword [eax + 0xc], 0
sete dl
imul eax, dword [eax + 4], 0x28
add eax, edi
call sym._sqlite3VdbeBooleanValue
test eax, eax
jmp 0x10149fca
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
test byte [edi + eax + 0x10], 1
jmp 0x10144b85
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
add eax, edi
test byte [eax + 0x10], 1
jne 0x10144b8b
mov dword [esp], eax
call sym._sqlite3_value_type
mov edi, dword [ebp - 0x7c]
cmp eax, dword [edi + 0xc]
jmp 0x10149fca
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 8], 0x28
add eax, edi
mov edi, dword [ebp - 0x7c]
imul edx, dword [edi + 4], 0x28
mov edi, dword [ebp - 0x90]
test byte [edi + edx + 0x10], 1
jne 0x10146156
mov edi, dword [ebp - 0x7c]
imul edx, dword [edi + 0xc], 0x28
mov edi, dword [ebp - 0x90]
test byte [edi + edx + 0x10], 1
je 0x10146160
call sym._sqlite3VdbeMemSetNull
jmp case.0x10144a50.89
xor edx, edx
xor ecx, ecx
call sym._sqlite3VdbeMemSetInt64
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
test byte [edi + eax + 0x10], 1
jmp 0x10149fca
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
cmp byte [eax + 2], 0
je case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 0xc], 0x28
add eax, edi
call sym._sqlite3VdbeMemSetNull
jmp 0x10144b8b
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + edx*4]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 8]
mov dword [ebp - 0xb8], eax
mov eax, dword [esi + 0x48]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x1c]
cmp dword [esi + 0x20], eax
je 0x10146331
cmp byte [esi + 2], 0
je 0x10146231
cmp byte [esi], 3
jne 0x10146218
mov eax, dword [esi + 0x24]
test eax, eax
jle 0x10146218
imul eax, eax, 0x28
mov edi, dword [ebp - 0x90]
add eax, edi
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 8]
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], edx
jmp 0x101462c1
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 0xc], 0x28
add eax, edi
call sym._sqlite3VdbeMemSetNull
jmp case.0x10144a50.89
cmp byte [esi + 3], 0
mov edi, dword [esi + 0x2c]
je 0x1014626e
mov eax, dword [esi + 0x10]
test eax, eax
je 0x10146258
mov ecx, dword [ebp - 0xb8]
mov eax, dword [eax + ecx*4 + 4]
test eax, eax
je 0x10146258
mov esi, dword [esi + 0x28]
dec eax
jmp 0x101461cc
mov eax, esi
call sym._sqlite3VdbeFinishMoveto
mov dword [ebp - 0x88], eax
test eax, eax
je 0x10146295
jmp 0x1014b58e
cmp byte [edi], 0
je 0x10146295
mov eax, esi
call sym._sqlite3VdbeHandleMovedCursor
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
xor eax, eax
mov dword [ebp - 0x88], eax
jmp 0x101461d2
mov eax, edi
call sym._getCellInfo
mov eax, dword [edi + 0x2c]
mov ebx, dword [edi + 0x28]
mov edx, 0
mov dword [esi + 0x50], eax
mov eax, dword [edi + 0x74]
mov eax, dword [eax + 0x3c]
sub eax, ebx
cmovs eax, edx
movzx edx, word [edi + 0x30]
cmp eax, edx
cmovg eax, edx
mov dword [esi + 0x54], eax
mov eax, dword [ebp - 0x80]
mov dword [esi + 0x4c], ebx
mov eax, dword [eax + 0x1c]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0xa0]
movzx edx, byte [ebx]
mov dword [eax], edx
mov eax, 1
cmp edx, 0x7f
jbe 0x101462f2
mov edx, dword [ebp - 0xa0]
mov eax, ebx
call sym._sqlite3GetVarint32
movzx eax, al
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0xa0]
mov word [esi + 0x3e], 0
mov eax, dword [eax]
cmp dword [esi + 0x54], eax
jae 0x101463ac
xor eax, eax
mov dword [esi + 0x54], eax
mov dword [esi + 0x4c], eax
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
cmp eax, 0x18003
ja 0x101466f6
cmp dword [esi + 0x50], eax
jae 0x10146363
jmp 0x101466f6
mov eax, dword [esi + 0x2c]
cmp byte [eax], 0
je 0x10146353
mov eax, esi
call sym._sqlite3VdbeHandleMovedCursor
mov dword [ebp - 0x88], eax
test eax, eax
je 0x10146288
jmp 0x1014b58e
movzx eax, word [esi + 0x3e]
cmp dword [ebp - 0xb8], eax
jb 0x10146546
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
cmp dword [esi + 0x34], eax
jae 0x101464ff
mov ebx, dword [esi + 0x4c]
test ebx, ebx
jne 0x101463ac
lea edx, [ebp - 0x40]
mov eax, ebx
mov ecx, 0xa
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0xa0]
mov ecx, edx
mov eax, dword [esi + 0x2c]
mov edx, dword [edi]
call sym._sqlite3VdbeMemFromBtreeZeroOffset
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
mov ebx, dword [ebp - 0x38]
movzx ecx, word [esi + 0x3e]
mov eax, dword [ebp - 0xa0]
xor edx, edx
mov dword [ebp - 0xbc], edx
mov edx, dword [ebp - 0xa0]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x34]
mov dword [ebp - 0xc0], eax
mov eax, dword [edx]
add edi, ebx
mov dword [ebp - 0xb0], edi
add eax, ebx
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xb0]
movzx eax, byte [eax]
mov dword [ebp - 0x68], eax
mov dword [esi + ecx*4 + 0x58], eax
cmp eax, 0x7f
ja 0x10146406
inc dword [ebp - 0xb0]
movzx eax, byte [eax + 0x10200460]
jmp 0x10146435
mov eax, dword [ebp - 0xb0]
lea edx, [ebp - 0x68]
mov dword [ebp - 0xe8], ecx
call sym._sqlite3GetVarint32
mov ecx, dword [ebp - 0xe8]
movzx eax, al
add dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x68]
mov dword [esi + ecx*4 + 0x58], eax
call sym._sqlite3VdbeSerialTypeLen
xor edx, edx
add dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xa0]
adc dword [ebp - 0xbc], edx
mov edx, dword [ebp - 0xc0]
inc ecx
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0xd0]
cmp dword [ebp - 0xb8], ecx
jb 0x1014646f
cmp dword [ebp - 0xb0], eax
jb 0x101463e2
jmp 0x10146477
cmp dword [ebp - 0xb0], eax
jb 0x1014649b
mov edi, dword [ebp - 0xb0]
cmp dword [ebp - 0xd0], edi
jb 0x101464b0
cmp dword [ebp - 0xbc], 0
mov eax, dword [esi + 0x50]
jne 0x101464b0
mov edi, dword [ebp - 0xc0]
cmp eax, edi
jne 0x101464b0
xor edx, edx
mov edi, dword [ebp - 0xc0]
cmp dword [esi + 0x50], edi
mov eax, edx
sbb eax, dword [ebp - 0xbc]
jae 0x101464e0
mov eax, dword [ebp - 0xa0]
cmp dword [eax], 0
je 0x101464d2
cmp dword [esi + 0x4c], 0
jne 0x101466f6
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemRelease
jmp 0x101466f6
mov eax, dword [ebp - 0xd0]
xor ecx, ecx
mov dword [ebp - 0xb0], eax
mov edi, dword [ebp - 0xb0]
mov word [esi + 0x3e], cx
sub edi, ebx
cmp dword [esi + 0x4c], 0
mov dword [esi + 0x34], edi
jne 0x10146504
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemRelease
jmp 0x10146504
xor eax, eax
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x7c]
movzx edx, word [esi + 0x3e]
mov eax, dword [eax + 0xc]
cmp dword [ebp - 0xb8], edx
jb 0x10146553
imul eax, eax, 0x28
mov edi, dword [ebp - 0x90]
add eax, edi
mov edi, dword [ebp - 0x7c]
cmp byte [edi + 1], 0xf6
jne 0x1014653c
mov edx, dword [edi + 0x10]
mov ecx, 0x2000
call sym._sqlite3VdbeMemShallowCopy
jmp case.0x10144a50.89
call sym._sqlite3VdbeMemSetNull
jmp case.0x10144a50.89
mov eax, dword [ebp - 0xb8]
mov eax, dword [esi + eax*4 + 0x58]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x7c]
imul ebx, dword [eax + 0xc], 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
test word [ebx + 0x10], 0x9000
je 0x10146571
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
mov edi, dword [ebp - 0x68]
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xb0], edi
mov edi, dword [ebp - 0xa0]
inc eax
lea edx, [eax*4]
mov eax, dword [edi + eax*4]
cmp dword [esi + 0x54], eax
jb 0x10146657
mov eax, dword [edi + edx - 4]
add eax, dword [esi + 0x4c]
cmp dword [ebp - 0xb0], 0xb
mov esi, eax
ja 0x101465be
mov edx, dword [ebp - 0xb0]
mov ecx, ebx
call sym._sqlite3VdbeSerialGet
jmp case.0x10144a50.89
mov eax, dword [ebp - 0xb0]
sub eax, 0xc
shr eax, 1
mov dword [ebp - 0xa0], eax
mov dword [ebx + 0xc], eax
mov al, byte [ebp - 0x95]
mov byte [ebx + 0x12], al
mov eax, dword [ebp - 0xa0]
inc eax
cmp eax, dword [ebx + 0x18]
jl 0x10146617
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0xa0]
cmp dword [eax + 0x78], edi
jl 0x1014b749
mov word [ebx + 0x10], 1
xor ecx, ecx
lea edx, [edi + 2]
mov eax, ebx
call sym._sqlite3VdbeMemGrow
test eax, eax
je 0x1014661d
jmp 0x1014b789
mov eax, dword [ebx + 0x20]
mov dword [ebx + 8], eax
mov edi, dword [ebx + 8]
mov ecx, dword [ebp - 0xa0]
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xa0]
mov eax, dword [ebx + 8]
mov byte [eax + edi], 0
mov eax, dword [ebx + 8]
mov byte [eax + edi + 1], 0
mov eax, dword [ebp - 0xb0]
and eax, 1
mov ax, word [eax + eax + 0x101fe54c]
mov word [ebx + 0x10], ax
jmp case.0x10144a50.89
mov al, byte [ebp - 0x95]
mov byte [ebx + 0x12], al
mov eax, dword [ebp - 0x7c]
mov ax, word [eax + 2]
test al, 0xc0
je 0x10146681
cmp dword [ebp - 0xb0], 0xb
jbe 0x1014667d
test byte [ebp - 0xb0], 1
je 0x10146692
test al, 0x80
jne 0x10146692
mov eax, dword [ebp - 0xb0]
call sym._sqlite3VdbeSerialTypeLen
mov ecx, eax
test eax, eax
jne 0x101466a9
mov edx, dword [ebp - 0xb0]
mov ecx, ebx
mov eax, 0x102002a0
call sym._sqlite3VdbeSerialGet
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x78], ecx
jl 0x1014b749
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax + edx - 4]
mov eax, dword [esi + 0x2c]
mov dword [esp], ebx
call sym._sqlite3VdbeMemFromBtree
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0xb0]
mov ecx, ebx
call sym._sqlite3VdbeSerialGet
and word [ebx + 0x10], 0xbfff
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x10146718
imul eax, eax, 0x14
mov edi, dword [ebp - 0x94]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0x7c], eax
jmp case.0x10144a50.89
mov eax, 0x164a2
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
imul ebx, dword [eax + 4], 0x28
mov esi, dword [eax + 0x10]
mov eax, dword [ebp - 0x90]
mov edi, dword [esi + 4]
add ebx, eax
xor eax, eax
mov dword [ebp - 0xb0], eax
movzx eax, byte [ebp - 0x95]
mov dword [ebp - 0xb8], eax
movsx eax, word [esi + 0x22]
mov ecx, dword [ebp - 0xb0]
cmp eax, ecx
jle case.0x10144a50.89
mov ax, word [edi + 0xe]
test al, 0x60
je 0x10146786
test al, 0x20
jne 0x1014681d
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0xc], 0
jne 0x1014681a
mov ecx, dword [ebp - 0xb8]
movsx edx, byte [edi + 8]
mov eax, ebx
call sym._applyAffinity
mov ecx, dword [ebx + 0x10]
test cl, 1
jne 0x1014681a
mov al, byte [edi + 4]
shr al, 4
cmp al, 5
je 0x101467d8
ja 0x101467c4
cmp al, 2
je 0x101467ca
lea edx, [eax + 0xd]
and edx, 0xf
cmp dl, 1
ja 0x1014681a
and cl, 4
jne 0x1014681a
movzx eax, al
jmp 0x1014683e
cmp al, 6
je 0x101467d1
jmp 0x1014681a
and cl, 0x10
jne 0x1014681a
jmp 0x1014682b
and cl, 2
jne 0x1014681a
jmp 0x10146832
test cl, 4
je 0x10146815
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
and ecx, 0xfffffffb
mov dword [ebp - 0x9c], edx
add edx, 0x8000
mov dword [ebp - 0xa0], eax
cmp edx, 0xffff
ja 0x10146804
or ecx, 0x20
jmp 0x1014680f
fild qword [ebp - 0xa0]
or ecx, 8
fstp qword [ebx]
mov word [ebx + 0x10], cx
jmp 0x1014681a
and cl, 0x28
je 0x10146839
add ebx, 0x28
inc dword [ebp - 0xb0]
add edi, 0x10
jmp 0x10146757
mov eax, 2
jmp 0x1014683e
mov eax, 6
jmp 0x1014683e
mov eax, 5
mov ecx, dword [esi]
mov edx, dword [edi]
mov dword [esp], ebx
mov esi, dword [eax*4 + 0x101710bc]
call sym._sqlite3_value_type
mov dword [esp + 0x14], edx
mov eax, dword [eax*4 + 0x101ff678]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], str.cannot_store__s_value_in__s_column__s._s
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x88], 0xc13
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
movzx edi, byte [ebp - 0x95]
imul ebx, dword [eax + 4], 0x28
mov esi, dword [eax + 0x10]
mov eax, dword [ebp - 0x90]
add ebx, eax
movsx edx, byte [esi]
mov ecx, edi
mov eax, ebx
call sym._applyAffinity
cmp byte [esi], 0x45
jne 0x101468f2
mov ecx, dword [ebx + 0x10]
test cl, 4
je 0x101468f2
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
and ecx, 0xfffffffb
mov dword [ebp - 0x9c], edx
add edx, 0x8000
mov dword [ebp - 0xa0], eax
cmp edx, 0xffff
ja 0x101468e3
or ecx, 0x20
jmp 0x101468ee
fild qword [ebp - 0xa0]
or ecx, 8
fstp qword [ebx]
mov word [ebx + 0x10], cx
inc esi
cmp byte [esi], 0
je case.0x10144a50.89
add ebx, 0x28
jmp 0x101468a3
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
mov ebx, dword [eax + 0x10]
imul eax, dword [eax + 4], 0x28
add eax, edi
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0xa0]
imul eax, dword [eax + 8], 0x28
lea eax, [edi + eax - 0x28]
mov edi, dword [ebp - 0x90]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x7c]
imul eax, dword [eax + 0xc], 0x28
add eax, edi
mov dword [ebp - 0xc0], eax
test ebx, ebx
jne 0x10146972
mov eax, dword [ebp - 0xf8]
xor ebx, ebx
xor esi, esi
xor edi, edi
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xd0], ebx
jmp 0x101469fa
mov edi, dword [ebp - 0xa0]
movzx esi, byte [ebp - 0x95]
movsx edx, byte [ebx]
mov ecx, esi
mov eax, edi
call sym._applyAffinity
cmp byte [ebx], 0x45
jne 0x101469a1
mov eax, dword [edi + 0x10]
test al, 4
je 0x101469a1
and eax, 0xfffffffb
or eax, 0x20
mov word [edi + 0x10], ax
inc ebx
add edi, 0x28
cmp byte [ebx], 0
jne 0x1014697f
jmp 0x10146949
mov ecx, dword [ebp - 0xb8]
mov eax, 1
cmp eax, ecx
mov eax, dword [ebp - 0xb4]
sbb edx, eax
jl 0x10146a94
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x93], 3
jbe 0x10146a94
mov ebx, ecx
add ebx, 8
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xa0]
mov dword [eax + 0x1c], ebx
cmp eax, ecx
je 0x10146c00
sub dword [ebp - 0xb0], 0x28
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x10]
test al, 1
je 0x10146a1b
and ax, 0x400
neg ax
sbb ebx, ebx
inc dword [ebp - 0xd0]
and ebx, 0xa
jmp 0x101469dc
test al, 0x24
je 0x10146b49
mov ecx, dword [ebp - 0xb0]
inc dword [ebp - 0xd0]
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [ebp - 0xb4], ebx
cmp dword [ebp - 0xb4], 0
mov dword [ebp - 0xb8], ecx
jns 0x10146a6b
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb4]
mov ebx, 0x7f
not ecx
not edx
cmp ebx, ecx
mov ebx, 0
sbb ebx, edx
jge 0x10146a94
jmp 0x10146aa4
mov ebx, dword [ebp - 0xb8]
mov ecx, 0x7f
xor edx, edx
cmp ecx, ebx
mov ebx, dword [ebp - 0xb4]
mov ecx, edx
sbb ecx, ebx
jge 0x101469ac
mov ecx, dword [ebp - 0xb8]
mov edx, ebx
jmp 0x10146aa4
add esi, 1
mov ebx, 1
adc edi, 0
jmp 0x101469dc
mov ebx, 0x7fff
cmp ebx, ecx
mov ebx, 0
sbb ebx, edx
jb 0x10146ac4
add esi, 2
mov ebx, 2
adc edi, 0
jmp 0x101469dc
mov ebx, 0x7fffff
cmp ebx, ecx
mov ebx, 0
sbb ebx, edx
jb 0x10146ae4
add esi, 3
mov ebx, 3
adc edi, 0
jmp 0x101469dc
mov ebx, 0x7fffffff
cmp ebx, ecx
mov ecx, 0
sbb ecx, edx
jb 0x10146b04
add esi, 4
mov ebx, 4
adc edi, 0
jmp 0x101469dc
cmp edx, 0x7fff
ja 0x10146b1c
add esi, 6
mov ebx, 5
adc edi, 0
jmp 0x101469dc
add esi, 8
mov ebx, 6
adc edi, 0
test al, 0x20
je 0x101469dc
fild qword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb0]
and eax, 0xffffffdf
or eax, 8
mov word [ecx + 0x10], ax
fstp qword [ecx]
jmp 0x10146b59
test al, 8
je 0x10146b63
inc dword [ebp - 0xd0]
add esi, 8
adc edi, 0
mov ebx, 7
jmp 0x101469dc
mov ecx, dword [ebp - 0xb0]
mov edx, eax
shr dx, 1
mov ecx, dword [ecx + 0xc]
and edx, 1
lea ebx, [edx + ecx*2 + 0xc]
test ah, 4
je 0x10146bc6
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax]
lea edx, [eax + eax]
add ebx, edx
mov edx, edi
or edx, esi
je 0x10146bb9
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xb8], ecx
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
jne 0x1014b789
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb8]
add ecx, dword [eax]
jmp 0x10146bc6
cdq
add dword [ebp - 0xe8], eax
adc dword [ebp - 0xe4], edx
mov dword [ebp - 0xb8], 1
xor edx, edx
add esi, ecx
mov eax, ebx
adc edi, edx
xor edx, edx
shrd eax, edx, 7
shr edx, 7
mov ecx, edx
or ecx, eax
je 0x10146bef
inc dword [ebp - 0xb8]
jmp 0x10146bda
mov ecx, dword [ebp - 0xb8]
add dword [ebp - 0xd0], ecx
jmp 0x101469dc
cmp dword [ebp - 0xd0], 0x7e
mov eax, dword [ebp - 0xd0]
jg 0x10146c18
inc eax
mov dword [ebp - 0xb0], eax
jmp 0x10146c6f
cdq
mov ecx, 1
shrd eax, edx, 7
shr edx, 7
mov ebx, edx
or ebx, eax
je 0x10146c2e
inc ecx
jmp 0x10146c1e
mov dword [ebp - 0xb8], 1
mov eax, dword [ebp - 0xd0]
add eax, ecx
cdq
mov dword [ebp - 0xb0], eax
shrd eax, edx, 7
shr edx, 7
shrd eax, edx, 7
shr edx, 7
inc dword [ebp - 0xb8]
mov ebx, edx
or ebx, eax
jne 0x10146c4e
cmp dword [ebp - 0xb8], ecx
jle 0x10146c6f
inc dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xd0], eax
sar eax, 0x1f
add esi, dword [ebp - 0xd0]
mov dword [ebp - 0xcc], eax
adc edi, dword [ebp - 0xcc]
mov eax, esi
mov edx, edi
mov dword [ebp - 0xb4], edi
mov edi, dword [ebp - 0xc0]
add eax, dword [ebp - 0xe8]
adc edx, dword [ebp - 0xe4]
mov dword [ebp - 0xb8], esi
mov edi, dword [edi + 0x18]
mov ebx, edi
sar ebx, 0x1f
cmp edi, eax
mov edi, ebx
sbb edi, edx
jl 0x10146cd6
mov eax, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xc0]
mov eax, dword [eax + 0x20]
mov dword [edi + 8], eax
jmp 0x10146d09
mov edi, dword [ebp - 0x8c]
mov edi, dword [edi + 0x78]
mov ebx, edi
sar ebx, 0x1f
cmp edi, eax
mov edi, ebx
sbb edi, edx
jl 0x1014b749
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xc0]
call sym._sqlite3VdbeMemClearAndResize
test eax, eax
jne 0x1014b789
mov eax, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xb8]
mov word [eax + 0x10], 0x10
mov dword [eax + 0xc], edi
mov eax, dword [ebp - 0xe4]
or eax, dword [ebp - 0xe8]
je 0x10146d40
mov eax, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xe8]
mov word [eax + 0x10], 0x410
mov dword [eax], edi
mov eax, dword [ebp - 0xc0]
mov edi, dword [eax + 8]
mov eax, dword [ebp - 0xb0]
add eax, edi
cmp dword [ebp - 0xb0], 0x7f
mov dword [ebp - 0xb8], eax
jg 0x10146d6d
mov al, byte [ebp - 0xb0]
lea ebx, [edi + 1]
mov byte [edi], al
jmp 0x10146d83
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
mov eax, edi
call sym._sqlite3PutVarint
lea ebx, [edi + eax]
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax + 0x1c]
cmp edx, 7
ja 0x10146dc3
mov byte [ebx], dl
lea eax, [ebx + 1]
test edx, edx
je 0x10146e15
mov esi, dword [ebp - 0xa0]
mov ecx, dword [esi]
mov ebx, dword [esi + 4]
movzx esi, byte [edx + 0x10200460]
mov edx, esi
mov edi, dword [ebp - 0xb8]
dec edx
mov byte [edi + edx], cl
je 0x10146e0f
shrd ecx, ebx, 8
shr ebx, 8
jmp 0x10146dae
cmp edx, 0x7f
ja 0x10146de3
mov byte [ebx], dl
lea eax, [ebx + 1]
cmp edx, 0xd
jbe 0x10146e15
mov esi, dword [ebp - 0xa0]
mov ecx, dword [esi + 0xc]
mov edi, esi
test ecx, ecx
jle 0x10146e15
jmp 0x10146dfb
xor ecx, ecx
mov eax, ebx
call sym._sqlite3PutVarint
mov edi, dword [ebp - 0xa0]
add eax, ebx
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x10146e15
mov esi, dword [edi + 8]
mov edi, dword [ebp - 0xb8]
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0xa0]
mov esi, dword [esi + 0xc]
add dword [ebp - 0xb8], esi
mov esi, dword [ebp - 0xf8]
cmp dword [ebp - 0xa0], esi
je case.0x10144a50.89
add dword [ebp - 0xa0], 0x28
mov ebx, eax
jmp 0x10146d83
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
mov ebx, dword [eax + 0x2c]
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0xc], 0
mov eax, ebx
je 0x10146e60
call sym._sqlite3BtreeRowCountEst
mov esi, eax
mov edi, edx
jmp 0x10146f3f
call sym._moveToRoot
mov dword [ebp - 0x88], eax
cmp eax, 0x10
je 0x10146f33
xor esi, esi
xor edi, edi
cmp dword [ebp - 0x88], 0
jne 0x1014b58e
mov eax, dword [ebp - 0xec]
mov eax, dword [eax]
test eax, eax
jne 0x10146f33
mov ecx, dword [ebx + 0x74]
cmp byte [ecx + 8], 0
movzx eax, word [ecx + 0x18]
jne 0x10146eb0
cmp byte [ecx + 1], 0
jne 0x10146ee9
xor edx, edx
add esi, eax
adc edi, edx
jmp 0x10146ee9
xor edx, edx
add esi, eax
adc edi, edx
cmp byte [ebx + 0x44], 0
mov eax, ebx
jne 0x10146ed2
call sym._moveToRoot
mov dword [ebp - 0x88], eax
test eax, eax
je 0x10146f3f
jmp 0x1014b58e
call sym._moveToParent
mov ecx, dword [ebx + 0x74]
mov ax, word [ebx + 0x46]
cmp ax, word [ecx + 0x18]
jae 0x10146eb6
inc eax
mov word [ebx + 0x46], ax
mov edx, dword [ecx + 0x38]
movzx eax, word [ebx + 0x46]
mov dword [ebp - 0x88], edx
cmp ax, word [ecx + 0x18]
jne 0x10146f06
movzx eax, byte [ecx + 9]
mov edx, dword [edx + eax + 8]
jmp 0x10146f1f
mov edx, dword [ecx + 0x40]
movzx eax, word [edx + eax*2]
xchg al, ah
and ax, word [ecx + 0x1a]
mov ecx, dword [ebp - 0x88]
movzx eax, ax
mov edx, dword [ecx + eax]
mov eax, ebx
bswap edx
call sym._moveToChild
mov dword [ebp - 0x88], eax
jmp 0x10146e78
xor eax, eax
xor esi, esi
xor edi, edi
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov dword [eax], esi
mov dword [eax + 4], edi
jmp 0x10144a9c
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x7c]
cmp dword [ebp - 0xa0], 0
mov esi, dword [eax + 0x10]
mov eax, dword [ebp - 0x8c]
jne 0x10147066
cmp dword [eax + 0xc4], 0
jle 0x10146faa
mov dword [esp + 4], str.cannot_open_savepoint___SQL_statements_in_progress
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x88], 5
jmp 0x1014b58e
mov eax, esi
call sym._sqlite3Strlen30
xor edx, edx
mov ebx, eax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x1f4]
add ecx, dword [eax + 0x1f8]
call sym._sqlite3VtabSavepoint
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
mov eax, dword [ebp - 0x8c]
lea edx, [ebx + 0x21]
xor ecx, ecx
call sym._sqlite3DbMallocRawNN
mov edx, eax
test eax, eax
je 0x1014736d
lea eax, [eax + 0x20]
lea ecx, [ebx + 1]
mov dword [edx], eax
mov edi, eax
mov eax, dword [ebp - 0x8c]
rep movsb byte es:[edi], byte [esi]
cmp byte [eax + 0x55], 0
je 0x10147016
mov byte [eax + 0x55], 0
mov byte [eax + 0x5d], 1
jmp 0x10147022
mov eax, dword [ebp - 0x8c]
inc dword [eax + 0x1f4]
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x1e8]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x200]
mov ebx, dword [eax + 0x204]
mov dword [eax + 0x1e8], edx
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0x208]
mov dword [edx + 0xc], ebx
mov ebx, dword [eax + 0x20c]
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], ebx
jmp 0x1014736d
mov ebx, dword [eax + 0x1e8]
xor eax, eax
mov dword [ebp - 0xb0], eax
test ebx, ebx
je 0x10147096
mov eax, dword [ebx]
mov edx, esi
call sym._sqlite3StrICmp
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x101470bc
inc dword [ebp - 0xb0]
mov ebx, dword [ebx + 0x18]
jmp 0x10147074
mov dword [esp + 8], esi
mov dword [esp + 4], str.no_such_savepoint:__s
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x88], 1
jmp 0x1014b58e
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0xc4], 0
jle 0x101470f6
cmp dword [ebp - 0xa0], 1
jne 0x101470f6
mov dword [esp + 4], str.cannot_release_savepoint___SQL_statements_in_progress
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x88], 5
jmp 0x1014b58e
xor esi, esi
cmp dword [ebx + 0x18], 0
jne 0x101471a7
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x5d], 0
je 0x101471a7
cmp dword [ebp - 0xa0], 1
mov esi, 1
jne 0x101471a7
mov eax, dword [ebp - 0x80]
mov edx, 1
call sym._sqlite3VdbeCheckFk
mov edi, eax
test eax, eax
jne 0x1014b6cb
mov eax, dword [ebp - 0x8c]
mov byte [eax + 0x55], 1
mov eax, dword [ebp - 0x80]
call sym._sqlite3VdbeHalt
mov edi, eax
cmp eax, 5
jne 0x1014717f
mov esi, dword [ebp - 0x94]
mov eax, dword [ebp - 0x7c]
sub eax, esi
mov esi, dword [ebp - 0x80]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x8c]
mov byte [eax + 0x55], 0
mov eax, esi
jmp 0x1014743f
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x24]
test eax, eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
je 0x1014719e
mov byte [eax + 0x55], 0
jmp 0x1014b58e
mov byte [eax + 0x5d], 0
jmp 0x101472a2
mov eax, dword [ebp - 0xb0]
mov edi, dword [ebp - 0x8c]
not eax
add eax, dword [edi + 0x1f4]
xor edi, edi
cmp dword [ebp - 0xa0], 2
mov dword [ebp - 0xb0], eax
jne 0x10147264
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x18]
and eax, 1
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x14], edi
jle 0x10147222
mov edx, dword [ebp - 0x8c]
mov eax, edi
mov ecx, dword [ebp - 0xc0]
shl eax, 4
add eax, dword [edx + 0x10]
xor ecx, 1
mov edx, 0x204
mov eax, dword [eax + 4]
call sym._sqlite3BtreeTripAllCursors
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
inc edi
jmp 0x101471e2
mov edi, dword [ebp - 0xc0]
jmp 0x10147264
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xa0]
shl eax, 4
add eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 0xb0]
mov eax, dword [eax + 4]
call sym._sqlite3BtreeSavepoint
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
inc dword [ebp - 0xb8]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0xb8]
cmp dword [eax + 0x14], ecx
jg 0x1014722a
test edi, edi
je 0x10147295
xor edx, edx
call sym._sqlite3ExpirePreparedStatements
mov eax, dword [ebp - 0x8c]
call sym._sqlite3ResetAllSchemasOfConnection
mov eax, dword [ebp - 0x8c]
or dword [eax + 0x18], 1
cmp dword [ebp - 0x88], 0
jne 0x1014b58e
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x1e8]
cmp eax, ebx
je 0x101472db
mov edx, dword [eax + 0x18]
mov edi, dword [ebp - 0x8c]
mov dword [edi + 0x1e8], edx
mov dword [esp + 4], eax
mov dword [esp], edi
call sym._sqlite3DbFree
mov eax, dword [ebp - 0x8c]
dec dword [eax + 0x1f4]
jmp 0x101472a2
cmp dword [ebp - 0xa0], 1
jne 0x10147311
mov eax, dword [ebx + 0x18]
mov edi, dword [ebp - 0x8c]
mov dword [edi + 0x1e8], eax
mov dword [esp + 4], ebx
mov dword [esp], edi
call sym._sqlite3DbFree
test esi, esi
jne 0x1014736d
mov eax, dword [ebp - 0x8c]
dec dword [eax + 0x1f4]
jmp 0x10147348
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov edi, dword [ebp - 0x8c]
mov dword [edi + 0x200], eax
mov eax, dword [ebx + 0x10]
mov dword [edi + 0x204], edx
mov edx, dword [ebx + 0x14]
mov dword [edi + 0x208], eax
mov dword [edi + 0x20c], edx
test esi, esi
je 0x10147348
cmp dword [ebp - 0xa0], 2
jne 0x1014736d
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x8c]
call sym._sqlite3VtabSavepoint
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x95], 3
jne 0x1014a76a
jmp 0x1014b6c6
mov eax, dword [ebp - 0x7c]
mov esi, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x8c]
movzx ecx, byte [eax + 0x55]
cmp ecx, esi
je 0x10147468
test edx, edx
je 0x101473ad
mov edx, 0x204
call sym._sqlite3RollbackAll
jmp 0x101473fb
test esi, esi
je 0x101473e2
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0xc4], 0
jle 0x101473e2
mov dword [esp + 4], str.cannot_commit_transaction___SQL_statements_in_progress
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x88], 5
jmp 0x1014b58e
mov eax, dword [ebp - 0x80]
mov edx, 1
call sym._sqlite3VdbeCheckFk
mov edi, eax
test eax, eax
jne 0x1014b6cb
mov ebx, esi
mov eax, dword [ebp - 0x8c]
mov byte [eax + 0x55], bl
mov eax, dword [ebp - 0x80]
call sym._sqlite3VdbeHalt
mov edi, eax
cmp eax, 5
jne 0x1014744b
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x7c]
sub eax, ecx
mov ecx, dword [ebp - 0x80]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [ecx + 0x20], eax
mov ecx, esi
mov al, 1
mov esi, dword [ebp - 0x8c]
sub eax, ecx
mov byte [esi + 0x55], al
mov eax, dword [ebp - 0x80]
mov dword [eax + 0x24], 5
jmp 0x1014b6cb
mov eax, dword [ebp - 0x8c]
call sym._sqlite3CloseSavepoints
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x24], 1
sbb edi, edi
and edi, 0x64
inc edi
jmp 0x1014b6cb
mov eax, str.cannot_start_a_transaction_within_a_transaction
test ecx, ecx
je 0x10147480
test edx, edx
mov eax, str.cannot_commit___no_transaction_is_active
mov edx, str.cannot_rollback___no_transaction_is_active
cmovne eax, edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x88], 1
jmp 0x1014b58e
xor eax, eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
test edx, edx
je 0x101474f4
mov eax, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x8c]
mov eax, dword [eax + 0x20]
mov edi, dword [esi + 0x24]
mov ebx, eax
mov ecx, edi
mov dword [ebp - 0xa0], edi
and ebx, 0x100000
and ecx, 2
or ecx, ebx
je 0x101474f4
cmp ebx, 1
sbb eax, eax
mov dword [ebp - 0x88], eax
and dword [ebp - 0x88], 3
add dword [ebp - 0x88], 8
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
mov ebx, eax
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x8c]
shl ebx, 4
add ebx, dword [eax + 0x10]
mov esi, dword [ebx + 4]
test esi, esi
je 0x10147658
lea ecx, [ebp - 0x40]
mov eax, esi
call sym._sqlite3BtreeBeginTrans
mov dword [ebp - 0x88], eax
test eax, eax
je 0x10147564
cmp byte [ebp - 0x88], 5
jne 0x1014b58e
mov esi, dword [ebp - 0x94]
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x80]
sub eax, esi
mov esi, dword [ebp - 0x88]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [edi + 0x24], esi
mov dword [edi + 0x20], eax
mov edi, esi
jmp 0x1014b6cb
mov eax, dword [ebp - 0x80]
test byte [eax + 0x98], 0x20
jne 0x10147583
mov eax, dword [ebp - 0x7c]
cmp word [eax + 2], 0
jne 0x1014766a
jmp 0x101476fa
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 8], 0
je 0x10147570
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x55], 0
je 0x101475a1
cmp dword [eax + 0xc0], 1
jle 0x10147570
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x30], 0
jne 0x101475d5
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x8c]
mov eax, dword [eax + 0x1f8]
mov dword [ebp - 0x88], eax
inc eax
mov dword [edi + 0x1f8], eax
add eax, dword [edi + 0x1f4]
mov edi, dword [ebp - 0x80]
mov dword [edi + 0x30], eax
mov eax, dword [ebp - 0x80]
xor edx, edx
mov eax, dword [eax + 0x30]
lea ecx, [eax - 1]
mov eax, dword [ebp - 0x8c]
call sym._sqlite3VtabSavepoint
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x10147625
mov eax, dword [ebp - 0x80]
mov edi, dword [esi + 4]
mov edx, dword [eax + 0x30]
mov eax, esi
mov dword [ebp - 0x88], edx
call sym._sqlite3BtreeEnter
mov edx, dword [ebp - 0x88]
mov eax, dword [edi]
call sym._sqlite3PagerOpenSavepoint
mov dword [ebp - 0x88], eax
mov eax, esi
call sym._sqlite3BtreeLeave
mov eax, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x80]
mov edx, dword [eax + 0x204]
mov eax, dword [eax + 0x200]
mov dword [esi + 0x48], eax
mov eax, dword [ebp - 0x8c]
mov dword [esi + 0x4c], edx
mov edx, dword [eax + 0x20c]
mov eax, dword [eax + 0x208]
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], eax
cmp dword [ebp - 0x88], 0
je 0x10147570
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x40]
cmp dword [eax + 0xc], esi
jne 0x10147683
mov edi, dword [ebp - 0x7c]
mov eax, dword [ebx + 0xc]
mov edi, dword [edi + 0x10]
cmp dword [eax + 4], edi
je 0x101476fa
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call sym._sqlite3DbFree
mov eax, dword [ebp - 0x8c]
mov edx, str.database_schema_has_changed
call sym._sqlite3DbStrDup
mov edi, dword [ebp - 0x80]
mov dword [edi + 0x7c], eax
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x8c]
mov edx, dword [eax + 4]
mov eax, edx
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 0xc]
cmp esi, dword [eax]
je 0x101476d3
mov eax, edi
call sym._sqlite3ResetOneSchema
mov eax, dword [ebp - 0x80]
mov esi, dword [ebp - 0x80]
mov dword [ebp - 0x88], 0x11
mov al, byte [eax + 0x98]
and eax, 0xffffffec
or eax, 1
mov byte [esi + 0x98], al
jmp 0x1014b58e
xor eax, eax
mov dword [ebp - 0x88], eax
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x8c]
lea ecx, [ebp - 0x40]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 4]
mov dword [ebp - 0xa0], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 4]
call sym._sqlite3BtreeGetMeta
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov edx, dword [ebp - 0x40]
mov dword [eax], edx
sar edx, 0x1f
mov dword [eax + 4], edx
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x88], eax
mov ebx, eax
mov eax, dword [ebp - 0x8c]
shl ebx, 4
add ebx, dword [eax + 0x10]
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov eax, dword [ebx + 4]
call sym._sqlite3BtreeUpdateMeta
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x10147806
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebx + 0xc]
mov esi, dword [ebp - 0x8c]
movzx ecx, word [eax + 2]
mov eax, dword [eax + 0xc]
sub eax, ecx
mov dword [edx], eax
mov eax, dword [ebp - 0x8c]
or dword [eax + 0x18], 1
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
mov dword [ebp - 0xa0], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x10]
test esi, esi
je 0x10147817
mov eax, dword [esi + 8]
cmp byte [eax + 0x2b], 0
je 0x101477d4
mov esi, dword [esi]
jmp 0x101477c3
mov ebx, dword [eax + 0x30]
test ebx, ebx
je 0x101477d0
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebp - 0x8c]
xor edi, edi
call sym._fkTriggerDelete
mov dword [ebx + 0x1c], edi
mov edx, dword [ebx + 0x20]
mov eax, dword [ebp - 0x8c]
call sym._fkTriggerDelete
xor eax, eax
mov dword [ebx + 0x20], eax
mov ebx, dword [ebx + 4]
jmp 0x101477d7
cmp eax, 2
jne 0x10147817
mov esi, dword [ebp - 0x7c]
mov eax, dword [ebx + 0xc]
mov edx, dword [esi + 0xc]
mov byte [eax + 0x4c], dl
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 4], 1
jne 0x10147837
mov eax, dword [ebp - 0x8c]
xor edx, edx
call sym._sqlite3ExpirePreparedStatements
mov eax, dword [ebp - 0x80]
and byte [eax + 0x98], 0xfc
cmp dword [ebp - 0x88], 0
je 0x1014a76a
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + edx*4]
test esi, esi
je case.0x10144a50.112
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 8]
cmp dword [esi + 0x38], eax
jne case.0x10144a50.112
mov eax, dword [esi + 0x2c]
call sym._sqlite3BtreeClearCursor
jmp 0x10147995
mov eax, dword [ebp - 0x80]
mov al, byte [eax + 0x98]
mov byte [ebp - 0x88], al
and eax, 3
dec al
je 0x1014b584
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x8c]
xor ecx, ecx
mov dword [ebp - 0x88], ecx
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xa0], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov esi, dword [eax + 4]
mov dword [ebp - 0xb0], esi
mov esi, dword [ebp - 0x7c]
mov dx, word [esi + 2]
cmp bl, 0x71
jne 0x101478f2
mov eax, dword [eax + 0xc]
mov esi, dword [ebp - 0x80]
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x93]
jb 0x101478e7
mov eax, edx
and eax, 8
or eax, 4
mov dword [ebp - 0x88], eax
jmp 0x101478f2
mov esi, dword [ebp - 0x80]
mov byte [esi + 0x93], al
jmp 0x101478d7
and dl, 0x10
je 0x1014790b
imul ebx, edi, 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
mov eax, ebx
call sym._sqlite3VdbeMemIntegerify.isra.0
mov edi, dword [ebx]
mov eax, dword [ebp - 0x7c]
mov al, byte [eax + 1]
cmp al, 0xf8
jne 0x10147921
mov eax, dword [ebp - 0x7c]
mov ebx, dword [eax + 0x10]
movzx ecx, word [ebx + 8]
jmp 0x10147933
cmp al, 0xfd
jne 0x1014792f
mov eax, dword [ebp - 0x7c]
xor ebx, ebx
mov ecx, dword [eax + 0x10]
jmp 0x10147933
xor ebx, ebx
xor ecx, ecx
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
xor eax, eax
mov dword [esp], eax
mov eax, dword [ebp - 0x80]
call sym._allocateCursor
mov esi, eax
test eax, eax
je 0x1014b789
mov al, byte [ebp - 0xa0]
or byte [esi + 8], 4
mov edx, edi
mov byte [esi + 2], 1
mov byte [esi + 1], al
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x38], edi
mov dword [esp + 4], eax
mov dword [esp], ebx
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0xb0]
call sym._sqlite3BtreeCursor
mov dword [esi + 0x30], ebx
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x7c]
cmp byte [eax + 1], 0xf8
setne byte [esi + 4]
mov eax, dword [ebp - 0x7c]
mov edx, dword [esi + 0x2c]
mov ax, word [eax + 2]
mov word [ebp - 0xa0], ax
and eax, 3
cmp dword [ebp - 0x88], 0
mov byte [edx + 3], al
je case.0x10144a50.89
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
xor esi, esi
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0x7c]
movsx ecx, word [ebx + 0x3c]
mov edx, dword [eax + 4]
mov dword [esp], esi
mov eax, dword [ebp - 0x80]
call sym._allocateCursor
test eax, eax
je 0x1014b789
mov byte [eax + 2], 1
mov ecx, dword [ebx + 0x30]
mov dword [eax + 0x30], ecx
mov dl, byte [ebx + 4]
mov byte [eax + 4], dl
mov edi, dword [ebx + 0x38]
mov esi, dword [ebx + 0x10]
mov dword [eax + 0x38], edi
mov dl, byte [ebx + 8]
mov dword [eax + 0x10], esi
and edx, 4
or edx, 9
mov byte [ebp - 0x88], dl
mov dl, byte [eax + 8]
and edx, 0xfffffff2
or edx, dword [ebp - 0x88]
mov byte [eax + 8], dl
mov edx, edi
or byte [ebx + 8], 8
mov eax, dword [eax + 0x2c]
mov dword [esp], ecx
mov ecx, 4
mov dword [esp + 4], eax
mov eax, esi
call sym._sqlite3BtreeCursor
mov dword [ebp - 0x88], eax
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x10147a6e
imul eax, eax, 0x28
mov edi, dword [ebp - 0x90]
xor edx, edx
add eax, edi
mov dword [eax + 0xc], edx
mov dword [eax + 8], 0x101f6bc4
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 8]
test ebx, ebx
je 0x10147ac0
test byte [ebx + 8], 8
jne 0x10147ac0
movsx eax, word [ebx + 0x3c]
cmp eax, ecx
jl 0x10147ac0
xor eax, eax
mov edx, dword [ebx + 0x38]
xor ecx, ecx
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x10]
call sym._sqlite3BtreeClearTable
mov dword [ebp - 0x88], eax
test eax, eax
je 0x10147c05
jmp 0x1014b58e
xor edi, edi
mov dword [esp], edi
mov eax, dword [ebp - 0x80]
call sym._allocateCursor
mov ebx, eax
test eax, eax
je 0x1014b789
or byte [eax + 8], 1
xor edx, edx
mov dword [esp + 8], 0x41e
mov eax, dword [ebp - 0x7c]
mov ax, word [eax + 2]
mov word [ebp - 0x88], ax
or eax, 5
movzx eax, ax
mov dword [esp + 4], eax
lea eax, [ebx + 0x10]
mov dword [esp], eax
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ecx]
call sym._sqlite3BtreeOpen
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
mov eax, dword [ebx + 0x10]
xor ecx, ecx
mov edx, 1
call sym._sqlite3BtreeBeginTrans
test eax, eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x7c]
jne 0x10147b6d
mov esi, dword [eax + 0x10]
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0x30], esi
test esi, esi
je 0x10147ba9
mov edi, dword [ebp - 0x7c]
lea edx, [ebx + 0x38]
mov cx, word [edi + 2]
or ecx, 2
movzx ecx, cx
call sym._sqlite3BtreeCreateTable
mov dword [ebp - 0x88], eax
test eax, eax
je 0x10147b85
mov byte [ebx + 4], 0
mov eax, dword [ebp - 0x7c]
cmp word [eax + 2], 8
mov al, byte [ebx + 8]
setne dl
shl edx, 2
and eax, 0xfffffffb
or eax, edx
mov byte [ebx + 8], al
jmp 0x10147bf8
mov ecx, dword [ebx + 0x2c]
mov edx, dword [ebx + 0x38]
mov eax, dword [ebx + 0x10]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov ecx, 4
call sym._sqlite3BtreeCursor
mov dword [ebp - 0x88], eax
xor eax, eax
jmp 0x10147bd3
mov edx, dword [ebx + 0x2c]
xor esi, esi
mov ecx, 4
mov dword [ebx + 0x38], 1
mov dword [esp], esi
mov dword [esp + 4], edx
mov edx, 1
call sym._sqlite3BtreeCursor
mov dword [ebp - 0x88], eax
mov al, 1
mov byte [ebx + 4], al
mov eax, dword [ebp - 0x7c]
cmp word [eax + 2], 8
mov al, byte [ebx + 8]
setne dl
shl edx, 2
and eax, 0xfffffffb
or eax, edx
cmp dword [ebp - 0x88], 0
mov byte [ebx + 8], al
je 0x10147c05
mov eax, dword [ebx + 0x10]
call sym._sqlite3BtreeClose.isra.0
jmp 0x1014b58e
mov byte [ebx + 2], 1
jmp 0x1014a76a
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov dword [esp], 1
mov eax, dword [ebp - 0x80]
call sym._allocateCursor
mov ecx, eax
test eax, eax
je 0x1014b789
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x8c]
call sym._sqlite3VdbeSorterInit
mov dword [ebp - 0x88], eax
test eax, eax
je case.0x10144a50.89
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + edx*4]
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
mov ecx, eax
mov ebx, edx
add ecx, 1
adc ebx, 0
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], ebx
jmp 0x10149fc8
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 4]
mov dword [esp], 3
mov eax, dword [ebp - 0x80]
call sym._allocateCursor
test eax, eax
je 0x1014b789
mov edi, dword [ebp - 0x7c]
mov byte [eax + 2], 1
mov edx, dword [edi + 8]
mov byte [eax + 4], 1
mov dword [eax + 0x2c], 0x10170a14
mov dword [eax + 0x24], edx
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov edx, dword [eax + edx*4]
test edx, edx
je 0x10147cdf
mov eax, dword [ebp - 0x80]
call sym._sqlite3VdbeFreeCursorNN
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov dword [eax + edx*4], ecx
jmp case.0x10144a50.89
mov eax, dword [ebp - 0xb0]
xor edi, edi
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + edx*4]
mov eax, dword [ebp - 0x7c]
mov word [esi + 2], 0
imul ecx, dword [eax + 0xc], 0x28
mov eax, dword [ebp - 0x90]
cmp byte [esi + 4], 0
mov dword [esi + 0x20], edi
lea edi, [eax + ecx]
je 0x10147e34
mov eax, dword [edi + 0x10]
mov word [ebp - 0xc0], ax
and eax, 0x2e
cmp ax, 2
jne 0x10147d51
xor edx, edx
mov eax, edi
call sym._applyNumericAffinity
mov eax, edi
call sym._sqlite3VdbeIntValue
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xb8], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0xb4], edx
mov word [edi + 0x10], cx
test al, 0x24
jne 0x10147dee
test al, 8
jne 0x10147db6
cmp dword [ebp - 0xb0], 0x15
jg 0x10144b8b
test al, 1
jne 0x10144b8b
mov eax, dword [esi + 0x2c]
lea edx, [ebp - 0x68]
call sym._sqlite3BtreeLast
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
cmp dword [ebp - 0x68], 0
je 0x10147f36
jmp 0x1014a69a
fild qword [ebp - 0xb8]
fld qword [edi]
fcomi st(1)
ja 0x10147dd8
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x10147dee
and bl, 1
je 0x10147dee
mov eax, dword [ebp - 0xb0]
dec eax
jmp 0x10147de8
fstp st(0)
fstp st(0)
and bl, 1
jne 0x10147dee
mov eax, dword [ebp - 0xb0]
inc eax
mov dword [ebp - 0xa0], eax
xor ecx, ecx
lea edx, [ebp - 0x68]
mov eax, dword [esi + 0x2c]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb4]
call sym._sqlite3BtreeTableMoveto
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0xb8]
cmp dword [ebp - 0x88], 0
mov dword [esi + 0x44], edx
mov dword [esi + 0x40], eax
je 0x10147eaa
jmp 0x1014b58e
mov eax, dword [esi + 0x2c]
and ebx, 1
mov cl, byte [eax + 3]
and ecx, 2
cmp bl, 1
mov byte [ebp - 0xb0], cl
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0x3c], edi
mov byte [ebp - 0x26], 0
mov word [ebp - 0x2c], dx
sbb edx, edx
and edx, 2
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x68]
dec edx
mov byte [ebp - 0x2a], dl
lea edx, [ebp - 0x40]
call sym._sqlite3BtreeIndexMoveto
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
cmp byte [ebp - 0xb0], 0
mov eax, dword [ebp - 0x68]
je 0x10147eaa
cmp byte [ebp - 0x26], 0
mov ebx, 1
jne 0x10147eac
test eax, eax
jne 0x1014a69a
add dword [ebp - 0x7c], 0x14
jmp 0x10147f36
xor ebx, ebx
cmp dword [ebp - 0xa0], 0x15
mov eax, dword [ebp - 0x68]
jle 0x10147ef9
test eax, eax
js 0x10147ec9
cmp dword [ebp - 0xa0], 0x17
jne 0x10147ef2
test eax, eax
jne 0x10147ef2
xor edx, edx
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x68], edx
call sym._sqlite3BtreeNext.constprop.0
mov dword [ebp - 0x88], eax
test eax, eax
je 0x10147f24
cmp eax, 0x65
jne 0x1014b58e
mov dword [ebp - 0x68], 1
jmp 0x10147f24
xor eax, eax
mov dword [ebp - 0x68], eax
jmp 0x10147f24
mov edx, dword [esi + 0x2c]
test eax, eax
jg 0x10147f0b
jne 0x10147f19
cmp dword [ebp - 0xa0], 0x14
jne 0x10147f19
xor eax, eax
mov dword [ebp - 0x68], eax
mov eax, edx
call sym._sqlite3BtreePrevious.constprop.0
jmp 0x10147ed6
xor eax, eax
cmp byte [edx], 0
setne al
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
jne 0x1014a69a
test ebx, ebx
jne 0x10147ea1
xor eax, eax
mov dword [ebp - 0x88], eax
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebx + 0x2c]
cmp byte [eax], 0
jne case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x90]
mov edi, dword [eax + 4]
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x24]
mov byte [ebp - 0x52], 0
mov word [ebp - 0x54], ax
mov eax, dword [ebp - 0x7c]
imul eax, dword [eax + 0x20], 0x28
add eax, esi
mov dword [ebp - 0x64], eax
mov esi, dword [ebx + 0x2c]
mov eax, esi
call sym._getCellInfo
mov eax, dword [esi + 0x2c]
xor edx, edx
mov ecx, 0x7ffffffe
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
add eax, 0xffffffff
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
adc edx, 0xffffffff
mov dword [ebp - 0x9c], edx
cmp ecx, eax
mov eax, 0
sbb eax, dword [ebp - 0x9c]
jae 0x10147fe8
mov eax, 0x14eb8
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
test eax, eax
jmp 0x1014a694
mov eax, dword [ebp - 0x8c]
mov word [ebp - 0x30], 0
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, esi
call sym._sqlite3VdbeMemFromBtreeZeroOffset
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
xor eax, eax
lea ecx, [ebp - 0x68]
mov dword [esp], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
call sym._sqlite3VdbeRecordCompareWithSkip
mov esi, eax
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemReleaseMalloc
test esi, esi
jle 0x10148044
add dword [ebp - 0x7c], 0x14
jmp 0x1014a69a
je 0x1014a69a
test edi, edi
jle case.0x10144a50.89
mov eax, dword [ebx + 0x2c]
dec edi
call sym._sqlite3BtreeNext.constprop.0
mov dword [ebp - 0x88], eax
test eax, eax
je 0x10147f8a
cmp eax, 0x65
je 0x1014803b
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
mov edx, dword [esi + 8]
movzx ecx, word [eax + 0xc]
cmp ecx, edx
jge 0x10148099
mov word [eax + 0xc], dx
jmp case.0x10144a50.89
mov esi, dword [ebp - 0x7c]
mov edx, dword [esi + 0xc]
cmp ecx, edx
jle case.0x10144a50.89
mov word [eax + 0xc], dx
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
cmp dword [eax + edx*4], 0
jne case.0x10144a50.89
jmp case.0x10144a50.8
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
movzx eax, word [eax + 0xc]
cmp eax, dword [edi + 0x10]
jge case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x90]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0x7c]
mov edx, dword [edi + 0x10]
imul eax, dword [eax + 0xc], 0x28
mov word [ebp - 0x2c], dx
add eax, esi
mov dword [ebp - 0x3c], eax
test dx, dx
je 0x1014813a
mov eax, dword [ebx + 0x30]
mov byte [ebp - 0x2a], 0
lea ecx, [ebx + 0x24]
lea edx, [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x2c]
call sym._sqlite3BtreeIndexMoveto
mov dword [ebp - 0x88], eax
jmp 0x1014819a
test byte [eax + 0x11], 4
jne 0x1014818c
mov eax, dword [ebx + 0x30]
call sym._sqlite3VdbeAllocUnpackedRecord
mov esi, eax
test eax, eax
je 0x1014b789
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebx + 0x30]
mov dword [esp], esi
call sym._sqlite3VdbeRecordUnpack
mov byte [esi + 0x16], 0
mov eax, dword [ebx + 0x2c]
mov edx, esi
lea ecx, [ebx + 0x24]
call sym._sqlite3BtreeIndexMoveto
mov edx, esi
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
call sym._sqlite3DbFreeNN
jmp 0x1014819a
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
je 0x10148140
jmp 0x1014b789
cmp dword [ebp - 0x88], 0
jne 0x1014b58e
mov eax, dword [ebx + 0x24]
mov esi, dword [ebp - 0x7c]
mov dl, 1
mov byte [ebx + 3], 0
cmp eax, 1
sbb dl, 0
xor edi, edi
mov byte [ebx + 2], dl
mov dword [ebx + 0x20], edi
mov dl, byte [esi]
cmp dl, 0x1c
jne 0x101481d5
test eax, eax
jne 0x101488bc
jmp 0x1014a69a
test eax, eax
jne 0x1014a69a
cmp dl, 0x1a
jne 0x10148202
movzx edx, word [ebp - 0x2c]
mov ecx, dword [ebp - 0x3c]
cmp edx, eax
jle 0x101488bc
imul ebx, eax, 0x28
test byte [ecx + ebx + 0x10], 1
jne 0x1014a69a
inc eax
jmp 0x101481e9
cmp dl, 0x19
jne 0x101488bc
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
mov word [ebx + 0xc], ax
jmp 0x101488bc
mov eax, dword [ebp - 0x7c]
imul esi, dword [eax + 0xc], 0x28
mov eax, dword [ebp - 0x90]
add esi, eax
test byte [esi + 0x10], 0x24
jne case.0x10144a50.30
lea edi, [ebp - 0x40]
mov ecx, 0xa
lea eax, [ebp - 0x40]
mov edx, 0x43
rep movsd dword es:[edi], dword [esi]
movzx ecx, byte [ebp - 0x95]
call sym._applyAffinity
test byte [ebp - 0x30], 4
je 0x10144b8b
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x3c]
jmp 0x10148273
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 0xc], 0x28
mov esi, dword [edi + eax]
mov edi, dword [edi + eax + 4]
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
xor edx, edx
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0x40], edx
lea edx, [ebp - 0x40]
mov dword [esp + 4], edx
mov edx, esi
mov dword [esp], ecx
mov ecx, edi
call sym._sqlite3BtreeTableMoveto
mov dword [ebx + 0x40], esi
xor esi, esi
mov dword [ebp - 0x88], eax
mov dword [ebx + 0x20], esi
mov word [ebx + 2], 0
mov eax, dword [ebp - 0x40]
mov dword [ebx + 0x44], edi
mov dword [ebx + 0x24], eax
test eax, eax
je 0x101482dd
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 8], 0
jne 0x10144b8b
mov eax, 0x16d38
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je case.0x10144a50.89
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov edi, eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + edx*4]
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
mov ecx, eax
mov ebx, edx
add ecx, 1
adc ebx, 0
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], ebx
mov dword [edi], eax
mov dword [edi + 4], edx
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
xor edi, edi
mov dword [ebp - 0x68], edi
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
test byte [ebx + 8], 2
jne 0x101483ca
mov eax, dword [ebx + 0x2c]
lea edx, [ebp - 0x68]
call sym._sqlite3BtreeLast
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
cmp dword [ebp - 0x68], 0
je 0x10148395
xor esi, esi
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x3c], esi
jmp 0x101483ca
mov esi, dword [ebx + 0x2c]
mov eax, esi
call sym._getCellInfo
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
cmp edx, 0x7fffffff
jne 0x101483be
cmp eax, 0xffffffff
jne 0x101483be
or byte [ebx + 8], 2
jmp 0x101483ca
add eax, 1
adc edx, 0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1014844f
mov esi, dword [ebp - 0x80]
imul eax, eax, 0x28
mov edi, dword [ebp - 0x90]
mov edx, dword [esi + 0xd0]
lea esi, [edi + eax]
test edx, edx
je 0x101483fb
mov ecx, edx
mov edx, dword [edx + 4]
test edx, edx
jne 0x101483ed
add eax, dword [ecx + 0x10]
mov esi, eax
mov eax, esi
call sym._sqlite3VdbeMemIntegerify.isra.0
mov edx, dword [esi + 4]
mov eax, dword [esi]
cmp edx, 0x7fffffff
jne 0x10148423
cmp eax, 0xffffffff
jne 0x10148423
mov dword [ebp - 0x88], 0xd
jmp 0x1014b58e
test byte [ebx + 8], 2
jne 0x10148414
cmp eax, dword [ebp - 0x40]
mov edi, edx
sbb edi, dword [ebp - 0x3c]
jl 0x1014843f
add eax, 1
adc edx, 0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x101484d2
test byte [ebx + 8], 2
je 0x101484d2
mov edi, 0x64
lea eax, [ebp - 0x40]
mov dword [esp], 8
mov dword [esp + 4], eax
call sym._sqlite3_randomness
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x68]
mov esi, dword [ebx + 0x2c]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x3c]
and eax, 0x3fffffff
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0xfc]
add eax, 1
adc edx, 0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov dword [esp + 4], ecx
xor ecx, ecx
mov dword [esp], ecx
mov ecx, edx
mov edx, eax
mov eax, esi
call sym._sqlite3BtreeTableMoveto
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
cmp dword [ebp - 0x68], 0
jne 0x101484d2
dec edi
jne 0x1014845a
jmp 0x10148414
xor esi, esi
mov byte [ebx + 3], 0
mov eax, dword [ebp - 0x40]
mov dword [ebx + 0x20], esi
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0xa0]
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x90]
imul eax, dword [eax + 8], 0x28
add eax, esi
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov edx, dword [eax + 0x60]
mov eax, dword [ebp - 0x7c]
mov ebx, dword [edx + ecx*4]
imul edx, dword [eax + 0xc], 0x28
mov eax, esi
mov edi, dword [eax + edx + 4]
mov esi, dword [esi + edx]
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], edi
cmp byte [eax + 1], 0xfb
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0xac], edi
jne 0x10148569
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0xfc], 0
je 0x10148569
movsx edx, byte [ebx + 1]
shl edx, 4
add edx, dword [eax + 0x10]
mov eax, dword [edx]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x7c]
mov esi, dword [eax + 0x10]
jmp 0x10148573
xor ecx, ecx
xor esi, esi
mov dword [ebp - 0xa0], ecx
mov eax, dword [ebp - 0x7c]
mov cx, word [eax + 2]
test cl, 1
je 0x1014858a
mov eax, dword [ebp - 0x80]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
test cl, 0x20
je 0x101485a7
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xac]
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], edx
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 8]
mov dword [ebp - 0x30], edx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x24], edx
xor edx, edx
test cl, 0x10
je 0x101485c3
mov edx, dword [ebx + 0x24]
mov edi, dword [ebp - 0x88]
xor eax, eax
test byte [edi + 0x11], 4
je 0x101485d3
mov eax, dword [edi]
xor edi, edi
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x2c]
and ecx, 0x8a
mov dword [ebp - 0x40], edi
mov dword [esp], edx
lea edx, [ebp - 0x40]
call sym._sqlite3BtreeInsert
xor edx, edx
mov byte [ebx + 3], 0
mov dword [ebp - 0x88], eax
mov dword [ebx + 0x20], edx
test eax, eax
jne 0x1014b58e
test esi, esi
je 0x101488bc
mov eax, dword [ebp - 0x8c]
mov ecx, dword [esi]
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov edx, dword [eax + 0xfc]
mov eax, dword [ebp - 0x7c]
mov ax, word [eax + 2]
mov word [ebp - 0x88], ax
and eax, 4
cmp ax, 1
mov dword [esp + 0x10], ebx
sbb eax, eax
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], ecx
and eax, 0xfffffffb
mov edi, dword [ebp - 0xa0]
add eax, 0x17
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xf8]
mov dword [esp], eax
call edx
jmp 0x101488bc
mov edi, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x80]
xor ebx, ebx
mov eax, dword [eax + 0x60]
mov ecx, dword [edi + 8]
mov edx, dword [edi + 4]
mov esi, dword [eax + ecx*4]
xor ecx, ecx
mov edx, dword [eax + edx*4]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1014869f
imul eax, eax, 0x28
mov edi, dword [ebp - 0x90]
mov ecx, dword [edi + eax]
mov ebx, dword [edi + eax + 4]
mov esi, dword [esi + 0x2c]
mov eax, dword [edx + 0x2c]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov edx, esi
call sym._sqlite3BtreeTransferRow
mov dword [ebp - 0x88], eax
test eax, eax
je case.0x10144a50.89
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 8]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0x7c]
cmp byte [eax + 1], 0xfb
jne 0x1014873f
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0xfc], 0
je 0x1014873f
mov esi, dword [ebp - 0x8c]
movsx eax, byte [ebx + 1]
shl eax, 4
add eax, dword [esi + 0x10]
mov edi, dword [eax]
mov eax, dword [ebp - 0x7c]
mov esi, dword [eax + 0x10]
test byte [eax + 2], 2
je 0x10148743
cmp byte [ebx + 4], 0
je 0x10148743
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0x88], eax
call sym._getCellInfo
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov dword [ebx + 0x44], edx
mov dword [ebx + 0x40], eax
jmp 0x10148743
xor esi, esi
xor edi, edi
mov eax, dword [ebp - 0x7c]
movzx edx, byte [eax + 2]
mov eax, dword [ebx + 0x2c]
call sym._sqlite3BtreeDelete
xor edx, edx
mov dword [ebp - 0x88], eax
mov dword [ebx + 0x20], edx
mov dword [ebx + 0x24], edx
test eax, eax
jne 0x1014b58e
test byte [ebp - 0xa0], 1
je 0x101488bc
mov eax, dword [ebp - 0x80]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xfc]
test esi, esi
je 0x101488bc
test eax, eax
je 0x101488bc
test byte [esi + 0x1c], 0x80
jne 0x101488bc
mov ecx, dword [ebx + 0x40]
mov ebx, dword [ebx + 0x44]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
mov edx, dword [esi]
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 4], 9
mov esi, dword [ebp - 0x8c]
mov edx, dword [esi + 0xf8]
mov dword [esp], edx
call eax
jmp 0x1014a150
mov eax, dword [ebp - 0x80]
mov edi, dword [ebp - 0x8c]
mov edx, dword [eax + 0x2c]
mov eax, dword [eax + 0x28]
add dword [edi + 0x70], eax
mov dword [edi + 0x68], eax
mov eax, dword [ebp - 0x80]
adc dword [edi + 0x74], edx
xor ebx, ebx
mov dword [edi + 0x6c], edx
mov dword [eax + 0x28], ebx
mov dword [eax + 0x2c], ebx
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov esi, dword [edi + 0xc]
mov eax, dword [eax + 0x60]
mov dword [ebp - 0xa0], esi
mov esi, dword [edi + 0x10]
mov eax, dword [eax + edx*4]
mov edi, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
mov ebx, dword [edi + 0x20]
mov dword [ebp - 0x88], eax
test ebx, ebx
jne 0x10148859
call sym._sqlite3VdbeAllocUnpackedRecord
mov dword [edi + 0x20], eax
mov ebx, eax
test eax, eax
jne 0x10148855
mov dword [ebp - 0x88], 7
jmp 0x1014b58e
mov word [eax + 0x14], si
lea edx, [ebp - 0x40]
mov eax, edi
call sym._vdbeSorterRowkey
mov dword [esp], ebx
mov edx, dword [ebp - 0x40]
mov ecx, eax
mov eax, dword [ebp - 0x88]
call sym._sqlite3VdbeRecordUnpack
xor eax, eax
cmp esi, eax
jle 0x1014888f
imul edx, eax, 0x28
add edx, dword [ebx + 4]
test byte [edx + 0x10], 1
jne 0x1014a69a
inc eax
jmp 0x10148878
imul eax, dword [ebp - 0xa0], 0x28
mov esi, dword [ebp - 0x90]
mov dword [esp + 8], ebx
add eax, esi
mov edx, dword [eax + 8]
mov dword [esp + 4], edx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sym._sqlite3VdbeRecordCompare
test eax, eax
jne 0x1014a69a
xor ecx, ecx
mov dword [ebp - 0x88], ecx
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
imul ebx, dword [eax + 8], 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
lea edx, [ebp - 0x40]
mov eax, dword [eax + 0x2c]
call sym._vdbeSorterRowkey
mov ecx, dword [ebp - 0x40]
mov esi, eax
mov eax, ebx
mov edx, ecx
mov dword [ebp - 0x88], ecx
call sym._sqlite3VdbeMemClearAndResize
test eax, eax
jne 0x10148947
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0x88]
mov edi, dword [ebx + 8]
and ax, 0xf240
mov dword [ebx + 0xc], ecx
or eax, 0x10
mov word [ebx + 0x10], ax
mov eax, dword [ebp - 0x7c]
rep movsb byte es:[edi], byte [esi]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
xor edx, edx
mov dword [eax + 0x20], edx
xor eax, eax
mov dword [ebp - 0x88], eax
jmp case.0x10144a50.89
mov dword [ebp - 0x88], 7
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov esi, eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
mov ebx, dword [eax + 0x2c]
mov eax, ebx
call sym._getCellInfo
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebx + 0x2c]
cmp dword [eax + 0x78], edx
jb 0x1014b749
mov ecx, esi
mov eax, ebx
call sym._sqlite3VdbeMemFromBtreeZeroOffset
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0xc], 0
jne 0x101488bc
test byte [esi + 0x11], 0x40
je 0x101488bc
mov eax, esi
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x101488bc
jmp 0x1014b789
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov esi, eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
cmp byte [ebx + 2], 0
je 0x10148a09
mov word [esi + 0x10], 1
jmp case.0x10144a50.89
cmp byte [ebx + 3], 0
je 0x10148a1d
mov eax, dword [ebx + 0x40]
mov edx, dword [ebx + 0x44]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x10148a98
cmp byte [ebx], 2
jne 0x10148a54
mov eax, dword [ebx + 0x2c]
lea ecx, [ebp - 0x40]
mov ebx, dword [eax]
mov edx, dword [ebx]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x30]
mov edx, ebx
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
cmp dword [ebp - 0x88], 0
je 0x10148a90
jmp 0x1014b58e
mov eax, ebx
call sym._sqlite3VdbeCursorRestore
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
cmp byte [ebx + 2], 0
je 0x10148a7a
mov word [esi + 0x10], 1
jmp case.0x10144a50.89
mov ebx, dword [ebx + 0x2c]
mov eax, ebx
call sym._getCellInfo
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
xor edi, edi
mov dword [ebp - 0x88], edi
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
test eax, eax
jne 0x10148aeb
mov dword [esp], 3
mov eax, dword [ebp - 0x80]
mov ecx, 1
call sym._allocateCursor
test eax, eax
je 0x1014b789
xor esi, esi
or byte [eax + 8], 8
mov dword [eax + 0x24], esi
mov byte [eax + 4], 1
mov dword [eax + 0x2c], 0x10170a14
xor ebx, ebx
cmp byte [eax], 0
mov byte [eax + 2], 1
mov dword [eax + 0x20], ebx
jne case.0x10144a50.89
mov eax, dword [eax + 0x2c]
call sym._sqlite3BtreeClearCursor
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + edx*4]
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x40], ecx
cmp bl, 0x89
je 0x10148b51
lea edx, [ebp - 0x40]
call sym._sqlite3BtreeLast
xor edx, edx
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x88], 0
mov byte [esi + 3], 0
mov byte [esi + 2], al
mov dword [esi + 0x20], edx
je 0x10148b63
jmp 0x1014b58e
mov dword [esi + 0x24], 0xffffffff
cmp byte [eax], 0
je case.0x10144a50.89
jmp 0x10148b26
mov esi, dword [ebp - 0x7c]
cmp dword [esi + 8], 0
jg 0x101460b1
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
lea edx, [ebp - 0x40]
mov ebx, dword [eax + 0x2c]
mov eax, ebx
call sym._sqlite3BtreeFirst
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
cmp dword [ebp - 0x40], 0
jne 0x1014a69a
mov eax, ebx
call sym._sqlite3BtreeRowCountEst
test edx, edx
js 0x1014a150
call sym._sqlite3LogEst
mov edi, dword [ebp - 0x7c]
cwde
cmp eax, dword [edi + 0xc]
jl 0x1014a69a
jmp 0x1014a150
mov eax, dword [ebp - 0x80]
inc dword [eax + 0xac]
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + edx*4]
mov dword [ebp - 0x40], 1
cmp byte [esi], 1
mov ebx, dword [esi + 0x2c]
jne 0x10148c4c
cmp byte [ebx + 0x38], 0
jne 0x10148c1a
cmp dword [ebx + 0x24], 0
je 0x10148c72
xor eax, eax
lea edx, [ebx + 0x24]
mov dword [ebp - 0x40], eax
lea eax, [ebx + 0x40]
call sym._vdbeSorterSort
mov dword [ebp - 0x88], eax
jmp 0x10148c65
mov eax, ebx
call sym._vdbeSorterFlushPMA
mov edx, eax
mov eax, ebx
call sym._vdbeSorterJoinAll
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
mov eax, ebx
xor edi, edi
call sym._vdbeSorterSetupMerge
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x88], eax
jmp 0x10148c65
mov eax, ebx
lea edx, [ebp - 0x40]
xor ebx, ebx
call sym._sqlite3BtreeFirst
mov byte [esi + 3], 0
mov dword [ebp - 0x88], eax
mov dword [esi + 0x20], ebx
cmp dword [ebp - 0x88], 0
jne 0x1014b58e
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x88], eax
mov al, byte [ebp - 0x88]
cmp dword [ebp - 0x88], 0
mov byte [esi + 2], al
jmp 0x1014adf1
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov esi, dword [ebx + 0x2c]
cmp byte [esi + 0x38], 0
je 0x10148d04
cmp byte [esi + 0x39], 0
je 0x10148cd3
mov eax, dword [esi + 0x10]
call sym._vdbePmaReaderNext
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x10148cfa
mov eax, dword [esi + 0x10]
cmp dword [eax + 0x18], 0
jne 0x10148cf3
xor ecx, ecx
mov dword [ebx + 0x20], ecx
jmp 0x10148d94
xor eax, eax
lea edx, [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov eax, dword [esi + 0x14]
call sym._vdbeMergeEngineStep
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x10148cfa
cmp dword [ebp - 0x40], 0
jne 0x10148cc9
xor edx, edx
mov dword [ebx + 0x20], edx
jmp 0x10148d6d
xor eax, eax
mov dword [ebx + 0x20], eax
jmp 0x10148d87
mov edx, dword [esi + 0x24]
mov eax, dword [edx + 4]
mov dword [esi + 0x24], eax
xor eax, eax
cmp dword [esi + 0x28], 0
mov dword [edx + 4], eax
jne 0x10148d23
mov eax, dword [ebp - 0x8c]
call sym._vdbeSorterRecordFree
cmp dword [esi + 0x24], 0
jmp 0x10148cc7
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebx + 0x2c]
call sym._sqlite3BtreePrevious.constprop.0
jmp 0x10148d59
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebx + 0x2c]
call sym._sqlite3BtreeNext.constprop.0
mov dword [ebp - 0x88], eax
xor eax, eax
cmp dword [ebp - 0x88], 0
mov dword [ebx + 0x20], eax
jne 0x10148d87
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x80]
mov byte [ebx + 2], 0
movzx eax, word [eax + 2]
inc dword [esi + eax*4 + 0xa4]
jmp 0x1014af59
cmp dword [ebp - 0x88], 0x65
jne 0x1014b58e
xor eax, eax
mov byte [ebx + 2], 1
mov dword [ebp - 0x88], eax
jmp 0x10144a9c
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + edx*4]
mov eax, dword [ebp - 0x7c]
imul ebx, dword [eax + 8], 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
mov eax, dword [ebp - 0x7c]
test byte [eax + 2], 1
je 0x10148dd7
mov eax, dword [ebp - 0x80]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
test byte [ebx + 0x11], 4
jne 0x10148e1e
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0x90]
xor edx, edx
mov dword [ebp - 0x38], eax
sar eax, 0x1f
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x7c]
imul eax, dword [eax + 0xc], 0x28
add eax, edi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0x7c]
mov cx, word [eax + 2]
test cl, 0x10
je 0x10148e34
mov edx, dword [esi + 0x24]
jmp 0x10148e34
mov eax, ebx
call sym._sqlite3VdbeMemExpandBlob
mov dword [ebp - 0x88], eax
test eax, eax
je 0x10148ddd
jmp 0x1014b58e
mov eax, dword [esi + 0x2c]
mov dword [esp], edx
and ecx, 0x8a
lea edx, [ebp - 0x40]
xor edi, edi
call sym._sqlite3BtreeInsert
mov dword [esi + 0x20], edi
mov dword [ebp - 0x88], eax
jmp 0x1014a57e
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + edx*4]
mov eax, dword [ebp - 0x7c]
imul ebx, dword [eax + 8], 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
test byte [ebx + 0x11], 4
jne 0x10148e8b
mov eax, dword [esi + 0x2c]
mov edx, ebx
call sym._sqlite3VdbeSorterWrite.isra.0
jmp 0x1014a578
mov eax, ebx
call sym._sqlite3VdbeMemExpandBlob
mov dword [ebp - 0x88], eax
test eax, eax
je 0x10148e7c
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
lea ecx, [ebp - 0x68]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
lea edx, [ebp - 0x40]
mov eax, dword [ebx + 0x30]
mov esi, dword [ebx + 0x2c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0xc]
mov byte [ebp - 0x2a], 0
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x7c]
imul eax, dword [eax + 8], 0x28
add eax, edi
mov dword [ebp - 0x3c], eax
mov eax, esi
call sym._sqlite3BtreeIndexMoveto
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
cmp dword [ebp - 0x68], 0
jne 0x10148f15
mov edx, 4
mov eax, esi
call sym._sqlite3BtreeDelete
mov dword [ebp - 0x88], eax
test eax, eax
je 0x10148f54
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
cmp word [eax + 2], 0
je 0x10148f54
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x20]
and eax, 0x10000001
xor eax, 1
or eax, 0
je 0x10148f54
mov ecx, str.index_corruption
mov edx, 0x1715d
mov eax, 0x30b
call sym._sqlite3ReportError
mov dword [ebp - 0x88], eax
jmp 0x1014b58e
xor esi, esi
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x24], esi
jmp 0x1014a150
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0xa0], eax
call sym._sqlite3VdbeCursorRestore
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
mov eax, dword [ebp - 0xa0]
cmp byte [eax + 2], 0
jne 0x101490c5
mov ebx, dword [eax + 0x2c]
mov eax, ebx
call sym._getCellInfo
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
mov edx, dword [ebx + 0x2c]
mov dword [ebp - 0x50], ecx
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x54], eax
mov eax, ebx
mov word [ebp - 0x58], 0
call sym._sqlite3VdbeMemFromBtreeZeroOffset
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
mov ebx, dword [ebp - 0x60]
movzx eax, byte [ebx]
mov dword [ebp - 0x70], eax
cmp eax, 0x7f
jbe 0x10148fea
lea edx, [ebp - 0x70]
mov eax, ebx
call sym._sqlite3GetVarint32
mov esi, dword [ebp - 0x70]
cmp esi, 2
jbe 0x1014904a
mov edi, dword [ebp - 0x5c]
cmp edi, esi
jb 0x1014904a
lea eax, [ebx + esi - 1]
movzx edx, byte [eax]
mov dword [ebp - 0x6c], edx
cmp edx, 0x7f
jbe 0x10149010
lea edx, [ebp - 0x6c]
call sym._sqlite3GetVarint32
mov edx, dword [ebp - 0x6c]
lea eax, [edx - 1]
cmp eax, 8
ja 0x1014904a
cmp edx, 7
je 0x1014904a
movzx eax, byte [edx + 0x10200460]
add esi, eax
cmp edi, esi
jb 0x1014904a
sub edi, eax
lea ecx, [ebp - 0x40]
lea eax, [ebx + edi]
call sym._sqlite3VdbeSerialGet
lea eax, [ebp - 0x68]
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x3c]
call sym._sqlite3VdbeMemReleaseMalloc
jmp 0x1014906e
lea eax, [ebp - 0x68]
call sym._sqlite3VdbeMemReleaseMalloc
mov eax, 0x14e97
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
xor esi, esi
xor edi, edi
mov eax, dword [ebp - 0x7c]
cmp byte [eax], 0x8d
jne 0x101490aa
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
xor edx, edx
mov dword [eax + 0x40], esi
mov esi, dword [ebp - 0x7c]
mov word [eax + 2], 0x100
mov dword [eax + 0x20], edx
mov edx, dword [esi + 0x10]
mov esi, dword [ebp - 0xa0]
mov dword [eax + 0x44], edi
mov dword [eax + 0x10], edx
mov dword [eax + 0x28], esi
jmp 0x1014a150
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov dword [eax], esi
mov dword [eax + 4], edi
jmp 0x1014a150
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 8], 0x28
add eax, edi
call sym._sqlite3VdbeMemSetNull
jmp 0x1014a150
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
cmp byte [eax + 3], 0
je case.0x10144a50.89
call sym._sqlite3VdbeFinishMoveto
jmp 0x1014a578
mov eax, dword [ebp - 0x7c]
cmp bl, 0x28
mov esi, dword [ebp - 0x90]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov edx, dword [eax + edx*4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
mov word [ebp - 0x54], ax
setbe al
neg eax
mov byte [ebp - 0x52], al
mov eax, dword [ebp - 0x7c]
mov ebx, dword [edx + 0x2c]
imul eax, dword [eax + 0xc], 0x28
add eax, esi
mov dword [ebp - 0x64], eax
mov eax, ebx
call sym._getCellInfo
mov esi, dword [ebx + 0x2c]
xor edx, edx
mov ecx, 0x7ffffffe
mov eax, esi
add eax, 0xffffffff
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
adc edx, 0xffffffff
mov dword [ebp - 0x84], edx
cmp ecx, eax
mov eax, 0
sbb eax, dword [ebp - 0x84]
jae 0x1014918f
mov eax, 0x1722a
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
jmp 0x1014b58e
mov eax, dword [ebp - 0x8c]
mov word [ebp - 0x30], 0
lea ecx, [ebp - 0x40]
mov edx, esi
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, ebx
call sym._sqlite3VdbeMemFromBtreeZeroOffset
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
xor eax, eax
lea ecx, [ebp - 0x68]
mov dword [esp], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
call sym._sqlite3VdbeRecordCompareWithSkip
mov ebx, eax
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemReleaseMalloc
mov edi, dword [ebp - 0x7c]
mov eax, ebx
neg eax
test byte [edi], 1
jne 0x101491e9
lea eax, [ebx + 1]
test eax, eax
jle 0x1014a150
jmp 0x1014a69a
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov esi, dword [ebp - 0x8c]
mov word [eax + 0x10], 1
mov ebx, eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xcc]
mov dword [ebp - 0x88], eax
inc eax
cmp dword [esi + 0xc0], eax
jle 0x10149249
mov dword [ebp - 0x88], 6
mov eax, dword [ebp - 0x80]
mov byte [eax + 0x92], 2
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xa0], eax
xor eax, eax
mov edi, dword [ebp - 0xa0]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x7c]
shl edi, 4
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x88], edx
mov esi, dword [eax + edi + 4]
mov eax, esi
call sym._sqlite3BtreeEnter
mov edx, dword [ebp - 0x88]
lea ecx, [ebp - 0x40]
mov eax, esi
call sym._btreeDropTable
mov dword [ebp - 0x88], eax
mov eax, esi
call sym._sqlite3BtreeLeave
mov eax, dword [ebp - 0x40]
mov word [ebx + 0x10], 4
mov esi, eax
mov dword [ebx], eax
sar esi, 0x1f
cmp dword [ebp - 0x88], 0
mov dword [ebx + 4], esi
jne 0x1014b58e
test eax, eax
je case.0x10144a50.89
mov esi, dword [ebp - 0x7c]
mov ecx, dword [esi + 4]
mov esi, dword [ebp - 0x8c]
mov edx, dword [esi + 0x10]
mov ebx, dword [edx + edi + 0xc]
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x101492f1
mov esi, dword [edx + 8]
cmp eax, dword [esi + 0x14]
jne 0x101492ed
mov dword [esi + 0x14], ecx
mov edx, dword [edx]
jmp 0x101492de
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x10149307
mov ebx, dword [edx + 8]
cmp eax, dword [ebx + 0x2c]
jne 0x10149303
mov dword [ebx + 0x2c], ecx
mov edx, dword [edx]
jmp 0x101492f4
mov al, byte [ebp - 0xa0]
inc eax
mov byte [ebp - 0xa5], al
jmp case.0x10144a50.89
xor eax, eax
mov edi, dword [ebp - 0x8c]
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x88], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 4]
call sym._sqlite3BtreeClearTable
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1014a143
mov edi, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
add dword [edi + 0x28], ecx
adc dword [edi + 0x2c], ebx
test eax, eax
jle 0x1014a143
imul eax, eax, 0x28
mov edi, dword [ebp - 0x90]
add dword [edi + eax], ecx
adc dword [edi + eax + 4], ebx
jmp 0x1014a143
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
cmp byte [eax], 1
mov edx, dword [eax + 0x2c]
jne 0x101493ae
mov eax, dword [ebp - 0x8c]
call sym._sqlite3VdbeSorterReset
jmp case.0x10144a50.89
mov ebx, dword [edx + 0x40]
mov eax, dword [edx + 8]
xor ecx, ecx
mov edx, ebx
call sym._sqlite3BtreeClearTable
mov dword [ebp - 0x88], eax
test eax, eax
je case.0x10144a50.89
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
xor edi, edi
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov dword [ebp - 0x40], edi
mov edi, dword [ebp - 0x8c]
lea edx, [ebp - 0x40]
mov ebx, eax
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 4]
mov dword [ebp - 0x88], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 4]
call sym._sqlite3BtreeCreateTable
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
mov eax, dword [ebp - 0x40]
xor esi, esi
mov dword [ebx + 4], esi
mov dword [ebx], eax
jmp 0x1014a150
mov eax, dword [ebp - 0x8c]
xor ebx, ebx
inc byte [eax + 0x60]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call sym._sqlite3_exec
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
dec byte [eax + 0x60]
jmp 0x1014a143
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x8c]
mov ebx, dword [eax + 4]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x80]
lea esi, [eax + 0x7c]
mov eax, ebx
shl eax, 4
add eax, dword [edi + 0x10]
test edx, edx
jne 0x101494dc
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sym._sqlite3SchemaClear
mov eax, dword [ebp - 0x8c]
mov ecx, esi
mov edx, ebx
and dword [eax + 0x18], 0xffffffef
mov eax, dword [ebp - 0x7c]
movzx eax, word [eax + 2]
mov dword [esp], eax
mov eax, dword [ebp - 0x8c]
call sym._sqlite3InitOne
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
or dword [eax + 0x18], 1
mov eax, dword [ebp - 0x80]
and byte [eax + 0x98], 0xfc
jmp 0x101495f6
xor ecx, ecx
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x30], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x40], edi
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x3c], esi
mov ecx, dword [ecx + 0x30]
mov dword [ebp - 0x28], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.sqlite_master
mov eax, dword [eax]
mov dword [esp + 4], str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov dword [esp + 8], eax
mov dword [esp], edi
call sym._sqlite3MPrintf
mov edx, eax
test eax, eax
je 0x10149605
mov eax, dword [ebp - 0x8c]
mov byte [eax + 0xb1], 1
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], eax
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x40]
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp + 8], sym._sqlite3InitCallback
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], edx
mov dword [esp], eax
call sym._sqlite3_exec
mov edx, dword [ebp - 0xa0]
test eax, eax
mov dword [ebp - 0x88], eax
jne 0x10149585
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1014959f
mov eax, dword [ebp - 0x8c]
call sym._sqlite3DbFreeNN
mov eax, dword [ebp - 0x8c]
mov byte [eax + 0xb1], 0
jmp 0x1014960f
cmp dword [ebp - 0x2c], 0
je 0x101495c2
mov eax, dword [ebp - 0x8c]
call sym._sqlite3DbFreeNN
mov eax, dword [ebp - 0x8c]
mov byte [eax + 0xb1], 0
jmp 0x1014a150
mov eax, 0x17326
mov dword [ebp - 0xa0], edx
call sym._sqlite3CorruptError
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
call sym._sqlite3DbFreeNN
mov eax, dword [ebp - 0x8c]
mov byte [eax + 0xb1], 0
cmp dword [ebp - 0x88], 0
je 0x1014a150
jmp 0x1014960f
mov dword [ebp - 0x88], 7
mov eax, dword [ebp - 0x8c]
call sym._sqlite3ResetAllSchemasOfConnection
cmp dword [ebp - 0x88], 7
jne 0x1014b58e
jmp 0x1014b789
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x8c]
call sym._sqlite3AnalysisLoad
jmp 0x1014a578
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x8c]
xor ecx, ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0xa0], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
add eax, 8
call sym._sqlite3HashInsert
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call sym._sqlite3DeleteTable
mov eax, dword [ebp - 0x8c]
or dword [eax + 0x18], 1
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x8c]
xor ecx, ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0xa0], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
add eax, 0x18
call sym._sqlite3HashInsert
mov edx, eax
test eax, eax
je 0x101496eb
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 8]
cmp edx, eax
jne 0x101496d4
mov eax, dword [edx + 0x14]
mov dword [ecx + 8], eax
jmp 0x101496e0
mov ecx, dword [eax + 0x14]
cmp edx, ecx
je 0x101496da
mov eax, ecx
test eax, eax
jne 0x101496cb
jmp 0x101496e0
mov ecx, dword [edx + 0x14]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0x8c]
call sym._sqlite3FreeIndex
mov eax, dword [ebp - 0x8c]
or dword [eax + 0x18], 1
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x8c]
xor ecx, ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0xa0], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
add eax, 0x28
call sym._sqlite3HashInsert
mov ebx, eax
test eax, eax
je case.0x10144a50.89
mov eax, dword [eax + 0x18]
cmp dword [ebx + 0x14], eax
jne 0x1014975f
mov edx, dword [ebx + 4]
add eax, 8
call sym._sqlite3HashFind
test eax, eax
je 0x1014975f
lea edx, [eax + 0x38]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x1014975f
mov ecx, dword [eax + 0x20]
cmp ebx, eax
jne 0x10149758
mov dword [edx], ecx
jmp 0x1014975f
lea edx, [eax + 0x20]
mov eax, ecx
jmp 0x10149749
mov eax, dword [ebp - 0x8c]
mov edx, ebx
call sym._sqlite3DeleteTrigger
mov eax, dword [ebp - 0x8c]
or dword [eax + 0x18], 1
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
mov esi, dword [ebp - 0x8c]
imul ebx, dword [eax + 0xc], 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
mov eax, dword [ebp - 0x7c]
imul eax, dword [eax + 4], 0x28
add edi, eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xa0], eax
lea ecx, [eax + 4]
mov eax, dword [ebp - 0x7c]
movzx eax, word [eax + 2]
shl eax, 4
add eax, dword [esi + 0x10]
mov edx, dword [eax + 4]
lea eax, [ebp - 0x40]
mov dword [esp + 8], eax
mov eax, dword [ebx]
inc eax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 8]
mov dword [esp], eax
mov eax, esi
call sym._sqlite3BtreeIntegrityCheck
mov esi, eax
mov eax, edi
call sym._sqlite3VdbeMemSetNull
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x10149823
test esi, esi
je 0x1014b789
dec eax
cdq
sub dword [ebx], eax
mov eax, edi
sbb dword [ebx + 4], edx
mov edx, esi
mov dword [esp + 0xc], sym._sqlite3_free
mov dword [esp + 8], 1
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0xffffffff
call sym._sqlite3VdbeMemSetStr
movzx edx, byte [ebp - 0x95]
mov eax, edi
call sym._sqlite3VdbeChangeEncoding
jmp 0x10144a9c
mov eax, dword [ebp - 0x7c]
imul ebx, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
mov eax, dword [ebp - 0x7c]
imul esi, dword [eax + 8], 0x28
mov eax, dword [ebp - 0x90]
add esi, eax
test byte [ebx + 0x10], 0x10
je 0x10149872
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov ebx, dword [ebx + 8]
mov ecx, edx
mov edx, eax
mov eax, ebx
call sym._sqlite3RowSetInsert
jmp case.0x10144a50.89
mov eax, ebx
call sym._sqlite3VdbeMemSetRowSet
test eax, eax
je 0x1014985a
jmp 0x1014b789
mov eax, dword [ebp - 0x7c]
imul edi, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add edi, eax
test byte [edi + 0x10], 0x10
je 0x101498df
mov ebx, dword [edi + 8]
mov si, word [ebx + 0x1a]
test esi, 2
jne 0x101498c0
test esi, 1
jne 0x101498b9
mov eax, dword [ebx + 8]
call sym._rowSetEntrySort
mov dword [ebx + 8], eax
or esi, 3
mov word [ebx + 0x1a], si
mov eax, dword [ebx + 8]
test eax, eax
je 0x101498df
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebx + 8], eax
test eax, eax
jne 0x101498eb
mov eax, ebx
call sym._sqlite3RowSetClear
jmp 0x101498eb
mov eax, edi
call sym._sqlite3VdbeMemSetNull
jmp case.0x10144a50.8
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x90]
mov edx, esi
imul eax, dword [eax + 0xc], 0x28
add eax, ecx
mov ecx, edi
call sym._sqlite3VdbeMemSetInt64
jmp 0x10144a9c
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
add eax, edi
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x7c]
imul eax, dword [eax + 0xc], 0x28
add eax, edi
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xa0]
test byte [eax + 0x10], 0x10
je 0x10149975
mov eax, dword [ebp - 0xb8]
cmp dword [ebp - 0xb0], 0
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 4]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xa0]
mov ebx, dword [eax + 8]
jne 0x101499ba
jmp 0x10149996
mov eax, dword [ebp - 0xa0]
call sym._sqlite3VdbeMemSetRowSet
test eax, eax
je 0x10149944
jmp 0x1014b789
cmp dword [ebp - 0xb0], 0
js case.0x10144a50.89
mov eax, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xa0]
mov edx, dword [eax + 4]
mov ebx, dword [edi + 8]
mov eax, dword [eax]
mov ecx, edx
mov edx, eax
mov eax, ebx
call sym._sqlite3RowSetInsert
jmp case.0x10144a50.89
mov eax, dword [ebp - 0xb0]
cmp eax, dword [ebx + 0x1c]
je 0x10149a63
mov esi, dword [ebx + 8]
test esi, esi
je 0x10149a5a
lea eax, [ebx + 0x14]
mov dword [ebp - 0xc0], eax
test byte [ebx + 0x1a], 1
jne 0x101499ec
mov eax, esi
call sym._rowSetEntrySort
mov esi, eax
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x10149a24
lea eax, [edi + 8]
mov dword [ebp - 0xc0], eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x10149a43
lea ecx, [ebp - 0x40]
lea edx, [ebp - 0x68]
call sym._rowSetTreeToList
xor eax, eax
mov edx, esi
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x68]
call sym._rowSetEntryMerge
mov edi, dword [edi + 8]
mov esi, eax
jmp 0x101499ef
mov eax, ebx
call sym._rowSetEntryAlloc
mov edi, eax
mov eax, dword [ebp - 0xc0]
mov dword [eax], edi
test edi, edi
je 0x10149a4d
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov eax, esi
call sym._rowSetListToTree
mov dword [edi + 0xc], eax
xor esi, esi
or word [ebx + 0x1a], 1
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], esi
mov eax, dword [ebp - 0xb0]
mov dword [ebx + 0x1c], eax
mov edx, dword [ebx + 0x14]
test edx, edx
je 0x10149989
mov eax, dword [edx + 0xc]
test eax, eax
je 0x10149aac
mov esi, dword [ebp - 0xd0]
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
cmp ebx, esi
mov esi, dword [ebp - 0xe8]
mov edi, ecx
sbb edi, esi
jge 0x10149a93
mov eax, dword [eax + 8]
jmp 0x10149a71
mov esi, dword [ebp - 0xe8]
cmp dword [ebp - 0xd0], ebx
sbb esi, ecx
jge 0x10144b8b
mov eax, dword [eax + 0xc]
jmp 0x10149a71
mov edx, dword [edx + 8]
jmp 0x10149a66
mov eax, dword [ebp - 0x7c]
imul esi, dword [eax + 0xc], 0x28
mov ebx, dword [eax + 0x10]
mov eax, dword [ebp - 0x90]
add esi, eax
mov eax, dword [ebp - 0x7c]
cmp word [eax + 2], 0
je 0x10149aeb
mov eax, dword [ebp - 0x80]
mov edx, dword [ebx + 0x14]
mov eax, dword [eax + 0xd0]
test eax, eax
je 0x10149aeb
cmp dword [eax + 0x1c], edx
je case.0x10144a50.89
mov eax, dword [eax + 4]
jmp 0x10149ad9
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x80]
mov edi, dword [edi + 0xa0]
cmp dword [eax + 0xd8], edi
jl 0x10149b21
mov dword [esp + 4], str.too_many_levels_of_trigger_recursion
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x88], 1
jmp 0x1014b58e
mov eax, dword [ebx + 0xc]
test byte [esi + 0x10], 0x10
jne 0x10149c2f
cmp eax, 1
mov edi, eax
adc edi, dword [ebx + 8]
mov ecx, 8
imul edx, edi, 0xa
mov dword [ebp - 0x90], edi
lea edi, [eax + edx + 0x16]
mov eax, dword [ebx + 4]
add eax, 7
cdq
idiv ecx
lea edi, [eax + edi*4]
mov eax, edi
cdq
mov eax, dword [ebp - 0x8c]
mov ecx, edx
mov edx, edi
call sym._sqlite3DbMallocZero
mov ecx, dword [ebp - 0x94]
mov edx, eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xa0], edx
sub eax, ecx
sar eax, 2
imul ecx, eax, 0xcccccccd
test edx, edx
mov dword [ebp - 0xb0], ecx
je 0x1014b789
mov eax, esi
call sym._sqlite3VdbeMemRelease
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x80]
mov dword [esi + 0xc], edi
mov word [esi + 0x10], 0x1010
mov ecx, dword [ebp - 0xb0]
mov dword [esi + 8], edx
mov dword [esi + 0x24], sym._sqlite3VdbeFrameMemDel
mov dword [edx], eax
mov eax, dword [ebp - 0x90]
mov dword [edx + 0x3c], eax
mov eax, dword [ebx + 0xc]
mov dword [edx + 0x30], ecx
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x14]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x18]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x68]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x6c]
mov dword [edx + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [edx + 0x1c], eax
imul eax, dword [ebp - 0x90], 0x28
lea ecx, [edx + eax + 0x58]
lea eax, [edx + 0x58]
cmp eax, ecx
je 0x10149c32
mov esi, dword [ebp - 0x8c]
mov word [eax + 0x10], 0
add eax, 0x28
mov dword [eax - 0x14], esi
jmp 0x10149c17
mov edx, dword [esi + 8]
mov eax, dword [ebp - 0x80]
xor ecx, ecx
inc dword [eax + 0xd8]
mov eax, dword [eax + 0xd0]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x8c]
mov esi, dword [eax + 0x28]
mov edi, dword [eax + 0x2c]
mov eax, dword [ebp - 0x80]
mov dword [edx + 0x20], esi
mov dword [edx + 0x24], edi
mov esi, dword [eax + 0x28]
mov edi, dword [eax + 0x2c]
mov eax, dword [eax]
mov dword [edx + 0x48], esi
mov dword [edx + 0x4c], edi
mov esi, dword [eax + 0x68]
mov edi, dword [eax + 0x6c]
mov eax, dword [ebp - 0x80]
mov dword [edx + 0x50], esi
lea esi, [edx + 0x58]
mov eax, dword [eax + 0xe4]
mov dword [edx + 0x54], edi
mov edi, 8
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 0x80]
mov dword [eax + 0xe4], ecx
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0xd0], edx
lea eax, [edx + 0x58]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x80]
mov dword [eax + 0x58], esi
mov eax, dword [edx + 0x3c]
mov esi, dword [ebp - 0x80]
movzx ecx, word [edx + 0x40]
mov dword [esi + 0x14], eax
imul eax, eax, 0x28
mov dword [esi + 0x18], ecx
mov ecx, dword [ebp - 0x90]
add eax, ecx
mov ecx, dword [ebx + 0xc]
mov dword [esi + 0x60], eax
lea esi, [eax + ecx*4]
mov eax, dword [ebx + 4]
mov dword [edx + 0x18], esi
lea ecx, [eax + 7]
mov eax, ecx
cdq
idiv edi
mov edi, esi
mov ecx, eax
xor eax, eax
rep stosb byte es:[edi], al
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebx]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x80]
mov edi, dword [ebp - 0x94]
mov dword [eax + 0x68], edi
mov eax, dword [ebx + 4]
mov dword [ecx + 0x6c], eax
mov eax, edi
sub eax, 0x14
jmp 0x10144a99
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov esi, dword [ebp - 0x80]
mov edi, dword [ebp - 0x7c]
mov ecx, dword [esi + 0xd0]
mov edx, dword [edi + 4]
imul ebx, dword [ecx + 0x30], 0x14
add ebx, dword [ecx + 8]
add edx, dword [ebx + 4]
imul edx, edx, 0x28
add edx, dword [ecx + 0x10]
mov ecx, 0x4000
call sym._sqlite3VdbeMemShallowCopy
jmp case.0x10144a50.89
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x7c]
mov esi, dword [ecx + 0x20]
mov eax, dword [eax + 8]
mov ecx, esi
cdq
mov dword [ebp - 0xa0], esi
and ecx, 0x80000
or ecx, 0
je 0x10149d87
mov edi, dword [ebp - 0x8c]
add dword [edi + 0x208], eax
adc dword [edi + 0x20c], edx
jmp case.0x10144a50.89
mov ecx, dword [ebp - 0x7c]
cmp dword [ecx + 4], 0
je 0x10149da7
mov esi, dword [ebp - 0x8c]
add dword [esi + 0x200], eax
adc dword [esi + 0x204], edx
jmp case.0x10144a50.89
mov edi, dword [ebp - 0x80]
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 4], 0
je 0x10149ded
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [eax + 0x204]
or eax, dword [ecx + 0x200]
jne case.0x10144a50.89
mov eax, dword [ecx + 0x20c]
or eax, dword [ecx + 0x208]
jmp 0x10149fca
mov eax, dword [ebp - 0x80]
mov edi, dword [ebp - 0x80]
mov eax, dword [eax + 0x44]
or eax, dword [edi + 0x40]
jne case.0x10144a50.89
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [eax + 0x20c]
or eax, dword [ecx + 0x208]
jmp 0x10149fca
mov esi, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x80]
mov edi, dword [ebp - 0x90]
imul edx, dword [esi + 4], 0x28
mov eax, dword [eax + 0xd0]
lea esi, [edi + edx]
test eax, eax
je 0x10149e47
mov ecx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x10149e39
mov esi, dword [ecx + 0x10]
add esi, edx
mov eax, esi
call sym._sqlite3VdbeMemIntegerify.isra.0
mov eax, dword [ebp - 0x7c]
imul ebx, dword [eax + 8], 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
mov eax, ebx
call sym._sqlite3VdbeMemIntegerify.isra.0
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 4]
mov edx, dword [ebx]
cmp dword [esi], edx
sbb ecx, eax
jge case.0x10144a50.89
mov dword [esi], edx
mov dword [esi + 4], eax
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
imul esi, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add esi, eax
xor eax, eax
mov ecx, dword [esi]
mov ebx, dword [esi + 4]
cmp eax, ecx
sbb eax, ebx
jge case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
sbb ebx, edx
mov dword [esi], ecx
mov dword [esi + 4], ebx
jmp 0x10144b8b
mov eax, dword [ebp - 0x7c]
imul esi, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add esi, eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov edi, dword [esi + 4]
mov esi, dword [esi]
xor edx, edx
mov dword [ebp - 0xa0], eax
cmp edx, esi
sbb edx, edi
jge 0x10149f49
imul ebx, ebx, 0x28
mov ecx, dword [ebp - 0x90]
xor edx, edx
mov ecx, dword [ecx + ebx]
mov dword [ebp - 0xb0], ecx
mov ecx, dword [ebp - 0x90]
mov ecx, dword [ecx + ebx + 4]
xor ebx, ebx
cmp dword [ebp - 0xb0], ebx
mov eax, ecx
sbb eax, edx
cmovge ebx, dword [ebp - 0xb0]
cmovge edx, ecx
mov dword [ebp - 0x108], ebx
add esi, dword [ebp - 0x108]
mov dword [ebp - 0x104], edx
adc edi, dword [ebp - 0x104]
jo 0x10149f49
mov eax, dword [ebp - 0xa0]
mov dword [eax], esi
mov dword [eax + 4], edi
jmp case.0x10144a50.89
mov eax, dword [ebp - 0xa0]
mov dword [eax], 0xffffffff
mov dword [eax + 4], 0xffffffff
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
imul ecx, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add ecx, eax
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov esi, edx
or esi, eax
je case.0x10144a50.89
xor ebx, ebx
cmp ebx, eax
sbb ebx, edx
jge 0x10144b8b
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x10144b8b
mov eax, dword [ebp - 0x7c]
imul ecx, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add ecx, eax
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
lea ebx, [edx - 0x80000000]
or ebx, eax
je case.0x10144a50.89
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [ecx], eax
mov dword [ecx + 4], edx
or eax, edx
jne case.0x10144a50.89
jmp 0x10144b8b
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
movzx eax, word [eax + 2]
lea esi, [eax*4 + 0x44]
mov ebx, eax
mov eax, dword [ebp - 0x8c]
mov edx, esi
call sym._sqlite3DbMallocRawNN
mov edx, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x94]
sub edx, edi
sar edx, 2
imul ecx, edx, 0xcccccccd
test eax, eax
je 0x1014b789
xor edx, edx
mov edi, dword [ebp - 0x7c]
mov dword [eax + 8], edx
lea edx, [eax + esi - 0x28]
mov esi, dword [ebp - 0x8c]
mov dword [eax], edx
mov dword [edx + 0x14], esi
xor esi, esi
mov dword [edx + 0x18], esi
mov esi, dword [ebp - 0x80]
mov word [edx + 0x10], 1
mov edx, dword [edi + 0x10]
mov dword [eax + 0x10], ecx
mov cl, byte [ebp - 0x95]
mov dword [eax + 4], edx
xor edx, edx
mov dword [eax + 0xc], esi
mov byte [eax + 0x19], 0
mov dword [eax + 0x14], edx
mov byte [eax + 0x18], cl
mov byte [eax + 0x1a], bl
mov dword [edi + 0x10], eax
mov word [edi], 0xf1a3
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x90]
mov ebx, dword [eax + 0x10]
imul eax, dword [eax + 0xc], 0x28
movzx esi, byte [ebx + 0x1a]
add eax, ecx
cmp dword [ebx + 8], eax
jne 0x1014a09b
mov edi, dword [ebp - 0x7c]
inc dword [eax + 0xc]
lea edx, [ebx + 0x1c]
mov eax, dword [ebx + 4]
cmp dword [edi + 4], 0
je 0x1014a0c0
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], ebx
call dword [eax + 0x1c]
jmp 0x1014a0ce
mov dword [ebx + 8], eax
lea edx, [esi - 1]
cmp edx, 0xffffffff
je 0x1014a079
mov edi, dword [ebp - 0x7c]
mov ecx, dword [edi + 8]
mov edi, dword [ebp - 0x90]
add ecx, edx
imul ecx, ecx, 0x28
add ecx, edi
mov dword [ebx + edx*4 + 0x1c], ecx
dec edx
jmp 0x1014a0a1
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], ebx
call dword [eax + 0x10]
cmp dword [ebx + 0x14], 0
je case.0x10144a50.89
jle 0x1014a104
mov eax, dword [ebx]
mov dword [esp], eax
call sym._sqlite3_value_text
mov dword [esp + 4], 0x101f7757
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x88], eax
cmp byte [ebx + 0x19], 0
je 0x1014a12f
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x1014a12b
imul eax, eax, 0x28
mov esi, dword [ebp - 0x90]
mov edx, 1
xor ecx, ecx
add eax, esi
call sym._sqlite3VdbeMemSetInt64
mov byte [ebx + 0x19], 0
mov eax, dword [ebx]
call sym._sqlite3VdbeMemRelease
mov eax, dword [ebx]
mov word [eax + 0x10], 1
xor eax, eax
mov dword [ebx + 0x14], eax
cmp dword [ebp - 0x88], 0
jne 0x1014b58e
xor eax, eax
mov dword [ebp - 0x88], eax
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
lea esi, [ecx + eax]
mov eax, dword [ebp - 0x7c]
mov ebx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
test ebx, ebx
je 0x1014a1e4
imul ebx, ebx, 0x28
mov eax, ecx
mov ecx, 8
mov dword [ebp - 0xa0], edx
add eax, ebx
lea ebx, [ebp - 0x40]
mov dword [ebp - 0x88], eax
mov edi, ebx
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x88]
call sym._sqlite3VdbeMemSetNull
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x40], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x3c], edx
mov al, byte [eax + 0x54]
mov byte [ebp - 0x28], al
mov dword [esp], ebx
call dword [edx + 0x18]
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x90]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x7c]
imul eax, dword [eax + 0xc], 0x28
add esi, eax
jmp 0x1014a1f1
mov eax, esi
call sym._sqlite3VdbeMemFinalize
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x1014a21e
mov dword [esp], esi
call sym._sqlite3_value_text
mov dword [esp + 4], 0x101f7757
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
jmp 0x1014b58e
movzx edx, byte [ebp - 0x95]
mov eax, esi
call sym._sqlite3VdbeChangeEncoding
jmp case.0x10144a50.89
xor eax, eax
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x3c], 0xffffffff
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
lea eax, [ebp - 0x38]
mov dword [esp + 4], eax
lea eax, [ebp - 0x3c]
mov dword [esp], eax
mov eax, dword [ebp - 0x8c]
call sym._sqlite3Checkpoint
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1014a27f
cmp eax, 5
jne 0x1014b58e
mov dword [ebp - 0x40], 1
mov eax, dword [ebp - 0x7c]
xor esi, esi
imul ebx, dword [eax + 0xc], 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
mov edx, dword [ebp + esi*4 - 0x40]
mov eax, ebx
inc esi
add ebx, 0x28
mov ecx, edx
sar ecx, 0x1f
call sym._sqlite3VdbeMemSetInt64
cmp esi, 3
jne 0x1014a290
jmp 0x1014a150
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x7c]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 4]
shl eax, 4
add eax, dword [ecx + 0x10]
cmp esi, 0xffffffff
mov eax, dword [eax + 4]
mov dword [ebp - 0xb0], eax
mov eax, dword [eax + 4]
mov ebx, dword [eax]
movzx edi, byte [ebx + 5]
cmove esi, edi
cmp byte [ebx + 0x11], 2
ja 0x1014a30d
mov eax, dword [ebx + 0x44]
cmp dword [eax], 0
je 0x1014a30f
xor eax, eax
cmp eax, dword [ebx + 0x50]
sbb eax, dword [ebx + 0x54]
cmovl esi, edi
jmp 0x1014a30f
mov esi, edi
cmp byte [ebx + 0xf], 0
mov eax, 0x10203ea4
jne 0x1014a320
mov eax, dword [ebx + 0xb8]
cmp esi, 5
jne 0x1014a365
call sym._sqlite3Strlen30
test eax, eax
je 0x1014a4e7
mov eax, ebx
call sym._sqlite3PagerWalSupported
test eax, eax
je 0x1014a4e7
cmp edi, 5
je 0x1014a4e9
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x55], 0
je 0x1014a38d
cmp dword [eax + 0xc0], 1
jle 0x1014a4b1
jmp 0x1014a38d
cmp esi, edi
je 0x1014a4e9
cmp edi, 5
jne 0x1014a4e9
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x55], 0
je 0x1014a394
cmp dword [eax + 0xc0], 1
jle 0x1014a3bf
jmp 0x1014a394
mov eax, str.into
jmp 0x1014a399
mov eax, str.out_of
mov dword [esp + 8], eax
mov dword [esp + 4], str.cannot_change__s_wal_mode_from_within_a_transaction
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x88], 1
jmp 0x1014b58e
cmp dword [ebx + 0xe8], 0
je 0x1014a3df
mov eax, ebx
call sym._pagerExclusiveLock
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014a4f3
jmp 0x1014a447
xor eax, eax
mov edx, 1
mov dword [ebp - 0x40], eax
mov eax, ebx
call sym._pagerLockDb
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014a4f3
lea eax, [ebp - 0x40]
mov edx, dword [ebx + 0xec]
xor ecx, ecx
mov dword [esp], eax
mov eax, dword [ebx]
call sym._sqlite3OsAccess
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014a4f3
cmp dword [ebp - 0x40], 0
je 0x1014a43c
mov eax, ebx
call sym._pagerOpenWal
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014a4f3
cmp dword [ebx + 0xe8], 0
je 0x1014a4a1
jmp 0x1014a3c8
mov edx, dword [ebx + 0xe0]
movzx ecx, byte [ebx + 0xb]
mov eax, dword [ebx + 0xe8]
mov dword [esp + 4], edx
mov edx, dword [ebx + 0xa8]
mov dword [esp], edx
mov edx, dword [ebp - 0x8c]
call sym._sqlite3WalClose
xor ecx, ecx
mov dword [ebx + 0xe8], ecx
mov dword [ebp - 0x88], eax
mov eax, ebx
call sym._pagerFixMaplimit
cmp dword [ebp - 0x88], 0
je 0x1014a4a1
cmp byte [ebx + 4], 0
jne 0x1014a4f3
mov edx, 1
mov eax, ebx
call sym._pagerUnlockDb
jmp 0x1014a4f3
mov edx, esi
mov eax, ebx
call sym._sqlite3PagerSetJournalMode
mov edx, 1
jmp 0x1014a4d4
cmp edi, 4
je 0x1014a4c6
cmp dword [ebp - 0x88], 0
mov edx, 2
jne 0x1014a4f3
jmp 0x1014a4d4
mov edx, 2
mov eax, ebx
call sym._sqlite3PagerSetJournalMode
jmp 0x1014a4b6
mov eax, dword [ebp - 0xb0]
call sym._sqlite3BtreeSetVersion
mov dword [ebp - 0x88], eax
jmp 0x1014a4e9
mov esi, edi
cmp dword [ebp - 0x88], 0
cmove edi, esi
mov edx, edi
mov eax, ebx
call sym._sqlite3PagerSetJournalMode
mov esi, dword [ebp - 0xa0]
xor edx, edx
mov word [esi + 0x10], 0x2202
cmp eax, 6
je 0x1014a516
mov edx, dword [eax*4 + 0x101ff324]
mov eax, dword [ebp - 0xa0]
mov dword [eax + 8], edx
mov eax, edx
call sym._sqlite3Strlen30
mov ecx, dword [ebp - 0xa0]
movzx edx, byte [ebp - 0x95]
mov dword [ecx + 0xc], eax
mov eax, ecx
mov byte [ecx + 0x12], 1
call sym._sqlite3VdbeChangeEncoding
jmp 0x1014a143
mov eax, dword [ebp - 0x7c]
xor edx, edx
mov eax, dword [eax + 8]
test eax, eax
je 0x1014a55e
imul eax, eax, 0x28
mov esi, dword [ebp - 0x90]
lea edx, [esi + eax]
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov dword [esp], edx
mov edx, dword [ebp - 0x8c]
add eax, 0x7c
call sym._sqlite3RunVacuum
mov dword [ebp - 0x88], eax
test eax, eax
jmp 0x1014a14a
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x8c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x88], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 4]
mov ebx, dword [eax + 4]
mov dword [ebp - 0xa0], eax
call sym._sqlite3BtreeEnter
cmp byte [ebx + 0x11], 0
je 0x1014a5fd
mov eax, dword [ebx + 0xc]
mov edi, dword [ebx + 0x30]
mov eax, dword [eax + 0x38]
mov edx, edi
mov esi, dword [eax + 0x24]
mov eax, esi
bswap eax
mov dword [ebp - 0x88], eax
mov ecx, eax
mov eax, ebx
call sym._finalDbSize
mov dword [ebp - 0xb0], eax
cmp edi, eax
jb 0x1014a5e7
cmp dword [ebp - 0x88], edi
jb 0x1014a5f9
mov eax, 0x1149b
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
jmp 0x1014a675
test esi, esi
jne 0x1014a60d
mov eax, dword [ebp - 0xa0]
call sym._sqlite3BtreeLeave
jmp 0x1014a69a
mov eax, dword [ebx + 8]
xor ecx, ecx
xor edx, edx
call sym._saveAllCursors.isra.0
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014a649
mov eax, dword [ebx + 8]
xor edx, edx
mov ecx, edi
call sym._invalidateAllOverflowCache.isra.0
mov dword [esp], edx
mov edx, dword [ebp - 0xb0]
mov eax, ebx
call sym._incrVacuumStep
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1014a656
mov eax, dword [ebp - 0xa0]
call sym._sqlite3BtreeLeave
jmp 0x1014a68d
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x48]
call sym._sqlite3PagerWrite
mov dword [ebp - 0x88], eax
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x38]
mov eax, dword [ebx + 0x30]
bswap eax
mov dword [edx + 0x1c], eax
mov eax, dword [ebp - 0xa0]
call sym._sqlite3BtreeLeave
cmp dword [ebp - 0x88], 0
je 0x1014a150
cmp dword [ebp - 0x88], 0x65
jne 0x1014b58e
xor eax, eax
mov dword [ebp - 0x88], eax
jmp 0x10144b8b
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 4], 0
mov edx, dword [eax + 8]
jne 0x1014a6c3
mov eax, dword [ebp - 0x8c]
call sym._sqlite3ExpirePreparedStatements
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x80]
inc edx
mov ecx, dword [ebp - 0x80]
and edx, 3
mov al, byte [eax + 0x98]
mov byte [ebp - 0xa0], al
and eax, 0xfffffffc
or eax, edx
mov byte [ecx + 0x98], al
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
mov eax, dword [eax + 0x2c]
or byte [eax + 1], 0x40
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + edx*4]
mov eax, dword [eax + 0x2c]
and byte [eax + 1], 0xbf
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 0xc]
test dl, dl
jne 0x1014a746
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0xa0], eax
and eax, 0x400
or eax, 0
jne case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x8c]
mov esi, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x88], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov ebx, dword [eax + 4]
cmp byte [ebx + 9], 0
jne 0x1014a777
xor eax, eax
mov dword [ebp - 0x88], eax
jmp case.0x10144a50.89
lea eax, [edx + 1]
mov byte [ebp - 0xa0], al
mov eax, ebx
call sym._sqlite3BtreeEnter
movzx ecx, byte [ebp - 0xa0]
mov edx, esi
mov eax, ebx
call sym._querySharedCacheTableLock
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014a7f7
mov edi, dword [ebx + 4]
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x1014b7b6
cmp esi, dword [eax + 4]
jne 0x1014a7b8
cmp ebx, dword [eax]
je 0x1014a7cb
mov eax, dword [eax + 0xc]
jmp 0x1014a7a7
mov edx, dword [edi + 0x4c]
mov dword [eax + 4], esi
mov dword [eax], ebx
mov dword [eax + 0xc], edx
mov dword [edi + 0x4c], eax
mov cl, byte [ebp - 0xa0]
cmp byte [eax + 8], cl
jb 0x1014a7e2
mov eax, ebx
call sym._sqlite3BtreeLeave
jmp 0x1014abd8
mov cl, byte [ebp - 0xa0]
mov byte [eax + 8], cl
mov eax, ebx
call sym._sqlite3BtreeLeave
jmp 0x1014a76a
mov eax, ebx
call sym._sqlite3BtreeLeave
cmp byte [ebp - 0x88], 6
jne 0x1014b58e
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], str.database_table_is_locked:__s
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
mov ebx, dword [eax + 0x10]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x17c]
test ecx, ecx
jle 0x1014a86c
cmp dword [eax + 0x194], 0
jne 0x1014a86c
test ebx, ebx
jne 0x1014a85f
mov dword [ebp - 0x88], 6
jmp 0x1014b58e
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
jmp 0x1014a850
test ebx, ebx
je 0x101488bc
mov edx, dword [ebx + 8]
xor eax, eax
mov esi, dword [edx]
cmp dword [esi + 0x38], 0
je 0x1014a933
cmp ecx, eax
jle 0x1014a8a1
mov edi, dword [ebp - 0x8c]
mov edx, dword [edi + 0x194]
cmp ebx, dword [edx + eax*4]
je 0x1014a955
inc eax
jmp 0x1014a885
mov eax, dword [ebp - 0x8c]
call sym._growVTrans
mov edx, dword [ebx + 8]
test eax, eax
mov dword [ebp - 0x88], eax
je 0x1014a8c6
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
jmp 0x1014b58e
mov dword [esp], edx
call dword [esi + 0x38]
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1014a8e6
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
jmp 0x1014b58e
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
mov edx, dword [ecx + 0x17c]
mov edi, dword [ecx + 0x194]
mov eax, dword [eax + 0x1f4]
add eax, dword [ecx + 0x1f8]
mov dword [ebp - 0x88], edi
lea edi, [edx + 1]
mov dword [ecx + 0x17c], edi
mov edi, dword [ebp - 0x88]
mov dword [edi + edx*4], ebx
mov edx, dword [ebx + 8]
inc dword [ebx + 0xc]
test eax, eax
je 0x1014a933
mov ecx, dword [esi + 0x50]
test ecx, ecx
jne 0x1014a940
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
jmp 0x1014abd8
mov dword [ebx + 0x14], eax
dec eax
mov dword [esp + 4], eax
mov dword [esp], edx
call ecx
mov dword [ebp - 0x88], eax
jmp 0x1014a95d
xor eax, eax
mov dword [ebp - 0x88], eax
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
cmp dword [ebp - 0x88], 0
je 0x1014893a
jmp 0x1014b58e
xor eax, eax
mov ecx, 0xa
lea edi, [ebp - 0x40]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x7c]
imul edx, dword [eax + 8], 0x28
mov eax, dword [ebp - 0x90]
add edx, eax
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemCopy
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x40]
mov dword [esp], eax
call sym._sqlite3_value_text
mov edx, eax
test eax, eax
je 0x1014aae8
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x88], eax
mov ecx, eax
mov eax, dword [ebp - 0x8c]
shl ecx, 4
add ecx, dword [eax + 0x10]
mov ecx, dword [ecx]
call sym._sqlite3FindTable
mov ebx, eax
mov eax, dword [eax + 0x30]
mov esi, dword [eax]
mov eax, dword [ebp - 0x8c]
mov edx, esi
add eax, 0x180
call sym._sqlite3HashFind
mov ecx, eax
test eax, eax
je 0x1014aa10
mov edx, dword [eax]
mov eax, dword [edx + 4]
test eax, eax
je 0x1014aa10
cmp dword [edx + 0x14], 0
jne 0x1014aa47
mov dword [esp + 8], esi
mov dword [esp + 4], str.no_such_module:__s
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call sym._sqlite3MPrintf
mov esi, dword [ebp - 0x80]
mov dword [esi + 0x7c], eax
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemRelease
mov dword [ebp - 0x88], 1
jmp 0x1014b58e
mov esi, dword [ebp - 0x80]
mov dword [esp], eax
lea edx, [esi + 0x7c]
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x8c]
mov edx, ebx
call sym._vtabCallConstructor
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014aadb
mov edx, dword [ebx + 0x34]
mov eax, dword [ebp - 0x8c]
call sym._sqlite3GetVTable.isra.0
test eax, eax
je 0x1014aac1
mov eax, dword [ebp - 0x8c]
call sym._growVTrans
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014aace
mov edx, dword [ebx + 0x34]
mov eax, dword [ebp - 0x8c]
call sym._sqlite3GetVTable.isra.0
mov esi, dword [ebp - 0x8c]
mov edx, dword [esi + 0x17c]
mov ecx, dword [esi + 0x194]
lea ebx, [edx + 1]
mov dword [esi + 0x17c], ebx
mov dword [ecx + edx*4], eax
inc dword [eax + 0xc]
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemRelease
jmp 0x1014a76a
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemRelease
jmp 0x1014b58e
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemRelease
jmp 0x1014b58e
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemRelease
cmp dword [ebp - 0x88], 0
je 0x1014a76a
jmp 0x1014b58e
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x7c]
mov esi, dword [eax + 0xcc]
mov edx, dword [edi + 0x10]
lea eax, [esi + 1]
mov dword [ecx + 0xcc], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x88], eax
shl eax, 4
add eax, dword [ecx + 0x10]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x8c]
call sym._sqlite3FindTable
mov ebx, eax
test eax, eax
je 0x1014ab55
cmp byte [eax + 0x2b], 1
jne 0x1014ab55
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x1014ab6a
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0xcc], esi
jmp 0x1014abd8
mov eax, dword [eax + 0x18]
test eax, eax
je 0x1014ab78
mov edx, dword [eax + 8]
cmp dword [edx + 4], 0
jle 0x1014ab63
jmp 0x1014ac08
mov eax, dword [ebp - 0x8c]
mov edx, ebx
call sym._vtabDisconnectAll
mov esi, eax
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [edx + 0x14]
test eax, eax
jne 0x1014ab96
mov eax, dword [edx + 0x10]
mov edx, dword [esi + 8]
inc dword [ebx + 0x18]
mov dword [esp], edx
call eax
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014abe5
xor eax, eax
mov dword [esi + 8], eax
mov dword [ebx + 0x34], eax
mov eax, esi
call sym._sqlite3VtabUnlock
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call sym._sqlite3DeleteTable
mov eax, dword [ebp - 0x8c]
dec dword [eax + 0xcc]
xor eax, eax
mov dword [ebp - 0x88], eax
jmp case.0x10144a50.89
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call sym._sqlite3DeleteTable
mov eax, dword [ebp - 0x8c]
dec dword [eax + 0xcc]
jmp 0x1014b58e
mov dword [ebp - 0x88], 6
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0xcc], esi
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
xor edi, edi
mov dword [ebp - 0x40], edi
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x1014ac9e
mov esi, dword [ebx]
test esi, esi
je 0x1014acad
lea eax, [ebp - 0x40]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [esi + 0x18]
mov edx, ebx
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
cmp dword [ebp - 0x88], 0
jne 0x1014b58e
mov eax, dword [ebp - 0x40]
xor ecx, ecx
mov dword [eax], ebx
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov dword [esp], 2
mov eax, dword [ebp - 0x80]
call sym._allocateCursor
mov edx, dword [ebp - 0x40]
test eax, eax
je 0x1014ac93
mov dword [eax + 0x2c], edx
inc dword [ebx + 4]
jmp 0x1014a76a
mov dword [esp], edx
call dword [esi + 0x1c]
jmp 0x1014b789
mov dword [ebp - 0x88], 6
jmp 0x1014b58e
mov dword [ebp - 0x88], 6
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
xor esi, esi
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
mov dword [esp + 4], esi
mov dword [esp], 8
call sym._sqlite3_malloc64
mov esi, eax
test eax, eax
je 0x1014b789
mov eax, dword [ebx + 0x2c]
mov ecx, dword [ebp - 0x90]
mov dword [esi], eax
mov eax, dword [ebp - 0x7c]
imul eax, dword [eax + 0xc], 0x28
add eax, ecx
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov word [eax + 0x10], 1
mov ebx, eax
call sym._vdbeMemClear
mov dword [ebx], str.ValueList
mov dword [ebx + 8], esi
mov word [ebx + 0x10], 0x1a01
mov byte [ebx + 0x13], 0x70
mov dword [ebx + 0x24], sym._sqlite3_free
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x90]
mov edi, dword [ebp - 0x80]
imul eax, dword [eax + 0xc], 0x28
mov edx, dword [edi + 0x60]
add eax, esi
mov esi, dword [ebp - 0x7c]
add eax, 0x50
mov ecx, dword [esi + 4]
mov esi, dword [eax - 0x50]
mov edi, dword [edx + ecx*4]
mov dword [ebp - 0x88], esi
xor edx, edx
mov esi, dword [ebp - 0x80]
mov ebx, dword [edi + 0x2c]
mov esi, dword [esi + 0x5c]
mov ecx, dword [ebx]
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0xb0], ecx
mov ecx, dword [eax - 0x28]
cmp edx, ecx
jge 0x1014ad90
mov dword [esi + edx*4], eax
inc edx
add eax, 0x28
jmp 0x1014ad83
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x88]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xb0]
call dword [eax + 0x20]
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
cmp dword [ebp - 0x88], 0
jne 0x1014b58e
mov dword [esp], ebx
mov eax, dword [ebp - 0xb0]
call dword [eax + 0x28]
mov byte [edi + 2], 0
mov dword [ebp - 0x88], eax
test eax, eax
je case.0x10144a50.89
jmp 0x1014a69a
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov esi, dword [eax + edx*4]
mov eax, dword [ebp - 0x7c]
imul ebx, dword [eax + 0xc], 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
cmp byte [esi + 2], 0
je 0x1014ae2c
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
jmp case.0x10144a50.89
mov eax, dword [esi + 0x2c]
lea edx, [ebp - 0x3c]
mov ecx, 7
mov edi, edx
mov eax, dword [eax]
mov dword [ebp - 0xa0], eax
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov al, byte [ebp - 0x95]
mov dword [ebp - 0x40], ebx
mov byte [ebp - 0x28], al
mov eax, dword [ebp - 0x7c]
test byte [eax + 2], 1
je 0x1014ae75
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
xor ecx, ecx
mov word [ebx + 0x10], 0x401
mov dword [ebx], ecx
jmp 0x1014ae83
mov eax, dword [ebx + 0x10]
and ax, 0xf240
or eax, 1
mov word [ebx + 0x10], ax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 8]
mov dword [esp + 8], eax
lea eax, [ebp - 0x40]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x2c]
mov dword [esp], eax
mov eax, dword [ebp - 0x88]
call dword [eax + 0x2c]
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
cmp dword [ebp - 0x2c], 0
jle 0x1014aee5
mov dword [esp], ebx
call sym._sqlite3_value_text
mov dword [esp + 4], 0x101f7757
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x88], eax
movzx edx, byte [ebp - 0x95]
mov eax, ebx
call sym._sqlite3VdbeChangeEncoding
cmp dword [ebp - 0x88], 0
je case.0x10144a50.89
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x60]
mov ebx, dword [eax + edx*4]
cmp byte [ebx + 2], 0
jne case.0x10144a50.89
mov eax, dword [ebx + 0x2c]
mov edi, dword [eax]
mov esi, dword [edi]
mov dword [esp], eax
call dword [esi + 0x24]
mov edx, edi
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
cmp dword [ebp - 0x88], 0
jne 0x1014b58e
mov eax, dword [ebx + 0x2c]
mov dword [esp], eax
call dword [esi + 0x28]
test eax, eax
jne 0x10144a9c
xor edx, edx
mov dword [ebp - 0x88], edx
jmp case.0x10144a50.8
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x8c]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov ebx, eax
or eax, 0x4000000
mov dword [edi + 0x24], edx
mov edx, 1
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0x7c]
and ebx, 0x4000000
mov eax, dword [eax + 0x10]
mov esi, dword [eax + 8]
mov eax, dword [ebp - 0x7c]
imul edi, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add edi, eax
mov eax, edi
call sym._sqlite3VdbeChangeEncoding
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1014b58e
mov eax, dword [esi]
mov edx, dword [edi + 8]
mov dword [esp], esi
mov dword [esp + 4], edx
call dword [eax + 0x4c]
mov dword [ebp - 0x88], eax
test ebx, ebx
jne 0x1014afe3
mov eax, dword [ebp - 0x8c]
and dword [eax + 0x20], 0xfbffffff
mov eax, dword [ebp - 0x80]
mov edx, esi
call sym._sqlite3VtabImportErrmsg
mov eax, dword [ebp - 0x80]
and byte [eax + 0x98], 0xfc
cmp dword [ebp - 0x88], 0
je case.0x10144a50.89
jmp 0x1014b58e
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x57], 0
jne 0x1014b789
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x1014b15e
mov eax, dword [ebx]
test eax, eax
je 0x1014b16d
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ecx + 8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je case.0x10144a50.89
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x90]
mov al, byte [eax + 0x5c]
mov byte [ebp - 0xa0], al
mov eax, dword [ebp - 0x80]
mov edi, dword [eax + 0x5c]
mov eax, dword [ebp - 0x7c]
imul eax, dword [eax + 0xc], 0x28
add eax, edx
xor edx, edx
cmp edx, esi
jge 0x1014b080
mov dword [edi + edx*4], eax
add eax, 0x28
inc edx
jmp 0x1014b073
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x8c]
mov ax, word [eax + 2]
mov byte [edx + 0x5c], al
lea eax, [ebp - 0x40]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
mov dword [esp], ebx
call ecx
mov edi, dword [ebp - 0x8c]
mov edx, ebx
mov dword [ebp - 0x88], eax
mov al, byte [ebp - 0xa0]
mov byte [edi + 0x5c], al
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
cmp dword [ebp - 0x88], 0
jne 0x1014b0e9
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 4], 0
je 0x1014b141
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x8c]
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], edx
jmp 0x1014b141
cmp byte [ebp - 0x88], 0x13
jne 0x1014b14e
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x1014b131
mov eax, dword [ebp - 0x7c]
mov ax, word [eax + 2]
cmp ax, 4
jne 0x1014b118
xor eax, eax
mov dword [ebp - 0x88], eax
jmp case.0x10144a50.89
cmp ax, 5
jne 0x1014b123
mov eax, 2
mov esi, dword [ebp - 0x80]
mov byte [esi + 0x92], al
jmp 0x1014b58e
mov eax, dword [ebp - 0x80]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp 0x1014b58e
mov eax, dword [ebp - 0x80]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp 0x1014b10b
mov eax, dword [ebp - 0x80]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp 0x1014b58e
mov dword [ebp - 0x88], 6
jmp 0x1014b58e
mov dword [ebp - 0x88], 6
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov edi, dword [ebp - 0x8c]
mov edx, eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
mov dword [ebp - 0xa0], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x30]
mov dword [edx], eax
xor eax, eax
mov dword [edx + 4], eax
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x58]
call sym._out2Prerelease.isra.0
mov ecx, dword [ebp - 0x8c]
mov ebx, eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
mov dword [ebp - 0xa0], eax
shl eax, 4
add eax, dword [ecx + 0x10]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1014b215
mov edx, dword [esi + 4]
mov edx, dword [edx + 0x30]
cmp eax, edx
mov edi, edx
cmovae edi, eax
mov eax, esi
call sym._sqlite3BtreeEnter
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [eax + 0xa0], edi
jmp 0x1014b221
mov eax, esi
call sym._sqlite3BtreeEnter
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov edi, dword [eax + 0xa0]
mov eax, esi
call sym._sqlite3BtreeLeave
xor eax, eax
mov dword [ebx], edi
mov dword [ebx + 4], eax
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
imul esi, dword [eax + 0xc], 0x28
mov ebx, dword [eax + 0x10]
mov eax, dword [ebp - 0x90]
movzx ecx, byte [ebx + 0x1a]
add esi, eax
cmp dword [ebx], esi
jne 0x1014b281
mov eax, dword [esi + 0x10]
lea edx, [ebx + 0x1c]
and ax, 0xf240
or eax, 1
mov word [esi + 0x10], ax
mov eax, dword [ebx + 4]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], ebx
call dword [eax + 0x10]
cmp dword [ebx + 0x14], 0
jne 0x1014b2b4
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x80]
mov dword [ebx], esi
mov dword [ebx + 0xc], eax
mov al, byte [ebp - 0x95]
mov byte [ebx + 0x18], al
lea eax, [ecx - 1]
cmp eax, 0xffffffff
je 0x1014b254
mov edi, dword [ebp - 0x7c]
mov edx, dword [edi + 8]
mov edi, dword [ebp - 0x90]
add edx, eax
imul edx, edx, 0x28
add edx, edi
mov dword [ebx + eax*4 + 0x1c], edx
dec eax
jmp 0x1014b295
jle 0x1014b2de
mov dword [esp], esi
call sym._sqlite3_value_text
mov dword [esp + 4], 0x101f7757
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebx + 0x10]
lea edx, [eax + 0xe4]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
mov dword [esp], eax
mov eax, dword [ebp - 0x8c]
call sym._sqlite3VdbeDeleteAuxData
xor eax, eax
cmp dword [ebp - 0x88], 0
mov dword [ebx + 0x14], eax
je case.0x10144a50.89
jmp 0x1014b58e
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
and word [esi + eax + 0x10], 0xf7ff
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x7c]
imul esi, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add esi, eax
call sym._filterHash
mov ecx, dword [esi + 0xc]
mov dword [esp], eax
mov dword [esp + 8], ecx
sar ecx, 0x1f
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
call sym.___umoddi3
mov ecx, eax
shrd eax, edx, 3
mov edx, 1
add eax, dword [esi + 8]
and ecx, 7
shl edx, cl
or byte [eax], dl
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x7c]
imul ebx, dword [eax + 4], 0x28
mov eax, dword [ebp - 0x90]
add ebx, eax
call sym._filterHash
mov ecx, dword [ebx + 0xc]
mov dword [esp], eax
mov dword [esp + 8], ecx
sar ecx, 0x1f
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
call sym.___umoddi3
mov esi, dword [ebx + 8]
mov dword [ebp - 0xa0], eax
shrd eax, edx, 3
add esi, eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x9c], edx
movsx edx, byte [esi]
and eax, 7
bt edx, eax
mov eax, dword [ebp - 0x80]
jb 0x1014b3de
inc dword [eax + 0xc4]
jmp 0x10144b8b
inc dword [eax + 0xc0]
jmp case.0x10144a50.89
mov eax, dword [ebp - 0x8c]
mov al, byte [eax + 0x5e]
test al, 0x41
je 0x1014b4f1
mov ecx, dword [ebp - 0x80]
cmp byte [ecx + 0x93], 0xfe
je 0x1014b4f1
mov esi, dword [ebp - 0x7c]
mov edx, dword [esi + 0x10]
test edx, edx
jne 0x1014b422
mov edx, dword [ecx + 0xc8]
test edx, edx
je 0x1014b4f1
test al, 0x40
je 0x1014b45c
mov eax, dword [ebp - 0x80]
call sym._sqlite3VdbeExpandSql
mov dword [esp + 4], eax
mov ebx, eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xdc]
mov dword [esp], eax
mov eax, dword [ebp - 0x8c]
call dword [eax + 0xd8]
mov dword [esp], ebx
call sym._sqlite3_free
jmp 0x1014b4f1
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0xc8], 1
jle 0x1014b4c3
mov dword [esp + 8], edx
mov dword [esp + 4], str.____s
mov dword [esp], eax
call sym._sqlite3MPrintf
mov dword [esp + 0xc], eax
mov ebx, eax
mov eax, dword [ebp - 0x80]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xdc]
mov dword [esp], 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8c]
call dword [eax + 0xd8]
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call sym._sqlite3DbFree
jmp 0x1014b4f1
mov dword [esp + 0xc], edx
mov eax, dword [ebp - 0x80]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xdc]
mov dword [esp], 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8c]
call dword [eax + 0xd8]
mov eax, dword [ebp - 0x7c]
mov esi, dword [0x10170dac]
cmp dword [eax + 4], esi
jl 0x1014b531
cmp byte [eax], 0xb5
je case.0x10144a50.89
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax + 0x6c]
mov eax, 1
cmp ecx, eax
jle 0x1014b529
mov edi, dword [ebp - 0x80]
imul edx, eax, 0x14
add edx, dword [edi + 0x68]
cmp byte [edx], 0xe
jne 0x1014b526
xor ebx, ebx
mov dword [edx + 4], ebx
inc eax
jmp 0x1014b50f
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x7c]
inc dword [eax + 4]
mov eax, dword [ebp - 0x80]
inc dword [eax + 0xbc]
jmp 0x10144b8b
add dword [ebp - 0x7c], 0x14
jmp 0x10144a2b
mov eax, dword [ebp - 0x94]
xor edx, edx
mov byte [ebp - 0xa5], 0
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0x88], 9
jmp 0x1014b58e
mov dword [ebp - 0x88], 9
jmp 0x1014b58e
mov dword [ebp - 0x88], 0x204
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x57], 0
je 0x1014b5af
mov dword [ebp - 0x88], 7
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x7c], 0
jne 0x1014b602
jmp 0x1014b5e0
cmp dword [ebp - 0x88], 0x210a
jne 0x1014b5cb
mov eax, 0x17abe
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x7c], 0
jne 0x1014b602
cmp dword [ebp - 0x88], 0xc0a
je 0x1014b602
mov eax, dword [ebp - 0x88]
call sym._sqlite3ErrStr
mov dword [esp + 4], 0x101f7757
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x80]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x8c]
mov edx, ecx
call sym._sqlite3SystemError
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0xc8]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x94]
mov dword [esp + 4], str.statement_aborts_at__d:___s___s
sub eax, esi
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x88]
mov dword [esp], eax
call sym._sqlite3_log
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x95], 2
jne 0x1014b671
call sym._sqlite3VdbeHalt
cmp dword [ebp - 0x88], 0xc0a
jne 0x1014b68a
mov eax, dword [ebp - 0x8c]
call sym._sqlite3OomFault
jmp 0x1014b6a3
cmp dword [ebp - 0x88], 0xb
jne 0x1014b6a3
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x55], 0
jne 0x1014b6a3
or dword [eax + 0x24], 2
cmp byte [ebp - 0xa5], 0
je 0x1014b6bf
movzx edx, byte [ebp - 0xa5]
mov eax, dword [ebp - 0x8c]
dec edx
call sym._sqlite3ResetOneSchema
mov edi, 1
jmp 0x1014b6cb
mov edi, 0x65
mov ebx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xc4]
cmp dword [ebp - 0xc8], ebx
sbb eax, esi
jb 0x1014b7e0
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x170]
test ecx, ecx
je 0x1014b7e0
mov eax, dword [ebp - 0x8c]
xor edx, edx
mov eax, dword [eax + 0x178]
add ebx, eax
mov eax, dword [ebp - 0x8c]
adc esi, edx
mov eax, dword [eax + 0x174]
mov dword [esp], eax
call ecx
mov dword [ebp - 0x88], 9
mov dword [ebp - 0xd8], 0xffffffff
mov dword [ebp - 0xd4], 0xffffffff
test eax, eax
je 0x1014b6d7
jmp 0x1014b58e
mov dword [esp + 4], str.string_or_blob_too_big
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x88], 0x12
jmp 0x1014b58e
mov eax, dword [ebp - 0x94]
mov byte [ebp - 0xa5], 0
mov dword [ebp - 0x7c], eax
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x8c]
call sym._sqlite3OomFault
mov dword [esp + 4], 0x101f6e9c
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x88], 7
jmp 0x1014b58e
xor edx, edx
mov eax, 0x10
call sym._sqlite3MallocZero
test eax, eax
jne 0x1014a7bd
mov eax, ebx
call sym._sqlite3BtreeLeave
mov dword [ebp - 0x88], 7
jmp 0x1014b58e
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xc8]
add dword [eax + 0xb4], ecx
call sym._sqlite3VdbeLeave
add esp, 0x11c
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret