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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x18c
mov dword [ebp - 0xe8], eax
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax]
mov dword [ebp - 0xf8], eax
mov al, byte [eax + 0x46]
mov byte [ebp - 0x125], al
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0xe8]
call sym._sqlite3VdbeEnter
mov eax, dword [ebp - 0xe8]
cmp dword [eax + 0x28], 7
je 0x61e60a99
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0x68], 0
mov eax, dword [ebp - 0xf8]
mov dword [eax + 0x18c], 0
mov eax, dword [eax + 0x100]
test eax, eax
jne 0x61e60ae6
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x144], 0xffffffff
cmp dword [eax + 0x138], 0
je 0x61e59047
mov ecx, dword [eax + 0x140]
mov eax, dword [ebp - 0xe8]
xor edx, edx
mov eax, dword [eax + 0xb0]
div ecx
sub ecx, edx
mov dword [ebp - 0x144], ecx
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x118], 0
mov byte [ebp - 0x126], 0
mov dword [ebp - 0x100], 0
imul eax, dword [eax + 0x24], 0x14
add eax, dword [ebp - 0x108]
mov dword [ebp - 0xf4], eax
movzx eax, byte [ebp - 0x125]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0xe8]
add eax, 0xd8
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0xf4]
inc dword [ebp - 0x124]
mov bl, byte [eax]
cmp bl, 0xa9
ja case.0x61e590ba.86
movzx ecx, bl
jmp dword [ecx*4 + 0x61e9b580]
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov edi, dword [eax + edx*4]
mov ebx, dword [edi + 0x28]
cmp byte [ebx + 0x38], 0
jne 0x61e5d48d
mov edx, dword [ebx + 0x24]
mov eax, dword [edx + 4]
mov dword [ebx + 0x24], eax
mov dword [edx + 4], 0
cmp dword [ebx + 0x28], 0
je 0x61e5d4f0
cmp dword [ebx + 0x24], 1
sbb eax, eax
mov dword [ebp - 0x100], eax
and dword [ebp - 0x100], 0x65
cmp dword [ebp - 0x100], 0
mov dword [edi + 0x1c], 0
jne 0x61e5d545
mov eax, dword [ebp - 0xf4]
mov byte [edi + 2], 0
mov edi, dword [ebp - 0xe8]
movzx eax, word [eax + 2]
inc dword [edi + eax*4 + 0xa0]
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x108]
imul eax, dword [eax + 8], 0x14
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x100]
test eax, eax
jne 0x61e60b03
mov edi, dword [ebp - 0x124]
cmp dword [ebp - 0x144], edi
ja case.0x61e590ba.86
mov eax, dword [ebp - 0xf8]
mov ebx, dword [eax + 0x138]
test ebx, ebx
je case.0x61e590ba.86
mov ecx, dword [eax + 0x140]
xor edx, edx
mov eax, edi
div ecx
mov eax, dword [ebp - 0xf8]
lea esi, [edi + ecx]
mov eax, dword [eax + 0x13c]
sub esi, edx
mov dword [ebp - 0x144], esi
mov dword [esp], eax
call ebx
test eax, eax
je case.0x61e590ba.86
jmp 0x61e60928
mov eax, dword [ebp - 0xf4]
imul edx, dword [eax + 4], 0x28
sub eax, dword [ebp - 0x108]
add edx, dword [ebp - 0x104]
sar eax, 2
imul eax, eax, 0xcccccccd
mov word [edx + 8], 4
mov dword [edx], eax
sar eax, 0x1f
mov dword [edx + 4], eax
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x108]
imul eax, dword [eax + 8], 0x14
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0xf4], eax
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
imul edx, dword [eax + 4], 0x28
add edx, dword [ebp - 0x104]
imul eax, dword [edx], 0x14
mov word [edx + 8], pe_nt_image_headers32
add eax, dword [ebp - 0x108]
mov dword [ebp - 0xf4], eax
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
mov edi, dword [edi + 0xc]
add eax, dword [ebp - 0x104]
lea edx, [edi - 1]
mov dword [ebp - 0x110], edi
mov dword [eax], edx
sar edx, 0x1f
mov word [eax + 8], 4
mov dword [eax + 4], edx
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 8], 0
jmp 0x61e5a4a8
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x108]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
imul edx, dword [eax], 0x14
imul edx, dword [edi + edx + 8], 0x14
mov word [eax + 8], pe_nt_image_headers32
lea edi, [edi + edx - 0x14]
mov dword [ebp - 0xf4], edi
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [ebp - 0x108]
imul edx, dword [eax + 4], 0x28
sar ecx, 2
add edx, dword [ebp - 0x104]
imul ecx, ecx, 0xcccccccd
mov eax, dword [edx]
mov dword [edx], ecx
sar ecx, 0x1f
mov word [edx + 8], 4
mov dword [edx + 4], ecx
imul eax, eax, 0x14
add eax, dword [ebp - 0x108]
mov dword [ebp - 0xf4], eax
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x104]
imul eax, dword [eax + 0xc], 0x28
test byte [edi + eax + 8], 1
je case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
test edx, edx
jne 0x61e5939c
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xc4]
test eax, eax
je 0x61e5939c
mov edx, dword [eax + 4]
mov edi, dword [ebp - 0xe8]
mov dword [edi + 0xc4], edx
dec dword [edi + 0xcc]
mov edx, dword [edi + 0x2c]
mov edi, dword [ebp - 0xf8]
add dword [edi + 0x60], edx
mov dword [edi + 0x5c], edx
call sym._sqlite3VdbeFrameRestore
mov edi, dword [ebp - 0xf4]
cmp dword [edi + 8], 4
mov edi, dword [ebp - 0xe8]
mov edx, dword [edi + 0x58]
jne 0x61e59377
imul eax, eax, 0x14
mov eax, dword [edx + eax + 8]
dec eax
mov edi, dword [ebp - 0xe8]
mov dword [ebp - 0x108], edx
imul eax, eax, 0x14
mov edi, dword [edi + 0x5c]
add eax, edx
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x104], edi
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xe8]
mov ebx, dword [ebp - 0xf4]
sub ebx, dword [ebp - 0x108]
mov edi, dword [ebp - 0xe8]
mov dword [eax + 0x28], edx
mov eax, dword [ebp - 0xf4]
sar ebx, 2
imul ebx, ebx, 0xcccccccd
mov eax, dword [eax + 8]
test edx, edx
mov byte [edi + 0x8e], al
mov dword [edi + 0x24], ebx
je 0x61e594a0
mov eax, dword [ebp - 0xf4]
movzx eax, word [eax + 2]
test ax, ax
je 0x61e59443
mov eax, dword [eax*4 + 0x61ea11f0]
mov dword [esp + 4], str._s_constraint_failed
mov dword [esp], edi
mov dword [esp + 8], eax
call sym._sqlite3VdbeError
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x61e59466
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x6c]
mov dword [esp + 4], str._z:__s
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
call sym._sqlite3MPrintf
mov edi, dword [ebp - 0xe8]
mov dword [edi + 0x6c], eax
jmp 0x61e59466
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], 0x61e98be8
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x6c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xbc]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.abort_at__d_in___s_:__s
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 4]
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_log
mov eax, dword [ebp - 0xe8]
call sym._sqlite3VdbeHalt
cmp eax, 5
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xe8]
jne 0x61e5b764
mov dword [eax + 0x28], 5
jmp 0x61e610a6
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov edi, dword [ebp - 0xf4]
mov edx, dword [edi + 4]
mov dword [eax], edx
sar edx, 0x1f
mov dword [eax + 4], edx
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov edi, dword [ebp - 0xf4]
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.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov edi, dword [ebp - 0xf4]
mov word [eax + 8], 8
mov edx, dword [edi + 0x10]
fld qword [edx]
fstp qword [eax]
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov ebx, eax
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 0x10]
mov byte [eax], 0x48
mov eax, esi
call sym._sqlite3Strlen30
cmp byte [ebp - 0x125], 1
mov edi, dword [ebp - 0xf4]
mov dword [edi + 4], eax
je 0x61e5960e
or ecx, 0xffffffff
mov edx, esi
mov dword [esp + 4], 0
mov dword [esp], 1
mov eax, ebx
call sym._sqlite3VdbeMemSetStr
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x100], eax
mov eax, ebx
call sym._sqlite3VdbeChangeEncoding
test eax, eax
jne 0x61e60ab6
mov eax, dword [ebp - 0xf4]
or word [ebx + 8], 0x800
mov dword [ebx + 0x18], 0
cmp byte [eax + 1], 0xf9
jne 0x61e595f2
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0xf8]
call sym._sqlite3DbFree
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf4]
mov byte [eax + 1], 0xf9
mov eax, dword [ebx + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [ebx + 0xc]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf8]
mov edi, dword [edi + 0x64]
cmp dword [eax + 4], edi
jg 0x61e60a74
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov edi, dword [ebp - 0xf4]
mov word [eax + 8], 0xa02
mov cl, byte [ebp - 0x125]
mov edx, dword [edi + 0x10]
mov dword [eax + 0x10], edx
mov edx, dword [edi + 4]
mov byte [eax + 0xa], cl
mov dword [eax + 0xc], edx
mov edx, dword [edi + 0xc]
test edx, edx
jle case.0x61e590ba.86
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
movzx ecx, word [edi + 2]
cmp dword [edx + 4], 0
jne case.0x61e590ba.86
cmp dword [edx], ecx
jne case.0x61e590ba.86
mov word [eax + 8], 0xa10
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov ebx, eax
mov eax, dword [ebp - 0xf4]
mov edi, dword [eax + 0xc]
sub edi, dword [eax + 8]
cmp dword [eax + 4], 1
mov dword [ebx + 0xc], 0
sbb esi, esi
and si, 0xff00
add si, 0x101
mov word [ebx + 8], si
test edi, edi
jle case.0x61e590ba.86
add ebx, 0x28
dec edi
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
mov word [ebx + 8], si
mov dword [ebx + 0xc], 0
jmp 0x61e596d3
mov eax, dword [ebp - 0xf4]
imul edx, dword [eax + 4], 0x28
add edx, dword [ebp - 0x104]
mov eax, dword [edx + 8]
and al, 0x60
or eax, 1
mov word [edx + 8], ax
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov ebx, eax
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0x10]
mov eax, ebx
mov dword [esp + 4], 0
mov dword [esp], 0
call sym._sqlite3VdbeMemSetStr
mov al, byte [ebp - 0x125]
mov byte [ebx + 0xa], al
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xe8]
imul eax, dword [eax + 4], 0x28
mov edx, dword [edi + 0x74]
lea ebx, [edx + eax - 0x28]
mov eax, ebx
call sym._sqlite3VdbeMemTooBig
test eax, eax
jne 0x61e60a74
mov eax, dword [ebp - 0xf4]
mov ecx, 0x800
mov edx, ebx
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0x104]
call sym._sqlite3VdbeMemShallowCopy
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 8], 0x28
add ebx, dword [ebp - 0x104]
mov eax, ebx
mov edi, ebx
call sym._sqlite3VdbeMemRelease
mov eax, dword [ebp - 0x110]
mov ecx, 0xa
mov esi, dword [ebp - 0x110]
rep movsd dword es:[edi], dword [esi]
mov word [eax + 8], 1
mov dword [eax + 0x18], 0
test byte [ebx + 9], 0x10
jne 0x61e5981f
add dword [ebp - 0x110], 0x28
add ebx, 0x28
dec dword [ebp - 0x120]
jne 0x61e597d9
jmp case.0x61e590ba.86
mov eax, ebx
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x61e59808
jmp 0x61e60ab6
mov eax, dword [ebp - 0xf4]
xor edi, edi
imul esi, dword [eax + 4], 0x28
imul ebx, dword [eax + 8], 0x28
mov eax, dword [eax + 0xc]
add esi, dword [ebp - 0x104]
add ebx, dword [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov ecx, 0x1000
mov edx, esi
mov eax, ebx
call sym._sqlite3VdbeMemShallowCopy
test byte [ebx + 9], 0x10
jne 0x61e5987d
cmp edi, dword [ebp - 0x110]
je case.0x61e590ba.86
add ebx, 0x28
add esi, 0x28
inc edi
jmp 0x61e59854
mov eax, ebx
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x61e59868
jmp 0x61e60ab6
mov eax, dword [ebp - 0xf4]
mov ecx, 0x1000
imul edx, dword [eax + 4], 0x28
imul eax, dword [eax + 8], 0x28
add edx, dword [ebp - 0x104]
add eax, dword [ebp - 0x104]
call sym._sqlite3VdbeMemShallowCopy
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x104]
imul eax, dword [eax + 4], 0x28
mov edx, dword [edi + eax]
mov ecx, dword [edi + eax + 4]
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 8], 0x28
add eax, edi
call sym._sqlite3VdbeMemSetInt64
jmp case.0x61e590ba.86
mov esi, dword [ebp - 0x124]
cmp dword [ebp - 0x144], esi
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x138]
ja 0x61e59901
test eax, eax
jne 0x61e5991e
mov eax, dword [ebp - 0xe8]
xor edx, edx
call sym._sqlite3VdbeCheckFk
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e60962
jmp 0x61e59942
mov edi, dword [ebp - 0xf8]
mov edx, dword [edi + 0x13c]
mov dword [esp], edx
call eax
test eax, eax
je 0x61e59901
mov dword [ebp - 0x100], 9
jmp 0x61e60962
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax]
cmp dword [eax + 0x1c0], 0
je 0x61e59969
mov eax, dword [ebp - 0xe8]
cmp dword [eax + 0x30], 0
je 0x61e59969
mov edx, 1
call sym._vdbeCloseStatement
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xe8]
xor ebx, ebx
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x100], eax
add eax, 2
or eax, 1
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0xf4]
imul esi, dword [eax + 4], 0x28
add esi, dword [ebp - 0x104]
mov dword [edi + 0x68], esi
mov eax, dword [ebp - 0xf4]
cmp ebx, dword [eax + 8]
jge 0x61e599da
test byte [esi + 9], 0x10
jne 0x61e599c4
mov ax, word [esi + 8]
and ax, 0x202
cmp ax, 2
jne 0x61e599d4
mov eax, esi
call sym._vdbeMemAddTerminator
jmp 0x61e599d4
mov eax, esi
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x61e599ad
jmp 0x61e60ab6
inc ebx
add esi, 0x28
jmp 0x61e5999c
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x49], 0
jne 0x61e60ab6
test byte [eax + 0x50], 4
je 0x61e59a25
mov eax, dword [ebp - 0xe8]
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xc4]
mov dword [esp], 4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xf8]
call dword [eax + 0xc0]
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0x108]
mov edi, dword [ebp - 0xe8]
mov dword [ebp - 0x100], 0x64
sar eax, 2
imul eax, eax, 0xcccccccd
inc eax
mov dword [edi + 0x24], eax
jmp 0x61e610a6
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x110]
imul ebx, dword [eax + 0xc], 0x28
mov eax, dword [ebp - 0x120]
add ebx, dword [ebp - 0x104]
mov eax, dword [eax + 8]
mov edx, eax
or edx, dword [edi + 8]
and dl, 1
je 0x61e59ab4
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
jmp case.0x61e590ba.86
test ah, 0x40
jne 0x61e59ac7
mov eax, dword [ebp - 0x110]
test byte [eax + 9], 0x40
je 0x61e59aee
jmp 0x61e59adb
mov eax, dword [ebp - 0x120]
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
je 0x61e59ab9
jmp 0x61e60ab6
mov eax, dword [ebp - 0x110]
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
jne 0x61e60ab6
mov eax, dword [ebp - 0x120]
test byte [eax + 8], 0x12
jne 0x61e59b15
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x120]
xor ecx, ecx
call sym._sqlite3VdbeMemStringify
test eax, eax
jne 0x61e60ab6
mov eax, dword [ebp - 0x110]
test byte [eax + 8], 0x12
jne 0x61e59b3c
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x110]
xor ecx, ecx
call sym._sqlite3VdbeMemStringify
test eax, eax
jne 0x61e60ab6
mov edi, dword [ebp - 0x120]
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 0xc]
add eax, dword [edi + 0xc]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0xf8]
mov edi, dword [ebp - 0x130]
cmp edi, dword [eax + 0x64]
jg 0x61e60a74
mov eax, dword [ebp - 0x130]
xor ecx, ecx
cmp dword [ebp - 0x110], ebx
lea edx, [eax + 2]
mov eax, ebx
sete cl
call sym._sqlite3VdbeMemGrow
test eax, eax
jne 0x61e60ab6
mov eax, dword [ebx + 8]
and ax, 0x3e00
or eax, 2
cmp dword [ebp - 0x110], ebx
mov word [ebx + 8], ax
je 0x61e59bb3
mov eax, dword [ebp - 0x110]
mov edi, dword [ebx + 0x10]
mov esi, dword [eax + 0x10]
mov ecx, dword [eax + 0xc]
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x110]
mov edi, dword [ebp - 0x120]
mov eax, dword [eax + 0xc]
add eax, dword [ebx + 0x10]
mov esi, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x130]
mov eax, dword [ebx + 0x10]
mov byte [eax + edi], 0
mov eax, dword [ebx + 0x10]
mov byte [eax + edi + 1], 0
mov al, byte [ebp - 0x125]
or word [ebx + 8], 0x200
mov dword [ebx + 0xc], edi
mov byte [ebx + 0xa], al
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x130], eax
call sym._numericType
mov word [ebp - 0x140], ax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x138], eax
call sym._numericType
mov word [ebp - 0x150], ax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x140]
and eax, dword [ebp - 0x150]
test al, 4
mov eax, dword [ebp - 0x130]
je 0x61e59f89
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x10c], edx
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x7c], edi
mov al, byte [eax]
cmp al, 0x61
je 0x61e59cc6
ja 0x61e59cb5
cmp al, 0x60
jne 0x61e59f00
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x10c]
jmp 0x61e59cf0
cmp al, 0x62
je 0x61e59d20
cmp al, 0x63
je 0x61e59ead
jmp 0x61e59f00
mov eax, dword [ebp - 0x10c]
add eax, 0x80000000
or eax, dword [ebp - 0x110]
je 0x61e59d0a
mov ecx, dword [ebp - 0x110]
mov ebx, dword [ebp - 0x10c]
neg ecx
adc ebx, 0
mov edx, ecx
neg ebx
mov ecx, ebx
lea eax, [ebp - 0x80]
call sym._sqlite3AddInt64
test eax, eax
je 0x61e59f5e
mov esi, 1
jmp 0x61e59f9f
test edi, edi
jns 0x61e59d00
mov eax, esi
mov edx, edi
add eax, 0
adc edx, 0x80000000
jmp 0x61e59f58
cmp dword [ebp - 0x10c], 0
jl 0x61e59da0
jg 0x61e59d34
cmp dword [ebp - 0x110], 0
jbe 0x61e59da0
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0x7fffffff
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call dbg.__divdi3
cmp edi, edx
jg 0x61e59d00
jl 0x61e59d66
cmp esi, eax
ja 0x61e59d00
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
mov dword [esp], 0
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call dbg.__divdi3
cmp edi, edx
jl 0x61e59d00
jg 0x61e59e8a
cmp esi, eax
jmp 0x61e59df2
mov eax, dword [ebp - 0x10c]
or eax, dword [ebp - 0x110]
je 0x61e59e8a
cmp edi, 0
jl 0x61e59dfd
jg 0x61e59dbe
cmp esi, 0
jbe 0x61e59dfd
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp], 0
mov dword [esp + 4], 0x80000000
call dbg.__divdi3
cmp dword [ebp - 0x10c], edx
jl 0x61e59d00
jg 0x61e59e8a
cmp dword [ebp - 0x110], eax
jb 0x61e59d00
jmp 0x61e59e8a
mov eax, edi
or eax, esi
je 0x61e59e8a
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x110]
lea edx, [ecx - 0x80000000]
or eax, edx
je 0x61e59d00
lea edx, [edi - 0x80000000]
mov eax, esi
or eax, edx
je 0x61e59d00
mov eax, esi
mov edx, edi
mov dword [esp], 1
neg eax
mov dword [esp + 4], 0x80000000
adc edx, 0
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x110]
neg edx
mov dword [ebp - 0x154], edx
mov edx, dword [ebp - 0x10c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call dbg.__divdi3
cmp dword [ebp - 0x154], edx
jg 0x61e59d00
jl 0x61e59e8a
cmp dword [ebp - 0x158], eax
ja 0x61e59d00
mov ebx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x110]
imul ebx, esi
imul eax, edi
add ebx, eax
mov eax, dword [ebp - 0x110]
mul esi
add edx, ebx
jmp 0x61e59f58
mov eax, dword [ebp - 0x10c]
or eax, dword [ebp - 0x110]
je 0x61e5a10c
lea edx, [edi - 0x80000000]
mov eax, esi
or eax, edx
jne 0x61e59ede
mov eax, dword [ebp - 0x110]
and eax, dword [ebp - 0x10c]
inc eax
je 0x61e59d00
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call dbg.__divdi3
jmp 0x61e59f58
mov eax, dword [ebp - 0x10c]
or eax, dword [ebp - 0x110]
je 0x61e5a10c
cmp dword [ebp - 0x10c], 0xffffffff
jne 0x61e59f38
cmp dword [ebp - 0x110], 0xffffffff
jne 0x61e59f38
mov dword [ebp - 0x110], 1
mov dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call dbg.__moddi3
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x80]
mov edi, dword [ebp - 0x120]
mov edx, dword [ebp - 0x7c]
mov dword [edi], eax
mov eax, dword [edi + 8]
mov dword [edi + 4], edx
mov word [ebp - 0x110], ax
and ax, 0x3e00
or eax, 4
mov word [edi + 8], ax
jmp case.0x61e590ba.86
mov edi, dword [ebp - 0x138]
mov eax, dword [eax + 8]
or eax, dword [edi + 8]
test al, 1
jne 0x61e5a10c
xor esi, esi
mov eax, dword [ebp - 0x130]
call sym._sqlite3VdbeRealValue
mov eax, dword [ebp - 0x138]
fstp qword [ebp - 0x110]
call sym._sqlite3VdbeRealValue
mov eax, dword [ebp - 0xf4]
fld qword [ebp - 0x110]
mov al, byte [eax]
cmp al, 0x61
je 0x61e59fe4
ja 0x61e59fda
cmp al, 0x60
jne 0x61e5a009
faddp st(1)
jmp 0x61e5a0a3
cmp al, 0x62
je 0x61e59feb
cmp al, 0x63
je 0x61e59ff2
jmp 0x61e5a009
fsubp st(1)
jmp 0x61e5a0a3
fmulp st(1)
jmp 0x61e5a0a3
fldz
fxch st(1)
fucomi st(1)
fstp st(1)
jp 0x61e5a002
je 0x61e5a108
fdivp st(1)
jmp 0x61e5a0a3
fnstcw word [ebp - 0xe2]
mov ax, word [ebp - 0xe2]
or ah, 0xc
mov word [ebp - 0xe4], ax
fldcw word [ebp - 0xe4]
fistp qword [ebp - 0xf0]
fldcw word [ebp - 0xe2]
mov ebx, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xf0]
fldcw word [ebp - 0xe4]
fistp qword [ebp - 0xf0]
fldcw word [ebp - 0xe2]
mov edi, ebx
mov eax, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xec]
or edi, ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
je 0x61e5a10c
cmp ebx, 0xffffffff
jne 0x61e5a07d
cmp ecx, 0xffffffff
jne 0x61e5a07d
mov ecx, 1
xor ebx, ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.__moddi3
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], edx
fild qword [ebp - 0x110]
fst qword [esp]
fstp qword [ebp - 0x110]
call sym._sqlite3IsNaN
test eax, eax
jne 0x61e5a10c
mov eax, dword [ebp - 0x120]
fld qword [ebp - 0x110]
mov edi, dword [ebp - 0x120]
fstp qword [eax]
mov eax, dword [eax + 8]
mov word [ebp - 0x110], ax
and ax, 0x3e00
or eax, 8
mov word [edi + 8], ax
mov eax, dword [ebp - 0x140]
or eax, dword [ebp - 0x150]
test al, 8
jne case.0x61e590ba.86
mov eax, esi
test al, al
jne case.0x61e590ba.86
mov eax, edi
call sym._sqlite3VdbeIntegerAffinity
jmp case.0x61e590ba.86
fstp st(0)
fstp st(0)
mov eax, dword [ebp - 0x120]
call sym._sqlite3VdbeMemSetNull
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 4]
test eax, eax
je case.0x61e590ba.86
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
xor edx, edx
xor ecx, ecx
call sym._sqlite3VdbeMemSetInt64
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
imul edx, dword [edi + 0xc], 0x28
imul eax, dword [eax + 8], 0x28
add ebx, dword [ebp - 0x104]
add edx, dword [ebp - 0x104]
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x120], edx
mov edx, dword [ebx + 8]
or edx, dword [eax + 8]
and dl, 1
je 0x61e5a18f
mov eax, dword [ebp - 0x120]
call sym._sqlite3VdbeMemSetNull
jmp case.0x61e590ba.86
call sym._sqlite3VdbeIntValue
mov dword [ebp - 0x110], eax
mov eax, ebx
mov dword [ebp - 0x10c], edx
call sym._sqlite3VdbeIntValue
mov edi, dword [ebp - 0xf4]
mov cl, byte [edi]
cmp cl, 0x5c
jne 0x61e5a1c6
mov ecx, dword [ebp - 0x110]
mov edi, dword [ebp - 0x10c]
and ecx, eax
and edi, edx
jmp 0x61e5a1db
cmp cl, 0x5d
jne 0x61e5a1ec
mov ecx, dword [ebp - 0x110]
mov edi, dword [ebp - 0x10c]
or ecx, eax
or edi, edx
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x10c], edi
jmp 0x61e5a2cc
mov edi, edx
or edi, eax
je 0x61e5a2cc
cmp edx, 0
jge 0x61e5a20f
mov bl, 0xbd
sub ebx, ecx
inc edx
mov cl, bl
jl 0x61e5a216
jg 0x61e5a20b
cmp eax, 0xffffffc1
jb 0x61e5a216
neg eax
jmp 0x61e5a24b
jg 0x61e5a216
cmp eax, 0x3f
jbe 0x61e5a24b
mov esi, dword [ebp - 0x10c]
not esi
shr esi, 0x1f
cmp cl, 0x5e
sete al
xor edi, edi
or esi, eax
mov eax, esi
xor eax, 1
movzx esi, al
neg esi
adc edi, 0
mov dword [ebp - 0x110], esi
neg edi
mov dword [ebp - 0x10c], edi
jmp 0x61e5a2cc
cmp cl, 0x5e
jne 0x61e5a273
mov esi, dword [ebp - 0x110]
mov edi, dword [ebp - 0x10c]
mov cl, al
xor ebx, ebx
shld edi, esi, cl
shl esi, cl
test al, 0x20
cmovne edi, esi
cmovne esi, ebx
mov ebx, esi
mov esi, edi
jmp 0x61e5a2c0
mov esi, dword [ebp - 0x10c]
mov ebx, dword [ebp - 0x110]
mov cl, al
xor edx, edx
shrd ebx, esi, cl
shr esi, cl
test al, 0x20
cmovne ebx, esi
cmovne esi, edx
cmp dword [ebp - 0x10c], 0
jns 0x61e5a2c0
mov ecx, 0x40
xor edi, edi
sub ecx, eax
mov eax, 0xffffffff
mov edx, eax
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, edi
mov ecx, edx
or eax, ebx
mov edx, ecx
mov ebx, eax
or edx, esi
mov esi, edx
mov dword [ebp - 0x110], ebx
mov dword [ebp - 0x10c], esi
mov eax, dword [ebp - 0x120]
mov esi, dword [ebp - 0x110]
mov edi, dword [ebp - 0x10c]
mov dword [eax], esi
mov dword [eax + 4], edi
mov eax, dword [eax + 8]
mov edi, dword [ebp - 0x120]
mov word [ebp - 0x110], ax
and ax, 0x3e00
or eax, 4
mov word [edi + 8], ax
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
mov eax, ebx
call sym._sqlite3VdbeMemIntegerify
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 8]
cdq
add dword [ebx], eax
adc dword [ebx + 4], edx
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
test byte [ebx + 8], 4
jne 0x61e5a37b
mov ecx, dword [ebp - 0x114]
mov edx, 0x43
mov eax, ebx
call sym._applyAffinity
test byte [ebx + 8], 4
jne 0x61e5a37b
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 8], 0
jne 0x61e591f5
mov dword [ebp - 0x100], 0x14
jmp 0x61e60962
mov eax, dword [ebx + 8]
and ax, 0x3e00
or eax, 4
mov word [ebx + 8], ax
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
test byte [ebx + 8], 4
je case.0x61e590ba.86
mov eax, ebx
call sym._sqlite3VdbeRealValue
mov eax, dword [ebx + 8]
fstp qword [ebx]
and ax, 0x3e00
or eax, 8
mov word [ebx + 8], ax
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x100], 0
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
test byte [ebx + 9], 0x40
je 0x61e5a3f1
mov eax, ebx
call sym._sqlite3VdbeMemExpandBlob
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x114]
movzx edx, byte [eax + 8]
mov eax, ebx
call sym._sqlite3VdbeMemCast
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
imul esi, dword [eax + 4], 0x28
imul ebx, dword [eax + 0xc], 0x28
add esi, dword [ebp - 0x104]
add ebx, dword [ebp - 0x104]
mov eax, dword [esi + 8]
mov edi, dword [ebx + 8]
mov edx, eax
mov word [ebp - 0x110], ax
mov eax, dword [ebp - 0xf4]
or edx, edi
test dl, 1
mov ax, word [eax + 2]
je 0x61e5a4b3
test al, 0x80
je 0x61e5a475
mov eax, dword [ebp - 0x110]
and eax, edi
test al, 1
je 0x61e5a5f9
mov eax, edi
movzx eax, ah
and eax, 1
jmp 0x61e5a5e1
test al, 0x20
je 0x61e5a4a6
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x118], 1
imul edx, dword [eax + 8], 0x28
add edx, dword [ebp - 0x104]
mov eax, dword [edx + 8]
and ax, 0x3e00
or eax, 1
mov word [edx + 8], ax
jmp case.0x61e590ba.86
test al, 0x10
je case.0x61e590ba.86
jmp 0x61e591f5
and eax, 0x47
cmp al, 0x42
jle 0x61e5a543
and dl, 2
je 0x61e5a4f2
mov eax, dword [ebp - 0x110]
and eax, 0xe
cmp ax, 2
jne 0x61e5a4de
xor edx, edx
mov eax, esi
call sym._applyNumericAffinity
mov edi, dword [ebx + 8]
mov eax, edi
and eax, 0xe
cmp ax, 2
jne 0x61e5a4f2
xor edx, edx
mov eax, ebx
call sym._applyNumericAffinity
mov eax, dword [esi + 8]
and eax, dword [ebx + 8]
test al, 4
je 0x61e5a5b4
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 4]
mov edx, dword [ebx]
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], ecx
mov eax, dword [esi]
jg 0x61e5a5f9
jl 0x61e5a5cc
cmp edx, eax
ja 0x61e5a5f9
cmp dword [ebp - 0x120], ecx
jg 0x61e5a5e5
cmp edx, eax
jb 0x61e5a5cc
jmp 0x61e5a5e5
jne 0x61e5a5b4
test byte [ebp - 0x110], 2
jne 0x61e5a582
test byte [ebp - 0x110], 0xc
je 0x61e5a582
mov edx, dword [ebp - 0x114]
mov ecx, 1
mov eax, esi
call sym._sqlite3VdbeMemStringify
mov edx, dword [ebp - 0x110]
mov eax, dword [esi + 8]
and dh, 0xc1
and ax, 0x3e00
or eax, edx
mov word [ebp - 0x110], ax
test di, 2
jne 0x61e5a5b4
test di, 0xc
je 0x61e5a5b4
mov edx, dword [ebp - 0x114]
mov ecx, 1
mov eax, ebx
and di, 0xc1ff
call sym._sqlite3VdbeMemStringify
mov eax, dword [ebx + 8]
mov edx, edi
and ax, 0x3e00
or eax, edx
mov edi, eax
mov eax, dword [ebp - 0xf4]
mov edx, esi
mov ecx, dword [eax + 0x10]
mov eax, ebx
call sym._sqlite3MemCompare
test eax, eax
jns 0x61e5a5e1
jmp 0x61e5a5cf
or eax, 0xffffffff
mov ecx, dword [ebp - 0xf4]
movzx edx, byte [ecx]
movzx edx, byte [edx + 0x61ea1198]
jmp 0x61e5a60e
test eax, eax
jne 0x61e5a5fe
mov eax, dword [ebp - 0xf4]
movzx eax, byte [eax]
movzx edx, byte [eax + 0x61ea1190]
xor eax, eax
jmp 0x61e5a60e
mov eax, 1
mov ecx, dword [ebp - 0xf4]
movzx edx, byte [ecx]
movzx edx, byte [edx + 0x61ea1188]
mov ecx, dword [ebp - 0x110]
mov word [esi + 8], cx
mov word [ebx + 8], di
mov edi, dword [ebp - 0xf4]
mov bx, word [edi + 2]
test bl, 0x20
je 0x61e5a672
imul ecx, dword [edi + 8], 0x28
add ecx, dword [ebp - 0x104]
and bl, 8
je 0x61e5a650
xor ebx, ebx
cmp byte [edi], 0x35
mov dword [ebp - 0x118], eax
sete bl
cmp edx, ebx
je case.0x61e590ba.86
mov ebx, dword [ecx + 8]
mov dword [ecx], edx
sar edx, 0x1f
mov dword [ecx + 4], edx
mov dword [ebp - 0x118], eax
and bx, 0x3e00
or ebx, 4
mov word [ecx + 8], bx
jmp case.0x61e590ba.86
test edx, edx
jmp 0x61e5a4a8
cmp dword [ebp - 0x118], 0
jmp 0x61e5a4a8
mov eax, dword [ebp - 0xf4]
xor edi, edi
test byte [eax + 2], 1
je 0x61e5a69f
mov eax, dword [eax - 4]
lea edi, [eax + 4]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
xor ebx, ebx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x130], eax
cmp ebx, dword [ebp - 0x110]
jge case.0x61e590ba.86
test edi, edi
mov eax, ebx
je 0x61e5a6e6
mov eax, dword [edi + ebx*4]
mov edx, dword [esi + 0x10]
mov cl, byte [edx + ebx]
mov edx, dword [ebp - 0x130]
add edx, eax
add eax, dword [ebp - 0x120]
mov byte [ebp - 0x138], cl
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov ecx, dword [esi + ebx*4 + 0x14]
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
call sym._sqlite3MemCompare
test eax, eax
mov dword [ebp - 0x118], eax
je 0x61e5a740
neg eax
cmp byte [ebp - 0x138], 0
cmove eax, dword [ebp - 0x118]
mov dword [ebp - 0x118], eax
jmp case.0x61e590ba.86
inc ebx
jmp 0x61e5a6d1
cmp dword [ebp - 0x118], 0
mov eax, dword [ebp - 0xf4]
jns 0x61e5a76b
imul eax, dword [eax + 4], 0x14
mov edi, dword [ebp - 0x108]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0xf4], eax
jmp case.0x61e590ba.86
jne 0x61e5a786
imul eax, dword [eax + 8], 0x14
mov edi, dword [ebp - 0x108]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0xf4], eax
jmp case.0x61e590ba.86
imul eax, dword [eax + 0xc], 0x14
mov edi, dword [ebp - 0x108]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0xf4], eax
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, 2
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
call sym._sqlite3VdbeBooleanValue
mov ebx, eax
mov eax, dword [ebp - 0xf4]
mov edx, 2
lea ebx, [ebx + ebx*2]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0x104]
call sym._sqlite3VdbeBooleanValue
mov edi, dword [ebp - 0xf4]
cmp byte [edi], 0x2c
jne 0x61e5a7ed
movzx ecx, byte [eax + ebx + 0x61ea11b0]
jmp 0x61e5a7f5
movzx ecx, byte [eax + ebx + 0x61ea11a4]
mov eax, dword [ebp - 0xf4]
imul edx, dword [eax + 0xc], 0x28
add edx, dword [ebp - 0x104]
cmp ecx, 2
mov eax, dword [edx + 8]
jne 0x61e5a81d
and ax, 0x3e00
or eax, 1
mov word [edx + 8], ax
jmp case.0x61e590ba.86
and ax, 0x3e00
mov dword [edx], ecx
sar ecx, 0x1f
or eax, 4
mov dword [edx + 4], ecx
mov word [edx + 8], ax
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 0xc]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
call sym._sqlite3VdbeBooleanValue
mov edi, dword [ebp - 0xf4]
xor eax, dword [edi + 0x10]
mov edx, eax
mov ecx, eax
imul eax, dword [edi + 8], 0x28
sar ecx, 0x1f
add eax, dword [ebp - 0x104]
call sym._sqlite3VdbeMemSetInt64
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
imul ebx, dword [edi + 8], 0x28
add eax, dword [ebp - 0x104]
add ebx, dword [ebp - 0x104]
test byte [eax + 8], 1
jne 0x61e5a8b3
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.0x61e590ba.86
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 8], 0x28
imul esi, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
add esi, dword [ebp - 0x104]
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
test byte [esi + 8], 1
jne case.0x61e590ba.86
mov word [ebx + 8], 4
mov eax, esi
call sym._sqlite3VdbeIntValue
not eax
not edx
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xe8]
mov edx, dword [eax + 0xc4]
test edx, edx
je 0x61e5a94d
mov ecx, dword [ebp - 0xf4]
sub ecx, dword [eax + 0x58]
sar ecx, 2
imul ecx, ecx, 0xcccccccd
mov eax, ecx
and ecx, 7
shr eax, 3
add eax, dword [edx + 0x18]
movzx ebx, byte [eax]
bt ebx, ecx
mov edx, ebx
jb 0x61e591f5
mov ebx, 1
shl ebx, cl
or edx, ebx
mov byte [eax], dl
jmp 0x61e5a968
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf4]
mov eax, dword [eax + 0x58]
mov edi, dword [edi + 4]
cmp dword [eax + 4], edi
je 0x61e591f5
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf4]
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 4]
mov dword [edi + 4], eax
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 0xc]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
call sym._sqlite3VdbeBooleanValue
jmp 0x61e5cf71
mov eax, dword [ebp - 0xf4]
xor edx, edx
cmp dword [eax + 0xc], 0
sete dl
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
call sym._sqlite3VdbeBooleanValue
jmp 0x61e5c576
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x104]
imul eax, dword [eax + 4], 0x28
test byte [edi + eax + 8], 1
jmp 0x61e5a4a8
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x104]
imul eax, dword [eax + 4], 0x28
test byte [edi + eax + 8], 1
je 0x61e591f5
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
cmp byte [eax + 2], 0
je case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
call sym._sqlite3VdbeMemSetNull
jmp 0x61e591f5
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0xf4]
cmp byte [ebx + 3], 0
mov eax, dword [eax + 8]
mov dword [ebp - 0x138], eax
je 0x61e5aa89
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x61e5aa80
mov edi, dword [ebp - 0x138]
mov eax, dword [eax + edi*4 + 4]
test eax, eax
jle 0x61e5aa80
dec eax
mov ebx, dword [ebx + 0x24]
mov dword [ebp - 0x138], eax
jmp 0x61e5aaab
mov eax, ebx
call sym._handleDeferredMoveto
jmp 0x61e5aa98
mov eax, dword [ebx + 0x28]
cmp byte [eax], 0
je 0x61e5aaab
mov eax, ebx
call sym._handleMovedCursor
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
jne 0x61e60962
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov eax, dword [ebx + 0x48]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x20]
cmp dword [ebx + 0x1c], eax
je 0x61e5abc2
cmp byte [ebx + 2], 0
je 0x61e5ab06
cmp byte [ebx], 3
jne 0x61e5ad9c
imul eax, dword [ebx + 0x20], 0x28
add eax, dword [ebp - 0x104]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x54], edx
mov dword [ebx + 0x50], edx
mov dword [ebx + 0x4c], eax
jmp 0x61e5ab48
mov esi, dword [ebx + 0x28]
mov eax, esi
call sym._getCellInfo
mov edx, dword [esi + 0x2c]
movzx eax, word [esi + 0x30]
mov ecx, dword [esi + 0x28]
mov esi, dword [esi + 0x74]
mov dword [ebx + 0x50], edx
mov esi, dword [esi + 0x3c]
sub esi, ecx
cmp eax, esi
jle 0x61e5ab33
test esi, esi
mov eax, 0
cmovns eax, esi
mov dword [ebx + 0x54], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebx + 0x4c], ecx
cmp edx, dword [eax + 0x64]
ja 0x61e60a74
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x20]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebx + 0x4c]
movzx edx, byte [eax]
test dl, dl
js 0x61e5ab6d
mov eax, dword [ebp - 0x120]
mov dword [eax], edx
mov eax, 1
jmp 0x61e5ab7b
mov edx, dword [ebp - 0x120]
call sym._sqlite3GetVarint32
movzx eax, al
mov dword [ebx + 0x30], eax
mov eax, dword [ebp - 0x120]
mov word [ebx + 0x3a], 0
mov eax, dword [eax]
cmp dword [ebx + 0x54], eax
jae 0x61e5abbd
mov eax, dword [ebp - 0x120]
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x4c], 0
mov eax, dword [eax]
cmp eax, 0x18003
ja 0x61e5af54
cmp eax, dword [ebx + 0x50]
ja 0x61e5af54
jmp 0x61e5abc2
mov eax, dword [ebx + 0x4c]
jmp 0x61e5ac22
movzx eax, word [ebx + 0x3a]
cmp eax, dword [ebp - 0x138]
jg 0x61e5adac
mov eax, dword [ebp - 0x120]
mov eax, dword [eax]
cmp dword [ebx + 0x30], eax
jae 0x61e5ad62
mov eax, dword [ebx + 0x4c]
test eax, eax
mov dword [ebp - 0x130], eax
jne 0x61e5ac28
lea edx, [ebp - 0x80]
mov ecx, 0xa
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x120]
mov eax, dword [ebx + 0x28]
mov dword [esp], edx
xor edx, edx
mov ecx, dword [edi]
call sym._sqlite3VdbeMemFromBtree
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e60962
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x130], eax
movzx ecx, word [ebx + 0x3a]
mov eax, dword [ebp - 0x120]
xor edi, edi
mov edx, dword [ebp - 0x120]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x130]
add eax, dword [ebx + 0x30]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x130]
add eax, dword [edx]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x100]
movzx eax, byte [eax]
cmp eax, 0x7f
mov dword [ebp - 0xc8], eax
ja 0x61e5ac83
movzx eax, byte [eax + 0x61ea8a80]
xor edx, edx
inc dword [ebp - 0x100]
add esi, eax
adc edi, edx
jmp 0x61e5acba
mov eax, dword [ebp - 0x100]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0x150], ecx
call sym._sqlite3GetVarint32
movzx eax, al
add dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xc8]
call sym._sqlite3VdbeSerialTypeLen
mov ecx, dword [ebp - 0x150]
xor edx, edx
add esi, eax
adc edi, edx
mov eax, dword [ebp - 0xc8]
inc ecx
mov edx, dword [ebp - 0x140]
cmp dword [ebp - 0x100], edx
mov dword [ebx + ecx*4 + 0x54], eax
mov eax, dword [ebp - 0x120]
mov dword [eax + ecx*4], esi
jae 0x61e5ace8
cmp ecx, dword [ebp - 0x138]
jle 0x61e5ac5a
mov edx, dword [ebp - 0x140]
cmp dword [ebp - 0x100], edx
jb 0x61e5ad03
ja 0x61e5ad0f
test edi, edi
mov eax, dword [ebx + 0x50]
jne 0x61e5ad0f
cmp esi, eax
jne 0x61e5ad0f
cmp edi, 0
mov eax, dword [ebx + 0x50]
ja 0x61e5ad0f
cmp esi, eax
jbe 0x61e5ad3f
mov eax, dword [ebp - 0x120]
cmp dword [eax], 0
je 0x61e5ad31
cmp dword [ebx + 0x4c], 0
jne 0x61e5af54
lea eax, [ebp - 0x80]
call sym._sqlite3VdbeMemRelease
jmp 0x61e5af54
mov eax, dword [ebp - 0x140]
xor ecx, ecx
mov dword [ebp - 0x100], eax
mov edi, dword [ebp - 0x100]
sub edi, dword [ebp - 0x130]
cmp dword [ebx + 0x4c], 0
mov word [ebx + 0x3a], cx
mov dword [ebx + 0x30], edi
jne 0x61e5ad6c
lea eax, [ebp - 0x80]
call sym._sqlite3VdbeMemRelease
jmp 0x61e5ad6c
mov dword [ebp - 0xc8], 0
movzx eax, word [ebx + 0x3a]
cmp eax, dword [ebp - 0x138]
jg 0x61e5adbc
mov eax, dword [ebp - 0xf4]
cmp byte [eax + 1], 0xf5
jne 0x61e5ad9c
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x110]
mov ecx, 0x800
call sym._sqlite3VdbeMemShallowCopy
jmp 0x61e5af8b
mov eax, dword [ebp - 0x110]
call sym._sqlite3VdbeMemSetNull
jmp 0x61e5af8b
mov eax, dword [ebp - 0x138]
mov eax, dword [ebx + eax*4 + 0x58]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x110]
test word [eax + 8], 0x2400
je 0x61e5adcf
call sym._sqlite3VdbeMemSetNull
mov eax, dword [ebp - 0x138]
mov edi, dword [ebp - 0x120]
inc eax
lea esi, [eax*4]
mov eax, dword [edi + eax*4]
cmp dword [ebx + 0x54], eax
jb 0x61e5aea6
mov edx, dword [ebp - 0xc8]
mov esi, dword [edi + esi - 4]
add esi, dword [ebx + 0x4c]
cmp edx, 0xb
ja 0x61e5ae0e
mov ecx, dword [ebp - 0x110]
mov eax, esi
jmp 0x61e5aef9
mov eax, dword [ebp - 0x110]
lea ebx, [edx - 0xc]
shr ebx, 1
mov edi, eax
mov dword [eax + 0xc], ebx
mov al, byte [ebp - 0x125]
mov byte [edi + 0xa], al
lea eax, [ebx + 1]
cmp eax, dword [edi + 0x18]
jl 0x61e5ae4a
lea edx, [ebx + 2]
xor ecx, ecx
mov eax, edi
mov word [edi + 8], 1
call sym._sqlite3VdbeMemGrow
test eax, eax
je 0x61e5ae5c
jmp 0x61e60ab6
mov eax, dword [ebp - 0x110]
mov edi, dword [ebp - 0x110]
mov eax, dword [eax + 0x14]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x110]
mov ecx, ebx
mov eax, dword [eax + 0x10]
mov edi, eax
mov eax, dword [ebp - 0x110]
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x110]
mov eax, dword [eax + 0x10]
mov byte [eax + ebx], 0
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 0x10]
mov byte [eax + ebx + 1], 0
mov eax, dword [ebp - 0xc8]
and eax, 1
mov ax, word [eax + eax + 0x61ea11a0]
mov word [edi + 8], ax
jmp 0x61e5af8b
mov al, byte [ebp - 0x125]
mov edi, dword [ebp - 0x110]
mov byte [edi + 0xa], al
mov eax, dword [ebp - 0xf4]
mov ax, word [eax + 2]
test al, 0xc0
je 0x61e5aed7
mov ecx, dword [ebp - 0xc8]
cmp ecx, 0xb
jbe 0x61e5aed3
and cl, 1
je 0x61e5aee8
test al, 0x80
jne 0x61e5aee8
mov eax, dword [ebp - 0xc8]
call sym._sqlite3VdbeSerialTypeLen
test eax, eax
mov ecx, eax
jne 0x61e5af03
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0xc8]
mov eax, 0x61eaa030
call sym._sqlite3VdbeSerialGet
jmp 0x61e5af8b
mov eax, dword [ebp - 0x120]
mov edi, dword [ebp - 0x110]
mov edx, dword [eax + esi - 4]
mov eax, dword [ebx + 0x28]
mov dword [esp], edi
call sym._sqlite3VdbeMemFromBtree
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e60962
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0xc8]
mov eax, dword [eax + 0x10]
call sym._sqlite3VdbeSerialGet
mov eax, dword [ebp - 0x110]
and word [eax + 8], 0xefff
jmp 0x61e5af8b
mov eax, dword [ebp - 0x108]
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x61e5af76
imul eax, eax, 0x14
mov edi, dword [ebp - 0x108]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0xf4], eax
jmp 0x61e5af8b
mov eax, 0x14d8a
call sym._sqlite3CorruptError
mov dword [ebp - 0x100], eax
jmp 0x61e60962
mov dword [ebp - 0x100], 0
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
mov esi, dword [eax + 0x10]
add ebx, dword [ebp - 0x104]
inc esi
movsx edx, byte [esi - 1]
mov ecx, dword [ebp - 0x114]
mov eax, ebx
add ebx, 0x28
call sym._applyAffinity
cmp byte [esi], 0
jne 0x61e5afad
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov ebx, dword [eax + 0x10]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x110]
imul eax, dword [eax + 8], 0x28
lea eax, [edi + eax - 0x28]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0xe8]
movzx eax, byte [eax + 0x8f]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
test ebx, ebx
mov dword [ebp - 0x130], eax
mov eax, edi
jne 0x61e5b068
mov esi, dword [ebp - 0x158]
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
jmp 0x61e5b09a
inc ebx
movsx edx, byte [ebx - 1]
mov ecx, dword [ebp - 0x114]
lea esi, [eax + 0x28]
call sym._applyAffinity
mov eax, esi
cmp byte [ebx], 0
jmp 0x61e5b02c
add dword [ebp - 0x120], ecx
cmp esi, dword [ebp - 0x110]
mov dword [esi + 0x1c], ebx
je 0x61e5b1e8
sub esi, 0x28
mov dx, word [esi + 8]
test dl, 1
jne 0x61e5b133
test dl, 4
je 0x61e5b116
mov ecx, dword [esi + 4]
mov edi, dword [esi]
test ecx, ecx
mov ebx, edi
mov eax, ecx
jns 0x61e5b0bf
mov eax, ecx
not ebx
not eax
cmp eax, 0
ja 0x61e5b0fd
cmp ebx, 0x7f
ja 0x61e5b0e5
mov eax, edi
and eax, 0xfffffffe
or eax, ecx
jne 0x61e5b139
cmp dword [ebp - 0x150], 3
jle 0x61e5b139
add ebx, 8
xor edi, edi
jmp 0x61e5b173
cmp ebx, 0x7fff
jbe 0x61e5b145
cmp ebx, 0x7fffff
jbe 0x61e5b151
cmp ebx, 0x7fffffff
jbe 0x61e5b15d
cmp eax, 0x8000
sbb edi, edi
and edi, 0xfffffffe
add edi, 8
cmp eax, 0x8000
sbb ebx, ebx
add ebx, 6
jmp 0x61e5b173
test dl, 8
jne 0x61e5b169
test dh, 0x40
mov edi, dword [esi + 0xc]
je 0x61e5b125
add edi, dword [esi]
mov eax, edx
shr ax, 1
and eax, 1
lea ebx, [eax + edi*2 + 0xc]
jmp 0x61e5b173
xor edi, edi
xor ebx, ebx
jmp 0x61e5b173
mov edi, 1
mov ebx, 1
jmp 0x61e5b173
mov edi, 2
mov ebx, 2
jmp 0x61e5b173
mov edi, 3
mov ebx, 3
jmp 0x61e5b173
mov edi, 4
mov ebx, 4
jmp 0x61e5b173
mov edi, 8
mov ebx, 7
and dh, 0x40
je 0x61e5b1b4
test ebx, ebx
je 0x61e5b1af
mov eax, dword [ebp - 0x13c]
or eax, dword [ebp - 0x140]
je 0x61e5b19a
mov eax, esi
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
je 0x61e5b1b4
jmp 0x61e60ab6
mov ecx, dword [esi]
mov eax, ecx
cdq
add dword [ebp - 0x138], ecx
adc dword [ebp - 0x134], edx
sub edi, ecx
jmp 0x61e5b1b4
mov ebx, 0xa
xor edx, edx
add dword [ebp - 0x140], edi
mov ecx, 1
adc dword [ebp - 0x13c], edx
cmp ebx, 0x7f
jbe 0x61e5b082
mov eax, ebx
xor edx, edx
shrd eax, edx, 7
shr edx, 7
mov edi, edx
or edi, eax
je 0x61e5b082
inc ecx
jmp 0x61e5b1d4
cmp dword [ebp - 0x120], 0x7e
mov eax, dword [ebp - 0x120]
jg 0x61e5b200
inc eax
mov dword [ebp - 0x120], eax
jmp 0x61e5b247
cdq
mov ecx, 1
shrd eax, edx, 7
shr edx, 7
mov edi, edx
or edi, eax
je 0x61e5b216
inc ecx
jmp 0x61e5b206
mov eax, dword [ebp - 0x120]
mov ebx, 1
add eax, ecx
mov dword [ebp - 0x120], eax
cdq
shrd eax, edx, 7
shr edx, 7
mov edi, edx
or edi, eax
je 0x61e5b23a
inc ebx
jmp 0x61e5b22a
xor eax, eax
cmp ecx, ebx
setl al
add dword [ebp - 0x120], eax
mov esi, dword [ebp - 0x120]
mov edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0xf8]
mov edi, esi
mov dword [ebp - 0x150], esi
sar edi, 0x1f
add edx, esi
mov esi, dword [ebp - 0x138]
adc ecx, edi
mov dword [ebp - 0x14c], edi
mov edi, dword [ebp - 0x134]
mov eax, dword [eax + 0x64]
add esi, edx
adc edi, ecx
mov ebx, esi
mov esi, edi
mov edi, eax
mov dword [ebp - 0x140], eax
sar edi, 0x1f
mov dword [ebp - 0x13c], edi
cmp esi, dword [ebp - 0x13c]
jg 0x61e60a74
jl 0x61e5b2b2
cmp ebx, eax
ja 0x61e60a74
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x148], edx
call sym._sqlite3VdbeMemClearAndResize
test eax, eax
jne 0x61e60ab6
mov eax, dword [ebp - 0x130]
cmp dword [ebp - 0x120], 0x7f
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x140], eax
jg 0x61e5b2f9
mov edi, eax
mov al, byte [ebp - 0x120]
mov dword [ebp - 0x150], 1
mov byte [edi], al
jmp 0x61e5b319
mov edx, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x140]
call sym._sqlite3Fts5PutVarint
movzx eax, al
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x110]
mov ebx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x140]
cmp ebx, 0x7f
ja 0x61e5b33a
mov edi, dword [ebp - 0x150]
mov byte [eax + edi], bl
mov al, 1
jmp 0x61e5b349
add eax, dword [ebp - 0x150]
mov edx, ebx
xor ecx, ecx
call sym._sqlite3Fts5PutVarint
movzx eax, al
add dword [ebp - 0x150], eax
lea eax, [ebx - 1]
mov edx, dword [ebp - 0x140]
add edx, dword [ebp - 0x120]
cmp eax, 6
ja 0x61e5b38d
movzx ecx, byte [ebx + 0x61ea8a80]
mov eax, dword [ebp - 0x110]
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov eax, ecx
dec eax
mov ebx, esi
shrd esi, edi, 8
shr edi, 8
test eax, eax
mov byte [edx + eax], bl
jne 0x61e5b37a
jmp 0x61e5b3b2
xor ecx, ecx
cmp ebx, 0xb
jbe 0x61e5b3b2
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x61e5b3b2
mov edi, dword [ebp - 0x110]
mov ecx, eax
mov esi, dword [edi + 0x10]
mov edi, edx
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
add dword [ebp - 0x110], 0x28
add dword [ebp - 0x120], ecx
mov edi, dword [ebp - 0x110]
cmp dword [ebp - 0x158], edi
jae 0x61e5b319
mov eax, dword [ebp - 0x130]
mov edi, dword [ebp - 0x148]
mov word [eax + 8], 0x10
mov dword [eax + 0xc], edi
mov eax, dword [ebp - 0x134]
or eax, dword [ebp - 0x138]
je case.0x61e590ba.86
mov eax, dword [ebp - 0x130]
mov edi, dword [ebp - 0x138]
mov word [eax + 8], 0x4010
mov dword [eax], edi
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
xor esi, esi
xor edi, edi
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
mov ebx, dword [eax + 0x28]
mov eax, ebx
call sym._moveToRoot
cmp eax, 0x10
mov dword [ebp - 0x100], eax
je 0x61e5b4f7
cmp dword [ebp - 0x100], 0
jne 0x61e60962
mov ecx, dword [ebx + 0x74]
mov al, byte [ecx + 8]
test al, al
mov byte [ebp - 0x100], al
jne 0x61e5b466
cmp byte [ecx + 2], 0
jne 0x61e5b4ac
movzx eax, word [ecx + 0x16]
xor edx, edx
add esi, eax
adc edi, edx
cmp byte [ebp - 0x100], 0
je 0x61e5b4ac
cmp byte [ebx + 0x44], 0
mov eax, ebx
jne 0x61e5b495
call sym._moveToRoot
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e5b4f7
jmp 0x61e60962
call sym._moveToParent
mov ecx, dword [ebx + 0x74]
mov ax, word [ebx + 0x46]
cmp ax, word [ecx + 0x16]
jae 0x61e5b479
inc eax
mov word [ebx + 0x46], ax
movzx edx, word [ecx + 0x16]
movzx eax, word [ebx + 0x46]
cmp eax, edx
mov edx, dword [ecx + 0x38]
mov dword [ebp - 0x100], edx
jne 0x61e5b4cb
movzx eax, byte [ecx + 9]
mov edx, dword [edx + eax + 8]
jmp 0x61e5b4e3
mov edx, dword [ecx + 0x40]
movzx eax, word [edx + eax*2]
xchg al, ah
and eax, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x100]
movzx eax, ax
mov edx, dword [ecx + eax]
bswap edx
mov eax, ebx
call sym._moveToChild
mov dword [ebp - 0x100], eax
jmp 0x61e5b443
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov dword [ebp - 0x100], 0
mov dword [eax], esi
mov dword [eax + 4], edi
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 0x10]
mov eax, dword [ebp - 0xf8]
jne 0x61e5b62f
cmp dword [eax + 0xac], 0
jle 0x61e5b57b
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], str.cannot_open_savepoint___SQL_statements_in_progress
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x100], 5
jmp 0x61e60962
mov eax, esi
call sym._sqlite3Strlen30
mov ebx, eax
mov eax, dword [ebp - 0xf8]
xor edx, edx
mov ecx, dword [eax + 0x1bc]
add ecx, dword [eax + 0x1c0]
call sym._sqlite3VtabSavepoint
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e60962
mov eax, dword [ebp - 0xf8]
lea edx, [ebx + 0x21]
xor ecx, ecx
call sym._sqlite3DbMallocRawNN
test eax, eax
je 0x61e60e47
lea edx, [eax + 0x20]
lea ecx, [ebx + 1]
mov dword [eax], edx
mov edi, edx
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xf8]
cmp byte [edi + 0x47], 0
je 0x61e5b5e5
mov byte [edi + 0x47], 0
mov byte [edi + 0x4f], 1
jmp 0x61e5b5f1
mov edi, dword [ebp - 0xf8]
inc dword [edi + 0x1bc]
mov edi, dword [ebp - 0xf8]
mov edx, dword [edi + 0x1b4]
mov ecx, dword [edi + 0x1c8]
mov ebx, dword [edi + 0x1cc]
mov dword [eax + 0x18], edx
mov dword [edi + 0x1b4], eax
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov ecx, dword [edi + 0x1d0]
mov ebx, dword [edi + 0x1d4]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ebx
jmp 0x61e60e47
mov ebx, dword [eax + 0x1b4]
mov dword [ebp - 0x120], 0
test ebx, ebx
je 0x61e60e1e
mov eax, dword [ebx]
mov edx, esi
call sym._sqlite3StrICmp
test eax, eax
je 0x61e60b58
inc dword [ebp - 0x120]
mov ebx, dword [ebx + 0x18]
jmp 0x61e5b63f
mov eax, dword [ebp - 0xf4]
mov ebx, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xf8]
movzx eax, byte [eax + 0x47]
cmp ebx, eax
je 0x61e5b782
test edx, edx
je 0x61e5b6a1
mov eax, dword [ebp - 0xf8]
mov edx, 0x204
call sym._sqlite3RollbackAll
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x47], 1
jmp 0x61e5b700
test ebx, ebx
je 0x61e5b6d9
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0xac], 0
jle 0x61e5b6d9
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], str.cannot_commit_transaction___SQL_statements_in_progress
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x100], 5
jmp 0x61e60962
mov eax, dword [ebp - 0xe8]
mov edx, 1
call sym._sqlite3VdbeCheckFk
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e610a6
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x47], bl
mov eax, dword [ebp - 0xe8]
call sym._sqlite3VdbeHalt
cmp eax, 5
jne 0x61e5b753
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0x108]
mov esi, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf8]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [esi + 0x24], eax
mov al, 1
sub eax, ebx
mov byte [edi + 0x47], al
mov eax, esi
mov dword [eax + 0x28], 5
mov dword [ebp - 0x100], 5
jmp 0x61e610a6
mov eax, dword [ebp - 0xf8]
call sym._sqlite3CloseSavepoints
mov eax, dword [ebp - 0xe8]
cmp dword [eax + 0x28], 1
sbb eax, eax
mov dword [ebp - 0x100], eax
and dword [ebp - 0x100], 0x64
inc dword [ebp - 0x100]
jmp 0x61e610a6
test ebx, ebx
mov eax, str.cannot_start_a_transaction_within_a_transaction
je 0x61e5b79a
test edx, edx
mov eax, str.cannot_rollback___no_transaction_is_active
mov edx, str.cannot_commit___no_transaction_is_active
cmove eax, edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x100], 1
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x80], 0
mov edx, dword [eax + 8]
test edx, edx
je 0x61e5b7df
mov eax, dword [ebp - 0xf8]
test byte [eax + 0x1e], 0x10
jne 0x61e5ba3a
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x61e5b955
lea ecx, [ebp - 0x80]
mov eax, ebx
call sym._sqlite3BtreeBeginTrans
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e5b852
cmp byte [ebp - 0x100], 5
jne 0x61e60962
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0x108]
mov esi, dword [ebp - 0xe8]
mov edi, dword [ebp - 0x100]
sar eax, 2
mov dword [esi + 0x28], edi
imul eax, eax, 0xcccccccd
mov dword [esi + 0x24], eax
jmp 0x61e610a6
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 8], 0
je 0x61e5b955
mov eax, dword [ebp - 0xe8]
cmp byte [eax + 0x94], 0
jns 0x61e5b955
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x47], 0
je 0x61e5b88e
cmp dword [eax + 0xa8], 1
jle 0x61e5b955
mov eax, dword [ebp - 0xe8]
cmp dword [eax + 0x30], 0
jne 0x61e5b8c8
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf8]
mov eax, dword [eax + 0x1c0]
mov dword [ebp - 0x100], eax
inc eax
mov dword [esi + 0x1c0], eax
add eax, dword [esi + 0x1bc]
mov esi, dword [ebp - 0xe8]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0xe8]
xor edx, edx
mov eax, dword [eax + 0x30]
lea ecx, [eax - 1]
mov eax, dword [ebp - 0xf8]
call sym._sqlite3VtabSavepoint
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5b91f
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebx + 4]
mov esi, dword [eax + 0x30]
mov eax, ebx
call sym._sqlite3BtreeEnter
mov eax, dword [edi]
cmp esi, dword [eax + 0x60]
jle 0x61e5b918
cmp byte [eax + 6], 0
je 0x61e5b918
mov edx, esi
call sym._pagerOpenSavepoint
mov dword [ebp - 0x100], eax
mov eax, ebx
call sym._sqlite3BtreeLeave
mov eax, dword [ebp - 0xf8]
mov edi, dword [ebp - 0xe8]
mov edx, dword [eax + 0x1cc]
mov eax, dword [eax + 0x1c8]
mov dword [edi + 0x48], eax
mov eax, dword [ebp - 0xf8]
mov dword [edi + 0x4c], edx
mov edx, dword [eax + 0x1d4]
mov eax, dword [eax + 0x1d0]
mov dword [edi + 0x54], edx
mov dword [edi + 0x50], eax
mov eax, dword [ebp - 0xf4]
cmp word [eax + 2], 0
je 0x61e5ba28
mov edi, dword [ebp - 0x80]
cmp dword [eax + 0xc], edi
je 0x61e5b9c9
mov eax, dword [ebp - 0xe8]
mov edx, dword [eax + 0x6c]
mov eax, dword [ebp - 0xf8]
call sym._sqlite3DbFree
mov eax, dword [ebp - 0xf8]
mov edx, str.database_schema_has_changed
call sym._sqlite3DbStrDup
mov esi, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf8]
mov dword [esi + 0x6c], eax
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0x80]
mov edx, dword [eax + 4]
mov eax, edx
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 0xc]
cmp dword [eax], esi
je 0x61e5b9fb
mov eax, dword [ebp - 0xf8]
call sym._sqlite3ResetOneSchema
jmp 0x61e5b9fb
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov edi, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
cmp dword [eax + 4], edi
jne 0x61e5b96e
jmp 0x61e5ba28
mov eax, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xe8]
mov dword [ebp - 0x100], 0x11
mov al, byte [eax + 0x94]
and eax, 0xfffffffc
or eax, 1
mov byte [esi + 0x94], al
jmp 0x61e60962
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
jmp 0x61e60962
mov dword [ebp - 0x100], 8
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf8]
lea ecx, [ebp - 0x80]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 4]
call sym._sqlite3BtreeGetMeta
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov edx, dword [ebp - 0x80]
mov dword [eax], edx
sar edx, 0x1f
mov dword [eax + 4], edx
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
mov ebx, eax
mov eax, dword [ebp - 0xf8]
shl ebx, 4
add ebx, dword [eax + 0x10]
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov eax, dword [ebx + 4]
call sym._sqlite3BtreeUpdateMeta
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x61e5baf8
mov esi, dword [ebp - 0xf4]
mov eax, dword [ebx + 0xc]
mov edx, dword [esi + 0xc]
mov dword [eax], edx
mov eax, dword [ebp - 0xf8]
or dword [eax + 0x18], 1
jmp 0x61e5bb0c
cmp eax, 2
jne 0x61e5bb0c
mov edi, dword [ebp - 0xf4]
mov eax, dword [ebx + 0xc]
mov edx, dword [edi + 0xc]
mov byte [eax + 0x4c], dl
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 4], 1
jne 0x61e5bb32
mov eax, dword [ebp - 0xf8]
xor edx, edx
call sym._sqlite3ExpirePreparedStatements
mov eax, dword [ebp - 0xe8]
and byte [eax + 0x94], 0xfc
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov esi, dword [eax + edx*4]
test esi, esi
je case.0x61e590ba.109
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 8]
cmp dword [esi + 0x34], eax
je 0x61e5bcaa
mov eax, dword [ebp - 0xe8]
mov al, byte [eax + 0x94]
mov byte [ebp - 0x100], al
and eax, 3
dec al
je 0x61e60934
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0x100], 0
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 8]
mov eax, esi
shl eax, 4
add eax, dword [ecx + 0x10]
cmp bl, 0x6e
mov ecx, dword [eax + 4]
mov dword [ebp - 0x110], ecx
jne 0x61e5bbf3
mov ecx, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
mov cx, word [ecx + 2]
mov al, byte [eax + 0x4c]
mov edx, ecx
and edx, 8
or edx, 4
movzx ecx, dx
mov dword [ebp - 0x100], ecx
mov ecx, dword [ebp - 0xe8]
cmp al, byte [ecx + 0x8f]
jae 0x61e5bbf3
mov byte [ecx + 0x8f], al
mov eax, dword [ebp - 0xf4]
test byte [eax + 2], 0x10
je 0x61e5bc11
imul edi, edi, 0x28
add edi, dword [ebp - 0x104]
mov eax, edi
call sym._sqlite3VdbeMemIntegerify
mov edi, dword [edi]
mov eax, dword [ebp - 0xf4]
mov al, byte [eax + 1]
cmp al, 0xf7
jne 0x61e5bc2d
mov eax, dword [ebp - 0xf4]
mov ebx, dword [eax + 0x10]
movzx ecx, word [ebx + 8]
jmp 0x61e5bc42
cmp al, 0xfd
jne 0x61e5bc3e
mov eax, dword [ebp - 0xf4]
xor ebx, ebx
mov ecx, dword [eax + 0x10]
jmp 0x61e5bc42
xor ebx, ebx
xor ecx, ecx
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov dword [esp], esi
mov dword [esp + 4], 0
call sym._allocateCursor
test eax, eax
mov esi, eax
je 0x61e60ab6
or byte [eax + 8], 4
mov byte [eax + 2], 1
mov edx, edi
mov dword [eax + 0x34], edi
mov eax, dword [eax + 0x28]
mov ecx, dword [ebp - 0x100]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x110]
call sym._sqlite3BtreeCursor
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf4]
mov dword [esi + 0x2c], ebx
cmp byte [eax + 1], 0xf7
setne byte [esi + 4]
mov eax, dword [ebp - 0xf4]
mov edx, dword [esi + 0x28]
mov ax, word [eax + 2]
mov word [ebp - 0x110], ax
and eax, 3
cmp dword [ebp - 0x100], 0
mov byte [edx + 3], al
je case.0x61e590ba.86
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0xf4]
movsx ecx, word [ebx + 0x38]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
call sym._allocateCursor
test eax, eax
mov edx, eax
je 0x61e60ab6
mov byte [eax + 2], 1
mov ecx, dword [ebx + 0x2c]
or byte [eax + 8], 1
mov dword [eax + 0x2c], ecx
mov al, byte [ebx + 4]
mov byte [edx + 4], al
mov edx, dword [edx + 0x28]
mov eax, dword [ebx + 0xc]
mov dword [esp], ecx
mov ecx, 4
mov dword [esp + 4], edx
mov edx, 1
call sym._sqlite3BtreeCursor
mov dword [ebp - 0x100], eax
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0
mov dword [esp], 0xffffffff
call sym._allocateCursor
test eax, eax
mov ebx, eax
je 0x61e60ab6
mov byte [eax + 2], 1
or byte [eax + 8], 1
xor edx, edx
mov eax, dword [ebp - 0xf4]
mov dword [esp + 8], 0x41e
mov ecx, dword [ebp - 0xf8]
mov ax, word [eax + 2]
mov word [ebp - 0x100], ax
or eax, 5
movzx eax, ax
mov dword [esp + 4], eax
lea eax, [ebx + 0xc]
mov dword [esp], eax
mov eax, dword [ecx]
call sym._sqlite3BtreeOpen
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e60962
mov eax, dword [ebx + 0xc]
xor ecx, ecx
mov edx, 1
call sym._sqlite3BtreeBeginTrans
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e60962
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 0x10]
mov eax, dword [ebx + 0xc]
test esi, esi
mov dword [ebx + 0x2c], esi
je 0x61e5be4f
mov edi, dword [ebp - 0xf4]
lea edx, [ebp - 0x80]
mov di, word [edi + 2]
mov ecx, edi
or ecx, 2
movzx ecx, cx
call sym._sqlite3BtreeCreateTable
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5be49
mov edx, dword [ebx + 0x28]
mov eax, dword [ebx + 0xc]
mov ecx, 4
mov dword [esp], esi
mov dword [esp + 4], edx
mov edx, dword [ebp - 0x80]
call sym._sqlite3BtreeCursor
mov dword [ebp - 0x100], eax
mov byte [ebx + 4], 0
jmp 0x61e5be76
mov edx, dword [ebx + 0x28]
mov ecx, 4
mov dword [esp], 0
mov dword [esp + 4], edx
mov edx, 1
call sym._sqlite3BtreeCursor
mov byte [ebx + 4], 1
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
jne 0x61e60962
mov eax, dword [ebp - 0xf4]
mov dl, byte [ebx + 8]
cmp word [eax + 2], 8
setne al
and edx, 0xfffffffb
shl eax, 2
or eax, edx
mov byte [ebx + 8], al
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 1
mov dword [esp], 0xffffffff
call sym._allocateCursor
test eax, eax
mov esi, eax
je 0x61e60ab6
mov edi, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x100], 0
mov edi, dword [edi + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x120], edi
mov edi, dword [ebp - 0xf8]
mov dword [esi + 0x2c], eax
cmp byte [edi + 0x48], 2
je 0x61e5bf1a
cmp dword [0x61e97a64], 0
je 0x61e5bf1a
mov edi, dword [edi + 0x90]
mov dword [ebp - 0x100], edi
imul edi, dword [ebp - 0x100], 0x48
movzx eax, word [eax + 6]
lea eax, [eax*4 + 0x14]
add edi, 0x88
lea edx, [eax + edi]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0xf8]
mov ecx, edx
sar ecx, 0x1f
call sym._sqlite3DbMallocZero
test eax, eax
mov ebx, eax
mov dword [esi + 0x28], eax
je 0x61e60940
cmp dword [ebp - 0x120], 0
lea eax, [eax + edi]
mov esi, dword [esi + 0x2c]
mov ecx, dword [ebp - 0x130]
mov dword [ebx + 0x1c], eax
mov edi, eax
mov dword [ebp - 0x110], eax
rep movsb byte es:[edi], byte [esi]
mov dword [eax + 0xc], 0
je 0x61e5bf94
cmp dword [ebp - 0x100], 0
jne 0x61e5bf94
mov esi, dword [ebp - 0x120]
mov word [eax + 6], si
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov esi, dword [eax + 0x20]
mov al, byte [ebp - 0x100]
lea edx, [eax + 1]
dec eax
mov dword [ebx + 0xc], esi
mov byte [ebx + 0x3a], al
mov eax, dword [ebp - 0xf8]
cmp dl, 1
mov byte [ebx + 0x3b], dl
movzx edx, dl
seta byte [ebx + 0x39]
mov dword [ebx + 0x18], eax
xor eax, eax
cmp eax, edx
jge 0x61e5bfdc
imul ecx, eax, 0x48
inc eax
mov dword [ebx + ecx + 0x48], ebx
jmp 0x61e5bfce
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x48], 2
jne 0x61e5bff4
mov dword [ebp - 0x100], 0
jmp 0x61e5c071
mov eax, dword [ebp - 0xf8]
mov edi, dword [0x61e97b3c]
mov eax, dword [eax + 0x10]
imul edi, esi
mov eax, dword [eax + 0xc]
mov dword [ebx], edi
mov ecx, dword [eax + 0x50]
mov eax, ecx
sar eax, 0x1f
mov dword [ebp - 0xfc], eax
mov eax, ecx
imul esi
cmp dword [ebp - 0xfc], 0
jns 0x61e5c02d
mov eax, 0xfffffc00
imul ecx
cmp edx, 0
mov ecx, eax
jl 0x61e5c042
jg 0x61e5c03d
cmp eax, 0x20000000
jbe 0x61e5c042
mov ecx, 0x20000000
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
cmp dword [0x61e97a74], 0
mov dword [ebx + 4], eax
jne 0x61e5bfe8
mov eax, esi
mov dword [ebx + 0x34], esi
cdq
call sym._sqlite3Malloc
test eax, eax
mov dword [ebx + 0x28], eax
jne 0x61e5bfe8
mov dword [ebp - 0x100], 7
mov eax, dword [ebp - 0x110]
cmp word [eax + 8], 0xc
ja 0x61e5c094
mov eax, dword [eax + 0x14]
test eax, eax
je 0x61e5c090
mov esi, dword [ebp - 0xf8]
cmp eax, dword [esi + 8]
jne 0x61e5c094
mov byte [ebx + 0x3c], 3
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov esi, dword [eax + edx*4]
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov ecx, eax
mov ebx, edx
add ecx, 1
adc ebx, 0
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], ebx
mov esi, edx
or esi, eax
jmp 0x61e5a9f1
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 3
mov dword [esp], 0xffffffff
call sym._allocateCursor
test eax, eax
je 0x61e60ab6
mov esi, dword [ebp - 0xf4]
mov byte [eax + 2], 1
mov edx, dword [esi + 8]
mov byte [eax + 4], 1
mov dword [eax + 0x28], 0x61eaa02c
mov dword [eax + 0x20], edx
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp - 0xe8]
call sym._sqlite3VdbeFreeCursor.isra.484
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov dword [eax + edx*4], 0
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x110], ecx
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov esi, dword [eax + edx*4]
cmp byte [esi + 4], 0
mov byte [esi + 2], 0
je 0x61e5c279
mov eax, dword [ebp - 0xf4]
imul edi, dword [eax + 0xc], 0x28
add edi, dword [ebp - 0x104]
mov eax, dword [edi + 8]
and eax, 0xe
cmp ax, 2
jne 0x61e5c1c0
xor edx, edx
mov eax, edi
mov dword [ebp - 0x120], ecx
call sym._applyNumericAffinity
mov ecx, dword [ebp - 0x120]
mov eax, edi
mov dword [ebp - 0x130], ecx
call sym._sqlite3VdbeIntValue
mov dword [ebp - 0x120], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x11c], edx
test al, 4
jne 0x61e5c220
test al, 8
je 0x61e591f5
fld qword [edi]
mov ecx, dword [ebp - 0x130]
fild qword [ebp - 0x120]
fucomi st(1)
jbe 0x61e5c209
fstp st(0)
fstp st(0)
lea eax, [ecx - 1]
and bl, 1
cmovne ecx, eax
jmp 0x61e5c21a
fxch st(1)
fucompi st(1)
fstp st(0)
jbe 0x61e5c220
lea eax, [ecx + 1]
and bl, 1
cmove ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x120]
mov ebx, dword [ebp - 0x11c]
lea edx, [ebp - 0xc8]
mov eax, dword [esi + 0x28]
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
xor edx, edx
mov dword [esp], ecx
mov dword [esp + 4], ebx
call sym._sqlite3BtreeMovetoUnpacked
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x11c]
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], edx
je 0x61e5c30a
jmp 0x61e60962
mov eax, dword [esi + 0x28]
mov ecx, dword [ebp - 0xf4]
and ebx, 1
movzx edi, byte [eax + 3]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esi + 0x2c]
mov word [ebp - 0x78], dx
and edi, 2
cmp bl, 1
mov dword [ebp - 0x80], ecx
sbb edx, edx
mov ecx, dword [ebp - 0xf4]
and edx, 2
dec edx
mov byte [ebp - 0x76], dl
imul edx, dword [ecx + 0xc], 0x28
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], 0
mov byte [ebp - 0x72], 0
add edx, dword [ebp - 0x104]
mov dword [ebp - 0x7c], edx
lea edx, [ebp - 0xc8]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x80]
call sym._sqlite3BtreeMovetoUnpacked
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e60962
mov eax, edi
test al, al
je 0x61e5c30a
cmp byte [ebp - 0x72], 0
mov ebx, 1
je 0x61e5c3c1
jmp 0x61e5c30c
xor ebx, ebx
cmp dword [ebp - 0x110], 0x17
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
mov eax, dword [ebp - 0xc8]
jle 0x61e5c362
test eax, eax
js 0x61e5c337
cmp dword [ebp - 0x110], 0x19
jne 0x61e5c356
test eax, eax
jne 0x61e5c356
mov dword [ebp - 0xc8], 0
mov dword [esp + 4], 0
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call sym._sqlite3BtreeNext
jmp 0x61e5c390
mov dword [ebp - 0xc8], 0
jmp 0x61e5c3c1
test eax, eax
jg 0x61e5c373
cmp dword [ebp - 0x110], 0x16
jne 0x61e5c3af
test eax, eax
jne 0x61e5c3af
mov dword [ebp - 0xc8], 0
mov dword [esp + 4], 0
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call sym._sqlite3BtreePrevious
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e5c3c1
cmp eax, 0x65
jne 0x61e60962
mov dword [ebp - 0xc8], 1
jmp 0x61e5c3c1
mov eax, dword [esi + 0x28]
cmp byte [eax], 0
setne al
movzx eax, al
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jne 0x61e6106a
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x100], 0
add eax, 0x14
test ebx, ebx
cmove eax, dword [ebp - 0xf4]
mov dword [ebp - 0xf4], eax
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ecx, dword [eax + edx*4]
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 8]
mov dl, byte [ecx + 8]
mov dword [ebp - 0x110], eax
mov al, byte [ebp - 0x110]
and edx, 0xfffffff7
and eax, 1
shl eax, 3
or eax, edx
mov byte [ecx + 8], al
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
test byte [eax + 8], 8
jne case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0xf4]
imul edi, dword [eax + 0xc], 0x28
mov eax, dword [eax + 0x10]
add edi, dword [ebp - 0x104]
test eax, eax
jle 0x61e5c494
mov edx, dword [ebx + 0x2c]
xor esi, esi
mov word [ebp - 0x78], ax
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edx
lea edx, [ebp - 0x80]
jmp 0x61e5c4d1
test byte [edi + 9], 0x40
jne 0x61e5c4c1
mov eax, dword [ebx + 0x2c]
call sym._sqlite3VdbeAllocUnpackedRecord
test eax, eax
mov esi, eax
je 0x61e60ab6
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov eax, dword [ebx + 0x2c]
mov dword [esp], esi
call sym._sqlite3VdbeRecordUnpack
mov edx, esi
jmp 0x61e5c4d1
mov eax, edi
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
je 0x61e5c49a
jmp 0x61e60ab6
mov eax, dword [ebp - 0xf4]
mov byte [edx + 0xa], 0
xor edi, edi
cmp byte [eax], 0x1b
jne 0x61e5c504
movzx edi, word [edx + 8]
xor eax, eax
cmp eax, edi
jge 0x61e5c4fb
imul ecx, eax, 0x28
add ecx, dword [edx + 4]
test byte [ecx + 8], 1
jne 0x61e5c4ff
inc eax
jmp 0x61e5c4e8
xor edi, edi
jmp 0x61e5c504
mov edi, 1
mov eax, dword [ebx + 0x28]
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 0xc], ecx
call sym._sqlite3BtreeMovetoUnpacked
test esi, esi
mov dword [ebp - 0x100], eax
je 0x61e5c544
mov eax, dword [ebp - 0xf8]
mov edx, esi
call sym._sqlite3DbFreeNN
cmp dword [ebp - 0x100], 0
jne 0x61e60962
mov eax, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xf4]
mov byte [ebx + 3], 0
mov dword [ebx + 0x1c], 0
test eax, eax
mov dword [ebx + 0x20], eax
setne byte [ebx + 2]
cmp byte [esi], 0x1d
jne 0x61e5c57d
test eax, eax
jmp 0x61e5a9f1
test eax, eax
jne 0x61e591f5
test edi, edi
jmp 0x61e5a4a8
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 0xc], 0x28
add ebx, dword [ebp - 0x104]
mov esi, dword [ebx + 8]
test si, 4
jne case.0x61e590ba.31
mov ecx, dword [ebp - 0x114]
mov eax, ebx
mov edx, 0x43
call sym._applyAffinity
mov eax, dword [ebx + 8]
mov word [ebx + 8], si
test al, 4
je 0x61e591f5
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0x104]
imul edx, dword [eax + 0xc], 0x28
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x80], 0
mov edi, dword [esi + edx + 4]
mov esi, dword [esi + edx]
lea edx, [ebp - 0x80]
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
xor edx, edx
mov dword [esp], esi
mov dword [esp + 4], edi
call sym._sqlite3BtreeMovetoUnpacked
mov byte [ebx + 2], 0
mov dword [ebp - 0x100], eax
mov dword [ebx + 0x1c], 0
mov byte [ebx + 3], 0
mov eax, dword [ebp - 0x80]
mov dword [ebx + 0x40], esi
mov dword [ebx + 0x44], edi
test eax, eax
mov dword [ebx + 0x20], eax
je 0x61e5c659
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 8], 0
jne 0x61e591f5
mov eax, 0x153e7
call sym._sqlite3CorruptError
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov esi, dword [ebp - 0xf4]
mov ecx, dword [esi + 4]
mov esi, dword [ebp - 0xe8]
mov edx, dword [esi + 0x70]
mov edx, dword [edx + ecx*4]
mov ecx, dword [edx + 0x10]
mov ebx, dword [edx + 0x14]
mov esi, ecx
mov edi, ebx
add esi, 1
adc edi, 0
mov dword [edx + 0x10], esi
mov dword [edx + 0x14], edi
mov dword [eax], ecx
mov dword [eax + 4], ebx
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
test byte [ebx + 8], 2
jne 0x61e5c771
mov eax, dword [ebx + 0x28]
lea edx, [ebp - 0xc8]
call sym._sqlite3BtreeLast
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e60962
cmp dword [ebp - 0xc8], 0
je 0x61e5c73c
mov dword [ebp - 0x80], 1
mov dword [ebp - 0x7c], 0
jmp 0x61e5c771
mov esi, dword [ebx + 0x28]
mov eax, esi
call sym._getCellInfo
mov edx, dword [esi + 0x24]
mov eax, dword [esi + 0x20]
cmp edx, 0x7fffffff
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
jne 0x61e5c765
cmp eax, 0xffffffff
jne 0x61e5c765
or byte [ebx + 8], 2
jmp 0x61e5c771
add eax, 1
adc edx, 0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 0xc]
test esi, esi
je 0x61e5c7fb
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xc4]
test eax, eax
je 0x61e5c7a1
mov edx, dword [eax + 4]
test edx, edx
je 0x61e5c799
mov eax, edx
jmp 0x61e5c78e
imul esi, esi, 0x28
add esi, dword [eax + 0x10]
jmp 0x61e5c7aa
imul esi, esi, 0x28
add esi, dword [ebp - 0x104]
mov eax, esi
call sym._sqlite3VdbeMemIntegerify
mov edx, dword [esi + 4]
mov eax, dword [esi]
cmp edx, 0x7fffffff
jne 0x61e5c7d2
cmp eax, 0xffffffff
jne 0x61e5c7d2
mov dword [ebp - 0x100], 0xd
jmp 0x61e60962
test byte [ebx + 8], 2
jne 0x61e5c7c3
cmp edx, dword [ebp - 0x7c]
jl 0x61e5c7f0
jg 0x61e5c7e4
cmp eax, dword [ebp - 0x80]
jb 0x61e5c7f0
add eax, 1
adc edx, 0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov dword [esi], eax
mov dword [esi + 4], edx
test byte [ebx + 8], 2
je 0x61e5c898
lea edi, [ebp - 0x80]
lea esi, [ebp - 0xc8]
mov dword [ebp - 0x110], 0x64
mov dword [esp + 4], edi
mov dword [esp], 8
call sym.sqlite3.dll_sqlite3_randomness
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x160]
and eax, 0x3fffffff
mov dword [ebp - 0x15c], eax
mov ecx, dword [ebp - 0x15c]
add edx, 1
mov dword [ebp - 0x80], edx
adc ecx, 0
mov dword [ebp - 0x7c], ecx
mov eax, dword [ebx + 0x28]
mov dword [esp], edx
mov dword [esp + 0xc], esi
xor edx, edx
mov dword [esp + 8], 0
mov dword [esp + 4], ecx
call sym._sqlite3BtreeMovetoUnpacked
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e60962
cmp dword [ebp - 0xc8], 0
jne 0x61e5c898
dec dword [ebp - 0x110]
jne 0x61e5c818
jmp 0x61e5c7c3
mov byte [ebx + 3], 0
mov esi, dword [ebp - 0x120]
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov dword [ebx + 0x1c], 0
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0x104]
cmp bl, 0x7a
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov edx, dword [eax + 0x70]
mov eax, dword [ebp - 0xf4]
mov esi, dword [edx + ecx*4]
mov edx, dword [eax + 0xc]
jne 0x61e5c90a
imul edx, edx, 0x28
mov eax, dword [ebp - 0x104]
mov ecx, dword [eax + edx]
mov ebx, dword [eax + edx + 4]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], ebx
jmp 0x61e5c913
mov dword [ebp - 0x78], edx
sar edx, 0x1f
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0xf4]
cmp byte [eax + 1], 0xfa
jne 0x61e5c94b
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0xe4], 0
je 0x61e5c94b
movsx edx, byte [esi + 1]
shl edx, 4
add edx, dword [eax + 0x10]
mov eax, dword [edx]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
mov ebx, dword [eax + 0x10]
jmp 0x61e5c957
xor ebx, ebx
mov dword [ebp - 0x110], 0
mov eax, dword [ebp - 0xf4]
mov cx, word [eax + 2]
test cl, 1
je 0x61e5c96f
mov eax, dword [ebp - 0xe8]
inc dword [eax + 0x2c]
test cl, 0x20
je 0x61e5c986
mov edi, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], edx
mov eax, dword [ebp - 0x100]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x70], edx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x64], edx
xor edx, edx
test cl, 0x10
je 0x61e5c9a2
mov edx, dword [esi + 0x20]
mov eax, dword [ebp - 0x100]
test byte [eax + 9], 0x40
je 0x61e5c9b5
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
jmp 0x61e5c9bc
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x80], 0
mov eax, dword [esi + 0x28]
and ecx, 0xa
mov dword [esp], edx
lea edx, [ebp - 0x80]
call sym._sqlite3BtreeInsert
test eax, eax
mov dword [ebp - 0x100], eax
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
jne 0x61e60962
test ebx, ebx
je case.0x61e590ba.86
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebx]
mov esi, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x110]
mov edx, dword [eax + 0xe4]
mov eax, dword [ebp - 0xf4]
mov ax, word [eax + 2]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov word [ebp - 0x120], ax
and eax, 4
cmp ax, 1
sbb eax, eax
and eax, 0xfffffffb
add eax, 0x17
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xe0]
mov dword [esp], eax
call edx
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0xf4]
cmp byte [eax + 1], 0xfa
jne 0x61e5cae3
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0xe4], 0
je 0x61e5cae3
movsx eax, byte [ebx + 1]
mov edi, dword [ebp - 0xf8]
shl eax, 4
add eax, dword [edi + 0x10]
mov edi, dword [eax]
mov eax, dword [ebp - 0xf4]
test byte [eax + 2], 2
mov esi, dword [eax + 0x10]
je 0x61e5cae7
cmp byte [ebx + 4], 0
je 0x61e5cae7
mov edx, dword [ebx + 0x28]
mov eax, edx
mov dword [ebp - 0x100], edx
call sym._getCellInfo
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], edx
jmp 0x61e5cae7
xor esi, esi
xor edi, edi
mov eax, dword [ebp - 0xf4]
movzx edx, byte [eax + 2]
mov eax, dword [ebx + 0x28]
call sym._sqlite3BtreeDelete
test eax, eax
mov dword [ebp - 0x100], eax
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
jne 0x61e60962
test byte [ebp - 0x110], 1
je case.0x61e590ba.86
mov eax, dword [ebp - 0xe8]
inc dword [eax + 0x2c]
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xe4]
test eax, eax
je case.0x61e590ba.86
test byte [esi + 0x24], 0x20
jne case.0x61e590ba.86
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 esi, dword [ebp - 0xf8]
mov dword [esp + 8], edi
mov dword [esp + 4], 9
mov dword [esp + 0xc], edx
mov edx, dword [esi + 0xe0]
mov dword [esp], edx
call eax
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf8]
mov eax, dword [eax + 0x2c]
add dword [edi + 0x60], eax
mov dword [edi + 0x5c], eax
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x2c], 0
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov esi, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x100], esi
mov eax, dword [eax + edx*4]
mov edx, dword [eax + 0x28]
mov esi, dword [eax + 0x2c]
mov ebx, dword [edx + 0x20]
test ebx, ebx
jne 0x61e5cbfe
mov eax, esi
mov dword [ebp - 0x110], edx
call sym._sqlite3VdbeAllocUnpackedRecord
mov edx, dword [ebp - 0x110]
test eax, eax
mov ebx, eax
mov dword [edx + 0x20], eax
je 0x61e6094c
mov word [eax + 8], di
cmp byte [edx + 0x38], 0
je 0x61e5cc24
cmp byte [edx + 0x39], 0
je 0x61e5cc0f
mov eax, dword [edx + 0x10]
jmp 0x61e5cc1c
mov edx, dword [edx + 0x14]
mov eax, dword [edx + 8]
imul eax, dword [eax + 4], 0x38
add eax, dword [edx + 0xc]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x20]
jmp 0x61e5cc2c
mov ecx, dword [edx + 0x24]
mov edx, dword [ecx]
add ecx, 8
mov eax, esi
mov dword [esp], ebx
call sym._sqlite3VdbeRecordUnpack
xor eax, eax
cmp edi, eax
jle 0x61e5cc4f
imul edx, eax, 0x28
add edx, dword [ebx + 4]
test byte [edx + 8], 1
jne 0x61e6106a
inc eax
jmp 0x61e5cc38
imul eax, dword [ebp - 0x100], 0x28
mov dword [esp + 8], ebx
add eax, dword [ebp - 0x104]
mov edx, dword [eax + 0x10]
mov dword [esp + 4], edx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sym._sqlite3VdbeRecordCompare
test eax, eax
jne 0x61e6106a
mov dword [ebp - 0x100], 0
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
imul edi, dword [eax + 8], 0x28
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
add edi, dword [ebp - 0x104]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
mov eax, dword [eax + 0x28]
cmp byte [eax + 0x38], 0
je 0x61e5ccd1
cmp byte [eax + 0x39], 0
je 0x61e5ccbc
mov eax, dword [eax + 0x10]
jmp 0x61e5ccc9
mov edx, dword [eax + 0x14]
mov eax, dword [edx + 8]
imul eax, dword [eax + 4], 0x38
add eax, dword [edx + 0xc]
mov ebx, dword [eax + 0x14]
mov esi, dword [eax + 0x20]
jmp 0x61e5ccd9
mov esi, dword [eax + 0x24]
mov ebx, dword [esi]
add esi, 8
mov edx, ebx
mov eax, edi
call sym._sqlite3VdbeMemClearAndResize
test eax, eax
jne 0x61e60958
mov eax, dword [edi + 8]
mov dword [edi + 0xc], ebx
mov ecx, ebx
mov dword [ebp - 0x100], 0
and ax, 0x3e00
or eax, 0x10
mov word [edi + 8], ax
mov eax, dword [edi + 0x10]
mov edi, eax
mov eax, dword [ebp - 0xf4]
rep movsb byte es:[edi], byte [esi]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
mov dword [eax + 0x1c], 0
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov ebx, eax
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
mov esi, dword [eax + 0x28]
mov eax, esi
call sym._getCellInfo
mov eax, dword [ebp - 0xf8]
mov ecx, dword [esi + 0x2c]
cmp ecx, dword [eax + 0x64]
ja 0x61e60a74
xor edx, edx
mov dword [esp], ebx
mov eax, esi
call sym._sqlite3VdbeMemFromBtree
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e60962
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 0xc], 0
jne case.0x61e590ba.86
test byte [ebx + 9], 0x10
je case.0x61e590ba.86
mov eax, ebx
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je case.0x61e590ba.86
jmp 0x61e60ab6
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov esi, eax
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
cmp byte [ebx + 2], 0
je 0x61e5ce00
mov word [esi + 8], 1
jmp case.0x61e590ba.86
cmp byte [ebx + 3], 0
je 0x61e5ce17
mov eax, dword [ebx + 0x40]
mov edx, dword [ebx + 0x44]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
jmp 0x61e5cea8
cmp byte [ebx], 2
mov eax, dword [ebx + 0x28]
jne 0x61e5ce52
mov ebx, dword [eax]
lea ecx, [ebp - 0x80]
mov edx, dword [ebx]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x30]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xe8]
lea edx, [ebx + 8]
call sym._sqlite3VtabImportErrmsg.isra.306
cmp dword [ebp - 0x100], 0
je 0x61e5cea8
jmp 0x61e60962
cmp byte [eax], 0
jne 0x61e5ce72
cmp byte [ebx + 2], 0
je 0x61e5ce88
mov word [esi + 8], 1
mov dword [ebp - 0x100], 0
jmp case.0x61e590ba.86
mov eax, ebx
call sym._handleMovedCursor
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e5ce57
jmp 0x61e60962
mov ebx, dword [ebx + 0x28]
mov eax, ebx
call sym._getCellInfo
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov dword [esi], eax
mov dword [esi + 4], edx
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
cmp byte [eax], 0
mov byte [eax + 2], 1
mov dword [eax + 0x1c], 0
jne case.0x61e590ba.86
mov ebx, dword [eax + 0x28]
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_free
mov dword [ebx + 0x10], 0
mov byte [ebx], 1
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
cmp bl, 0x83
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov esi, dword [eax + edx*4]
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x80], 0
je 0x61e5cf4f
lea edx, [ebp - 0x80]
call sym._sqlite3BtreeLast
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x80]
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
mov byte [esi + 2], al
je 0x61e5cf61
jmp 0x61e60962
mov dword [esi + 0x20], 0xffffffff
cmp byte [eax], 0
je case.0x61e590ba.86
jmp 0x61e5cf22
mov esi, dword [ebp - 0xf4]
cmp dword [esi + 8], 0
jle case.0x61e590ba.86
test eax, eax
jmp 0x61e5a4a8
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
mov ebx, dword [eax + 0x28]
mov eax, ebx
call sym._moveToRoot
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5cfb7
mov eax, ebx
call sym._moveToLeftmost
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e5cfc3
jmp 0x61e60962
cmp dword [ebp - 0x100], 0x10
jmp 0x61e5fb7f
cmp byte [ebx], 0
jne case.0x61e590ba.86
mov eax, dword [ebx + 0x74]
cmp byte [eax + 8], 0
je case.0x61e590ba.86
movsx edi, byte [ebx + 0x44]
movzx eax, word [eax + 0x16]
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x110], edi
movzx esi, cl
cmp esi, dword [ebp - 0x110]
jge 0x61e5d00a
mov esi, dword [ebx + esi*4 + 0x78]
inc ecx
movzx edi, word [esi + 0x16]
mov esi, edx
imul esi, edi
mul edi
add edx, esi
jmp 0x61e5cfeb
test edx, edx
js case.0x61e590ba.86
call sym._sqlite3LogEst
mov esi, dword [ebp - 0xf4]
cwde
cmp eax, dword [esi + 0xc]
jl 0x61e6106a
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xe8]
inc dword [eax + 0xa8]
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
cmp byte [eax], 1
mov dword [ebp - 0x120], eax
jne 0x61e5d402
mov ebx, dword [eax + 0x28]
cmp byte [ebx + 0x38], 0
jne 0x61e5d08d
cmp dword [ebx + 0x24], 0
je 0x61e61060
lea edx, [ebx + 0x24]
lea eax, [ebx + 0x40]
call sym._vdbeSorterSort
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e60fce
jmp 0x61e60962
mov eax, ebx
call sym._vdbeSorterFlushPMA
movzx edi, byte [ebx + 0x3b]
mov dword [ebp - 0x100], eax
lea eax, [edi - 1]
imul eax, eax, 0x48
lea esi, [ebx + eax + 0x40]
test edi, edi
je 0x61e5d0cd
mov eax, esi
call sym._vdbeSorterJoinThread
cmp dword [ebp - 0x100], 0
cmovne eax, dword [ebp - 0x100]
dec edi
sub esi, 0x48
mov dword [ebp - 0x100], eax
jmp 0x61e5d0a8
cmp dword [ebp - 0x100], 0
jne 0x61e60962
mov eax, dword [ebx + 0x48]
mov ecx, sym._vdbeSorterCompareInt
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x164], eax
mov al, byte [ebx + 0x3c]
cmp al, 1
je 0x61e5d101
cmp al, 2
mov ecx, sym._vdbeSorterCompareText
mov eax, sym._vdbeSorterCompare
cmovne ecx, eax
movzx eax, byte [ebx + 0x3b]
xor edx, edx
mov byte [ebp - 0x100], al
cmp edx, eax
jge 0x61e5d11b
imul esi, edx, 0x48
inc edx
mov dword [ebx + esi + 0x60], ecx
jmp 0x61e5d10d
cmp byte [ebp - 0x100], 1
jbe 0x61e5d138
call sym._vdbeMergeEngineNew
test eax, eax
mov dword [ebp - 0x110], eax
jne 0x61e5d142
jmp 0x61e60e56
mov dword [ebp - 0x110], 0
lea eax, [ebx + 0x40]
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x100], eax
movzx eax, byte [ebx + 0x3b]
cmp eax, dword [ebp - 0x150]
jle 0x61e60e75
mov eax, dword [ebp - 0x100]
xor edi, edi
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x61e5d3e8
mov ecx, esi
mov dword [ebp - 0xd4], 0
mov eax, 0x10
sar ecx, 0x1f
xor edx, edx
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x12c], ecx
cmp edx, dword [ebp - 0x12c]
jge 0x61e5d1bb
shld edx, eax, 4
inc dword [ebp - 0x158]
shl eax, 4
jmp 0x61e5d1a4
jg 0x61e5d1c1
cmp eax, esi
jb 0x61e5d1ac
cmp esi, 0x10
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
jg 0x61e5d1f4
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0x80]
mov edx, esi
mov dword [esp], eax
mov eax, dword [ebp - 0x100]
call sym._vdbeMergeEngineLevel0
mov edi, eax
jmp 0x61e5d3a0
mov eax, 0x10
call sym._vdbeMergeEngineNew
cmp eax, 1
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x130], 0
sbb edi, edi
mov dword [ebp - 0x140], 0
and edi, 7
mov eax, dword [ebp - 0x100]
mov edx, dword [eax + 0x1c]
cmp edx, dword [ebp - 0x140]
jle 0x61e5d3a0
test edi, edi
jne 0x61e5d3dd
sub edx, dword [ebp - 0x140]
mov eax, 0x10
lea ecx, [ebp - 0x80]
mov dword [ebp - 0xd0], 0
cmp edx, 0x10
cmovg edx, eax
lea eax, [ebp - 0xd0]
mov dword [esp], eax
mov eax, dword [ebp - 0x100]
call sym._vdbeMergeEngineLevel0
test eax, eax
mov edi, eax
jne 0x61e5d394
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0xd0]
lea ecx, [ebp - 0xc8]
mov esi, dword [ebp - 0xd4]
inc eax
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x100]
call sym._vdbeIncrMergerNew
mov dword [ebp - 0x138], 1
mov ecx, eax
mov eax, 1
cmp dword [ebp - 0x158], eax
jle 0x61e5d2c6
shl dword [ebp - 0x138], 4
inc eax
jmp 0x61e5d2b4
mov dword [ebp - 0x148], 1
mov edi, dword [ebp - 0x148]
cmp dword [ebp - 0x158], edi
jle 0x61e5d357
test ecx, ecx
jne 0x61e5d357
mov eax, dword [ebp - 0x130]
mov ecx, 0x10
mov edi, dword [esi + 0xc]
cdq
idiv dword [ebp - 0x138]
cdq
idiv ecx
imul edx, edx, 0x38
add edi, edx
cmp dword [edi + 0x30], 0
je 0x61e5d323
mov eax, dword [edi + 0x30]
mov ecx, 0x10
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x138]
cdq
idiv ecx
xor ecx, ecx
mov dword [ebp - 0x138], eax
jmp 0x61e5d34c
mov eax, 0x10
call sym._vdbeMergeEngineNew
test eax, eax
mov ecx, 7
je 0x61e5d34c
mov edx, eax
mov eax, dword [ebp - 0x100]
lea ecx, [edi + 0x30]
call sym._vdbeIncrMergerNew
test eax, eax
mov ecx, eax
je 0x61e5d305
inc dword [ebp - 0x148]
jmp 0x61e5d2d0
test ecx, ecx
mov eax, dword [ebp - 0xc8]
jne 0x61e5d375
mov edx, dword [ebp - 0x130]
and edx, 0xf
imul edx, edx, 0x38
add edx, dword [esi + 0xc]
mov dword [edx + 0x30], eax
jmp 0x61e5d386
mov dword [ebp - 0x130], ecx
call sym._vdbeIncrFree
mov ecx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x168]
mov edi, ecx
mov dword [ebp - 0x130], eax
add dword [ebp - 0x140], 0x10
jmp 0x61e5d220
test edi, edi
jne 0x61e5d3dd
cmp dword [ebp - 0x110], 0
mov edx, dword [ebp - 0xd4]
je 0x61e5d3d5
mov eax, dword [ebp - 0x110]
imul ecx, dword [ebp - 0x150], 0x38
add ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x100]
add ecx, 0x30
call sym._vdbeIncrMergerNew
mov edi, eax
jmp 0x61e5d3e8
mov dword [ebp - 0x110], edx
jmp 0x61e5d3e8
mov eax, dword [ebp - 0xd4]
call sym._vdbeMergeEngineFree
inc dword [ebp - 0x150]
add dword [ebp - 0x100], 0x48
test edi, edi
je 0x61e5d155
jmp 0x61e60e5b
mov eax, dword [ebp - 0x120]
mov ebx, dword [eax + 0x28]
mov eax, ebx
call sym._moveToRoot
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5d42d
mov eax, ebx
call sym._moveToLeftmost
mov dword [ebp - 0x100], eax
xor eax, eax
jmp 0x61e5d44b
cmp dword [ebp - 0x100], 0x10
mov edx, 0
mov eax, 1
cmovne edx, dword [ebp - 0x100]
mov dword [ebp - 0x100], edx
mov edi, dword [ebp - 0xf4]
cmp word [edi + 2], 0
je 0x61e5d467
cmp byte [ebx], 0
jne 0x61e5d467
mov byte [ebx], 2
mov dword [ebx + 4], 1
cmp dword [ebp - 0x100], 0
mov esi, dword [ebp - 0x120]
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
jne 0x61e60962
mov byte [esi + 2], al
jmp 0x61e601ab
cmp byte [ebx + 0x39], 0
je 0x61e5d4be
mov eax, dword [ebx + 0x10]
call sym._vdbePmaReaderNext
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e59110
mov eax, dword [ebx + 0x10]
cmp dword [eax + 0x18], 0
mov eax, 0x65
cmovne eax, dword [ebp - 0x100]
jmp 0x61e5d53a
mov eax, dword [ebx + 0x14]
lea edx, [ebp - 0x80]
mov dword [ebp - 0x80], 0
call sym._vdbeMergeEngineStep
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e59110
cmp dword [ebp - 0x80], 0
mov eax, 0x65
cmove eax, dword [ebp - 0x100]
jmp 0x61e5d53a
mov esi, dword [edx + 4]
mov eax, dword [ebp - 0xf8]
call sym._sqlite3DbFree
test esi, esi
mov edx, esi
jne 0x61e5d4f0
jmp 0x61e590fd
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov edi, dword [eax + edx*4]
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x28]
mov dword [esp], eax
mov eax, dword [ebp - 0xf4]
call dword [eax + 0x10]
mov dword [ebp - 0x100], eax
jmp 0x61e59110
cmp dword [ebp - 0x100], 0x65
jne 0x61e60962
mov byte [edi + 2], 1
mov dword [ebp - 0x100], 0
jmp 0x61e59159
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
test byte [eax + 2], 1
je 0x61e5d5a5
mov eax, dword [ebp - 0xe8]
inc dword [eax + 0x2c]
mov eax, dword [ebp - 0x110]
test byte [eax + 9], 0x40
jne 0x61e5d5cb
mov eax, dword [ebp - 0xf4]
cmp byte [eax], 0x84
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 0x10]
jne 0x61e5d77f
jmp 0x61e5d5e5
mov eax, dword [ebp - 0x110]
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e5d5b1
jmp 0x61e60962
movzx edx, byte [eax + 1]
mov ebx, dword [ebx + 0x28]
test dl, dl
js 0x61e5d5f5
mov dword [ebp - 0x80], edx
jmp 0x61e5d5fe
lea edx, [ebp - 0x80]
inc eax
call sym._sqlite3GetVarint32
mov eax, dword [ebp - 0x80]
lea edx, [eax - 1]
cmp edx, 8
ja 0x61e5d614
cmp eax, 7
je 0x61e5d614
and byte [ebx + 0x3c], 1
jmp 0x61e5d627
cmp eax, 0xa
jle 0x61e5d623
test al, 1
je 0x61e5d623
and byte [ebx + 0x3c], 2
jmp 0x61e5d627
mov byte [ebx + 0x3c], 0
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x100], 1
mov esi, dword [eax + 0xc]
mov eax, esi
lea edi, [esi + 8]
cdq
shrd eax, edx, 7
shr edx, 7
mov ecx, edx
or ecx, eax
je 0x61e5d655
inc dword [ebp - 0x100]
jmp 0x61e5d640
mov edx, dword [ebx + 4]
add esi, dword [ebp - 0x100]
mov dword [ebp - 0x100], 0
test edx, edx
je 0x61e5d6a1
cmp dword [ebx + 0x28], 0
je 0x61e5d685
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x61e5d6a1
add eax, edi
cmp edx, eax
jl 0x61e60fdd
jmp 0x61e5d6a1
mov eax, dword [ebx + 0x2c]
cmp edx, eax
jl 0x61e60fdd
cmp eax, dword [ebx]
jle 0x61e5d6a1
cmp dword [0x61eaa378], 0
jne 0x61e60fdd
add dword [ebx + 0x2c], esi
cmp esi, dword [ebx + 8]
jle 0x61e5d6ac
mov dword [ebx + 8], esi
mov eax, dword [ebx + 0x28]
test eax, eax
mov dword [ebp - 0x120], eax
je 0x61e5d742
mov esi, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
add esi, edi
cmp esi, eax
jle 0x61e5d723
mov ecx, dword [ebx + 0x24]
mov dword [ebp - 0x130], ecx
add eax, eax
cmp esi, eax
jg 0x61e5d6d2
mov edx, dword [ebx + 4]
cmp eax, edx
jle 0x61e5d6e5
cmp esi, edx
jg 0x61e5d6e7
mov eax, edx
mov esi, eax
mov eax, dword [ebp - 0x120]
mov ecx, esi
mov edx, esi
sar ecx, 0x1f
call sym._sqlite3Realloc
test eax, eax
jne 0x61e5d70c
mov dword [ebp - 0x100], 7
jmp 0x61e60962
mov edx, dword [ebp - 0x130]
sub edx, dword [ebp - 0x120]
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x34], esi
add edx, eax
mov dword [ebx + 0x24], edx
mov esi, dword [ebx + 0x30]
lea eax, [edi + 7]
mov ecx, dword [ebx + 0x28]
and eax, 0xfffffff8
add eax, esi
lea edx, [ecx + esi]
mov dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x61e5d756
sub eax, ecx
jmp 0x61e5d753
mov eax, edi
cdq
call sym._sqlite3Malloc
test eax, eax
mov edx, eax
je 0x61e5d6fd
mov eax, dword [ebx + 0x24]
mov dword [edx + 4], eax
mov edi, dword [ebp - 0x110]
mov esi, dword [ebp - 0x110]
lea eax, [edx + 8]
mov ecx, dword [edi + 0xc]
mov esi, dword [esi + 0x10]
mov edi, eax
mov eax, dword [ebp - 0x110]
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 0xc]
mov dword [edx], eax
mov dword [ebx + 0x24], edx
jmp 0x61e5d7e6
mov esi, dword [ebp - 0x110]
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x78], edx
sar edx, 0x1f
imul eax, dword [eax + 0xc], 0x28
mov dword [ebp - 0x74], edx
xor edx, edx
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov word [ebp - 0x68], ax
mov eax, dword [ebp - 0xf4]
mov cx, word [eax + 2]
test cl, 0x10
je 0x61e5d7c8
mov edx, dword [ebx + 0x20]
mov eax, dword [ebx + 0x28]
mov dword [esp], edx
lea edx, [ebp - 0x80]
and ecx, 0xa
call sym._sqlite3BtreeInsert
mov dword [ebx + 0x1c], 0
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
lea edx, [ebp - 0x80]
mov eax, dword [ebx + 0x2c]
mov esi, dword [ebx + 0x28]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
mov byte [ebp - 0x76], 0
mov word [ebp - 0x78], ax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 8], 0x28
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 4], 0
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0xc8]
mov dword [esp + 0xc], eax
mov eax, esi
call sym._sqlite3BtreeMovetoUnpacked
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e60962
cmp dword [ebp - 0xc8], 0
je 0x61e5d88f
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
jmp case.0x61e590ba.86
mov edx, 4
mov eax, esi
call sym._sqlite3BtreeDelete
test eax, eax
je 0x61e5d87c
mov dword [ebp - 0x100], eax
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebx + 0x28]
cmp byte [eax], 0
jne 0x61e5d8d2
cmp byte [ebx + 2], 0
je 0x61e5d8e8
jmp 0x61e5da63
mov eax, ebx
call sym._handleMovedCursor
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e5d8c7
jmp 0x61e60962
mov esi, dword [ebx + 0x28]
mov eax, esi
call sym._getCellInfo
mov eax, dword [ebp - 0xf8]
mov ecx, dword [esi + 0x2c]
xor edx, edx
mov word [ebp - 0xc0], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xc8]
mov dword [esp], eax
mov eax, esi
call sym._sqlite3VdbeMemFromBtree
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5d9f5
mov eax, dword [ebp - 0xb8]
movzx edx, byte [eax]
test dl, dl
js 0x61e5d949
mov dword [ebp - 0xd4], edx
jmp 0x61e5d954
lea edx, [ebp - 0xd4]
call sym._sqlite3GetVarint32
mov eax, dword [ebp - 0xd4]
cmp eax, 2
jbe 0x61e5d9da
cmp dword [ebp - 0xbc], eax
jl 0x61e5d9da
mov edx, dword [ebp - 0xb8]
lea eax, [edx + eax - 1]
movzx edx, byte [eax]
test dl, dl
js 0x61e5d980
mov dword [ebp - 0xd0], edx
jmp 0x61e5d98b
lea edx, [ebp - 0xd0]
call sym._sqlite3GetVarint32
mov edx, dword [ebp - 0xd0]
lea eax, [edx - 1]
cmp eax, 8
ja 0x61e5d9da
cmp edx, 7
je 0x61e5d9da
movzx ecx, byte [edx + 0x61ea8a80]
mov esi, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xbc]
add esi, ecx
cmp eax, esi
jb 0x61e5d9da
sub eax, ecx
add eax, dword [ebp - 0xb8]
lea ecx, [ebp - 0x80]
call sym._sqlite3VdbeSerialGet
lea eax, [ebp - 0xc8]
mov esi, dword [ebp - 0x80]
mov edi, dword [ebp - 0x7c]
call sym._sqlite3VdbeMemRelease
jmp 0x61e5da06
lea eax, [ebp - 0xc8]
call sym._sqlite3VdbeMemRelease
mov eax, 0x1390d
call sym._sqlite3CorruptError
mov dword [ebp - 0x100], eax
xor esi, esi
xor edi, edi
cmp dword [ebp - 0x100], 0
jne 0x61e60962
mov eax, dword [ebp - 0xf4]
cmp byte [eax], 0x87
jne 0x61e5da42
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
mov dword [eax + 0x40], esi
mov esi, dword [ebp - 0xf4]
mov byte [eax + 2], 0
mov dword [eax + 0x44], edi
mov byte [eax + 3], 1
mov edx, dword [esi + 0x10]
mov dword [eax + 0x24], ebx
mov dword [eax + 0x18], edx
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov dword [eax], esi
mov dword [eax + 4], edi
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0x104]
call sym._sqlite3VdbeMemSetNull
mov dword [ebp - 0x100], 0
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
cmp bl, 0x27
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov edx, dword [eax + edx*4]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov word [ebp - 0xc0], ax
sbb eax, eax
mov byte [ebp - 0xbe], al
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0xc4], eax
mov ebx, dword [edx + 0x28]
mov eax, ebx
call sym._getCellInfo
mov ecx, dword [ebx + 0x2c]
xor edx, edx
mov eax, ecx
add eax, 0xffffffff
adc edx, 0xffffffff
cmp edx, 0
ja 0x61e5daf9
cmp eax, 0x7ffffffe
jbe 0x61e5db0d
mov eax, 0x1392e
xor ebx, ebx
call sym._sqlite3CorruptError
mov dword [ebp - 0x100], eax
jmp 0x61e5db5f
mov eax, dword [ebp - 0xf8]
lea esi, [ebp - 0x80]
xor edx, edx
mov word [ebp - 0x78], 0
mov dword [ebp - 0x68], 0
mov dword [esp], esi
mov dword [ebp - 0x60], eax
mov eax, ebx
xor ebx, ebx
call sym._sqlite3VdbeMemFromBtree
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5db5f
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0xc8]
mov dword [esp], 0
call sym._sqlite3VdbeRecordCompareWithSkip
mov ebx, eax
mov eax, esi
call sym._sqlite3VdbeMemRelease
mov edi, dword [ebp - 0xf4]
mov eax, ebx
inc ebx
neg eax
test byte [edi], 1
cmovne ebx, eax
cmp dword [ebp - 0x100], 0
jne 0x61e60962
test ebx, ebx
jg 0x61e591f5
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov dword [ebp - 0x120], eax
mov word [eax + 8], 1
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf8]
mov eax, dword [eax + 0xb4]
mov dword [ebp - 0x100], eax
inc eax
cmp dword [esi + 0xa8], eax
jle 0x61e5dbea
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x100], 6
mov byte [eax + 0x8e], 2
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
xor ebx, ebx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x130]
shl eax, 4
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0xf8]
mov edi, dword [ebp - 0x138]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi + 4]
mov dword [ebp - 0x110], eax
call sym._sqlite3BtreeEnter
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0xd0], 0
lea ecx, [ebp - 0xd0]
mov edx, esi
mov edi, dword [eax + 4]
mov dword [esp], 0
mov eax, edi
call sym._btreeGetPage
test eax, eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xd4], eax
jne 0x61e5de1d
mov eax, dword [ebp - 0x110]
xor ecx, ecx
mov edx, esi
call sym._sqlite3BtreeClearTable
test eax, eax
mov dword [ebp - 0xd4], eax
jne 0x61e5de06
cmp byte [edi + 0x11], 0
je 0x61e5ddf5
mov eax, dword [ebp - 0x110]
lea ecx, [ebp - 0xc8]
mov edx, 4
call sym._sqlite3BtreeGetMeta
cmp esi, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
jne 0x61e5dce2
lea edx, [ebp - 0xd4]
call sym._freePage
mov eax, dword [ebp - 0xd0]
call sym._releasePage
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x61e5dd94
jmp 0x61e5ddeb
call sym._releasePage
mov edx, dword [ebp - 0xc8]
lea ecx, [ebp - 0x80]
mov dword [esp], 0
mov eax, edi
call sym._btreeGetPage
test eax, eax
mov dword [ebp - 0xd4], eax
jne 0x61e5ddeb
mov edx, dword [ebp - 0x80]
mov ecx, 1
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], 0
mov eax, edi
call sym._relocatePage
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x80]
call sym._releasePage
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x61e5ddeb
mov edx, dword [ebp - 0xc8]
lea ecx, [ebp - 0x80]
mov dword [esp], 0
mov eax, edi
mov dword [ebp - 0x80], 0
call sym._btreeGetPage
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x80]
lea edx, [ebp - 0xd4]
call sym._freePage
mov eax, dword [ebp - 0x80]
call sym._releasePage
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x61e5ddeb
mov ebx, dword [ebp - 0xc8]
dec dword [ebp - 0xc8]
mov eax, dword [0x61e97a50]
xor edx, edx
div dword [edi + 0x20]
lea esi, [eax + 1]
mov ecx, dword [ebp - 0xc8]
cmp ecx, esi
jne 0x61e5ddba
dec ecx
mov dword [ebp - 0xc8], ecx
jmp 0x61e5dda7
mov edx, ecx
mov eax, edi
mov dword [ebp - 0x100], ecx
call sym._ptrmapPageno
mov ecx, dword [ebp - 0x100]
cmp ecx, eax
je 0x61e5ddb1
mov eax, dword [ebp - 0x110]
mov edx, 4
call sym._sqlite3BtreeUpdateMeta
mov dword [ebp - 0xd4], eax
jmp 0x61e5de11
mov dword [ebp - 0x100], eax
xor ebx, ebx
jmp 0x61e5de1d
mov eax, dword [ebp - 0xd0]
lea edx, [ebp - 0xd4]
call sym._freePage
mov eax, dword [ebp - 0xd0]
call sym._releasePage
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x110]
mov edi, ebx
sar edi, 0x1f
call sym._sqlite3BtreeLeave
cmp dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x120]
mov word [eax + 8], 4
mov dword [eax], ebx
mov dword [eax + 4], edi
jne 0x61e60962
test ebx, ebx
je case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0x138]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + esi + 0xc]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x61e5de85
mov esi, dword [eax + 8]
cmp ebx, dword [esi + 0x1c]
jne 0x61e5de81
mov dword [esi + 0x1c], edx
mov eax, dword [eax]
jmp 0x61e5de72
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x61e5de9b
mov ecx, dword [eax + 8]
cmp ebx, dword [ecx + 0x2c]
jne 0x61e5de97
mov dword [ecx + 0x2c], edx
mov eax, dword [eax]
jmp 0x61e5de88
mov al, byte [ebp - 0x130]
inc eax
mov byte [ebp - 0x126], al
jmp case.0x61e590ba.86
mov edi, dword [ebp - 0xf4]
mov dword [ebp - 0x80], 0
lea eax, [ebp - 0x80]
mov ecx, 0
mov esi, dword [ebp - 0xf8]
cmp dword [edi + 0xc], 0
mov edx, dword [edi + 4]
cmovne ecx, eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 4]
call sym._sqlite3BtreeClearTable
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x61e5df21
mov edi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x80]
add dword [edi + 0x2c], ecx
test eax, eax
jle 0x61e5df21
imul eax, eax, 0x28
mov esi, dword [ebp - 0x104]
mov ebx, ecx
sar ebx, 0x1f
add dword [esi + eax], ecx
adc dword [esi + eax + 4], ebx
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + edx*4]
cmp byte [eax], 1
jne 0x61e5df60
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0xf8]
call sym._sqlite3VdbeSorterReset
jmp case.0x61e590ba.86
mov eax, dword [eax + 0x28]
xor ecx, ecx
mov edx, dword [eax + 0x40]
mov eax, dword [eax + 8]
call sym._sqlite3BtreeClearTable
test eax, eax
mov dword [ebp - 0x100], eax
je case.0x61e590ba.86
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov ebx, eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x80], 0
mov edi, dword [ebp - 0xf8]
lea edx, [ebp - 0x80]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 4]
call sym._sqlite3BtreeCreateTable
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e60962
mov eax, dword [ebp - 0x80]
mov dword [ebx], eax
sar eax, 0x1f
mov dword [ebx + 4], eax
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf8]
inc byte [eax + 0x52]
mov eax, dword [ebp - 0xf4]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [eax + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_exec
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf8]
dec byte [eax + 0x52]
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x61e5e0b9
mov esi, dword [ebp - 0xf8]
mov eax, ebx
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sym._sqlite3SchemaClear
mov eax, dword [ebp - 0xf8]
mov edx, ebx
and dword [eax + 0x18], 0xfffffff7
mov eax, dword [ebp - 0xe8]
mov dword [esp], 1
lea ecx, [eax + 0x6c]
mov eax, dword [ebp - 0xf8]
call sym._sqlite3InitOne
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf8]
or dword [eax + 0x18], 1
mov eax, dword [ebp - 0xe8]
and byte [eax + 0x94], 0xfc
jmp 0x61e5e169
mov esi, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf8]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.sqlite_master
mov dword [ebp - 0x78], ebx
shl ebx, 4
mov dword [ebp - 0x70], 0
lea edx, [esi + 0x6c]
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x7c], edx
add ebx, dword [edi + 0x10]
mov eax, dword [ebx]
mov dword [esp + 4], str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov dword [esp], edi
mov dword [esp + 8], eax
call sym._sqlite3MPrintf
test eax, eax
mov ebx, eax
je 0x61e5e178
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x9d], 1
lea eax, [ebp - 0x80]
mov dword [esp + 0x10], 0
mov dword [esp + 8], sym._sqlite3InitCallback
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x74], 0
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_exec
test eax, eax
cmove eax, dword [ebp - 0x74]
mov edx, ebx
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf8]
call sym._sqlite3DbFreeNN
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x9d], 0
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
jmp 0x61e5e182
mov dword [ebp - 0x100], 7
mov eax, dword [ebp - 0xf8]
call sym._sqlite3ResetAllSchemasOfConnection
cmp dword [ebp - 0x100], 7
jne 0x61e60962
jmp 0x61e60ab6
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xf8]
call sym._sqlite3AnalysisLoad
test eax, eax
mov dword [ebp - 0x100], eax
je case.0x61e590ba.86
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
shl eax, 4
add eax, dword [ecx + 0x10]
xor ecx, ecx
mov eax, dword [eax + 0xc]
add eax, 8
call sym._sqlite3HashInsert
mov edx, eax
mov eax, dword [ebp - 0xf8]
call sym._sqlite3DeleteTable
mov eax, dword [ebp - 0xf8]
or dword [eax + 0x18], 1
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf8]
xor ecx, ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 0xc]
add eax, 0x18
call sym._sqlite3HashInsert
test eax, eax
je 0x61e5e270
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 8]
cmp eax, edx
jne 0x61e5e257
mov edx, dword [eax + 0x14]
mov dword [ecx + 8], edx
jmp 0x61e5e263
mov ecx, dword [edx + 0x14]
cmp eax, ecx
je 0x61e5e25d
mov edx, ecx
test edx, edx
jne 0x61e5e24e
jmp 0x61e5e263
mov ecx, dword [eax + 0x14]
mov dword [edx + 0x14], ecx
mov edx, eax
mov eax, dword [ebp - 0xf8]
call sym._sqlite3FreeIndex
mov eax, dword [ebp - 0xf8]
or dword [eax + 0x18], 1
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf8]
xor ecx, ecx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
add eax, 0x28
call sym._sqlite3HashInsert
test eax, eax
mov ebx, eax
je case.0x61e590ba.86
mov eax, dword [eax + 0x14]
cmp eax, dword [ebx + 0x18]
jne 0x61e5e2de
mov edx, dword [ebx + 4]
add eax, 8
call sym._sqlite3HashFind
lea edx, [eax + 0x44]
mov eax, dword [eax + 0x44]
cmp ebx, eax
je 0x61e5e2d9
lea edx, [eax + 0x20]
mov eax, dword [eax + 0x20]
jmp 0x61e5e2cd
mov eax, dword [ebx + 0x20]
mov dword [edx], eax
mov eax, dword [ebp - 0xf8]
mov edx, ebx
call sym._sqlite3DeleteTrigger
mov eax, dword [ebp - 0xf8]
or dword [eax + 0x18], 1
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0xf4]
mov edi, dword [eax + 0x10]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x138]
mov eax, dword [eax]
lea esi, [eax + 1]
mov eax, dword [ebp - 0xf4]
movzx eax, word [eax + 2]
shl eax, 4
add eax, dword [ecx + 0x10]
mov eax, dword [eax + 4]
mov ebx, dword [eax + 4]
mov dword [ebp - 0x120], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x120]
call sym._sqlite3BtreeEnter
mov dword [ebp - 0xc8], ebx
mov eax, dword [ebx]
lea edx, [ebp - 0x80]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
test eax, eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x98], 0x64
mov dword [ebp - 0x94], 0x3b9aca00
mov dword [ebp - 0x90], 0
mov byte [ebp - 0x8c], 0
mov byte [ebp - 0x8b], 1
je 0x61e5e66b
shr eax, 3
xor edx, edx
inc eax
call sym._sqlite3MallocZero
test eax, eax
mov dword [ebp - 0xc0], eax
jne 0x61e5e44a
mov dword [ebp - 0xb0], 1
jmp 0x61e5e66b
mov eax, dword [ebx + 0x20]
call sym._pcache1Alloc
test eax, eax
mov dword [ebp - 0x88], eax
je 0x61e5e43b
mov eax, dword [0x61e97a50]
xor edx, edx
div dword [ebx + 0x20]
lea ecx, [eax + 1]
cmp ecx, dword [ebp - 0xbc]
ja 0x61e5e48a
mov edx, ecx
mov esi, 1
and ecx, 7
shr edx, 3
add edx, dword [ebp - 0xc0]
mov eax, esi
shl eax, cl
or byte [edx], al
mov dword [ebp - 0xac], str.Main_freelist:
mov eax, dword [ebx + 0xc]
lea esi, [ebp - 0xc8]
mov edx, dword [eax + 0x38]
mov eax, dword [edx + 0x24]
mov ecx, dword [edx + 0x20]
mov edx, 1
bswap eax
bswap ecx
mov dword [esp], eax
mov eax, esi
call sym._checkList
mov dword [ebp - 0xac], 0
cmp byte [ebx + 0x11], 0
je 0x61e5e510
xor eax, eax
xor edx, edx
cmp dword [ebp - 0x130], edx
jle 0x61e5e4e1
mov ecx, dword [edi + edx*4 + 4]
cmp eax, ecx
cmovl eax, ecx
inc edx
jmp 0x61e5e4cd
mov edx, dword [ebx + 0xc]
mov edx, dword [edx + 0x38]
mov edx, dword [edx + 0x34]
bswap edx
cmp eax, edx
je 0x61e5e52c
mov dword [esp + 8], eax
lea eax, [ebp - 0xc8]
mov dword [esp + 0xc], edx
mov dword [esp + 4], str.max_rootpage___d__disagrees_with_header___d_
mov dword [esp], eax
call sym._checkAppendMsg
jmp 0x61e5e52c
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x38]
cmp dword [eax + 0x40], 0
je 0x61e5e52c
mov dword [esp + 4], str.incremental_vacuum_enabled_with_a_max_rootpage_of_zero
mov dword [esp], esi
call sym._checkAppendMsg
mov eax, dword [ebx + 4]
xor esi, esi
and dword [eax + 0x1c], 0xffdfffff
cmp dword [ebp - 0x130], esi
jle 0x61e5e59a
cmp dword [ebp - 0xb8], 0
je 0x61e5e59a
mov edx, dword [edi + esi*4 + 4]
test edx, edx
je 0x61e5e597
cmp byte [ebx + 0x11], 0
je 0x61e5e573
cmp edx, 1
jle 0x61e5e573
lea eax, [ebp - 0xc8]
mov dword [esp], 0
mov ecx, 1
call sym._checkPtrmap
mov edx, dword [edi + esi*4 + 4]
lea ecx, [ebp - 0xd0]
lea eax, [ebp - 0xc8]
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0x7fffffff
call sym._checkTreePage
inc esi
jmp 0x61e5e538
mov edi, dword [ebp - 0x140]
mov eax, dword [ebx + 4]
mov esi, 1
mov dword [eax + 0x1c], edi
lea edi, [ebp - 0xc8]
cmp esi, dword [ebp - 0xbc]
ja 0x61e5e66b
cmp dword [ebp - 0xb8], 0
je 0x61e5e66b
mov eax, esi
mov ecx, esi
shr eax, 3
and ecx, 7
mov dword [ebp - 0x130], eax
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x130]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xc0]
movzx eax, byte [eax + ecx]
test dword [ebp - 0x140], eax
jne 0x61e5e626
mov edx, esi
mov eax, ebx
call sym._ptrmapPageno
cmp esi, eax
jne 0x61e5e612
cmp byte [ebx + 0x11], 0
jne 0x61e5e626
mov dword [esp + 8], esi
mov dword [esp + 4], str.Page__d_is_never_used
mov dword [esp], edi
call sym._checkAppendMsg
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x130]
movzx eax, byte [eax + ecx]
test dword [ebp - 0x140], eax
je 0x61e5e665
mov edx, esi
mov eax, ebx
call sym._ptrmapPageno
cmp esi, eax
jne 0x61e5e665
cmp byte [ebx + 0x11], 0
je 0x61e5e665
mov dword [esp + 8], esi
mov dword [esp + 4], str.Pointer_map_page__d_is_referenced
mov dword [esp], edi
call sym._checkAppendMsg
inc esi
jmp 0x61e5e5b1
mov eax, dword [ebp - 0x88]
call sym._pcache1Free
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_free
cmp dword [ebp - 0xb0], 0
je 0x61e5e6a1
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_str_reset
inc dword [ebp - 0xb4]
mov esi, dword [ebp - 0xb4]
test esi, esi
jne 0x61e5e6b9
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_str_reset
mov eax, dword [ebp - 0x120]
call sym._sqlite3BtreeLeave
lea eax, [ebp - 0xa0]
call sym._sqlite3StrAccumFinish
mov ebx, eax
mov eax, dword [ebp - 0x110]
call sym._sqlite3VdbeMemSetNull
test esi, esi
je 0x61e5e716
test ebx, ebx
je 0x61e60ab6
mov edi, dword [ebp - 0x138]
lea eax, [esi - 1]
cdq
sub dword [edi], eax
mov eax, dword [ebp - 0x110]
sbb dword [edi + 4], edx
mov dword [esp + 4], sym.sqlite3.dll_sqlite3_free
or ecx, 0xffffffff
mov dword [esp], 1
mov edx, ebx
call sym._sqlite3VdbeMemSetStr
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x110]
call sym._sqlite3VdbeChangeEncoding
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
imul esi, dword [eax + 8], 0x28
add ebx, dword [ebp - 0x104]
add esi, dword [ebp - 0x104]
test byte [ebx + 8], 0x10
je 0x61e5e75e
mov edx, dword [esi]
mov ecx, dword [esi + 4]
mov eax, dword [ebx + 0x10]
call sym._sqlite3RowSetInsert
jmp case.0x61e590ba.86
mov eax, ebx
call sym._sqlite3VdbeMemSetRowSet
test eax, eax
je 0x61e5e74c
jmp 0x61e60ab6
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
test byte [ebx + 8], 0x10
je 0x61e5e80d
mov esi, dword [ebx + 0x10]
mov ax, word [esi + 0x1a]
test al, 2
jne 0x61e5e7a7
test al, 1
jne 0x61e5e7a2
mov eax, dword [esi + 8]
call sym._rowSetEntrySort
mov dword [esi + 8], eax
or word [esi + 0x1a], 3
mov eax, dword [esi + 8]
test eax, eax
je 0x61e5e80d
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x10c], ebx
test eax, eax
mov dword [esi + 8], eax
jne 0x61e60ffd
mov edx, dword [esi]
test edx, edx
je 0x61e5e7e1
mov ebx, dword [edx]
mov eax, dword [esi + 4]
call sym._sqlite3DbFree
mov edx, ebx
jmp 0x61e5e7cf
mov dword [esi], 0
mov word [esi + 0x18], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x14], 0
mov word [esi + 0x1a], 1
jmp 0x61e60ffd
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
jmp case.0x61e590ba.11
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x110]
test byte [eax + 8], 0x10
je 0x61e5e86b
cmp dword [ebp - 0x120], 0
je 0x61e5e88c
jmp 0x61e5e8aa
mov eax, dword [ebp - 0x110]
call sym._sqlite3VdbeMemSetRowSet
test eax, eax
je 0x61e5e860
jmp 0x61e60ab6
cmp dword [ebp - 0x120], 0
js case.0x61e590ba.86
mov eax, dword [ebp - 0x130]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 0x10]
call sym._sqlite3RowSetInsert
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0x130]
mov eax, dword [eax]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x130]
mov eax, dword [eax + 4]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x110]
mov ebx, dword [eax + 0x10]
mov eax, dword [ebp - 0x120]
cmp eax, dword [ebx + 0x1c]
je 0x61e5e991
mov esi, dword [ebx + 8]
test esi, esi
je 0x61e5e988
test byte [ebx + 0x1a], 1
lea eax, [ebx + 0x14]
mov dword [ebp - 0x138], eax
jne 0x61e5e902
mov eax, esi
call sym._rowSetEntrySort
mov esi, eax
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x61e5e942
lea eax, [edi + 8]
mov dword [ebp - 0x138], eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x61e5e96b
lea ecx, [ebp - 0x80]
lea edx, [ebp - 0xc8]
call sym._rowSetTreeToList
mov dword [edi + 0xc], 0
mov eax, dword [ebp - 0xc8]
mov edx, esi
call sym._rowSetEntryMerge
mov edi, dword [edi + 8]
mov esi, eax
jmp 0x61e5e905
mov eax, ebx
call sym._rowSetEntryAlloc
mov edi, eax
mov eax, dword [ebp - 0x138]
test edi, edi
mov dword [eax], edi
je 0x61e5e975
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov eax, esi
call sym._rowSetListToTree
mov dword [edi + 0xc], eax
or word [ebx + 0x1a], 1
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov eax, dword [ebp - 0x120]
mov dword [ebx + 0x1c], eax
mov edx, dword [ebx + 0x14]
test edx, edx
je 0x61e5e87f
mov eax, dword [edx + 0xc]
test eax, eax
je 0x61e5e9d8
mov ebx, dword [eax + 4]
cmp dword [ebp - 0x150], ebx
mov ecx, dword [eax]
jl 0x61e5e9d3
jg 0x61e5e9ba
cmp dword [ebp - 0x140], ecx
jbe 0x61e5e9bf
mov eax, dword [eax + 8]
jmp 0x61e5e99f
cmp dword [ebp - 0x150], ebx
jl 0x61e5e9d3
cmp dword [ebp - 0x140], ecx
jae 0x61e591f5
mov eax, dword [eax + 0xc]
jmp 0x61e5e99f
mov edx, dword [edx + 8]
jmp 0x61e5e994
mov eax, dword [ebp - 0xf4]
cmp word [eax + 2], 0
mov ebx, dword [eax + 0x10]
je 0x61e5ea0e
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebx + 0x14]
mov eax, dword [eax + 0xc4]
test eax, eax
je 0x61e5ea0e
cmp edx, dword [eax + 0x1c]
je case.0x61e590ba.86
mov eax, dword [eax + 4]
jmp 0x61e5e9fc
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf8]
mov esi, dword [edi + 0x8c]
cmp dword [eax + 0xcc], esi
jl 0x61e5ea47
mov dword [esp + 4], str.too_many_levels_of_trigger_recursion
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x100], 1
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
imul esi, dword [eax + 0xc], 0x28
add esi, dword [ebp - 0x104]
test byte [esi + 8], 0x10
jne 0x61e5eb7b
mov eax, dword [ebx + 0xc]
mov edi, dword [ebx + 8]
mov ecx, 8
add edi, eax
cmp eax, 1
mov dword [ebp - 0x104], edi
adc dword [ebp - 0x104], 0
imul edx, dword [ebp - 0x104], 0xa
lea edi, [eax + edx + 0x14]
mov eax, dword [ebx + 4]
add eax, 7
cdq
idiv ecx
lea edi, [eax + edi*4]
mov eax, dword [ebp - 0xf8]
mov ecx, edi
mov edx, edi
sar ecx, 0x1f
call sym._sqlite3DbMallocZero
test eax, eax
mov dword [ebp - 0x110], eax
je 0x61e60ab6
mov eax, esi
call sym._sqlite3VdbeMemRelease
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0xe8]
mov word [esi + 8], 0x410
mov dword [esi + 0xc], edi
mov dword [esi + 0x24], sym._sqlite3VdbeFrameMemDel
mov dword [esi + 0x10], edx
mov dword [edx], eax
mov eax, dword [ebp - 0x104]
mov dword [edx + 0x3c], eax
mov eax, dword [ebx + 0xc]
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0x108]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x18]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x1c]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x58]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x88]
mov dword [edx + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [edx + 0x1c], eax
imul eax, dword [ebp - 0x104], 0x28
lea ecx, [edx + eax + 0x50]
lea eax, [edx + 0x50]
cmp eax, ecx
je 0x61e5eb7e
mov edi, dword [ebp - 0xf8]
mov word [eax + 8], pe_nt_image_headers32
add eax, 0x28
mov dword [eax - 8], edi
jmp 0x61e5eb63
mov edx, dword [esi + 0x10]
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe8]
inc dword [eax + 0xcc]
mov eax, dword [eax + 0xc4]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0xf8]
mov esi, dword [eax + 0x20]
mov edi, dword [eax + 0x24]
mov eax, dword [ebp - 0xe8]
mov dword [edx + 0x20], esi
mov dword [edx + 0x24], edi
lea esi, [edx + 0x50]
mov eax, dword [eax + 0x2c]
mov edi, dword [ebp - 0xe8]
mov dword [edx + 0x44], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
mov dword [edx + 0x48], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xd8]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0xc4], edx
mov dword [eax + 0xd8], 0
mov dword [eax + 0x2c], 0
lea eax, [edx + 0x50]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x5c], esi
mov eax, dword [edx + 0x3c]
mov dword [ecx + 0x18], eax
movzx ecx, word [edx + 0x40]
imul eax, eax, 0x28
mov dword [edi + 0x1c], ecx
mov ecx, dword [ebx + 0xc]
add eax, esi
mov dword [edi + 0x70], eax
lea esi, [eax + ecx*4]
mov eax, dword [ebx + 4]
mov ecx, 8
mov dword [edx + 0x18], esi
mov edi, esi
mov esi, dword [ebp - 0xe8]
add eax, 7
cdq
idiv ecx
mov ecx, eax
xor eax, eax
rep stosb byte es:[edi], al
mov eax, dword [ebx]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0x108]
mov dword [eax + 0x58], edi
mov eax, dword [ebx + 4]
mov dword [esi + 0x88], eax
mov eax, edi
sub eax, 0x14
mov dword [ebp - 0xf4], eax
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov ecx, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf4]
mov ecx, dword [ecx + 0xc4]
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, 0x1000
call sym._sqlite3VdbeMemShallowCopy
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf8]
test byte [eax + 0x1e], 8
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 8]
je 0x61e5ecf4
mov ecx, eax
mov ebx, eax
mov eax, dword [ebp - 0xf8]
sar ebx, 0x1f
add dword [eax + 0x1d0], ecx
adc dword [eax + 0x1d4], ebx
jmp case.0x61e590ba.86
mov esi, dword [ebp - 0xf4]
cdq
cmp dword [esi + 4], 0
je 0x61e5ed18
mov ecx, dword [ebp - 0xf8]
add dword [ecx + 0x1c8], eax
adc dword [ecx + 0x1cc], edx
jmp case.0x61e590ba.86
mov edi, dword [ebp - 0xe8]
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 4], 0
je 0x61e5ed64
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf8]
mov eax, dword [eax + 0x1cc]
or eax, dword [esi + 0x1c8]
jne case.0x61e590ba.86
mov eax, dword [esi + 0x1d4]
or eax, dword [esi + 0x1d0]
jmp 0x61e5a9f1
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xe8]
mov eax, dword [eax + 0x44]
or eax, dword [edi + 0x40]
jne case.0x61e590ba.86
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf8]
mov eax, dword [eax + 0x1d4]
or eax, dword [esi + 0x1d0]
jmp 0x61e5a9f1
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xc4]
test eax, eax
je 0x61e5edc3
mov edx, dword [eax + 4]
test edx, edx
je 0x61e5edb4
mov eax, edx
jmp 0x61e5eda9
mov ecx, dword [ebp - 0xf4]
imul ebx, dword [ecx + 4], 0x28
add ebx, dword [eax + 0x10]
jmp 0x61e5edd3
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
mov eax, ebx
call sym._sqlite3VdbeMemIntegerify
mov eax, dword [ebp - 0xf4]
imul esi, dword [eax + 8], 0x28
add esi, dword [ebp - 0x104]
mov eax, esi
call sym._sqlite3VdbeMemIntegerify
mov eax, dword [esi + 4]
cmp dword [ebx + 4], eax
mov edx, dword [esi]
jg case.0x61e590ba.86
jl 0x61e5ee09
cmp dword [ebx], edx
jae case.0x61e590ba.86
mov dword [ebx], edx
mov dword [ebx + 4], eax
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
imul esi, dword [eax + 4], 0x28
add esi, dword [ebp - 0x104]
mov edx, dword [esi + 4]
mov eax, dword [esi]
cmp edx, 0
jl case.0x61e590ba.86
jg 0x61e5ee3c
cmp eax, 0
jbe case.0x61e590ba.86
mov edi, dword [ebp - 0xf4]
mov ecx, dword [edi + 0xc]
mov ebx, ecx
sar ebx, 0x1f
sub eax, ecx
sbb edx, ebx
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x61e591f5
mov eax, dword [ebp - 0xf4]
imul edi, dword [eax + 4], 0x28
mov edx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, dword [ebp - 0xe8]
add edi, dword [ebp - 0x104]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov edx, dword [edi + 4]
mov ebx, eax
mov eax, dword [edi]
cmp edx, 0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
jg 0x61e5eea7
jl 0x61e5ee95
cmp eax, 0
ja 0x61e5eea7
mov dword [ebx], 0xffffffff
mov dword [ebx + 4], 0xffffffff
jmp case.0x61e590ba.86
imul eax, esi, 0x28
add eax, dword [ebp - 0x104]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
test ecx, ecx
jns 0x61e5eebd
xor edx, edx
xor ecx, ecx
lea eax, [ebp - 0x80]
call sym._sqlite3AddInt64
test eax, eax
jne 0x61e5ee95
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
imul ecx, dword [eax + 4], 0x28
add ecx, dword [ebp - 0x104]
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov edi, edx
or edi, eax
je case.0x61e590ba.86
cmp edx, 0
jl 0x61e591f5
jg 0x61e5ef0c
cmp eax, 0
jbe 0x61e591f5
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x61e591f5
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
mov ebx, dword [eax + 4]
mov ecx, dword [eax]
lea edx, [ebx - 0x80000000]
or edx, ecx
je 0x61e5ef46
add ecx, 0xffffffff
adc ebx, 0xffffffff
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov edx, dword [eax + 4]
or edx, dword [eax]
jmp 0x61e5a9f1
mov eax, dword [ebp - 0xf4]
xor ecx, ecx
movzx esi, word [eax + 2]
mov eax, dword [ebp - 0xf8]
lea edx, [esi*4 + 0x44]
mov ebx, esi
call sym._sqlite3DbMallocRawNN
test eax, eax
je 0x61e60ab6
lea edx, [eax + esi*4 + 0x1c]
mov ecx, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf8]
mov dword [eax + 8], 0
mov dword [eax], edx
mov word [edx + 8], 1
mov dword [edx + 0x20], esi
mov dword [edx + 0x18], 0
mov edx, dword [ecx + 0x10]
mov esi, dword [ebp - 0xe8]
mov byte [eax + 0x18], 0
mov dword [eax + 0x14], 0
mov byte [eax + 0x19], bl
mov dword [eax + 4], edx
mov edx, ecx
sub edx, dword [ebp - 0x108]
mov dword [eax + 0xc], esi
sar edx, 2
imul edx, edx, 0xcccccccd
mov dword [eax + 0x10], edx
mov byte [ecx + 1], 0xf0
mov dword [ecx + 0x10], eax
mov byte [ecx], 0x9c
mov eax, dword [ebp - 0xf4]
imul edx, dword [eax + 0xc], 0x28
mov ebx, dword [eax + 0x10]
add edx, dword [ebp - 0x104]
cmp edx, dword [ebx + 8]
jne 0x61e5f01d
mov eax, dword [ebp - 0xf4]
inc dword [edx + 0xc]
lea edx, [ebx + 0x1c]
cmp dword [eax + 4], 0
mov eax, dword [ebx + 4]
je 0x61e5f044
mov dword [esp + 8], edx
movzx edx, byte [ebx + 0x19]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x1c]
jmp 0x61e5f056
movzx eax, byte [ebx + 0x19]
mov dword [ebx + 8], edx
dec eax
cmp eax, 0xffffffff
je 0x61e5eff4
mov esi, dword [ebp - 0xf4]
mov ecx, dword [esi + 8]
add ecx, eax
imul ecx, ecx, 0x28
add ecx, dword [ebp - 0x104]
mov dword [ebx + eax*4 + 0x1c], ecx
jmp 0x61e5f024
mov dword [esp + 8], edx
movzx edx, byte [ebx + 0x19]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x10]
cmp dword [ebx + 0x14], 0
je case.0x61e590ba.86
jle 0x61e5f08f
mov eax, dword [ebx]
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_value_text
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0x61e98be8
mov dword [esp], eax
call sym._sqlite3VdbeError
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x100], eax
cmp byte [ebx + 0x18], 0
je 0x61e5f0bb
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x61e5f0b7
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov edx, 1
xor ecx, ecx
call sym._sqlite3VdbeMemSetInt64
mov byte [ebx + 0x18], 0
mov eax, dword [ebx]
call sym._sqlite3VdbeMemRelease
cmp dword [ebp - 0x100], 0
mov eax, dword [ebx]
mov word [eax + 8], 1
mov dword [ebx + 0x14], 0
je case.0x61e590ba.86
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0x104]
imul eax, dword [eax + 4], 0x28
add esi, eax
mov eax, dword [ebp - 0xf4]
mov ebx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
test ebx, ebx
je 0x61e5f15d
lea edi, [ebp - 0x80]
xor eax, eax
mov ecx, 8
imul ebx, ebx, 0x28
add ebx, dword [ebp - 0x104]
mov dword [ebp - 0x100], edx
rep stosd dword es:[edi], eax
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
mov edx, dword [ebp - 0x100]
lea eax, [ebp - 0x80]
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x80], ebx
mov dword [esp], eax
mov dword [ebp - 0x7c], edx
call dword [edx + 0x18]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 0xc], 0x28
lea esi, [ecx + eax]
jmp 0x61e5f16a
mov eax, esi
call sym._sqlite3VdbeMemFinalize
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
je 0x61e6076a
mov dword [esp], esi
call sym.sqlite3.dll_sqlite3_value_text
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0x61e98be8
mov dword [esp], eax
call sym._sqlite3VdbeError
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0x7c], 0xffffffff
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
lea eax, [ebp - 0x78]
mov dword [esp + 4], eax
lea eax, [ebp - 0x7c]
mov dword [esp], eax
mov eax, dword [ebp - 0xf8]
call sym._sqlite3Checkpoint
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e5f1f1
cmp eax, 5
jne 0x61e60962
mov dword [ebp - 0x80], 1
mov eax, dword [ebp - 0xf4]
xor esi, esi
imul ebx, dword [eax + 0xc], 0x28
add ebx, dword [ebp - 0x104]
mov edx, dword [ebp + esi*4 - 0x80]
mov eax, ebx
inc esi
add ebx, 0x28
mov ecx, edx
sar ecx, 0x1f
call sym._sqlite3VdbeMemSetInt64
cmp esi, 3
jne 0x61e5f203
mov dword [ebp - 0x100], 0
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf8]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 4]
shl eax, 4
add eax, dword [edi + 0x10]
cmp esi, 0xffffffff
mov eax, dword [eax + 4]
mov dword [ebp - 0x120], eax
mov eax, dword [eax + 4]
mov ebx, dword [eax]
movzx edi, byte [ebx + 5]
cmove esi, edi
cmp byte [ebx + 0x10], 2
ja 0x61e5f294
mov eax, dword [ebx + 0x40]
cmp dword [eax], 0
je 0x61e5f296
cmp dword [ebx + 0x4c], 0
jg 0x61e5f294
jl 0x61e5f296
cmp dword [ebx + 0x48], 0
jbe 0x61e5f296
mov esi, edi
cmp byte [ebx + 0xf], 0
mov eax, 0x61e984ec
jne 0x61e5f2a7
mov eax, dword [ebx + 0xa8]
cmp esi, 5
jne 0x61e5f2cd
call sym._sqlite3Strlen30
test eax, eax
je 0x61e5f468
mov eax, ebx
call sym._sqlite3PagerWalSupported
test eax, eax
je 0x61e5f468
jmp 0x61e5f45f
cmp esi, edi
je 0x61e5f46a
cmp edi, 5
jne 0x61e5f46a
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x47], 0
jne 0x61e5f323
cmp esi, 5
mov edx, str.out_of
mov eax, str.into
cmovne eax, edx
mov dword [esp + 4], str.cannot_change__s_wal_mode_from_within_a_transaction
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x100], 1
jmp 0x61e60962
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0xa8], 1
jg 0x61e5f2ea
cmp edi, 5
jne 0x61e5f429
cmp dword [ebx + 0xd8], 0
je 0x61e5f352
cmp dword [ebx + 0xd8], 0
jne 0x61e5f3b3
jmp 0x61e61023
mov edx, 1
mov eax, ebx
mov dword [ebp - 0x80], 0
call sym._pagerLockDb
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5f474
lea eax, [ebp - 0x80]
mov edx, dword [ebx + 0xdc]
xor ecx, ecx
mov dword [esp], eax
mov eax, dword [ebx]
call sym._sqlite3OsAccess
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5f474
cmp dword [ebp - 0x80], 0
je 0x61e5f344
mov eax, ebx
call sym._pagerOpenWal
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5f474
jmp 0x61e5f344
mov edx, 4
mov eax, ebx
call sym._pagerLockDb
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5f41b
mov edx, dword [ebx + 0xd0]
movzx ecx, byte [ebx + 0xb]
mov eax, dword [ebx + 0xd8]
mov dword [esp + 4], edx
mov edx, dword [ebx + 0x98]
mov dword [esp], edx
mov edx, dword [ebp - 0xf8]
call sym._sqlite3WalClose
mov dword [ebx + 0xd8], 0
mov dword [ebp - 0x100], eax
mov eax, ebx
call sym._pagerFixMaplimit
cmp dword [ebp - 0x100], 0
je 0x61e61023
cmp byte [ebx + 4], 0
jne 0x61e5f474
mov edx, 1
mov eax, ebx
call sym._pagerUnlockDb
jmp 0x61e5f474
cmp edi, 4
jne 0x61e5f43a
mov edx, 2
mov eax, ebx
call sym._sqlite3PagerSetJournalMode
cmp dword [ebp - 0x100], 0
jne 0x61e5f474
xor edx, edx
mov eax, dword [ebp - 0x120]
cmp esi, 5
sete dl
inc edx
call sym._sqlite3BtreeSetVersion
mov dword [ebp - 0x100], eax
jmp 0x61e5f46a
cmp edi, 5
jne 0x61e5f2de
mov esi, edi
cmp dword [ebp - 0x100], 0
cmove edi, esi
mov edx, edi
mov eax, ebx
call sym._sqlite3PagerSetJournalMode
mov esi, dword [ebp - 0x110]
xor edx, edx
cmp eax, 6
mov word [esi + 8], 0xa02
je 0x61e5f497
mov edx, dword [eax*4 + 0x61ea1bac]
mov eax, dword [ebp - 0x110]
mov dword [eax + 0x10], edx
mov eax, edx
call sym._sqlite3Strlen30
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0x114]
mov dword [ecx + 0xc], eax
mov byte [ecx + 0xa], 1
mov eax, ecx
call sym._sqlite3VdbeChangeEncoding
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
jmp 0x61e60962
mov eax, dword [ebp - 0xe8]
lea esi, [eax + 0x6c]
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x47], 0
jne 0x61e5f4ef
mov ecx, str.cannot_VACUUM_from_within_a_transaction
jmp 0x61e5f503
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0xa4], 1
jle 0x61e5f51b
mov ecx, str.cannot_VACUUM___SQL_statements_in_progress
mov edx, eax
mov eax, esi
call sym._sqlite3SetString
mov dword [ebp - 0x100], 1
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf8]
mov edx, esi
mov ebx, dword [eax + 4]
mov eax, dword [ebp - 0xf8]
mov ecx, edi
mov eax, dword [eax + 0x1c]
shl ebx, 4
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x60]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0xf8]
mov al, byte [eax + 0x50]
mov byte [edi + 0x50], 0
mov byte [ebp - 0x164], al
mov eax, dword [ebp - 0x140]
or eax, 6
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0x138]
and eax, 0xffffaf7f
or eax, 0x201
mov dword [edi + 0x1c], eax
mov eax, dword [edi + 0x10]
add eax, ebx
mov ebx, dword [eax + 4]
mov edi, dword [eax]
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov al, byte [eax + 0xc]
mov byte [ebp - 0x168], al
mov eax, dword [ecx + 0x14]
mov ecx, str.ATTACHAS_vacuum_db
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0xf8]
call sym._execSql
test eax, eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x120], 0
jne 0x61e5f9cf
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x150]
shl eax, 4
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x120], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
call sym._sqlite3BtreeCommit
mov eax, ebx
call sym._sqlite3BtreeEnter
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x170], eax
mov eax, ebx
mov dword [ebp - 0x16c], ecx
call sym._sqlite3BtreeLeave
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x130]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 0xc]
mov edx, dword [eax + 0x50]
mov eax, dword [ebp - 0x110]
call sym._sqlite3BtreeSetCacheSize
xor edx, edx
mov eax, ebx
call sym._sqlite3BtreeSetSpillSize
mov edx, eax
mov eax, dword [ebp - 0x110]
call sym._sqlite3BtreeSetSpillSize
mov eax, dword [ebp - 0x110]
mov edx, 0x21
call sym._sqlite3BtreeSetPagerFlags
mov eax, dword [ebp - 0xf8]
mov ecx, str.BEGIN
mov edx, esi
call sym._execSql
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5f9cf
xor ecx, ecx
mov edx, 2
mov eax, ebx
call sym._sqlite3BtreeBeginTrans
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5f9cf
mov eax, dword [ebx + 4]
mov edx, dword [eax]
cmp byte [edx + 5], 5
jne 0x61e5f6d2
mov ecx, dword [ebp - 0xf8]
mov dword [ecx + 0x54], 0
mov ecx, dword [ebp - 0x16c]
sub ecx, dword [ebp - 0x170]
mov edx, dword [eax + 0x20]
mov eax, dword [ebp - 0x110]
mov dword [esp], 0
mov dword [ebp - 0x130], ecx
call sym._sqlite3BtreeSetPageSize
test eax, eax
mov dword [ebp - 0x100], 7
jne 0x61e5f9cf
cmp byte [ebp - 0x168], 0
je 0x61e5f730
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x100], 7
cmp byte [eax + 0x49], 0
jne 0x61e5f9cf
jmp 0x61e5f75b
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x130]
mov edx, dword [eax + 0x54]
mov eax, dword [ebp - 0x110]
mov dword [esp], 0
call sym._sqlite3BtreeSetPageSize
test eax, eax
jne 0x61e5f9cf
jmp 0x61e5f714
mov eax, dword [ebp - 0xf8]
movsx eax, byte [eax + 0x4c]
test al, al
jns 0x61e5f770
mov eax, ebx
call sym._sqlite3BtreeGetAutoVacuum
mov edx, eax
mov eax, dword [ebp - 0x110]
call sym._sqlite3BtreeSetAutoVacuum
mov ecx, dword [ebp - 0xf8]
mov al, byte [ebp - 0x150]
mov byte [ecx + 0x9c], al
mov dword [esp + 0xc], edi
mov dword [esp + 8], str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
mov dword [esp + 4], esi
mov dword [esp], ecx
call sym._execSqlF
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5f9cf
mov eax, dword [ebp - 0xf8]
mov dword [esp + 0xc], edi
mov dword [esp + 8], str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typeindex
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._execSqlF
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5f9cf
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x9c], 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], str.SELECTINSERT_INTO_vacuum_db.quote_name__SELECTFROM__w_.quote_name_FROM_vacuum_db.sqlite_master_WHERE_typetableAND_coalesce_rootpage_1__0
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._execSqlF
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf8]
and dword [eax + 0x18], 0xfffffffb
cmp dword [ebp - 0x100], 0
jne 0x61e5f9cf
mov dword [esp + 0xc], edi
mov dword [esp + 8], str.INSERT_INTO_vacuum_db.sqlite_master_SELECTFROM___w_.sqlite_master_WHERE_type_IN_view_trigger__OR_typetableAND_rootpage0_
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._execSqlF
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5f9cf
mov edi, 0x61ea1188
movzx esi, byte [edi]
lea ecx, [ebp - 0xc8]
mov eax, ebx
mov edx, esi
call sym._sqlite3BtreeGetMeta
movzx ecx, byte [edi + 1]
mov eax, dword [ebp - 0x110]
mov edx, esi
add ecx, dword [ebp - 0xc8]
call sym._sqlite3BtreeUpdateMeta
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5f9cf
add edi, 2
cmp edi, 0x61ea1192
jne 0x61e5f84e
mov eax, ebx
call sym._sqlite3BtreeEnter
mov eax, dword [ebp - 0x110]
call sym._sqlite3BtreeEnter
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
cmp dword [eax], 0
mov dword [ebp - 0x100], eax
je 0x61e5f8fa
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x2c]
mov edi, ecx
sar edi, 0x1f
mov esi, edi
imul esi, eax
mul ecx
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x100]
add edx, esi
mov dword [ebp - 0x7c], edx
mov edx, 0xb
call sym._sqlite3OsFileControl
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e5f8fa
cmp eax, 0xc
jne 0x61e5f965
lea esi, [ebp - 0x80]
xor eax, eax
mov ecx, 0xc
mov edi, esi
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x110]
mov eax, dword [eax]
mov dword [esp + 4], 0x7fffffff
mov dword [esp], esi
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x68], eax
call sym.sqlite3.dll_sqlite3_backup_step
mov dword [esp], esi
call sym.sqlite3.dll_sqlite3_backup_finish
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5f952
mov eax, dword [ebx + 4]
and word [eax + 0x16], 0xfffd
jmp 0x61e5f965
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x61e5f965
call sym._pager_reset
mov eax, dword [ebp - 0x110]
call sym._sqlite3BtreeLeave
mov eax, ebx
call sym._sqlite3BtreeLeave
cmp dword [ebp - 0x100], 0
jne 0x61e5f9cf
mov eax, dword [ebp - 0x110]
call sym._sqlite3BtreeCommit
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5f9cf
mov eax, dword [ebp - 0x110]
call sym._sqlite3BtreeGetAutoVacuum
mov edx, eax
mov eax, ebx
call sym._sqlite3BtreeSetAutoVacuum
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x130]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov dword [esp], 1
mov eax, ebx
call sym._sqlite3BtreeSetPageSize
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf8]
or ecx, 0xffffffff
mov edi, dword [ebp - 0x158]
or edx, 0xffffffff
mov byte [eax + 0x9c], 0
movzx eax, word [ebp - 0x140]
mov dword [esi + 0x18], eax
mov eax, esi
mov esi, dword [ebp - 0x138]
mov dword [eax + 0x5c], edi
mov edi, eax
mov dword [eax + 0x1c], esi
mov esi, dword [ebp - 0x148]
mov dword [eax + 0x60], esi
mov al, byte [ebp - 0x164]
mov byte [edi + 0x50], al
mov dword [esp], 1
mov eax, ebx
call sym._sqlite3BtreeSetPageSize
cmp dword [ebp - 0x120], 0
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x47], 1
je 0x61e5fa5d
mov eax, dword [ebp - 0x120]
mov eax, dword [eax + 4]
call sym._sqlite3BtreeClose
mov eax, dword [ebp - 0x120]
mov dword [eax + 4], 0
mov dword [eax + 0xc], 0
mov eax, dword [ebp - 0xf8]
call sym._sqlite3ResetAllSchemasOfConnection
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov edi, dword [eax + 4]
mov ebx, dword [edi + 4]
mov eax, edi
call sym._sqlite3BtreeEnter
mov dword [ebp - 0x100], 0x65
cmp byte [ebx + 0x11], 0
je 0x61e5fb64
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0x110], eax
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x110]
mov eax, dword [eax + 0x38]
mov esi, dword [eax + 0x24]
mov eax, ebx
bswap esi
mov ecx, esi
call sym._finalDbSize
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x120]
jae 0x61e5faff
mov eax, 0x10397
call sym._sqlite3CorruptError
mov dword [ebp - 0x100], eax
jmp 0x61e5fb64
test esi, esi
je 0x61e5fb64
mov eax, dword [ebx + 8]
xor ecx, ecx
xor edx, edx
call sym._saveAllCursors.isra.467
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5fb64
mov eax, dword [ebx + 8]
call sym._invalidateAllOverflowCache.isra.73
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0x120]
mov eax, ebx
mov dword [esp], 0
call sym._incrVacuumStep
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5fb64
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x48]
call sym._sqlite3PagerWrite
mov dword [ebp - 0x100], eax
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + 0x38]
mov eax, dword [ebx + 0x2c]
bswap eax
mov dword [edx + 0x1c], eax
mov eax, edi
call sym._sqlite3BtreeLeave
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
cmp dword [ebp - 0x100], 0x65
je 0x61e6106a
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 4], 0
mov edx, dword [eax + 8]
jne 0x61e5fba9
mov eax, dword [ebp - 0xf8]
call sym._sqlite3ExpirePreparedStatements
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xe8]
inc edx
and edx, 3
mov al, byte [eax + 0x94]
mov byte [ebp - 0x110], al
and eax, 0xfffffffc
or edx, eax
mov eax, dword [ebp - 0xe8]
mov byte [eax + 0x94], dl
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 0xc]
test dl, dl
jne 0x61e5fbf2
mov eax, dword [ebp - 0xf8]
test byte [eax + 0x1d], 4
jne case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0x100], 0
mov eax, dword [eax + 4]
shl eax, 4
add eax, dword [edi + 0x10]
mov ebx, dword [eax + 4]
cmp byte [ebx + 9], 0
je case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edi, dword [eax + 8]
lea eax, [edx + 1]
mov byte [ebp - 0x110], al
mov eax, ebx
call sym._sqlite3BtreeEnter
movzx ecx, byte [ebp - 0x110]
mov edx, edi
mov eax, ebx
call sym._querySharedCacheTableLock
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5fca1
mov esi, dword [ebx + 4]
mov eax, dword [esi + 0x48]
test eax, eax
je 0x61e5fc69
cmp edi, dword [eax + 4]
jne 0x61e5fc64
cmp ebx, dword [eax]
je 0x61e5fc87
mov eax, dword [eax + 0xc]
jmp 0x61e5fc57
xor edx, edx
mov eax, 0x10
call sym._sqlite3MallocZero
test eax, eax
je 0x61e5fc97
mov edx, dword [esi + 0x48]
mov dword [eax + 4], edi
mov dword [eax], ebx
mov dword [eax + 0xc], edx
mov dword [esi + 0x48], eax
mov cl, byte [ebp - 0x110]
cmp cl, byte [eax + 8]
jbe 0x61e5fca1
mov byte [eax + 8], cl
jmp 0x61e5fca1
mov dword [ebp - 0x100], 7
mov eax, ebx
call sym._sqlite3BtreeLeave
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
cmp byte [ebp - 0x100], 6
jne 0x61e60962
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], str.database_table_is_locked:__s
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp], eax
call sym._sqlite3VdbeError
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov ebx, dword [eax + 0x10]
mov eax, dword [ebp - 0xf8]
mov edx, dword [eax + 0x144]
test edx, edx
jle 0x61e5fd10
cmp dword [eax + 0x15c], 0
je 0x61e5fddb
test ebx, ebx
je 0x61e60906
mov eax, dword [ebx + 8]
mov esi, dword [eax]
xor eax, eax
cmp dword [esi + 0x38], 0
je 0x61e61031
cmp edx, eax
jle 0x61e5fd45
mov edi, dword [ebp - 0xf8]
mov ecx, dword [edi + 0x15c]
cmp ebx, dword [ecx + eax*4]
je 0x61e61031
inc eax
jmp 0x61e5fd29
mov eax, dword [ebp - 0xf8]
call sym._growVTrans
test eax, eax
jne 0x61e61088
mov eax, dword [ebx + 8]
mov dword [esp], eax
call dword [esi + 0x38]
test eax, eax
jne 0x61e61088
mov edi, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf8]
mov eax, dword [eax + 0x1bc]
add eax, dword [edi + 0x1c0]
mov edi, dword [edi + 0x15c]
mov dword [ebp - 0x100], edi
mov edi, dword [ebp - 0xf8]
mov edx, dword [edi + 0x144]
lea edi, [edx + 1]
mov dword [ecx + 0x144], edi
mov edi, dword [ebp - 0x100]
mov dword [edi + edx*4], ebx
inc dword [ebx + 0xc]
test eax, eax
je 0x61e61031
mov edx, dword [esi + 0x50]
test edx, edx
je 0x61e61031
mov dword [ebx + 0x14], eax
dec eax
mov dword [esp + 4], eax
mov eax, dword [ebx + 8]
mov dword [esp], eax
call edx
mov esi, eax
jmp 0x61e5fde8
test ebx, ebx
je 0x61e61051
mov esi, 6
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0xe8]
add edx, 8
call sym._sqlite3VtabImportErrmsg.isra.306
test esi, esi
je 0x61e60912
mov dword [ebp - 0x100], esi
jmp 0x61e60962
lea ebx, [ebp - 0x80]
xor eax, eax
mov ecx, 0xa
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0xf4]
imul edx, dword [eax + 8], 0x28
mov eax, ebx
add edx, dword [ebp - 0x104]
call sym._sqlite3VdbeMemCopy
mov dword [esp], ebx
mov dword [ebp - 0x100], eax
call sym.sqlite3.dll_sqlite3_value_text
test eax, eax
je 0x61e5ff52
mov esi, dword [ebp - 0xf4]
mov edx, eax
mov esi, dword [esi + 4]
mov dword [ebp - 0x100], esi
mov ecx, esi
mov esi, dword [ebp - 0xf8]
shl ecx, 4
add ecx, dword [esi + 0x10]
mov eax, esi
mov ecx, dword [ecx]
call sym._sqlite3FindTable
mov ebx, eax
mov eax, dword [eax + 0x3c]
mov esi, dword [eax]
mov eax, dword [ebp - 0xf8]
mov edx, esi
add eax, 0x148
call sym._sqlite3HashFind
test eax, eax
je 0x61e5fea4
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
test edx, edx
je 0x61e5fea4
cmp dword [ecx + 0x14], 0
jne 0x61e5fed3
mov eax, dword [ebp - 0xf8]
mov dword [esp + 8], esi
mov dword [esp + 4], str.no_such_module:__s
mov dword [esp], eax
call sym._sqlite3MPrintf
mov esi, dword [ebp - 0xe8]
mov dword [ebp - 0x100], 1
mov dword [esi + 0x6c], eax
jmp 0x61e5ff52
mov esi, dword [ebp - 0xe8]
mov dword [esp], edx
mov edx, ebx
lea ecx, [esi + 0x6c]
mov dword [esp + 4], ecx
mov ecx, eax
mov eax, dword [ebp - 0xf8]
call sym._vtabCallConstructor
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5ff52
mov edx, dword [ebx + 0x40]
mov eax, dword [ebp - 0xf8]
call sym._sqlite3GetVTable.isra.153
test eax, eax
je 0x61e5ff52
mov eax, dword [ebp - 0xf8]
call sym._growVTrans
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5ff52
mov edx, dword [ebx + 0x40]
mov eax, dword [ebp - 0xf8]
call sym._sqlite3GetVTable.isra.153
mov edi, dword [ebp - 0xf8]
mov edx, dword [edi + 0x144]
mov ecx, dword [edi + 0x15c]
lea ebx, [edx + 1]
mov dword [edi + 0x144], ebx
mov dword [ecx + edx*4], eax
inc dword [eax + 0xc]
lea eax, [ebp - 0x80]
call sym._sqlite3VdbeMemRelease
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
jmp 0x61e60962
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf4]
inc dword [eax + 0xb4]
mov eax, dword [ebp - 0xf4]
mov edx, dword [esi + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [ecx + 0x10]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xf8]
call sym._sqlite3FindTable
test eax, eax
mov esi, eax
mov dword [ebp - 0x100], 0
je 0x61e60019
mov eax, dword [eax + 0x40]
test eax, eax
je 0x61e60019
mov edx, dword [eax + 8]
cmp dword [edx + 4], 0
jg 0x61e6000f
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x61e5ffc0
mov eax, dword [ebp - 0xf8]
lea edx, [esi + 0x40]
call sym._vtabDisconnectAll.isra.154
mov ebx, eax
mov eax, dword [eax + 4]
mov edx, dword [ebx + 8]
mov eax, dword [eax]
mov dword [esp], edx
call dword [eax + 0x14]
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e60019
mov dword [ebx + 8], 0
mov eax, ebx
mov dword [esi + 0x40], 0
call sym._sqlite3VtabUnlock
jmp 0x61e60019
mov dword [ebp - 0x100], 6
mov eax, dword [ebp - 0xf8]
dec dword [eax + 0xb4]
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x80], 0
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x61e600cd
mov esi, dword [ebx]
test esi, esi
je 0x61e600dc
lea eax, [ebp - 0x80]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [esi + 0x18]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xe8]
lea edx, [ebx + 8]
call sym._sqlite3VtabImportErrmsg.isra.306
cmp dword [ebp - 0x100], 0
jne 0x61e60962
mov eax, dword [ebp - 0x80]
xor ecx, ecx
mov dword [eax], ebx
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 2
mov dword [esp], 0xffffffff
call sym._allocateCursor
test eax, eax
mov edx, dword [ebp - 0x80]
je 0x61e600c2
mov dword [eax + 0x28], edx
inc dword [ebx + 4]
jmp case.0x61e590ba.86
mov dword [esp], edx
call dword [esi + 0x1c]
jmp 0x61e60ab6
mov dword [ebp - 0x100], 6
jmp 0x61e60962
mov dword [ebp - 0x100], 6
jmp 0x61e60962
mov edi, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xf4]
mov edx, dword [esi + 0x70]
mov ecx, dword [edi + 4]
imul eax, dword [eax + 0xc], 0x28
mov edi, dword [edx + ecx*4]
xor edx, edx
add eax, dword [ebp - 0x104]
mov ebx, dword [edi + 0x28]
mov esi, dword [eax]
add eax, 0x50
mov ecx, dword [ebx]
mov dword [ebp - 0x100], esi
mov esi, dword [ebp - 0xe8]
mov dword [ebp - 0x110], ecx
mov ecx, dword [ecx]
mov esi, dword [esi + 0x60]
mov dword [ebp - 0x120], ecx
mov ecx, dword [eax - 0x28]
cmp edx, ecx
jge 0x61e60149
mov dword [esi + edx*4], eax
inc edx
add eax, 0x28
jmp 0x61e6013c
mov eax, dword [ebp - 0xf4]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
mov eax, dword [eax + 0x10]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x100]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x120]
call dword [eax + 0x20]
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xe8]
add edx, 8
call sym._sqlite3VtabImportErrmsg.isra.306
cmp dword [ebp - 0x100], 0
jne 0x61e60962
mov eax, dword [ebp - 0x120]
mov dword [esp], ebx
call dword [eax + 0x28]
mov byte [edi + 2], 0
test eax, eax
jne 0x61e6106a
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov esi, dword [eax + edx*4]
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 0xc], 0x28
add ebx, dword [ebp - 0x104]
cmp byte [esi + 2], 0
je 0x61e601ef
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
jmp case.0x61e590ba.86
mov eax, dword [esi + 0x28]
lea edx, [ebp - 0x80]
mov ecx, 8
mov edi, edx
mov eax, dword [eax]
mov dword [ebp - 0x110], eax
mov eax, dword [eax]
mov dword [ebp - 0x100], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x80], ebx
cmp word [eax + 2], 0
je 0x61e60235
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
mov word [ebx + 8], 0x4001
mov dword [ebx], 0
jmp 0x61e60243
mov eax, dword [ebx + 8]
and ax, 0x3e00
or eax, 1
mov word [ebx + 8], ax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 8]
mov dword [esp + 8], eax
lea eax, [ebp - 0x80]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x28]
mov dword [esp], eax
mov eax, dword [ebp - 0x100]
call dword [eax + 0x2c]
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xe8]
add edx, 8
call sym._sqlite3VtabImportErrmsg.isra.306
cmp dword [ebp - 0x6c], 0
jle 0x61e602b1
mov dword [esp], ebx
call sym.sqlite3.dll_sqlite3_value_text
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0x61e98be8
mov dword [esp], eax
call sym._sqlite3VdbeError
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x100], eax
mov edx, dword [ebp - 0x114]
mov eax, ebx
call sym._sqlite3VdbeChangeEncoding
mov eax, ebx
call sym._sqlite3VdbeMemTooBig
test eax, eax
jne 0x61e60a74
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
mov esi, dword [eax + edx*4]
cmp byte [esi + 2], 0
jne case.0x61e590ba.86
mov eax, dword [esi + 0x28]
mov ebx, dword [eax]
mov edi, dword [ebx]
mov dword [esp], eax
call dword [edi + 0x24]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xe8]
lea edx, [ebx + 8]
call sym._sqlite3VtabImportErrmsg.isra.306
cmp dword [ebp - 0x100], 0
jne 0x61e60962
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + 0x28]
test eax, eax
je case.0x61e590ba.11
jmp 0x61e59159
mov eax, dword [ebp - 0xf8]
mov edi, dword [ebp - 0xf8]
mov edx, 1
mov eax, dword [eax + 0x1c]
mov esi, eax
or eax, 0x4000000
mov dword [edi + 0x1c], eax
mov eax, dword [ebp - 0xf4]
and esi, 0x4000000
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + 8]
mov eax, dword [ebp - 0xf4]
imul edi, dword [eax + 4], 0x28
add edi, dword [ebp - 0x104]
mov eax, edi
call sym._sqlite3VdbeChangeEncoding
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e60962
mov eax, dword [ebx]
mov edx, dword [edi + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x4c]
test esi, esi
mov dword [ebp - 0x100], eax
jne 0x61e603bd
mov eax, dword [ebp - 0xf8]
and dword [eax + 0x1c], 0xfbffffff
mov eax, dword [ebp - 0xe8]
lea edx, [ebx + 8]
call sym._sqlite3VtabImportErrmsg.isra.306
mov eax, dword [ebp - 0xe8]
and byte [eax + 0x94], 0xfc
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
jmp 0x61e60962
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x49], 0
jne 0x61e60ab6
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x61e6053c
mov ecx, dword [ebx]
test ecx, ecx
je 0x61e6054b
cmp dword [ecx + 0x34], 0
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 8]
je case.0x61e590ba.86
mov eax, dword [ebp - 0xf8]
xor edx, edx
mov al, byte [eax + 0x4e]
mov byte [ebp - 0x110], al
mov eax, dword [ebp - 0xe8]
mov edi, dword [eax + 0x60]
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
cmp edx, esi
jge 0x61e60462
mov dword [edi + edx*4], eax
add eax, 0x28
inc edx
jmp 0x61e60455
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf8]
mov ax, word [eax + 2]
mov byte [edx + 0x4e], al
lea eax, [ebp - 0x80]
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call dword [ecx + 0x34]
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0x100], eax
lea edx, [ebx + 8]
mov al, byte [ebp - 0x110]
mov byte [edi + 0x4e], al
mov eax, dword [ebp - 0xe8]
call sym._sqlite3VtabImportErrmsg.isra.306
cmp dword [ebp - 0x100], 0
jne 0x61e604d4
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 4], 0
je 0x61e604d4
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0xf8]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
cmp byte [ebp - 0x100], 0x13
jne 0x61e60525
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x61e60525
mov eax, dword [ebp - 0xf4]
mov ax, word [eax + 2]
cmp ax, 4
jne 0x61e6050b
mov dword [ebp - 0x100], 0
jmp case.0x61e590ba.86
mov edi, dword [ebp - 0xe8]
cmp ax, 5
mov dl, 2
cmove eax, edx
mov byte [edi + 0x8e], al
jmp 0x61e60962
mov eax, dword [ebp - 0xe8]
inc dword [eax + 0x2c]
cmp dword [ebp - 0x100], 0
je 0x61e604fc
jmp 0x61e60962
mov dword [ebp - 0x100], 6
jmp 0x61e60962
mov dword [ebp - 0x100], 6
jmp 0x61e60962
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov ecx, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf8]
mov edi, dword [ecx + 4]
mov edx, edi
mov dword [ebp - 0x110], edi
shl edx, 4
add edx, dword [esi + 0x10]
mov edx, dword [edx + 4]
mov edx, dword [edx + 4]
mov ecx, dword [edx + 0x2c]
mov dword [eax + 4], 0
mov dword [eax], ecx
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
xor ebx, ebx
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.279
mov esi, eax
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x61e605f6
mov edx, dword [edi + 4]
mov ebx, dword [edx + 0x2c]
cmp eax, ebx
cmovae ebx, eax
mov eax, edi
call sym._sqlite3BtreeEnter
mov eax, dword [edi + 4]
test ebx, ebx
mov eax, dword [eax]
jle 0x61e6060c
mov dword [eax + 0x9c], ebx
mov ebx, dword [eax + 0x9c]
mov eax, edi
call sym._sqlite3BtreeLeave
mov dword [esi], ebx
sar ebx, 0x1f
mov dword [esi + 4], ebx
jmp case.0x61e590ba.86
mov eax, dword [ebp - 0xf4]
xor ecx, ecx
movzx eax, word [eax + 2]
lea edx, [eax*4 + 0x1c]
mov ebx, eax
mov eax, dword [ebp - 0xf8]
call sym._sqlite3DbMallocRawNN
test eax, eax
je 0x61e60ab6
mov esi, dword [ebp - 0xf4]
mov dword [eax], 0
mov edi, dword [ebp - 0xe8]
mov edx, dword [esi + 0x10]
mov dword [eax + 0x14], 0
mov dword [eax + 0xc], edi
mov byte [eax + 0x19], bl
mov dword [eax + 4], edx
mov edx, esi
sub edx, dword [ebp - 0x108]
sar edx, 2
imul edx, edx, 0xcccccccd
mov dword [eax + 0x10], edx
add byte [esi], 2
mov byte [esi + 1], 0xf0
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xf4]
imul esi, dword [eax + 0xc], 0x28
mov ebx, dword [eax + 0x10]
add esi, dword [ebp - 0x104]
cmp esi, dword [ebx]
jne 0x61e606d9
mov eax, dword [esi + 8]
lea edx, [ebx + 0x1c]
and ax, 0x3e00
or eax, 1
mov word [esi + 8], ax
mov eax, dword [ebx + 4]
mov dword [esp + 8], edx
movzx edx, byte [ebx + 0x19]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x10]
cmp dword [ebx + 0x14], 0
jne 0x61e606ff
jmp 0x61e60760
movzx eax, byte [ebx + 0x19]
mov dword [ebx], esi
dec eax
cmp eax, 0xffffffff
je 0x61e606a8
mov edi, dword [ebp - 0xf4]
mov edx, dword [edi + 8]
add edx, eax
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov dword [ebx + eax*4 + 0x1c], edx
jmp 0x61e606df
jle 0x61e6072c
mov dword [esp], esi
call sym.sqlite3.dll_sqlite3_value_text
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0x61e98be8
mov dword [esp], eax
call sym._sqlite3VdbeError
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebp - 0x174]
mov eax, dword [eax + 4]
mov dword [esp], eax
mov eax, dword [ebp - 0xf8]
call sym._sqlite3VdbeDeleteAuxData
cmp dword [ebp - 0x100], 0
mov dword [ebx + 0x14], 0
jne 0x61e60962
test byte [esi + 8], 0x12
je case.0x61e590ba.86
mov edx, dword [ebp - 0x114]
mov eax, esi
call sym._sqlite3VdbeChangeEncoding
mov eax, esi
call sym._sqlite3VdbeMemTooBig
test eax, eax
je case.0x61e590ba.86
jmp 0x61e60a74
mov eax, dword [ebp - 0xf8]
mov al, byte [eax + 0x50]
test al, 0x81
je 0x61e60899
mov esi, dword [ebp - 0xe8]
test byte [esi + 0x94], 0x10
jne 0x61e60899
mov edi, dword [ebp - 0xf4]
mov edx, dword [edi + 0x10]
test edx, edx
jne 0x61e607ca
mov edx, dword [esi + 0xbc]
test edx, edx
je 0x61e60899
test al, al
mov eax, dword [ebp - 0xf8]
jns 0x61e60809
mov esi, dword [eax + 0xc0]
mov eax, dword [ebp - 0xe8]
call sym._sqlite3VdbeExpandSql
mov dword [esp + 4], eax
mov ebx, eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xc4]
mov dword [esp], eax
call esi
mov dword [esp], ebx
call sym.sqlite3.dll_sqlite3_free
jmp 0x61e60899
cmp dword [eax + 0xb0], 1
jle 0x61e60868
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 - 0xe8]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xc4]
mov dword [esp], 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xf8]
call dword [eax + 0xc0]
mov eax, dword [ebp - 0xf8]
mov edx, ebx
call sym._sqlite3DbFree
jmp 0x61e60899
mov eax, dword [ebp - 0xe8]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xc4]
mov dword [esp], 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xf8]
call dword [eax + 0xc0]
mov eax, dword [ebp - 0xf4]
mov ecx, dword [0x61e97b6c]
cmp dword [eax + 4], ecx
jl 0x61e608ec
cmp byte [eax], 0xa9
je case.0x61e590ba.86
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0x88]
mov eax, 1
cmp eax, ecx
jge 0x61e608df
mov edi, dword [ebp - 0xe8]
imul edx, eax, 0x14
add edx, dword [edi + 0x58]
cmp byte [edx], 0x11
jne 0x61e608dc
mov dword [edx + 4], 0
inc eax
jmp 0x61e608c0
mov eax, dword [ebp - 0xf4]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0xf4]
inc dword [eax + 4]
mov eax, dword [ebp - 0xe8]
inc dword [eax + 0xb8]
jmp 0x61e591f5
mov dword [ebp - 0x100], 0
jmp case.0x61e590ba.86
mov dword [ebp - 0x100], 0
add dword [ebp - 0xf4], 0x14
jmp 0x61e590a0
mov dword [ebp - 0x100], 9
jmp 0x61e60962
mov dword [ebp - 0x100], 0x204
jmp 0x61e60962
mov dword [ebp - 0x100], 7
jmp 0x61e60962
mov dword [ebp - 0x100], 7
jmp 0x61e60962
mov dword [ebp - 0x100], 7
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x49], 0
mov eax, 7
cmove eax, dword [ebp - 0x100]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xe8]
cmp dword [eax + 0x6c], 0
jne 0x61e609bb
cmp dword [ebp - 0x100], 0xc0a
je 0x61e609bb
mov eax, dword [ebp - 0x100]
call sym._sqlite3ErrStr
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0x61e98be8
mov dword [esp], eax
call sym._sqlite3VdbeError
mov ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x28], ecx
mov eax, dword [ebp - 0xf8]
mov edx, ecx
call sym._sqlite3SystemError
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x6c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xbc]
mov dword [esp + 4], str.statement_aborts_at__d:___s___s
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0x108]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x100]
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_log
mov eax, dword [ebp - 0xe8]
call sym._sqlite3VdbeHalt
cmp dword [ebp - 0x100], 0xc0a
jne 0x61e60a45
mov eax, dword [ebp - 0xf8]
call sym._sqlite3OomFault
cmp byte [ebp - 0x126], 0
mov dword [ebp - 0x100], 1
je 0x61e610a6
movzx edx, byte [ebp - 0x126]
mov eax, dword [ebp - 0xf8]
dec edx
call sym._sqlite3ResetOneSchema
jmp 0x61e610a6
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], str.string_or_blob_too_big
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x100], 0x12
jmp 0x61e60962
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x124], 0
mov byte [ebp - 0x126], 0
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf8]
call sym._sqlite3OomFault
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0x61e99073
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x100], 7
jmp 0x61e60962
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x124], 0
mov byte [ebp - 0x126], 0
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x49], 1
sbb eax, eax
mov dword [ebp - 0x100], eax
and dword [ebp - 0x100], 2
add dword [ebp - 0x100], 7
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x100]
mov dword [eax + 0x28], ecx
mov eax, ecx
call sym._sqlite3ErrStr
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0x61e98be8
mov dword [esp], eax
call sym._sqlite3VdbeError
jmp 0x61e60962
cmp dword [ebp - 0x110], 1
mov edi, dword [ebp - 0xf8]
sete al
cmp dword [edi + 0xac], 0
jg 0x61e60df1
cmp dword [ebx + 0x18], 0
mov dword [ebp - 0x130], 0
jne 0x61e60b9a
mov esi, dword [ebp - 0xf8]
xor ecx, ecx
cmp byte [esi + 0x4f], 0
setne cl
mov dword [ebp - 0x130], ecx
cmp dword [ebp - 0x130], 0
je 0x61e60c34
test al, al
je 0x61e60c34
mov eax, dword [ebp - 0xe8]
mov edx, 1
call sym._sqlite3VdbeCheckFk
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e610a6
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x47], 1
mov eax, dword [ebp - 0xe8]
call sym._sqlite3VdbeHalt
cmp eax, 5
jne 0x61e60c16
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0x108]
mov edi, dword [ebp - 0xe8]
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x47], 0
mov eax, edi
jmp 0x61e5b73d
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x4f], 0
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x100], eax
jmp 0x61e60d11
mov eax, dword [ebp - 0x120]
mov esi, dword [ebp - 0xf8]
not eax
add eax, dword [esi + 0x1bc]
xor esi, esi
cmp dword [ebp - 0x110], 2
mov dword [ebp - 0x120], eax
jne 0x61e60cb1
mov eax, dword [ebp - 0xf8]
xor edi, edi
mov eax, dword [eax + 0x18]
mov esi, eax
and esi, 1
mov eax, esi
xor eax, 1
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0xf8]
cmp edi, dword [eax + 0x14]
jge 0x61e60cb1
mov ecx, dword [ebp - 0xf8]
mov eax, edi
mov edx, 0x204
shl eax, 4
add eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x138]
mov eax, dword [eax + 4]
call sym._sqlite3BtreeTripAllCursors
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e60962
inc edi
jmp 0x61e60c74
xor edi, edi
mov eax, dword [ebp - 0xf8]
cmp edi, dword [eax + 0x14]
jge 0x61e60cf1
mov ecx, dword [ebp - 0xf8]
mov eax, edi
mov edx, dword [ebp - 0x110]
shl eax, 4
add eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x120]
mov eax, dword [eax + 4]
call sym._sqlite3BtreeSavepoint
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e60962
inc edi
jmp 0x61e60cb3
test esi, esi
je 0x61e60d11
xor edx, edx
call sym._sqlite3ExpirePreparedStatements
mov eax, dword [ebp - 0xf8]
call sym._sqlite3ResetAllSchemasOfConnection
mov eax, dword [ebp - 0xf8]
or dword [eax + 0x18], 1
mov eax, dword [ebp - 0xf8]
mov edx, dword [eax + 0x1b4]
cmp ebx, edx
je 0x61e60d45
mov eax, dword [edx + 0x18]
mov edi, dword [ebp - 0xf8]
mov dword [edi + 0x1b4], eax
mov eax, edi
call sym._sqlite3DbFree
mov eax, dword [ebp - 0xf8]
dec dword [eax + 0x1bc]
jmp 0x61e60d11
cmp dword [ebp - 0x110], 1
jne 0x61e60d7d
mov eax, dword [ebx + 0x18]
mov esi, dword [ebp - 0xf8]
mov edx, ebx
mov dword [esi + 0x1b4], eax
mov eax, esi
call sym._sqlite3DbFree
cmp dword [ebp - 0x130], 0
jne 0x61e60da7
mov eax, dword [ebp - 0xf8]
dec dword [eax + 0x1bc]
jmp 0x61e60da7
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov edi, dword [ebp - 0xf8]
mov dword [edi + 0x1c8], eax
mov dword [edi + 0x1cc], edx
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov dword [edi + 0x1d0], eax
mov dword [edi + 0x1d4], edx
cmp dword [ebp - 0x130], 0
je 0x61e60db9
cmp dword [ebp - 0x110], 2
jne 0x61e60ddf
mov ecx, dword [ebp - 0x120]
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0xf8]
call sym._sqlite3VtabSavepoint
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e60e47
jmp 0x61e60962
cmp dword [ebp - 0x100], 0
je case.0x61e590ba.86
jmp 0x61e60962
test al, al
je 0x61e60b75
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], str.cannot_release_savepoint___SQL_statements_in_progress
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x100], 5
jmp 0x61e60962
mov eax, dword [ebp - 0xe8]
mov dword [esp + 8], esi
mov dword [esp + 4], str.no_such_savepoint:__s
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x100], 1
jmp 0x61e60962
mov dword [ebp - 0x100], 0
jmp case.0x61e590ba.86
mov edi, 7
mov eax, dword [ebp - 0x110]
call sym._vdbeMergeEngineFree
mov dword [ebp - 0x110], 0
jmp 0x61e60fc3
cmp byte [ebx + 0x39], 0
je 0x61e60ec6
dec eax
imul eax, eax, 0x48
cmp dword [ebx + eax + 0x4c], 0
lea esi, [ebx + eax + 0x40]
je 0x61e60eb3
mov eax, dword [ebp - 0x164]
xor ecx, ecx
mov edx, 0x38
call sym._sqlite3DbMallocZero
test eax, eax
mov dword [ebp - 0x100], eax
mov dword [ebx + 0x10], eax
jne 0x61e60f0c
mov edi, 7
jmp 0x61e60fc3
mov eax, esi
call sym._vdbeSortAllocUnpacked.part.112
test eax, eax
mov edi, eax
jne 0x61e60fc3
jmp 0x61e60e8a
mov edx, dword [ebp - 0x110]
lea eax, [ebx + 0x40]
xor ecx, ecx
call sym._vdbeMergeEngineInit
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x110]
mov dword [ebx + 0x14], eax
cmp dword [ebp - 0x100], 0
je 0x61e61079
mov dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x110]
call sym._vdbeMergeEngineFree
jmp 0x61e60962
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0x110]
lea ecx, [eax + 0x30]
mov eax, esi
call sym._vdbeIncrMergerNew
test eax, eax
mov edi, eax
jne 0x61e60e66
mov eax, dword [ebp - 0x100]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax]
mov dword [eax + 0x18], 1
mov eax, dword [eax + 0x10]
cdq
sub dword [ecx + 0x40], eax
sbb dword [ecx + 0x44], edx
xor ecx, ecx
movzx eax, byte [ebx + 0x3b]
dec eax
cmp ecx, eax
jge 0x61e60f7c
mov esi, dword [ebp - 0x110]
imul eax, ecx, 0x38
add eax, dword [esi + 0xc]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x61e60f79
mov dword [eax + 0x18], 1
mov esi, dword [eax]
mov eax, dword [eax + 0x10]
cdq
sub dword [esi + 0x40], eax
sbb dword [esi + 0x44], edx
inc ecx
jmp 0x61e60f4a
xor esi, esi
movzx eax, byte [ebx + 0x3b]
cmp eax, esi
jle 0x61e60fa8
mov edi, dword [ebp - 0x110]
mov edx, 1
imul eax, esi, 0x38
inc esi
add eax, dword [edi + 0xc]
call sym._vdbePmaReaderIncrInit
test eax, eax
mov edi, eax
je 0x61e60f7e
jmp 0x61e60e66
mov eax, dword [ebp - 0x100]
mov edx, 2
call sym._vdbePmaReaderIncrMergeInit
mov dword [ebp - 0x100], eax
jmp 0x61e60ee5
mov dword [ebp - 0x100], edi
jmp 0x61e60efc
mov eax, dword [ebp - 0x120]
mov byte [eax + 2], 0
jmp case.0x61e590ba.86
mov eax, ebx
call sym._vdbeSorterFlushPMA
mov dword [ebx + 0x2c], 0
mov dword [ebp - 0x100], eax
mov dword [ebx + 0x30], 0
jmp 0x61e5d6a1
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x10c]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
call sym._sqlite3VdbeMemSetInt64
jmp 0x61e59159
mov edx, esi
mov eax, ebx
call sym._sqlite3PagerSetJournalMode
jmp 0x61e5f443
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0xe8]
add edx, 8
call sym._sqlite3VtabImportErrmsg.isra.306
mov dword [ebp - 0x100], 0
jmp case.0x61e590ba.86
mov dword [ebp - 0x100], 6
jmp 0x61e60962
mov eax, dword [ebp - 0x120]
mov byte [eax + 2], 1
mov dword [ebp - 0x100], 0
jmp 0x61e591f5
mov eax, dword [ebp - 0x120]
mov byte [eax + 2], 0
jmp case.0x61e590ba.86
mov edx, dword [ebx + 8]
mov esi, eax
mov eax, dword [ebp - 0xe8]
add edx, 8
call sym._sqlite3VtabImportErrmsg.isra.306
mov dword [ebp - 0x100], esi
jmp 0x61e60962
mov eax, dword [ebp - 0xe8]
mov esi, dword [ebp - 0x124]
add dword [eax + 0xb0], esi
call sym._sqlite3VdbeLeave
mov eax, dword [ebp - 0x100]
add esp, 0x18c
pop ebx
pop esi
pop edi
pop ebp
ret