Function at 0x61e5412c
Capabilities:
Parse credit card information
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 + 0x42]
mov byte [ebp - 0x135], al
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0xf8]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x11c], edx
call sym._sqlite3VdbeEnter
mov eax, dword [ebp - 0xe8]
cmp dword [eax + 0x28], 7
je 0x61e5b78b
mov dword [eax + 0x28], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0x68], 0
mov eax, dword [ebp - 0xf8]
mov dword [eax + 0x184], 0
mov eax, dword [eax + 0xf8]
test eax, eax
jne 0x61e5b7d8
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x14c], 0
cmp dword [eax + 0x130], 0
je 0x61e54211
mov ecx, dword [eax + 0x138]
mov eax, dword [ebp - 0xe8]
xor edx, edx
mov eax, dword [eax + 0xac]
div ecx
sub ecx, edx
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x118], 0
mov byte [ebp - 0x136], 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 - 0x135]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0xf4]
inc dword [ebp - 0x12c]
mov bl, byte [eax]
cmp bl, 0x9e
ja case.0x61e5427d.112
movzx ecx, bl
jmp dword [ecx*4 + 0x61e90264]
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 dword [ebp - 0x80], 0
mov ebx, dword [edi + 0x28]
cmp byte [ebx + 0x38], 0
je 0x61e58642
cmp byte [ebx + 0x39], 0
je 0x61e58632
mov eax, dword [ebx + 0x10]
call sym._vdbePmaReaderNext
mov dword [ebp - 0x100], eax
mov eax, dword [ebx + 0x10]
cmp dword [eax + 0x18], 0
sete al
movzx eax, al
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x100], 0
mov dword [edi + 0x1c], 0
jne 0x61e5b654
cmp dword [ebp - 0x80], 0
jne 0x61e586e7
mov eax, dword [ebp - 0xf4]
mov byte [edi + 2], 0
mov edi, dword [ebp - 0xe8]
movzx eax, byte [eax + 3]
inc dword [edi + eax*4 + 0x9c]
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 + 0xf8]
test eax, eax
jne 0x61e5b7f5
mov edi, dword [ebp - 0x12c]
cmp dword [ebp - 0x14c], edi
mov eax, dword [ebp - 0xf8]
mov ebx, dword [eax + 0x130]
ja case.0x61e5427d.112
test ebx, ebx
je case.0x61e5427d.112
mov ecx, dword [eax + 0x138]
xor edx, edx
mov eax, edi
div ecx
mov eax, dword [ebp - 0xf8]
lea esi, [edi + ecx]
mov eax, dword [eax + 0x134]
sub esi, edx
mov dword [ebp - 0x14c], esi
mov dword [esp], eax
call ebx
test eax, eax
je case.0x61e5427d.112
jmp 0x61e5b61a
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.0x61e5427d.112
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.0x61e5427d.112
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 0x61e5581d
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.0x61e5427d.112
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.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x104]
imul eax, dword [eax + 0xc], 0x28
test byte [edi + eax + 8], 1
je case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
test edx, edx
jne 0x61e5458b
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x61e5458b
mov edx, dword [eax + 4]
mov edi, dword [ebp - 0xe8]
mov dword [edi + 0xb8], edx
dec dword [edi + 0xc0]
mov edx, dword [edi + 0x2c]
mov edi, dword [ebp - 0xf8]
add dword [edi + 0x5c], edx
mov dword [edi + 0x58], edx
call sym._sqlite3VdbeFrameRestore
mov edi, dword [ebp - 0xf8]
mov esi, dword [edi + 0x20]
mov edi, dword [edi + 0x24]
mov dword [ebp - 0x11c], edi
mov edi, dword [ebp - 0xf4]
mov dword [ebp - 0x120], esi
cmp dword [edi + 8], 4
mov edi, dword [ebp - 0xe8]
mov edx, dword [edi + 0x58]
jne 0x61e54566
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.0x61e5427d.112
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 0x61e5468e
mov eax, dword [ebp - 0xf4]
movzx eax, byte [eax + 3]
test al, al
je 0x61e54631
mov eax, dword [eax*4 + 0x61e956b4]
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 0x61e54654
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 0x61e54654
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov dword [esp + 4], 0x61e8dab0
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 + 0xb0]
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 0x61e56a8b
mov dword [eax + 0x28], 5
jmp 0x61e5bd5c
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.286
mov edi, dword [ebp - 0xf4]
mov edx, dword [edi + 4]
mov dword [eax], edx
sar edx, 0x1f
mov dword [eax + 4], edx
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.286
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.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.286
mov edi, dword [ebp - 0xf4]
mov word [eax + 8], 8
mov edx, dword [edi + 0x10]
fld qword [edx]
fstp qword [eax]
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.286
mov ebx, eax
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 0x10]
mov byte [eax], 0x4e
mov eax, esi
call sym._sqlite3Strlen30
cmp byte [ebp - 0x135], 1
mov edi, dword [ebp - 0xf4]
mov dword [edi + 4], eax
je 0x61e547fc
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 0x61e5b7a8
mov eax, dword [ebp - 0xf4]
or word [ebx + 8], 0x800
mov dword [ebx + 0x18], 0
cmp byte [eax + 1], 0xff
jne 0x61e547e0
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], 0xff
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 + 0x60]
cmp dword [eax + 4], edi
jg 0x61e5b766
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.286
mov edi, dword [ebp - 0xf4]
mov word [eax + 8], 0xa02
mov cl, byte [ebp - 0x135]
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.0x61e5427d.112
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
movzx ecx, byte [edi + 3]
cmp dword [edx + 4], 0
jne case.0x61e5427d.112
cmp dword [edx], ecx
jne case.0x61e5427d.112
mov word [eax + 8], 0xa10
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.286
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.0x61e5427d.112
add ebx, 0x28
dec edi
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
mov word [ebx + 8], si
mov dword [ebx + 0xc], 0
jmp 0x61e548c1
mov eax, dword [ebp - 0xf4]
imul edx, dword [eax + 4], 0x28
add edx, dword [ebp - 0x104]
mov eax, dword [edx + 8]
and al, 0x7f
or eax, 1
mov word [edx + 8], ax
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.286
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 - 0x135]
mov byte [ebx + 0xa], al
jmp case.0x61e5427d.112
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 0x61e5b766
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [edi + 0x5c]
call sym._out2Prerelease.isra.286
mov ecx, 0x800
mov edx, ebx
call sym._sqlite3VdbeMemShallowCopy
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x128], 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 0x61e54a0e
add dword [ebp - 0x110], 0x28
add ebx, 0x28
dec dword [ebp - 0x128]
jne 0x61e549c8
jmp case.0x61e5427d.112
mov eax, ebx
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x61e549f7
jmp 0x61e5b7a8
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 0x61e54a6c
cmp edi, dword [ebp - 0x110]
je case.0x61e5427d.112
add ebx, 0x28
add esi, 0x28
inc edi
jmp 0x61e54a43
mov eax, ebx
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x61e54a57
jmp 0x61e5b7a8
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.0x61e5427d.112
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.0x61e5427d.112
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x130]
test eax, eax
je 0x61e54af0
mov esi, dword [ebp - 0x12c]
cmp dword [ebp - 0x14c], esi
jbe 0x61e54b50
mov eax, dword [ebp - 0xe8]
xor edx, edx
call sym._sqlite3VdbeCheckFk
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5b654
mov eax, dword [ebp - 0xe8]
mov edx, 1
xor ebx, ebx
call sym._sqlite3VdbeCloseStatement
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xe8]
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
jmp 0x61e54b93
mov edi, dword [ebp - 0xf8]
mov edx, dword [edi + 0x134]
mov dword [esp], edx
call eax
test eax, eax
je 0x61e54af0
mov dword [ebp - 0x100], 9
jmp 0x61e5b654
test byte [esi + 9], 0x10
jne 0x61e54ba0
mov ax, word [esi + 8]
and ax, 0x202
cmp ax, 2
jne 0x61e54b8f
mov eax, esi
call sym._vdbeMemAddTerminator
inc ebx
add esi, 0x28
mov eax, dword [ebp - 0xf4]
cmp ebx, dword [eax + 8]
jl 0x61e54b74
jmp 0x61e54bb0
mov eax, esi
call sym._sqlite3VdbeMemMakeWriteable
test eax, eax
je 0x61e54b7a
jmp 0x61e5b7a8
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x45], 0
jne 0x61e5b7a8
test byte [eax + 0x4c], 4
je 0x61e54bfb
mov eax, dword [ebp - 0xe8]
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xbc]
mov dword [esp], 4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xf8]
call dword [eax + 0xb8]
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 0x61e5bd5c
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x128], 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 - 0x128]
add ebx, dword [ebp - 0x104]
mov eax, dword [eax + 8]
mov edx, eax
or edx, dword [edi + 8]
and dl, 1
je 0x61e54c8a
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
jmp case.0x61e5427d.112
test ah, 0x40
jne 0x61e54c9d
mov eax, dword [ebp - 0x110]
test byte [eax + 9], 0x40
je 0x61e54cc4
jmp 0x61e54cb1
mov eax, dword [ebp - 0x128]
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
je 0x61e54c8f
jmp 0x61e5b7a8
mov eax, dword [ebp - 0x110]
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
jne 0x61e5b7a8
mov eax, dword [ebp - 0x128]
test byte [eax + 8], 0x12
jne 0x61e54ceb
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x128]
xor ecx, ecx
call sym._sqlite3VdbeMemStringify
test eax, eax
jne 0x61e5b7a8
mov eax, dword [ebp - 0x110]
test byte [eax + 8], 0x12
jne 0x61e54d12
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x110]
xor ecx, ecx
call sym._sqlite3VdbeMemStringify
test eax, eax
jne 0x61e5b7a8
mov edi, dword [ebp - 0x128]
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 0xc]
add eax, dword [edi + 0xc]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0xf8]
mov edi, dword [ebp - 0x134]
cmp edi, dword [eax + 0x60]
jg 0x61e5b766
mov eax, dword [ebp - 0x134]
xor ecx, ecx
cmp dword [ebp - 0x110], ebx
lea edx, [eax + 2]
mov eax, ebx
sete cl
call sym._sqlite3VdbeMemGrow
test eax, eax
jne 0x61e5b7a8
mov eax, dword [ebx + 8]
and ax, 0x3e00
or eax, 2
cmp dword [ebp - 0x110], ebx
mov word [ebx + 8], ax
je 0x61e54d89
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 - 0x128]
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 - 0x134]
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 - 0x135]
or word [ebx + 8], 0x200
mov dword [ebx + 0xc], edi
mov byte [ebx + 0xa], al
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x134], eax
call sym._numericType
mov word [ebp - 0x148], ax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x140], eax
call sym._numericType
mov word [ebp - 0x158], ax
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x140]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 8]
or eax, dword [edi + 8]
test al, 1
jne 0x61e552e2
mov eax, dword [ebp - 0x148]
and eax, dword [ebp - 0x158]
test al, 4
je 0x61e55173
mov eax, dword [ebp - 0x134]
mov esi, dword [edi]
mov edi, dword [edi + 4]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x10c], edx
mov al, byte [eax]
cmp al, 0x30
je 0x61e54eb0
ja 0x61e54e9f
cmp al, 0x2f
jne 0x61e550ea
mov edx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x10c]
jmp 0x61e54eda
cmp al, 0x31
je 0x61e54f0a
cmp al, 0x32
je 0x61e55097
jmp 0x61e550ea
mov eax, dword [ebp - 0x10c]
add eax, 0x80000000
or eax, dword [ebp - 0x110]
je 0x61e54ef4
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 0x61e55148
mov esi, 1
jmp 0x61e55175
test edi, edi
jns 0x61e54eea
mov eax, esi
mov edx, edi
add eax, 0
adc edx, 0x80000000
jmp 0x61e55142
cmp dword [ebp - 0x10c], 0
jl 0x61e54f8a
jg 0x61e54f1e
cmp dword [ebp - 0x110], 0
jbe 0x61e54f8a
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 0x61e54eea
jl 0x61e54f50
cmp esi, eax
ja 0x61e54eea
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 0x61e54eea
jg 0x61e55074
cmp esi, eax
jmp 0x61e54fdc
mov eax, dword [ebp - 0x10c]
or eax, dword [ebp - 0x110]
je 0x61e55074
cmp edi, 0
jl 0x61e54fe7
jg 0x61e54fa8
cmp esi, 0
jbe 0x61e54fe7
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 0x61e54eea
jg 0x61e55074
cmp dword [ebp - 0x110], eax
jb 0x61e54eea
jmp 0x61e55074
mov eax, edi
or eax, esi
je 0x61e55074
lea edx, [edi - 0x80000000]
mov eax, esi
or eax, edx
je 0x61e54eea
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x110]
lea edx, [ecx - 0x80000000]
or eax, edx
je 0x61e54eea
mov eax, esi
mov edx, edi
mov dword [esp], 1
neg eax
mov dword [esp + 4], 0x80000000
adc edx, 0
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x110]
neg edx
mov dword [ebp - 0x15c], edx
mov edx, dword [ebp - 0x10c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call dbg.__divdi3
cmp dword [ebp - 0x15c], edx
jg 0x61e54eea
jl 0x61e55074
cmp dword [ebp - 0x160], eax
ja 0x61e54eea
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 0x61e55142
mov eax, dword [ebp - 0x10c]
or eax, dword [ebp - 0x110]
je 0x61e552e2
mov eax, dword [ebp - 0x110]
and eax, dword [ebp - 0x10c]
inc eax
jne 0x61e550c8
lea edx, [edi - 0x80000000]
mov eax, esi
or eax, edx
je 0x61e54eea
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 0x61e55142
mov eax, dword [ebp - 0x10c]
or eax, dword [ebp - 0x110]
je 0x61e552e2
cmp dword [ebp - 0x10c], 0xffffffff
jne 0x61e55122
cmp dword [ebp - 0x110], 0xffffffff
jne 0x61e55122
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 - 0x128]
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.0x61e5427d.112
xor esi, esi
mov eax, dword [ebp - 0x134]
call sym._sqlite3VdbeRealValue
mov eax, dword [ebp - 0x140]
fstp qword [ebp - 0x110]
call sym._sqlite3VdbeRealValue
mov eax, dword [ebp - 0xf4]
fld qword [ebp - 0x110]
mov al, byte [eax]
cmp al, 0x30
je 0x61e551ba
ja 0x61e551b0
cmp al, 0x2f
jne 0x61e551df
faddp st(1)
jmp 0x61e55279
cmp al, 0x31
je 0x61e551c1
cmp al, 0x32
je 0x61e551c8
jmp 0x61e551df
fsubp st(1)
jmp 0x61e55279
fmulp st(1)
jmp 0x61e55279
fldz
fxch st(1)
fucomi st(1)
fstp st(1)
jp 0x61e551d8
je 0x61e552de
fdivp st(1)
jmp 0x61e55279
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 0x61e552e2
cmp ebx, 0xffffffff
jne 0x61e55253
cmp ecx, 0xffffffff
jne 0x61e55253
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 0x61e552e2
mov eax, dword [ebp - 0x128]
fld qword [ebp - 0x110]
mov edi, dword [ebp - 0x128]
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 - 0x148]
or eax, dword [ebp - 0x158]
test al, 8
jne case.0x61e5427d.112
mov eax, esi
test al, al
jne case.0x61e5427d.112
mov eax, edi
call sym._sqlite3VdbeIntegerAffinity
jmp case.0x61e5427d.112
fstp st(0)
fstp st(0)
mov eax, dword [ebp - 0x128]
call sym._sqlite3VdbeMemSetNull
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 4]
test eax, eax
je case.0x61e5427d.112
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
xor edx, edx
xor ecx, ecx
call sym._sqlite3VdbeMemSetInt64
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
xor ecx, ecx
movzx eax, byte [eax + 3]
lea edx, [eax*4 + 0x1c]
mov ebx, eax
mov eax, dword [ebp - 0xf8]
call sym._sqlite3DbMallocRawNN
test eax, eax
je 0x61e5b7a8
mov edi, dword [ebp - 0xf4]
mov dword [eax], 0
mov edx, dword [edi + 0x10]
mov byte [eax + 0x1a], bl
mov dword [eax + 4], edx
mov edx, edi
sub edx, dword [ebp - 0x108]
mov edi, dword [ebp - 0xe8]
sar edx, 2
mov dword [eax + 0xc], edi
mov edi, dword [ebp - 0xf4]
imul edx, edx, 0xcccccccd
mov dword [eax + 0x10], edx
mov byte [edi + 1], 0xf0
mov dword [edi + 0x10], eax
mov byte [edi], 0x5a
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 0x61e55402
mov edx, dword [ebx]
mov edi, dword [ebp - 0xf8]
mov eax, dword [edx + 8]
and ax, 0x3e00
or eax, 1
mov word [edx + 8], ax
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
mov byte [ebx + 0x19], 0
mov dword [edi + 0x24], edx
lea edx, [ebx + 0x1c]
mov dword [edi + 0x20], eax
mov eax, dword [ebx + 4]
mov dword [esp + 8], edx
movzx edx, byte [ebx + 0x1a]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0xc]
mov eax, dword [ebp - 0xf8]
cmp byte [ebx + 0x19], 0
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x120], eax
jne 0x61e55428
jmp 0x61e5548e
movzx eax, byte [ebx + 0x1a]
mov dword [ebx], esi
dec eax
cmp eax, 0xffffffff
je 0x61e5539b
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 0x61e55408
cmp dword [ebx + 0x14], 0
je 0x61e5545b
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], 0x61e8dab0
mov dword [esp], eax
call sym._sqlite3VdbeError
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebx + 0x10]
lea edx, [eax + 0xcc]
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 4]
mov dword [esp], eax
mov eax, dword [ebp - 0xf8]
call sym._sqlite3VdbeDeleteAuxData
cmp dword [ebp - 0x100], 0
jne 0x61e5b654
test byte [esi + 8], 0x12
je case.0x61e5427d.112
mov edx, dword [ebp - 0x114]
mov eax, dword [ebx]
call sym._sqlite3VdbeChangeEncoding
mov eax, dword [ebx]
jmp 0x61e5a12a
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 - 0x128], edx
mov edx, dword [ebx + 8]
or edx, dword [eax + 8]
and dl, 1
je 0x61e554f7
mov eax, dword [ebp - 0x128]
call sym._sqlite3VdbeMemSetNull
jmp case.0x61e5427d.112
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, 0x2b
jne 0x61e5552e
mov ecx, dword [ebp - 0x110]
mov edi, dword [ebp - 0x10c]
and ecx, eax
and edi, edx
jmp 0x61e55543
cmp cl, 0x2c
jne 0x61e55554
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 0x61e55634
mov edi, edx
or edi, eax
je 0x61e55634
cmp edx, 0
jge 0x61e55577
mov bl, 0x5b
sub ebx, ecx
inc edx
mov cl, bl
jl 0x61e5557e
jg 0x61e55573
cmp eax, 0xffffffc1
jb 0x61e5557e
neg eax
jmp 0x61e555b3
jg 0x61e5557e
cmp eax, 0x3f
jbe 0x61e555b3
mov esi, dword [ebp - 0x10c]
not esi
shr esi, 0x1f
cmp cl, 0x2d
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 0x61e55634
cmp cl, 0x2d
jne 0x61e555db
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 0x61e55628
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 0x61e55628
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 - 0x128]
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 - 0x128]
mov word [ebp - 0x110], ax
and ax, 0x3e00
or eax, 4
mov word [edi + 8], ax
jmp case.0x61e5427d.112
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.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
test byte [ebx + 8], 4
jne 0x61e556e3
mov ecx, dword [ebp - 0x114]
mov edx, 0x43
mov eax, ebx
call sym._applyAffinity
test byte [ebx + 8], 4
jne 0x61e556e3
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 8], 0
jne 0x61e543c4
mov dword [ebp - 0x100], 0x14
jmp 0x61e5b654
mov eax, dword [ebx + 8]
and ax, 0x3e00
or eax, 4
mov word [ebx + 8], ax
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
test byte [ebx + 8], 4
je case.0x61e5427d.112
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.0x61e5427d.112
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 0x61e55759
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.0x61e5427d.112
jmp 0x61e5b654
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x104]
imul eax, dword [eax + 4], 0x28
add edi, eax
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 0xc], 0x28
mov eax, dword [edi + 8]
add ebx, dword [ebp - 0x104]
mov edx, eax
mov word [ebp - 0x110], ax
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebx + 8]
mov al, byte [eax + 3]
or edx, esi
test dl, 1
je 0x61e55828
test al, al
jns 0x61e557ea
mov edx, dword [ebp - 0x110]
mov eax, 1
and edx, esi
and dl, 1
je 0x61e55964
mov eax, esi
movzx eax, ah
and eax, 1
jmp 0x61e55964
test al, 0x20
je 0x61e5581b
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.0x61e5427d.112
test al, 0x10
jne 0x61e543c4
jmp case.0x61e5427d.112
and eax, 0x47
cmp al, 0x42
jle 0x61e558da
and dl, 2
je 0x61e55867
mov eax, dword [ebp - 0x110]
and eax, 0xe
cmp ax, 2
jne 0x61e55853
xor edx, edx
mov eax, edi
call sym._applyNumericAffinity
mov esi, dword [ebx + 8]
mov eax, esi
and eax, 0xe
cmp ax, 2
jne 0x61e55867
xor edx, edx
mov eax, ebx
call sym._applyNumericAffinity
mov eax, dword [edi + 8]
and eax, dword [ebx + 8]
test al, 4
je 0x61e5594b
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
mov dword [ebp - 0x134], eax
mov eax, dword [edi]
mov dword [ebp - 0x140], eax
mov eax, dword [edi + 4]
cmp dword [ebp - 0x134], eax
mov edx, eax
jg 0x61e5595f
jl 0x61e558a7
cmp ecx, dword [ebp - 0x140]
ja 0x61e5595f
cmp dword [ebp - 0x134], edx
mov dword [ebp - 0x128], 1
jl 0x61e558cd
jg 0x61e558c3
cmp ecx, dword [ebp - 0x140]
jb 0x61e558cd
mov dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x128]
neg eax
jmp 0x61e55964
jne 0x61e5594b
test byte [ebp - 0x110], 2
jne 0x61e55919
test byte [ebp - 0x110], 0xc
je 0x61e55919
mov edx, dword [ebp - 0x114]
mov ecx, 1
mov eax, edi
call sym._sqlite3VdbeMemStringify
mov edx, dword [ebp - 0x110]
mov eax, dword [edi + 8]
and dh, 0x81
and ax, 0x7e00
or eax, edx
mov word [ebp - 0x110], ax
test si, 2
jne 0x61e5594b
test si, 0xc
je 0x61e5594b
mov edx, dword [ebp - 0x114]
mov ecx, 1
mov eax, ebx
and si, 0x81ff
call sym._sqlite3VdbeMemStringify
mov eax, dword [ebx + 8]
mov edx, esi
and ax, 0x7e00
or eax, edx
mov esi, eax
mov eax, dword [ebp - 0xf4]
mov edx, edi
mov ecx, dword [eax + 0x10]
mov eax, ebx
call sym._sqlite3MemCompare
jmp 0x61e55964
mov eax, 1
mov ecx, dword [ebp - 0xf4]
mov cl, byte [ecx]
lea edx, [ecx - 0x24]
mov byte [ebp - 0x128], cl
cmp dl, 4
ja case.default.0x61e5597d
movzx edx, dl
jmp dword [edx*4 + 0x61e904e0]
test eax, eax
sete dl
jmp 0x61e5599b
mov edx, eax
jmp 0x61e559a4
test eax, eax
setle dl
jmp 0x61e5599b
test eax, eax
setg dl
movzx edx, dl
jmp 0x61e559ab
mov edx, eax
not edx
shr edx, 0x1f
jmp 0x61e559ab
mov edx, eax
mov ecx, dword [ebp - 0x110]
mov word [edi + 8], cx
mov edi, dword [ebp - 0xf4]
mov word [ebx + 8], si
mov cl, byte [edi + 3]
test cl, 0x20
je 0x61e55a15
imul ebx, dword [edi + 8], 0x28
add ebx, dword [ebp - 0x104]
test edx, edx
setne dl
and cl, 8
je 0x61e559ef
cmp byte [edi], 0x25
mov dword [ebp - 0x118], eax
sete cl
cmp dl, cl
je case.0x61e5427d.112
mov ecx, dword [ebx + 8]
movzx edx, dl
mov dword [ebx + 4], 0
mov dword [ebx], edx
mov dword [ebp - 0x118], eax
and cx, 0x3e00
or ecx, 4
mov word [ebx + 8], cx
jmp case.0x61e5427d.112
test edx, edx
jmp 0x61e5581d
cmp dword [ebp - 0x118], 0
jmp 0x61e5581d
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x110], eax
add eax, 4
mov dword [ebp - 0x130], eax
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
test byte [eax + 3], 1
mov eax, 0
cmovne eax, dword [ebp - 0x130]
xor ebx, ebx
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0xf4]
mov edi, dword [eax + 8]
cmp ebx, dword [ebp - 0x128]
jge 0x61e55b0b
cmp dword [ebp - 0x130], 0
mov eax, ebx
je 0x61e55aa9
mov eax, dword [ebp - 0x130]
mov eax, dword [eax + ebx*4]
mov edx, dword [esi + 0x10]
mov cl, byte [edx + ebx]
lea edx, [eax + edi]
add eax, dword [ebp - 0x134]
imul edx, edx, 0x28
add edx, dword [ebp - 0x104]
mov byte [ebp - 0x110], cl
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 0x61e55b08
neg eax
cmp byte [ebp - 0x110], 0
mov dword [ebp - 0x130], 0
cmove eax, dword [ebp - 0x118]
mov dword [ebp - 0x118], eax
jmp case.0x61e5427d.112
inc ebx
jmp 0x61e55a8d
mov dword [ebp - 0x130], 0
jmp case.0x61e5427d.112
cmp dword [ebp - 0x118], 0
mov eax, dword [ebp - 0xf4]
jns 0x61e55b42
imul eax, dword [eax + 4], 0x14
mov edi, dword [ebp - 0x108]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0xf4], eax
jmp case.0x61e5427d.112
jne 0x61e55b5d
imul eax, dword [eax + 8], 0x14
mov edi, dword [ebp - 0x108]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0xf4], eax
jmp case.0x61e5427d.112
imul eax, dword [eax + 0xc], 0x14
mov edi, dword [ebp - 0x108]
lea eax, [edi + eax - 0x14]
mov dword [ebp - 0xf4], eax
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov ebx, 2
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
test byte [eax + 8], 1
jne 0x61e55b9d
xor ebx, ebx
call sym._sqlite3VdbeIntValue
or eax, edx
setne bl
mov eax, dword [ebp - 0xf4]
mov edx, 2
imul eax, dword [eax + 8], 0x28
add eax, dword [ebp - 0x104]
test byte [eax + 8], 1
jne 0x61e55bc5
call sym._sqlite3VdbeIntValue
or eax, edx
setne dl
movzx edx, dl
mov eax, dword [ebp - 0xf4]
lea ebx, [ebx + ebx*2]
cmp byte [eax], 0x1c
jne 0x61e55bdd
movzx ecx, byte [edx + ebx + 0x61e9568c]
jmp 0x61e55be5
movzx ecx, byte [edx + ebx + 0x61e95680]
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 0x61e55c0d
and ax, 0x3e00
or eax, 1
mov word [edx + 8], ax
jmp case.0x61e5427d.112
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.0x61e5427d.112
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.0x61e5427d.112
mov word [ebx + 8], 4
mov eax, esi
call sym._sqlite3VdbeIntValue
or eax, edx
mov dword [ebx + 4], 0
sete al
movzx eax, al
mov dword [ebx], eax
jmp case.0x61e5427d.112
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.0x61e5427d.112
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.0x61e5427d.112
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xf4]
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 4]
je 0x61e543c4
mov dword [edi + 4], eax
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 4], 0x28
add eax, dword [ebp - 0x104]
test byte [eax + 8], 1
je 0x61e55d00
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
jmp 0x61e581f7
call sym._sqlite3VdbeRealValue
mov eax, dword [ebp - 0xf4]
fldz
cmp byte [eax], 0x16
je 0x61e55d24
fxch st(1)
xor eax, eax
mov edx, 1
fucompi st(1)
fstp st(0)
setp al
jmp 0x61e55d34
fxch st(1)
xor eax, eax
mov edx, 0
fucompi st(1)
fstp st(0)
setnp al
cmovne eax, edx
jmp 0x61e581f7
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x104]
imul eax, dword [eax + 4], 0x28
test byte [edi + eax + 8], 1
jmp 0x61e5581d
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0x104]
imul eax, dword [eax + 4], 0x28
test byte [edi + eax + 8], 1
jmp 0x61e5737f
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], 0
mov eax, dword [eax + 8]
mov dword [ebp - 0x140], eax
jne 0x61e55dec
cmp byte [ebx + 3], 0
je 0x61e55dc9
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x61e55dc0
mov edi, dword [ebp - 0x140]
mov eax, dword [eax + edi*4 + 4]
test eax, eax
jle 0x61e55dc0
dec eax
mov ebx, dword [ebx + 0x24]
mov dword [ebp - 0x140], eax
jmp 0x61e55dec
mov eax, ebx
call sym._handleDeferredMoveto
jmp 0x61e55dd9
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x42], 1
je 0x61e55dec
mov eax, ebx
call sym._handleMovedCursor
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
jne 0x61e5b654
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 - 0x128], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x20]
cmp dword [ebx + 0x1c], eax
je 0x61e55f18
cmp byte [ebx + 2], 0
je 0x61e55e47
cmp byte [ebx], 3
jne 0x61e560e6
imul eax, dword [ebx + 0x28], 0x28
add eax, dword [ebp - 0x104]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x54], esi
mov dword [ebx + 0x50], esi
mov dword [ebx + 0x4c], eax
jmp 0x61e55e8e
mov edi, dword [ebx + 0x28]
mov eax, edi
call sym._getCellInfo
mov eax, dword [edi + 0x1c]
mov edx, dword [edi + 0x18]
mov dword [ebx + 0x50], eax
movsx ecx, byte [edi + 0x44]
mov ecx, dword [edi + ecx*4 + 0x78]
mov esi, dword [ecx + 0x3c]
movzx ecx, word [edi + 0x20]
mov dword [ebx + 0x4c], edx
sub esi, edx
cmp esi, ecx
cmova esi, ecx
cmp eax, esi
ja 0x61e55e7c
mov dword [ebx + 0x54], eax
jmp 0x61e55e8e
mov edi, dword [ebp - 0xf8]
cmp eax, dword [edi + 0x60]
ja 0x61e5b766
mov dword [ebx + 0x54], esi
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 0x61e55eb1
mov dword [ebp - 0xd0], edx
mov eax, 1
jmp 0x61e55ebf
lea edx, [ebp - 0xd0]
call sym._sqlite3GetVarint32
movzx eax, al
mov dword [ebx + 0x30], eax
mov edi, dword [ebp - 0x128]
mov eax, dword [ebp - 0xd0]
mov word [ebx + 0x3a], 0
mov dword [edi], eax
mov eax, dword [ebp - 0xd0]
cmp eax, esi
jbe 0x61e55f0f
cmp eax, 0x18003
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x54], 0
ja 0x61e55efa
cmp eax, dword [ebx + 0x50]
jbe 0x61e55f18
mov eax, 0x139c7
call sym._sqlite3CorruptError
mov dword [ebp - 0x100], eax
jmp 0x61e5b654
test eax, eax
je 0x61e55f18
mov eax, dword [ebx + 0x4c]
jmp 0x61e55f79
movzx eax, word [ebx + 0x3a]
cmp eax, dword [ebp - 0x140]
jg 0x61e560f6
mov eax, dword [ebp - 0x128]
mov eax, dword [eax]
cmp dword [ebx + 0x30], eax
jae 0x61e560ac
mov eax, dword [ebx + 0x4c]
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e55f7f
lea edi, [ebp - 0x80]
mov ecx, 0xa
xor edx, edx
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x80]
mov eax, dword [ebx + 0x28]
mov dword [esp], edi
mov edi, dword [ebp - 0x128]
mov ecx, dword [edi]
call sym._sqlite3VdbeMemFromBtree
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5b654
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x100], eax
movzx ecx, word [ebx + 0x3a]
mov eax, dword [ebp - 0x128]
xor edi, edi
mov edx, dword [ebp - 0x128]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x100]
add eax, dword [ebx + 0x30]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x100]
add eax, dword [edx]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x134]
movzx eax, byte [eax]
cmp eax, 0x7f
mov dword [ebp - 0xc8], eax
ja 0x61e55fda
movzx eax, byte [eax + 0x61e99de0]
xor edx, edx
inc dword [ebp - 0x134]
add esi, eax
adc edi, edx
jmp 0x61e56011
mov eax, dword [ebp - 0x134]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0x158], ecx
call sym._sqlite3GetVarint32
movzx eax, al
add dword [ebp - 0x134], eax
mov eax, dword [ebp - 0xc8]
call sym._sqlite3VdbeSerialTypeLen
mov ecx, dword [ebp - 0x158]
xor edx, edx
add esi, eax
adc edi, edx
mov eax, dword [ebp - 0xc8]
inc ecx
mov edx, dword [ebp - 0x148]
cmp dword [ebp - 0x134], edx
mov dword [ebx + ecx*4 + 0x54], eax
mov eax, dword [ebp - 0x128]
mov dword [eax + ecx*4], esi
jae 0x61e5603f
cmp ecx, dword [ebp - 0x140]
jle 0x61e55fb1
mov edx, dword [ebp - 0x148]
cmp dword [ebp - 0x134], edx
jb 0x61e5605a
ja 0x61e56066
test edi, edi
mov eax, dword [ebx + 0x50]
jne 0x61e56066
cmp esi, eax
jne 0x61e56066
cmp edi, 0
mov eax, dword [ebx + 0x50]
ja 0x61e56066
cmp esi, eax
jbe 0x61e56089
cmp dword [ebx + 0x4c], 0
jne 0x61e56074
lea eax, [ebp - 0x80]
call sym._sqlite3VdbeMemRelease
mov eax, 0x13a02
call sym._sqlite3CorruptError
mov dword [ebp - 0x100], eax
jmp 0x61e5b654
mov edi, dword [ebp - 0x134]
sub edi, dword [ebp - 0x100]
cmp dword [ebx + 0x4c], 0
mov word [ebx + 0x3a], cx
mov dword [ebx + 0x30], edi
jne 0x61e560b6
lea eax, [ebp - 0x80]
call sym._sqlite3VdbeMemRelease
jmp 0x61e560b6
mov dword [ebp - 0xc8], 0
movzx eax, word [ebx + 0x3a]
cmp eax, dword [ebp - 0x140]
jg 0x61e56106
mov eax, dword [ebp - 0xf4]
cmp byte [eax + 1], 0xf9
jne 0x61e560e6
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x110]
mov ecx, 0x800
call sym._sqlite3VdbeMemShallowCopy
jmp 0x61e56298
mov eax, dword [ebp - 0x110]
call sym._sqlite3VdbeMemSetNull
jmp 0x61e56298
mov eax, dword [ebp - 0x140]
mov eax, dword [ebx + eax*4 + 0x58]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x110]
test word [eax + 8], 0x2460
je 0x61e56119
call sym._sqlite3VdbeMemSetNull
mov eax, dword [ebp - 0x140]
mov edi, dword [ebp - 0x128]
inc eax
lea esi, [eax*4]
mov eax, dword [edi + eax*4]
cmp dword [ebx + 0x54], eax
jb 0x61e561f0
mov edx, dword [ebp - 0xc8]
mov esi, dword [edi + esi - 4]
add esi, dword [ebx + 0x4c]
cmp edx, 0xb
ja 0x61e56158
mov ecx, dword [ebp - 0x110]
mov eax, esi
jmp 0x61e56242
mov eax, dword [ebp - 0x110]
lea ebx, [edx - 0xc]
shr ebx, 1
mov edi, eax
mov dword [eax + 0xc], ebx
mov al, byte [ebp - 0x135]
mov byte [edi + 0xa], al
lea eax, [ebx + 1]
cmp eax, dword [edi + 0x18]
jl 0x61e56194
lea edx, [ebx + 2]
xor ecx, ecx
mov eax, edi
mov word [edi + 8], 1
call sym._sqlite3VdbeMemGrow
test eax, eax
je 0x61e561a6
jmp 0x61e5b7a8
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 + 0x61e9567c]
mov word [edi + 8], ax
jmp 0x61e56298
mov al, byte [ebp - 0x135]
mov edi, dword [ebp - 0x110]
mov byte [edi + 0xa], al
mov eax, dword [ebp - 0xf4]
mov al, byte [eax + 3]
test al, 0xc0
je 0x61e56220
mov ecx, dword [ebp - 0xc8]
cmp ecx, 0xb
jbe 0x61e5621c
and cl, 1
je 0x61e56231
test al, al
js 0x61e56231
mov eax, dword [ebp - 0xc8]
call sym._sqlite3VdbeSerialTypeLen
test eax, eax
mov ecx, eax
jne 0x61e56249
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0xc8]
mov eax, 0x61e9c02c
call sym._sqlite3VdbeSerialGet
jmp 0x61e56298
mov eax, dword [ebp - 0x128]
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 0x61e5b654
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
mov dword [ebp - 0x100], 0
jmp case.0x61e5427d.112
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]
test dl, dl
je case.0x61e5427d.112
mov ecx, dword [ebp - 0x114]
mov eax, ebx
add ebx, 0x28
call sym._applyAffinity
jmp 0x61e562ba
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 - 0x160], eax
mov eax, dword [ebp - 0xe8]
movzx eax, byte [eax + 0x8f]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
test ebx, ebx
mov dword [ebp - 0x134], eax
mov eax, edi
jne 0x61e56375
mov esi, dword [ebp - 0x160]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
jmp 0x61e563a4
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 0x61e56339
add dword [ebp - 0x128], ecx
cmp esi, dword [ebp - 0x110]
je 0x61e564ea
sub esi, 0x28
mov dx, word [esi + 8]
test dl, 1
jne 0x61e5643d
test dl, 4
je 0x61e56420
mov ecx, dword [esi + 4]
mov edi, dword [esi]
test ecx, ecx
mov ebx, edi
mov eax, ecx
jns 0x61e563c9
mov eax, ecx
not ebx
not eax
cmp eax, 0
ja 0x61e56407
cmp ebx, 0x7f
ja 0x61e563ef
mov eax, edi
and eax, 0xfffffffe
or eax, ecx
jne 0x61e56443
cmp dword [ebp - 0x158], 3
jle 0x61e56443
add ebx, 8
xor edi, edi
jmp 0x61e5647d
cmp ebx, 0x7fff
jbe 0x61e5644f
cmp ebx, 0x7fffff
jbe 0x61e5645b
cmp ebx, 0x7fffffff
jbe 0x61e56467
cmp eax, 0x8000
sbb edi, edi
and edi, 0xfffffffe
add edi, 8
cmp eax, 0x8000
sbb ebx, ebx
add ebx, 6
jmp 0x61e5647d
test dl, 8
jne 0x61e56473
test dh, 0x40
mov edi, dword [esi + 0xc]
je 0x61e5642f
add edi, dword [esi]
mov eax, edx
shr ax, 1
and eax, 1
lea ebx, [eax + edi*2 + 0xc]
jmp 0x61e5647d
xor edi, edi
xor ebx, ebx
jmp 0x61e5647d
mov edi, 1
mov ebx, 1
jmp 0x61e5647d
mov edi, 2
mov ebx, 2
jmp 0x61e5647d
mov edi, 3
mov ebx, 3
jmp 0x61e5647d
mov edi, 4
mov ebx, 4
jmp 0x61e5647d
mov edi, 8
mov ebx, 7
and dh, 0x40
mov dword [esi + 0x1c], ebx
je 0x61e564b6
mov eax, dword [ebp - 0x144]
or eax, dword [ebp - 0x148]
je 0x61e564a3
mov eax, esi
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
je 0x61e564b6
jmp 0x61e5b7a8
mov ecx, dword [esi]
mov eax, ecx
cdq
add dword [ebp - 0x140], ecx
adc dword [ebp - 0x13c], edx
sub edi, ecx
xor edx, edx
add dword [ebp - 0x148], edi
mov ecx, 1
adc dword [ebp - 0x144], edx
cmp ebx, 0x7f
jbe 0x61e5638f
mov eax, ebx
xor edx, edx
shrd eax, edx, 7
shr edx, 7
mov edi, edx
or edi, eax
je 0x61e5638f
inc ecx
jmp 0x61e564d6
cmp dword [ebp - 0x128], 0x7e
mov eax, dword [ebp - 0x128]
jg 0x61e56502
inc eax
mov dword [ebp - 0x128], eax
jmp 0x61e56549
cdq
mov ecx, 1
shrd eax, edx, 7
shr edx, 7
mov esi, edx
or esi, eax
je 0x61e56518
inc ecx
jmp 0x61e56508
mov eax, dword [ebp - 0x128]
mov ebx, 1
add eax, ecx
mov dword [ebp - 0x128], eax
cdq
shrd eax, edx, 7
shr edx, 7
mov edi, edx
or edi, eax
je 0x61e5653c
inc ebx
jmp 0x61e5652c
xor eax, eax
cmp ecx, ebx
setl al
add dword [ebp - 0x128], eax
mov esi, dword [ebp - 0x128]
mov edx, dword [ebp - 0x148]
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x144]
mov edi, esi
mov dword [ebp - 0x158], esi
sar edi, 0x1f
add edx, esi
mov esi, dword [ebp - 0x140]
mov eax, dword [eax + 0x60]
adc ecx, edi
mov dword [ebp - 0x154], edi
mov edi, dword [ebp - 0x13c]
add esi, edx
mov dword [ebp - 0x148], esi
mov esi, eax
mov dword [ebp - 0x168], eax
adc edi, ecx
sar esi, 0x1f
mov dword [ebp - 0x164], esi
mov dword [ebp - 0x144], edi
mov esi, dword [ebp - 0x144]
cmp esi, dword [ebp - 0x164]
jg 0x61e5b766
jl 0x61e565c6
cmp dword [ebp - 0x148], eax
ja 0x61e5b766
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x168], edx
call sym._sqlite3VdbeMemClearAndResize
test eax, eax
jne 0x61e5b7a8
mov eax, dword [ebp - 0x134]
cmp dword [ebp - 0x128], 0x7f
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x148], eax
jg 0x61e5660d
mov edi, eax
mov al, byte [ebp - 0x128]
mov dword [ebp - 0x158], 1
mov byte [edi], al
jmp 0x61e5662d
mov edx, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x148]
call sym._sqlite3Fts5PutVarint
movzx eax, al
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x110]
mov ebx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x148]
cmp ebx, 0x7f
ja 0x61e5664e
mov esi, dword [ebp - 0x158]
mov byte [eax + esi], bl
mov al, 1
jmp 0x61e5665d
add eax, dword [ebp - 0x158]
mov edx, ebx
xor ecx, ecx
call sym._sqlite3Fts5PutVarint
movzx eax, al
add dword [ebp - 0x158], eax
lea eax, [ebx - 1]
mov edx, dword [ebp - 0x148]
add edx, dword [ebp - 0x128]
cmp eax, 6
ja 0x61e566a1
movzx ecx, byte [ebx + 0x61e99de0]
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 0x61e5668e
jmp 0x61e566c6
xor ecx, ecx
cmp ebx, 0xb
jbe 0x61e566c6
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x61e566c6
mov esi, dword [ebp - 0x110]
mov edi, edx
mov ecx, eax
mov esi, dword [esi + 0x10]
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
add dword [ebp - 0x110], 0x28
add dword [ebp - 0x128], ecx
mov edi, dword [ebp - 0x110]
cmp dword [ebp - 0x160], edi
jae 0x61e5662d
mov eax, dword [ebp - 0x134]
mov esi, dword [ebp - 0x168]
mov word [eax + 8], 0x10
mov dword [eax + 0xc], esi
mov eax, dword [ebp - 0x13c]
or eax, dword [ebp - 0x140]
je 0x61e5671c
mov eax, dword [ebp - 0x134]
mov edi, dword [ebp - 0x140]
mov word [eax + 8], 0x4010
mov dword [eax], edi
mov eax, dword [ebp - 0x134]
mov byte [eax + 0xa], 1
jmp case.0x61e5427d.112
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]
cmp dword [ebx + 0x34], 0
je 0x61e5681e
mov eax, ebx
call sym._moveToRoot
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
jne 0x61e5b654
movsx eax, byte [ebx + 0x44]
mov ecx, dword [ebx + eax*4 + 0x78]
mov al, byte [ecx + 8]
test al, al
mov byte [ebp - 0x100], al
jne 0x61e56786
cmp byte [ecx + 2], 0
jne 0x61e567d4
movzx eax, word [ecx + 0x16]
xor edx, edx
add esi, eax
adc edi, edx
cmp byte [ebp - 0x100], 0
je 0x61e567d4
cmp byte [ebx + 0x44], 0
mov eax, ebx
jne 0x61e567b5
call sym._moveToRoot
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e5681e
jmp 0x61e5b654
call sym._moveToParent
movsx ecx, byte [ebx + 0x44]
lea edx, [ecx + 0x28]
mov ecx, dword [ebx + ecx*4 + 0x78]
mov ax, word [ebx + edx*2]
cmp ax, word [ecx + 0x16]
jae 0x61e56799
inc eax
mov word [ebx + edx*2], ax
movsx eax, byte [ebx + 0x44]
movzx edx, word [ecx + 0x16]
movzx eax, word [ebx + eax*2 + 0x50]
cmp eax, edx
mov edx, dword [ecx + 0x38]
mov dword [ebp - 0x100], edx
jne 0x61e567f8
movzx eax, byte [ecx + 9]
mov edx, dword [edx + eax + 8]
jmp 0x61e56810
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
jmp 0x61e56758
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.286
mov dword [ebp - 0x100], 0
mov dword [eax], esi
mov dword [eax + 4], edi
jmp case.0x61e5427d.112
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 0x61e56956
cmp dword [eax + 0xa4], 0
jle 0x61e568a2
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 0x61e5b654
mov eax, esi
call sym._sqlite3Strlen30
mov ebx, eax
mov eax, dword [ebp - 0xf8]
xor edx, edx
mov ecx, dword [eax + 0x1b0]
add ecx, dword [eax + 0x1b4]
call sym._sqlite3VtabSavepoint
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5b654
mov eax, dword [ebp - 0xf8]
lea edx, [ebx + 0x21]
xor ecx, ecx
call sym._sqlite3DbMallocRawNN
test eax, eax
je 0x61e5bb34
lea edx, [eax + 0x20]
lea ecx, [ebx + 1]
mov dword [eax], edx
mov edi, edx
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0xf8]
cmp byte [esi + 0x43], 0
je 0x61e5690c
mov byte [esi + 0x43], 0
mov byte [esi + 0x4b], 1
jmp 0x61e56918
mov edi, dword [ebp - 0xf8]
inc dword [edi + 0x1b0]
mov esi, dword [ebp - 0xf8]
mov edx, dword [esi + 0x1a8]
mov ecx, dword [esi + 0x1b8]
mov ebx, dword [esi + 0x1bc]
mov dword [eax + 0x18], edx
mov dword [esi + 0x1a8], eax
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov ecx, dword [esi + 0x1c0]
mov ebx, dword [esi + 0x1c4]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ebx
jmp 0x61e5bb34
mov ebx, dword [eax + 0x1a8]
mov dword [ebp - 0x128], 0
test ebx, ebx
je 0x61e5b84a
mov eax, dword [ebx]
mov edx, esi
call sym._sqlite3StrICmp
test eax, eax
je 0x61e5b873
inc dword [ebp - 0x128]
mov ebx, dword [ebx + 0x18]
jmp 0x61e56966
mov eax, dword [ebp - 0xf4]
mov ebx, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xf8]
movzx eax, byte [eax + 0x43]
cmp ebx, eax
je 0x61e56aa9
test edx, edx
je 0x61e569c8
mov eax, dword [ebp - 0xf8]
mov edx, 0x204
call sym._sqlite3RollbackAll
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x43], 1
jmp 0x61e56a27
test ebx, ebx
je 0x61e56a00
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0xa4], 0
jle 0x61e56a00
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 0x61e5b654
mov eax, dword [ebp - 0xe8]
mov edx, 1
call sym._sqlite3VdbeCheckFk
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5bd5c
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x43], bl
mov eax, dword [ebp - 0xe8]
call sym._sqlite3VdbeHalt
cmp eax, 5
jne 0x61e56a7a
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 + 0x43], al
mov eax, esi
mov dword [eax + 0x28], 5
mov dword [ebp - 0x100], 5
jmp 0x61e5bd5c
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 0x61e5bd5c
test ebx, ebx
mov eax, str.cannot_start_a_transaction_within_a_transaction
je 0x61e56ac1
test edx, edx
mov eax, str.cannot_commit___no_transaction_is_active
mov edx, str.cannot_rollback___no_transaction_is_active
cmovne eax, edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x100], 1
jmp 0x61e5b654
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
test edx, edx
je 0x61e56aff
mov eax, dword [ebp - 0xf8]
test byte [eax + 0x1b], 4
jne 0x61e56d4f
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 0x61e56ca4
mov eax, ebx
call sym._sqlite3BtreeBeginTrans
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e56b6f
cmp byte [ebp - 0x100], 5
jne 0x61e5b654
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 0x61e5bd5c
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 8], 0
je 0x61e56c72
mov eax, dword [ebp - 0xe8]
test byte [eax + 0x90], 0x40
je 0x61e56c72
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x43], 0
je 0x61e56bab
cmp dword [eax + 0xa0], 1
jle 0x61e56c72
mov eax, dword [ebp - 0xe8]
cmp dword [eax + 0x30], 0
jne 0x61e56be5
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf8]
mov eax, dword [eax + 0x1b4]
mov dword [ebp - 0x100], eax
inc eax
mov dword [esi + 0x1b4], eax
add eax, dword [esi + 0x1b0]
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 0x61e56c3c
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 + 0x68]
jle 0x61e56c35
cmp byte [eax + 6], 0
je 0x61e56c35
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 + 0x1bc]
mov eax, dword [eax + 0x1b8]
mov dword [edi + 0x48], eax
mov eax, dword [ebp - 0xf8]
mov dword [edi + 0x4c], edx
mov edx, dword [eax + 0x1c4]
mov eax, dword [eax + 0x1c0]
mov dword [edi + 0x54], edx
mov dword [edi + 0x50], eax
lea ecx, [ebp - 0x80]
mov eax, ebx
mov edx, 1
call sym._sqlite3BtreeGetMeta
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 eax, dword [eax + 0xc]
mov eax, dword [eax + 4]
jmp 0x61e56cad
mov dword [ebp - 0x80], 0
xor eax, eax
mov esi, dword [ebp - 0xf4]
cmp byte [esi + 3], 0
je 0x61e56d3d
mov edi, esi
mov esi, dword [ebp - 0x80]
cmp dword [edi + 0xc], esi
jne 0x61e56ccc
cmp eax, dword [edi + 0x10]
je 0x61e56d3d
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 0x61e56d21
mov eax, edi
call sym._sqlite3ResetOneSchema
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x100], 0x11
or byte [eax + 0x90], 1
jmp 0x61e5b654
cmp dword [ebp - 0x100], 0
je case.0x61e5427d.112
jmp 0x61e5b654
mov dword [ebp - 0x100], 8
jmp 0x61e5b654
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.286
mov edx, dword [ebp - 0x80]
mov dword [eax], edx
sar edx, 0x1f
mov dword [eax + 4], edx
jmp case.0x61e5427d.112
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 0x61e56e0d
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], 2
jmp 0x61e56e21
cmp eax, 2
jne 0x61e56e21
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 0x61e56e45
mov eax, dword [ebp - 0xf8]
call sym._sqlite3ExpirePreparedStatements
mov eax, dword [ebp - 0xe8]
and byte [eax + 0x90], 0xfe
cmp dword [ebp - 0x100], 0
je case.0x61e5427d.112
jmp 0x61e5b654
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.0x61e5427d.104
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 8]
cmp dword [esi + 0x34], eax
je 0x61e56fb8
mov eax, dword [ebp - 0xe8]
test byte [eax + 0x90], 1
jne 0x61e5b626
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, 0x69
mov ecx, dword [eax + 4]
mov dword [ebp - 0x110], ecx
jne 0x61e56efb
mov ecx, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
mov cl, byte [ecx + 3]
mov al, byte [eax + 0x4c]
mov dl, cl
and edx, 8
or edx, 4
movzx ecx, dl
mov dword [ebp - 0x100], ecx
mov ecx, dword [ebp - 0xe8]
cmp al, byte [ecx + 0x8f]
jae 0x61e56efb
mov byte [ecx + 0x8f], al
mov eax, dword [ebp - 0xf4]
test byte [eax + 3], 0x10
je 0x61e56f19
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, 0xfb
jne 0x61e56f3b
mov eax, dword [ebp - 0xf4]
mov ebx, dword [eax + 0x10]
movzx ecx, word [ebx + 6]
movzx eax, word [ebx + 8]
add ecx, eax
jmp 0x61e56f50
cmp al, 0xf5
jne 0x61e56f4c
mov eax, dword [ebp - 0xf4]
xor ebx, ebx
mov ecx, dword [eax + 0x10]
jmp 0x61e56f50
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 0x61e5b7a8
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], 0xfb
setne byte [esi + 4]
mov eax, dword [ebp - 0xf4]
mov edx, dword [esi + 0x28]
mov al, byte [eax + 3]
mov byte [ebp - 0x110], al
and eax, 3
cmp dword [ebp - 0x100], 0
mov byte [edx + 0x43], al
je case.0x61e5427d.112
jmp 0x61e5b654
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 0x61e5b7a8
or byte [eax + 8], 1
mov byte [eax + 2], 1
xor edx, edx
mov eax, dword [ebp - 0xf4]
mov dword [esp + 8], 0x41e
mov ecx, dword [ebp - 0xf8]
mov al, byte [eax + 3]
mov byte [ebp - 0x100], al
or eax, 5
movzx eax, al
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 0x61e5b654
mov eax, dword [ebx + 0xc]
mov edx, 1
call sym._sqlite3BtreeBeginTrans
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5b654
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 0x10]
mov eax, dword [ebx + 0xc]
test esi, esi
mov dword [ebx + 0x2c], esi
je 0x61e570d3
mov edi, dword [ebp - 0xf4]
lea edx, [ebp - 0x80]
mov cl, byte [edi + 3]
or ecx, 2
movzx ecx, cl
call sym._sqlite3BtreeCreateTable
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e570cd
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 0x61e570fa
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 0x61e5b654
mov eax, dword [ebp - 0xf4]
mov dl, byte [ebx + 8]
cmp byte [eax + 3], 8
setne al
and edx, 0xfffffffb
shl eax, 2
or eax, edx
mov byte [ebx + 8], al
jmp case.0x61e5427d.112
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 0x61e5b7a8
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 - 0x128], edi
mov edi, dword [ebp - 0xf8]
mov dword [esi + 0x2c], eax
cmp byte [edi + 0x44], 2
je 0x61e5719d
cmp dword [0x61e8c344], 0
je 0x61e5719d
mov edi, dword [edi + 0x8c]
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 - 0x134], 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 0x61e5b632
cmp dword [ebp - 0x128], 0
lea eax, [eax + edi]
mov esi, dword [esi + 0x2c]
mov ecx, dword [ebp - 0x134]
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 0x61e57230
cmp dword [ebp - 0x100], 0
jne 0x61e57230
mov esi, dword [ebp - 0x110]
mov ax, word [eax + 6]
add eax, dword [esi + 8]
sub eax, dword [ebp - 0x128]
mov word [esi + 8], ax
mov eax, esi
mov esi, dword [ebp - 0x128]
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 0x61e57278
imul ecx, eax, 0x48
inc eax
mov dword [ebx + ecx + 0x48], ebx
jmp 0x61e5726a
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x44], 2
jne 0x61e57290
mov dword [ebp - 0x100], 0
jmp 0x61e5730d
mov eax, dword [ebp - 0xf8]
mov edi, dword [0x61e8c420]
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 0x61e572c9
mov eax, 0xfffffc00
imul ecx
cmp edx, 0
mov ecx, eax
jl 0x61e572de
jg 0x61e572d9
cmp eax, 0x20000000
jbe 0x61e572de
mov ecx, 0x20000000
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
cmp dword [0x61e8c400], 0
mov dword [ebx + 4], eax
jne 0x61e57284
mov eax, esi
mov dword [ebx + 0x34], esi
cdq
call sym._sqlite3Malloc
test eax, eax
mov dword [ebx + 0x28], eax
jne 0x61e57284
mov dword [ebp - 0x100], 7
mov eax, dword [ebp - 0x110]
movzx edx, word [eax + 6]
movzx eax, word [eax + 8]
add eax, edx
cmp eax, 0xc
jg 0x61e5733e
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x61e5733a
mov esi, dword [ebp - 0xf8]
cmp eax, dword [esi + 8]
jne 0x61e5733e
mov byte [ebx + 0x3c], 3
cmp dword [ebp - 0x100], 0
je case.0x61e5427d.112
jmp 0x61e5b654
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
je 0x61e543c4
jmp case.0x61e5427d.112
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 0x61e5b7a8
mov esi, dword [ebp - 0xf4]
mov byte [eax + 2], 1
mov edx, dword [esi + 8]
mov byte [eax + 4], 1
mov dword [eax + 0x28], edx
jmp case.0x61e5427d.112
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.488
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.0x61e5427d.112
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 0x61e57522
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 0x61e57469
xor edx, edx
mov eax, edi
mov dword [ebp - 0x128], ecx
call sym._applyNumericAffinity
mov ecx, dword [ebp - 0x128]
mov eax, edi
mov dword [ebp - 0x134], ecx
call sym._sqlite3VdbeIntValue
mov dword [ebp - 0x128], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x124], edx
test al, 4
jne 0x61e574c9
test al, 8
je 0x61e543c4
fld qword [edi]
mov ecx, dword [ebp - 0x134]
fild qword [ebp - 0x128]
fucomi st(1)
jbe 0x61e574b2
fstp st(0)
fstp st(0)
lea eax, [ecx - 1]
and bl, 1
cmove ecx, eax
jmp 0x61e574c3
fxch st(1)
fucompi st(1)
fstp st(0)
jbe 0x61e574c9
lea eax, [ecx + 1]
and bl, 1
cmovne ecx, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x128]
mov ebx, dword [ebp - 0x124]
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 - 0x128]
mov edx, dword [ebp - 0x124]
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], edx
je 0x61e575b9
jmp 0x61e5b654
mov edi, dword [ebp - 0xf4]
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
mov edx, dword [edi + 0x10]
mov edi, dword [ebp - 0x110]
mov bl, byte [eax + 0x43]
mov dword [ebp - 0x80], ecx
mov word [ebp - 0x78], dx
lea edx, [edi - 0x17]
mov edi, dword [ebp - 0xf4]
and ebx, 2
and edx, 1
cmp edx, 1
sbb edx, edx
and edx, 2
dec edx
mov byte [ebp - 0x76], dl
imul edx, dword [edi + 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 0x61e5b654
test bl, bl
je 0x61e575b9
cmp byte [ebp - 0x72], 0
mov ebx, 1
je 0x61e57672
jmp 0x61e575bb
xor ebx, ebx
cmp dword [ebp - 0x110], 0x18
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
mov eax, dword [ebp - 0xc8]
jle 0x61e57620
test eax, eax
js 0x61e575e6
cmp dword [ebp - 0x110], 0x1a
jne 0x61e57614
test eax, eax
jne 0x61e57614
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xc8], 0
mov dword [esp + 4], eax
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call sym._sqlite3BtreeNext
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e57672
jmp 0x61e5b654
mov dword [ebp - 0xc8], 0
jmp 0x61e57672
test eax, eax
jg 0x61e57631
cmp dword [ebp - 0x110], 0x17
jne 0x61e5765f
test eax, eax
jne 0x61e5765f
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xc8], 0
mov dword [esp + 4], eax
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call sym._sqlite3BtreePrevious
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e57672
jmp 0x61e5b654
mov eax, dword [esi + 0x28]
cmp byte [eax + 0x42], 1
setne al
movzx eax, al
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jne 0x61e5bd2f
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.0x61e5427d.112
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 edx, dword [eax + 0x10]
mov eax, dword [ebx + 0x2c]
add edi, dword [ebp - 0x104]
test edx, edx
jle 0x61e576e6
mov word [ebp - 0x78], dx
mov dword [ebp - 0x80], eax
lea edx, [ebp - 0x80]
mov dword [ebp - 0x7c], edi
xor esi, esi
jmp 0x61e57715
call sym._sqlite3VdbeAllocUnpackedRecord
test eax, eax
mov esi, eax
je 0x61e5b7a8
test byte [edi + 9], 0x40
je 0x61e57702
mov eax, edi
call sym._sqlite3VdbeMemExpandBlob
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
mov eax, dword [ebp - 0xf4]
mov byte [edx + 0xa], 0
xor edi, edi
cmp byte [eax], 0x1d
jne 0x61e57748
movzx edi, word [edx + 8]
xor eax, eax
cmp eax, edi
jge 0x61e5773f
imul ecx, eax, 0x28
add ecx, dword [edx + 4]
test byte [ecx + 8], 1
jne 0x61e57743
inc eax
jmp 0x61e5772c
xor edi, edi
jmp 0x61e57748
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 0x61e57788
mov eax, dword [ebp - 0xf8]
mov edx, esi
call sym._sqlite3DbFree
cmp dword [ebp - 0x100], 0
jne 0x61e5b654
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], 0x1f
jne 0x61e577c1
test eax, eax
jmp 0x61e5737f
test eax, eax
jne 0x61e543c4
test edi, edi
jmp 0x61e5581d
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 0xc], 0x28
add ebx, dword [ebp - 0x104]
test byte [ebx + 8], 4
jne case.0x61e5427d.33
mov ecx, dword [ebp - 0x114]
mov edx, 0x43
mov eax, ebx
call sym._applyAffinity
test byte [ebx + 8], 4
je 0x61e543c4
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]
lea ecx, [ebp - 0x80]
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x80], 0
mov edi, dword [esi + edx + 4]
mov esi, dword [esi + edx]
xor edx, edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
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 0x61e57894
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 8], 0
jne 0x61e543c4
mov eax, 0x1401a
call sym._sqlite3CorruptError
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
je case.0x61e5427d.112
jmp 0x61e5b654
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.286
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.0x61e5427d.112
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.286
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]
test byte [ebx + 8], 2
jne 0x61e579ac
mov eax, dword [ebx + 0x28]
lea edx, [ebp - 0xc8]
call sym._sqlite3BtreeLast
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5b654
cmp dword [ebp - 0xc8], 0
je 0x61e57977
mov dword [ebp - 0x80], 1
mov dword [ebp - 0x7c], 0
jmp 0x61e579ac
mov esi, dword [ebx + 0x28]
mov eax, esi
call sym._getCellInfo
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
cmp edx, 0x7fffffff
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
jne 0x61e579a0
cmp eax, 0xffffffff
jne 0x61e579a0
or byte [ebx + 8], 2
jmp 0x61e579ac
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 0x61e57a36
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x61e579dc
mov edx, dword [eax + 4]
test edx, edx
je 0x61e579d4
mov eax, edx
jmp 0x61e579c9
imul esi, esi, 0x28
add esi, dword [eax + 0x10]
jmp 0x61e579e5
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 0x61e57a0d
cmp eax, 0xffffffff
jne 0x61e57a0d
mov dword [ebp - 0x100], 0xd
jmp 0x61e5b654
test byte [ebx + 8], 2
jne 0x61e579fe
cmp edx, dword [ebp - 0x7c]
jl 0x61e57a2b
jg 0x61e57a1f
cmp eax, dword [ebp - 0x80]
jb 0x61e57a2b
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 0x61e57ac9
lea esi, [ebp - 0xc8]
mov edi, 0x64
lea eax, [ebp - 0x80]
mov dword [esp], 8
mov dword [esp + 4], eax
call sym.sqlite3.dll_sqlite3_randomness
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x170]
and eax, 0x3fffffff
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x16c]
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 0x61e5b654
cmp dword [ebp - 0xc8], 0
jne 0x61e57ac9
dec edi
jne 0x61e57a4b
jmp 0x61e579fe
mov byte [ebx + 3], 0
mov esi, dword [ebp - 0x110]
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.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xe8]
imul eax, dword [eax + 8], 0x28
mov edx, dword [esi + 0x70]
mov ecx, dword [edi + 4]
add eax, dword [ebp - 0x104]
cmp bl, 0x73
mov esi, dword [edx + ecx*4]
mov edx, dword [edi + 0xc]
jne 0x61e57b2f
imul edx, edx, 0x28
mov edi, dword [ebp - 0x104]
mov ecx, dword [edi + edx]
mov ebx, dword [edi + edx + 4]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], ebx
jmp 0x61e57b38
mov dword [ebp - 0x78], edx
sar edx, 0x1f
mov dword [ebp - 0x74], edx
mov edi, dword [ebp - 0xf4]
cmp byte [edi + 1], 0xf1
jne 0x61e57b95
mov edi, dword [ebp - 0xf8]
cmp dword [edi + 0xdc], 0
je 0x61e57b95
movsx edx, byte [esi + 1]
mov ecx, dword [ebp - 0xf4]
mov cl, byte [ecx + 3]
shl edx, 4
add edx, dword [edi + 0x10]
mov byte [ebp - 0x100], cl
mov edi, dword [edx]
mov dl, cl
and edx, 4
cmp dl, 1
mov dword [ebp - 0x110], edi
mov edi, dword [ebp - 0xf4]
sbb ebx, ebx
and ebx, 0xfffffffb
add ebx, 0x17
mov edi, dword [edi + 0x10]
mov dword [ebp - 0x128], edi
jmp 0x61e57bab
xor ebx, ebx
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x110], 0
mov ecx, dword [ebp - 0xf4]
test byte [ecx + 3], 1
je 0x61e57bc0
mov ecx, dword [ebp - 0xe8]
inc dword [ecx + 0x2c]
mov ecx, dword [ebp - 0xf4]
test byte [ecx + 3], 2
je 0x61e57bea
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x11c], ecx
mov dword [edi + 0x20], edx
mov dword [edi + 0x24], ecx
mov edi, dword [eax + 8]
test di, 1
mov word [ebp - 0x100], di
je 0x61e57c0b
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x64], 0
jmp 0x61e57c17
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x70], edx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x64], edx
mov edi, dword [ebp - 0xf4]
xor edx, edx
mov cl, byte [edi + 3]
test cl, 0x10
je 0x61e57c2a
mov edx, dword [esi + 0x20]
test word [ebp - 0x100], 0x4000
je 0x61e57c3c
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
jmp 0x61e57c43
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x80], 0
mov eax, dword [esi + 0x28]
shr cl, 3
mov dword [esp], edx
lea edx, [ebp - 0x80]
and ecx, 1
call sym._sqlite3BtreeInsert
test eax, eax
mov dword [ebp - 0x100], eax
mov byte [esi + 3], 0
mov dword [esi + 0x1c], 0
jne 0x61e5b654
mov eax, dword [ebp - 0xf8]
test ebx, ebx
mov ecx, dword [eax + 0xdc]
je case.0x61e5427d.112
test ecx, ecx
je case.0x61e5427d.112
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x128]
mov dword [esp + 0x14], edx
mov eax, dword [eax]
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x110]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xd8]
mov dword [esp], eax
call ecx
jmp case.0x61e5427d.112
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], 0xf1
jne 0x61e57d5b
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0xdc], 0
je 0x61e57d5b
movsx eax, byte [ebx + 1]
mov esi, dword [ebp - 0xf8]
shl eax, 4
add eax, dword [esi + 0x10]
mov edi, dword [eax]
mov eax, dword [ebp - 0xf4]
test byte [eax + 3], 2
mov esi, dword [eax + 0x10]
je 0x61e57d5f
cmp byte [ebx + 4], 0
je 0x61e57d5f
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 + 0x10]
mov edx, dword [edx + 0x14]
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], edx
jmp 0x61e57d5f
xor esi, esi
xor edi, edi
mov eax, dword [ebp - 0xf4]
movzx edx, byte [eax + 3]
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 0x61e5b654
test byte [ebp - 0x110], 1
je case.0x61e5427d.112
mov eax, dword [ebp - 0xe8]
inc dword [eax + 0x2c]
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xdc]
test eax, eax
je case.0x61e5427d.112
test byte [esi + 0x2c], 0x20
jne case.0x61e5427d.112
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 + 0xd8]
mov dword [esp], edx
call eax
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xf8]
mov eax, dword [eax + 0x2c]
add dword [esi + 0x5c], eax
mov dword [esi + 0x58], eax
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0x2c], 0
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov esi, dword [esi + 0xc]
mov eax, dword [eax + 0x70]
mov dword [ebp - 0x100], esi
mov esi, dword [ebp - 0xf4]
mov eax, dword [eax + edx*4]
mov edi, dword [esi + 0x10]
mov edx, dword [eax + 0x28]
mov esi, dword [eax + 0x2c]
mov ebx, dword [edx + 0x20]
test ebx, ebx
jne 0x61e57e7c
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 0x61e5b63e
mov word [eax + 8], di
cmp byte [edx + 0x38], 0
je 0x61e57ea2
cmp byte [edx + 0x39], 0
je 0x61e57e8d
mov eax, dword [edx + 0x10]
jmp 0x61e57e9a
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 0x61e57eaa
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 0x61e57ecd
imul edx, eax, 0x28
add edx, dword [ebx + 4]
test byte [edx + 8], 1
jne 0x61e5bd2f
inc eax
jmp 0x61e57eb6
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 0x61e5bd2f
mov dword [ebp - 0x100], 0
jmp case.0x61e5427d.112
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 0x61e57f4f
cmp byte [eax + 0x39], 0
je 0x61e57f3a
mov eax, dword [eax + 0x10]
jmp 0x61e57f47
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 0x61e57f57
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 0x61e5b64a
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.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 8], 0x28
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
add ebx, dword [ebp - 0x104]
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 edi, dword [esi + 0x1c]
cmp edi, dword [eax + 0x60]
ja 0x61e5b766
cmp edi, 0x20
mov edx, 0x20
mov eax, ebx
cmovae edx, edi
call sym._sqlite3VdbeMemClearAndResize
test eax, eax
jne 0x61e5b7a8
mov eax, dword [ebx + 8]
mov dword [ebx + 0xc], edi
xor edx, edx
mov ecx, edi
and ax, 0x3e00
or eax, 0x10
mov word [ebx + 8], ax
mov dword [esp + 4], 0
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
mov eax, esi
call sym._accessPayload
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5b654
mov byte [ebx + 0xa], 1
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.286
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 0x61e58082
mov word [esi + 8], 1
jmp case.0x61e5427d.112
cmp byte [ebx + 3], 0
je 0x61e58099
mov eax, dword [ebx + 0x40]
mov edx, dword [ebx + 0x44]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
jmp 0x61e5812b
cmp byte [ebx], 2
mov eax, dword [ebx + 0x28]
jne 0x61e580d4
mov ebx, dword [eax]
lea edi, [ebp - 0x80]
mov edx, dword [ebx]
mov dword [esp + 4], edi
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.287
cmp dword [ebp - 0x100], 0
je 0x61e5812b
jmp 0x61e5b654
cmp byte [eax + 0x42], 1
jne 0x61e580f5
cmp byte [ebx + 2], 0
je 0x61e5810b
mov word [esi + 8], 1
mov dword [ebp - 0x100], 0
jmp case.0x61e5427d.112
mov eax, ebx
call sym._handleMovedCursor
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e580da
jmp 0x61e5b654
mov ebx, dword [ebx + 0x28]
mov eax, ebx
call sym._getCellInfo
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
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.0x61e5427d.112
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.0x61e5427d.112
mov ebx, dword [eax + 0x28]
mov eax, dword [ebx + 0x30]
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_free
mov dword [ebx + 0x30], 0
mov byte [ebx + 0x42], 0
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov esi, 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]
mov dword [ebp - 0x80], 0
mov edx, dword [esi + 0xc]
test edx, edx
mov dword [ebx + 0x20], edx
je 0x61e581bb
cmp byte [eax + 0x42], 1
je case.0x61e5427d.112
lea edx, [ebp - 0x80]
call sym._sqlite3BtreeLast
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x80]
mov byte [ebx + 3], 0
mov dword [ebx + 0x1c], 0
mov byte [ebx + 2], al
jne 0x61e5b654
mov esi, dword [ebp - 0xf4]
cmp dword [esi + 8], 0
jle case.0x61e5427d.112
test eax, eax
jmp 0x61e5581d
mov eax, dword [ebp - 0xe8]
inc dword [eax + 0xa4]
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 - 0x110], eax
jne 0x61e585d3
mov edi, dword [eax + 0x28]
cmp byte [edi + 0x38], 0
jne 0x61e5825f
cmp dword [edi + 0x24], 0
je 0x61e5bd25
lea edx, [edi + 0x24]
lea eax, [edi + 0x40]
call sym._vdbeSorterSort
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e5bc92
jmp 0x61e5b654
mov eax, edi
call sym._vdbeSorterFlushPMA
movzx ebx, byte [edi + 0x3b]
mov dword [ebp - 0x100], eax
lea eax, [ebx - 1]
imul eax, eax, 0x48
lea esi, [edi + eax + 0x40]
test ebx, ebx
je 0x61e5829f
mov eax, esi
call sym._vdbeSorterJoinThread
cmp dword [ebp - 0x100], 0
cmovne eax, dword [ebp - 0x100]
dec ebx
sub esi, 0x48
mov dword [ebp - 0x100], eax
jmp 0x61e5827a
cmp dword [ebp - 0x100], 0
jne 0x61e5b654
mov eax, dword [edi + 0x48]
mov ecx, sym._vdbeSorterCompareInt
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x150], eax
mov al, byte [edi + 0x3c]
cmp al, 1
je 0x61e582d3
cmp al, 2
mov ecx, sym._vdbeSorterCompare
mov eax, sym._vdbeSorterCompareText
cmove ecx, eax
movzx eax, byte [edi + 0x3b]
xor edx, edx
mov ebx, eax
cmp edx, eax
jge 0x61e582e9
imul esi, edx, 0x48
inc edx
mov dword [edi + esi + 0x60], ecx
jmp 0x61e582db
cmp bl, 1
jbe 0x61e582fe
call sym._vdbeMergeEngineNew
test eax, eax
mov ebx, eax
jne 0x61e58300
jmp 0x61e5bb43
xor ebx, ebx
lea eax, [edi + 0x40]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x100], eax
movzx eax, byte [edi + 0x3b]
cmp dword [ebp - 0x140], eax
jge 0x61e5bb62
mov eax, dword [ebp - 0x100]
xor ecx, ecx
mov esi, dword [eax + 0x1c]
test esi, esi
je 0x61e585b9
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 - 0x128], esi
mov dword [ebp - 0x124], ecx
cmp edx, dword [ebp - 0x124]
jge 0x61e58379
shld edx, eax, 4
inc dword [ebp - 0x158]
shl eax, 4
jmp 0x61e58362
jg 0x61e5837f
cmp eax, esi
jb 0x61e5836a
cmp esi, 0x10
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
jg 0x61e583b2
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0x80]
mov edx, esi
mov dword [esp], eax
mov eax, dword [ebp - 0x100]
call sym._vdbeMergeEngineLevel0
mov ecx, eax
jmp 0x61e58574
mov eax, 0x10
call sym._vdbeMergeEngineNew
cmp eax, 1
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x128], 0
sbb ecx, ecx
mov dword [ebp - 0x148], 0
and ecx, 7
mov eax, dword [ebp - 0x100]
mov edx, dword [eax + 0x1c]
cmp edx, dword [ebp - 0x148]
jle 0x61e58574
test ecx, ecx
jne 0x61e585a2
sub edx, dword [ebp - 0x148]
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 ecx, eax
jne 0x61e58568
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0xd0]
lea ecx, [ebp - 0xc8]
mov esi, dword [ebp - 0xd4]
inc eax
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x100]
call sym._vdbeIncrMergerNew
mov dword [ebp - 0x134], 1
mov ecx, eax
mov eax, 1
cmp dword [ebp - 0x158], eax
jle 0x61e58484
shl dword [ebp - 0x134], 4
inc eax
jmp 0x61e58472
mov dword [ebp - 0x168], 1
mov edx, dword [ebp - 0x168]
cmp dword [ebp - 0x158], edx
jle 0x61e5852d
test ecx, ecx
jne 0x61e5852d
mov eax, dword [ebp - 0x128]
mov ecx, 0x10
cdq
idiv dword [ebp - 0x134]
cdq
idiv ecx
imul edx, edx, 0x38
add edx, dword [esi + 0xc]
cmp dword [edx + 0x30], 0
mov dword [ebp - 0x160], edx
je 0x61e584f3
mov eax, dword [ebp - 0x160]
mov ecx, 0x10
mov eax, dword [eax + 0x30]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x134]
cdq
idiv ecx
xor ecx, ecx
mov dword [ebp - 0x134], eax
jmp 0x61e58522
mov eax, 0x10
call sym._vdbeMergeEngineNew
test eax, eax
mov ecx, 7
je 0x61e58522
mov ecx, dword [ebp - 0x160]
mov edx, eax
mov eax, dword [ebp - 0x100]
add ecx, 0x30
call sym._vdbeIncrMergerNew
test eax, eax
mov ecx, eax
je 0x61e584cf
inc dword [ebp - 0x168]
jmp 0x61e5848e
test ecx, ecx
mov eax, dword [ebp - 0xc8]
jne 0x61e5854b
mov edx, dword [ebp - 0x128]
and edx, 0xf
imul edx, edx, 0x38
add edx, dword [esi + 0xc]
mov dword [edx + 0x30], eax
jmp 0x61e5855c
mov dword [ebp - 0x128], ecx
call sym._vdbeIncrFree
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x128], eax
add dword [ebp - 0x148], 0x10
jmp 0x61e583de
test ecx, ecx
jne 0x61e585a2
test ebx, ebx
mov edx, dword [ebp - 0xd4]
je 0x61e5859e
imul ecx, dword [ebp - 0x140], 0x38
mov eax, dword [ebp - 0x100]
add ecx, dword [ebx + 0xc]
add ecx, 0x30
call sym._vdbeIncrMergerNew
mov ecx, eax
jmp 0x61e585b9
mov ebx, edx
jmp 0x61e585b9
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x128], ecx
call sym._vdbeMergeEngineFree
mov ecx, dword [ebp - 0x128]
inc dword [ebp - 0x140]
add dword [ebp - 0x100], 0x48
test ecx, ecx
je 0x61e58313
jmp 0x61e5bb48
mov eax, dword [ebp - 0x110]
mov ebx, dword [eax + 0x28]
mov eax, ebx
call sym._moveToRoot
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
mov eax, 1
jne 0x61e5860c
cmp byte [ebx + 0x42], 0
je 0x61e5860c
mov eax, ebx
call sym._moveToLeftmost
mov dword [ebp - 0x100], eax
xor eax, eax
cmp dword [ebp - 0x100], 0
mov edi, dword [ebp - 0x110]
mov byte [edi + 3], 0
mov dword [edi + 0x1c], 0
jne 0x61e5b654
mov byte [edi + 2], al
jmp 0x61e5b106
mov eax, dword [ebx + 0x14]
lea edx, [ebp - 0x80]
call sym._vdbeMergeEngineStep
jmp 0x61e586dc
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 0x61e58673
xor eax, eax
cmp dword [ebx + 0x24], 0
mov dword [ebp - 0x100], 0
sete al
mov dword [ebp - 0x80], eax
jmp 0x61e542d5
mov esi, dword [edx + 4]
mov eax, dword [ebp - 0xf8]
call sym._sqlite3DbFree
test esi, esi
mov edx, esi
jne 0x61e58673
jmp 0x61e58658
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x70]
cmp dword [eax + edx*4], 0
je case.0x61e5427d.112
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 [ebp - 0x80], eax
lea eax, [ebp - 0x80]
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 0x61e542d5
mov byte [edi + 2], 1
jmp 0x61e54328
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 + 3], 1
je 0x61e58730
mov eax, dword [ebp - 0xe8]
inc dword [eax + 0x2c]
mov eax, dword [ebp - 0x110]
test byte [eax + 9], 0x40
jne 0x61e58756
mov eax, dword [ebp - 0xf4]
cmp byte [eax], 0x7c
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 0x10]
jne 0x61e588f0
jmp 0x61e58770
mov eax, dword [ebp - 0x110]
call sym._sqlite3VdbeMemExpandBlob
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e5873c
jmp 0x61e5b654
movzx edx, byte [eax + 1]
mov ebx, dword [ebx + 0x28]
test dl, dl
js 0x61e58780
mov dword [ebp - 0x80], edx
jmp 0x61e58789
lea edx, [ebp - 0x80]
inc eax
call sym._sqlite3GetVarint32
mov eax, dword [ebp - 0x80]
lea edx, [eax - 1]
cmp edx, 8
ja 0x61e5879f
cmp eax, 7
je 0x61e5879f
and byte [ebx + 0x3c], 1
jmp 0x61e587b2
cmp eax, 0xa
jle 0x61e587ae
test al, 1
je 0x61e587ae
and byte [ebx + 0x3c], 2
jmp 0x61e587b2
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 0x61e587e0
inc dword [ebp - 0x100]
jmp 0x61e587cb
mov edx, dword [ebx + 4]
add esi, dword [ebp - 0x100]
mov dword [ebp - 0x100], 0
test edx, edx
je 0x61e5882c
cmp dword [ebx + 0x28], 0
je 0x61e58810
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x61e5882c
add eax, edi
cmp edx, eax
jl 0x61e5bca1
jmp 0x61e5882c
mov eax, dword [ebx + 0x2c]
cmp edx, eax
jl 0x61e5bca1
cmp eax, dword [ebx]
jle 0x61e5882c
cmp dword [0x61e9c37c], 0
jne 0x61e5bca1
add dword [ebx + 0x2c], esi
cmp esi, dword [ebx + 8]
jle 0x61e58837
mov dword [ebx + 8], esi
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x61e588b9
mov esi, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
add esi, edi
cmp esi, edx
jle 0x61e5889a
mov ecx, dword [ebx + 0x24]
sub ecx, eax
mov dword [ebp - 0x128], ecx
add edx, edx
cmp esi, edx
jg 0x61e58855
mov ecx, dword [ebx + 4]
cmp edx, ecx
jle 0x61e58868
cmp esi, ecx
jg 0x61e5886a
mov edx, ecx
mov esi, edx
mov ecx, esi
mov edx, esi
sar ecx, 0x1f
call sym._sqlite3Realloc
test eax, eax
jne 0x61e58889
mov dword [ebp - 0x100], 7
jmp 0x61e5b654
mov edx, dword [ebp - 0x128]
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x34], esi
add edx, eax
mov dword [ebx + 0x24], edx
mov ecx, dword [ebx + 0x30]
mov esi, dword [ebx + 0x28]
lea eax, [edi + 7]
and eax, 0xfffffff8
lea edx, [esi + ecx]
add ecx, eax
mov eax, dword [ebx + 0x24]
mov dword [ebx + 0x30], ecx
test eax, eax
je 0x61e588cd
sub eax, esi
jmp 0x61e588ca
mov eax, edi
cdq
call sym._sqlite3Malloc
test eax, eax
mov edx, eax
je 0x61e5887a
mov eax, dword [ebx + 0x24]
mov dword [edx + 4], eax
mov edi, dword [ebp - 0x110]
lea eax, [edx + 8]
mov esi, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
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 0x61e58959
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 cl, byte [eax + 3]
test cl, 0x10
je 0x61e58938
mov edx, dword [ebx + 0x20]
mov eax, dword [ebx + 0x28]
shr cl, 3
mov dword [esp], edx
lea edx, [ebp - 0x80]
and ecx, 1
call sym._sqlite3BtreeInsert
mov dword [ebx + 0x1c], 0
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
je case.0x61e5427d.112
jmp 0x61e5b654
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 0x61e5b654
cmp dword [ebp - 0xc8], 0
je 0x61e58a02
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
jmp case.0x61e5427d.112
mov edx, 4
mov eax, esi
call sym._sqlite3BtreeDelete
test eax, eax
je 0x61e589ef
mov dword [ebp - 0x100], eax
jmp 0x61e5b654
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 + 0x42], 1
jne 0x61e58a46
cmp byte [ebx + 2], 0
je 0x61e58a5c
jmp 0x61e58bdd
mov eax, ebx
call sym._handleMovedCursor
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e58a3b
jmp 0x61e5b654
mov esi, dword [ebx + 0x28]
mov eax, esi
call sym._getCellInfo
mov eax, dword [ebp - 0xf8]
mov ecx, dword [esi + 0x1c]
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 0x61e58b69
mov eax, dword [ebp - 0xb8]
movzx edx, byte [eax]
test dl, dl
js 0x61e58abd
mov dword [ebp - 0xd4], edx
jmp 0x61e58ac8
lea edx, [ebp - 0xd4]
call sym._sqlite3GetVarint32
mov eax, dword [ebp - 0xd4]
cmp eax, 2
jbe 0x61e58b4e
cmp dword [ebp - 0xbc], eax
jl 0x61e58b4e
mov edx, dword [ebp - 0xb8]
lea eax, [edx + eax - 1]
movzx edx, byte [eax]
test dl, dl
js 0x61e58af4
mov dword [ebp - 0xd0], edx
jmp 0x61e58aff
lea edx, [ebp - 0xd0]
call sym._sqlite3GetVarint32
mov edx, dword [ebp - 0xd0]
lea eax, [edx - 1]
cmp eax, 8
ja 0x61e58b4e
cmp edx, 7
je 0x61e58b4e
movzx ecx, byte [edx + 0x61e99de0]
mov esi, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xbc]
add esi, ecx
cmp eax, esi
jb 0x61e58b4e
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 0x61e58b7a
lea eax, [ebp - 0xc8]
call sym._sqlite3VdbeMemRelease
mov eax, 0x12685
call sym._sqlite3CorruptError
mov dword [ebp - 0x100], eax
xor esi, esi
xor edi, edi
cmp dword [ebp - 0x100], 0
jne 0x61e5b654
mov eax, dword [ebp - 0xf4]
cmp byte [eax], 0x7f
jne 0x61e58bb6
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.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.286
mov dword [eax], esi
mov dword [eax + 4], edi
mov word [eax + 8], 4
jmp case.0x61e5427d.112
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.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
cmp bl, 0x3c
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 + 0x1c]
xor edx, edx
mov eax, ecx
add eax, 0xffffffff
adc edx, 0xffffffff
cmp edx, 0
ja 0x61e58c73
cmp eax, 0x7ffffffe
jbe 0x61e58c87
mov eax, 0x126a6
xor ebx, ebx
call sym._sqlite3CorruptError
mov dword [ebp - 0x100], eax
jmp 0x61e58cde
mov eax, dword [ebp - 0xf8]
xor edx, edx
mov word [ebp - 0x78], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x80]
mov dword [esp], eax
mov eax, ebx
xor ebx, ebx
call sym._sqlite3VdbeMemFromBtree
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e58cde
lea eax, [ebp - 0xc8]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call sym._sqlite3VdbeRecordCompare
mov ebx, eax
lea eax, [ebp - 0x80]
call sym._sqlite3VdbeMemRelease
mov edi, dword [ebp - 0xf4]
mov eax, ebx
inc ebx
neg eax
test byte [edi], 1
cmove ebx, eax
cmp dword [ebp - 0x100], 0
jne 0x61e5b654
test ebx, ebx
jg 0x61e543c4
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.286
mov dword [ebp - 0x128], eax
mov word [eax + 8], 1
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf8]
mov eax, dword [eax + 0xac]
mov dword [ebp - 0x100], eax
inc eax
cmp dword [esi + 0xa0], eax
jle 0x61e58d69
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x100], 6
mov byte [eax + 0x8e], 2
jmp 0x61e5b654
mov eax, dword [ebp - 0xf4]
xor ebx, ebx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x134]
shl eax, 4
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xf8]
mov edi, dword [ebp - 0x140]
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 0x61e58fa2
mov eax, dword [ebp - 0x110]
xor ecx, ecx
mov edx, esi
call sym._sqlite3BtreeClearTable
test eax, eax
mov dword [ebp - 0xd4], eax
jne 0x61e58f8b
cmp byte [edi + 0x11], 0
je 0x61e58f7a
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 0x61e58e61
lea edx, [ebp - 0xd4]
call sym._freePage
mov eax, dword [ebp - 0xd0]
call sym._releasePage
mov ecx, dword [ebp - 0xd4]
test ecx, ecx
je 0x61e58f19
jmp 0x61e58f70
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 0x61e58f11
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 0x61e58f11
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 0x61e58f11
mov ebx, dword [ebp - 0xc8]
jmp 0x61e58f19
mov dword [ebp - 0x100], eax
jmp 0x61e58f76
dec dword [ebp - 0xc8]
mov eax, dword [0x61e8c324]
xor edx, edx
div dword [edi + 0x20]
lea esi, [eax + 1]
mov ecx, dword [ebp - 0xc8]
cmp ecx, esi
jne 0x61e58f3f
dec ecx
mov dword [ebp - 0xc8], ecx
jmp 0x61e58f2c
mov edx, ecx
mov eax, edi
mov dword [ebp - 0x100], ecx
call sym._ptrmapPageno
mov ecx, dword [ebp - 0x100]
cmp ecx, eax
je 0x61e58f36
mov eax, dword [ebp - 0x110]
mov edx, 4
call sym._sqlite3BtreeUpdateMeta
mov dword [ebp - 0xd4], eax
jmp 0x61e58f96
mov dword [ebp - 0x100], ecx
xor ebx, ebx
jmp 0x61e58fa2
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 - 0x128]
mov word [eax + 8], 4
mov dword [eax], ebx
mov dword [eax + 4], edi
jne 0x61e5b654
test ebx, ebx
je case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0x140]
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 0x61e5900a
mov esi, dword [eax + 8]
cmp ebx, dword [esi + 0x1c]
jne 0x61e59006
mov dword [esi + 0x1c], edx
mov eax, dword [eax]
jmp 0x61e58ff7
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x61e59020
mov ecx, dword [eax + 8]
cmp ebx, dword [ecx + 0x2c]
jne 0x61e5901c
mov dword [ecx + 0x2c], edx
mov eax, dword [eax]
jmp 0x61e5900d
mov al, byte [ebp - 0x134]
inc eax
mov byte [ebp - 0x136], al
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x80], 0
mov ecx, 0
mov edi, dword [ebp - 0xf8]
cmp dword [eax + 0xc], 0
lea eax, [ebp - 0x80]
cmovne ecx, eax
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [edi + 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 0x61e590ac
mov esi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x80]
add dword [esi + 0x2c], ecx
test eax, eax
jle 0x61e590ac
imul eax, eax, 0x28
mov edi, dword [ebp - 0x104]
mov ebx, ecx
sar ebx, 0x1f
add dword [edi + eax], ecx
adc dword [edi + eax + 4], ebx
cmp dword [ebp - 0x100], 0
je case.0x61e5427d.112
jmp 0x61e5b654
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 0x61e590eb
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0xf8]
call sym._sqlite3VdbeSorterReset
jmp case.0x61e5427d.112
mov eax, dword [eax + 0x28]
xor ecx, ecx
mov edx, dword [eax + 0x34]
mov eax, dword [eax]
call sym._sqlite3BtreeClearTable
test eax, eax
mov dword [ebp - 0x100], eax
je case.0x61e5427d.112
jmp 0x61e5b654
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.286
mov ebx, eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x80], 0
mov esi, dword [ebp - 0xf8]
mov edi, dword [ebp - 0xf4]
xor ecx, ecx
lea edx, [ebp - 0x80]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [esi + 0x10]
cmp byte [edi], 0x86
mov eax, dword [eax + 4]
setne cl
inc ecx
call sym._sqlite3BtreeCreateTable
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5b654
mov eax, dword [ebp - 0x80]
mov dword [ebx], eax
sar eax, 0x1f
mov dword [ebx + 4], eax
jmp case.0x61e5427d.112
mov esi, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xe8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x80], esi
mov esi, dword [ebp - 0xf4]
lea edx, [edi + 0x6c]
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], eax
shl eax, 4
mov edx, dword [esi + 0x10]
mov dword [esp + 0xc], 0x61e8d084
mov dword [esp + 0x10], edx
add eax, dword [edi + 0x10]
mov eax, dword [eax]
mov dword [esp + 4], str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
mov dword [esp], edi
mov dword [esp + 8], eax
call sym._sqlite3MPrintf
test eax, eax
mov ebx, eax
je 0x61e59250
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x99], 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._sqlite3DbFree
cmp dword [ebp - 0x100], 0
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x99], 0
je case.0x61e5427d.112
jmp 0x61e5925a
mov dword [ebp - 0x100], 7
mov eax, dword [ebp - 0xf8]
call sym._sqlite3ResetAllSchemasOfConnection
cmp dword [ebp - 0x100], 7
jne 0x61e5b654
jmp 0x61e5b7a8
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.0x61e5427d.112
jmp 0x61e5b654
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, 8
call sym._sqlite3HashInsert
mov edx, eax
mov eax, dword [ebp - 0xf8]
call sym._sqlite3DeleteTable
mov eax, dword [ebp - 0xf8]
or dword [eax + 0x18], 2
jmp case.0x61e5427d.112
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 0x61e59348
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 8]
cmp eax, edx
jne 0x61e5932f
mov edx, dword [eax + 0x14]
mov dword [ecx + 8], edx
jmp 0x61e5933b
mov ecx, dword [edx + 0x14]
cmp eax, ecx
je 0x61e59335
mov edx, ecx
test edx, edx
jne 0x61e59326
jmp 0x61e5933b
mov ecx, dword [eax + 0x14]
mov dword [edx + 0x14], ecx
mov edx, eax
mov eax, dword [ebp - 0xf8]
call sym._freeIndex
mov eax, dword [ebp - 0xf8]
or dword [eax + 0x18], 2
jmp case.0x61e5427d.112
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.0x61e5427d.112
mov eax, dword [eax + 0x14]
cmp eax, dword [ebx + 0x18]
jne 0x61e593b6
mov edx, dword [ebx + 4]
add eax, 8
call sym._sqlite3HashFind
lea edx, [eax + 0x40]
mov eax, dword [eax + 0x40]
cmp ebx, eax
je 0x61e593b1
lea edx, [eax + 0x20]
mov eax, dword [eax + 0x20]
jmp 0x61e593a5
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], 2
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0xf4]
imul eax, dword [eax + 0xc], 0x28
add eax, dword [ebp - 0x104]
mov dword [ebp - 0x140], 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 - 0x140]
mov esi, dword [eax]
mov eax, dword [ebp - 0xf4]
movzx eax, byte [eax + 3]
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax + 4]
mov ebx, dword [eax + 4]
mov dword [ebp - 0x128], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x128]
call sym._sqlite3BtreeEnter
mov dword [ebp - 0xc8], ebx
mov eax, dword [ebx]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0xb8], esi
lea esi, [ebp - 0x80]
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 - 0x84], 0
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0x64
mov dword [ebp - 0x8c], 0x3b9aca00
mov byte [ebp - 0x88], 0
mov byte [ebp - 0x87], 1
je 0x61e596eb
shr eax, 3
xor edx, edx
inc eax
call sym._sqlite3MallocZero
test eax, eax
mov dword [ebp - 0xc0], eax
jne 0x61e59531
mov dword [ebp - 0xb0], 1
jmp 0x61e596eb
mov eax, dword [ebx + 0x20]
call sym._pcache1Alloc
test eax, eax
mov dword [ebp - 0x84], eax
je 0x61e59522
mov eax, dword [0x61e8c324]
xor edx, edx
div dword [ebx + 0x20]
lea ecx, [eax + 1]
cmp ecx, dword [ebp - 0xbc]
ja 0x61e59571
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 edi, [ebp - 0xc8]
xor esi, esi
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, edi
call sym._checkList
mov dword [ebp - 0xac], 0
mov eax, dword [ebx + 4]
and dword [eax + 0x18], 0xdfffffff
cmp dword [ebp - 0x148], esi
jle 0x61e5961a
cmp dword [ebp - 0xb8], 0
je 0x61e5961a
mov eax, dword [ebp - 0x134]
mov edx, dword [eax + esi*4]
test edx, edx
je 0x61e59617
cmp byte [ebx + 0x11], 0
je 0x61e595f2
cmp edx, 1
jle 0x61e595f2
mov dword [esp], 0
mov ecx, 1
mov eax, edi
call sym._checkPtrmap
mov eax, dword [ebp - 0x134]
lea ecx, [ebp - 0xd0]
mov edx, dword [eax + esi*4]
mov dword [esp], 0xffffffff
mov eax, edi
mov dword [esp + 4], 0x7fffffff
call sym._checkTreePage
inc esi
jmp 0x61e595b6
mov esi, dword [ebp - 0x158]
mov eax, dword [ebx + 4]
lea edi, [ebp - 0xc8]
mov dword [eax + 0x18], esi
mov esi, 1
cmp esi, dword [ebp - 0xbc]
ja 0x61e596eb
cmp dword [ebp - 0xb8], 0
je 0x61e596eb
mov eax, esi
mov ecx, esi
shr eax, 3
and ecx, 7
mov dword [ebp - 0x134], eax
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0xc0]
movzx eax, byte [eax + ecx]
test dword [ebp - 0x148], eax
jne 0x61e596a6
mov edx, esi
mov eax, ebx
call sym._ptrmapPageno
cmp esi, eax
jne 0x61e59692
cmp byte [ebx + 0x11], 0
jne 0x61e596a6
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 - 0x134]
movzx eax, byte [eax + ecx]
test dword [ebp - 0x148], eax
je 0x61e596e5
mov edx, esi
mov eax, ebx
call sym._ptrmapPageno
cmp esi, eax
jne 0x61e596e5
cmp byte [ebx + 0x11], 0
je 0x61e596e5
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 0x61e59631
mov eax, dword [ebp - 0x84]
call sym._pcache1Free
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_free
cmp dword [ebp - 0xb0], 0
je 0x61e5971e
lea eax, [ebp - 0xa0]
call sym._sqlite3StrAccumReset
inc dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xb4]
test ebx, ebx
jne 0x61e59733
lea eax, [ebp - 0xa0]
call sym._sqlite3StrAccumReset
mov eax, dword [ebp - 0x128]
call sym._sqlite3BtreeLeave
lea eax, [ebp - 0xa0]
call sym._sqlite3StrAccumFinish
mov edi, dword [ebp - 0x140]
mov esi, eax
mov eax, ebx
cdq
mov eax, dword [ebp - 0x110]
sub dword [edi], ebx
sbb dword [edi + 4], edx
call sym._sqlite3VdbeMemSetNull
test ebx, ebx
je 0x61e5978f
test esi, esi
je 0x61e5b7a8
mov eax, dword [ebp - 0x110]
mov dword [esp + 4], sym.sqlite3.dll_sqlite3_free
or ecx, 0xffffffff
mov dword [esp], 1
mov edx, esi
call sym._sqlite3VdbeMemSetStr
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x110]
call sym._sqlite3VdbeChangeEncoding
jmp case.0x61e5427d.112
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], 0x20
je 0x61e597d6
mov edx, dword [esi]
mov ecx, dword [esi + 4]
mov eax, dword [ebx]
call sym._sqlite3RowSetInsert
jmp case.0x61e5427d.112
mov eax, ebx
call sym._sqlite3VdbeMemSetRowSet
test byte [ebx + 8], 0x20
jne 0x61e597c5
jmp 0x61e5b7a8
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
add ebx, dword [ebp - 0x104]
test byte [ebx + 8], 0x20
je 0x61e59886
mov esi, dword [ebx]
mov ax, word [esi + 0x1a]
test al, 2
jne 0x61e59820
test al, 1
jne 0x61e5981b
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 0x61e59886
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 0x61e5bcc1
mov edx, dword [esi]
test edx, edx
je 0x61e5985a
mov ebx, dword [edx]
mov eax, dword [esi + 4]
call sym._sqlite3DbFree
mov edx, ebx
jmp 0x61e59848
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 0x61e5bcc1
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
jmp case.0x61e5427d.13
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 - 0x134], eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x110]
test byte [eax + 8], 0x20
je 0x61e598e4
cmp dword [ebp - 0x128], 0
je 0x61e5990d
jmp 0x61e5992a
mov eax, dword [ebp - 0x110]
call sym._sqlite3VdbeMemSetRowSet
mov eax, dword [ebp - 0x110]
test byte [eax + 8], 0x20
jne 0x61e598d9
jmp 0x61e5b7a8
cmp dword [ebp - 0x128], 0
js case.0x61e5427d.112
mov eax, dword [ebp - 0x134]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x110]
mov eax, dword [eax]
call sym._sqlite3RowSetInsert
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0x134]
mov eax, dword [eax]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 4]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x110]
mov ebx, dword [eax]
mov eax, dword [ebp - 0x128]
cmp eax, dword [ebx + 0x1c]
je 0x61e59a10
mov esi, dword [ebx + 8]
test esi, esi
je 0x61e59a07
test byte [ebx + 0x1a], 1
lea eax, [ebx + 0x14]
mov dword [ebp - 0x140], eax
jne 0x61e59981
mov eax, esi
call sym._rowSetEntrySort
mov esi, eax
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x61e599c1
lea eax, [edi + 8]
mov dword [ebp - 0x140], eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x61e599ea
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 0x61e59984
mov eax, ebx
call sym._rowSetEntryAlloc
mov edi, eax
mov eax, dword [ebp - 0x140]
test edi, edi
mov dword [eax], edi
je 0x61e599f4
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 - 0x128]
mov dword [ebx + 0x1c], eax
mov edx, dword [ebx + 0x14]
test edx, edx
je 0x61e59900
mov eax, dword [edx + 0xc]
test eax, eax
je 0x61e59a57
mov ebx, dword [eax + 4]
cmp dword [ebp - 0x158], ebx
mov ecx, dword [eax]
jl 0x61e59a52
jg 0x61e59a39
cmp dword [ebp - 0x148], ecx
jbe 0x61e59a3e
mov eax, dword [eax + 8]
jmp 0x61e59a1e
cmp dword [ebp - 0x158], ebx
jl 0x61e59a52
cmp dword [ebp - 0x148], ecx
jae 0x61e543c4
mov eax, dword [eax + 0xc]
jmp 0x61e59a1e
mov edx, dword [edx + 8]
jmp 0x61e59a13
mov eax, dword [ebp - 0xf4]
cmp byte [eax + 3], 0
mov ebx, dword [eax + 0x10]
je 0x61e59a8c
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebx + 0x10]
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x61e59a8c
cmp edx, dword [eax + 0x18]
je case.0x61e5427d.112
mov eax, dword [eax + 4]
jmp 0x61e59a7a
mov eax, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xf8]
mov edi, dword [esi + 0x88]
cmp dword [eax + 0xc0], edi
jl 0x61e59ac5
mov dword [esp + 4], str.too_many_levels_of_trigger_recursion
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x100], 1
jmp 0x61e5b654
mov eax, dword [ebp - 0xf4]
imul esi, dword [eax + 0xc], 0x28
add esi, dword [ebp - 0x104]
test byte [esi + 8], 0x40
jne 0x61e59bc6
mov eax, dword [ebx + 0xc]
mov edi, dword [ebx + 8]
add edi, eax
cmp eax, 1
adc edi, 0
imul edx, edi, 0xa
lea edx, [eax + edx + 0x14]
mov eax, dword [ebp - 0xf8]
shl edx, 2
mov ecx, edx
sar ecx, 0x1f
call sym._sqlite3DbMallocZero
test eax, eax
mov dword [ebp - 0x104], eax
je 0x61e5b7a8
mov eax, esi
call sym._sqlite3VdbeMemRelease
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp - 0xe8]
mov word [esi + 8], 0x40
mov dword [esi], edx
mov dword [edx], eax
mov eax, dword [ebx + 0xc]
mov dword [edx + 0x3c], edi
imul edi, edi, 0x28
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0x108]
lea ecx, [edx + edi + 0x50]
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 + 0x10]
mov dword [edx + 0x18], eax
lea eax, [edx + 0x50]
cmp eax, ecx
je 0x61e59bc8
mov edi, dword [ebp - 0xf8]
mov word [eax + 8], pe_nt_image_headers32
add eax, 0x28
mov dword [eax - 8], edi
jmp 0x61e59bae
mov edx, dword [esi]
mov eax, dword [ebp - 0xe8]
mov esi, dword [ebp - 0x120]
mov edi, dword [ebp - 0x11c]
inc dword [eax + 0xc0]
mov eax, dword [eax + 0xb8]
mov dword [edx + 0x20], esi
mov dword [edx + 0x24], edi
lea esi, [edx + 0x50]
mov edi, dword [ebp - 0xe8]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x2c]
mov dword [edx + 0x44], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax]
mov eax, dword [eax + 0x58]
mov dword [edx + 0x48], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xcc]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 0xe8]
mov dword [eax + 0xb8], edx
mov dword [eax + 0xcc], 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 esi, edi
movzx edx, word [edx + 0x40]
mov dword [edi + 0x18], eax
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov dword [edi + 0x1c], edx
mov dword [edi + 0x70], eax
mov eax, dword [ebx]
mov dword [ebp - 0x108], eax
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0x108]
mov dword [esi + 0x88], eax
mov eax, edi
mov dword [esi + 0x58], edi
sub eax, 0x14
mov dword [ebp - 0xf4], eax
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.286
mov edi, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xf4]
mov ecx, dword [edi + 0xb8]
mov edx, dword [esi + 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.0x61e5427d.112
mov eax, dword [ebp - 0xf8]
test byte [eax + 0x1b], 2
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 8]
je 0x61e59d13
mov ecx, eax
mov ebx, eax
mov eax, dword [ebp - 0xf8]
sar ebx, 0x1f
add dword [eax + 0x1c0], ecx
adc dword [eax + 0x1c4], ebx
jmp case.0x61e5427d.112
mov edi, dword [ebp - 0xf4]
cdq
cmp dword [edi + 4], 0
je 0x61e59d37
mov esi, dword [ebp - 0xf8]
add dword [esi + 0x1b8], eax
adc dword [esi + 0x1bc], edx
jmp case.0x61e5427d.112
mov edi, dword [ebp - 0xe8]
add dword [edi + 0x40], eax
adc dword [edi + 0x44], edx
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 4], 0
je 0x61e59d85
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf8]
mov eax, dword [eax + 0x1bc]
or eax, dword [esi + 0x1b8]
jne case.0x61e5427d.112
mov eax, dword [esi + 0x1c4]
mov edi, esi
or eax, dword [edi + 0x1c0]
jmp 0x61e5737f
mov eax, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xe8]
mov eax, dword [eax + 0x44]
or eax, dword [esi + 0x40]
jne case.0x61e5427d.112
mov eax, dword [ebp - 0xf8]
mov edi, dword [ebp - 0xf8]
mov eax, dword [eax + 0x1c4]
jmp 0x61e59d7a
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x61e59ddb
mov edx, dword [eax + 4]
test edx, edx
je 0x61e59dcc
mov eax, edx
jmp 0x61e59dc1
mov esi, dword [ebp - 0xf4]
imul ebx, dword [esi + 4], 0x28
add ebx, dword [eax + 0x10]
jmp 0x61e59deb
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.0x61e5427d.112
jl 0x61e59e21
cmp dword [ebx], edx
jae case.0x61e5427d.112
mov dword [ebx], edx
mov dword [ebx + 4], eax
jmp case.0x61e5427d.112
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.0x61e5427d.112
jg 0x61e59e54
cmp eax, 0
jbe case.0x61e5427d.112
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 0x61e543c4
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.286
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 0x61e59ebf
jl 0x61e59ead
cmp eax, 0
ja 0x61e59ebf
mov dword [ebx], 0xffffffff
mov dword [ebx + 4], 0xffffffff
jmp case.0x61e5427d.112
imul eax, esi, 0x28
add eax, dword [ebp - 0x104]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
test ecx, ecx
jns 0x61e59ed5
xor edx, edx
xor ecx, ecx
lea eax, [ebp - 0x80]
call sym._sqlite3AddInt64
test eax, eax
jne 0x61e59ead
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov dword [ebx], eax
mov dword [ebx + 4], edx
jmp case.0x61e5427d.112
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.0x61e5427d.112
cmp edx, 0
jl 0x61e543c4
jg 0x61e59f24
cmp eax, 0
jbe 0x61e543c4
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x61e543c4
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 0x61e59f5e
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 0x61e5737f
mov eax, dword [ebp - 0xf4]
xor ecx, ecx
movzx eax, byte [eax + 3]
lea edx, [eax*4 + 0x1c]
mov ebx, eax
mov eax, dword [ebp - 0xf8]
call sym._sqlite3DbMallocRawNN
test eax, eax
je 0x61e5b7a8
mov esi, dword [ebp - 0xf4]
mov dword [eax + 8], 0
mov ecx, dword [ebp - 0xe8]
mov edx, dword [esi + 0x10]
mov byte [eax + 0x1a], bl
mov dword [eax + 0xc], ecx
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
mov byte [esi + 1], 0xf0
mov dword [esi + 0x10], eax
mov byte [esi], 0x93
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 0x61e5a02b
mov eax, dword [ebp - 0xf8]
inc dword [edx + 0xc]
lea edx, [ebx + 0x1c]
mov word [ebp - 0x78], 1
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x80]
mov byte [ebx + 0x19], 0
mov dword [ebx], eax
mov byte [ebx + 0x18], 0
mov eax, dword [ebx + 4]
mov dword [esp + 8], edx
movzx edx, byte [ebx + 0x1a]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0xc]
cmp byte [ebx + 0x19], 0
jne 0x61e5a052
jmp 0x61e5a09b
movzx eax, byte [ebx + 0x1a]
mov dword [ebx + 8], edx
dec eax
cmp eax, 0xffffffff
je 0x61e59fe5
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 0x61e5a032
cmp dword [ebx + 0x14], 0
je 0x61e5a086
lea eax, [ebp - 0x80]
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], 0x61e8dab0
mov dword [esp], eax
call sym._sqlite3VdbeError
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0x80]
call sym._sqlite3VdbeMemRelease
cmp dword [ebp - 0x100], 0
jne 0x61e5b654
cmp byte [ebx + 0x18], 0
je case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax - 0x10]
test eax, eax
je case.0x61e5427d.112
imul eax, eax, 0x28
add eax, dword [ebp - 0x104]
mov edx, 1
xor ecx, ecx
call sym._sqlite3VdbeMemSetInt64
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
imul ebx, dword [eax + 4], 0x28
mov edx, dword [eax + 0x10]
add ebx, dword [ebp - 0x104]
mov eax, ebx
call sym._sqlite3VdbeMemFinalize
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e5a11b
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], 0x61e8dab0
mov dword [esp], eax
call sym._sqlite3VdbeError
jmp 0x61e5b654
mov edx, dword [ebp - 0x114]
mov eax, ebx
call sym._sqlite3VdbeChangeEncoding
mov eax, ebx
call sym._sqlite3VdbeMemTooBig
test eax, eax
je case.0x61e5427d.112
jmp 0x61e5b766
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 0x61e5a18f
cmp eax, 5
jne 0x61e5b654
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 0x61e5a1a1
mov dword [ebp - 0x100], 0
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.286
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 4]
shl eax, 4
add eax, dword [ecx + 0x10]
cmp esi, 0xffffffff
mov eax, dword [eax + 4]
mov dword [ebp - 0x128], eax
mov eax, dword [eax + 4]
mov ebx, dword [eax]
movzx edi, byte [ebx + 5]
cmove esi, edi
cmp byte [ebx + 0x11], 2
ja 0x61e5a232
mov eax, dword [ebx + 0x44]
cmp dword [eax], 0
je 0x61e5a234
cmp dword [ebx + 0x54], 0
jg 0x61e5a232
jl 0x61e5a234
cmp dword [ebx + 0x50], 0
jbe 0x61e5a234
mov esi, edi
cmp byte [ebx + 0x10], 0
mov eax, 0x61e8d490
jne 0x61e5a245
mov eax, dword [ebx + 0xb0]
cmp esi, 5
jne 0x61e5a26b
call sym._sqlite3Strlen30
test eax, eax
je 0x61e5a407
mov eax, ebx
call sym._sqlite3PagerWalSupported
test eax, eax
je 0x61e5a407
jmp 0x61e5a3fe
cmp esi, edi
je 0x61e5a409
cmp edi, 5
jne 0x61e5a409
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x43], 0
je 0x61e5a291
cmp dword [eax + 0xa0], 1
jle 0x61e5a2ca
cmp esi, 5
mov edx, str.into
mov eax, str.out_of
cmove 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 0x61e5b654
cmp edi, 5
jne 0x61e5a3c8
cmp dword [ebx + 0xdc], 0
je 0x61e5a2ea
cmp dword [ebx + 0xdc], 0
jne 0x61e5a34b
jmp 0x61e5a3a9
mov edx, 1
mov eax, ebx
mov dword [ebp - 0x80], 0
call sym._pagerLockDb
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5a413
lea eax, [ebp - 0x80]
mov edx, dword [ebx + 0xe0]
xor ecx, ecx
mov dword [esp], eax
mov eax, dword [ebx]
call sym._sqlite3OsAccess
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5a413
cmp dword [ebp - 0x80], 0
je 0x61e5a2dc
mov eax, ebx
call sym._pagerOpenWal
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5a413
jmp 0x61e5a2dc
mov edx, 4
mov eax, ebx
call sym._pagerLockDb
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5a3ba
mov edx, dword [ebx + 0xd4]
movzx ecx, byte [ebx + 0xa]
mov eax, dword [ebx + 0xdc]
mov dword [esp + 4], edx
mov edx, dword [ebx + 0xa0]
mov dword [esp], edx
mov edx, dword [ebp - 0xf8]
call sym._sqlite3WalClose
mov dword [ebx + 0xdc], 0
mov dword [ebp - 0x100], eax
mov eax, ebx
call sym._pagerFixMaplimit
cmp dword [ebp - 0x100], 0
jne 0x61e5a3b4
mov edx, esi
mov eax, ebx
call sym._sqlite3PagerSetJournalMode
jmp 0x61e5a3e2
cmp byte [ebx + 4], 0
jne 0x61e5a413
mov edx, 1
mov eax, ebx
call sym._pagerUnlockDb
jmp 0x61e5a413
cmp edi, 4
jne 0x61e5a3d9
mov edx, 2
mov eax, ebx
call sym._sqlite3PagerSetJournalMode
cmp dword [ebp - 0x100], 0
jne 0x61e5a413
xor edx, edx
mov eax, dword [ebp - 0x128]
cmp esi, 5
sete dl
inc edx
call sym._sqlite3BtreeSetVersion
mov dword [ebp - 0x100], eax
jmp 0x61e5a409
cmp edi, 5
jne 0x61e5a27c
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 0x61e5a436
mov edx, dword [eax*4 + 0x61e95f9c]
mov eax, dword [ebp - 0x110]
mov dword [eax + 0x10], edx
mov eax, edx
call sym._sqlite3Strlen30
mov edi, dword [ebp - 0x110]
mov edx, dword [ebp - 0x114]
mov dword [edi + 0xc], eax
mov byte [edi + 0xa], 1
mov eax, edi
call sym._sqlite3VdbeChangeEncoding
cmp dword [ebp - 0x100], 0
je case.0x61e5427d.112
jmp 0x61e5b654
mov eax, dword [ebp - 0xe8]
lea esi, [eax + 0x6c]
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x43], 0
jne 0x61e5a48e
mov ecx, str.cannot_VACUUM_from_within_a_transaction
jmp 0x61e5a4a2
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 0x9c], 1
jle 0x61e5a4ba
mov ecx, str.cannot_VACUUM___SQL_statements_in_progress
mov edx, eax
mov eax, esi
call sym._sqlite3SetString
mov dword [ebp - 0x100], 1
jmp 0x61e5b654
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
mov edx, esi
mov ebx, dword [eax + 4]
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x18]
shl ebx, 4
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0xf8]
mov al, byte [eax + 0x4c]
mov byte [ecx + 0x4c], 0
mov byte [ebp - 0x168], al
mov eax, dword [ebp - 0x140]
and eax, 0xfff5ff7f
or eax, 0x10202800
mov dword [ecx + 0x18], eax
mov eax, dword [ecx + 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 + 0xd]
mov byte [ebp - 0x150], al
mov eax, dword [ecx + 0x14]
mov ecx, str.ATTACHAS_vacuum_db
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0xf8]
call sym._execSql
test eax, eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x128], 0
jne 0x61e5a957
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x148]
shl eax, 4
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x128], 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 - 0x178], eax
mov eax, ebx
mov dword [ebp - 0x174], ecx
call sym._sqlite3BtreeLeave
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x134]
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 0x61e5a957
mov edx, 2
mov eax, ebx
call sym._sqlite3BtreeBeginTrans
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5a957
mov eax, dword [ebx + 4]
mov edx, dword [eax]
cmp byte [edx + 5], 5
jne 0x61e5a652
mov ecx, dword [ebp - 0xf8]
mov dword [ecx + 0x50], 0
mov ecx, dword [ebp - 0x174]
sub ecx, dword [ebp - 0x178]
mov edx, dword [eax + 0x20]
mov eax, dword [ebp - 0x110]
mov dword [esp], 0
mov dword [ebp - 0x134], ecx
call sym._sqlite3BtreeSetPageSize
test eax, eax
mov dword [ebp - 0x100], 7
jne 0x61e5a957
cmp byte [ebp - 0x150], 0
je 0x61e5a6b0
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x100], 7
cmp byte [eax + 0x45], 0
jne 0x61e5a957
jmp 0x61e5a6db
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x134]
mov edx, dword [eax + 0x50]
mov eax, dword [ebp - 0x110]
mov dword [esp], 0
call sym._sqlite3BtreeSetPageSize
test eax, eax
jne 0x61e5a957
jmp 0x61e5a694
mov eax, dword [ebp - 0xf8]
movsx eax, byte [eax + 0x48]
test al, al
jns 0x61e5a6f0
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 - 0x148]
mov byte [ecx + 0x98], 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 0x61e5a957
mov eax, dword [ebp - 0xf8]
mov dword [esp + 0xc], edi
mov dword [esp + 8], str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typeindex_AND_length_sql__10
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._execSqlF
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5a957
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x98], 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], 0xefffffff
cmp dword [ebp - 0x100], 0
jne 0x61e5a957
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 0x61e5a957
mov edi, 0x61e95668
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 0x61e5a957
add edi, 2
mov eax, 0x61e95672
cmp eax, edi
jne 0x61e5a7d1
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 + 0x40]
cmp dword [eax], 0
mov dword [ebp - 0x100], eax
je 0x61e5a87e
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
cmp eax, 0xc
mov dword [ebp - 0x100], eax
je 0x61e5a87e
test eax, eax
jne 0x61e5a8ed
lea edi, [ebp - 0x80]
xor eax, eax
mov ecx, 0xc
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x110]
mov eax, dword [eax]
mov dword [esp + 4], 0x7fffffff
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
lea eax, [ebp - 0x80]
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_backup_step
lea eax, [ebp - 0x80]
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_backup_finish
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5a8da
mov eax, dword [ebx + 4]
and word [eax + 0x16], 0xfffd
jmp 0x61e5a8ed
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
jne 0x61e5a8ed
call sym._pager_reset
mov eax, dword [ebp - 0x110]
call sym._sqlite3BtreeLeave
mov eax, ebx
call sym._sqlite3BtreeLeave
cmp dword [ebp - 0x100], 0
jne 0x61e5a957
mov eax, dword [ebp - 0x110]
call sym._sqlite3BtreeCommit
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5a957
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 - 0x134]
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 - 0x140]
or ecx, 0xffffffff
mov edi, dword [ebp - 0x160]
or edx, 0xffffffff
mov dword [eax + 0x18], esi
mov esi, dword [ebp - 0x158]
mov byte [eax + 0x98], 0
mov dword [eax + 0x5c], edi
mov dword [eax + 0x58], esi
mov esi, eax
mov al, byte [ebp - 0x168]
mov byte [esi + 0x4c], al
mov dword [esp], 1
mov eax, ebx
call sym._sqlite3BtreeSetPageSize
cmp dword [ebp - 0x128], 0
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x43], 1
je 0x61e5a9d3
mov eax, dword [ebp - 0x128]
mov eax, dword [eax + 4]
call sym._sqlite3BtreeClose
mov eax, dword [ebp - 0x128]
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.0x61e5427d.112
jmp 0x61e5b654
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xf8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x100], eax
shl eax, 4
add eax, dword [edi + 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 0x61e5aada
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 - 0x128], eax
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x128]
jae 0x61e5aa75
mov eax, 0xf399
call sym._sqlite3CorruptError
mov dword [ebp - 0x100], eax
jmp 0x61e5aada
test esi, esi
je 0x61e5aada
mov eax, dword [ebx + 8]
xor ecx, ecx
xor edx, edx
call sym._saveAllCursors.isra.465
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5aada
mov eax, dword [ebx + 8]
call sym._invalidateAllOverflowCache.isra.77
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0x128]
mov eax, ebx
mov dword [esp], 0
call sym._incrVacuumStep
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5aada
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.0x61e5427d.112
cmp dword [ebp - 0x100], 0x65
je 0x61e5bd2f
jmp 0x61e5b654
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 4], 0
jne 0x61e5ab1c
mov eax, dword [ebp - 0xf8]
call sym._sqlite3ExpirePreparedStatements
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xe8]
or byte [eax + 0x90], 1
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 0xc]
test dl, dl
jne 0x61e5ab4b
mov eax, dword [ebp - 0xf8]
test byte [eax + 0x19], 0x40
jne case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf8]
mov dword [ebp - 0x100], 0
mov eax, dword [eax + 4]
shl eax, 4
add eax, dword [esi + 0x10]
mov ebx, dword [eax + 4]
cmp byte [ebx + 9], 0
je case.0x61e5427d.112
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 0x61e5abfa
mov esi, dword [ebx + 4]
mov eax, dword [esi + 0x48]
test eax, eax
je 0x61e5abc2
cmp edi, dword [eax + 4]
jne 0x61e5abbd
cmp ebx, dword [eax]
je 0x61e5abe0
mov eax, dword [eax + 0xc]
jmp 0x61e5abb0
xor edx, edx
mov eax, 0x10
call sym._sqlite3MallocZero
test eax, eax
je 0x61e5abf0
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 0x61e5abfa
mov byte [eax + 8], cl
jmp 0x61e5abfa
mov dword [ebp - 0x100], 7
mov eax, ebx
call sym._sqlite3BtreeLeave
cmp dword [ebp - 0x100], 0
je case.0x61e5427d.112
cmp byte [ebp - 0x100], 6
jne 0x61e5b654
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 0x61e5b654
mov eax, dword [ebp - 0xf4]
mov ebx, dword [eax + 0x10]
mov eax, dword [ebp - 0xf8]
mov edx, dword [eax + 0x13c]
test edx, edx
jle 0x61e5ac69
cmp dword [eax + 0x154], 0
je 0x61e5ad34
test ebx, ebx
je 0x61e5b5f8
mov eax, dword [ebx + 8]
mov esi, dword [eax]
xor eax, eax
cmp dword [esi + 0x38], 0
je 0x61e5bce7
cmp edx, eax
jle 0x61e5ac9e
mov edi, dword [ebp - 0xf8]
mov ecx, dword [edi + 0x154]
cmp ebx, dword [ecx + eax*4]
je 0x61e5bce7
inc eax
jmp 0x61e5ac82
mov eax, dword [ebp - 0xf8]
call sym._growVTrans
test eax, eax
jne 0x61e5bd3e
mov eax, dword [ebx + 8]
mov dword [esp], eax
call dword [esi + 0x38]
test eax, eax
jne 0x61e5bd3e
mov edi, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf8]
mov eax, dword [eax + 0x1b0]
add eax, dword [edi + 0x1b4]
mov edi, dword [edi + 0x154]
mov dword [ebp - 0x100], edi
mov edi, dword [ebp - 0xf8]
mov edx, dword [edi + 0x13c]
lea edi, [edx + 1]
mov dword [ecx + 0x13c], edi
mov edi, dword [ebp - 0x100]
mov dword [edi + edx*4], ebx
inc dword [ebx + 0xc]
test eax, eax
je 0x61e5bce7
mov edx, dword [esi + 0x50]
test edx, edx
je 0x61e5bce7
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 0x61e5ad41
test ebx, ebx
je 0x61e5bd07
mov esi, 6
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0xe8]
add edx, 8
call sym._sqlite3VtabImportErrmsg.isra.287
test esi, esi
je 0x61e5b604
mov dword [ebp - 0x100], esi
jmp 0x61e5b654
lea edi, [ebp - 0x80]
xor eax, eax
mov ecx, 0xa
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
lea eax, [ebp - 0x80]
add edx, dword [ebp - 0x104]
call sym._sqlite3VdbeMemCopy
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0x80]
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_value_text
test eax, eax
je 0x61e5aead
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 + 0x38]
mov esi, dword [eax]
mov eax, dword [ebp - 0xf8]
mov edx, esi
add eax, 0x140
call sym._sqlite3HashFind
test eax, eax
je 0x61e5adff
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
test edx, edx
je 0x61e5adff
cmp dword [ecx + 0x14], 0
jne 0x61e5ae2e
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 0x61e5aead
mov edi, dword [ebp - 0xe8]
mov dword [esp], edx
mov edx, ebx
lea ecx, [edi + 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 0x61e5aead
mov edx, dword [ebx + 0x3c]
mov eax, dword [ebp - 0xf8]
call sym._sqlite3GetVTable.isra.155
test eax, eax
je 0x61e5aead
mov eax, dword [ebp - 0xf8]
call sym._growVTrans
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5aead
mov edx, dword [ebx + 0x3c]
mov eax, dword [ebp - 0xf8]
call sym._sqlite3GetVTable.isra.155
mov esi, dword [ebp - 0xf8]
mov edx, dword [esi + 0x13c]
mov ecx, dword [esi + 0x154]
lea ebx, [edx + 1]
mov dword [esi + 0x13c], 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.0x61e5427d.112
jmp 0x61e5b654
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf8]
mov edi, dword [ebp - 0xf4]
inc dword [eax + 0xac]
mov eax, dword [ebp - 0xf4]
mov edx, dword [edi + 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 0x61e5af74
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x61e5af74
mov edx, dword [eax + 8]
cmp dword [edx + 4], 0
jg 0x61e5af6a
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x61e5af1b
mov eax, dword [ebp - 0xf8]
lea edx, [esi + 0x3c]
call sym._vtabDisconnectAll.isra.156
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 0x61e5af74
mov dword [ebx + 8], 0
mov eax, ebx
mov dword [esi + 0x3c], 0
call sym._sqlite3VtabUnlock
jmp 0x61e5af74
mov dword [ebp - 0x100], 6
mov eax, dword [ebp - 0xf8]
dec dword [eax + 0xac]
cmp dword [ebp - 0x100], 0
je case.0x61e5427d.112
jmp 0x61e5b654
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x80], 0
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x61e5b028
mov esi, dword [ebx]
test esi, esi
je 0x61e5b037
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.287
cmp dword [ebp - 0x100], 0
jne 0x61e5b654
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 0x61e5b01d
mov dword [eax + 0x28], edx
inc dword [ebx + 4]
jmp case.0x61e5427d.112
mov dword [esp], edx
call dword [esi + 0x1c]
jmp 0x61e5b7a8
mov dword [ebp - 0x100], 6
jmp 0x61e5b654
mov dword [ebp - 0x100], 6
jmp 0x61e5b654
mov esi, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xf4]
mov ecx, dword [esi + 4]
mov edx, dword [edi + 0x70]
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 - 0x128], ecx
mov ecx, dword [eax - 0x28]
cmp edx, ecx
jge 0x61e5b0a4
mov dword [esi + edx*4], eax
inc edx
add eax, 0x28
jmp 0x61e5b097
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 - 0x128]
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.287
cmp dword [ebp - 0x100], 0
jne 0x61e5b654
mov eax, dword [ebp - 0x128]
mov dword [esp], ebx
call dword [eax + 0x28]
mov byte [edi + 2], 0
test eax, eax
jne 0x61e5bd2f
jmp case.0x61e5427d.112
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 - 0xf4]
imul ebx, dword [eax + 0xc], 0x28
add ebx, dword [ebp - 0x104]
cmp byte [edx + 2], 0
je 0x61e5b14a
mov eax, ebx
call sym._sqlite3VdbeMemSetNull
jmp case.0x61e5427d.112
mov eax, dword [edx + 0x28]
lea edi, [ebp - 0x80]
mov ecx, 8
mov esi, dword [eax]
mov eax, dword [esi]
mov dword [ebp - 0x100], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov dword [ebp - 0x80], ebx
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 [edx + 0x28]
mov dword [esp], eax
mov eax, dword [ebp - 0x100]
call dword [eax + 0x2c]
mov edi, eax
mov eax, dword [ebp - 0xe8]
lea edx, [esi + 8]
call sym._sqlite3VtabImportErrmsg.isra.287
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x114]
test eax, eax
cmovne edi, eax
mov eax, ebx
mov dword [ebp - 0x100], edi
call sym._sqlite3VdbeChangeEncoding
mov eax, ebx
call sym._sqlite3VdbeMemTooBig
test eax, eax
jne 0x61e5b766
cmp dword [ebp - 0x100], 0
je case.0x61e5427d.112
jmp 0x61e5b654
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.0x61e5427d.112
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.287
cmp dword [ebp - 0x100], 0
jne 0x61e5b654
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call dword [edi + 0x28]
test eax, eax
je case.0x61e5427d.13
jmp 0x61e54328
mov eax, dword [ebp - 0xf4]
mov edx, 1
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + 8]
mov eax, dword [ebp - 0xf4]
imul esi, dword [eax + 4], 0x28
add esi, dword [ebp - 0x104]
mov eax, esi
call sym._sqlite3VdbeChangeEncoding
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5b654
mov edx, dword [esi + 0x10]
mov eax, dword [ebx]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x4c]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xe8]
lea edx, [ebx + 8]
call sym._sqlite3VtabImportErrmsg.isra.287
mov eax, dword [ebp - 0xe8]
and byte [eax + 0x90], 0xfe
cmp dword [ebp - 0x100], 0
je case.0x61e5427d.112
jmp 0x61e5b654
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x61e5b3fb
mov ecx, dword [ebx]
test ecx, ecx
je 0x61e5b40a
cmp dword [ecx + 0x34], 0
mov eax, dword [ebp - 0xf4]
mov esi, dword [eax + 8]
je case.0x61e5427d.112
mov eax, dword [ebp - 0xf8]
xor edx, edx
mov al, byte [eax + 0x4a]
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 0x61e5b326
mov dword [edi + edx*4], eax
add eax, 0x28
inc edx
jmp 0x61e5b319
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf8]
mov al, byte [eax + 3]
mov byte [edx + 0x4a], 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 + 0x4a], al
mov eax, dword [ebp - 0xe8]
call sym._sqlite3VtabImportErrmsg.isra.287
cmp dword [ebp - 0x100], 0
jne 0x61e5b3a3
mov eax, dword [ebp - 0xf4]
cmp dword [eax + 4], 0
je 0x61e5b3a3
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], edx
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], edx
cmp byte [ebp - 0x100], 0x13
jne 0x61e5b3e0
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x61e5b3e0
mov eax, dword [ebp - 0xf4]
mov al, byte [eax + 3]
cmp al, 4
je 0x61e5b419
mov ecx, dword [ebp - 0xe8]
cmp al, 5
mov dl, 2
cmove eax, edx
mov byte [ecx + 0x8e], al
jmp 0x61e5b654
mov eax, dword [ebp - 0xe8]
inc dword [eax + 0x2c]
cmp dword [ebp - 0x100], 0
je case.0x61e5427d.112
jmp 0x61e5b654
mov dword [ebp - 0x100], 6
jmp 0x61e5b654
mov dword [ebp - 0x100], 6
jmp 0x61e5b654
mov dword [ebp - 0x100], 0
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x5c]
call sym._out2Prerelease.isra.286
mov edi, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf8]
mov ecx, dword [edi + 4]
mov edx, ecx
mov dword [ebp - 0x110], ecx
shl edx, 4
add edx, dword [esi + 0x10]
mov edx, dword [edx + 4]
mov edx, dword [edx + 4]
mov edi, dword [edx + 0x2c]
mov dword [eax + 4], 0
mov dword [eax], edi
jmp case.0x61e5427d.112
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.286
mov esi, eax
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x110], eax
shl eax, 4
add eax, dword [ecx + 0x10]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x61e5b4c4
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 0x61e5b4da
mov dword [eax + 0xa4], ebx
mov ebx, dword [eax + 0xa4]
mov eax, edi
call sym._sqlite3BtreeLeave
mov dword [esi], ebx
sar ebx, 0x1f
mov dword [esi + 4], ebx
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0xf8]
mov al, byte [eax + 0x4c]
test al, 0x81
je 0x61e5b59c
mov esi, dword [ebp - 0xe8]
test byte [esi + 0x90], 2
jne 0x61e5b59c
mov edi, dword [ebp - 0xf4]
mov edx, dword [edi + 0x10]
test edx, edx
jne 0x61e5b52f
mov edx, dword [esi + 0xb0]
test edx, edx
je 0x61e5b59c
test al, al
jns 0x61e5b56b
mov eax, dword [ebp - 0xf8]
mov esi, dword [eax + 0xb8]
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 + 0xbc]
mov dword [esp], eax
call esi
mov dword [esp], ebx
call sym.sqlite3.dll_sqlite3_free
jmp 0x61e5b59c
mov eax, dword [ebp - 0xe8]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0xbc]
mov dword [esp], 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xf8]
call dword [eax + 0xb8]
mov eax, dword [ebp - 0xf4]
mov esi, dword [0x61e8c450]
cmp dword [eax + 4], esi
jl 0x61e5b5ea
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0x88]
mov eax, 1
cmp eax, ecx
jge 0x61e5b5dd
mov edi, dword [ebp - 0xe8]
imul edx, eax, 0x14
add edx, dword [edi + 0x58]
cmp byte [edx], 0x14
jne 0x61e5b5da
mov dword [edx + 4], 0
inc eax
jmp 0x61e5b5be
mov eax, dword [ebp - 0xf4]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0xf4]
inc dword [eax + 4]
jmp 0x61e543c4
mov dword [ebp - 0x100], 0
jmp case.0x61e5427d.112
mov dword [ebp - 0x100], 0
add dword [ebp - 0xf4], 0x14
jmp 0x61e54263
mov dword [ebp - 0x100], 9
jmp 0x61e5b654
mov dword [ebp - 0x100], 0x204
jmp 0x61e5b654
mov dword [ebp - 0x100], 7
jmp 0x61e5b654
mov dword [ebp - 0x100], 7
jmp 0x61e5b654
mov dword [ebp - 0x100], 7
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x45], 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 0x61e5b6ad
cmp dword [ebp - 0x100], 0xc0a
je 0x61e5b6ad
mov eax, dword [ebp - 0x100]
call sym._sqlite3ErrStr
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0x61e8dab0
mov dword [esp], eax
call sym._sqlite3VdbeError
mov eax, dword [ebp - 0xe8]
mov esi, dword [ebp - 0x100]
mov dword [eax + 0x28], esi
mov eax, dword [ebp - 0xf8]
mov edx, esi
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 + 0xb0]
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 0x61e5b737
mov eax, dword [ebp - 0xf8]
call sym._sqlite3OomFault
cmp byte [ebp - 0x136], 0
mov dword [ebp - 0x100], 1
je 0x61e5bd5c
movzx edx, byte [ebp - 0x136]
mov eax, dword [ebp - 0xf8]
dec edx
call sym._sqlite3ResetOneSchema
jmp 0x61e5bd5c
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 0x61e5b654
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x12c], 0
mov byte [ebp - 0x136], 0
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf8]
call sym._sqlite3OomFault
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0x61e8df27
mov dword [esp], eax
call sym._sqlite3VdbeError
mov dword [ebp - 0x100], 7
jmp 0x61e5b654
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x12c], 0
mov byte [ebp - 0x136], 0
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf8]
cmp byte [eax + 0x45], 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 edi, dword [ebp - 0x100]
mov dword [eax + 0x28], edi
mov eax, edi
call sym._sqlite3ErrStr
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], 0x61e8dab0
mov dword [esp], eax
call sym._sqlite3VdbeError
jmp 0x61e5b654
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 0x61e5b654
cmp dword [ebp - 0x110], 1
mov ecx, dword [ebp - 0xf8]
sete al
cmp dword [ecx + 0xa4], 0
jg 0x61e5bb07
cmp dword [ebx + 0x18], 0
mov dword [ebp - 0x134], 0
jne 0x61e5b8b5
mov esi, dword [ebp - 0xf8]
xor ecx, ecx
cmp byte [esi + 0x4b], 0
setne cl
mov dword [ebp - 0x134], ecx
cmp dword [ebp - 0x134], 0
je 0x61e5b94f
test al, al
je 0x61e5b94f
mov eax, dword [ebp - 0xe8]
mov edx, 1
call sym._sqlite3VdbeCheckFk
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5bd5c
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x43], 1
mov eax, dword [ebp - 0xe8]
call sym._sqlite3VdbeHalt
cmp eax, 5
jne 0x61e5b931
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 + 0x43], 0
mov eax, edi
jmp 0x61e56a64
mov eax, dword [ebp - 0xf8]
mov byte [eax + 0x4b], 0
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x100], eax
jmp 0x61e5ba27
mov eax, dword [ebp - 0x128]
mov esi, dword [ebp - 0xf8]
xor edi, edi
not eax
add eax, dword [esi + 0x1b0]
cmp dword [ebp - 0x110], 2
mov dword [ebp - 0x128], eax
jne 0x61e5b9c9
mov eax, dword [esi + 0x18]
mov esi, eax
mov dword [ebp - 0x140], eax
and esi, 2
mov eax, dword [ebp - 0xf8]
cmp edi, dword [eax + 0x14]
jge 0x61e5b9c0
mov edx, dword [ebp - 0xf8]
xor ecx, ecx
mov eax, edi
test esi, esi
sete cl
shl eax, 4
add eax, dword [edx + 0x10]
mov edx, 0x204
mov eax, dword [eax + 4]
call sym._sqlite3BtreeTripAllCursors
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5b654
inc edi
jmp 0x61e5b982
xor eax, eax
test esi, esi
setne al
mov edi, eax
xor esi, esi
mov eax, dword [ebp - 0xf8]
cmp esi, dword [eax + 0x14]
jge 0x61e5ba09
mov ecx, dword [ebp - 0xf8]
mov eax, esi
mov edx, dword [ebp - 0x110]
shl eax, 4
add eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x128]
mov eax, dword [eax + 4]
call sym._sqlite3BtreeSavepoint
test eax, eax
mov dword [ebp - 0x100], eax
jne 0x61e5b654
inc esi
jmp 0x61e5b9cb
test edi, edi
je 0x61e5ba27
call sym._sqlite3ExpirePreparedStatements
mov eax, dword [ebp - 0xf8]
call sym._sqlite3ResetAllSchemasOfConnection
mov eax, dword [ebp - 0xf8]
or dword [eax + 0x18], 2
mov eax, dword [ebp - 0xf8]
mov edx, dword [eax + 0x1a8]
cmp ebx, edx
je 0x61e5ba5b
mov eax, dword [edx + 0x18]
mov edi, dword [ebp - 0xf8]
mov dword [edi + 0x1a8], eax
mov eax, edi
call sym._sqlite3DbFree
mov eax, dword [ebp - 0xf8]
dec dword [eax + 0x1b0]
jmp 0x61e5ba27
cmp dword [ebp - 0x110], 1
jne 0x61e5ba93
mov eax, dword [ebx + 0x18]
mov esi, dword [ebp - 0xf8]
mov edx, ebx
mov dword [esi + 0x1a8], eax
mov eax, esi
call sym._sqlite3DbFree
cmp dword [ebp - 0x134], 0
jne 0x61e5babd
mov eax, dword [ebp - 0xf8]
dec dword [eax + 0x1b0]
jmp 0x61e5babd
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov edi, dword [ebp - 0xf8]
mov dword [edi + 0x1b8], eax
mov dword [edi + 0x1bc], edx
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov dword [edi + 0x1c0], eax
mov dword [edi + 0x1c4], edx
cmp dword [ebp - 0x134], 0
je 0x61e5bacf
cmp dword [ebp - 0x110], 2
jne 0x61e5baf5
mov ecx, dword [ebp - 0x128]
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0xf8]
call sym._sqlite3VtabSavepoint
test eax, eax
mov dword [ebp - 0x100], eax
je 0x61e5bb34
jmp 0x61e5b654
cmp dword [ebp - 0x100], 0
je case.0x61e5427d.112
jmp 0x61e5b654
test al, al
je 0x61e5b890
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 0x61e5b654
mov dword [ebp - 0x100], 0
jmp case.0x61e5427d.112
mov ecx, 7
mov eax, ebx
mov dword [ebp - 0x100], ecx
xor ebx, ebx
call sym._vdbeMergeEngineFree
mov ecx, dword [ebp - 0x100]
jmp 0x61e5bc87
cmp byte [edi + 0x39], 0
je 0x61e5bbae
dec eax
imul eax, eax, 0x48
cmp dword [edi + eax + 0x4c], 0
lea esi, [edi + eax + 0x40]
je 0x61e5bb9b
mov eax, dword [ebp - 0x150]
xor ecx, ecx
mov edx, 0x38
call sym._sqlite3DbMallocZero
test eax, eax
mov dword [ebp - 0x100], eax
mov dword [edi + 0x10], eax
jne 0x61e5bbde
jmp 0x61e5bc65
mov eax, esi
call sym._vdbeSortAllocUnpacked.part.114
test eax, eax
mov ecx, eax
jne 0x61e5bc87
jmp 0x61e5bb77
lea eax, [edi + 0x40]
xor ecx, ecx
mov edx, ebx
call sym._vdbeMergeEngineInit
mov dword [edi + 0x14], ebx
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
je 0x61e5bd16
xor ebx, ebx
mov eax, ebx
call sym._vdbeMergeEngineFree
jmp 0x61e5b654
mov eax, dword [ebp - 0x100]
mov edx, ebx
lea ecx, [eax + 0x30]
mov eax, esi
call sym._vdbeIncrMergerNew
test eax, eax
mov ecx, eax
jne 0x61e5bc61
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 [edi + 0x3b]
dec eax
cmp ecx, eax
jge 0x61e5bc40
imul eax, ecx, 0x38
add eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x61e5bc3d
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 0x61e5bc14
xor esi, esi
movzx eax, byte [edi + 0x3b]
cmp eax, esi
jle 0x61e5bc6c
imul eax, esi, 0x38
add eax, dword [ebx + 0xc]
mov edx, 1
inc esi
call sym._vdbePmaReaderIncrInit
test eax, eax
mov ecx, eax
je 0x61e5bc42
xor ebx, ebx
jmp 0x61e5bc87
mov ecx, 7
jmp 0x61e5bc87
mov eax, dword [ebp - 0x100]
mov edx, 2
call sym._vdbePmaReaderIncrMergeInit
mov dword [ebp - 0x100], eax
jmp 0x61e5bbc3
mov dword [ebp - 0x100], ecx
jmp 0x61e5bbd2
mov eax, dword [ebp - 0x110]
mov byte [eax + 2], 0
jmp case.0x61e5427d.112
mov eax, ebx
call sym._vdbeSorterFlushPMA
mov dword [ebx + 0x2c], 0
mov dword [ebp - 0x100], eax
mov dword [ebx + 0x30], 0
jmp 0x61e5882c
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 0x61e54328
mov edx, dword [ebx + 8]
mov eax, dword [ebp - 0xe8]
add edx, 8
call sym._sqlite3VtabImportErrmsg.isra.287
mov dword [ebp - 0x100], 0
jmp case.0x61e5427d.112
mov dword [ebp - 0x100], 6
jmp 0x61e5b654
mov eax, dword [ebp - 0x110]
mov byte [eax + 2], 0
jmp case.0x61e5427d.112
mov eax, dword [ebp - 0x110]
mov byte [eax + 2], 1
mov dword [ebp - 0x100], 0
jmp 0x61e543c4
mov edx, dword [ebx + 8]
mov esi, eax
mov eax, dword [ebp - 0xe8]
add edx, 8
call sym._sqlite3VtabImportErrmsg.isra.287
mov dword [ebp - 0x100], esi
jmp 0x61e5b654
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x12c]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0xe8]
mov dword [ecx + 0x24], edx
add dword [eax + 0xac], esi
call sym._sqlite3VdbeLeave
mov eax, dword [ebp - 0x100]
add esp, 0x18c
pop ebx
pop esi
pop edi
pop ebp
ret