Function at 0x10139c98
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 0x10139d1e
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 0x10140adb
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 0x101408be
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.0x10139dc0.89
movzx eax, bl
mov dword [ebp - 0xb0], eax
jmp dword [eax*4 + 0x101ea91c]
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 0x101408e8
mov eax, dword [ebp - 0xd8]
cmp dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc4]
sbb eax, dword [ebp - 0xd4]
jb case.0x10139dc0.89
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x170]
test eax, eax
je case.0x10139dc0.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 0x10139e1c
mov dword [ebp - 0xd8], 0xffffffff
mov dword [ebp - 0xd4], 0xffffffff
mov dword [ebp - 0x88], 9
jmp 0x101408fe
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.0x10139dc0.89
imul eax, dword [eax], 0x14
mov edi, dword [ebp - 0x94]
add eax, edi
mov dword [ebp - 0x7c], eax
jmp case.0x10139dc0.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.0x10139dc0.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.0x10139dc0.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.0x10139dc0.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.0x10139dc0.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.0x10139dc0.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 0x1013a033
test eax, eax
jne 0x1013a01f
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 0x1013a000
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.0x10139dc0.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 0x1013a050
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 0x1013a112
mov eax, dword [ebp - 0x7c]
movzx eax, word [eax + 2]
test ax, ax
je 0x1013a0b0
mov eax, dword [eax*4 + 0x101efd40]
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 0x1013a0cd
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 0x1013a0cd
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], 0x101e7e57
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 0x1013c7c9
jmp 0x1013c7af
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.0x10139dc0.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.0x10139dc0.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.0x10139dc0.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 0x1013a259
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 0x10140ab9
movzx edx, byte [ebp - 0x95]
mov eax, ebx
call sym._sqlite3VdbeChangeEncoding
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x10140af9
xor eax, eax
or word [ebx + 0x10], 0x2000
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x7c]
cmp byte [eax + 1], 0xfa
jne 0x1013a243
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 0x10140ab9
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.0x10139dc0.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.0x10139dc0.89
cmp dword [edx], ecx
jne case.0x10139dc0.89
mov word [eax + 0x10], 0x2210
jmp case.0x10139dc0.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.0x10139dc0.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 0x1013a30f
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.0x10139dc0.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 0x1013a385
mov edx, dword [eax + 4]
mov eax, ebx
call sym._sqlite3VdbeMemSetZeroBlob
mov eax, ebx
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
je 0x1013a3a6
jmp 0x10140af9
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.0x10139dc0.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 0x10140ab9
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 0x1013a3f2
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.0x10139dc0.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 0x1013a486
add dword [ebp - 0xa0], 0x28
add ebx, 0x28
dec dword [ebp - 0xb0]
jne 0x1013a43e
jmp case.0x10139dc0.89
mov eax, dword [ebp - 0xa0]
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x1013a46f
jmp 0x10140af9
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 0x1013a4dc
mov eax, dword [ebx + 0x10]
test ah, 8
jne 0x1013a4ec
jmp 0x1013a4fc
mov eax, ebx
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x1013a4d2
jmp 0x10140af9
mov ecx, dword [ebp - 0x7c]
test byte [ecx + 2], 2
je 0x1013a4fc
and ah, 0xf7
mov word [ebx + 0x10], ax
test esi, esi
je case.0x10139dc0.89
add ebx, 0x28
add edi, 0x28
dec esi
jmp 0x1013a4be
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.0x10139dc0.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.0x10139dc0.89
mov eax, dword [ebp - 0x80]
xor edx, edx
call sym._sqlite3VdbeCheckFk
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013dcaa
jmp 0x101408fe
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 0x10140af9
test byte [eax + 0x5e], 4
je 0x1013a5f0
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 0x10140a3b
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 0x1013a66e
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139dc0.89
test byte [ebp - 0xc0], 0x12
jne 0x1013a68d
movzx edx, byte [ebp - 0x95]
mov eax, dword [ebp - 0xb0]
xor ecx, ecx
call sym._sqlite3VdbeMemStringify
jmp 0x1013a6a3
test word [ebp - 0xc0], 0x400
je 0x1013a6c5
mov eax, dword [ebp - 0xb0]
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
jne 0x10140af9
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 0x1013a6ef
movzx edx, byte [ebp - 0x95]
mov eax, dword [ebp - 0xa0]
xor ecx, ecx
call sym._sqlite3VdbeMemStringify
jmp 0x1013a705
test word [ebp - 0xd0], 0x400
je 0x1013a727
mov eax, dword [ebp - 0xa0]
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
jne 0x10140af9
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 0x10140ab9
xor ecx, ecx
cmp dword [ebp - 0xa0], ebx
lea edx, [edi + 2]
mov eax, ebx
sete cl
call sym._sqlite3VdbeMemGrow
test eax, eax
jne 0x10140af9
mov eax, dword [ebx + 0x10]
and ax, 0xf240
or eax, 2
mov word [ebx + 0x10], ax
cmp dword [ebp - 0xa0], ebx
je 0x1013a7a2
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 0x1013a7de
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.0x10139dc0.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 0x1013ab49
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 0x1013a8e1
ja 0x1013a8b9
cmp al, 0x6a
je 0x1013a8c6
cmp al, 0x6b
jne 0x1013aace
mov eax, esi
mov edx, edi
sub eax, dword [ebp - 0xa0]
sbb edx, dword [ebp - 0x9c]
jmp 0x1013a8d6
cmp al, 0x6d
je 0x1013aa77
jmp 0x1013aace
mov eax, esi
mov edx, edi
add eax, dword [ebp - 0xa0]
adc edx, dword [ebp - 0x9c]
jno 0x1013ab24
jmp 0x1013ab53
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 0x1013a954
cmp eax, ecx
jne 0x1013a928
mov eax, esi
imul dword [ebp - 0xa0]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], edx
jmp 0x1013aa66
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 0x1013a974
cmp eax, ecx
jne 0x1013a9e5
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 0x1013a9aa
mov eax, dword [ebp - 0xd0]
mov edx, eax
mov eax, 0
sub esi, eax
sbb edi, edx
cmp dword [ebp - 0xd0], 0
jns 0x1013a9bf
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 0x1013ab53
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe0], ecx
jmp 0x1013aa66
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 0x1013ab53
mov eax, dword [ebp - 0xd0]
inc eax
cmp eax, 1
ja 0x1013ab53
mov edi, dword [ebp - 0xd0]
cmp dword [ebp - 0xe8], edi
jne 0x1013aa59
mov edi, dword [ebp - 0xe0]
xor eax, eax
cmp eax, edi
mov edi, dword [ebp - 0xdc]
sbb eax, edi
jl 0x1013aa66
jmp 0x1013ab53
cmp dword [ebp - 0xdc], 0
jns 0x1013ab53
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xdc]
jmp 0x1013ab24
mov eax, dword [ebp - 0x9c]
or eax, dword [ebp - 0xa0]
je 0x1013ac54
mov edx, edi
mov eax, esi
add edx, 0x80000000
or eax, edx
jne 0x1013aaac
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
and eax, ecx
inc eax
je 0x1013ab53
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 0x1013ab24
mov eax, dword [ebp - 0x9c]
or eax, dword [ebp - 0xa0]
je 0x1013ac54
cmp dword [ebp - 0x9c], 0xffffffff
jne 0x1013ab04
cmp dword [ebp - 0xa0], 0xffffffff
jne 0x1013ab04
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.0x10139dc0.89
or eax, edx
test al, 1
jne 0x1013ac54
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 0x1013ab9d
ja 0x1013ab8f
cmp al, 0x6a
je 0x1013ab99
cmp al, 0x6b
jne 0x1013abb5
fsubp st(1)
jmp 0x1013ac10
cmp al, 0x6d
je 0x1013aba1
fstp st(0)
fstp st(0)
jmp 0x1013abb9
faddp st(1)
jmp 0x1013ac10
fmulp st(1)
jmp 0x1013ac10
fldz
fxch st(1)
fucomi st(1)
fstp st(1)
jp 0x1013abb1
je 0x1013ac50
fdivp st(1)
jmp 0x1013ac10
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 0x1013ac54
cmp ebx, 0xffffffff
jne 0x1013abea
cmp esi, 0xffffffff
jne 0x1013abea
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 0x1013ac54
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.0x10139dc0.89
fstp st(0)
fstp st(0)
mov eax, dword [ebp - 0xb0]
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139dc0.89
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
test eax, eax
je case.0x10139dc0.89
imul eax, eax, 0x28
mov edi, dword [ebp - 0x90]
xor edx, edx
xor ecx, ecx
add eax, edi
call sym._sqlite3VdbeMemSetInt64
jmp case.0x10139dc0.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 0x1013acd5
mov eax, edi
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139dc0.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 0x1013acfd
and esi, eax
and edi, edx
jmp 0x1013adae
cmp bl, 0x67
jne 0x1013ad0b
or esi, eax
or edi, edx
jmp 0x1013adae
mov ecx, edx
or ecx, eax
je 0x1013adae
test edx, edx
jns 0x1013ad2d
mov cl, 0xd1
sub ecx, ebx
cmp eax, 0xffffffc1
mov ebx, ecx
mov ecx, edx
sbb ecx, 0xffffffff
jl 0x1013ad3d
neg eax
jmp 0x1013ad58
mov ecx, 0x3f
cmp ecx, eax
mov ecx, 0
sbb ecx, edx
jge 0x1013ad58
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 0x1013adaa
mov ecx, eax
mov edx, edi
mov eax, esi
cmp bl, 0x68
jne 0x1013ad75
shl eax, cl
shld edx, esi, cl
xor edi, edi
and cl, 0x20
cmovne edx, eax
cmovne eax, edi
jmp 0x1013adaa
shr edx, cl
shrd eax, edi, cl
xor esi, esi
test cl, 0x20
cmovne eax, edx
cmovne edx, esi
test edi, edi
jns 0x1013adaa
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.0x10139dc0.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.0x10139dc0.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 0x1013ae4a
movzx ecx, byte [ebp - 0x95]
mov edx, 0x43
mov eax, ebx
call sym._applyAffinity
test byte [ebx + 0x10], 4
jne 0x1013ae4a
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 8], 0
jne 0x10139efb
mov dword [ebp - 0x88], 0x14
jmp 0x101408fe
mov eax, dword [ebx + 0x10]
and ax, 0xf240
or eax, 4
mov word [ebx + 0x10], ax
jmp case.0x10139dc0.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.0x10139dc0.89
call sym._sqlite3VdbeMemRealify.isra.0
jmp case.0x10139dc0.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 0x1013aebd
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.0x10139dc0.89
jmp 0x101408fe
mov eax, ebx
call sym._sqlite3VdbeMemExpandBlob
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013ae95
jmp 0x101408fe
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 0x1013af7d
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 0x1013af3b
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x101f0cd8], 0
jne 0x10139efb
mov dword [ebp - 0xa4], 1
jmp case.0x10139dc0.89
cmp ebx, ecx
sbb eax, edx
mov eax, dword [ebp - 0xb0]
jge 0x1013af63
cmp byte [eax + 0x101f0ccc], 0
jne 0x10139efb
mov dword [ebp - 0xa4], 0xffffffff
jmp case.0x10139dc0.89
cmp byte [eax + 0x101f0cd2], 0
jne 0x10139efb
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
jmp case.0x10139dc0.89
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x7c]
or ecx, ebx
mov ax, word [eax + 2]
test cl, 1
je 0x1013afd2
test al, 0x80
je 0x1013afbb
and dl, 1
je 0x1013afa3
test bh, 1
je 0x1013b0c3
test bl, 1
jne 0x1013b0a8
mov dword [ebp - 0xa4], 1
jmp 0x1013b0da
test al, 0x10
jne 0x10139efb
mov dword [ebp - 0xa4], 1
jmp case.0x10139dc0.89
and eax, 0x47
cmp al, 0x42
jle 0x1013b017
and cl, 2
je 0x1013b08d
mov eax, dword [ebp - 0xa0]
and eax, 0x2e
cmp ax, 2
jne 0x1013affd
xor edx, edx
mov eax, edi
call sym._applyNumericAffinity
mov ebx, dword [esi + 0x10]
mov eax, ebx
and eax, 0x2e
cmp ax, 2
jne 0x1013b08d
xor edx, edx
mov eax, esi
call sym._applyNumericAffinity
jmp 0x1013b08d
jne 0x1013b08d
test byte [ebp - 0xa0], 2
jne 0x1013b062
test byte [ebp - 0xa0], 0x2c
je 0x1013b062
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 0x1013b062
mov ebx, eax
or ebx, 2
test bl, 2
jne 0x1013b08d
test bl, 0x2c
je 0x1013b08d
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 0x1013b0c1
jmp 0x1013b0b2
mov dword [ebp - 0xa4], 0xffffffff
mov eax, dword [ebp - 0x7c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x101f0ccc]
jmp 0x1013b0e7
jne 0x1013b0da
mov eax, dword [ebp - 0x7c]
xor edx, edx
mov dword [ebp - 0xa4], edx
movzx eax, byte [eax]
movzx eax, byte [eax + 0x101f0cd2]
jmp 0x1013b0e7
mov eax, dword [ebp - 0x7c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x101f0cd8]
mov word [esi + 0x10], bx
mov esi, dword [ebp - 0xa0]
mov word [edi + 0x10], si
jmp 0x1013b421
cmp dword [ebp - 0xa4], 0
jmp 0x1013f33a
mov eax, dword [ebp - 0x7c]
xor esi, esi
test byte [eax + 2], 1
je 0x1013b11d
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.0x10139dc0.89
mov eax, ebx
test esi, esi
je 0x1013b15d
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 0x1013b1f4
mov eax, dword [edi + 0x10]
test byte [eax + ebx], 2
je 0x1013b1dc
mov eax, dword [ebp - 0xb0]
test byte [eax + 0x10], 1
jne 0x1013b1d6
mov eax, dword [ebp - 0xa0]
test byte [eax + 0x10], 1
je 0x1013b1dc
neg dword [ebp - 0xa4]
test byte [ebp - 0xb8], 1
je case.0x10139dc0.89
neg dword [ebp - 0xa4]
jmp case.0x10139dc0.89
inc ebx
jmp 0x1013b146
cmp dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0x7c]
jns 0x1013b21c
imul eax, dword [eax + 4], 0x14
mov edi, dword [ebp - 0x94]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0x7c], eax
jmp case.0x10139dc0.89
jne 0x1013b234
imul eax, dword [eax + 8], 0x14
mov edi, dword [ebp - 0x94]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0x7c], eax
jmp case.0x10139dc0.89
imul eax, dword [eax + 0xc], 0x14
mov edi, dword [ebp - 0x94]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0x7c], eax
jmp case.0x10139dc0.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 0x1013b290
movzx ecx, byte [eax + esi + 0x101ef880]
jmp 0x1013b298
movzx ecx, byte [eax + esi + 0x101f02e4]
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 0x1013b2bf
or eax, 1
mov word [edx + 0x10], ax
jmp case.0x10139dc0.89
mov dword [edx], ecx
or eax, 4
sar ecx, 0x1f
mov dword [edx + 4], ecx
mov word [edx + 0x10], ax
jmp case.0x10139dc0.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.0x10139dc0.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 0x1013b34d
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.0x10139dc0.89
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139dc0.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.0x10139dc0.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.0x10139dc0.89
mov eax, dword [ebp - 0x80]
mov ebx, dword [eax + 0xd0]
mov eax, dword [eax + 0x68]
test ebx, ebx
je 0x1013b3e7
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 0x10139efb
mov ebx, 1
shl ebx, cl
or eax, ebx
mov byte [edx], al
jmp 0x1013b3f6
mov edi, dword [ebp - 0x7c]
mov edi, dword [edi + 4]
cmp dword [eax + 4], edi
je 0x10139efb
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.0x10139dc0.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 0x10139ef5
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 0x1013f33a
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
test byte [edi + eax + 0x10], 1
jmp 0x10139ef5
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 0x10139efb
mov dword [esp], eax
call sym._sqlite3_value_type
mov edi, dword [ebp - 0x7c]
cmp eax, dword [edi + 0xc]
jmp 0x1013f33a
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 0x1013b4c6
mov edi, dword [ebp - 0x7c]
imul edx, dword [edi + 0xc], 0x28
mov edi, dword [ebp - 0x90]
test byte [edi + edx + 0x10], 1
je 0x1013b4d0
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139dc0.89
xor edx, edx
xor ecx, ecx
call sym._sqlite3VdbeMemSetInt64
jmp case.0x10139dc0.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
test byte [edi + eax + 0x10], 1
jmp 0x1013f33a
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.0x10139dc0.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 0xc], 0x28
add eax, edi
call sym._sqlite3VdbeMemSetNull
jmp 0x10139efb
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 0x1013b6a1
cmp byte [esi + 2], 0
je 0x1013b5a1
cmp byte [esi], 3
jne 0x1013b588
mov eax, dword [esi + 0x24]
test eax, eax
jle 0x1013b588
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 0x1013b631
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 0xc], 0x28
add eax, edi
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139dc0.89
cmp byte [esi + 3], 0
mov edi, dword [esi + 0x2c]
je 0x1013b5de
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1013b5c8
mov ecx, dword [ebp - 0xb8]
mov eax, dword [eax + ecx*4 + 4]
test eax, eax
je 0x1013b5c8
mov esi, dword [esi + 0x28]
dec eax
jmp 0x1013b53c
mov eax, esi
call sym._sqlite3VdbeFinishMoveto
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013b605
jmp 0x101408fe
cmp byte [edi], 0
je 0x1013b605
mov eax, esi
call sym._sqlite3VdbeHandleMovedCursor
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x101408fe
xor eax, eax
mov dword [ebp - 0x88], eax
jmp 0x1013b542
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 0x1013b662
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 0x1013b71c
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 0x1013ba66
cmp dword [esi + 0x50], eax
jae 0x1013b6d3
jmp 0x1013ba66
mov eax, dword [esi + 0x2c]
cmp byte [eax], 0
je 0x1013b6c3
mov eax, esi
call sym._sqlite3VdbeHandleMovedCursor
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013b5f8
jmp 0x101408fe
movzx eax, word [esi + 0x3e]
cmp dword [ebp - 0xb8], eax
jb 0x1013b8b6
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
cmp dword [esi + 0x34], eax
jae 0x1013b86f
mov ebx, dword [esi + 0x4c]
test ebx, ebx
jne 0x1013b71c
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 0x101408fe
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 0x1013b776
inc dword [ebp - 0xb0]
movzx eax, byte [eax + 0x101f0b60]
jmp 0x1013b7a5
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 0x1013b7df
cmp dword [ebp - 0xb0], eax
jb 0x1013b752
jmp 0x1013b7e7
cmp dword [ebp - 0xb0], eax
jb 0x1013b80b
mov edi, dword [ebp - 0xb0]
cmp dword [ebp - 0xd0], edi
jb 0x1013b820
cmp dword [ebp - 0xbc], 0
mov eax, dword [esi + 0x50]
jne 0x1013b820
mov edi, dword [ebp - 0xc0]
cmp eax, edi
jne 0x1013b820
xor edx, edx
mov edi, dword [ebp - 0xc0]
cmp dword [esi + 0x50], edi
mov eax, edx
sbb eax, dword [ebp - 0xbc]
jae 0x1013b850
mov eax, dword [ebp - 0xa0]
cmp dword [eax], 0
je 0x1013b842
cmp dword [esi + 0x4c], 0
jne 0x1013ba66
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemRelease
jmp 0x1013ba66
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 0x1013b874
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemRelease
jmp 0x1013b874
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 0x1013b8c3
imul eax, eax, 0x28
mov edi, dword [ebp - 0x90]
add eax, edi
mov edi, dword [ebp - 0x7c]
cmp byte [edi + 1], 0xf6
jne 0x1013b8ac
mov edx, dword [edi + 0x10]
mov ecx, 0x2000
call sym._sqlite3VdbeMemShallowCopy
jmp case.0x10139dc0.89
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139dc0.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 0x1013b8e1
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 0x1013b9c7
mov eax, dword [edi + edx - 4]
add eax, dword [esi + 0x4c]
cmp dword [ebp - 0xb0], 0xb
mov esi, eax
ja 0x1013b92e
mov edx, dword [ebp - 0xb0]
mov ecx, ebx
call sym._sqlite3VdbeSerialGet
jmp case.0x10139dc0.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 0x1013b987
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0xa0]
cmp dword [eax + 0x78], edi
jl 0x10140ab9
mov word [ebx + 0x10], 1
xor ecx, ecx
lea edx, [edi + 2]
mov eax, ebx
call sym._sqlite3VdbeMemGrow
test eax, eax
je 0x1013b98d
jmp 0x10140af9
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 + 0x101eec4c]
mov word [ebx + 0x10], ax
jmp case.0x10139dc0.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 0x1013b9f1
cmp dword [ebp - 0xb0], 0xb
jbe 0x1013b9ed
test byte [ebp - 0xb0], 1
je 0x1013ba02
test al, 0x80
jne 0x1013ba02
mov eax, dword [ebp - 0xb0]
call sym._sqlite3VdbeSerialTypeLen
mov ecx, eax
test eax, eax
jne 0x1013ba19
mov edx, dword [ebp - 0xb0]
mov ecx, ebx
mov eax, 0x101f09a0
call sym._sqlite3VdbeSerialGet
jmp case.0x10139dc0.89
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x78], ecx
jl 0x10140ab9
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 0x101408fe
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0xb0]
mov ecx, ebx
call sym._sqlite3VdbeSerialGet
and word [ebx + 0x10], 0xbfff
jmp case.0x10139dc0.89
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x1013ba88
imul eax, eax, 0x14
mov edi, dword [ebp - 0x94]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0x7c], eax
jmp case.0x10139dc0.89
mov eax, 0x164a2
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
jmp 0x101408fe
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.0x10139dc0.89
mov ax, word [edi + 0xe]
test al, 0x60
je 0x1013baf6
test al, 0x20
jne 0x1013bb8d
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0xc], 0
jne 0x1013bb8a
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 0x1013bb8a
mov al, byte [edi + 4]
shr al, 4
cmp al, 5
je 0x1013bb48
ja 0x1013bb34
cmp al, 2
je 0x1013bb3a
lea edx, [eax + 0xd]
and edx, 0xf
cmp dl, 1
ja 0x1013bb8a
and cl, 4
jne 0x1013bb8a
movzx eax, al
jmp 0x1013bbae
cmp al, 6
je 0x1013bb41
jmp 0x1013bb8a
and cl, 0x10
jne 0x1013bb8a
jmp 0x1013bb9b
and cl, 2
jne 0x1013bb8a
jmp 0x1013bba2
test cl, 4
je 0x1013bb85
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 0x1013bb74
or ecx, 0x20
jmp 0x1013bb7f
fild qword [ebp - 0xa0]
or ecx, 8
fstp qword [ebx]
mov word [ebx + 0x10], cx
jmp 0x1013bb8a
and cl, 0x28
je 0x1013bba9
add ebx, 0x28
inc dword [ebp - 0xb0]
add edi, 0x10
jmp 0x1013bac7
mov eax, 2
jmp 0x1013bbae
mov eax, 6
jmp 0x1013bbae
mov eax, 5
mov ecx, dword [esi]
mov edx, dword [edi]
mov dword [esp], ebx
mov esi, dword [eax*4 + 0x101650bc]
call sym._sqlite3_value_type
mov dword [esp + 0x14], edx
mov eax, dword [eax*4 + 0x101efd78]
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 0x101408fe
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 0x1013bc62
mov ecx, dword [ebx + 0x10]
test cl, 4
je 0x1013bc62
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 0x1013bc53
or ecx, 0x20
jmp 0x1013bc5e
fild qword [ebp - 0xa0]
or ecx, 8
fstp qword [ebx]
mov word [ebx + 0x10], cx
inc esi
cmp byte [esi], 0
je case.0x10139dc0.89
add ebx, 0x28
jmp 0x1013bc13
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 0x1013bce2
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 0x1013bd6a
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 0x1013bd11
mov eax, dword [edi + 0x10]
test al, 4
je 0x1013bd11
and eax, 0xfffffffb
or eax, 0x20
mov word [edi + 0x10], ax
inc ebx
add edi, 0x28
cmp byte [ebx], 0
jne 0x1013bcef
jmp 0x1013bcb9
mov ecx, dword [ebp - 0xb8]
mov eax, 1
cmp eax, ecx
mov eax, dword [ebp - 0xb4]
sbb edx, eax
jl 0x1013be04
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x93], 3
jbe 0x1013be04
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 0x1013bf70
sub dword [ebp - 0xb0], 0x28
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x10]
test al, 1
je 0x1013bd8b
and ax, 0x400
neg ax
sbb ebx, ebx
inc dword [ebp - 0xd0]
and ebx, 0xa
jmp 0x1013bd4c
test al, 0x24
je 0x1013beb9
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 0x1013bddb
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 0x1013be04
jmp 0x1013be14
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 0x1013bd1c
mov ecx, dword [ebp - 0xb8]
mov edx, ebx
jmp 0x1013be14
add esi, 1
mov ebx, 1
adc edi, 0
jmp 0x1013bd4c
mov ebx, 0x7fff
cmp ebx, ecx
mov ebx, 0
sbb ebx, edx
jb 0x1013be34
add esi, 2
mov ebx, 2
adc edi, 0
jmp 0x1013bd4c
mov ebx, 0x7fffff
cmp ebx, ecx
mov ebx, 0
sbb ebx, edx
jb 0x1013be54
add esi, 3
mov ebx, 3
adc edi, 0
jmp 0x1013bd4c
mov ebx, 0x7fffffff
cmp ebx, ecx
mov ecx, 0
sbb ecx, edx
jb 0x1013be74
add esi, 4
mov ebx, 4
adc edi, 0
jmp 0x1013bd4c
cmp edx, 0x7fff
ja 0x1013be8c
add esi, 6
mov ebx, 5
adc edi, 0
jmp 0x1013bd4c
add esi, 8
mov ebx, 6
adc edi, 0
test al, 0x20
je 0x1013bd4c
fild qword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb0]
and eax, 0xffffffdf
or eax, 8
mov word [ecx + 0x10], ax
fstp qword [ecx]
jmp 0x1013bec9
test al, 8
je 0x1013bed3
inc dword [ebp - 0xd0]
add esi, 8
adc edi, 0
mov ebx, 7
jmp 0x1013bd4c
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 0x1013bf36
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax]
lea edx, [eax + eax]
add ebx, edx
mov edx, edi
or edx, esi
je 0x1013bf29
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xb8], ecx
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
jne 0x10140af9
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb8]
add ecx, dword [eax]
jmp 0x1013bf36
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 0x1013bf5f
inc dword [ebp - 0xb8]
jmp 0x1013bf4a
mov ecx, dword [ebp - 0xb8]
add dword [ebp - 0xd0], ecx
jmp 0x1013bd4c
cmp dword [ebp - 0xd0], 0x7e
mov eax, dword [ebp - 0xd0]
jg 0x1013bf88
inc eax
mov dword [ebp - 0xb0], eax
jmp 0x1013bfdf
cdq
mov ecx, 1
shrd eax, edx, 7
shr edx, 7
mov ebx, edx
or ebx, eax
je 0x1013bf9e
inc ecx
jmp 0x1013bf8e
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 0x1013bfbe
cmp dword [ebp - 0xb8], ecx
jle 0x1013bfdf
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 0x1013c046
mov eax, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xc0]
mov eax, dword [eax + 0x20]
mov dword [edi + 8], eax
jmp 0x1013c079
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 0x10140ab9
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xc0]
call sym._sqlite3VdbeMemClearAndResize
test eax, eax
jne 0x10140af9
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 0x1013c0b0
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 0x1013c0dd
mov al, byte [ebp - 0xb0]
lea ebx, [edi + 1]
mov byte [edi], al
jmp 0x1013c0f3
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 0x1013c133
mov byte [ebx], dl
lea eax, [ebx + 1]
test edx, edx
je 0x1013c185
mov esi, dword [ebp - 0xa0]
mov ecx, dword [esi]
mov ebx, dword [esi + 4]
movzx esi, byte [edx + 0x101f0b60]
mov edx, esi
mov edi, dword [ebp - 0xb8]
dec edx
mov byte [edi + edx], cl
je 0x1013c17f
shrd ecx, ebx, 8
shr ebx, 8
jmp 0x1013c11e
cmp edx, 0x7f
ja 0x1013c153
mov byte [ebx], dl
lea eax, [ebx + 1]
cmp edx, 0xd
jbe 0x1013c185
mov esi, dword [ebp - 0xa0]
mov ecx, dword [esi + 0xc]
mov edi, esi
test ecx, ecx
jle 0x1013c185
jmp 0x1013c16b
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 0x1013c185
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.0x10139dc0.89
add dword [ebp - 0xa0], 0x28
mov ebx, eax
jmp 0x1013c0f3
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 0x1013c1d0
call sym._sqlite3BtreeRowCountEst
mov esi, eax
mov edi, edx
jmp 0x1013c2af
call sym._moveToRoot
mov dword [ebp - 0x88], eax
cmp eax, 0x10
je 0x1013c2a3
xor esi, esi
xor edi, edi
cmp dword [ebp - 0x88], 0
jne 0x101408fe
mov eax, dword [ebp - 0xec]
mov eax, dword [eax]
test eax, eax
jne 0x1013c2a3
mov ecx, dword [ebx + 0x74]
cmp byte [ecx + 8], 0
movzx eax, word [ecx + 0x18]
jne 0x1013c220
cmp byte [ecx + 1], 0
jne 0x1013c259
xor edx, edx
add esi, eax
adc edi, edx
jmp 0x1013c259
xor edx, edx
add esi, eax
adc edi, edx
cmp byte [ebx + 0x44], 0
mov eax, ebx
jne 0x1013c242
call sym._moveToRoot
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013c2af
jmp 0x101408fe
call sym._moveToParent
mov ecx, dword [ebx + 0x74]
mov ax, word [ebx + 0x46]
cmp ax, word [ecx + 0x18]
jae 0x1013c226
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 0x1013c276
movzx eax, byte [ecx + 9]
mov edx, dword [edx + eax + 8]
jmp 0x1013c28f
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 0x1013c1e8
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 0x10139e0c
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 0x1013c3d6
cmp dword [eax + 0xc4], 0
jle 0x1013c31a
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 0x101408fe
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 0x101408fe
mov eax, dword [ebp - 0x8c]
lea edx, [ebx + 0x21]
xor ecx, ecx
call sym._sqlite3DbMallocRawNN
mov edx, eax
test eax, eax
je 0x1013c6dd
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 0x1013c386
mov byte [eax + 0x55], 0
mov byte [eax + 0x5d], 1
jmp 0x1013c392
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 0x1013c6dd
mov ebx, dword [eax + 0x1e8]
xor eax, eax
mov dword [ebp - 0xb0], eax
test ebx, ebx
je 0x1013c406
mov eax, dword [ebx]
mov edx, esi
call sym._sqlite3StrICmp
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x1013c42c
inc dword [ebp - 0xb0]
mov ebx, dword [ebx + 0x18]
jmp 0x1013c3e4
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 0x101408fe
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0xc4], 0
jle 0x1013c466
cmp dword [ebp - 0xa0], 1
jne 0x1013c466
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 0x101408fe
xor esi, esi
cmp dword [ebx + 0x18], 0
jne 0x1013c517
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x5d], 0
je 0x1013c517
cmp dword [ebp - 0xa0], 1
mov esi, 1
jne 0x1013c517
mov eax, dword [ebp - 0x80]
mov edx, 1
call sym._sqlite3VdbeCheckFk
mov edi, eax
test eax, eax
jne 0x10140a3b
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 0x1013c4ef
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 0x1013c7af
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x24]
test eax, eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
je 0x1013c50e
mov byte [eax + 0x55], 0
jmp 0x101408fe
mov byte [eax + 0x5d], 0
jmp 0x1013c612
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 0x1013c5d4
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 0x1013c592
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 0x101408fe
inc edi
jmp 0x1013c552
mov edi, dword [ebp - 0xc0]
jmp 0x1013c5d4
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 0x101408fe
inc dword [ebp - 0xb8]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0xb8]
cmp dword [eax + 0x14], ecx
jg 0x1013c59a
test edi, edi
je 0x1013c605
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 0x101408fe
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x1e8]
cmp eax, ebx
je 0x1013c64b
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 0x1013c612
cmp dword [ebp - 0xa0], 1
jne 0x1013c681
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 0x1013c6dd
mov eax, dword [ebp - 0x8c]
dec dword [eax + 0x1f4]
jmp 0x1013c6b8
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 0x1013c6b8
cmp dword [ebp - 0xa0], 2
jne 0x1013c6dd
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 0x101408fe
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x95], 3
jne 0x1013fada
jmp 0x10140a36
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 0x1013c7d8
test edx, edx
je 0x1013c71d
mov edx, 0x204
call sym._sqlite3RollbackAll
jmp 0x1013c76b
test esi, esi
je 0x1013c752
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0xc4], 0
jle 0x1013c752
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 0x101408fe
mov eax, dword [ebp - 0x80]
mov edx, 1
call sym._sqlite3VdbeCheckFk
mov edi, eax
test eax, eax
jne 0x10140a3b
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 0x1013c7bb
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 0x10140a3b
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 0x10140a3b
mov eax, str.cannot_start_a_transaction_within_a_transaction
test ecx, ecx
je 0x1013c7f0
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 0x101408fe
xor eax, eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
test edx, edx
je 0x1013c864
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 0x1013c864
cmp ebx, 1
sbb eax, eax
mov dword [ebp - 0x88], eax
and dword [ebp - 0x88], 3
add dword [ebp - 0x88], 8
jmp 0x101408fe
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 0x1013c9c8
lea ecx, [ebp - 0x40]
mov eax, esi
call sym._sqlite3BtreeBeginTrans
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013c8d4
cmp byte [ebp - 0x88], 5
jne 0x101408fe
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 0x10140a3b
mov eax, dword [ebp - 0x80]
test byte [eax + 0x98], 0x20
jne 0x1013c8f3
mov eax, dword [ebp - 0x7c]
cmp word [eax + 2], 0
jne 0x1013c9da
jmp 0x1013ca6a
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 8], 0
je 0x1013c8e0
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x55], 0
je 0x1013c911
cmp dword [eax + 0xc0], 1
jle 0x1013c8e0
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x30], 0
jne 0x1013c945
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 0x1013c995
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 0x1013c8e0
jmp 0x101408fe
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x40]
cmp dword [eax + 0xc], esi
jne 0x1013c9f3
mov edi, dword [ebp - 0x7c]
mov eax, dword [ebx + 0xc]
mov edi, dword [edi + 0x10]
cmp dword [eax + 4], edi
je 0x1013ca6a
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 0x1013ca43
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 0x101408fe
xor eax, eax
mov dword [ebp - 0x88], eax
jmp case.0x10139dc0.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.0x10139dc0.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 0x1013cb76
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 0x1013cb87
mov eax, dword [esi + 8]
cmp byte [eax + 0x2b], 0
je 0x1013cb44
mov esi, dword [esi]
jmp 0x1013cb33
mov ebx, dword [eax + 0x30]
test ebx, ebx
je 0x1013cb40
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 0x1013cb47
cmp eax, 2
jne 0x1013cb87
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 0x1013cba7
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 0x1013fada
jmp 0x101408fe
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.0x10139dc0.112
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 8]
cmp dword [esi + 0x38], eax
jne case.0x10139dc0.112
mov eax, dword [esi + 0x2c]
call sym._sqlite3BtreeClearCursor
jmp 0x1013cd05
mov eax, dword [ebp - 0x80]
mov al, byte [eax + 0x98]
mov byte [ebp - 0x88], al
and eax, 3
dec al
je 0x101408f4
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 0x1013cc62
mov eax, dword [eax + 0xc]
mov esi, dword [ebp - 0x80]
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x93]
jb 0x1013cc57
mov eax, edx
and eax, 8
or eax, 4
mov dword [ebp - 0x88], eax
jmp 0x1013cc62
mov esi, dword [ebp - 0x80]
mov byte [esi + 0x93], al
jmp 0x1013cc47
and dl, 0x10
je 0x1013cc7b
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 0x1013cc91
mov eax, dword [ebp - 0x7c]
mov ebx, dword [eax + 0x10]
movzx ecx, word [ebx + 8]
jmp 0x1013cca3
cmp al, 0xfd
jne 0x1013cc9f
mov eax, dword [ebp - 0x7c]
xor ebx, ebx
mov ecx, dword [eax + 0x10]
jmp 0x1013cca3
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 0x10140af9
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.0x10139dc0.89
jmp 0x101408fe
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 0x10140af9
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.0x10139dc0.89
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x1013cdde
imul eax, eax, 0x28
mov edi, dword [ebp - 0x90]
xor edx, edx
add eax, edi
mov dword [eax + 0xc], edx
mov dword [eax + 8], 0x101e72c4
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 0x1013ce30
test byte [ebx + 8], 8
jne 0x1013ce30
movsx eax, word [ebx + 0x3c]
cmp eax, ecx
jl 0x1013ce30
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 0x1013cf75
jmp 0x101408fe
xor edi, edi
mov dword [esp], edi
mov eax, dword [ebp - 0x80]
call sym._allocateCursor
mov ebx, eax
test eax, eax
je 0x10140af9
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 0x101408fe
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 0x1013cedd
mov esi, dword [eax + 0x10]
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0x30], esi
test esi, esi
je 0x1013cf19
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 0x1013cef5
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 0x1013cf68
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 0x1013cf43
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 0x1013cf75
mov eax, dword [ebx + 0x10]
call sym._sqlite3BtreeClose.isra.0
jmp 0x101408fe
mov byte [ebx + 2], 1
jmp 0x1013fada
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 0x10140af9
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.0x10139dc0.89
jmp 0x101408fe
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 0x1013f338
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 0x10140af9
mov edi, dword [ebp - 0x7c]
mov byte [eax + 2], 1
mov edx, dword [edi + 8]
mov byte [eax + 4], 1
mov dword [eax + 0x2c], 0x10164a14
mov dword [eax + 0x24], edx
jmp case.0x10139dc0.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 0x1013d04f
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.0x10139dc0.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 0x1013d1a4
mov eax, dword [edi + 0x10]
mov word [ebp - 0xc0], ax
and eax, 0x2e
cmp ax, 2
jne 0x1013d0c1
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 0x1013d15e
test al, 8
jne 0x1013d126
cmp dword [ebp - 0xb0], 0x15
jg 0x10139efb
test al, 1
jne 0x10139efb
mov eax, dword [esi + 0x2c]
lea edx, [ebp - 0x68]
call sym._sqlite3BtreeLast
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x101408fe
cmp dword [ebp - 0x68], 0
je 0x1013d2a6
jmp 0x1013fa0a
fild qword [ebp - 0xb8]
fld qword [edi]
fcomi st(1)
ja 0x1013d148
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x1013d15e
and bl, 1
je 0x1013d15e
mov eax, dword [ebp - 0xb0]
dec eax
jmp 0x1013d158
fstp st(0)
fstp st(0)
and bl, 1
jne 0x1013d15e
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 0x1013d21a
jmp 0x101408fe
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 0x101408fe
cmp byte [ebp - 0xb0], 0
mov eax, dword [ebp - 0x68]
je 0x1013d21a
cmp byte [ebp - 0x26], 0
mov ebx, 1
jne 0x1013d21c
test eax, eax
jne 0x1013fa0a
add dword [ebp - 0x7c], 0x14
jmp 0x1013d2a6
xor ebx, ebx
cmp dword [ebp - 0xa0], 0x15
mov eax, dword [ebp - 0x68]
jle 0x1013d269
test eax, eax
js 0x1013d239
cmp dword [ebp - 0xa0], 0x17
jne 0x1013d262
test eax, eax
jne 0x1013d262
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 0x1013d294
cmp eax, 0x65
jne 0x101408fe
mov dword [ebp - 0x68], 1
jmp 0x1013d294
xor eax, eax
mov dword [ebp - 0x68], eax
jmp 0x1013d294
mov edx, dword [esi + 0x2c]
test eax, eax
jg 0x1013d27b
jne 0x1013d289
cmp dword [ebp - 0xa0], 0x14
jne 0x1013d289
xor eax, eax
mov dword [ebp - 0x68], eax
mov eax, edx
call sym._sqlite3BtreePrevious.constprop.0
jmp 0x1013d246
xor eax, eax
cmp byte [edx], 0
setne al
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
jne 0x1013fa0a
test ebx, ebx
jne 0x1013d211
xor eax, eax
mov dword [ebp - 0x88], eax
jmp case.0x10139dc0.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.0x10139dc0.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 0x1013d358
mov eax, 0x14eb8
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
test eax, eax
jmp 0x1013fa04
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 0x101408fe
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 0x1013d3b4
add dword [ebp - 0x7c], 0x14
jmp 0x1013fa0a
je 0x1013fa0a
test edi, edi
jle case.0x10139dc0.89
mov eax, dword [ebx + 0x2c]
dec edi
call sym._sqlite3BtreeNext.constprop.0
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013d2fa
cmp eax, 0x65
je 0x1013d3ab
jmp 0x101408fe
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 0x1013d409
mov word [eax + 0xc], dx
jmp case.0x10139dc0.89
mov esi, dword [ebp - 0x7c]
mov edx, dword [esi + 0xc]
cmp ecx, edx
jle case.0x10139dc0.89
mov word [eax + 0xc], dx
jmp case.0x10139dc0.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.0x10139dc0.89
jmp case.0x10139dc0.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.0x10139dc0.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 0x1013d4aa
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 0x1013d50a
test byte [eax + 0x11], 4
jne 0x1013d4fc
mov eax, dword [ebx + 0x30]
call sym._sqlite3VdbeAllocUnpackedRecord
mov esi, eax
test eax, eax
je 0x10140af9
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 0x1013d50a
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
je 0x1013d4b0
jmp 0x10140af9
cmp dword [ebp - 0x88], 0
jne 0x101408fe
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 0x1013d545
test eax, eax
jne 0x1013dc2c
jmp 0x1013fa0a
test eax, eax
jne 0x1013fa0a
cmp dl, 0x1a
jne 0x1013d572
movzx edx, word [ebp - 0x2c]
mov ecx, dword [ebp - 0x3c]
cmp edx, eax
jle 0x1013dc2c
imul ebx, eax, 0x28
test byte [ecx + ebx + 0x10], 1
jne 0x1013fa0a
inc eax
jmp 0x1013d559
cmp dl, 0x19
jne 0x1013dc2c
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
mov word [ebx + 0xc], ax
jmp 0x1013dc2c
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.0x10139dc0.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 0x10139efb
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x3c]
jmp 0x1013d5e3
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 0x1013d64d
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 8], 0
jne 0x10139efb
mov eax, 0x16d38
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je case.0x10139dc0.89
jmp 0x101408fe
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.0x10139dc0.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 0x1013d73a
mov eax, dword [ebx + 0x2c]
lea edx, [ebp - 0x68]
call sym._sqlite3BtreeLast
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x101408fe
cmp dword [ebp - 0x68], 0
je 0x1013d705
xor esi, esi
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x3c], esi
jmp 0x1013d73a
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 0x1013d72e
cmp eax, 0xffffffff
jne 0x1013d72e
or byte [ebx + 8], 2
jmp 0x1013d73a
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 0x1013d7bf
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 0x1013d76b
mov ecx, edx
mov edx, dword [edx + 4]
test edx, edx
jne 0x1013d75d
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 0x1013d793
cmp eax, 0xffffffff
jne 0x1013d793
mov dword [ebp - 0x88], 0xd
jmp 0x101408fe
test byte [ebx + 8], 2
jne 0x1013d784
cmp eax, dword [ebp - 0x40]
mov edi, edx
sbb edi, dword [ebp - 0x3c]
jl 0x1013d7af
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 0x1013d842
test byte [ebx + 8], 2
je 0x1013d842
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 0x101408fe
cmp dword [ebp - 0x68], 0
jne 0x1013d842
dec edi
jne 0x1013d7ca
jmp 0x1013d784
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.0x10139dc0.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 0x1013d8d9
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0xfc], 0
je 0x1013d8d9
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 0x1013d8e3
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 0x1013d8fa
mov eax, dword [ebp - 0x80]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
test cl, 0x20
je 0x1013d917
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 0x1013d933
mov edx, dword [ebx + 0x24]
mov edi, dword [ebp - 0x88]
xor eax, eax
test byte [edi + 0x11], 4
je 0x1013d943
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 0x101408fe
test esi, esi
je 0x1013dc2c
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 0x1013dc2c
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 0x1013da0f
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.0x10139dc0.89
jmp 0x101408fe
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 0x1013daaf
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0xfc], 0
je 0x1013daaf
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 0x1013dab3
cmp byte [ebx + 4], 0
je 0x1013dab3
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 0x1013dab3
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 0x101408fe
test byte [ebp - 0xa0], 1
je 0x1013dc2c
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 0x1013dc2c
test eax, eax
je 0x1013dc2c
test byte [esi + 0x1c], 0x80
jne 0x1013dc2c
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 0x1013f4c0
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.0x10139dc0.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 0x1013dbc9
call sym._sqlite3VdbeAllocUnpackedRecord
mov dword [edi + 0x20], eax
mov ebx, eax
test eax, eax
jne 0x1013dbc5
mov dword [ebp - 0x88], 7
jmp 0x101408fe
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 0x1013dbff
imul edx, eax, 0x28
add edx, dword [ebx + 4]
test byte [edx + 0x10], 1
jne 0x1013fa0a
inc eax
jmp 0x1013dbe8
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 0x1013fa0a
xor ecx, ecx
mov dword [ebp - 0x88], ecx
jmp case.0x10139dc0.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 0x1013dcb7
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.0x10139dc0.89
mov dword [ebp - 0x88], 7
jmp 0x101408fe
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 0x10140ab9
mov ecx, esi
mov eax, ebx
call sym._sqlite3VdbeMemFromBtreeZeroOffset
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x101408fe
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0xc], 0
jne 0x1013dc2c
test byte [esi + 0x11], 0x40
je 0x1013dc2c
mov eax, esi
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x1013dc2c
jmp 0x10140af9
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 0x1013dd79
mov word [esi + 0x10], 1
jmp case.0x10139dc0.89
cmp byte [ebx + 3], 0
je 0x1013dd8d
mov eax, dword [ebx + 0x40]
mov edx, dword [ebx + 0x44]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x1013de08
cmp byte [ebx], 2
jne 0x1013ddc4
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 0x1013de00
jmp 0x101408fe
mov eax, ebx
call sym._sqlite3VdbeCursorRestore
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x101408fe
cmp byte [ebx + 2], 0
je 0x1013ddea
mov word [esi + 0x10], 1
jmp case.0x10139dc0.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.0x10139dc0.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 0x1013de5b
mov dword [esp], 3
mov eax, dword [ebp - 0x80]
mov ecx, 1
call sym._allocateCursor
test eax, eax
je 0x10140af9
xor esi, esi
or byte [eax + 8], 8
mov dword [eax + 0x24], esi
mov byte [eax + 4], 1
mov dword [eax + 0x2c], 0x10164a14
xor ebx, ebx
cmp byte [eax], 0
mov byte [eax + 2], 1
mov dword [eax + 0x20], ebx
jne case.0x10139dc0.89
mov eax, dword [eax + 0x2c]
call sym._sqlite3BtreeClearCursor
jmp case.0x10139dc0.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 0x1013dec1
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 0x1013ded3
jmp 0x101408fe
mov dword [esi + 0x24], 0xffffffff
cmp byte [eax], 0
je case.0x10139dc0.89
jmp 0x1013de96
mov esi, dword [ebp - 0x7c]
cmp dword [esi + 8], 0
jg 0x1013b421
jmp case.0x10139dc0.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 0x101408fe
cmp dword [ebp - 0x40], 0
jne 0x1013fa0a
mov eax, ebx
call sym._sqlite3BtreeRowCountEst
test edx, edx
js 0x1013f4c0
call sym._sqlite3LogEst
mov edi, dword [ebp - 0x7c]
cwde
cmp eax, dword [edi + 0xc]
jl 0x1013fa0a
jmp 0x1013f4c0
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 0x1013dfbc
cmp byte [ebx + 0x38], 0
jne 0x1013df8a
cmp dword [ebx + 0x24], 0
je 0x1013dfe2
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 0x1013dfd5
mov eax, ebx
call sym._vdbeSorterFlushPMA
mov edx, eax
mov eax, ebx
call sym._vdbeSorterJoinAll
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x101408fe
mov eax, ebx
xor edi, edi
call sym._vdbeSorterSetupMerge
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x88], eax
jmp 0x1013dfd5
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 0x101408fe
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 0x10140161
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 0x1013e074
cmp byte [esi + 0x39], 0
je 0x1013e043
mov eax, dword [esi + 0x10]
call sym._vdbePmaReaderNext
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1013e06a
mov eax, dword [esi + 0x10]
cmp dword [eax + 0x18], 0
jne 0x1013e063
xor ecx, ecx
mov dword [ebx + 0x20], ecx
jmp 0x1013e104
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 0x1013e06a
cmp dword [ebp - 0x40], 0
jne 0x1013e039
xor edx, edx
mov dword [ebx + 0x20], edx
jmp 0x1013e0dd
xor eax, eax
mov dword [ebx + 0x20], eax
jmp 0x1013e0f7
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 0x1013e093
mov eax, dword [ebp - 0x8c]
call sym._vdbeSorterRecordFree
cmp dword [esi + 0x24], 0
jmp 0x1013e037
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 0x1013e0c9
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 0x1013e0f7
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 0x101402c9
cmp dword [ebp - 0x88], 0x65
jne 0x101408fe
xor eax, eax
mov byte [ebx + 2], 1
mov dword [ebp - 0x88], eax
jmp 0x10139e0c
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 0x1013e147
mov eax, dword [ebp - 0x80]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
test byte [ebx + 0x11], 4
jne 0x1013e18e
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 0x1013e1a4
mov edx, dword [esi + 0x24]
jmp 0x1013e1a4
mov eax, ebx
call sym._sqlite3VdbeMemExpandBlob
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013e14d
jmp 0x101408fe
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 0x1013f8ee
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 0x1013e1fb
mov eax, dword [esi + 0x2c]
mov edx, ebx
call sym._sqlite3VdbeSorterWrite.isra.0
jmp 0x1013f8e8
mov eax, ebx
call sym._sqlite3VdbeMemExpandBlob
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013e1ec
jmp 0x101408fe
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 0x101408fe
cmp dword [ebp - 0x68], 0
jne 0x1013e285
mov edx, 4
mov eax, esi
call sym._sqlite3BtreeDelete
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013e2c4
jmp 0x101408fe
mov eax, dword [ebp - 0x7c]
cmp word [eax + 2], 0
je 0x1013e2c4
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x20]
and eax, 0x10000001
xor eax, 1
or eax, 0
je 0x1013e2c4
mov ecx, str.index_corruption
mov edx, 0x1715d
mov eax, 0x30b
call sym._sqlite3ReportError
mov dword [ebp - 0x88], eax
jmp 0x101408fe
xor esi, esi
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x24], esi
jmp 0x1013f4c0
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 0x101408fe
mov eax, dword [ebp - 0xa0]
cmp byte [eax + 2], 0
jne 0x1013e435
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 0x101408fe
mov ebx, dword [ebp - 0x60]
movzx eax, byte [ebx]
mov dword [ebp - 0x70], eax
cmp eax, 0x7f
jbe 0x1013e35a
lea edx, [ebp - 0x70]
mov eax, ebx
call sym._sqlite3GetVarint32
mov esi, dword [ebp - 0x70]
cmp esi, 2
jbe 0x1013e3ba
mov edi, dword [ebp - 0x5c]
cmp edi, esi
jb 0x1013e3ba
lea eax, [ebx + esi - 1]
movzx edx, byte [eax]
mov dword [ebp - 0x6c], edx
cmp edx, 0x7f
jbe 0x1013e380
lea edx, [ebp - 0x6c]
call sym._sqlite3GetVarint32
mov edx, dword [ebp - 0x6c]
lea eax, [edx - 1]
cmp eax, 8
ja 0x1013e3ba
cmp edx, 7
je 0x1013e3ba
movzx eax, byte [edx + 0x101f0b60]
add esi, eax
cmp edi, esi
jb 0x1013e3ba
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 0x1013e3de
lea eax, [ebp - 0x68]
call sym._sqlite3VdbeMemReleaseMalloc
mov eax, 0x14e97
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x101408fe
xor esi, esi
xor edi, edi
mov eax, dword [ebp - 0x7c]
cmp byte [eax], 0x8d
jne 0x1013e41a
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 0x1013f4c0
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 0x1013f4c0
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 8], 0x28
add eax, edi
call sym._sqlite3VdbeMemSetNull
jmp 0x1013f4c0
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.0x10139dc0.89
call sym._sqlite3VdbeFinishMoveto
jmp 0x1013f8e8
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 0x1013e4ff
mov eax, 0x1722a
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
jmp 0x101408fe
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 0x101408fe
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 0x1013e559
lea eax, [ebx + 1]
test eax, eax
jle 0x1013f4c0
jmp 0x1013fa0a
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 0x1013e5b9
mov dword [ebp - 0x88], 6
mov eax, dword [ebp - 0x80]
mov byte [eax + 0x92], 2
jmp 0x101408fe
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 0x101408fe
test eax, eax
je case.0x10139dc0.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 0x1013e661
mov esi, dword [edx + 8]
cmp eax, dword [esi + 0x14]
jne 0x1013e65d
mov dword [esi + 0x14], ecx
mov edx, dword [edx]
jmp 0x1013e64e
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x1013e677
mov ebx, dword [edx + 8]
cmp eax, dword [ebx + 0x2c]
jne 0x1013e673
mov dword [ebx + 0x2c], ecx
mov edx, dword [edx]
jmp 0x1013e664
mov al, byte [ebp - 0xa0]
inc eax
mov byte [ebp - 0xa5], al
jmp case.0x10139dc0.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 0x1013f4b3
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 0x1013f4b3
imul eax, eax, 0x28
mov edi, dword [ebp - 0x90]
add dword [edi + eax], ecx
adc dword [edi + eax + 4], ebx
jmp 0x1013f4b3
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 0x1013e71e
mov eax, dword [ebp - 0x8c]
call sym._sqlite3VdbeSorterReset
jmp case.0x10139dc0.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.0x10139dc0.89
jmp 0x101408fe
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 0x101408fe
mov eax, dword [ebp - 0x40]
xor esi, esi
mov dword [ebx + 4], esi
mov dword [ebx], eax
jmp 0x1013f4c0
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 0x1013f4b3
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 0x1013e84c
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 0x1013e966
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 0x1013e975
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 0x1013e8f5
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013e90f
mov eax, dword [ebp - 0x8c]
call sym._sqlite3DbFreeNN
mov eax, dword [ebp - 0x8c]
mov byte [eax + 0xb1], 0
jmp 0x1013e97f
cmp dword [ebp - 0x2c], 0
je 0x1013e932
mov eax, dword [ebp - 0x8c]
call sym._sqlite3DbFreeNN
mov eax, dword [ebp - 0x8c]
mov byte [eax + 0xb1], 0
jmp 0x1013f4c0
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 0x1013f4c0
jmp 0x1013e97f
mov dword [ebp - 0x88], 7
mov eax, dword [ebp - 0x8c]
call sym._sqlite3ResetAllSchemasOfConnection
cmp dword [ebp - 0x88], 7
jne 0x101408fe
jmp 0x10140af9
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x8c]
call sym._sqlite3AnalysisLoad
jmp 0x1013f8e8
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.0x10139dc0.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 0x1013ea5b
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 8]
cmp edx, eax
jne 0x1013ea44
mov eax, dword [edx + 0x14]
mov dword [ecx + 8], eax
jmp 0x1013ea50
mov ecx, dword [eax + 0x14]
cmp edx, ecx
je 0x1013ea4a
mov eax, ecx
test eax, eax
jne 0x1013ea3b
jmp 0x1013ea50
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.0x10139dc0.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.0x10139dc0.89
mov eax, dword [eax + 0x18]
cmp dword [ebx + 0x14], eax
jne 0x1013eacf
mov edx, dword [ebx + 4]
add eax, 8
call sym._sqlite3HashFind
test eax, eax
je 0x1013eacf
lea edx, [eax + 0x38]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x1013eacf
mov ecx, dword [eax + 0x20]
cmp ebx, eax
jne 0x1013eac8
mov dword [edx], ecx
jmp 0x1013eacf
lea edx, [eax + 0x20]
mov eax, ecx
jmp 0x1013eab9
mov eax, dword [ebp - 0x8c]
mov edx, ebx
call sym._sqlite3DeleteTrigger
mov eax, dword [ebp - 0x8c]
or dword [eax + 0x18], 1
jmp case.0x10139dc0.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 0x1013eb93
test esi, esi
je 0x10140af9
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 0x10139e0c
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 0x1013ebe2
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.0x10139dc0.89
mov eax, ebx
call sym._sqlite3VdbeMemSetRowSet
test eax, eax
je 0x1013ebca
jmp 0x10140af9
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 0x1013ec4f
mov ebx, dword [edi + 8]
mov si, word [ebx + 0x1a]
test esi, 2
jne 0x1013ec30
test esi, 1
jne 0x1013ec29
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 0x1013ec4f
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebx + 8], eax
test eax, eax
jne 0x1013ec5b
mov eax, ebx
call sym._sqlite3RowSetClear
jmp 0x1013ec5b
mov eax, edi
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139dc0.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 0x10139e0c
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 0x1013ece5
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 0x1013ed2a
jmp 0x1013ed06
mov eax, dword [ebp - 0xa0]
call sym._sqlite3VdbeMemSetRowSet
test eax, eax
je 0x1013ecb4
jmp 0x10140af9
cmp dword [ebp - 0xb0], 0
js case.0x10139dc0.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.0x10139dc0.89
mov eax, dword [ebp - 0xb0]
cmp eax, dword [ebx + 0x1c]
je 0x1013edd3
mov esi, dword [ebx + 8]
test esi, esi
je 0x1013edca
lea eax, [ebx + 0x14]
mov dword [ebp - 0xc0], eax
test byte [ebx + 0x1a], 1
jne 0x1013ed5c
mov eax, esi
call sym._rowSetEntrySort
mov esi, eax
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x1013ed94
lea eax, [edi + 8]
mov dword [ebp - 0xc0], eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1013edb3
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 0x1013ed5f
mov eax, ebx
call sym._rowSetEntryAlloc
mov edi, eax
mov eax, dword [ebp - 0xc0]
mov dword [eax], edi
test edi, edi
je 0x1013edbd
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 0x1013ecf9
mov eax, dword [edx + 0xc]
test eax, eax
je 0x1013ee1c
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 0x1013ee03
mov eax, dword [eax + 8]
jmp 0x1013ede1
mov esi, dword [ebp - 0xe8]
cmp dword [ebp - 0xd0], ebx
sbb esi, ecx
jge 0x10139efb
mov eax, dword [eax + 0xc]
jmp 0x1013ede1
mov edx, dword [edx + 8]
jmp 0x1013edd6
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 0x1013ee5b
mov eax, dword [ebp - 0x80]
mov edx, dword [ebx + 0x14]
mov eax, dword [eax + 0xd0]
test eax, eax
je 0x1013ee5b
cmp dword [eax + 0x1c], edx
je case.0x10139dc0.89
mov eax, dword [eax + 4]
jmp 0x1013ee49
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x80]
mov edi, dword [edi + 0xa0]
cmp dword [eax + 0xd8], edi
jl 0x1013ee91
mov dword [esp + 4], str.too_many_levels_of_trigger_recursion
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x88], 1
jmp 0x101408fe
mov eax, dword [ebx + 0xc]
test byte [esi + 0x10], 0x10
jne 0x1013ef9f
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 0x10140af9
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 0x1013efa2
mov esi, dword [ebp - 0x8c]
mov word [eax + 0x10], 0
add eax, 0x28
mov dword [eax - 0x14], esi
jmp 0x1013ef87
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 0x10139e09
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.0x10139dc0.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 0x1013f0f7
mov edi, dword [ebp - 0x8c]
add dword [edi + 0x208], eax
adc dword [edi + 0x20c], edx
jmp case.0x10139dc0.89
mov ecx, dword [ebp - 0x7c]
cmp dword [ecx + 4], 0
je 0x1013f117
mov esi, dword [ebp - 0x8c]
add dword [esi + 0x200], eax
adc dword [esi + 0x204], edx
jmp case.0x10139dc0.89
mov edi, dword [ebp - 0x80]
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
jmp case.0x10139dc0.89
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 4], 0
je 0x1013f15d
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [eax + 0x204]
or eax, dword [ecx + 0x200]
jne case.0x10139dc0.89
mov eax, dword [ecx + 0x20c]
or eax, dword [ecx + 0x208]
jmp 0x1013f33a
mov eax, dword [ebp - 0x80]
mov edi, dword [ebp - 0x80]
mov eax, dword [eax + 0x44]
or eax, dword [edi + 0x40]
jne case.0x10139dc0.89
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [eax + 0x20c]
or eax, dword [ecx + 0x208]
jmp 0x1013f33a
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 0x1013f1b7
mov ecx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x1013f1a9
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.0x10139dc0.89
mov dword [esi], edx
mov dword [esi + 4], eax
jmp case.0x10139dc0.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.0x10139dc0.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 0x10139efb
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 0x1013f2b9
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 0x1013f2b9
mov eax, dword [ebp - 0xa0]
mov dword [eax], esi
mov dword [eax + 4], edi
jmp case.0x10139dc0.89
mov eax, dword [ebp - 0xa0]
mov dword [eax], 0xffffffff
mov dword [eax + 4], 0xffffffff
jmp case.0x10139dc0.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.0x10139dc0.89
xor ebx, ebx
cmp ebx, eax
sbb ebx, edx
jge 0x10139efb
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x10139efb
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.0x10139dc0.89
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [ecx], eax
mov dword [ecx + 4], edx
or eax, edx
jne case.0x10139dc0.89
jmp 0x10139efb
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 0x10140af9
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 0x1013f40b
mov edi, dword [ebp - 0x7c]
inc dword [eax + 0xc]
lea edx, [ebx + 0x1c]
mov eax, dword [ebx + 4]
cmp dword [edi + 4], 0
je 0x1013f430
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], ebx
call dword [eax + 0x1c]
jmp 0x1013f43e
mov dword [ebx + 8], eax
lea edx, [esi - 1]
cmp edx, 0xffffffff
je 0x1013f3e9
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 0x1013f411
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.0x10139dc0.89
jle 0x1013f474
mov eax, dword [ebx]
mov dword [esp], eax
call sym._sqlite3_value_text
mov dword [esp + 4], 0x101e7e57
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 0x1013f49f
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x1013f49b
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 0x101408fe
xor eax, eax
mov dword [ebp - 0x88], eax
jmp case.0x10139dc0.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 0x1013f554
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 0x1013f561
mov eax, esi
call sym._sqlite3VdbeMemFinalize
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x1013f58e
mov dword [esp], esi
call sym._sqlite3_value_text
mov dword [esp + 4], 0x101e7e57
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
jmp 0x101408fe
movzx edx, byte [ebp - 0x95]
mov eax, esi
call sym._sqlite3VdbeChangeEncoding
jmp case.0x10139dc0.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 0x1013f5ef
cmp eax, 5
jne 0x101408fe
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 0x1013f600
jmp 0x1013f4c0
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 0x1013f67d
mov eax, dword [ebx + 0x44]
cmp dword [eax], 0
je 0x1013f67f
xor eax, eax
cmp eax, dword [ebx + 0x50]
sbb eax, dword [ebx + 0x54]
cmovl esi, edi
jmp 0x1013f67f
mov esi, edi
cmp byte [ebx + 0xf], 0
mov eax, 0x101f45a4
jne 0x1013f690
mov eax, dword [ebx + 0xb8]
cmp esi, 5
jne 0x1013f6d5
call sym._sqlite3Strlen30
test eax, eax
je 0x1013f857
mov eax, ebx
call sym._sqlite3PagerWalSupported
test eax, eax
je 0x1013f857
cmp edi, 5
je 0x1013f859
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x55], 0
je 0x1013f6fd
cmp dword [eax + 0xc0], 1
jle 0x1013f821
jmp 0x1013f6fd
cmp esi, edi
je 0x1013f859
cmp edi, 5
jne 0x1013f859
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x55], 0
je 0x1013f704
cmp dword [eax + 0xc0], 1
jle 0x1013f72f
jmp 0x1013f704
mov eax, str.into
jmp 0x1013f709
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 0x101408fe
cmp dword [ebx + 0xe8], 0
je 0x1013f74f
mov eax, ebx
call sym._pagerExclusiveLock
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1013f863
jmp 0x1013f7b7
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 0x1013f863
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 0x1013f863
cmp dword [ebp - 0x40], 0
je 0x1013f7ac
mov eax, ebx
call sym._pagerOpenWal
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1013f863
cmp dword [ebx + 0xe8], 0
je 0x1013f811
jmp 0x1013f738
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 0x1013f811
cmp byte [ebx + 4], 0
jne 0x1013f863
mov edx, 1
mov eax, ebx
call sym._pagerUnlockDb
jmp 0x1013f863
mov edx, esi
mov eax, ebx
call sym._sqlite3PagerSetJournalMode
mov edx, 1
jmp 0x1013f844
cmp edi, 4
je 0x1013f836
cmp dword [ebp - 0x88], 0
mov edx, 2
jne 0x1013f863
jmp 0x1013f844
mov edx, 2
mov eax, ebx
call sym._sqlite3PagerSetJournalMode
jmp 0x1013f826
mov eax, dword [ebp - 0xb0]
call sym._sqlite3BtreeSetVersion
mov dword [ebp - 0x88], eax
jmp 0x1013f859
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 0x1013f886
mov edx, dword [eax*4 + 0x101efa24]
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 0x1013f4b3
mov eax, dword [ebp - 0x7c]
xor edx, edx
mov eax, dword [eax + 8]
test eax, eax
je 0x1013f8ce
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 0x1013f4ba
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 0x1013f96d
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 0x1013f957
cmp dword [ebp - 0x88], edi
jb 0x1013f969
mov eax, 0x1149b
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
jmp 0x1013f9e5
test esi, esi
jne 0x1013f97d
mov eax, dword [ebp - 0xa0]
call sym._sqlite3BtreeLeave
jmp 0x1013fa0a
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 0x1013f9b9
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 0x1013f9c6
mov eax, dword [ebp - 0xa0]
call sym._sqlite3BtreeLeave
jmp 0x1013f9fd
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 0x1013f4c0
cmp dword [ebp - 0x88], 0x65
jne 0x101408fe
xor eax, eax
mov dword [ebp - 0x88], eax
jmp 0x10139efb
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 4], 0
mov edx, dword [eax + 8]
jne 0x1013fa33
mov eax, dword [ebp - 0x8c]
call sym._sqlite3ExpirePreparedStatements
jmp case.0x10139dc0.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.0x10139dc0.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.0x10139dc0.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.0x10139dc0.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 0xc]
test dl, dl
jne 0x1013fab6
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0xa0], eax
and eax, 0x400
or eax, 0
jne case.0x10139dc0.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 0x1013fae7
xor eax, eax
mov dword [ebp - 0x88], eax
jmp case.0x10139dc0.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 0x1013fb67
mov edi, dword [ebx + 4]
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x10140b26
cmp esi, dword [eax + 4]
jne 0x1013fb28
cmp ebx, dword [eax]
je 0x1013fb3b
mov eax, dword [eax + 0xc]
jmp 0x1013fb17
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 0x1013fb52
mov eax, ebx
call sym._sqlite3BtreeLeave
jmp 0x1013ff48
mov cl, byte [ebp - 0xa0]
mov byte [eax + 8], cl
mov eax, ebx
call sym._sqlite3BtreeLeave
jmp 0x1013fada
mov eax, ebx
call sym._sqlite3BtreeLeave
cmp byte [ebp - 0x88], 6
jne 0x101408fe
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 0x101408fe
mov eax, dword [ebp - 0x7c]
mov ebx, dword [eax + 0x10]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x17c]
test ecx, ecx
jle 0x1013fbdc
cmp dword [eax + 0x194], 0
jne 0x1013fbdc
test ebx, ebx
jne 0x1013fbcf
mov dword [ebp - 0x88], 6
jmp 0x101408fe
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
jmp 0x1013fbc0
test ebx, ebx
je 0x1013dc2c
mov edx, dword [ebx + 8]
xor eax, eax
mov esi, dword [edx]
cmp dword [esi + 0x38], 0
je 0x1013fca3
cmp ecx, eax
jle 0x1013fc11
mov edi, dword [ebp - 0x8c]
mov edx, dword [edi + 0x194]
cmp ebx, dword [edx + eax*4]
je 0x1013fcc5
inc eax
jmp 0x1013fbf5
mov eax, dword [ebp - 0x8c]
call sym._growVTrans
mov edx, dword [ebx + 8]
test eax, eax
mov dword [ebp - 0x88], eax
je 0x1013fc36
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
jmp 0x101408fe
mov dword [esp], edx
call dword [esi + 0x38]
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013fc56
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
jmp 0x101408fe
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 0x1013fca3
mov ecx, dword [esi + 0x50]
test ecx, ecx
jne 0x1013fcb0
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
jmp 0x1013ff48
mov dword [ebx + 0x14], eax
dec eax
mov dword [esp + 4], eax
mov dword [esp], edx
call ecx
mov dword [ebp - 0x88], eax
jmp 0x1013fccd
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 0x1013dcaa
jmp 0x101408fe
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 0x1013fe58
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 0x1013fd80
mov edx, dword [eax]
mov eax, dword [edx + 4]
test eax, eax
je 0x1013fd80
cmp dword [edx + 0x14], 0
jne 0x1013fdb7
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 0x101408fe
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 0x1013fe4b
mov edx, dword [ebx + 0x34]
mov eax, dword [ebp - 0x8c]
call sym._sqlite3GetVTable.isra.0
test eax, eax
je 0x1013fe31
mov eax, dword [ebp - 0x8c]
call sym._growVTrans
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1013fe3e
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 0x1013fada
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemRelease
jmp 0x101408fe
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemRelease
jmp 0x101408fe
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemRelease
cmp dword [ebp - 0x88], 0
je 0x1013fada
jmp 0x101408fe
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 0x1013fec5
cmp byte [eax + 0x2b], 1
jne 0x1013fec5
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x1013feda
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0xcc], esi
jmp 0x1013ff48
mov eax, dword [eax + 0x18]
test eax, eax
je 0x1013fee8
mov edx, dword [eax + 8]
cmp dword [edx + 4], 0
jle 0x1013fed3
jmp 0x1013ff78
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 0x1013ff06
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 0x1013ff55
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.0x10139dc0.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 0x101408fe
mov dword [ebp - 0x88], 6
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0xcc], esi
jmp 0x101408fe
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 0x1014000e
mov esi, dword [ebx]
test esi, esi
je 0x1014001d
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 0x101408fe
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 0x10140003
mov dword [eax + 0x2c], edx
inc dword [ebx + 4]
jmp 0x1013fada
mov dword [esp], edx
call dword [esi + 0x1c]
jmp 0x10140af9
mov dword [ebp - 0x88], 6
jmp 0x101408fe
mov dword [ebp - 0x88], 6
jmp 0x101408fe
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 0x10140af9
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.0x10139dc0.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 0x10140100
mov dword [esi + edx*4], eax
inc edx
add eax, 0x28
jmp 0x101400f3
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 0x101408fe
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.0x10139dc0.89
jmp 0x1013fa0a
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 0x1014019c
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139dc0.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 0x101401e5
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
xor ecx, ecx
mov word [ebx + 0x10], 0x401
mov dword [ebx], ecx
jmp 0x101401f3
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 0x10140255
mov dword [esp], ebx
call sym._sqlite3_value_text
mov dword [esp + 4], 0x101e7e57
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.0x10139dc0.89
jmp 0x101408fe
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.0x10139dc0.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 0x101408fe
mov eax, dword [ebx + 0x2c]
mov dword [esp], eax
call dword [esi + 0x28]
test eax, eax
jne 0x10139e0c
xor edx, edx
mov dword [ebp - 0x88], edx
jmp case.0x10139dc0.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 0x101408fe
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 0x10140353
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.0x10139dc0.89
jmp 0x101408fe
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x57], 0
jne 0x10140af9
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x101404ce
mov eax, dword [ebx]
test eax, eax
je 0x101404dd
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ecx + 8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je case.0x10139dc0.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 0x101403f0
mov dword [edi + edx*4], eax
add eax, 0x28
inc edx
jmp 0x101403e3
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 0x10140459
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 4], 0
je 0x101404b1
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 0x101404b1
cmp byte [ebp - 0x88], 0x13
jne 0x101404be
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x101404a1
mov eax, dword [ebp - 0x7c]
mov ax, word [eax + 2]
cmp ax, 4
jne 0x10140488
xor eax, eax
mov dword [ebp - 0x88], eax
jmp case.0x10139dc0.89
cmp ax, 5
jne 0x10140493
mov eax, 2
mov esi, dword [ebp - 0x80]
mov byte [esi + 0x92], al
jmp 0x101408fe
mov eax, dword [ebp - 0x80]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp 0x101408fe
mov eax, dword [ebp - 0x80]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp 0x1014047b
mov eax, dword [ebp - 0x80]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp 0x101408fe
mov dword [ebp - 0x88], 6
jmp 0x101408fe
mov dword [ebp - 0x88], 6
jmp 0x101408fe
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.0x10139dc0.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 0x10140585
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 0x10140591
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.0x10139dc0.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 0x101405f1
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 0x10140624
jmp case.0x10139dc0.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 0x101405c4
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 0x10140605
jle 0x1014064e
mov dword [esp], esi
call sym._sqlite3_value_text
mov dword [esp + 4], 0x101e7e57
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.0x10139dc0.89
jmp 0x101408fe
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
and word [esi + eax + 0x10], 0xf7ff
jmp case.0x10139dc0.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.0x10139dc0.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 0x1014074e
inc dword [eax + 0xc4]
jmp 0x10139efb
inc dword [eax + 0xc0]
jmp case.0x10139dc0.89
mov eax, dword [ebp - 0x8c]
mov al, byte [eax + 0x5e]
test al, 0x41
je 0x10140861
mov ecx, dword [ebp - 0x80]
cmp byte [ecx + 0x93], 0xfe
je 0x10140861
mov esi, dword [ebp - 0x7c]
mov edx, dword [esi + 0x10]
test edx, edx
jne 0x10140792
mov edx, dword [ecx + 0xc8]
test edx, edx
je 0x10140861
test al, 0x40
je 0x101407cc
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 0x10140861
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0xc8], 1
jle 0x10140833
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 0x10140861
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 [0x10164dac]
cmp dword [eax + 4], esi
jl 0x101408a1
cmp byte [eax], 0xb5
je case.0x10139dc0.89
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax + 0x6c]
mov eax, 1
cmp ecx, eax
jle 0x10140899
mov edi, dword [ebp - 0x80]
imul edx, eax, 0x14
add edx, dword [edi + 0x68]
cmp byte [edx], 0xe
jne 0x10140896
xor ebx, ebx
mov dword [edx + 4], ebx
inc eax
jmp 0x1014087f
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 0x10139efb
add dword [ebp - 0x7c], 0x14
jmp 0x10139d9b
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 0x101408fe
mov dword [ebp - 0x88], 9
jmp 0x101408fe
mov dword [ebp - 0x88], 0x204
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x57], 0
je 0x1014091f
mov dword [ebp - 0x88], 7
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x7c], 0
jne 0x10140972
jmp 0x10140950
cmp dword [ebp - 0x88], 0x210a
jne 0x1014093b
mov eax, 0x17abe
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x7c], 0
jne 0x10140972
cmp dword [ebp - 0x88], 0xc0a
je 0x10140972
mov eax, dword [ebp - 0x88]
call sym._sqlite3ErrStr
mov dword [esp + 4], 0x101e7e57
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 0x101409e1
call sym._sqlite3VdbeHalt
cmp dword [ebp - 0x88], 0xc0a
jne 0x101409fa
mov eax, dword [ebp - 0x8c]
call sym._sqlite3OomFault
jmp 0x10140a13
cmp dword [ebp - 0x88], 0xb
jne 0x10140a13
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x55], 0
jne 0x10140a13
or dword [eax + 0x24], 2
cmp byte [ebp - 0xa5], 0
je 0x10140a2f
movzx edx, byte [ebp - 0xa5]
mov eax, dword [ebp - 0x8c]
dec edx
call sym._sqlite3ResetOneSchema
mov edi, 1
jmp 0x10140a3b
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 0x10140b50
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x170]
test ecx, ecx
je 0x10140b50
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 0x10140a47
jmp 0x101408fe
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 0x101408fe
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], 0x101e759c
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x88], 7
jmp 0x101408fe
xor edx, edx
mov eax, 0x10
call sym._sqlite3MallocZero
test eax, eax
jne 0x1013fb2d
mov eax, ebx
call sym._sqlite3BtreeLeave
mov dword [ebp - 0x88], 7
jmp 0x101408fe
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