Function at 0x10139a78
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 0x10139afe
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 0x101408bb
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 0x1014069e
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.0x10139ba0.89
movzx eax, bl
mov dword [ebp - 0xb0], eax
jmp dword [eax*4 + 0x101eec34]
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 0x101406c8
mov eax, dword [ebp - 0xd8]
cmp dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc4]
sbb eax, dword [ebp - 0xd4]
jb case.0x10139ba0.89
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x170]
test eax, eax
je case.0x10139ba0.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 0x10139bfc
mov dword [ebp - 0xd8], 0xffffffff
mov dword [ebp - 0xd4], 0xffffffff
mov dword [ebp - 0x88], 9
jmp 0x101406de
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.0x10139ba0.89
imul eax, dword [eax], 0x14
mov edi, dword [ebp - 0x94]
add eax, edi
mov dword [ebp - 0x7c], eax
jmp case.0x10139ba0.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.0x10139ba0.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.0x10139ba0.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.0x10139ba0.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.0x10139ba0.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.0x10139ba0.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 0x10139e13
test eax, eax
jne 0x10139dff
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 0x10139de0
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.0x10139ba0.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 0x10139e30
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 0x10139ef2
mov eax, dword [ebp - 0x7c]
movzx eax, word [eax + 2]
test ax, ax
je 0x10139e90
mov eax, dword [eax*4 + 0x101f4040]
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 0x10139ead
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 0x10139ead
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], 0x101ec16f
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 0x1013c5a9
jmp 0x1013c58f
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.0x10139ba0.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.0x10139ba0.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.0x10139ba0.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 0x1013a039
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 0x10140899
movzx edx, byte [ebp - 0x95]
mov eax, ebx
call sym._sqlite3VdbeChangeEncoding
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x101408d9
xor eax, eax
or word [ebx + 0x10], 0x2000
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x7c]
cmp byte [eax + 1], 0xfa
jne 0x1013a023
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 0x10140899
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.0x10139ba0.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.0x10139ba0.89
cmp dword [edx], ecx
jne case.0x10139ba0.89
mov word [eax + 0x10], 0x2210
jmp case.0x10139ba0.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.0x10139ba0.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 0x1013a0ef
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.0x10139ba0.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 0x1013a165
mov edx, dword [eax + 4]
mov eax, ebx
call sym._sqlite3VdbeMemSetZeroBlob
mov eax, ebx
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
je 0x1013a186
jmp 0x101408d9
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.0x10139ba0.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 0x10140899
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 0x1013a1d2
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.0x10139ba0.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 0x1013a266
add dword [ebp - 0xa0], 0x28
add ebx, 0x28
dec dword [ebp - 0xb0]
jne 0x1013a21e
jmp case.0x10139ba0.89
mov eax, dword [ebp - 0xa0]
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x1013a24f
jmp 0x101408d9
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 0x1013a2bc
mov eax, dword [ebx + 0x10]
test ah, 8
jne 0x1013a2cc
jmp 0x1013a2dc
mov eax, ebx
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x1013a2b2
jmp 0x101408d9
mov ecx, dword [ebp - 0x7c]
test byte [ecx + 2], 2
je 0x1013a2dc
and ah, 0xf7
mov word [ebx + 0x10], ax
test esi, esi
je case.0x10139ba0.89
add ebx, 0x28
add edi, 0x28
dec esi
jmp 0x1013a29e
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.0x10139ba0.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.0x10139ba0.89
mov eax, dword [ebp - 0x80]
xor edx, edx
call sym._sqlite3VdbeCheckFk
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013da8a
jmp 0x101406de
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 0x101408d9
test byte [eax + 0x5e], 4
je 0x1013a3d0
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 0x1014081b
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 0x1013a44e
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139ba0.89
test byte [ebp - 0xc0], 0x12
jne 0x1013a46d
movzx edx, byte [ebp - 0x95]
mov eax, dword [ebp - 0xb0]
xor ecx, ecx
call sym._sqlite3VdbeMemStringify
jmp 0x1013a483
test word [ebp - 0xc0], 0x400
je 0x1013a4a5
mov eax, dword [ebp - 0xb0]
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
jne 0x101408d9
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 0x1013a4cf
movzx edx, byte [ebp - 0x95]
mov eax, dword [ebp - 0xa0]
xor ecx, ecx
call sym._sqlite3VdbeMemStringify
jmp 0x1013a4e5
test word [ebp - 0xd0], 0x400
je 0x1013a507
mov eax, dword [ebp - 0xa0]
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
jne 0x101408d9
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 0x10140899
xor ecx, ecx
cmp dword [ebp - 0xa0], ebx
lea edx, [edi + 2]
mov eax, ebx
sete cl
call sym._sqlite3VdbeMemGrow
test eax, eax
jne 0x101408d9
mov eax, dword [ebx + 0x10]
and ax, 0xf240
or eax, 2
mov word [ebx + 0x10], ax
cmp dword [ebp - 0xa0], ebx
je 0x1013a582
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 0x1013a5be
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.0x10139ba0.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 0x1013a929
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 0x1013a6c1
ja 0x1013a699
cmp al, 0x6a
je 0x1013a6a6
cmp al, 0x6b
jne 0x1013a8ae
mov eax, esi
mov edx, edi
sub eax, dword [ebp - 0xa0]
sbb edx, dword [ebp - 0x9c]
jmp 0x1013a6b6
cmp al, 0x6d
je 0x1013a857
jmp 0x1013a8ae
mov eax, esi
mov edx, edi
add eax, dword [ebp - 0xa0]
adc edx, dword [ebp - 0x9c]
jno 0x1013a904
jmp 0x1013a933
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 0x1013a734
cmp eax, ecx
jne 0x1013a708
mov eax, esi
imul dword [ebp - 0xa0]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], edx
jmp 0x1013a846
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 0x1013a754
cmp eax, ecx
jne 0x1013a7c5
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 0x1013a78a
mov eax, dword [ebp - 0xd0]
mov edx, eax
mov eax, 0
sub esi, eax
sbb edi, edx
cmp dword [ebp - 0xd0], 0
jns 0x1013a79f
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 0x1013a933
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe0], ecx
jmp 0x1013a846
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 0x1013a933
mov eax, dword [ebp - 0xd0]
inc eax
cmp eax, 1
ja 0x1013a933
mov edi, dword [ebp - 0xd0]
cmp dword [ebp - 0xe8], edi
jne 0x1013a839
mov edi, dword [ebp - 0xe0]
xor eax, eax
cmp eax, edi
mov edi, dword [ebp - 0xdc]
sbb eax, edi
jl 0x1013a846
jmp 0x1013a933
cmp dword [ebp - 0xdc], 0
jns 0x1013a933
mov eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xdc]
jmp 0x1013a904
mov eax, dword [ebp - 0x9c]
or eax, dword [ebp - 0xa0]
je 0x1013aa34
mov edx, edi
mov eax, esi
add edx, 0x80000000
or eax, edx
jne 0x1013a88c
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
and eax, ecx
inc eax
je 0x1013a933
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 0x1013a904
mov eax, dword [ebp - 0x9c]
or eax, dword [ebp - 0xa0]
je 0x1013aa34
cmp dword [ebp - 0x9c], 0xffffffff
jne 0x1013a8e4
cmp dword [ebp - 0xa0], 0xffffffff
jne 0x1013a8e4
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.0x10139ba0.89
or eax, edx
test al, 1
jne 0x1013aa34
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 0x1013a97d
ja 0x1013a96f
cmp al, 0x6a
je 0x1013a979
cmp al, 0x6b
jne 0x1013a995
fsubp st(1)
jmp 0x1013a9f0
cmp al, 0x6d
je 0x1013a981
fstp st(0)
fstp st(0)
jmp 0x1013a999
faddp st(1)
jmp 0x1013a9f0
fmulp st(1)
jmp 0x1013a9f0
fldz
fxch st(1)
fucomi st(1)
fstp st(1)
jp 0x1013a991
je 0x1013aa30
fdivp st(1)
jmp 0x1013a9f0
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 0x1013aa34
cmp ebx, 0xffffffff
jne 0x1013a9ca
cmp esi, 0xffffffff
jne 0x1013a9ca
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 0x1013aa34
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.0x10139ba0.89
fstp st(0)
fstp st(0)
mov eax, dword [ebp - 0xb0]
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139ba0.89
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
test eax, eax
je case.0x10139ba0.89
imul eax, eax, 0x28
mov edi, dword [ebp - 0x90]
xor edx, edx
xor ecx, ecx
add eax, edi
call sym._sqlite3VdbeMemSetInt64
jmp case.0x10139ba0.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 0x1013aab5
mov eax, edi
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139ba0.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 0x1013aadd
and esi, eax
and edi, edx
jmp 0x1013ab8e
cmp bl, 0x67
jne 0x1013aaeb
or esi, eax
or edi, edx
jmp 0x1013ab8e
mov ecx, edx
or ecx, eax
je 0x1013ab8e
test edx, edx
jns 0x1013ab0d
mov cl, 0xd1
sub ecx, ebx
cmp eax, 0xffffffc1
mov ebx, ecx
mov ecx, edx
sbb ecx, 0xffffffff
jl 0x1013ab1d
neg eax
jmp 0x1013ab38
mov ecx, 0x3f
cmp ecx, eax
mov ecx, 0
sbb ecx, edx
jge 0x1013ab38
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 0x1013ab8a
mov ecx, eax
mov edx, edi
mov eax, esi
cmp bl, 0x68
jne 0x1013ab55
shl eax, cl
shld edx, esi, cl
xor edi, edi
and cl, 0x20
cmovne edx, eax
cmovne eax, edi
jmp 0x1013ab8a
shr edx, cl
shrd eax, edi, cl
xor esi, esi
test cl, 0x20
cmovne eax, edx
cmovne edx, esi
test edi, edi
jns 0x1013ab8a
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.0x10139ba0.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.0x10139ba0.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 0x1013ac2a
movzx ecx, byte [ebp - 0x95]
mov edx, 0x43
mov eax, ebx
call sym._applyAffinity
test byte [ebx + 0x10], 4
jne 0x1013ac2a
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 8], 0
jne 0x10139cdb
mov dword [ebp - 0x88], 0x14
jmp 0x101406de
mov eax, dword [ebx + 0x10]
and ax, 0xf240
or eax, 4
mov word [ebx + 0x10], ax
jmp case.0x10139ba0.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.0x10139ba0.89
call sym._sqlite3VdbeMemRealify.isra.0
jmp case.0x10139ba0.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 0x1013ac9d
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.0x10139ba0.89
jmp 0x101406de
mov eax, ebx
call sym._sqlite3VdbeMemExpandBlob
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013ac75
jmp 0x101406de
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 0x1013ad5d
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 0x1013ad1b
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x101f4fd8], 0
jne 0x10139cdb
mov dword [ebp - 0xa4], 1
jmp case.0x10139ba0.89
cmp ebx, ecx
sbb eax, edx
mov eax, dword [ebp - 0xb0]
jge 0x1013ad43
cmp byte [eax + 0x101f4fcc], 0
jne 0x10139cdb
mov dword [ebp - 0xa4], 0xffffffff
jmp case.0x10139ba0.89
cmp byte [eax + 0x101f4fd2], 0
jne 0x10139cdb
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
jmp case.0x10139ba0.89
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x7c]
or ecx, ebx
mov ax, word [eax + 2]
test cl, 1
je 0x1013adb2
test al, 0x80
je 0x1013ad9b
and dl, 1
je 0x1013ad83
test bh, 1
je 0x1013aea3
test bl, 1
jne 0x1013ae88
mov dword [ebp - 0xa4], 1
jmp 0x1013aeba
test al, 0x10
jne 0x10139cdb
mov dword [ebp - 0xa4], 1
jmp case.0x10139ba0.89
and eax, 0x47
cmp al, 0x42
jle 0x1013adf7
and cl, 2
je 0x1013ae6d
mov eax, dword [ebp - 0xa0]
and eax, 0x2e
cmp ax, 2
jne 0x1013addd
xor edx, edx
mov eax, edi
call sym._applyNumericAffinity
mov ebx, dword [esi + 0x10]
mov eax, ebx
and eax, 0x2e
cmp ax, 2
jne 0x1013ae6d
xor edx, edx
mov eax, esi
call sym._applyNumericAffinity
jmp 0x1013ae6d
jne 0x1013ae6d
test byte [ebp - 0xa0], 2
jne 0x1013ae42
test byte [ebp - 0xa0], 0x2c
je 0x1013ae42
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 0x1013ae42
mov ebx, eax
or ebx, 2
test bl, 2
jne 0x1013ae6d
test bl, 0x2c
je 0x1013ae6d
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 0x1013aea1
jmp 0x1013ae92
mov dword [ebp - 0xa4], 0xffffffff
mov eax, dword [ebp - 0x7c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x101f4fcc]
jmp 0x1013aec7
jne 0x1013aeba
mov eax, dword [ebp - 0x7c]
xor edx, edx
mov dword [ebp - 0xa4], edx
movzx eax, byte [eax]
movzx eax, byte [eax + 0x101f4fd2]
jmp 0x1013aec7
mov eax, dword [ebp - 0x7c]
movzx eax, byte [eax]
movzx eax, byte [eax + 0x101f4fd8]
mov word [esi + 0x10], bx
mov esi, dword [ebp - 0xa0]
mov word [edi + 0x10], si
jmp 0x1013b201
cmp dword [ebp - 0xa4], 0
jmp 0x1013f11a
mov eax, dword [ebp - 0x7c]
xor esi, esi
test byte [eax + 2], 1
je 0x1013aefd
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.0x10139ba0.89
mov eax, ebx
test esi, esi
je 0x1013af3d
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 0x1013afd4
mov eax, dword [edi + 0x10]
test byte [eax + ebx], 2
je 0x1013afbc
mov eax, dword [ebp - 0xb0]
test byte [eax + 0x10], 1
jne 0x1013afb6
mov eax, dword [ebp - 0xa0]
test byte [eax + 0x10], 1
je 0x1013afbc
neg dword [ebp - 0xa4]
test byte [ebp - 0xb8], 1
je case.0x10139ba0.89
neg dword [ebp - 0xa4]
jmp case.0x10139ba0.89
inc ebx
jmp 0x1013af26
cmp dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0x7c]
jns 0x1013affc
imul eax, dword [eax + 4], 0x14
mov edi, dword [ebp - 0x94]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0x7c], eax
jmp case.0x10139ba0.89
jne 0x1013b014
imul eax, dword [eax + 8], 0x14
mov edi, dword [ebp - 0x94]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0x7c], eax
jmp case.0x10139ba0.89
imul eax, dword [eax + 0xc], 0x14
mov edi, dword [ebp - 0x94]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0x7c], eax
jmp case.0x10139ba0.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 0x1013b070
movzx ecx, byte [eax + esi + 0x101f3b80]
jmp 0x1013b078
movzx ecx, byte [eax + esi + 0x101f45e4]
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 0x1013b09f
or eax, 1
mov word [edx + 0x10], ax
jmp case.0x10139ba0.89
mov dword [edx], ecx
or eax, 4
sar ecx, 0x1f
mov dword [edx + 4], ecx
mov word [edx + 0x10], ax
jmp case.0x10139ba0.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.0x10139ba0.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 0x1013b12d
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.0x10139ba0.89
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139ba0.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.0x10139ba0.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.0x10139ba0.89
mov eax, dword [ebp - 0x80]
mov ebx, dword [eax + 0xd0]
mov eax, dword [eax + 0x68]
test ebx, ebx
je 0x1013b1c7
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 0x10139cdb
mov ebx, 1
shl ebx, cl
or eax, ebx
mov byte [edx], al
jmp 0x1013b1d6
mov edi, dword [ebp - 0x7c]
mov edi, dword [edi + 4]
cmp dword [eax + 4], edi
je 0x10139cdb
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.0x10139ba0.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 0x10139cd5
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 0x1013f11a
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
test byte [edi + eax + 0x10], 1
jmp 0x10139cd5
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 0x10139cdb
mov dword [esp], eax
call sym._sqlite3_value_type
mov edi, dword [ebp - 0x7c]
cmp eax, dword [edi + 0xc]
jmp 0x1013f11a
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 0x1013b2a6
mov edi, dword [ebp - 0x7c]
imul edx, dword [edi + 0xc], 0x28
mov edi, dword [ebp - 0x90]
test byte [edi + edx + 0x10], 1
je 0x1013b2b0
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139ba0.89
xor edx, edx
xor ecx, ecx
call sym._sqlite3VdbeMemSetInt64
jmp case.0x10139ba0.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
test byte [edi + eax + 0x10], 1
jmp 0x1013f11a
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.0x10139ba0.89
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 0xc], 0x28
add eax, edi
call sym._sqlite3VdbeMemSetNull
jmp 0x10139cdb
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 0x1013b481
cmp byte [esi + 2], 0
je 0x1013b381
cmp byte [esi], 3
jne 0x1013b368
mov eax, dword [esi + 0x24]
test eax, eax
jle 0x1013b368
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 0x1013b411
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 0xc], 0x28
add eax, edi
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139ba0.89
cmp byte [esi + 3], 0
mov edi, dword [esi + 0x2c]
je 0x1013b3be
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1013b3a8
mov ecx, dword [ebp - 0xb8]
mov eax, dword [eax + ecx*4 + 4]
test eax, eax
je 0x1013b3a8
mov esi, dword [esi + 0x28]
dec eax
jmp 0x1013b31c
mov eax, esi
call sym._sqlite3VdbeFinishMoveto
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013b3e5
jmp 0x101406de
cmp byte [edi], 0
je 0x1013b3e5
mov eax, esi
call sym._sqlite3VdbeHandleMovedCursor
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x101406de
xor eax, eax
mov dword [ebp - 0x88], eax
jmp 0x1013b322
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 0x1013b442
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 0x1013b4fc
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 0x1013b846
cmp dword [esi + 0x50], eax
jae 0x1013b4b3
jmp 0x1013b846
mov eax, dword [esi + 0x2c]
cmp byte [eax], 0
je 0x1013b4a3
mov eax, esi
call sym._sqlite3VdbeHandleMovedCursor
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013b3d8
jmp 0x101406de
movzx eax, word [esi + 0x3e]
cmp dword [ebp - 0xb8], eax
jb 0x1013b696
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
cmp dword [esi + 0x34], eax
jae 0x1013b64f
mov ebx, dword [esi + 0x4c]
test ebx, ebx
jne 0x1013b4fc
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 0x101406de
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 0x1013b556
inc dword [ebp - 0xb0]
movzx eax, byte [eax + 0x101f4e60]
jmp 0x1013b585
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 0x1013b5bf
cmp dword [ebp - 0xb0], eax
jb 0x1013b532
jmp 0x1013b5c7
cmp dword [ebp - 0xb0], eax
jb 0x1013b5eb
mov edi, dword [ebp - 0xb0]
cmp dword [ebp - 0xd0], edi
jb 0x1013b600
cmp dword [ebp - 0xbc], 0
mov eax, dword [esi + 0x50]
jne 0x1013b600
mov edi, dword [ebp - 0xc0]
cmp eax, edi
jne 0x1013b600
xor edx, edx
mov edi, dword [ebp - 0xc0]
cmp dword [esi + 0x50], edi
mov eax, edx
sbb eax, dword [ebp - 0xbc]
jae 0x1013b630
mov eax, dword [ebp - 0xa0]
cmp dword [eax], 0
je 0x1013b622
cmp dword [esi + 0x4c], 0
jne 0x1013b846
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemRelease
jmp 0x1013b846
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 0x1013b654
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemRelease
jmp 0x1013b654
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 0x1013b6a3
imul eax, eax, 0x28
mov edi, dword [ebp - 0x90]
add eax, edi
mov edi, dword [ebp - 0x7c]
cmp byte [edi + 1], 0xf6
jne 0x1013b68c
mov edx, dword [edi + 0x10]
mov ecx, 0x2000
call sym._sqlite3VdbeMemShallowCopy
jmp case.0x10139ba0.89
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139ba0.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 0x1013b6c1
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 0x1013b7a7
mov eax, dword [edi + edx - 4]
add eax, dword [esi + 0x4c]
cmp dword [ebp - 0xb0], 0xb
mov esi, eax
ja 0x1013b70e
mov edx, dword [ebp - 0xb0]
mov ecx, ebx
call sym._sqlite3VdbeSerialGet
jmp case.0x10139ba0.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 0x1013b767
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0xa0]
cmp dword [eax + 0x78], edi
jl 0x10140899
mov word [ebx + 0x10], 1
xor ecx, ecx
lea edx, [edi + 2]
mov eax, ebx
call sym._sqlite3VdbeMemGrow
test eax, eax
je 0x1013b76d
jmp 0x101408d9
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 + 0x101f2f4c]
mov word [ebx + 0x10], ax
jmp case.0x10139ba0.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 0x1013b7d1
cmp dword [ebp - 0xb0], 0xb
jbe 0x1013b7cd
test byte [ebp - 0xb0], 1
je 0x1013b7e2
test al, 0x80
jne 0x1013b7e2
mov eax, dword [ebp - 0xb0]
call sym._sqlite3VdbeSerialTypeLen
mov ecx, eax
test eax, eax
jne 0x1013b7f9
mov edx, dword [ebp - 0xb0]
mov ecx, ebx
mov eax, 0x101f4ca0
call sym._sqlite3VdbeSerialGet
jmp case.0x10139ba0.89
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0x78], ecx
jl 0x10140899
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 0x101406de
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0xb0]
mov ecx, ebx
call sym._sqlite3VdbeSerialGet
and word [ebx + 0x10], 0xbfff
jmp case.0x10139ba0.89
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x1013b868
imul eax, eax, 0x14
mov edi, dword [ebp - 0x94]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0x7c], eax
jmp case.0x10139ba0.89
mov eax, 0x164a2
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
jmp 0x101406de
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.0x10139ba0.89
mov ax, word [edi + 0xe]
test al, 0x60
je 0x1013b8d6
test al, 0x20
jne 0x1013b96d
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0xc], 0
jne 0x1013b96a
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 0x1013b96a
mov al, byte [edi + 4]
shr al, 4
cmp al, 5
je 0x1013b928
ja 0x1013b914
cmp al, 2
je 0x1013b91a
lea edx, [eax + 0xd]
and edx, 0xf
cmp dl, 1
ja 0x1013b96a
and cl, 4
jne 0x1013b96a
movzx eax, al
jmp 0x1013b98e
cmp al, 6
je 0x1013b921
jmp 0x1013b96a
and cl, 0x10
jne 0x1013b96a
jmp 0x1013b97b
and cl, 2
jne 0x1013b96a
jmp 0x1013b982
test cl, 4
je 0x1013b965
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 0x1013b954
or ecx, 0x20
jmp 0x1013b95f
fild qword [ebp - 0xa0]
or ecx, 8
fstp qword [ebx]
mov word [ebx + 0x10], cx
jmp 0x1013b96a
and cl, 0x28
je 0x1013b989
add ebx, 0x28
inc dword [ebp - 0xb0]
add edi, 0x10
jmp 0x1013b8a7
mov eax, 2
jmp 0x1013b98e
mov eax, 6
jmp 0x1013b98e
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 + 0x101f4078]
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 0x101406de
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 0x1013ba42
mov ecx, dword [ebx + 0x10]
test cl, 4
je 0x1013ba42
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 0x1013ba33
or ecx, 0x20
jmp 0x1013ba3e
fild qword [ebp - 0xa0]
or ecx, 8
fstp qword [ebx]
mov word [ebx + 0x10], cx
inc esi
cmp byte [esi], 0
je case.0x10139ba0.89
add ebx, 0x28
jmp 0x1013b9f3
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 0x1013bac2
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 0x1013bb4a
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 0x1013baf1
mov eax, dword [edi + 0x10]
test al, 4
je 0x1013baf1
and eax, 0xfffffffb
or eax, 0x20
mov word [edi + 0x10], ax
inc ebx
add edi, 0x28
cmp byte [ebx], 0
jne 0x1013bacf
jmp 0x1013ba99
mov ecx, dword [ebp - 0xb8]
mov eax, 1
cmp eax, ecx
mov eax, dword [ebp - 0xb4]
sbb edx, eax
jl 0x1013bbe4
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x93], 3
jbe 0x1013bbe4
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 0x1013bd50
sub dword [ebp - 0xb0], 0x28
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax + 0x10]
test al, 1
je 0x1013bb6b
and ax, 0x400
neg ax
sbb ebx, ebx
inc dword [ebp - 0xd0]
and ebx, 0xa
jmp 0x1013bb2c
test al, 0x24
je 0x1013bc99
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 0x1013bbbb
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 0x1013bbe4
jmp 0x1013bbf4
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 0x1013bafc
mov ecx, dword [ebp - 0xb8]
mov edx, ebx
jmp 0x1013bbf4
add esi, 1
mov ebx, 1
adc edi, 0
jmp 0x1013bb2c
mov ebx, 0x7fff
cmp ebx, ecx
mov ebx, 0
sbb ebx, edx
jb 0x1013bc14
add esi, 2
mov ebx, 2
adc edi, 0
jmp 0x1013bb2c
mov ebx, 0x7fffff
cmp ebx, ecx
mov ebx, 0
sbb ebx, edx
jb 0x1013bc34
add esi, 3
mov ebx, 3
adc edi, 0
jmp 0x1013bb2c
mov ebx, 0x7fffffff
cmp ebx, ecx
mov ecx, 0
sbb ecx, edx
jb 0x1013bc54
add esi, 4
mov ebx, 4
adc edi, 0
jmp 0x1013bb2c
cmp edx, 0x7fff
ja 0x1013bc6c
add esi, 6
mov ebx, 5
adc edi, 0
jmp 0x1013bb2c
add esi, 8
mov ebx, 6
adc edi, 0
test al, 0x20
je 0x1013bb2c
fild qword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb0]
and eax, 0xffffffdf
or eax, 8
mov word [ecx + 0x10], ax
fstp qword [ecx]
jmp 0x1013bca9
test al, 8
je 0x1013bcb3
inc dword [ebp - 0xd0]
add esi, 8
adc edi, 0
mov ebx, 7
jmp 0x1013bb2c
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 0x1013bd16
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax]
lea edx, [eax + eax]
add ebx, edx
mov edx, edi
or edx, esi
je 0x1013bd09
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xb8], ecx
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
jne 0x101408d9
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb8]
add ecx, dword [eax]
jmp 0x1013bd16
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 0x1013bd3f
inc dword [ebp - 0xb8]
jmp 0x1013bd2a
mov ecx, dword [ebp - 0xb8]
add dword [ebp - 0xd0], ecx
jmp 0x1013bb2c
cmp dword [ebp - 0xd0], 0x7e
mov eax, dword [ebp - 0xd0]
jg 0x1013bd68
inc eax
mov dword [ebp - 0xb0], eax
jmp 0x1013bdbf
cdq
mov ecx, 1
shrd eax, edx, 7
shr edx, 7
mov ebx, edx
or ebx, eax
je 0x1013bd7e
inc ecx
jmp 0x1013bd6e
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 0x1013bd9e
cmp dword [ebp - 0xb8], ecx
jle 0x1013bdbf
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 0x1013be26
mov eax, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xc0]
mov eax, dword [eax + 0x20]
mov dword [edi + 8], eax
jmp 0x1013be59
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 0x10140899
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xc0]
call sym._sqlite3VdbeMemClearAndResize
test eax, eax
jne 0x101408d9
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 0x1013be90
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 0x1013bebd
mov al, byte [ebp - 0xb0]
lea ebx, [edi + 1]
mov byte [edi], al
jmp 0x1013bed3
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 0x1013bf13
mov byte [ebx], dl
lea eax, [ebx + 1]
test edx, edx
je 0x1013bf65
mov esi, dword [ebp - 0xa0]
mov ecx, dword [esi]
mov ebx, dword [esi + 4]
movzx esi, byte [edx + 0x101f4e60]
mov edx, esi
mov edi, dword [ebp - 0xb8]
dec edx
mov byte [edi + edx], cl
je 0x1013bf5f
shrd ecx, ebx, 8
shr ebx, 8
jmp 0x1013befe
cmp edx, 0x7f
ja 0x1013bf33
mov byte [ebx], dl
lea eax, [ebx + 1]
cmp edx, 0xd
jbe 0x1013bf65
mov esi, dword [ebp - 0xa0]
mov ecx, dword [esi + 0xc]
mov edi, esi
test ecx, ecx
jle 0x1013bf65
jmp 0x1013bf4b
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 0x1013bf65
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.0x10139ba0.89
add dword [ebp - 0xa0], 0x28
mov ebx, eax
jmp 0x1013bed3
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 0x1013bfb0
call sym._sqlite3BtreeRowCountEst
mov esi, eax
mov edi, edx
jmp 0x1013c08f
call sym._moveToRoot
mov dword [ebp - 0x88], eax
cmp eax, 0x10
je 0x1013c083
xor esi, esi
xor edi, edi
cmp dword [ebp - 0x88], 0
jne 0x101406de
mov eax, dword [ebp - 0xec]
mov eax, dword [eax]
test eax, eax
jne 0x1013c083
mov ecx, dword [ebx + 0x74]
cmp byte [ecx + 8], 0
movzx eax, word [ecx + 0x18]
jne 0x1013c000
cmp byte [ecx + 1], 0
jne 0x1013c039
xor edx, edx
add esi, eax
adc edi, edx
jmp 0x1013c039
xor edx, edx
add esi, eax
adc edi, edx
cmp byte [ebx + 0x44], 0
mov eax, ebx
jne 0x1013c022
call sym._moveToRoot
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013c08f
jmp 0x101406de
call sym._moveToParent
mov ecx, dword [ebx + 0x74]
mov ax, word [ebx + 0x46]
cmp ax, word [ecx + 0x18]
jae 0x1013c006
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 0x1013c056
movzx eax, byte [ecx + 9]
mov edx, dword [edx + eax + 8]
jmp 0x1013c06f
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 0x1013bfc8
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 0x10139bec
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 0x1013c1b6
cmp dword [eax + 0xc4], 0
jle 0x1013c0fa
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 0x101406de
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 0x101406de
mov eax, dword [ebp - 0x8c]
lea edx, [ebx + 0x21]
xor ecx, ecx
call sym._sqlite3DbMallocRawNN
mov edx, eax
test eax, eax
je 0x1013c4bd
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 0x1013c166
mov byte [eax + 0x55], 0
mov byte [eax + 0x5d], 1
jmp 0x1013c172
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 0x1013c4bd
mov ebx, dword [eax + 0x1e8]
xor eax, eax
mov dword [ebp - 0xb0], eax
test ebx, ebx
je 0x1013c1e6
mov eax, dword [ebx]
mov edx, esi
call sym._sqlite3StrICmp
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x1013c20c
inc dword [ebp - 0xb0]
mov ebx, dword [ebx + 0x18]
jmp 0x1013c1c4
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 0x101406de
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0xc4], 0
jle 0x1013c246
cmp dword [ebp - 0xa0], 1
jne 0x1013c246
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 0x101406de
xor esi, esi
cmp dword [ebx + 0x18], 0
jne 0x1013c2f7
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x5d], 0
je 0x1013c2f7
cmp dword [ebp - 0xa0], 1
mov esi, 1
jne 0x1013c2f7
mov eax, dword [ebp - 0x80]
mov edx, 1
call sym._sqlite3VdbeCheckFk
mov edi, eax
test eax, eax
jne 0x1014081b
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 0x1013c2cf
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 0x1013c58f
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x24]
test eax, eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x8c]
je 0x1013c2ee
mov byte [eax + 0x55], 0
jmp 0x101406de
mov byte [eax + 0x5d], 0
jmp 0x1013c3f2
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 0x1013c3b4
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 0x1013c372
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 0x101406de
inc edi
jmp 0x1013c332
mov edi, dword [ebp - 0xc0]
jmp 0x1013c3b4
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 0x101406de
inc dword [ebp - 0xb8]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0xb8]
cmp dword [eax + 0x14], ecx
jg 0x1013c37a
test edi, edi
je 0x1013c3e5
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 0x101406de
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x1e8]
cmp eax, ebx
je 0x1013c42b
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 0x1013c3f2
cmp dword [ebp - 0xa0], 1
jne 0x1013c461
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 0x1013c4bd
mov eax, dword [ebp - 0x8c]
dec dword [eax + 0x1f4]
jmp 0x1013c498
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 0x1013c498
cmp dword [ebp - 0xa0], 2
jne 0x1013c4bd
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 0x101406de
mov eax, dword [ebp - 0x80]
cmp byte [eax + 0x95], 3
jne 0x1013f8ba
jmp 0x10140816
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 0x1013c5b8
test edx, edx
je 0x1013c4fd
mov edx, 0x204
call sym._sqlite3RollbackAll
jmp 0x1013c54b
test esi, esi
je 0x1013c532
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0xc4], 0
jle 0x1013c532
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 0x101406de
mov eax, dword [ebp - 0x80]
mov edx, 1
call sym._sqlite3VdbeCheckFk
mov edi, eax
test eax, eax
jne 0x1014081b
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 0x1013c59b
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 0x1014081b
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 0x1014081b
mov eax, str.cannot_start_a_transaction_within_a_transaction
test ecx, ecx
je 0x1013c5d0
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 0x101406de
xor eax, eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 8]
test edx, edx
je 0x1013c644
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 0x1013c644
cmp ebx, 1
sbb eax, eax
mov dword [ebp - 0x88], eax
and dword [ebp - 0x88], 3
add dword [ebp - 0x88], 8
jmp 0x101406de
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 0x1013c7a8
lea ecx, [ebp - 0x40]
mov eax, esi
call sym._sqlite3BtreeBeginTrans
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013c6b4
cmp byte [ebp - 0x88], 5
jne 0x101406de
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 0x1014081b
mov eax, dword [ebp - 0x80]
test byte [eax + 0x98], 0x20
jne 0x1013c6d3
mov eax, dword [ebp - 0x7c]
cmp word [eax + 2], 0
jne 0x1013c7ba
jmp 0x1013c84a
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 8], 0
je 0x1013c6c0
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x55], 0
je 0x1013c6f1
cmp dword [eax + 0xc0], 1
jle 0x1013c6c0
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x30], 0
jne 0x1013c725
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 0x1013c775
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 0x1013c6c0
jmp 0x101406de
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x40]
cmp dword [eax + 0xc], esi
jne 0x1013c7d3
mov edi, dword [ebp - 0x7c]
mov eax, dword [ebx + 0xc]
mov edi, dword [edi + 0x10]
cmp dword [eax + 4], edi
je 0x1013c84a
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 0x1013c823
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 0x101406de
xor eax, eax
mov dword [ebp - 0x88], eax
jmp case.0x10139ba0.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.0x10139ba0.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 0x1013c956
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 0x1013c967
mov eax, dword [esi + 8]
cmp byte [eax + 0x2b], 0
je 0x1013c924
mov esi, dword [esi]
jmp 0x1013c913
mov ebx, dword [eax + 0x30]
test ebx, ebx
je 0x1013c920
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 0x1013c927
cmp eax, 2
jne 0x1013c967
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 0x1013c987
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 0x1013f8ba
jmp 0x101406de
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.0x10139ba0.112
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 8]
cmp dword [esi + 0x38], eax
jne case.0x10139ba0.112
mov eax, dword [esi + 0x2c]
call sym._sqlite3BtreeClearCursor
jmp 0x1013cae5
mov eax, dword [ebp - 0x80]
mov al, byte [eax + 0x98]
mov byte [ebp - 0x88], al
and eax, 3
dec al
je 0x101406d4
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 0x1013ca42
mov eax, dword [eax + 0xc]
mov esi, dword [ebp - 0x80]
mov al, byte [eax + 0x4c]
cmp al, byte [esi + 0x93]
jb 0x1013ca37
mov eax, edx
and eax, 8
or eax, 4
mov dword [ebp - 0x88], eax
jmp 0x1013ca42
mov esi, dword [ebp - 0x80]
mov byte [esi + 0x93], al
jmp 0x1013ca27
and dl, 0x10
je 0x1013ca5b
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 0x1013ca71
mov eax, dword [ebp - 0x7c]
mov ebx, dword [eax + 0x10]
movzx ecx, word [ebx + 8]
jmp 0x1013ca83
cmp al, 0xfd
jne 0x1013ca7f
mov eax, dword [ebp - 0x7c]
xor ebx, ebx
mov ecx, dword [eax + 0x10]
jmp 0x1013ca83
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 0x101408d9
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.0x10139ba0.89
jmp 0x101406de
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 0x101408d9
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.0x10139ba0.89
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x1013cbbe
imul eax, eax, 0x28
mov edi, dword [ebp - 0x90]
xor edx, edx
add eax, edi
mov dword [eax + 0xc], edx
mov dword [eax + 8], 0x101eb5dc
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 0x1013cc10
test byte [ebx + 8], 8
jne 0x1013cc10
movsx eax, word [ebx + 0x3c]
cmp eax, ecx
jl 0x1013cc10
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 0x1013cd55
jmp 0x101406de
xor edi, edi
mov dword [esp], edi
mov eax, dword [ebp - 0x80]
call sym._allocateCursor
mov ebx, eax
test eax, eax
je 0x101408d9
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 0x101406de
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 0x1013ccbd
mov esi, dword [eax + 0x10]
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0x30], esi
test esi, esi
je 0x1013ccf9
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 0x1013ccd5
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 0x1013cd48
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 0x1013cd23
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 0x1013cd55
mov eax, dword [ebx + 0x10]
call sym._sqlite3BtreeClose.isra.0
jmp 0x101406de
mov byte [ebx + 2], 1
jmp 0x1013f8ba
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 0x101408d9
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.0x10139ba0.89
jmp 0x101406de
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 0x1013f118
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 0x101408d9
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.0x10139ba0.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 0x1013ce2f
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.0x10139ba0.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 0x1013cf84
mov eax, dword [edi + 0x10]
mov word [ebp - 0xc0], ax
and eax, 0x2e
cmp ax, 2
jne 0x1013cea1
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 0x1013cf3e
test al, 8
jne 0x1013cf06
cmp dword [ebp - 0xb0], 0x15
jg 0x10139cdb
test al, 1
jne 0x10139cdb
mov eax, dword [esi + 0x2c]
lea edx, [ebp - 0x68]
call sym._sqlite3BtreeLast
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x101406de
cmp dword [ebp - 0x68], 0
je 0x1013d086
jmp 0x1013f7ea
fild qword [ebp - 0xb8]
fld qword [edi]
fcomi st(1)
ja 0x1013cf28
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x1013cf3e
and bl, 1
je 0x1013cf3e
mov eax, dword [ebp - 0xb0]
dec eax
jmp 0x1013cf38
fstp st(0)
fstp st(0)
and bl, 1
jne 0x1013cf3e
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 0x1013cffa
jmp 0x101406de
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 0x101406de
cmp byte [ebp - 0xb0], 0
mov eax, dword [ebp - 0x68]
je 0x1013cffa
cmp byte [ebp - 0x26], 0
mov ebx, 1
jne 0x1013cffc
test eax, eax
jne 0x1013f7ea
add dword [ebp - 0x7c], 0x14
jmp 0x1013d086
xor ebx, ebx
cmp dword [ebp - 0xa0], 0x15
mov eax, dword [ebp - 0x68]
jle 0x1013d049
test eax, eax
js 0x1013d019
cmp dword [ebp - 0xa0], 0x17
jne 0x1013d042
test eax, eax
jne 0x1013d042
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 0x1013d074
cmp eax, 0x65
jne 0x101406de
mov dword [ebp - 0x68], 1
jmp 0x1013d074
xor eax, eax
mov dword [ebp - 0x68], eax
jmp 0x1013d074
mov edx, dword [esi + 0x2c]
test eax, eax
jg 0x1013d05b
jne 0x1013d069
cmp dword [ebp - 0xa0], 0x14
jne 0x1013d069
xor eax, eax
mov dword [ebp - 0x68], eax
mov eax, edx
call sym._sqlite3BtreePrevious.constprop.0
jmp 0x1013d026
xor eax, eax
cmp byte [edx], 0
setne al
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
jne 0x1013f7ea
test ebx, ebx
jne 0x1013cff1
xor eax, eax
mov dword [ebp - 0x88], eax
jmp case.0x10139ba0.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.0x10139ba0.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 0x1013d138
mov eax, 0x14eb8
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
test eax, eax
jmp 0x1013f7e4
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 0x101406de
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 0x1013d194
add dword [ebp - 0x7c], 0x14
jmp 0x1013f7ea
je 0x1013f7ea
test edi, edi
jle case.0x10139ba0.89
mov eax, dword [ebx + 0x2c]
dec edi
call sym._sqlite3BtreeNext.constprop.0
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013d0da
cmp eax, 0x65
je 0x1013d18b
jmp 0x101406de
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 0x1013d1e9
mov word [eax + 0xc], dx
jmp case.0x10139ba0.89
mov esi, dword [ebp - 0x7c]
mov edx, dword [esi + 0xc]
cmp ecx, edx
jle case.0x10139ba0.89
mov word [eax + 0xc], dx
jmp case.0x10139ba0.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.0x10139ba0.89
jmp case.0x10139ba0.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.0x10139ba0.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 0x1013d28a
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 0x1013d2ea
test byte [eax + 0x11], 4
jne 0x1013d2dc
mov eax, dword [ebx + 0x30]
call sym._sqlite3VdbeAllocUnpackedRecord
mov esi, eax
test eax, eax
je 0x101408d9
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 0x1013d2ea
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
je 0x1013d290
jmp 0x101408d9
cmp dword [ebp - 0x88], 0
jne 0x101406de
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 0x1013d325
test eax, eax
jne 0x1013da0c
jmp 0x1013f7ea
test eax, eax
jne 0x1013f7ea
cmp dl, 0x1a
jne 0x1013d352
movzx edx, word [ebp - 0x2c]
mov ecx, dword [ebp - 0x3c]
cmp edx, eax
jle 0x1013da0c
imul ebx, eax, 0x28
test byte [ecx + ebx + 0x10], 1
jne 0x1013f7ea
inc eax
jmp 0x1013d339
cmp dl, 0x19
jne 0x1013da0c
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
mov word [ebx + 0xc], ax
jmp 0x1013da0c
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.0x10139ba0.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 0x10139cdb
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x3c]
jmp 0x1013d3c3
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 0x1013d42d
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 8], 0
jne 0x10139cdb
mov eax, 0x16d38
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je case.0x10139ba0.89
jmp 0x101406de
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.0x10139ba0.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 0x1013d51a
mov eax, dword [ebx + 0x2c]
lea edx, [ebp - 0x68]
call sym._sqlite3BtreeLast
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x101406de
cmp dword [ebp - 0x68], 0
je 0x1013d4e5
xor esi, esi
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x3c], esi
jmp 0x1013d51a
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 0x1013d50e
cmp eax, 0xffffffff
jne 0x1013d50e
or byte [ebx + 8], 2
jmp 0x1013d51a
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 0x1013d59f
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 0x1013d54b
mov ecx, edx
mov edx, dword [edx + 4]
test edx, edx
jne 0x1013d53d
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 0x1013d573
cmp eax, 0xffffffff
jne 0x1013d573
mov dword [ebp - 0x88], 0xd
jmp 0x101406de
test byte [ebx + 8], 2
jne 0x1013d564
cmp eax, dword [ebp - 0x40]
mov edi, edx
sbb edi, dword [ebp - 0x3c]
jl 0x1013d58f
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 0x1013d622
test byte [ebx + 8], 2
je 0x1013d622
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 0x101406de
cmp dword [ebp - 0x68], 0
jne 0x1013d622
dec edi
jne 0x1013d5aa
jmp 0x1013d564
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.0x10139ba0.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 0x1013d6b9
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0xfc], 0
je 0x1013d6b9
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 0x1013d6c3
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 0x1013d6da
mov eax, dword [ebp - 0x80]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
test cl, 0x20
je 0x1013d6f7
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 0x1013d713
mov edx, dword [ebx + 0x24]
mov edi, dword [ebp - 0x88]
xor eax, eax
test byte [edi + 0x11], 4
je 0x1013d723
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 0x101406de
test esi, esi
je 0x1013da0c
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 0x1013da0c
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 0x1013d7ef
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.0x10139ba0.89
jmp 0x101406de
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 0x1013d88f
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0xfc], 0
je 0x1013d88f
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 0x1013d893
cmp byte [ebx + 4], 0
je 0x1013d893
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 0x1013d893
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 0x101406de
test byte [ebp - 0xa0], 1
je 0x1013da0c
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 0x1013da0c
test eax, eax
je 0x1013da0c
test byte [esi + 0x1c], 0x80
jne 0x1013da0c
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 0x1013f2a0
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.0x10139ba0.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 0x1013d9a9
call sym._sqlite3VdbeAllocUnpackedRecord
mov dword [edi + 0x20], eax
mov ebx, eax
test eax, eax
jne 0x1013d9a5
mov dword [ebp - 0x88], 7
jmp 0x101406de
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 0x1013d9df
imul edx, eax, 0x28
add edx, dword [ebx + 4]
test byte [edx + 0x10], 1
jne 0x1013f7ea
inc eax
jmp 0x1013d9c8
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 0x1013f7ea
xor ecx, ecx
mov dword [ebp - 0x88], ecx
jmp case.0x10139ba0.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 0x1013da97
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.0x10139ba0.89
mov dword [ebp - 0x88], 7
jmp 0x101406de
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 0x10140899
mov ecx, esi
mov eax, ebx
call sym._sqlite3VdbeMemFromBtreeZeroOffset
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x101406de
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0xc], 0
jne 0x1013da0c
test byte [esi + 0x11], 0x40
je 0x1013da0c
mov eax, esi
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x1013da0c
jmp 0x101408d9
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 0x1013db59
mov word [esi + 0x10], 1
jmp case.0x10139ba0.89
cmp byte [ebx + 3], 0
je 0x1013db6d
mov eax, dword [ebx + 0x40]
mov edx, dword [ebx + 0x44]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x1013dbe8
cmp byte [ebx], 2
jne 0x1013dba4
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 0x1013dbe0
jmp 0x101406de
mov eax, ebx
call sym._sqlite3VdbeCursorRestore
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x101406de
cmp byte [ebx + 2], 0
je 0x1013dbca
mov word [esi + 0x10], 1
jmp case.0x10139ba0.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.0x10139ba0.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 0x1013dc3b
mov dword [esp], 3
mov eax, dword [ebp - 0x80]
mov ecx, 1
call sym._allocateCursor
test eax, eax
je 0x101408d9
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.0x10139ba0.89
mov eax, dword [eax + 0x2c]
call sym._sqlite3BtreeClearCursor
jmp case.0x10139ba0.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 0x1013dca1
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 0x1013dcb3
jmp 0x101406de
mov dword [esi + 0x24], 0xffffffff
cmp byte [eax], 0
je case.0x10139ba0.89
jmp 0x1013dc76
mov esi, dword [ebp - 0x7c]
cmp dword [esi + 8], 0
jg 0x1013b201
jmp case.0x10139ba0.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 0x101406de
cmp dword [ebp - 0x40], 0
jne 0x1013f7ea
mov eax, ebx
call sym._sqlite3BtreeRowCountEst
test edx, edx
js 0x1013f2a0
call sym._sqlite3LogEst
mov edi, dword [ebp - 0x7c]
cwde
cmp eax, dword [edi + 0xc]
jl 0x1013f7ea
jmp 0x1013f2a0
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 0x1013dd9c
cmp byte [ebx + 0x38], 0
jne 0x1013dd6a
cmp dword [ebx + 0x24], 0
je 0x1013ddc2
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 0x1013ddb5
mov eax, ebx
call sym._vdbeSorterFlushPMA
mov edx, eax
mov eax, ebx
call sym._vdbeSorterJoinAll
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x101406de
mov eax, ebx
xor edi, edi
call sym._vdbeSorterSetupMerge
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x88], eax
jmp 0x1013ddb5
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 0x101406de
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 0x1013ff41
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 0x1013de54
cmp byte [esi + 0x39], 0
je 0x1013de23
mov eax, dword [esi + 0x10]
call sym._vdbePmaReaderNext
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1013de4a
mov eax, dword [esi + 0x10]
cmp dword [eax + 0x18], 0
jne 0x1013de43
xor ecx, ecx
mov dword [ebx + 0x20], ecx
jmp 0x1013dee4
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 0x1013de4a
cmp dword [ebp - 0x40], 0
jne 0x1013de19
xor edx, edx
mov dword [ebx + 0x20], edx
jmp 0x1013debd
xor eax, eax
mov dword [ebx + 0x20], eax
jmp 0x1013ded7
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 0x1013de73
mov eax, dword [ebp - 0x8c]
call sym._vdbeSorterRecordFree
cmp dword [esi + 0x24], 0
jmp 0x1013de17
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 0x1013dea9
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 0x1013ded7
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 0x101400a9
cmp dword [ebp - 0x88], 0x65
jne 0x101406de
xor eax, eax
mov byte [ebx + 2], 1
mov dword [ebp - 0x88], eax
jmp 0x10139bec
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 0x1013df27
mov eax, dword [ebp - 0x80]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
test byte [ebx + 0x11], 4
jne 0x1013df6e
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 0x1013df84
mov edx, dword [esi + 0x24]
jmp 0x1013df84
mov eax, ebx
call sym._sqlite3VdbeMemExpandBlob
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013df2d
jmp 0x101406de
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 0x1013f6ce
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 0x1013dfdb
mov eax, dword [esi + 0x2c]
mov edx, ebx
call sym._sqlite3VdbeSorterWrite.isra.0
jmp 0x1013f6c8
mov eax, ebx
call sym._sqlite3VdbeMemExpandBlob
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013dfcc
jmp 0x101406de
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 0x101406de
cmp dword [ebp - 0x68], 0
jne 0x1013e065
mov edx, 4
mov eax, esi
call sym._sqlite3BtreeDelete
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013e0a4
jmp 0x101406de
mov eax, dword [ebp - 0x7c]
cmp word [eax + 2], 0
je 0x1013e0a4
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x20]
and eax, 0x10000001
xor eax, 1
or eax, 0
je 0x1013e0a4
mov ecx, str.index_corruption
mov edx, 0x1715d
mov eax, 0x30b
call sym._sqlite3ReportError
mov dword [ebp - 0x88], eax
jmp 0x101406de
xor esi, esi
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x24], esi
jmp 0x1013f2a0
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 0x101406de
mov eax, dword [ebp - 0xa0]
cmp byte [eax + 2], 0
jne 0x1013e215
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 0x101406de
mov ebx, dword [ebp - 0x60]
movzx eax, byte [ebx]
mov dword [ebp - 0x70], eax
cmp eax, 0x7f
jbe 0x1013e13a
lea edx, [ebp - 0x70]
mov eax, ebx
call sym._sqlite3GetVarint32
mov esi, dword [ebp - 0x70]
cmp esi, 2
jbe 0x1013e19a
mov edi, dword [ebp - 0x5c]
cmp edi, esi
jb 0x1013e19a
lea eax, [ebx + esi - 1]
movzx edx, byte [eax]
mov dword [ebp - 0x6c], edx
cmp edx, 0x7f
jbe 0x1013e160
lea edx, [ebp - 0x6c]
call sym._sqlite3GetVarint32
mov edx, dword [ebp - 0x6c]
lea eax, [edx - 1]
cmp eax, 8
ja 0x1013e19a
cmp edx, 7
je 0x1013e19a
movzx eax, byte [edx + 0x101f4e60]
add esi, eax
cmp edi, esi
jb 0x1013e19a
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 0x1013e1be
lea eax, [ebp - 0x68]
call sym._sqlite3VdbeMemReleaseMalloc
mov eax, 0x14e97
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x101406de
xor esi, esi
xor edi, edi
mov eax, dword [ebp - 0x7c]
cmp byte [eax], 0x8d
jne 0x1013e1fa
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 0x1013f2a0
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 0x1013f2a0
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x90]
imul eax, dword [eax + 8], 0x28
add eax, edi
call sym._sqlite3VdbeMemSetNull
jmp 0x1013f2a0
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.0x10139ba0.89
call sym._sqlite3VdbeFinishMoveto
jmp 0x1013f6c8
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 0x1013e2df
mov eax, 0x1722a
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
jmp 0x101406de
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 0x101406de
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 0x1013e339
lea eax, [ebx + 1]
test eax, eax
jle 0x1013f2a0
jmp 0x1013f7ea
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 0x1013e399
mov dword [ebp - 0x88], 6
mov eax, dword [ebp - 0x80]
mov byte [eax + 0x92], 2
jmp 0x101406de
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 0x101406de
test eax, eax
je case.0x10139ba0.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 0x1013e441
mov esi, dword [edx + 8]
cmp eax, dword [esi + 0x14]
jne 0x1013e43d
mov dword [esi + 0x14], ecx
mov edx, dword [edx]
jmp 0x1013e42e
mov edx, dword [ebx + 0x20]
test edx, edx
je 0x1013e457
mov ebx, dword [edx + 8]
cmp eax, dword [ebx + 0x2c]
jne 0x1013e453
mov dword [ebx + 0x2c], ecx
mov edx, dword [edx]
jmp 0x1013e444
mov al, byte [ebp - 0xa0]
inc eax
mov byte [ebp - 0xa5], al
jmp case.0x10139ba0.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 0x1013f293
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 0x1013f293
imul eax, eax, 0x28
mov edi, dword [ebp - 0x90]
add dword [edi + eax], ecx
adc dword [edi + eax + 4], ebx
jmp 0x1013f293
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 0x1013e4fe
mov eax, dword [ebp - 0x8c]
call sym._sqlite3VdbeSorterReset
jmp case.0x10139ba0.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.0x10139ba0.89
jmp 0x101406de
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 0x101406de
mov eax, dword [ebp - 0x40]
xor esi, esi
mov dword [ebx + 4], esi
mov dword [ebx], eax
jmp 0x1013f2a0
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 0x1013f293
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 0x1013e62c
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 0x1013e746
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 0x1013e755
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 0x1013e6d5
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013e6ef
mov eax, dword [ebp - 0x8c]
call sym._sqlite3DbFreeNN
mov eax, dword [ebp - 0x8c]
mov byte [eax + 0xb1], 0
jmp 0x1013e75f
cmp dword [ebp - 0x2c], 0
je 0x1013e712
mov eax, dword [ebp - 0x8c]
call sym._sqlite3DbFreeNN
mov eax, dword [ebp - 0x8c]
mov byte [eax + 0xb1], 0
jmp 0x1013f2a0
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 0x1013f2a0
jmp 0x1013e75f
mov dword [ebp - 0x88], 7
mov eax, dword [ebp - 0x8c]
call sym._sqlite3ResetAllSchemasOfConnection
cmp dword [ebp - 0x88], 7
jne 0x101406de
jmp 0x101408d9
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x8c]
call sym._sqlite3AnalysisLoad
jmp 0x1013f6c8
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.0x10139ba0.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 0x1013e83b
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 8]
cmp edx, eax
jne 0x1013e824
mov eax, dword [edx + 0x14]
mov dword [ecx + 8], eax
jmp 0x1013e830
mov ecx, dword [eax + 0x14]
cmp edx, ecx
je 0x1013e82a
mov eax, ecx
test eax, eax
jne 0x1013e81b
jmp 0x1013e830
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.0x10139ba0.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.0x10139ba0.89
mov eax, dword [eax + 0x18]
cmp dword [ebx + 0x14], eax
jne 0x1013e8af
mov edx, dword [ebx + 4]
add eax, 8
call sym._sqlite3HashFind
test eax, eax
je 0x1013e8af
lea edx, [eax + 0x38]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x1013e8af
mov ecx, dword [eax + 0x20]
cmp ebx, eax
jne 0x1013e8a8
mov dword [edx], ecx
jmp 0x1013e8af
lea edx, [eax + 0x20]
mov eax, ecx
jmp 0x1013e899
mov eax, dword [ebp - 0x8c]
mov edx, ebx
call sym._sqlite3DeleteTrigger
mov eax, dword [ebp - 0x8c]
or dword [eax + 0x18], 1
jmp case.0x10139ba0.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 0x1013e973
test esi, esi
je 0x101408d9
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 0x10139bec
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 0x1013e9c2
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.0x10139ba0.89
mov eax, ebx
call sym._sqlite3VdbeMemSetRowSet
test eax, eax
je 0x1013e9aa
jmp 0x101408d9
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 0x1013ea2f
mov ebx, dword [edi + 8]
mov si, word [ebx + 0x1a]
test esi, 2
jne 0x1013ea10
test esi, 1
jne 0x1013ea09
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 0x1013ea2f
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebx + 8], eax
test eax, eax
jne 0x1013ea3b
mov eax, ebx
call sym._sqlite3RowSetClear
jmp 0x1013ea3b
mov eax, edi
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139ba0.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 0x10139bec
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 0x1013eac5
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 0x1013eb0a
jmp 0x1013eae6
mov eax, dword [ebp - 0xa0]
call sym._sqlite3VdbeMemSetRowSet
test eax, eax
je 0x1013ea94
jmp 0x101408d9
cmp dword [ebp - 0xb0], 0
js case.0x10139ba0.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.0x10139ba0.89
mov eax, dword [ebp - 0xb0]
cmp eax, dword [ebx + 0x1c]
je 0x1013ebb3
mov esi, dword [ebx + 8]
test esi, esi
je 0x1013ebaa
lea eax, [ebx + 0x14]
mov dword [ebp - 0xc0], eax
test byte [ebx + 0x1a], 1
jne 0x1013eb3c
mov eax, esi
call sym._rowSetEntrySort
mov esi, eax
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x1013eb74
lea eax, [edi + 8]
mov dword [ebp - 0xc0], eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1013eb93
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 0x1013eb3f
mov eax, ebx
call sym._rowSetEntryAlloc
mov edi, eax
mov eax, dword [ebp - 0xc0]
mov dword [eax], edi
test edi, edi
je 0x1013eb9d
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 0x1013ead9
mov eax, dword [edx + 0xc]
test eax, eax
je 0x1013ebfc
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 0x1013ebe3
mov eax, dword [eax + 8]
jmp 0x1013ebc1
mov esi, dword [ebp - 0xe8]
cmp dword [ebp - 0xd0], ebx
sbb esi, ecx
jge 0x10139cdb
mov eax, dword [eax + 0xc]
jmp 0x1013ebc1
mov edx, dword [edx + 8]
jmp 0x1013ebb6
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 0x1013ec3b
mov eax, dword [ebp - 0x80]
mov edx, dword [ebx + 0x14]
mov eax, dword [eax + 0xd0]
test eax, eax
je 0x1013ec3b
cmp dword [eax + 0x1c], edx
je case.0x10139ba0.89
mov eax, dword [eax + 4]
jmp 0x1013ec29
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x80]
mov edi, dword [edi + 0xa0]
cmp dword [eax + 0xd8], edi
jl 0x1013ec71
mov dword [esp + 4], str.too_many_levels_of_trigger_recursion
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x88], 1
jmp 0x101406de
mov eax, dword [ebx + 0xc]
test byte [esi + 0x10], 0x10
jne 0x1013ed7f
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 0x101408d9
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 0x1013ed82
mov esi, dword [ebp - 0x8c]
mov word [eax + 0x10], 0
add eax, 0x28
mov dword [eax - 0x14], esi
jmp 0x1013ed67
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 0x10139be9
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.0x10139ba0.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 0x1013eed7
mov edi, dword [ebp - 0x8c]
add dword [edi + 0x208], eax
adc dword [edi + 0x20c], edx
jmp case.0x10139ba0.89
mov ecx, dword [ebp - 0x7c]
cmp dword [ecx + 4], 0
je 0x1013eef7
mov esi, dword [ebp - 0x8c]
add dword [esi + 0x200], eax
adc dword [esi + 0x204], edx
jmp case.0x10139ba0.89
mov edi, dword [ebp - 0x80]
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
jmp case.0x10139ba0.89
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 4], 0
je 0x1013ef3d
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [eax + 0x204]
or eax, dword [ecx + 0x200]
jne case.0x10139ba0.89
mov eax, dword [ecx + 0x20c]
or eax, dword [ecx + 0x208]
jmp 0x1013f11a
mov eax, dword [ebp - 0x80]
mov edi, dword [ebp - 0x80]
mov eax, dword [eax + 0x44]
or eax, dword [edi + 0x40]
jne case.0x10139ba0.89
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [eax + 0x20c]
or eax, dword [ecx + 0x208]
jmp 0x1013f11a
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 0x1013ef97
mov ecx, eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x1013ef89
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.0x10139ba0.89
mov dword [esi], edx
mov dword [esi + 4], eax
jmp case.0x10139ba0.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.0x10139ba0.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 0x10139cdb
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 0x1013f099
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 0x1013f099
mov eax, dword [ebp - 0xa0]
mov dword [eax], esi
mov dword [eax + 4], edi
jmp case.0x10139ba0.89
mov eax, dword [ebp - 0xa0]
mov dword [eax], 0xffffffff
mov dword [eax + 4], 0xffffffff
jmp case.0x10139ba0.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.0x10139ba0.89
xor ebx, ebx
cmp ebx, eax
sbb ebx, edx
jge 0x10139cdb
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x10139cdb
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.0x10139ba0.89
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [ecx], eax
mov dword [ecx + 4], edx
or eax, edx
jne case.0x10139ba0.89
jmp 0x10139cdb
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 0x101408d9
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 0x1013f1eb
mov edi, dword [ebp - 0x7c]
inc dword [eax + 0xc]
lea edx, [ebx + 0x1c]
mov eax, dword [ebx + 4]
cmp dword [edi + 4], 0
je 0x1013f210
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], ebx
call dword [eax + 0x1c]
jmp 0x1013f21e
mov dword [ebx + 8], eax
lea edx, [esi - 1]
cmp edx, 0xffffffff
je 0x1013f1c9
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 0x1013f1f1
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.0x10139ba0.89
jle 0x1013f254
mov eax, dword [ebx]
mov dword [esp], eax
call sym._sqlite3_value_text
mov dword [esp + 4], 0x101ec16f
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 0x1013f27f
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x1013f27b
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 0x101406de
xor eax, eax
mov dword [ebp - 0x88], eax
jmp case.0x10139ba0.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 0x1013f334
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 0x1013f341
mov eax, esi
call sym._sqlite3VdbeMemFinalize
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x1013f36e
mov dword [esp], esi
call sym._sqlite3_value_text
mov dword [esp + 4], 0x101ec16f
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
jmp 0x101406de
movzx edx, byte [ebp - 0x95]
mov eax, esi
call sym._sqlite3VdbeChangeEncoding
jmp case.0x10139ba0.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 0x1013f3cf
cmp eax, 5
jne 0x101406de
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 0x1013f3e0
jmp 0x1013f2a0
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 0x1013f45d
mov eax, dword [ebx + 0x44]
cmp dword [eax], 0
je 0x1013f45f
xor eax, eax
cmp eax, dword [ebx + 0x50]
sbb eax, dword [ebx + 0x54]
cmovl esi, edi
jmp 0x1013f45f
mov esi, edi
cmp byte [ebx + 0xf], 0
mov eax, 0x101f88a4
jne 0x1013f470
mov eax, dword [ebx + 0xb8]
cmp esi, 5
jne 0x1013f4b5
call sym._sqlite3Strlen30
test eax, eax
je 0x1013f637
mov eax, ebx
call sym._sqlite3PagerWalSupported
test eax, eax
je 0x1013f637
cmp edi, 5
je 0x1013f639
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x55], 0
je 0x1013f4dd
cmp dword [eax + 0xc0], 1
jle 0x1013f601
jmp 0x1013f4dd
cmp esi, edi
je 0x1013f639
cmp edi, 5
jne 0x1013f639
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x55], 0
je 0x1013f4e4
cmp dword [eax + 0xc0], 1
jle 0x1013f50f
jmp 0x1013f4e4
mov eax, str.into
jmp 0x1013f4e9
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 0x101406de
cmp dword [ebx + 0xe8], 0
je 0x1013f52f
mov eax, ebx
call sym._pagerExclusiveLock
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1013f643
jmp 0x1013f597
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 0x1013f643
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 0x1013f643
cmp dword [ebp - 0x40], 0
je 0x1013f58c
mov eax, ebx
call sym._pagerOpenWal
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1013f643
cmp dword [ebx + 0xe8], 0
je 0x1013f5f1
jmp 0x1013f518
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 0x1013f5f1
cmp byte [ebx + 4], 0
jne 0x1013f643
mov edx, 1
mov eax, ebx
call sym._pagerUnlockDb
jmp 0x1013f643
mov edx, esi
mov eax, ebx
call sym._sqlite3PagerSetJournalMode
mov edx, 1
jmp 0x1013f624
cmp edi, 4
je 0x1013f616
cmp dword [ebp - 0x88], 0
mov edx, 2
jne 0x1013f643
jmp 0x1013f624
mov edx, 2
mov eax, ebx
call sym._sqlite3PagerSetJournalMode
jmp 0x1013f606
mov eax, dword [ebp - 0xb0]
call sym._sqlite3BtreeSetVersion
mov dword [ebp - 0x88], eax
jmp 0x1013f639
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 0x1013f666
mov edx, dword [eax*4 + 0x101f3d24]
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 0x1013f293
mov eax, dword [ebp - 0x7c]
xor edx, edx
mov eax, dword [eax + 8]
test eax, eax
je 0x1013f6ae
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 0x1013f29a
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 0x1013f74d
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 0x1013f737
cmp dword [ebp - 0x88], edi
jb 0x1013f749
mov eax, 0x1149b
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
jmp 0x1013f7c5
test esi, esi
jne 0x1013f75d
mov eax, dword [ebp - 0xa0]
call sym._sqlite3BtreeLeave
jmp 0x1013f7ea
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 0x1013f799
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 0x1013f7a6
mov eax, dword [ebp - 0xa0]
call sym._sqlite3BtreeLeave
jmp 0x1013f7dd
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 0x1013f2a0
cmp dword [ebp - 0x88], 0x65
jne 0x101406de
xor eax, eax
mov dword [ebp - 0x88], eax
jmp 0x10139cdb
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 4], 0
mov edx, dword [eax + 8]
jne 0x1013f813
mov eax, dword [ebp - 0x8c]
call sym._sqlite3ExpirePreparedStatements
jmp case.0x10139ba0.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.0x10139ba0.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.0x10139ba0.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.0x10139ba0.89
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 0xc]
test dl, dl
jne 0x1013f896
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0xa0], eax
and eax, 0x400
or eax, 0
jne case.0x10139ba0.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 0x1013f8c7
xor eax, eax
mov dword [ebp - 0x88], eax
jmp case.0x10139ba0.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 0x1013f947
mov edi, dword [ebx + 4]
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x10140906
cmp esi, dword [eax + 4]
jne 0x1013f908
cmp ebx, dword [eax]
je 0x1013f91b
mov eax, dword [eax + 0xc]
jmp 0x1013f8f7
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 0x1013f932
mov eax, ebx
call sym._sqlite3BtreeLeave
jmp 0x1013fd28
mov cl, byte [ebp - 0xa0]
mov byte [eax + 8], cl
mov eax, ebx
call sym._sqlite3BtreeLeave
jmp 0x1013f8ba
mov eax, ebx
call sym._sqlite3BtreeLeave
cmp byte [ebp - 0x88], 6
jne 0x101406de
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 0x101406de
mov eax, dword [ebp - 0x7c]
mov ebx, dword [eax + 0x10]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x17c]
test ecx, ecx
jle 0x1013f9bc
cmp dword [eax + 0x194], 0
jne 0x1013f9bc
test ebx, ebx
jne 0x1013f9af
mov dword [ebp - 0x88], 6
jmp 0x101406de
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
jmp 0x1013f9a0
test ebx, ebx
je 0x1013da0c
mov edx, dword [ebx + 8]
xor eax, eax
mov esi, dword [edx]
cmp dword [esi + 0x38], 0
je 0x1013fa83
cmp ecx, eax
jle 0x1013f9f1
mov edi, dword [ebp - 0x8c]
mov edx, dword [edi + 0x194]
cmp ebx, dword [edx + eax*4]
je 0x1013faa5
inc eax
jmp 0x1013f9d5
mov eax, dword [ebp - 0x8c]
call sym._growVTrans
mov edx, dword [ebx + 8]
test eax, eax
mov dword [ebp - 0x88], eax
je 0x1013fa16
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
jmp 0x101406de
mov dword [esp], edx
call dword [esi + 0x38]
mov dword [ebp - 0x88], eax
test eax, eax
je 0x1013fa36
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
jmp 0x101406de
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 0x1013fa83
mov ecx, dword [esi + 0x50]
test ecx, ecx
jne 0x1013fa90
mov eax, dword [ebp - 0x80]
call sym._sqlite3VtabImportErrmsg
jmp 0x1013fd28
mov dword [ebx + 0x14], eax
dec eax
mov dword [esp + 4], eax
mov dword [esp], edx
call ecx
mov dword [ebp - 0x88], eax
jmp 0x1013faad
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 0x1013da8a
jmp 0x101406de
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 0x1013fc38
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 0x1013fb60
mov edx, dword [eax]
mov eax, dword [edx + 4]
test eax, eax
je 0x1013fb60
cmp dword [edx + 0x14], 0
jne 0x1013fb97
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 0x101406de
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 0x1013fc2b
mov edx, dword [ebx + 0x34]
mov eax, dword [ebp - 0x8c]
call sym._sqlite3GetVTable.isra.0
test eax, eax
je 0x1013fc11
mov eax, dword [ebp - 0x8c]
call sym._growVTrans
mov dword [ebp - 0x88], eax
test eax, eax
jne 0x1013fc1e
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 0x1013f8ba
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemRelease
jmp 0x101406de
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemRelease
jmp 0x101406de
lea eax, [ebp - 0x40]
call sym._sqlite3VdbeMemRelease
cmp dword [ebp - 0x88], 0
je 0x1013f8ba
jmp 0x101406de
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 0x1013fca5
cmp byte [eax + 0x2b], 1
jne 0x1013fca5
mov eax, dword [eax + 0x34]
test eax, eax
jne 0x1013fcba
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0xcc], esi
jmp 0x1013fd28
mov eax, dword [eax + 0x18]
test eax, eax
je 0x1013fcc8
mov edx, dword [eax + 8]
cmp dword [edx + 4], 0
jle 0x1013fcb3
jmp 0x1013fd58
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 0x1013fce6
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 0x1013fd35
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.0x10139ba0.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 0x101406de
mov dword [ebp - 0x88], 6
mov eax, dword [ebp - 0x8c]
mov dword [eax + 0xcc], esi
jmp 0x101406de
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 0x1013fdee
mov esi, dword [ebx]
test esi, esi
je 0x1013fdfd
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 0x101406de
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 0x1013fde3
mov dword [eax + 0x2c], edx
inc dword [ebx + 4]
jmp 0x1013f8ba
mov dword [esp], edx
call dword [esi + 0x1c]
jmp 0x101408d9
mov dword [ebp - 0x88], 6
jmp 0x101406de
mov dword [ebp - 0x88], 6
jmp 0x101406de
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 0x101408d9
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.0x10139ba0.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 0x1013fee0
mov dword [esi + edx*4], eax
inc edx
add eax, 0x28
jmp 0x1013fed3
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 0x101406de
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.0x10139ba0.89
jmp 0x1013f7ea
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 0x1013ff7c
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
jmp case.0x10139ba0.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 0x1013ffc5
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
xor ecx, ecx
mov word [ebx + 0x10], 0x401
mov dword [ebx], ecx
jmp 0x1013ffd3
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 0x10140035
mov dword [esp], ebx
call sym._sqlite3_value_text
mov dword [esp + 4], 0x101ec16f
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.0x10139ba0.89
jmp 0x101406de
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.0x10139ba0.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 0x101406de
mov eax, dword [ebx + 0x2c]
mov dword [esp], eax
call dword [esi + 0x28]
test eax, eax
jne 0x10139bec
xor edx, edx
mov dword [ebp - 0x88], edx
jmp case.0x10139ba0.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 0x101406de
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 0x10140133
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.0x10139ba0.89
jmp 0x101406de
xor eax, eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x57], 0
jne 0x101408d9
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x101402ae
mov eax, dword [ebx]
test eax, eax
je 0x101402bd
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ecx + 8]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je case.0x10139ba0.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 0x101401d0
mov dword [edi + edx*4], eax
add eax, 0x28
inc edx
jmp 0x101401c3
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 0x10140239
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 4], 0
je 0x10140291
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 0x10140291
cmp byte [ebp - 0x88], 0x13
jne 0x1014029e
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x10140281
mov eax, dword [ebp - 0x7c]
mov ax, word [eax + 2]
cmp ax, 4
jne 0x10140268
xor eax, eax
mov dword [ebp - 0x88], eax
jmp case.0x10139ba0.89
cmp ax, 5
jne 0x10140273
mov eax, 2
mov esi, dword [ebp - 0x80]
mov byte [esi + 0x92], al
jmp 0x101406de
mov eax, dword [ebp - 0x80]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp 0x101406de
mov eax, dword [ebp - 0x80]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp 0x1014025b
mov eax, dword [ebp - 0x80]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
jmp 0x101406de
mov dword [ebp - 0x88], 6
jmp 0x101406de
mov dword [ebp - 0x88], 6
jmp 0x101406de
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.0x10139ba0.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 0x10140365
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 0x10140371
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.0x10139ba0.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 0x101403d1
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 0x10140404
jmp case.0x10139ba0.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 0x101403a4
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 0x101403e5
jle 0x1014042e
mov dword [esp], esi
call sym._sqlite3_value_text
mov dword [esp + 4], 0x101ec16f
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.0x10139ba0.89
jmp 0x101406de
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x90]
imul eax, dword [eax + 4], 0x28
and word [esi + eax + 0x10], 0xf7ff
jmp case.0x10139ba0.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.0x10139ba0.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 0x1014052e
inc dword [eax + 0xc4]
jmp 0x10139cdb
inc dword [eax + 0xc0]
jmp case.0x10139ba0.89
mov eax, dword [ebp - 0x8c]
mov al, byte [eax + 0x5e]
test al, 0x41
je 0x10140641
mov ecx, dword [ebp - 0x80]
cmp byte [ecx + 0x93], 0xfe
je 0x10140641
mov esi, dword [ebp - 0x7c]
mov edx, dword [esi + 0x10]
test edx, edx
jne 0x10140572
mov edx, dword [ecx + 0xc8]
test edx, edx
je 0x10140641
test al, 0x40
je 0x101405ac
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 0x10140641
mov eax, dword [ebp - 0x8c]
cmp dword [eax + 0xc8], 1
jle 0x10140613
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 0x10140641
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 0x10140681
cmp byte [eax], 0xb5
je case.0x10139ba0.89
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax + 0x6c]
mov eax, 1
cmp ecx, eax
jle 0x10140679
mov edi, dword [ebp - 0x80]
imul edx, eax, 0x14
add edx, dword [edi + 0x68]
cmp byte [edx], 0xe
jne 0x10140676
xor ebx, ebx
mov dword [edx + 4], ebx
inc eax
jmp 0x1014065f
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 0x10139cdb
add dword [ebp - 0x7c], 0x14
jmp 0x10139b7b
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 0x101406de
mov dword [ebp - 0x88], 9
jmp 0x101406de
mov dword [ebp - 0x88], 0x204
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x57], 0
je 0x101406ff
mov dword [ebp - 0x88], 7
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x7c], 0
jne 0x10140752
jmp 0x10140730
cmp dword [ebp - 0x88], 0x210a
jne 0x1014071b
mov eax, 0x17abe
call sym._sqlite3CorruptError
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x7c], 0
jne 0x10140752
cmp dword [ebp - 0x88], 0xc0a
je 0x10140752
mov eax, dword [ebp - 0x88]
call sym._sqlite3ErrStr
mov dword [esp + 4], 0x101ec16f
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 0x101407c1
call sym._sqlite3VdbeHalt
cmp dword [ebp - 0x88], 0xc0a
jne 0x101407da
mov eax, dword [ebp - 0x8c]
call sym._sqlite3OomFault
jmp 0x101407f3
cmp dword [ebp - 0x88], 0xb
jne 0x101407f3
mov eax, dword [ebp - 0x8c]
cmp byte [eax + 0x55], 0
jne 0x101407f3
or dword [eax + 0x24], 2
cmp byte [ebp - 0xa5], 0
je 0x1014080f
movzx edx, byte [ebp - 0xa5]
mov eax, dword [ebp - 0x8c]
dec edx
call sym._sqlite3ResetOneSchema
mov edi, 1
jmp 0x1014081b
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 0x10140930
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + 0x170]
test ecx, ecx
je 0x10140930
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 0x10140827
jmp 0x101406de
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 0x101406de
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], 0x101eb8b4
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x88], 7
jmp 0x101406de
xor edx, edx
mov eax, 0x10
call sym._sqlite3MallocZero
test eax, eax
jne 0x1013f90d
mov eax, ebx
call sym._sqlite3BtreeLeave
mov dword [ebp - 0x88], 7
jmp 0x101406de
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