Function at 0x140244170
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1f8
movups xmmword [rsp + 0x1b0], xmm6
movups xmmword [rsp + 0x1c0], xmm7
movups xmmword [rsp + 0x1d0], xmm8
movups xmmword [rsp + 0x1e0], xmm9
mov r13, qword [rcx + 0x10]
mov r14, qword [rcx]
mov qword [rsp + 0x250], r8
mov r15, rcx
mov r12, rdx
test r13, r13
jne 0x1402441c7
call sym.sqlite3GetVdbe.part.0
mov r13, rax
test r12, r12
je 0x1402441d4
mov ebx, dword [r15 + 0x30]
test ebx, ebx
je 0x140244210
mov eax, 1
movups xmm6, xmmword [rsp + 0x1b0]
movups xmm7, xmmword [rsp + 0x1c0]
movups xmm8, xmmword [rsp + 0x1d0]
movups xmm9, xmmword [rsp + 0x1e0]
add rsp, 0x1f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r9d, r9d
xor r8d, r8d
mov edx, 0x15
mov rcx, r15
mov qword [rsp + 0x20], 0
call sym.sqlite3AuthCheck
test eax, eax
jne 0x1402441d4
mov rax, qword [rsp + 0x250]
cmp byte [rax], 6
ja 0x140244271
mov r8, qword [r12 + 0x48]
test r8, r8
je 0x14024425f
lea rdx, [sym.sqlite3ExprListDelete]
mov rcx, r15
call sym.sqlite3ParserAddCleanup
mov qword [r12 + 0x48], 0
mov eax, dword [r12 + 4]
and eax, 0xfffffffe
or eax, 0x400000
mov dword [r12 + 4], eax
xor r8d, r8d
mov rdx, r12
mov rcx, r15
call sym.sqlite3SelectPrep
mov eax, dword [r15 + 0x30]
mov dword [rsp + 0x60], eax
test eax, eax
jne 0x1402449f8
mov esi, dword [r12 + 4]
test esi, 0x800000
jne 0x140244dc8
mov rax, qword [rsp + 0x250]
cmp byte [rax], 9
je 0x140244e40
mov rbx, qword [r12 + 0x70]
test rbx, rbx
je 0x1402442c7
cmp qword [r12 + 0x50], 0
je 0x1402444b0
mov rax, qword [r12 + 0x48]
mov rdi, qword [r12 + 0x50]
and esi, 8
xor r10d, r10d
mov dword [rsp + 0x78], esi
mov r11, qword [r12 + 0x28]
mov qword [rsp + 0x110], rax
lea rax, [sym.sqlite3SelectWalkNoop]
movq xmm7, rax
lea rax, [sym.renumberCursorsCb]
mov qword [rsp + 0x118], 0
movq xmm8, rax
lea rax, [sym.recomputeColumnsUsedExpr]
mov qword [rsp + 0x120], 0
movq xmm6, rax
mov qword [rsp + 0x128], 0
punpcklqdq xmm8, xmm7
mov qword [rsp + 0x130], 0
punpcklqdq xmm6, xmm7
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x80], rdi
test rdi, rdi
jne 0x14024448b
mov qword [rsp + 0x58], r14
mov rbp, r11
mov esi, r10d
mov qword [rsp + 0x68], r13
nop word [rax + rax]
cmp dword [rbp], esi
jle 0x140244e58
movsxd rbx, esi
lea rax, [rbx + rbx*2]
lea rax, [rbx + rax*4]
lea r14, [rbp + rax*8]
movzx r8d, byte [r14 + 0x44]
mov r13, qword [r14 + 0x30]
mov rdi, qword [r14 + 0x28]
test r8b, 0x48
jne 0x140244a50
test r13, r13
je 0x140244a40
mov rax, qword [r13 + 0x20]
movsx r8d, word [rdi + 0x36]
mov eax, dword [rax]
cmp r8d, eax
jne 0x140245500
lea rax, [rbx + rbx*2]
lea rax, [rbx + rax*4]
lea rax, [rbp + rax*8]
test byte [rax + 0x49], 1
je 0x1402443e6
mov rax, qword [rax + 0x68]
cmp byte [rax + 0x12], 0
je 0x140244a40
mov eax, dword [r13 + 4]
test al, 8
jne 0x140244a40
mov r8, qword [r13 + 0x48]
test r8, r8
je 0x140244438
cmp qword [r12 + 0x48], 0
je 0x140244d68
cmp qword [r13 + 0x60], 0
je 0x140244d80
test esi, esi
jne 0x140244438
test byte [r12 + 6], 4
je 0x140244438
cmp dword [rbp], 1
je 0x140244df0
test byte [rbp + 0xac], 0x22
jne 0x140244df0
nop dword [rax]
mov r13, qword [r15]
mov rbp, qword [r12 + 0x28]
test byte [r13 + 0x60], 1
jne 0x140244453
cmp qword [r12 + 0x70], 0
je 0x140244ac0
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x67], 0
jne 0x1402449f8
mov rax, qword [rsp + 0x250]
add esi, 1
cmp byte [rax], 8
jbe 0x14024447f
mov rax, qword [r12 + 0x48]
mov qword [rsp + 0x110], rax
cmp qword [r12 + 0x50], 0
je 0x140244378
mov r8, qword [rsp + 0x250]
mov rdx, r12
mov rcx, r15
call sym.multiSelect
cmp qword [r12 + 0x58], 0
jne 0x1402441d9
jmp 0x1402449fd
test esi, 0x100000
jne 0x1402442c7
cmp byte [r15 + 0x134], 1
ja 0x1402442c7
mov rdi, qword [r15 + 0x10]
test rdi, rdi
jne 0x1402444e8
mov rcx, r15
call sym.sqlite3GetVdbe.part.0
mov rbx, qword [r12 + 0x70]
mov esi, dword [r12 + 4]
mov rdi, rax
mov rax, qword [r12 + 0x28]
mov rcx, qword [r15]
mov edx, 0x68
mov qword [rsp + 0x80], rax
mov rax, qword [r12 + 0x30]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x98], rax
mov rax, qword [r12 + 0x38]
mov qword [rsp + 0xa0], rax
mov rax, qword [r12 + 0x40]
mov qword [rsp + 0xa8], rax
call sym.sqlite3DbMallocZero
mov rbp, rax
test rax, rax
je 0x1402476e3
lea rax, [sym.agginfoPersistExprCb]
mov rdx, r12
lea rcx, [rsp + 0x140]
mov qword [rsp + 0x158], 0
movq xmm0, rax
lea rax, [sym.sqlite3SelectWalkNoop]
mov qword [rsp + 0x90], rcx
movq xmm4, rax
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x160], 0
punpcklqdq xmm0, xmm4
mov qword [rsp + 0x168], 0
movups xmmword [rsp + 0x148], xmm0
call sym.sqlite3WalkSelect.part.0
mov eax, dword [r12 + 4]
test al, 8
je 0x1402475d6
and eax, 0xfffffff7
pxor xmm0, xmm0
mov r9d, 1
xor edx, edx
or eax, 0x100000
movups xmmword [r12 + 0x28], xmm0
mov rcx, r15
mov dword [r12 + 4], eax
movups xmmword [r12 + 0x38], xmm0
mov r8, qword [rbx + 0x10]
call sym.exprListAppendList
mov r8, qword [rbx + 0x18]
mov rcx, r15
mov r9d, 1
mov rdx, rax
call sym.exprListAppendList
mov qword [rsp + 0x88], rax
mov rcx, rax
test rax, rax
je 0x14024461d
mov rdx, qword [r12 + 0x48]
test rdx, rdx
je 0x14024461d
mov eax, dword [rdx]
mov r9d, dword [rcx]
cmp eax, r9d
jle 0x140247d58
lea rax, [sym.selectWindowRewriteSelectCb]
mov rdx, qword [r12 + 0x20]
movq xmm7, rbx
lea rcx, [sym.selectWindowRewriteExprCb]
movq xmm5, rax
mov eax, dword [r15 + 0x34]
movq xmm6, rcx
lea rcx, [rsp + 0x110]
punpcklqdq xmm6, xmm5
movhps xmm7, qword [rsp + 0x80]
mov qword [rsp + 0x70], rcx
mov dword [rbx + 0x58], eax
add eax, 4
mov dword [r15 + 0x34], eax
lea rax, [rsp + 0x170]
mov qword [rsp + 0x198], rcx
mov rcx, rax
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], rbp
mov qword [rsp + 0x170], r15
mov qword [rsp + 0x68], rax
movups xmmword [rsp + 0x110], xmm7
movups xmmword [rsp + 0x178], xmm6
call sym.sqlite3WalkExprList
mov rdx, qword [r12 + 0x48]
mov r11, qword [rsp + 0x70]
movq xmm3, rbp
movq xmm0, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], 0
punpcklqdq xmm0, xmm3
mov qword [rsp + 0x170], r15
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x198], r11
movups xmmword [rsp + 0x110], xmm7
movups xmmword [rsp + 0x120], xmm0
movups xmmword [rsp + 0x178], xmm6
call sym.sqlite3WalkExprList
mov rdx, qword [rsp + 0x120]
xor eax, eax
test rdx, rdx
je 0x140244756
mov eax, dword [rdx]
mov dword [rbx + 0x78], eax
mov r8, qword [rbx + 0x10]
mov rcx, r15
xor r9d, r9d
call sym.exprListAppendList
mov r8, qword [rbx + 0x18]
mov rcx, r15
xor r9d, r9d
mov rdx, rax
call sym.exprListAppendList
mov qword [rsp + 0x78], rbp
mov rbp, r15
mov r15, rdi
mov rdi, r12
mov r12, rax
nop dword [rax + rax]
mov rax, qword [rbx + 0x70]
mov r8, qword [rax + 0x20]
mov rax, qword [rbx + 0x50]
test byte [rax + 6], 0x10
jne 0x140245b20
xor eax, eax
test r12, r12
je 0x1402447b1
mov eax, dword [r12]
mov dword [rbx + 0x7c], eax
mov rdx, r12
xor r9d, r9d
mov rcx, rbp
call sym.exprListAppendList
mov r12, rax
mov rdx, qword [rbx + 0x48]
test rdx, rdx
je 0x1402447e9
mov rcx, qword [rsp + 0x58]
call sym.exprDup.constprop.0
mov rdx, r12
mov rcx, rbp
mov r8, rax
call sym.sqlite3ExprListAppend
mov r12, rax
mov eax, dword [rbp + 0x38]
lea r9d, [rax + 1]
add eax, 2
mov dword [rbx + 0x5c], r9d
mov dword [rbp + 0x38], eax
mov dword [rbx + 0x60], eax
movsxd rax, dword [r15 + 0x90]
cmp eax, dword [r15 + 0x94]
jge 0x140245e66
lea edx, [rax + 1]
mov dword [r15 + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rdx*8]
mov qword [rax], 0x4b
mov rbx, qword [rbx + 0x40]
mov dword [rax + 8], r9d
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
test rbx, rbx
jne 0x140244790
mov r10, r12
mov r15, rbp
mov r12, rdi
mov rbp, qword [rsp + 0x78]
test r10, r10
je 0x140247935
mov rax, qword [rsp + 0x88]
mov rdx, r10
mov rcx, r15
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov r9, qword [rsp + 0x98]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x80]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x20], rax
call sym.sqlite3SelectNew
xor edx, edx
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
mov rdi, rax
call sym.sqlite3SrcListAppend
mov qword [r12 + 0x28], rax
mov rdx, rax
test rax, rax
je 0x1402474f5
or byte [rax + 0x48], 8
mov rcx, r15
and esi, 8
mov qword [rax + 0x30], rdi
call sym.sqlite3SrcListAssignCursors
or dword [rdi + 4], 0x8000040
mov rdx, rdi
mov rcx, r15
mov r8d, 0x40
call sym.sqlite3ResultSetOfSelect
or dword [rdi + 4], esi
mov rbx, rax
test rax, rax
je 0x1402449df
movdqu xmm5, xmmword [rax]
lea rsi, [sym.sqlite3WindowExtraAggFuncDepth]
mov rcx, qword [rsp + 0x90]
mov rdx, rdi
movq xmm0, rsi
movups xmmword [rbp], xmm5
movdqu xmm4, xmmword [rax + 0x10]
movups xmmword [rbp + 0x10], xmm4
movdqu xmm5, xmmword [rax + 0x20]
movups xmmword [rbp + 0x20], xmm5
movdqu xmm3, xmmword [rax + 0x30]
movups xmmword [rbp + 0x30], xmm3
movdqu xmm4, xmmword [rax + 0x40]
movups xmmword [rbp + 0x40], xmm4
movdqu xmm5, xmmword [rax + 0x50]
movups xmmword [rbp + 0x50], xmm5
mov rax, qword [rax + 0x60]
or dword [rbp + 0x30], 0x4000
mov qword [rbp + 0x60], rax
mov rax, qword [r12 + 0x28]
mov qword [rax + 0x28], rbp
lea rax, [sym.sqlite3WalkerDepthIncrease]
mov rbp, rbx
movq xmm3, rax
lea rax, [sym.sqlite3WalkerDepthDecrease]
mov qword [rsp + 0x140], 0
punpcklqdq xmm0, xmm3
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 0
movups xmmword [rsp + 0x148], xmm0
call sym.sqlite3WalkSelect.part.0
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x67], 0
je 0x140248b59
mov r8, rbp
lea rdx, [sym.sqlite3DbFree]
mov rcx, r15
call sym.sqlite3ParserAddCleanup
nop dword [rax]
mov eax, 1
movsxd rdx, dword [r15 + 0x140]
test edx, edx
je 0x140244a2f
mov r8, qword [r15 + 0x10]
lea rcx, [0x1402ba140]
mov r9, qword [r8]
cmp byte [r9 + 0x67], 0
jne 0x140244a2c
lea rcx, [rdx + rdx*2]
mov rdx, qword [r8 + 0x88]
lea rcx, [rdx + rcx*8]
mov edx, dword [rcx + 8]
mov dword [r15 + 0x140], edx
jmp 0x1402441d9
add esi, 1
jmp 0x14024447f
mov rcx, qword [r12 + 0x30]
mov edx, dword [r14 + 0x4c]
and r8d, 0x40
call sym.sqlite3ExprImpliesNonNullRow
test eax, eax
je 0x1402443a8
mov rax, qword [rsp + 0x58]
test byte [rax + 0x61], 0x20
jne 0x1402443a8
movzx eax, byte [r14 + 0x44]
test al, 8
je 0x140244a91
test al, 0x10
je 0x1402454f0
and eax, 0xfffffff7
mov byte [r14 + 0x44], al
test al, 0x40
jne 0x140245400
lea rax, [rbx + rbx*2]
movzx r8d, byte [rbp + 0x44]
mov rcx, qword [r12 + 0x30]
lea rax, [rbx + rax*4]
mov edx, dword [rbp + rax*8 + 0x4c]
and r8d, 0x40
call sym.unsetJoinExpr
jmp 0x1402443a8
lea rax, [rbx + rbx*2]
lea rax, [rbx + rax*4]
mov r14, qword [rbp + rax*8 + 0x30]
mov r10, qword [r14 + 0x70]
test r10, r10
jne 0x140244453
mov rax, qword [r14 + 0x60]
test rax, rax
je 0x140244e30
cmp qword [r12 + 0x60], 0
jne 0x140244453
cmp qword [rax + 0x18], 0
jne 0x140244453
mov edx, dword [r12 + 4]
test dh, 1
jne 0x140244453
mov rcx, qword [r14 + 0x28]
mov r8d, dword [rcx]
test r8d, r8d
je 0x140244453
mov r9d, dword [r14 + 4]
test r9b, 1
jne 0x140244453
test rax, rax
je 0x14024759b
cmp dword [rbp], 1
jg 0x140244453
mov r11d, dword [rsp + 0x78]
test r11d, r11d
jne 0x140244453
mov rax, qword [r12 + 0x48]
test rax, rax
je 0x140244b60
cmp qword [r14 + 0x48], 0
jne 0x140244453
cmp qword [r12 + 0x30], 0
jne 0x140244453
test dl, 1
jne 0x140244453
and r9d, 0x2000
jne 0x140244453
imul r9, rbx, 0x68
movzx r9d, byte [rbp + r9 + 0x44]
test r9b, 0x60
je 0x140247fc5
sub r8d, 1
jg 0x140244453
mov r8, qword [rcx + 0x28]
cmp byte [r8 + 0x3f], 1
je 0x140244453
test dl, 1
jne 0x140244453
and r9b, 0x10
jne 0x140244453
mov dword [rsp + 0x70], 1
test esi, esi
jle 0x140244bd8
test byte [rcx + 0x44], 0x40
jne 0x140244453
imul rcx, rbx, 0x68
mov rdi, qword [r15 + 0x178]
cmp qword [r14 + 0x50], 0
mov qword [rsp + 0x90], rdi
movd xmm9, dword [rbp + rcx + 0x4c]
je 0x14024832c
cmp qword [r14 + 0x48], 0
jne 0x140244453
cmp dword [rsp + 0x78], 0
jne 0x140244453
test dl, 1
jne 0x140244453
cmp dword [rsp + 0x70], 1
je 0x140244453
mov rcx, r14
jmp 0x140244c2f
mov rcx, r8
test byte [rcx + 4], 9
jne 0x140244453
mov r8, qword [rcx + 0x50]
test r8, r8
je 0x140244c4b
cmp byte [rcx], 0x87
jne 0x140244453
mov r9, qword [rcx + 0x28]
cmp dword [r9], 0
jle 0x140244453
cmp qword [rcx + 0x70], 0
jne 0x140244453
test esi, esi
jle 0x140244c73
test byte [r9 + 0x44], 0x40
jne 0x140244453
test r8, r8
jne 0x140244c2c
test rax, rax
je 0x140244ca0
mov r8d, dword [rax]
xor ecx, ecx
jmp 0x140244c9b
add rcx, 1
mov r9, rcx
shl r9, 5
cmp word [rax + r9], 0
je 0x140244453
cmp r8d, ecx
jg 0x140244c84
and dh, 0x20
jne 0x140244453
mov rax, qword [r14 + 0x20]
xor edx, edx
mov qword [rsp + 0xa8], rbx
mov rdi, r10
mov rbx, rdx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x98], ebx
cmp dword [rax], ebx
jle 0x1402482dc
mov rcx, qword [rsp + 0x88]
mov rax, rbx
shl rax, 5
mov rcx, qword [rcx + rax + 8]
call sym.sqlite3ExprAffinity
mov r8, qword [r14 + 0x50]
mov qword [rsp + 0x248], r12
mov r12, rbx
mov byte [rsp + 0xa0], al
movsxd rax, dword [rsp + 0x98]
mov rbx, r8
shl rax, 5
mov qword [rsp + 0x98], rax
jmp 0x140244d4a
mov rax, qword [rsp + 0x98]
add rax, qword [rbx + 0x20]
mov rcx, qword [rax + 8]
call sym.sqlite3ExprAffinity
cmp byte [rsp + 0xa0], al
jne 0x140248b75
mov rbx, qword [rbx + 0x50]
test rbx, rbx
jne 0x140244d24
mov rbx, r12
mov r12, qword [rsp + 0x248]
add rbx, 1
jmp 0x140244cc5
cmp dword [rbp], 1
jg 0x140244407
jmp 0x140244412
test eax, 0x8000000
jne 0x140244412
test byte [r12 + 7], 8
jne 0x140244412
mov rax, qword [rsp + 0x58]
test byte [rax + 0x62], 4
jne 0x140244412
lea rdx, [sym.sqlite3ExprListDelete]
mov rcx, r15
call sym.sqlite3ParserAddCleanup
mov qword [r13 + 0x48], 0
jmp 0x140244438
mov r10, qword [r12 + 0x28]
lea rcx, [r10 + 8]
mov rdx, r10
call sym.sameSrcAlias
test eax, eax
jne 0x140244e00
and esi, 0xff7fffff
mov dword [r12 + 4], esi
jmp 0x1402442a0
mov esi, 1
jmp 0x14024447f
mov r8, qword [r10 + 0x20]
test r8, r8
je 0x140246386
lea rdx, str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov rcx, r15
call sym.sqlite3ErrorMsg
mov eax, 1
jmp 0x1402449fd
mov edx, dword [r12 + 4]
jmp 0x140244b0c
mov rdx, r12
mov rcx, r15
call sym.sqlite3GenerateColumnNames
mov esi, dword [r12 + 4]
jmp 0x1402442b1
mov r14, qword [rsp + 0x58]
mov rdx, qword [r12 + 0x30]
mov r11, rbp
mov r13, qword [rsp + 0x68]
mov eax, dword [r14 + 0x60]
test rdx, rdx
je 0x140244e7c
cmp byte [rdx], 0x2c
je 0x140246253
test eax, 0x201
je 0x140245bd0
mov eax, dword [r11]
mov rsi, r11
xor edi, edi
test eax, eax
jle 0x140245580
mov qword [rsp + 0x58], r14
mov rbx, r11
mov qword [rsp + 0x248], r12
jmp 0x140245032
and r8d, 1
je 0x1402454b0
mov rdx, qword [rsi + 0x68]
cmp byte [rdx + 0x12], 0
je 0x140244ecd
cmp dword [rdx], 1
jle 0x1402454b0
test eax, 0x4000000
je 0x140245e90
mov rax, qword [r15 + 0x178]
lea r14, [rsi + 8]
mov qword [rsp + 0x68], rax
mov rax, qword [rsi + 0x18]
mov qword [r15 + 0x178], rax
movzx eax, byte [rdx + 0x12]
mov r10, rdx
test al, al
je 0x140244f78
cmp dword [rdx], 1
jle 0x140244f07
cmp al, 2
jne 0x140244f78
test byte [rbx + 0x44], 0x40
jne 0x140244f78
mov rax, qword [r15]
test byte [rax + 0x63], 2
jne 0x140244f78
mov r9d, dword [rbx]
lea r8d, [rdi + 1]
mov rdx, r14
mov rcx, rbx
call sym.isSelfJoinView
mov r10d, 1
test rax, rax
jne 0x140244f6d
mov rax, qword [rsp + 0x248]
mov eax, dword [rax + 4]
test edi, edi
jne 0x140245140
cmp r9d, 1
je 0x14024517e
test byte [rbx + 0xac], 2
jne 0x14024517e
test eax, 0x10000000
je 0x14024517e
test r10b, r10b
je 0x140244f85
mov r10, qword [rsi + 0x68]
nop dword [rax]
mov r9d, dword [r10 + 4]
test r9d, r9d
jg 0x140245520
mov r9d, edi
xor r8d, r8d
mov rdx, r14
mov rcx, rbx
call sym.isSelfJoinView
mov r10, rax
test rax, rax
je 0x1402460ef
mov r9d, dword [rax + 0x30]
test r9d, r9d
jne 0x140245bb0
mov r9d, dword [r10 + 0x44]
mov r8d, dword [rsi + 0x4c]
mov edx, 0x73
mov rcx, r13
mov qword [rsp + 0x70], r10
call sym.sqlite3VdbeAddOp3.constprop.0
mov r10, qword [rsp + 0x70]
mov rax, qword [r10 + 0x28]
movzx eax, word [rax + 2]
mov word [rbp + 2], ax
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x67], 0
jne 0x1402449f8
mov rcx, qword [rsp + 0x248]
lea rdx, [rsp + 0x140]
mov dword [rsp + 0x140], 0
call sym.heightOfSelect
mov eax, dword [rsp + 0x140]
sub dword [r15 + 0x13c], eax
mov rax, qword [rsp + 0x68]
mov qword [r15 + 0x178], rax
add edi, 1
add rsi, 0x68
cmp dword [rbx], edi
jle 0x140245570
cmp qword [rsi + 0x58], 0
jne 0x14024505f
mov r8, qword [rsi + 0x18]
test r8, r8
je 0x14024505f
mov rax, qword [rsi + 0x10]
lea r9, [0x140330c0e]
mov edx, 0x14
mov rcx, r15
mov qword [rsp + 0x20], rax
call sym.sqlite3AuthCheck
mov rbp, qword [rsi + 0x30]
test rbp, rbp
je 0x140245023
lea rax, [rsp + 0x170]
mov rcx, qword [rsp + 0x248]
movsxd r12, edi
mov dword [rsp + 0x170], 0
mov rdx, rax
mov qword [rsp + 0x70], rax
call sym.heightOfSelect
mov eax, dword [rsp + 0x170]
lea rdx, [r12 + r12*2]
add dword [r15 + 0x13c], eax
mov rax, qword [rsp + 0x58]
lea rdx, [r12 + rdx*4]
movzx r8d, byte [rbx + rdx*8 + 0x49]
mov eax, dword [rax + 0x60]
test ah, 0x10
je 0x140244eb0
and r8d, 1
test eax, 0x4000000
je 0x1402452c0
mov rax, qword [r15 + 0x178]
lea r14, [rsi + 8]
mov qword [rsp + 0x68], rax
mov rax, qword [rsi + 0x18]
mov qword [r15 + 0x178], rax
test r8b, r8b
jne 0x1402452b0
movzx r10d, byte [rbx + 0x44]
and r10d, 0x40
jne 0x140244f85
mov rax, qword [r15]
test byte [rax + 0x63], 2
jne 0x140244f85
mov r9d, dword [rbx]
lea r8d, [rdi + 1]
mov rdx, r14
mov rcx, rbx
mov byte [rsp + 0x88], r10b
call sym.isSelfJoinView
movzx r10d, byte [rsp + 0x88]
test rax, rax
je 0x140244f33
jmp 0x140244f85
test eax, 0x10000000
jne 0x140244f68
mov rdx, rbx
mov rax, r14
sub rdx, rsi
add rdx, r14
jmp 0x14024516f
sub rax, 0x68
cmp qword [rax + 0x28], 0
jne 0x140244f68
test byte [rax + 0x3c], 0x22
jne 0x140244f68
cmp rax, rdx
jne 0x140245160
mov eax, dword [r15 + 0x38]
xor r9d, r9d
mov edx, 0xb
mov rcx, r13
mov r10d, dword [r13 + 0x90]
lea r8d, [rax + 1]
lea r11d, [r10 + 1]
mov dword [r15 + 0x38], r8d
mov dword [rsi + 0x3c], r8d
mov dword [rsp + 0x20], r11d
mov dword [rsp + 0x90], r10d
mov dword [rsp + 0x88], r11d
call sym.sqlite3VdbeAddOp3
mov eax, dword [rsi + 0x3c]
mov r9, r14
mov edx, 1
mov r11d, dword [rsp + 0x88]
lea r8, str.CO_ROUTINE___S
mov rcx, r15
mov dword [rsi + 0x38], r11d
mov byte [rsp + 0x170], 0xd
mov dword [rsp + 0x174], eax
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x178], 0
mov dword [rsp + 0x180], 0
call sym.sqlite3VdbeExplain
mov r8, qword [rsp + 0x70]
mov rdx, rbp
mov rcx, r15
call sym.sqlite3Select
movzx edx, word [rbp + 2]
mov rax, qword [rsi + 0x28]
xor r9d, r9d
mov rcx, r13
mov word [rax + 0x3a], dx
lea rax, [r12 + r12*2]
mov edx, 0x44
lea rax, [r12 + rax*4]
or byte [rbx + rax*8 + 0x48], 0x20
mov eax, dword [rsp + 0x17c]
mov r8d, dword [rsi + 0x3c]
mov dword [rsi + 0x40], eax
call sym.sqlite3VdbeAddOp3.constprop.0
mov rax, qword [r13 + 0x18]
mov byte [rax + 0x1f], 0
mov rcx, qword [r13]
mov dword [rax + 0x28], 0
mov edx, dword [r13 + 0x90]
lea rax, [0x1402ba140]
cmp byte [rcx + 0x67], 0
jne 0x14024529b
movsxd r10, dword [rsp + 0x90]
mov rax, qword [r13 + 0x88]
lea rcx, [r10 + r10*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov byte [r15 + 0x1f], 0
mov dword [r15 + 0x28], 0
jmp 0x140244fda
mov rdx, qword [rsi + 0x68]
jmp 0x140244ef3
lea rax, [r12 + r12*2]
lea rax, [r12 + rax*4]
test word [rbx + rax*8 + 0x48], 0x108
jne 0x1402450cf
mov r11, qword [rsi + 0x30]
mov rax, r11
jmp 0x14024530a
test byte [rax + 4], 9
jne 0x1402450cf
mov rdx, qword [rax + 0x50]
test rdx, rdx
je 0x1402452fc
cmp byte [rax], 0x87
jne 0x1402450cf
cmp qword [rax + 0x70], 0
jne 0x1402450cf
mov rax, rdx
test rax, rax
jne 0x1402452e0
mov rdx, qword [r11 + 0x48]
mov r9, qword [rsi + 0x58]
test rdx, rdx
je 0x14024536b
mov ecx, dword [rdx]
test ecx, ecx
jle 0x14024536b
sub ecx, 1
lea rax, [rdx + 0x20]
mov r10d, 1
shl rcx, 5
lea rdx, [rdx + rcx + 0x40]
nop dword [rax + rax]
movzx ecx, word [rax]
test cx, cx
je 0x140245362
sub ecx, 1
mov r14d, 0x3f
cmp cx, 0x3f
cmova ecx, r14d
mov r14, r10
shl r14, cl
or r9, r14
add rax, 0x20
cmp rdx, rax
jne 0x140245340
mov rax, qword [rsi + 0x28]
movsx eax, word [rax + 0x36]
mov dword [rsp + 0x68], eax
test eax, eax
jle 0x1402450cf
lea r10d, [rax - 1]
mov eax, 0x3e
cmp r10d, 0x3e
cmovg r10d, eax
xor ecx, ecx
jmp 0x1402453a4
add ecx, 1
cmp ecx, r10d
jg 0x1402471c2
mov eax, 1
shl rax, cl
test rax, r9
jne 0x140245398
movsxd r14, ecx
mov rax, r11
shl r14, 5
nop dword [rax + rax]
mov rdx, qword [rax + 0x20]
add rdx, r14
mov rdx, qword [rdx + 8]
cmp byte [rdx], 0x79
je 0x1402453f0
mov byte [rdx], 0x79
and dword [rdx + 4], 0xfff7dfff
or dword [rax + 4], 0x1000000
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x1402453c0
jmp 0x140245398
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x1402453c0
jmp 0x140245398
movsxd r9, dword [rbp]
lea eax, [rsi + 1]
cmp r9d, eax
jle 0x140245468
mov edx, r9d
lea rax, [rbx + rbx*2]
sub edx, esi
lea rax, [rbx + rax*4]
sub edx, 2
lea rax, [rbp + rax*8]
add rdx, rbx
lea rcx, [rdx + rdx*2]
lea rdx, [rdx + rcx*4]
lea r8, [rbp + rdx*8 + 0x68]
nop dword [rax]
movzx edx, byte [rax + 0xac]
test dl, 0x10
je 0x14024545f
mov r10d, edx
mov ecx, edx
and r10d, 0xffffffcf
and ecx, 0xffffffef
and edx, 8
mov edx, r10d
cmovne edx, ecx
mov byte [rax + 0xac], dl
add rax, 0x68
cmp r8, rax
jne 0x140245438
lea edx, [r9 - 1]
cmp edx, esi
jl 0x140244a99
lea rax, [r9 + r9*2]
lea rax, [r9 + rax*4]
lea rax, [rbp + rax*8]
jmp 0x140245497
sub edx, 1
sub rax, 0x68
cmp edx, esi
jl 0x140244a99
movzx ecx, byte [rax - 0x24]
mov r8d, ecx
and r8d, 0xffffffbf
and ecx, 0x10
mov byte [rax - 0x24], r8b
je 0x140245488
jmp 0x140244a99
mov dword [rsp + 0x20], edi
mov rdx, rbp
mov r9, rbx
mov rcx, r15
mov rax, qword [rsp + 0x248]
mov r8, qword [rax + 0x30]
call sym.pushDownWhereTerms.isra.0
mov rax, qword [rsp + 0x58]
lea rdx, [r12 + r12*2]
lea rdx, [r12 + rdx*4]
mov eax, dword [rax + 0x60]
movzx r8d, byte [rbx + rdx*8 + 0x49]
jmp 0x1402450c0
and eax, 0xffffffd7
mov byte [r14 + 0x44], al
jmp 0x140244a91
mov dword [rsp + 0x20], eax
mov r9, qword [rdi]
lea rdx, str.expected__d_columns_for__s_but_got__d
mov rcx, r15
call sym.sqlite3ErrorMsg
mov eax, 1
jmp 0x1402449fd
mov r8d, dword [r10 + 8]
mov edx, 0xa
mov rcx, r13
mov qword [rsp + 0x70], r10
call sym.sqlite3VdbeAddOp3.constprop.0
mov r10, qword [rsp + 0x70]
mov r8d, dword [rsi + 0x4c]
mov r9d, dword [r10 + 0xc]
cmp r8d, r9d
je 0x14024555a
mov edx, 0x73
mov rcx, r13
call sym.sqlite3VdbeAddOp3.constprop.0
mov r10, qword [rsp + 0x70]
movzx eax, word [r10 + 0x10]
mov word [rbp + 2], ax
jmp 0x140244fda
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x248]
mov r11, rbx
mov rax, qword [r12 + 0x30]
mov rsi, qword [r12 + 0x20]
mov rbx, qword [r12 + 0x38]
mov qword [rsp + 0x70], rax
mov rax, qword [r12 + 0x40]
mov qword [rsp + 0x88], rax
mov eax, dword [r12 + 4]
mov byte [rsp + 0x104], al
and eax, 9
and byte [rsp + 0x104], 1
cmp eax, 1
je 0x140247446
mov rdx, qword [rsp + 0x110]
test rdx, rdx
je 0x140246243
mov r9d, dword [rsi]
xor r8d, r8d
mov rcx, r15
mov qword [rsp + 0x58], r11
call sym.sqlite3KeyInfoFromExprList
mov r8d, dword [r15 + 0x34]
mov rcx, r13
mov rdi, rax
lea eax, [r8 + 1]
mov dword [rsp + 0x11c], r8d
mov dword [r15 + 0x34], eax
mov rax, qword [rsp + 0x110]
mov edx, dword [rax]
mov eax, dword [rsi]
lea r9d, [rdx + rax + 1]
mov edx, 0x76
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9d, 0xfffffff8
mov r8, rdi
mov rcx, r13
mov ebp, eax
mov edx, eax
call sym.sqlite3VdbeChangeP4
mov dword [rsp + 0x128], ebp
mov r11, qword [rsp + 0x58]
mov rax, qword [rsp + 0x250]
cmp byte [rax], 0xc
je 0x14024734e
mov edx, dword [r12 + 4]
mov eax, dword [r15 + 0x44]
sub eax, 1
mov dword [rsp + 0x58], eax
mov dword [r15 + 0x44], eax
test dh, 0x40
jne 0x140245670
mov eax, 0x140
mov word [r12 + 2], ax
cmp qword [r12 + 0x60], 0
je 0x140245697
mov r8d, dword [rsp + 0x58]
mov rdx, r12
mov rcx, r15
mov qword [rsp + 0x68], r11
call sym.computeLimitRegisters
mov edx, dword [r12 + 4]
mov r11, qword [rsp + 0x68]
mov eax, dword [r12 + 8]
test eax, eax
jne 0x1402456d8
movsxd rax, dword [rsp + 0x128]
test eax, eax
js 0x1402456d8
mov r8, qword [r13]
lea rcx, [0x1402ba140]
cmp byte [r8 + 0x67], 0
jne 0x1402456cd
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rcx, [rax + rcx*8]
mov byte [rcx], 0x77
or byte [rsp + 0x134], 1
and edx, 1
jne 0x14024712c
mov byte [rsp + 0x105], 0
mov r10d, dword [rsp + 0x78]
test r10d, r10d
jne 0x140247233
test rbx, rbx
jne 0x140246392
cmp byte [rsp + 0x104], 0
movzx edx, word [r12 + 4]
setne al
mov rdi, qword [r12 + 0x70]
shl eax, 8
and dx, 0x4000
or edx, eax
mov word [rsp + 0x60], dx
test rdi, rdi
je 0x140245ec5
mov rax, qword [r12 + 0x28]
mov rbp, qword [r15 + 0x10]
mov rax, qword [rax + 0x30]
mov rax, qword [rax + 0x20]
mov ebx, dword [rax]
test rbp, rbp
jne 0x14024575b
mov rcx, r15
mov qword [rsp + 0x68], r11
call sym.sqlite3GetVdbe.part.0
mov r11, qword [rsp + 0x68]
mov rbp, rax
movsxd rcx, dword [rbp + 0x90]
mov r10d, dword [rbp + 0x94]
mov eax, dword [rdi + 0x58]
cmp ecx, r10d
jge 0x1402478c4
lea edx, [rcx + 1]
lea r8, [rcx + rcx*2]
mov rcx, qword [rbp + 0x88]
mov dword [rbp + 0x90], edx
lea rcx, [rcx + r8*8]
mov dword [rcx + 4], eax
mov dword [rcx + 8], ebx
mov dword [rcx + 0xc], 0
mov qword [rcx + 0x10], 0
mov dword [rcx], 0x76
lea r8d, [rax + 1]
cmp r10d, edx
jle 0x14024788d
lea ecx, [rdx + 1]
movsxd rdx, edx
lea r9, [rdx + rdx*2]
mov rdx, qword [rbp + 0x88]
mov dword [rbp + 0x90], ecx
lea rdx, [rdx + r9*8]
mov dword [rdx + 4], r8d
mov dword [rdx + 8], eax
mov dword [rdx + 0xc], 0
mov qword [rdx + 0x10], 0
mov dword [rdx], 0x73
lea r8d, [rax + 2]
cmp r10d, ecx
jle 0x1402478fe
lea edx, [rcx + 1]
movsxd rcx, ecx
lea r9, [rcx + rcx*2]
mov rcx, qword [rbp + 0x88]
mov dword [rbp + 0x90], edx
lea rcx, [rcx + r9*8]
mov dword [rcx + 4], r8d
mov dword [rcx + 8], eax
mov dword [rcx + 0xc], 0
mov qword [rcx + 0x10], 0
mov dword [rcx], 0x73
lea r8d, [rax + 3]
cmp edx, r10d
jge 0x140247866
lea ecx, [rdx + 1]
movsxd rdx, edx
mov dword [rbp + 0x90], ecx
lea rcx, [rdx + rdx*2]
mov rdx, qword [rbp + 0x88]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 4], r8d
mov dword [rdx + 8], eax
mov dword [rdx + 0xc], 0
mov qword [rdx + 0x10], 0
mov dword [rdx], 0x73
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x1402458b4
mov edx, dword [rdx]
mov eax, dword [r15 + 0x38]
xor r8d, r8d
mov rcx, rbp
mov qword [rsp + 0x68], r11
lea r9d, [rax + 1]
add eax, edx
mov dword [rdi + 0x6c], r9d
mov dword [r15 + 0x38], eax
lea eax, [rdx + r9 - 1]
mov edx, 0x4b
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov r11, qword [rsp + 0x68]
mov eax, dword [r15 + 0x38]
lea r9d, [rax + 1]
movsxd rax, dword [rbp + 0x90]
mov dword [r15 + 0x38], r9d
mov dword [rdi + 0x80], r9d
cmp eax, dword [rbp + 0x94]
jge 0x1402479d1
movabs rbx, 0x100000047
lea edx, [rax + 1]
mov dword [rbp + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 8], r9d
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov qword [rax], rbx
cmp byte [rdi + 0x24], 0
mov qword [rsp + 0x68], r11
mov rbx, rdi
jne 0x14024795e
mov qword [rsp + 0x248], r12
mov r12, rsi
mov rsi, r15
mov r15, qword [rsp + 0x248]
jmp 0x140245a6d
cmp byte [rbx + 0x21], 0x5a
je 0x140245a7b
mov rax, qword [rbx + 0x70]
xor r8d, r8d
xor r9d, r9d
mov rcx, rsi
mov rdx, qword [rax + 0x20]
call sym.sqlite3KeyInfoFromExprList
mov r8d, dword [rsi + 0x34]
mov r11, rax
lea eax, [r8 + 1]
mov dword [rsi + 0x34], eax
mov eax, dword [rsi + 0x38]
mov dword [rbx + 0x64], r8d
lea edx, [rax + 1]
add eax, 3
mov dword [rbx + 0x68], edx
mov dword [rsi + 0x38], eax
test r11, r11
je 0x14024599f
mov rax, qword [rbx + 0x50]
mov rax, qword [rax + 0x38]
cmp byte [rax + 1], 0x69
jne 0x14024599f
mov rax, qword [r11 + 0x18]
mov byte [rax], 1
mov r8d, dword [rbx + 0x64]
movsxd rax, dword [rbp + 0x90]
cmp eax, dword [rbp + 0x94]
jge 0x14024765c
lea edx, [rax + 1]
mov dword [rbp + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], r8d
mov qword [rax + 8], 2
mov qword [rax + 0x10], 0
mov dword [rax], 0x76
mov rax, qword [rbp]
cmp byte [rax + 0x67], 0
jne 0x140247516
movsxd rdx, dword [rbp + 0x90]
lea rcx, [rdx + rdx*2]
mov rax, rdx
mov rdx, qword [rbp + 0x88]
lea rdx, [rdx + rcx*8 - 0x18]
mov byte [rdx + 1], 0xf8
mov qword [rdx + 0x10], r11
mov ecx, dword [rbx + 0x68]
lea r9d, [rcx + 1]
cmp dword [rbp + 0x94], eax
jle 0x14024763f
lea edx, [rax + 1]
mov dword [rbp + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 8], r9d
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov qword [rax], 0x47
nop dword [rax]
mov rbx, qword [rbx + 0x40]
test rbx, rbx
je 0x140245eaa
mov rax, qword [rbx + 0x50]
test byte [rax + 5], 0x10
jne 0x140245940
mov rax, qword [rax + 0x38]
lea rcx, str.nth_value
cmp rax, rcx
je 0x140245e17
lea rcx, str.first_value
cmp rax, rcx
je 0x140245e17
lea rcx, [0x140343260]
cmp rax, rcx
je 0x140245ab7
lea rdx, str.lead
cmp rax, rdx
jne 0x140245a60
mov r8d, dword [rsi + 0x34]
mov r9d, dword [rdi + 0x58]
lea eax, [r8 + 1]
mov dword [rsi + 0x34], eax
movsxd rax, dword [rbp + 0x90]
mov dword [rbx + 0x64], r8d
cmp eax, dword [rbp + 0x94]
jge 0x140245e4c
lea edx, [rax + 1]
mov dword [rbp + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], r8d
mov dword [rax + 8], r9d
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x73
jmp 0x140245a60
mov rax, qword [rsp + 0x70]
movq xmm0, r12
mov rcx, qword [rsp + 0x68]
mov rdx, r8
movhps xmm0, qword [rsp + 0x78]
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x170], rbp
mov qword [rsp + 0x198], rax
movups xmmword [rsp + 0x110], xmm7
movups xmmword [rsp + 0x120], xmm0
movups xmmword [rsp + 0x178], xmm6
call sym.sqlite3WalkExprList
mov r12, qword [rsp + 0x120]
xor eax, eax
test r12, r12
je 0x140245b9b
mov eax, dword [r12]
mov dword [rbx + 0x7c], eax
mov byte [rbx + 0x8c], 1
jmp 0x1402447c5
mov r8d, dword [rax + 0x34]
mov edx, 0xa
mov rcx, r13
mov qword [rsp + 0x70], rax
call sym.sqlite3VdbeAddOp3.constprop.0
mov r10, qword [rsp + 0x70]
jmp 0x140244faf
test byte [r12 + 4], 8
je 0x140244e87
mov rax, qword [r12 + 0x20]
cmp dword [rax], 1
jne 0x140244e87
cmp qword [r12 + 0x30], 0
jne 0x140244e87
cmp qword [r12 + 0x40], 0
jne 0x140244e87
cmp qword [r12 + 0x38], 0
jne 0x140244e87
cmp qword [r12 + 0x48], 0
jne 0x140244e87
mov rsi, qword [rax + 8]
cmp byte [rsi], 0xa8
jne 0x140244e87
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x140244e87
lea rdx, str.count
call sym.sqlite3_stricmp.part.0
test eax, eax
jne 0x140244e87
cmp qword [rsi + 0x20], 0
jne 0x140244e87
mov rdx, qword [r12 + 0x28]
cmp dword [rdx], 1
jne 0x140244e87
test byte [rsi + 7], 1
jne 0x140244e87
mov rdi, qword [rdx + 0x30]
test rdi, rdi
je 0x140244e87
cmp qword [rdi + 0x50], 0
je 0x140244e87
test byte [rdi + 7], 4
jne 0x140244e87
mov rbp, rdi
cmp byte [rbp], 0x87
je 0x140245ca1
cmp qword [rbp + 0x50], 0
jne 0x140244e87
cmp qword [rbp + 0x30], 0
jne 0x140244e87
cmp qword [rbp + 0x60], 0
jne 0x140244e87
test byte [rbp + 4], 8
jne 0x140244e87
mov rbp, qword [rbp + 0x50]
test rbp, rbp
jne 0x140245c90
mov rbx, qword [r15]
mov qword [rdx + 0x30], 0
pxor xmm6, xmm6
mov rcx, rbx
call sym.sqlite3SrcListDelete
mov rcx, qword [r15]
mov edx, 0x70
call sym.sqlite3DbMallocZero
mov qword [rsp + 0x248], r12
mov qword [r12 + 0x28], rax
mov r12, rbp
mov rbp, rsi
mov rsi, rbx
jmp 0x140245d66
mov rdx, rbp
mov rcx, rsi
call sym.exprDup.constprop.0
mov rcx, qword [r15]
mov rdx, rax
call sym.sqlite3ExprListAppendNew
xor r8d, r8d
mov edx, 0x8a
mov rcx, r15
mov qword [rdi + 0x20], rax
call sym.sqlite3PExpr.constprop.0
mov r8, rdi
mov rcx, r15
mov rdx, rax
mov qword [rsp + 0x58], rax
call sym.sqlite3PExprAddSelect
test r12, r12
mov rax, qword [rsp + 0x58]
je 0x140245d60
mov r9, r12
mov r8, rax
mov edx, 0x6a
mov rcx, r15
call sym.sqlite3PExpr
mov r12, rax
mov rdi, rbx
mov eax, dword [rdi + 4]
mov rdx, qword [rdi + 0x20]
mov word [rdi + 2], 0
mov rbx, qword [rdi + 0x50]
movups xmmword [rdi + 0x50], xmm6
and ah, 0xfe
or eax, 8
mov dword [rdi + 4], eax
test rdx, rdx
je 0x140245d91
mov rcx, rsi
call sym.exprListDeleteNN
test rbx, rbx
jne 0x140245d06
mov rcx, qword [r15]
mov rsi, rbp
mov rbp, r12
mov r12, qword [rsp + 0x248]
mov rdx, rsi
call sym.sqlite3ExprListAppendNew
xor r8d, r8d
mov edx, 0x8a
mov rcx, r15
mov qword [rdi + 0x20], rax
call sym.sqlite3PExpr.constprop.0
mov r8, rdi
mov rcx, r15
mov rdx, rax
mov rbx, rax
call sym.sqlite3PExprAddSelect
test rbp, rbp
je 0x140245df3
mov r8, rbx
mov r9, rbp
mov edx, 0x6a
mov rcx, r15
call sym.sqlite3PExpr
mov rbx, rax
mov rax, qword [r12 + 0x20]
mov qword [rax + 8], rbx
and dword [r12 + 4], 0xfffffff7
cmp byte [r14 + 0x67], 0
jne 0x1402449f8
mov r11, qword [r12 + 0x28]
jmp 0x140244e87
mov eax, dword [rsi + 0x38]
mov r8d, dword [rsi + 0x34]
mov r9d, dword [rdi + 0x58]
lea edx, [rax + 1]
add eax, 2
mov dword [rbx + 0x68], edx
lea edx, [r8 + 1]
mov dword [rsi + 0x34], edx
mov dword [rbx + 0x64], r8d
mov dword [rsi + 0x38], eax
movsxd rax, dword [rbp + 0x90]
cmp eax, dword [rbp + 0x94]
jl 0x140245add
mov dword [rsp + 0x20], 0
mov edx, 0x73
mov rcx, rbp
call sym.growOp3
jmp 0x140245a60
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x4b
mov rcx, r15
call sym.growOp3
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x140244790
jmp 0x140244851
lea rax, [r12 + r12*2]
lea rax, [r12 + rax*4]
test word [rbx + rax*8 + 0x48], 0x108
je 0x1402452d5
jmp 0x140244ed8
mov qword [rsp + 0x248], r15
mov r11, qword [rsp + 0x68]
mov r15, rsi
mov rsi, r12
mov r12, qword [rsp + 0x248]
movsx eax, word [r12 + 2]
mov qword [rsp + 0x28], r12
mov rdx, r11
mov rcx, r15
mov r9, qword [rsp + 0x110]
mov r8, qword [rsp + 0x70]
mov dword [rsp + 0x38], eax
movzx eax, word [rsp + 0x60]
mov dword [rsp + 0x30], eax
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0x20], rax
call sym.sqlite3WhereBegin
mov rbp, rax
test rax, rax
je 0x1402449f8
movzx eax, word [rax + 0x48]
cmp word [r12 + 2], ax
jle 0x140245f1d
mov word [r12 + 2], ax
cmp byte [rsp + 0x104], 0
je 0x140245f36
movzx eax, byte [rbp + 0x43]
test al, al
je 0x140245f36
mov byte [rsp + 0x105], al
mov r8, qword [rsp + 0x110]
test r8, r8
je 0x140247332
movsx eax, byte [rbp + 0x41]
mov edx, 0
test al, al
cmovs eax, edx
mov dword [rsp + 0x118], eax
test byte [rbp + 0x44], 4
je 0x140245f8a
movzx edx, byte [rbp + 0x40]
sub edx, 1
movsxd rdx, edx
lea rcx, [rdx*8]
sub rcx, rdx
shl rcx, 4
cmp qword [rbp + rcx + 0x398], 0
je 0x1402479fb
mov edx, dword [rbp + 0x30]
mov dword [rsp + 0x130], edx
cmp dword [r8], eax
je 0x140247326
test rdi, rdi
je 0x140247541
mov eax, dword [r15 + 0x44]
mov r8, rbp
mov rdx, r12
mov rcx, r15
lea edi, [rax - 2]
lea r10d, [rax - 1]
mov dword [rsp + 0x60], edi
lea edi, [rax - 3]
mov eax, dword [r15 + 0x38]
mov dword [r15 + 0x44], edi
lea ebx, [rax + 1]
mov dword [rsp + 0x68], r10d
mov dword [r15 + 0x38], ebx
mov r9d, ebx
mov dword [rsp + 0x20], r10d
call sym.sqlite3WindowCodeStep
mov r9d, edi
xor r8d, r8d
mov edx, 9
mov rcx, r13
call sym.sqlite3VdbeAddOp3.constprop.0
mov r10d, dword [rsp + 0x68]
mov rcx, r13
mov edx, r10d
call sym.sqlite3VdbeResolveLabel
mov ebp, dword [rsp + 0x60]
mov dword [rsp + 0x38], edi
mov rdx, r12
mov rax, qword [rsp + 0x250]
lea r9, [rsp + 0x110]
mov r8d, 0xffffffff
mov rcx, r15
mov dword [rsp + 0x30], ebp
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x104]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x130], 0
call sym.selectInnerLoop
mov edx, ebp
mov rcx, r13
call sym.sqlite3VdbeResolveLabel
mov edx, 0x43
mov rcx, r13
xor r9d, r9d
mov r8d, ebx
call sym.sqlite3VdbeAddOp3.constprop.0
mov edx, edi
mov rcx, r13
call sym.sqlite3VdbeResolveLabel
cmp byte [rsp + 0x105], 3
je 0x1402475b9
cmp qword [rsp + 0x110], 0
je 0x1402460b2
mov rax, qword [rsp + 0x250]
lea r8, [rsp + 0x110]
mov rdx, r12
mov rcx, r15
mov qword [rsp + 0x20], rax
mov r9d, dword [rsi]
call sym.generateSortTail
mov edx, dword [rsp + 0x58]
mov rcx, r13
call sym.sqlite3VdbeResolveLabel
mov edx, dword [r15 + 0x30]
xor eax, eax
test edx, edx
setg al
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x1402449fd
mov rcx, r14
mov dword [rsp + 0x58], eax
call sym.exprListDeleteNN
mov eax, dword [rsp + 0x58]
jmp 0x1402449fd
mov eax, dword [r15 + 0x38]
mov edx, 9
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
add eax, 1
mov dword [r15 + 0x38], eax
mov dword [rsi + 0x3c], eax
call sym.sqlite3VdbeAddOp3.constprop.0
lea r10d, [rax + 1]
mov dword [rsp + 0x88], eax
lea rax, [r12 + r12*2]
lea rax, [r12 + rax*4]
mov dword [rsi + 0x38], r10d
lea rdx, [rbx + rax*8 + 0x30]
movzx eax, byte [rdx + 0x18]
or eax, 0x10
mov byte [rdx + 0x18], al
test al, 8
je 0x140247254
mov eax, dword [rsi + 0x4c]
mov r9, r14
lea r8, str.MATERIALIZE___S
mov rcx, r15
mov edx, 1
mov dword [rsp + 0x90], r10d
mov byte [rsp + 0x170], 0xc
mov dword [rsp + 0x174], eax
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x178], 0
mov dword [rsp + 0x180], 0
call sym.sqlite3VdbeExplain
mov r8, qword [rsp + 0x70]
mov rdx, rbp
mov rcx, r15
call sym.sqlite3Select
mov rax, qword [rsi + 0x28]
movzx edx, word [rbp + 2]
mov r10d, dword [rsp + 0x90]
mov word [rax + 0x3a], dx
mov r8d, dword [rsi + 0x3c]
mov edx, 0x43
mov rcx, r13
mov r9d, r10d
call sym.sqlite3VdbeAddOp3.constprop.0
mov rcx, qword [r13]
mov edx, dword [r13 + 0x90]
lea rax, [0x1402ba140]
cmp byte [rcx + 0x67], 0
jne 0x1402461f9
movsxd rax, dword [rsp + 0x88]
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
lea rax, [r12 + r12*2]
lea rax, [r12 + rax*4]
mov byte [r15 + 0x1f], 0
mov dword [r15 + 0x28], 0
movzx eax, word [rbx + rax*8 + 0x48]
and ax, 0x108
cmp ax, 0x100
jne 0x140244fda
mov rdx, qword [rsi + 0x38]
mov rax, qword [rsi + 0x68]
mov qword [rax + 4], rdx
mov edx, dword [rsi + 0x4c]
mov dword [rax + 0xc], edx
movzx edx, word [rbp + 2]
mov word [rax + 0x10], dx
jmp 0x140244fda
mov dword [rsp + 0x128], 0xffffffff
jmp 0x14024563b
test ah, 0x80
jne 0x140244e7c
mov rax, qword [r15]
lea rdi, [sym.propagateConstantExprRewrite]
mov rsi, r11
mov qword [rsp + 0x140], r15
movq xmm6, rdi
lea rbx, [rsp + 0x140]
add rax, 0x67
mov qword [rsp + 0x148], rax
lea rax, [sym.sqlite3SelectWalkNoop]
movq xmm4, rax
punpcklqdq xmm6, xmm4
jmp 0x1402462b4
mov eax, dword [rsp + 0x154]
test eax, eax
je 0x140247535
mov rdx, qword [r12 + 0x30]
mov rcx, qword [r12 + 0x28]
mov eax, 1
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x160], 0
mov dword [rsp + 0x158], 0
test rcx, rcx
je 0x1402462ff
mov r8d, dword [rcx]
test r8d, r8d
jle 0x1402462ff
movzx eax, byte [rcx + 0x44]
and eax, 0x40
cmp al, 1
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov rcx, rbx
mov dword [rsp + 0x15c], eax
call sym.findConstInWhere
mov eax, dword [rsp + 0x150]
test eax, eax
je 0x1402462a0
mov rdx, qword [r12 + 0x30]
mov qword [rsp + 0x170], r15
lea rcx, [rsp + 0x170]
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x198], rbx
movups xmmword [rsp + 0x178], xmm6
test rdx, rdx
je 0x140246360
call sym.sqlite3WalkExprNN
mov rdx, qword [rsp + 0x160]
test rdx, rdx
je 0x1402462a0
mov rax, qword [rsp + 0x140]
mov rcx, qword [rax]
call sym.sqlite3DbFreeNN
jmp 0x1402462a0
mov rax, qword [r10 + 0x28]
mov r8, qword [rax]
jmp 0x140244e0d
mov rcx, qword [r12 + 0x20]
mov edx, dword [rcx]
lea rax, [rcx + 8]
test edx, edx
jle 0x1402463c1
sub edx, 1
shl rdx, 5
lea rdx, [rcx + rdx + 0x28]
nop dword [rax]
xor r9d, r9d
add rax, 0x20
mov word [rax - 6], r9w
cmp rax, rdx
jne 0x1402463b0
mov ecx, dword [rbx]
lea rax, [rbx + 8]
test ecx, ecx
jle 0x1402463f1
lea edx, [rcx - 1]
shl rdx, 5
lea rdx, [rbx + rdx + 0x28]
nop word [rax + rax]
xor r8d, r8d
add rax, 0x20
mov word [rax - 6], r8w
cmp rax, rdx
jne 0x1402463e0
cmp word [r12 + 2], 0x42
jle 0x140246405
mov eax, 0x42
mov word [r12 + 2], ax
mov r9, qword [rsp + 0x110]
mov dword [rsp + 0xa8], 0
test r9, r9
je 0x140246426
cmp dword [r9], ecx
je 0x140247686
mov eax, dword [r15 + 0x44]
mov edx, 0x38
mov rcx, r14
mov qword [rsp + 0x68], r11
sub eax, 1
mov dword [r15 + 0x44], eax
mov dword [rsp + 0x98], eax
call sym.sqlite3DbMallocZero
mov r11, qword [rsp + 0x68]
test rax, rax
mov rbp, rax
je 0x14024646e
mov r8, rax
lea rdx, [sym.agginfoFree]
mov rcx, r15
call sym.sqlite3ParserAddCleanup
mov r11, qword [rsp + 0x68]
movzx eax, byte [r14 + 0x67]
mov edi, eax
mov byte [rsp + 0x78], al
mov eax, 1
test dil, dil
jne 0x1402449fd
mov eax, dword [r12 + 0x10]
movq xmm0, r15
movq xmm2, r11
lea rdi, [rsp + 0x170]
punpcklqdq xmm0, xmm2
mov qword [rsp + 0x68], rdi
mov dword [rbp + 0x34], eax
mov qword [rsp + 0x90], r11
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x1a0], 0
mov qword [rsp + 0x180], rbp
movups xmmword [rsp + 0x170], xmm0
test rbx, rbx
je 0x1402477ea
mov eax, dword [rbx]
mov qword [rbp + 0x10], rbx
mov rdx, rsi
mov rcx, rdi
mov word [rbp + 2], ax
call sym.sqlite3ExprAnalyzeAggList
mov rdx, qword [rsp + 0x110]
mov rcx, rdi
call sym.sqlite3ExprAnalyzeAggList
mov r11, qword [rsp + 0x90]
cmp qword [rsp + 0x88], 0
je 0x140246629
mov rdx, qword [r12 + 0x40]
lea rcx, [rsp + 0x140]
lea rax, [sym.havingToWhereExprCb]
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x168], r12
test rdx, rdx
je 0x1402465a3
mov qword [rsp + 0x70], r11
call sym.sqlite3WalkExprNN
mov r11, qword [rsp + 0x70]
mov rax, qword [r12 + 0x30]
mov qword [rsp + 0x70], rax
lea rax, [sym.sqlite3WalkerDepthIncrease]
lea rdi, [sym.analyzeAggregate]
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
movq xmm2, rax
movq xmm0, rdi
lea rax, [sym.sqlite3WalkerDepthDecrease]
mov qword [rsp + 0xa0], r11
mov qword [rsp + 0x158], rax
punpcklqdq xmm0, xmm2
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x160], 0
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x140], 0
movups xmmword [rsp + 0x148], xmm0
call sym.sqlite3WalkExprNN
mov r11, qword [rsp + 0xa0]
mov eax, dword [rbp + 0x20]
cmp qword [r12 + 0x38], 0
mov qword [rsp + 0xa0], 0
mov dword [rbp + 0x24], eax
je 0x14024783f
mov rdx, qword [rsp + 0x68]
mov rcx, rbp
mov qword [rsp + 0x90], r11
call sym.analyzeAggFuncArgs
cmp byte [r14 + 0x67], 0
jne 0x140247625
test rbx, rbx
mov edx, dword [rbp + 0x30]
mov r11, qword [rsp + 0x90]
je 0x140247a0b
cmp edx, 1
je 0x140247dc4
xor eax, eax
mov edi, 0x40
xor r10d, r10d
mov word [rsp + 0x78], ax
mov eax, dword [r15 + 0x34]
mov r9d, dword [rbp + 0x20]
xor r8d, r8d
mov rcx, r15
mov dword [rsp + 0xb8], r10d
lea edx, [rax + 1]
mov qword [rsp + 0x90], r11
mov dword [r15 + 0x34], edx
mov rdx, rbx
mov dword [rbp + 4], eax
call sym.sqlite3KeyInfoFromExprList
movzx r9d, word [rbp + 2]
mov r8d, dword [rbp + 4]
mov rcx, r13
mov edx, 0x77
mov qword [rsp + 0xe0], rax
call sym.sqlite3VdbeAddOp3.constprop.0
mov r8, qword [rsp + 0xe0]
mov r9d, 0xfffffff8
mov rcx, r13
mov edx, eax
mov dword [rsp + 0xfc], eax
call sym.sqlite3VdbeChangeP4
mov eax, dword [r15 + 0x38]
mov edx, dword [r15 + 0x44]
xor r8d, r8d
lea ecx, [rax + 1]
lea r11d, [rax + 2]
mov dword [rsp + 0xd0], ecx
lea ecx, [rax + 3]
mov r9d, r11d
mov dword [rsp + 0xb0], ecx
lea ecx, [rdx - 1]
sub edx, 2
mov dword [rsp + 0xf0], ecx
lea ecx, [rax + 4]
mov dword [rsp + 0xec], edx
mov dword [r15 + 0x44], edx
lea edx, [rax + 5]
mov eax, dword [rbx]
mov dword [rsp + 0xe8], edx
mov edx, 0x47
add eax, ecx
mov dword [rsp + 0xdc], ecx
mov rcx, r13
lea r10d, [rax + 1]
add eax, dword [rbx]
mov dword [rsp + 0xf8], r11d
mov dword [r15 + 0x38], eax
mov dword [rsp + 0xc8], r10d
call sym.sqlite3VdbeAddOp3.constprop.0
mov eax, dword [rbx]
xor r8d, r8d
mov rcx, r13
mov edx, dword [rsp + 0xe8]
add eax, edx
mov r9d, edx
mov edx, 0x4b
sub eax, 1
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov r9d, dword [rsp + 0xec]
mov edx, 0xa
mov rcx, r13
mov r8d, dword [rsp + 0xdc]
call sym.sqlite3VdbeAddOp3.constprop.0
cmp byte [rsp + 0x104], 2
mov r11, qword [rsp + 0x90]
mov r10d, dword [rsp + 0xb8]
jne 0x1402467e0
mov edi, r10d
or dil, 0x80
mov qword [rsp + 0x28], r12
mov r8, qword [rsp + 0x70]
mov r9, rbx
mov rdx, r11
movzx eax, word [rsp + 0xa8]
mov dword [rsp + 0x38], 0
mov rcx, r15
shl eax, 9
or eax, edi
cwde
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
call sym.sqlite3WhereBegin
mov qword [rsp + 0xb8], rax
test rax, rax
je 0x14024760d
cmp qword [r15 + 0x60], 0
je 0x140246ab8
mov r8d, dword [rbp + 0x24]
cmp word [rbp + 2], 0
mov dword [rbp + 0x20], r8d
je 0x140246aab
mov rax, qword [r12 + 0x38]
mov eax, dword [rax]
sub eax, 1
test r8d, r8d
jle 0x140246aa4
lea edx, [r8 - 1]
mov rcx, qword [rbp + 0x18]
cmp edx, 9
jbe 0x140248b52
movd xmm5, eax
lea rdx, [rcx + 0x16]
pxor xmm4, xmm4
mov r9d, r8d
shr r9d, 3
pshufd xmm2, xmm5, 0
imul r9, r9, 0xc0
add r9, rdx
movzx eax, word [rdx]
add rdx, 0xc0
movd xmm0, eax
movzx eax, word [rdx - 0x90]
pinsrw xmm0, word [rdx - 0xa8], 1
movd xmm5, eax
movzx eax, word [rdx - 0x60]
pinsrw xmm5, word [rdx - 0x78], 1
movd xmm1, eax
movzx eax, word [rdx - 0x30]
pinsrw xmm1, word [rdx - 0x48], 1
punpckldq xmm0, xmm5
movd xmm3, eax
pinsrw xmm3, word [rdx - 0x18], 1
punpckldq xmm1, xmm3
punpcklqdq xmm0, xmm1
movdqu xmm1, xmm4
pcmpgtw xmm1, xmm0
movdqu xmm3, xmm0
punpckhwd xmm3, xmm1
punpcklwd xmm0, xmm1
movdqu xmm1, xmm3
pcmpgtd xmm1, xmm0
pand xmm3, xmm1
pandn xmm1, xmm0
por xmm1, xmm3
movdqu xmm0, xmm1
pcmpgtd xmm1, xmm2
pand xmm0, xmm1
pandn xmm1, xmm2
movdqu xmm2, xmm1
por xmm2, xmm0
cmp r9, rdx
jne 0x140246894
movdqu xmm1, xmm2
mov edx, r8d
psrldq xmm1, 8
and edx, 0xfffffff8
movdqu xmm0, xmm1
pcmpgtd xmm0, xmm2
pand xmm1, xmm0
pandn xmm0, xmm2
por xmm0, xmm1
movdqu xmm2, xmm0
psrldq xmm2, 4
movdqu xmm1, xmm2
pcmpgtd xmm1, xmm0
pand xmm2, xmm1
pandn xmm1, xmm0
por xmm1, xmm2
movd eax, xmm1
test r8b, 7
je 0x140246aa4
movsxd r9, edx
imul r9, r9, 0x18
movsx r9d, word [rcx + r9 + 0x16]
cmp eax, r9d
cmovl eax, r9d
lea r9d, [rdx + 1]
cmp r8d, r9d
jle 0x140246aa4
movsxd r9, r9d
imul r9, r9, 0x18
movsx r9d, word [rcx + r9 + 0x16]
cmp eax, r9d
cmovl eax, r9d
lea r9d, [rdx + 2]
cmp r9d, r8d
jge 0x140246aa4
movsxd r9, r9d
imul r9, r9, 0x18
movsx r9d, word [rcx + r9 + 0x16]
cmp eax, r9d
cmovl eax, r9d
lea r9d, [rdx + 3]
cmp r9d, r8d
jge 0x140246aa4
movsxd r9, r9d
imul r9, r9, 0x18
movsx r9d, word [rcx + r9 + 0x16]
cmp eax, r9d
cmovl eax, r9d
lea r9d, [rdx + 4]
cmp r8d, r9d
jle 0x140246aa4
movsxd r9, r9d
imul r9, r9, 0x18
movsx r9d, word [rcx + r9 + 0x16]
cmp eax, r9d
cmovl eax, r9d
lea r9d, [rdx + 5]
cmp r8d, r9d
jle 0x140246aa4
movsxd r9, r9d
imul r9, r9, 0x18
movsx r9d, word [rcx + r9 + 0x16]
cmp eax, r9d
cmovl eax, r9d
lea r9d, [rdx + 6]
cmp r8d, r9d
jle 0x140246aa4
movsxd r9, r9d
imul r9, r9, 0x18
movsx r9d, word [rcx + r9 + 0x16]
cmp eax, r9d
cmovl eax, r9d
lea r9d, [rdx + 7]
cmp r8d, r9d
jle 0x140246aa4
movsxd r9, r9d
imul r9, r9, 0x18
movsx r9d, word [rcx + r9 + 0x16]
cmp eax, r9d
cmovl eax, r9d
lea r9d, [rdx + 8]
cmp r8d, r9d
jle 0x140246aa4
movsxd r9, r9d
imul r9, r9, 0x18
movsx r9d, word [rcx + r9 + 0x16]
cmp eax, r9d
cmovl eax, r9d
add edx, 9
cmp r8d, edx
jle 0x140246aa4
movsxd rdx, edx
imul rdx, rdx, 0x18
movsx edx, word [rcx + rdx + 0x16]
cmp eax, edx
cmovl eax, edx
add eax, 1
mov word [rbp + 2], ax
mov rdx, qword [rsp + 0x68]
mov rcx, rbp
call sym.analyzeAggFuncArgs
mov edx, dword [r15 + 0x38]
lea eax, [rdx + 1]
mov dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x30]
add eax, dword [rbp + 0x20]
add eax, edx
mov edx, 0
mov dword [r15 + 0x38], eax
mov rax, qword [rsp + 0xb8]
movzx edi, byte [rax + 0x43]
movsx eax, byte [rax + 0x41]
test al, al
mov dword [rsp + 0xf4], edi
cmovs eax, edx
cmp dword [rbx], eax
je 0x140247ec0
cmp byte [rsp + 0x104], 0
lea r9, str.GROUP_BY
je 0x140246b19
test byte [r12 + 4], 1
lea rax, str.DISTINCT
cmove r9, rax
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, r15
call sym.sqlite3VdbeExplain
mov edx, dword [rbp + 0x20]
mov r10d, dword [rbx]
test edx, edx
jle 0x14024807b
sub edx, 1
mov rcx, qword [rbp + 0x18]
mov edi, r10d
imul rdx, rdx, 0x18
lea rax, [rcx + 0x16]
lea rcx, [rcx + rdx + 0x2e]
movsx edx, word [rax]
cmp edx, edi
setge dl
add rax, 0x18
movzx edx, dl
add edi, edx
cmp rcx, rax
jne 0x140246b4f
mov rcx, r15
mov edx, edi
mov dword [rsp + 0x70], r10d
call sym.sqlite3GetTempRange
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov rdx, rbx
mov r8d, eax
mov dword [rsp + 0x68], eax
call sym.sqlite3ExprCodeExprList.isra.0
mov ecx, dword [rbp + 0x20]
xor r9d, r9d
mov byte [rbp], 1
mov r10d, dword [rsp + 0x70]
test ecx, ecx
jle 0x140246bc3
mov r8, qword [rbp + 0x18]
lea rax, [r9 + r9*2]
lea rax, [r8 + rax*8]
movsx edx, word [rax + 0x16]
cmp edx, r10d
jge 0x1402474ae
add r9, 1
cmp ecx, r9d
jg 0x140246ba5
mov byte [rbp], 0
movzx eax, byte [r15 + 0x1f]
test al, al
je 0x140247ee0
sub eax, 1
mov byte [r15 + 0x1f], al
movzx eax, al
mov r10d, dword [r15 + rax*4 + 0xe8]
mov dword [rsp + 0x20], r10d
mov r8d, dword [rsp + 0x68]
mov r9d, edi
mov rcx, r13
mov edx, 0x61
mov dword [rsp + 0x70], r10d
call sym.sqlite3VdbeAddOp3
mov r10d, dword [rsp + 0x70]
mov r8d, dword [rbp + 4]
mov rcx, r13
mov edx, 0x8b
mov r9d, r10d
call sym.sqlite3VdbeAddOp3.constprop.0
mov r10d, dword [rsp + 0x70]
test r10d, r10d
je 0x140246c33
mov edx, r10d
mov rcx, r15
call sym.sqlite3ReleaseTempReg.part.0
cmp edi, 1
je 0x140247fe9
cmp dword [r15 + 0x28], edi
jge 0x140246c56
movd xmm3, dword [rsp + 0x68]
movd xmm0, edi
punpckldq xmm0, xmm3
movq qword [r15 + 0x28], xmm0
mov rcx, qword [rsp + 0xb8]
call sym.sqlite3WhereEnd
mov ecx, dword [r15 + 0x34]
lea eax, [rcx + 1]
mov dword [rsp + 0x68], ecx
mov dword [r15 + 0x34], eax
mov dword [rbp + 8], ecx
movzx eax, byte [r15 + 0x1f]
test al, al
je 0x140247fd2
sub eax, 1
mov byte [r15 + 0x1f], al
movzx eax, al
mov eax, dword [r15 + rax*4 + 0xe8]
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0x20], edi
mov r9d, dword [rsp + 0xc0]
mov edx, 0x79
mov rcx, r13
mov r8d, dword [rsp + 0x68]
call sym.sqlite3VdbeAddOp3
mov r9d, dword [rsp + 0x98]
mov r8d, dword [rbp + 4]
mov rcx, r13
mov edx, 0x22
call sym.sqlite3VdbeAddOp3.constprop.0
mov byte [rbp + 1], 1
mov dword [rsp + 0x70], 1
cmp qword [r15 + 0x60], 0
je 0x140246d4c
lea rdi, [rsp + 0x140]
xor eax, eax
mov ecx, 0xc
mov qword [rsp + 0x90], rdi
rep stosd dword [rdi], eax
lea rax, [sym.aggregateIdxEprRefToColCallback]
mov qword [rsp + 0x148], rax
mov ecx, dword [rbp + 0x30]
test ecx, ecx
jle 0x140246d4c
xor edi, edi
jmp 0x140246d30
mov rcx, qword [rsp + 0x90]
add rdi, 1
call sym.sqlite3WalkExprNN
mov ecx, dword [rbp + 0x30]
cmp ecx, edi
jle 0x140246d4c
mov rax, qword [rbp + 0x28]
mov rdx, rdi
shl rdx, 5
mov rdx, qword [rax + rdx]
test rdx, rdx
jne 0x140246d18
add rdi, 1
cmp ecx, edi
jg 0x140246d34
mov r9d, dword [rsp + 0xa8]
test r9d, r9d
je 0x14024772c
test byte [r14 + 0x60], 4
jne 0x14024772c
cmp dword [rsp + 0x70], 0
jne 0x140247711
mov rax, qword [rsp + 0xb8]
test byte [rax + 0x44], 8
jne 0x140247711
mov eax, dword [r13 + 0x90]
mov dword [rsp + 0x90], eax
mov eax, dword [rbx]
xor edi, edi
test eax, eax
jle 0x140246de8
mov qword [rsp + 0x248], r12
mov r12, r15
mov r15, qword [rsp + 0x248]
mov qword [rsp + 0x60], rsi
mov esi, dword [rsp + 0xc8]
mov rax, rdi
mov byte [rbp], 1
lea r8d, [rsi + rdi]
mov rcx, r12
shl rax, 5
add rdi, 1
mov rdx, qword [rbx + rax + 8]
call sym.sqlite3ExprCode
mov eax, dword [rbx]
cmp eax, edi
jg 0x140246dba
mov rsi, qword [rsp + 0x60]
xchg r15, r12
mov rdi, qword [rsp + 0xe0]
test rdi, rdi
je 0x140246df8
add dword [rdi], 1
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0xc8]
mov edx, 0x5a
mov rcx, r13
mov r8d, dword [rsp + 0xe8]
call sym.sqlite3VdbeAddOp3
mov r8, qword [rsp + 0xe0]
mov r9d, 0xfffffff8
mov rcx, r13
mov edx, eax
call sym.sqlite3VdbeChangeP4
xor r9d, r9d
mov edx, 0xe
mov rcx, r13
mov edi, dword [r13 + 0x90]
lea r8d, [rdi + 1]
mov dword [rsp + 0x20], r8d
call sym.sqlite3VdbeAddOp3
mov eax, dword [rbx]
mov rcx, qword [r15 + 0x10]
mov edx, 0x4f
mov r9d, dword [rsp + 0xe8]
mov r8d, dword [rsp + 0xc8]
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov r9d, dword [rsp + 0xf0]
mov edx, 0xa
mov rcx, r13
mov r8d, dword [rsp + 0xb0]
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9d, dword [rsp + 0x98]
mov edx, 0x3b
mov rcx, r13
mov r8d, dword [rsp + 0xf8]
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9d, dword [rsp + 0xec]
mov edx, 0xa
mov rcx, r13
mov r8d, dword [rsp + 0xdc]
call sym.sqlite3VdbeAddOp3.constprop.0
mov rcx, qword [r13]
mov edx, dword [r13 + 0x90]
lea rax, [0x1402ba140]
cmp byte [rcx + 0x67], 0
jne 0x140246ef2
movsxd rax, edi
imul rax, rax, 0x18
add rax, qword [r13 + 0x88]
mov dword [rax + 8], edx
mov edi, dword [rsp + 0xd0]
mov r8, rbp
mov rcx, r15
mov r9d, dword [rsp + 0xf4]
mov edx, edi
call sym.updateAccumulator
mov rcx, r13
mov r9d, edi
mov edx, 0x47
mov r8d, 1
call sym.sqlite3VdbeAddOp3.constprop.0
mov ecx, dword [rsp + 0x70]
test ecx, ecx
je 0x140247da3
mov r9d, dword [rsp + 0x90]
mov r8d, dword [rbp + 4]
mov edx, 0x25
mov rcx, r13
call sym.sqlite3VdbeAddOp3.constprop.0
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x140246f64
mov rdx, rax
mov rcx, r14
call sym.exprListDeleteNN
mov ebx, dword [rsp + 0xb0]
mov r9d, dword [rsp + 0xf0]
mov edx, 0xa
mov rcx, r13
mov r8d, ebx
call sym.sqlite3VdbeAddOp3.constprop.0
xor r8d, r8d
mov edx, 9
mov rcx, r13
mov r9d, dword [rsp + 0x98]
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9d, dword [rsp + 0xf8]
mov edx, 0x47
mov rcx, r13
mov r8d, 1
mov edi, dword [r13 + 0x90]
call sym.sqlite3VdbeAddOp3.constprop.0
xor r9d, r9d
mov r8d, ebx
mov edx, 0x43
mov rcx, r13
mov dword [rsp + 0xb0], ebx
call sym.sqlite3VdbeAddOp3.constprop.0
mov edx, dword [rsp + 0xf0]
mov rcx, r13
call sym.sqlite3VdbeResolveLabel
mov ebx, dword [r13 + 0x90]
mov edx, 0x3b
mov rcx, r13
mov r8d, dword [rsp + 0xd0]
lea r9d, [rbx + 2]
add ebx, 1
call sym.sqlite3VdbeAddOp3.constprop.0
xor r9d, r9d
mov edx, 0x43
mov rcx, r13
mov r8d, dword [rsp + 0xb0]
call sym.sqlite3VdbeAddOp3.constprop.0
mov rdx, rbp
mov rcx, r15
call sym.finalizeAggFunctions
mov rdx, qword [rsp + 0x88]
mov r8d, ebx
mov rcx, r15
mov r9d, 0x10
call sym.sqlite3ExprIfFalse
mov dword [rsp + 0x38], edi
mov rdx, r12
mov rcx, r15
mov rax, qword [rsp + 0x250]
mov dword [rsp + 0x30], ebx
lea r9, [rsp + 0x110]
mov r8d, 0xffffffff
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x104]
mov qword [rsp + 0x20], rax
call sym.selectInnerLoop
xor r9d, r9d
mov edx, 0x43
mov rcx, r13
mov r8d, dword [rsp + 0xb0]
call sym.sqlite3VdbeAddOp3.constprop.0
mov edx, dword [rsp + 0xec]
mov rcx, r13
call sym.sqlite3VdbeResolveLabel
mov rdx, rbp
mov rcx, r15
call sym.resetAccumulator
xor r8d, r8d
mov edx, 0x47
mov rcx, r13
mov r9d, dword [rsp + 0xd0]
call sym.sqlite3VdbeAddOp3.constprop.0
xor r9d, r9d
mov edx, 0x43
mov rcx, r13
mov r8d, dword [rsp + 0xdc]
call sym.sqlite3VdbeAddOp3.constprop.0
cmp word [rsp + 0x78], 0
je 0x140247108
mov eax, dword [rsp + 0xf4]
test eax, eax
je 0x140247108
cmp dword [r15 + 0x30], 0
jne 0x140247108
sub eax, 1
cmp eax, 1
jbe 0x14024803a
mov edx, dword [rsp + 0x98]
mov rcx, r13
call sym.sqlite3VdbeResolveLabel
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x80], rax
jmp 0x140246076
mov eax, dword [r15 + 0x34]
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
mov qword [rsp + 0x68], r11
lea edx, [rax + 1]
mov dword [rsp + 0x108], eax
mov dword [r15 + 0x34], edx
mov rdx, qword [r12 + 0x20]
call sym.sqlite3KeyInfoFromExprList
xor r9d, r9d
mov edx, 0x76
mov rcx, r13
mov r8d, dword [rsp + 0x108]
mov rdi, rax
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9d, 0xfffffff8
mov r8, rdi
mov rcx, r13
mov edx, eax
mov ebp, eax
call sym.sqlite3VdbeChangeP4
movsxd rax, dword [r13 + 0x90]
mov r11, qword [rsp + 0x68]
mov dword [rsp + 0x10c], ebp
test eax, eax
jle 0x1402471b5
mov rdi, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov ebp, 8
lea rax, [rdi + rax*8]
mov word [rax - 0x16], bp
mov byte [rsp + 0x105], 3
jmp 0x1402456e9
mov r14d, dword [rsp + 0x68]
cmp r14d, ecx
jg 0x1402471e4
jmp 0x1402450cf
add ecx, 1
cmp r14d, ecx
je 0x1402450cf
test r9, r9
js 0x1402471d8
movsxd r10, ecx
mov rax, r11
shl r10, 5
nop dword [rax + rax]
mov rdx, qword [rax + 0x20]
add rdx, r10
mov rdx, qword [rdx + 8]
cmp byte [rdx], 0x79
je 0x140247228
mov byte [rdx], 0x79
and dword [rdx + 4], 0xfff7dfff
or dword [rax + 4], 0x1000000
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x1402471f8
jmp 0x1402471d8
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x1402471f8
jmp 0x1402471d8
test rbx, rbx
jne 0x140246392
mov dword [rsp + 0xa8], 0
xor eax, eax
mov word [r12 + 2], ax
jmp 0x140246426
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf
mov rcx, r13
mov dword [rsp + 0x98], r10d
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9, r14
mov edx, 1
mov rcx, r15
mov dword [rsp + 0x90], eax
mov eax, dword [rsi + 0x4c]
lea r8, str.MATERIALIZE___S
mov byte [rsp + 0x170], 0xc
mov dword [rsp + 0x174], eax
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x178], 0
mov dword [rsp + 0x180], 0
call sym.sqlite3VdbeExplain
mov r8, qword [rsp + 0x70]
mov rdx, rbp
mov rcx, r15
call sym.sqlite3Select
mov rax, qword [rsi + 0x28]
movsxd r11, dword [rsp + 0x90]
movzx edx, word [rbp + 2]
mov r10d, dword [rsp + 0x98]
test r11d, r11d
mov word [rax + 0x3a], dx
je 0x1402461b6
mov rcx, qword [r13]
mov edx, dword [r13 + 0x90]
lea rax, [0x1402ba140]
cmp byte [rcx + 0x67], 0
jne 0x14024731e
mov rax, qword [r13 + 0x88]
lea rcx, [r11 + r11*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x1402461b6
mov qword [rsp + 0x110], 0
mov edx, dword [rsp + 0x128]
test edx, edx
js 0x140245f9d
mov rcx, r13
call sym.sqlite3VdbeChangeToNoop.isra.0
jmp 0x140245f9d
mov r9d, dword [rsi]
mov r8d, dword [rax + 4]
mov edx, 0x76
mov rcx, r13
mov qword [rsp + 0x58], r11
call sym.sqlite3VdbeAddOp3.constprop.0
mov eax, dword [r12 + 4]
mov r11, qword [rsp + 0x58]
test ah, 8
mov edx, eax
je 0x140245651
mov ecx, dword [rsi]
lea ebp, [rcx - 1]
test ebp, ebp
jle 0x1402473f6
movsxd rdi, ecx
mov rax, rsi
shl rdi, 5
add rdi, rsi
mov rsi, rbx
mov rbx, r14
mov r14, rax
nop dword [rax + rax]
movsxd rax, ebp
shl rax, 5
test byte [r14 + rax + 0x1c], 0x40
jne 0x1402473de
mov rdx, qword [rdi - 0x18]
test rdx, rdx
je 0x1402473c0
mov rcx, rbx
call sym.sqlite3ExprDeleteNN
mov rdx, qword [rdi - 0x10]
test rdx, rdx
je 0x140247433
mov rcx, rbx
sub rdi, 0x20
call sym.sqlite3DbFreeNN
sub dword [r14], 1
sub ebp, 1
jne 0x1402473a0
mov rax, r14
mov r14, rbx
mov rbx, rsi
mov r11, qword [rsp + 0x58]
mov rsi, rax
mov eax, dword [r12 + 4]
mov ecx, dword [rsi]
mov edx, eax
movsxd r8, ecx
xor eax, eax
test ecx, ecx
jle 0x140245651
nop dword [rax]
movsxd rcx, eax
shl rcx, 5
test byte [rsi + rcx + 0x1c], 0x40
jne 0x140247425
mov rcx, rax
shl rcx, 5
mov rcx, qword [rsi + rcx + 8]
mov byte [rcx], 0x79
add rax, 1
cmp r8, rax
jne 0x140247408
jmp 0x140245651
sub dword [r14], 1
sub rdi, 0x20
sub ebp, 1
jne 0x1402473a0
jmp 0x1402473de
mov rcx, qword [rsp + 0x110]
mov r8d, 0xffffffff
mov rdx, rsi
mov qword [rsp + 0x58], r11
call sym.sqlite3ExprListCompare
mov r11, qword [rsp + 0x58]
test eax, eax
jne 0x1402455c1
cmp qword [r12 + 0x70], 0
jne 0x1402455c1
and dword [r12 + 4], 0xfffffffe
xor r8d, r8d
mov rdx, rsi
mov rcx, r14
call sym.sqlite3ExprListDup
or dword [r12 + 4], 8
mov r11, qword [rsp + 0x58]
mov qword [r12 + 0x38], rax
mov rbx, rax
mov byte [rsp + 0x104], 2
jmp 0x1402455c1
mov rdx, qword [rax + 8]
mov eax, dword [rsp + 0x68]
mov rcx, r15
mov qword [rsp + 0x90], r9
mov dword [rsp + 0x70], r10d
lea r8d, [rax + r10]
call sym.sqlite3ExprCode
mov r9, qword [rsp + 0x90]
mov r10d, dword [rsp + 0x70]
mov ecx, dword [rbp + 0x20]
add r9, 1
add r10d, 1
cmp ecx, r9d
jg 0x140246ba1
jmp 0x140246bc3
test rdi, rdi
je 0x1402449d0
mov rcx, qword [rsp + 0x58]
mov r8d, 1
mov rdx, rdi
call sym.clearSelect
jmp 0x1402449d0
cmp qword [rax + 0x308], 0
jne 0x140247529
test r11, r11
jne 0x140247ea5
movsxd rax, dword [rbp + 0x90]
jmp 0x140245a14
mov eax, dword [r14 + 0x60]
mov r11, rsi
jmp 0x140244e7c
mov eax, dword [rbp + 0x34]
mov r8d, 0xffffffff
mov rdx, r12
mov rcx, r15
lea r9, [rsp + 0x110]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x30]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x104]
mov qword [rsp + 0x20], rax
call sym.selectInnerLoop
mov rcx, rbp
call sym.sqlite3WhereEnd
mov qword [rsp + 0x80], 0
jmp 0x140246076
mov rax, qword [r12 + 0x48]
test rax, rax
je 0x140247e88
cmp qword [r14 + 0x48], 0
jne 0x140244453
jmp 0x140244b75
lea r9, str.DISTINCT
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, r15
call sym.sqlite3VdbeExplain
jmp 0x140246084
mov rdx, qword [r12 + 0x48]
mov rcx, qword [rsp + 0x90]
lea rax, [sym.disallowAggregatesInOrderByCb]
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x148], rax
call sym.sqlite3WalkExprList
mov eax, dword [r12 + 4]
jmp 0x1402445af
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x140247625
mov rdx, rax
mov rcx, r14
call sym.exprListDeleteNN
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x80], rax
mov eax, 1
jmp 0x1402460c9
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x47
mov rcx, rbp
call sym.growOp3
jmp 0x140245a60
mov dword [rsp + 0x20], 0
mov r9d, 2
mov edx, 0x76
mov rcx, rbp
mov qword [rsp + 0x78], r11
call sym.growOp3
mov r11, qword [rsp + 0x78]
jmp 0x1402459e4
test ecx, ecx
jle 0x1402476b4
sub ecx, 1
mov eax, 0x18
shl rcx, 5
add rcx, 0x38
nop word [rax + rax]
movzx edx, byte [r9 + rax]
and edx, 1
mov byte [rbx + rax], dl
add rax, 0x20
cmp rcx, rax
jne 0x1402476a0
mov r8d, 0xffffffff
mov rdx, r9
mov rcx, rbx
mov qword [rsp + 0x68], r11
call sym.sqlite3ExprListCompare
mov r11, qword [rsp + 0x68]
test eax, eax
sete al
movzx eax, al
mov dword [rsp + 0xa8], eax
jmp 0x140246426
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x1402449f8
mov rax, qword [rax + 0x160]
test rax, rax
je 0x1402449f8
add dword [rax + 0x30], 1
mov dword [rax + 0x18], 7
jmp 0x1402449f8
mov edx, dword [rsp + 0x128]
mov rcx, r13
mov qword [rsp + 0x110], 0
call sym.sqlite3VdbeChangeToNoop.isra.0
mov eax, dword [r13 + 0x90]
mov r8d, dword [rsp + 0x70]
mov dword [rsp + 0x90], eax
test r8d, r8d
je 0x140246d93
mov eax, dword [rsp + 0x68]
mov r8d, dword [rbp + 4]
mov edx, 0x85
mov rcx, r13
mov r9d, dword [rsp + 0xc0]
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov eax, dword [rbx]
test eax, eax
jle 0x140246de8
mov qword [rsp + 0x248], r12
mov edi, dword [rsp + 0x68]
mov r12, r13
mov qword [rsp + 0x68], rsi
mov r13, qword [rsp + 0x248]
mov qword [rsp + 0xa8], rbp
mov esi, dword [rsp + 0xc8]
mov ebp, dword [rsp + 0x60]
lea eax, [rsi + rbp]
mov r9d, ebp
mov r8d, edi
mov edx, 0x5e
mov dword [rsp + 0x20], eax
mov rcx, r12
add ebp, 1
call sym.sqlite3VdbeAddOp3
mov eax, dword [rbx]
cmp eax, ebp
jg 0x1402477a2
mov qword [rsp + 0x248], r13
mov rsi, qword [rsp + 0x68]
mov r13, r12
mov rbp, qword [rsp + 0xa8]
mov r12, qword [rsp + 0x248]
jmp 0x140246de8
xor eax, eax
mov qword [rbp + 0x10], 0
mov rdx, rsi
mov rcx, rdi
mov word [rbp + 2], ax
call sym.sqlite3ExprAnalyzeAggList
mov rdx, qword [rsp + 0x110]
mov rcx, rdi
call sym.sqlite3ExprAnalyzeAggList
mov r11, qword [rsp + 0x90]
cmp qword [rsp + 0x88], 0
je 0x140246629
lea rax, [rsp + 0x140]
mov qword [rsp + 0x90], rax
jmp 0x1402465ad
mov rax, qword [r12 + 0x40]
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x140247ef1
mov qword [rsp + 0xa0], 0
jmp 0x140246647
mov r9d, eax
mov edx, 0x73
mov rcx, rbp
mov qword [rsp + 0x68], r11
mov dword [rsp + 0x20], 0
call sym.growOp3
mov r11, qword [rsp + 0x68]
jmp 0x140245874
mov rcx, rbp
mov r9d, eax
mov edx, 0x73
mov qword [rsp + 0x68], r11
mov dword [rsp + 0x20], 0
call sym.growOp3
mov eax, dword [rdi + 0x58]
mov ecx, dword [rbp + 0x90]
mov r10d, dword [rbp + 0x94]
mov r11, qword [rsp + 0x68]
jmp 0x1402457ec
mov edx, 0x76
mov r9d, ebx
mov r8d, eax
mov rcx, rbp
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x68], r11
call sym.growOp3
mov eax, dword [rdi + 0x58]
mov edx, dword [rbp + 0x90]
mov r10d, dword [rbp + 0x94]
mov r11, qword [rsp + 0x68]
jmp 0x1402457a8
mov edx, 0x73
mov r9d, eax
mov rcx, rbp
mov qword [rsp + 0x68], r11
mov dword [rsp + 0x20], 0
call sym.growOp3
mov eax, dword [rdi + 0x58]
mov edx, dword [rbp + 0x90]
mov r10d, dword [rbp + 0x94]
mov r11, qword [rsp + 0x68]
jmp 0x140245830
mov rcx, qword [rsp + 0x58]
lea r8, [0x140331df7]
mov edx, 0x9b
call sym.sqlite3Expr
mov rcx, qword [r15]
mov rdx, rax
call sym.sqlite3ExprListAppendNew
mov r10, rax
jmp 0x140244868
mov eax, dword [r15 + 0x38]
mov r8d, 1
mov rcx, rbp
lea r9d, [rax + 1]
add eax, 2
mov dword [rdi + 0x84], r9d
mov dword [r15 + 0x38], eax
mov dword [rdi + 0x88], eax
mov eax, dword [r15 + 0x34]
lea edx, [rax + 1]
mov dword [r15 + 0x34], edx
mov edx, 0x47
mov dword [rdi + 0x64], eax
call sym.sqlite3VdbeAddOp3.constprop.0
xor r8d, r8d
mov edx, 0x47
mov rcx, rbp
mov r9d, dword [rdi + 0x88]
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9d, dword [rdi + 0x58]
mov r8d, dword [rdi + 0x64]
mov rcx, rbp
mov edx, 0x73
call sym.sqlite3VdbeAddOp3.constprop.0
mov r11, qword [rsp + 0x68]
jmp 0x140245ec5
mov dword [rsp + 0x20], 0
mov r8d, 1
mov edx, 0x47
mov rcx, rbp
mov qword [rsp + 0x68], r11
call sym.growOp3
mov r11, qword [rsp + 0x68]
jmp 0x140245912
imul rdx, rdx, 0x70
mov edx, dword [rbp + rdx + 0x370]
jmp 0x140245f8d
cmp qword [r12 + 0x30], 0
jne 0x1402481f1
mov rcx, qword [r12 + 0x20]
cmp dword [rcx], 1
jne 0x1402481f1
mov rax, qword [r12 + 0x28]
cmp dword [rax], 1
jne 0x1402481f1
cmp qword [rax + 0x30], 0
jne 0x1402481f1
cmp edx, 1
jne 0x14024817f
mov rdi, qword [r12 + 0x40]
test rdi, rdi
jne 0x140248083
mov rax, qword [rax + 0x28]
cmp byte [rax + 0x3f], 0
mov qword [rsp + 0x68], rax
jne 0x140248083
mov rcx, qword [rcx + 8]
cmp byte [rcx], 0xa8
jne 0x140248083
cmp rbp, qword [rcx + 0x38]
mov rax, qword [rbp + 0x28]
jne 0x140248087
mov r8, qword [rax + 8]
test byte [r8 + 5], 1
je 0x140248087
test dword [rcx + 4], 0x1000004
jne 0x140248087
mov rax, qword [rsp + 0x68]
mov rcx, qword [r15]
mov rdx, qword [rax + 0x60]
test rdx, rdx
je 0x1402482d1
call sym.sqlite3SchemaToIndex.part.0
mov r10d, eax
mov eax, dword [r15 + 0x34]
mov edx, r10d
mov rcx, r15
mov dword [rsp + 0x70], r10d
mov dword [rsp + 0x60], eax
add eax, 1
mov dword [r15 + 0x34], eax
mov rax, qword [rsp + 0x68]
mov ebx, dword [rax + 0x28]
call sym.sqlite3CodeVerifySchema
mov rax, qword [rsp + 0x68]
xor r9d, r9d
mov rcx, r15
mov r10d, dword [rsp + 0x70]
mov r8d, dword [rax + 0x28]
mov rax, qword [rax]
mov edx, r10d
mov qword [rsp + 0x20], rax
call sym.sqlite3TableLock
mov rax, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x70]
test byte [rax + 0x30], 0x80
je 0x140247c69
mov rcx, qword [rax + 0x10]
mov rax, rcx
mov rdi, rcx
test rcx, rcx
jne 0x140247b3d
jmp 0x140247cb4
mov rdi, qword [rdi + 0x28]
test rdi, rdi
je 0x1402482a2
movzx edx, byte [rdi + 0x64]
and edx, 3
cmp dl, 2
jne 0x140247b30
mov rdx, qword [r12 + 0x28]
test byte [rdx + 0x48], 1
je 0x140247c82
mov r9d, dword [rdi + 0x58]
mov rdx, rdi
mov rcx, r15
mov dword [rsp + 0x78], r10d
mov dword [rsp + 0x70], r9d
call sym.sqlite3KeyInfoOfIndex
mov r10d, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x70]
mov rcx, r13
mov dword [rsp + 0x28], 1
mov r8d, dword [rsp + 0x60]
mov rbx, rax
mov edx, 0x70
mov dword [rsp + 0x20], r10d
call sym.sqlite3VdbeAddOp4Int
test rbx, rbx
je 0x140247bb6
mov r9d, 0xfffffff8
mov r8, rbx
or edx, 0xffffffff
mov rcx, r13
call sym.sqlite3VdbeChangeP4
mov r9d, dword [rbp + 0x20]
mov eax, dword [rbp + 0x30]
mov ecx, dword [r15 + 0x38]
mov ebx, dword [rsp + 0x60]
add eax, r9d
lea edx, [rcx + 1]
add eax, ecx
mov r8d, ebx
mov rcx, r13
mov dword [rbp + 0xc], edx
add r9d, edx
mov edx, 0x62
mov dword [r15 + 0x38], eax
call sym.sqlite3VdbeAddOp3.constprop.0
xor r9d, r9d
mov r8d, ebx
mov edx, 0x7a
mov rcx, r13
call sym.sqlite3VdbeAddOp3.constprop.0
cmp byte [r15 + 0x133], 2
je 0x140248011
mov edi, dword [rsp + 0x98]
mov rcx, r15
mov rdx, qword [rsp + 0x88]
mov r9d, 0x10
mov qword [rsp + 0x110], 0
mov r8d, edi
call sym.sqlite3ExprIfFalse
mov dword [rsp + 0x38], edi
xor r9d, r9d
or r8d, 0xffffffff
mov rax, qword [rsp + 0x250]
mov dword [rsp + 0x30], edi
mov rdx, r12
mov rcx, r15
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], rax
call sym.selectInnerLoop
jmp 0x140247108
mov rax, qword [r12 + 0x28]
test byte [rax + 0x48], 1
jne 0x140247cb4
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140247cb4
test byte [rax + 0x64], 4
jne 0x140247ca2
mov rcx, qword [rsp + 0x68]
movzx edx, word [rax + 0x5c]
cmp dx, word [rcx + 0x3c]
jge 0x140247ca2
cmp qword [rax + 0x48], 0
je 0x140247ffa
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140247c82
test rdi, rdi
jne 0x140247b58
mov edi, dword [rsp + 0x60]
mov dword [rsp + 0x20], r10d
mov r9d, ebx
mov rcx, r13
mov dword [rsp + 0x28], 1
mov edx, 0x70
mov r8d, edi
call sym.sqlite3VdbeAddOp4Int
mov r9d, dword [rbp + 0x20]
mov eax, dword [rbp + 0x30]
mov r8d, edi
mov ecx, dword [r15 + 0x38]
add eax, r9d
lea edx, [rcx + 1]
add eax, ecx
mov rcx, r13
mov dword [rbp + 0xc], edx
add r9d, edx
mov edx, 0x62
mov dword [r15 + 0x38], eax
call sym.sqlite3VdbeAddOp3.constprop.0
xor r9d, r9d
mov r8d, edi
mov edx, 0x7a
mov rcx, r13
call sym.sqlite3VdbeAddOp3.constprop.0
cmp byte [r15 + 0x133], 2
jne 0x140247c08
lea rax, [0x140330c0e]
mov rdx, rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x68]
lea r8, str.SCAN__s_s_s
mov rcx, r15
mov qword [rsp + 0x20], rdx
xor edx, edx
mov r9, qword [rax]
call sym.sqlite3VdbeExplain
jmp 0x140247c08
mov dword [rcx], eax
or r8d, 0xffffffff
mov dword [rsp + 0x68], r9d
call sym.sqlite3ExprListCompare
mov r9d, dword [rsp + 0x68]
test eax, eax
jne 0x140247d93
mov rdx, qword [r12 + 0x48]
test rdx, rdx
je 0x140247d8a
mov rcx, qword [rsp + 0x58]
call sym.exprListDeleteNN
mov r9d, dword [rsp + 0x68]
mov qword [r12 + 0x48], 0
mov rax, qword [rsp + 0x88]
mov dword [rax], r9d
jmp 0x14024461d
mov rcx, qword [rsp + 0xb8]
call sym.sqlite3WhereEnd
mov edx, dword [rsp + 0xfc]
mov rcx, r13
call sym.sqlite3VdbeChangeToNoop.isra.0
jmp 0x140246f4c
mov rax, qword [rbp + 0x28]
cmp dword [rax + 0x10], 0
js 0x140246684
mov rax, qword [rax]
test rax, rax
je 0x14024805b
test byte [rax + 5], 0x10
jne 0x140246684
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x80], rax
test rax, rax
je 0x140246684
mov rdi, qword [rax + 8]
test rdi, rdi
je 0x140247e1e
mov rdx, rdi
mov rcx, r14
mov qword [rsp + 0x78], r11
call sym.exprDup.constprop.0
mov r11, qword [rsp + 0x78]
mov rdi, rax
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
mov qword [rsp + 0x90], r11
call sym.sqlite3ExprListDup
mov r8, rdi
mov rcx, r15
mov rdx, rax
call sym.sqlite3ExprListAppend
mov r11, qword [rsp + 0x90]
cmp rax, 1
mov qword [rsp + 0x80], rax
sbb edi, edi
and di, 0xfb00
add di, 0x540
cmp rax, 1
sbb r10d, r10d
not r10d
and r10w, 0x500
cmp rax, 1
sbb eax, eax
not eax
and ax, 0x500
mov word [rsp + 0x78], ax
jmp 0x140246693
cmp dword [rsp + 0x78], 0
je 0x140244b75
mov rax, qword [r14 + 0x48]
test rax, rax
jne 0x140244453
jmp 0x140244b75
sub dword [r11], 1
jne 0x140247529
mov rcx, qword [r11 + 0x10]
mov rdx, r11
call sym.sqlite3DbNNFreeNN
jmp 0x140247529
mov dword [rsp + 0xc0], 0
mov dword [rsp + 0x68], 0
mov dword [rsp + 0x70], 0
jmp 0x140246cde
mov eax, dword [r15 + 0x38]
lea r10d, [rax + 1]
mov dword [r15 + 0x38], r10d
jmp 0x140246be6
cmp dword [rbp + 0x30], 1
jne 0x140246647
mov rax, qword [rbp + 0x28]
mov rax, qword [rax]
mov r9, qword [rax + 0x20]
test r9, r9
je 0x140246647
mov edi, dword [r9]
cmp edi, 1
jne 0x140246647
test byte [rax + 7], 1
jne 0x140246647
test byte [r14 + 0x62], 1
jne 0x140246647
mov r10, qword [rax + 8]
xor edx, edx
lea rcx, [0x140344560]
jmp 0x140247f52
movzx r8d, byte [rcx + r8]
cmp byte [rcx + rax], r8b
jne 0x140248b12
add rdx, 1
lea r8, [0x14033524d]
movzx eax, byte [r10 + rdx]
movzx r8d, byte [r8 + rdx]
cmp eax, r8d
jne 0x140247f3f
test eax, eax
jne 0x140247f4e
mov rcx, qword [r9 + 8]
call sym.sqlite3ExprCanBeNull
movzx ecx, byte [rsp + 0x78]
test eax, eax
mov eax, 2
cmovne ecx, eax
mov byte [rsp + 0x78], cl
xor r8d, r8d
mov rdx, r9
mov rcx, r14
mov qword [rsp + 0x90], r11
call sym.sqlite3ExprListDup
mov r11, qword [rsp + 0x90]
test rax, rax
mov qword [rsp + 0xa0], rax
je 0x140247fbb
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0x18], cl
mov byte [rsp + 0x78], dil
jmp 0x140246647
mov dword [rsp + 0x70], 0
jmp 0x140244bca
mov eax, dword [r15 + 0x38]
add eax, 1
mov dword [rsp + 0xc0], eax
mov dword [r15 + 0x38], eax
jmp 0x140246c9b
mov edx, dword [rsp + 0x68]
mov rcx, r15
call sym.sqlite3ReleaseTempRange.part.0
jmp 0x140246c56
test rdi, rdi
je 0x140248009
cmp dx, word [rdi + 0x5c]
jge 0x140247ca2
mov rdi, rax
jmp 0x140247ca2
mov rax, qword [rsp + 0x68]
test byte [rax + 0x30], 0x80
je 0x14024802b
movzx eax, byte [rdi + 0x64]
and eax, 3
cmp al, 2
je 0x140247d26
mov rax, qword [rdi]
lea rdx, str._USING_COVERING_INDEX
jmp 0x140247d30
mov rax, qword [rbp + 0x28]
mov rcx, qword [r15 + 0x10]
mov edx, dword [rsp + 0xf4]
mov r9d, dword [rax + 0x14]
mov r8d, dword [rax + 0x10]
call sym.fixDistinctOpenEph.part.0.isra.0
jmp 0x140247108
mov word [rsp + 0x78], 0
mov edi, 0x40
xor r10d, r10d
mov qword [rsp + 0x80], 0
jmp 0x140246693
mov edi, r10d
jmp 0x140246b65
mov rax, qword [rbp + 0x28]
cmp dword [rbp + 0x24], 0
jne 0x140248191
xor edi, edi
cmp dword [rax + 0x10], 0
js 0x1402480ad
mov rax, qword [rax]
mov rbx, qword [rax + 0x20]
cmp rbx, 1
sbb edi, edi
not edi
and di, 0x500
mov ecx, dword [r15 + 0x38]
mov qword [rsp + 0x68], r11
lea eax, [rcx + 1]
mov dword [rbp + 0xc], eax
mov eax, dword [rbp + 0x20]
add eax, edx
mov rdx, rbp
add eax, ecx
mov rcx, r15
mov dword [r15 + 0x38], eax
call sym.resetAccumulator
movzx eax, byte [rsp + 0x78]
mov rcx, r15
mov qword [rsp + 0x20], rbx
mov r11, qword [rsp + 0x68]
mov dword [rsp + 0x38], 0
or eax, edi
mov qword [rsp + 0x28], r12
mov r8, qword [rsp + 0x70]
movzx eax, ax
mov r9, qword [rsp + 0xa0]
mov rdx, r11
mov dword [rsp + 0x30], eax
call sym.sqlite3WhereBegin
mov rbx, rax
test rax, rax
je 0x140247625
movzx edi, byte [rax + 0x43]
mov edx, dword [rsp + 0x60]
mov r8, rbp
mov rcx, r15
mov r9d, edi
call sym.updateAccumulator
test edi, edi
je 0x140248151
mov rax, qword [rbp + 0x28]
test rax, rax
je 0x140248151
cmp dword [r15 + 0x30], 0
jne 0x140248151
lea edx, [rdi - 1]
cmp edx, 1
jbe 0x1402482b9
cmp dword [rsp + 0x60], 0
jne 0x140248285
cmp byte [rsp + 0x78], 0
jne 0x14024820f
mov rcx, rbx
call sym.sqlite3WhereEnd
mov rdx, rbp
mov rcx, r15
call sym.finalizeAggFunctions
jmp 0x140247c08
cmp dword [rbp + 0x24], 0
je 0x140248200
test edx, edx
jle 0x140248b02
mov rax, qword [rbp + 0x28]
xor ecx, ecx
mov r8, qword [rax]
test byte [r8 + 7], 1
jne 0x1402481a8
mov r8, qword [rax + 8]
test byte [r8 + 4], 0x20
jne 0x140248208
add ecx, 1
add rax, 0x20
cmp ecx, edx
jl 0x140248193
xor edi, edi
cmp edx, ecx
jne 0x1402480ad
mov eax, dword [r15 + 0x38]
mov edx, 0x47
xor r8d, r8d
mov rcx, r13
mov qword [rsp + 0x68], r11
add eax, 1
mov dword [r15 + 0x38], eax
mov r9d, eax
mov dword [rsp + 0x60], eax
call sym.sqlite3VdbeAddOp3.constprop.0
mov edx, dword [rbp + 0x30]
mov r11, qword [rsp + 0x68]
jmp 0x1402480ad
cmp dword [rbp + 0x24], 0
jne 0x140248185
cmp edx, 1
je 0x140248b09
mov dword [rsp + 0x60], 0
xor edi, edi
jmp 0x1402480ad
test byte [rbx + 0x44], 4
je 0x140248167
cmp byte [rbx + 0x41], 0
je 0x140248167
movzx eax, byte [rbx + 0x40]
sub eax, 1
cdqe
jmp 0x140248248
imul rcx, rax, 0x70
sub rax, 1
mov rcx, qword [rbx + rcx + 0x3c0]
test byte [rcx + 0x38], 4
jne 0x140248aab
mov edx, eax
cmp rax, 0xffffffffffffffff
jne 0x14024822e
mov r9d, dword [rbx + 0x34]
movsxd rax, dword [r13 + 0x90]
cmp eax, dword [r13 + 0x94]
jl 0x140248ace
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 9
mov rcx, r13
call sym.growOp3
jmp 0x140248167
mov r9d, dword [rsp + 0x60]
mov r8d, 1
mov edx, 0x47
mov rcx, r13
call sym.sqlite3VdbeAddOp3.constprop.0
jmp 0x14024815c
mov rax, qword [r12 + 0x28]
test byte [rax + 0x48], 1
jne 0x140247cb4
mov rax, rcx
jmp 0x140247c82
mov rcx, qword [r15 + 0x10]
mov r9d, dword [rax + 0x14]
mov edx, edi
mov r8d, dword [rax + 0x10]
call sym.fixDistinctOpenEph.part.0.isra.0
jmp 0x140248151
mov r10d, 0xffff8000
jmp 0x140247abc
cmp dword [rbp], 1
mov rbx, qword [rsp + 0xa8]
mov r10, rdi
jle 0x14024832c
cmp dword [r15 + 0x94], 0x1f4
jg 0x140248b7d
test byte [r13 + 0x62], 0x80
jne 0x140248b7d
movsxd rax, dword [r15 + 0x34]
mov rcx, r13
lea rdx, [rax*4 + 4]
call sym.sqlite3DbMallocZero
mov r10, rax
test rax, rax
je 0x14024832c
mov eax, dword [r15 + 0x34]
mov dword [r10], eax
imul rdi, rbx, 0x68
xor r9d, r9d
xor r8d, r8d
mov edx, 0x15
mov rcx, r15
mov qword [rsp + 0x98], r10
add rdi, rbp
mov rax, qword [rdi + 0x18]
mov qword [r15 + 0x178], rax
mov qword [rsp + 0x20], 0
call sym.sqlite3AuthCheck
mov rax, qword [rsp + 0x90]
mov rdx, qword [rdi + 0x10]
mov r10, qword [rsp + 0x98]
mov qword [r15 + 0x178], rax
mov rax, qword [rdi + 0x30]
test rdx, rdx
mov qword [rsp + 0x88], rax
je 0x1402483a6
mov rcx, r13
mov qword [rsp + 0x90], r10
call sym.sqlite3DbFreeNN
mov r10, qword [rsp + 0x90]
imul rax, rbx, 0x68
mov rdx, qword [rbp + rax + 0x18]
test rdx, rdx
je 0x1402483cc
mov rcx, r13
mov qword [rsp + 0x90], r10
call sym.sqlite3DbFreeNN
mov r10, qword [rsp + 0x90]
imul rax, rbx, 0x68
mov rdx, qword [rbp + rax + 0x20]
test rdx, rdx
je 0x1402483f2
mov rcx, r13
mov qword [rsp + 0x90], r10
call sym.sqlite3DbFreeNN
mov r10, qword [rsp + 0x90]
imul rax, rbx, 0x68
pxor xmm0, xmm0
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0xa0], rbx
movups xmmword [rbp + rax + 0x10], xmm0
add rax, rbp
mov ebp, esi
mov rsi, r10
mov qword [rax + 0x20], 0
mov qword [rax + 0x30], 0
mov rax, qword [r14 + 0x50]
mov qword [rsp + 0x90], rax
jmp 0x140248484
mov eax, dword [r15 + 0x94]
add eax, 1
mov dword [r15 + 0x94], eax
mov dword [r14 + 0x10], eax
test rsi, rsi
je 0x14024845a
cmp byte [r13 + 0x67], 0
je 0x140248539
mov qword [r14 + 0x50], rbx
test rbx, rbx
je 0x140248467
mov qword [rbx + 0x58], r14
mov qword [r14 + 0x58], r12
mov qword [r12 + 0x50], r14
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x90], rax
cmp qword [rsp + 0x90], 0
je 0x140248580
mov r11, qword [r12 + 0x60]
mov rax, qword [r12 + 0x48]
xor r8d, r8d
mov rdx, r12
imul rdi, qword [rsp + 0xa0], 0x68
add rdi, qword [rsp + 0x98]
pxor xmm0, xmm0
mov rcx, qword [rdi + 0x28]
mov rbx, qword [r12 + 0x50]
mov qword [rdi + 0x28], 0
mov qword [r12 + 0x60], 0
mov qword [rsp + 0xb0], rcx
mov rcx, r13
movups xmmword [r12 + 0x48], xmm0
mov qword [rsp + 0xb8], r11
mov qword [rsp + 0xa8], rax
call sym.sqlite3SelectDup
mov r11, qword [rsp + 0xb8]
mov byte [r12], 0x87
mov rcx, qword [rsp + 0xb0]
mov r14, rax
mov rax, qword [rsp + 0xa8]
mov qword [r12 + 0x60], r11
mov qword [r12 + 0x48], rax
mov qword [rdi + 0x28], rcx
test r14, r14
jne 0x140248435
mov qword [r12 + 0x50], rbx
jmp 0x140248470
mov r8, qword [r14 + 0x28]
mov rdx, rsi
mov rcx, r15
mov r9d, ebp
call sym.srclistRenumberCursors
xor eax, eax
mov ecx, 0xa
mov rdx, r14
lea r8, [rsp + 0x170]
mov rdi, r8
rep stosd dword [rdi], eax
mov rcx, r8
mov qword [rsp + 0x198], rsi
movups xmmword [rsp + 0x178], xmm8
call sym.sqlite3WalkSelect.part.0
jmp 0x14024845a
mov r10, rsi
mov rbx, qword [rsp + 0xa0]
mov esi, ebp
mov rbp, qword [rsp + 0x98]
test r10, r10
je 0x1402485a5
mov rdx, r10
mov rcx, r13
call sym.sqlite3DbFreeNN
cmp byte [r13 + 0x67], 0
jne 0x140248a76
imul rax, rbx, 0x68
mov r8, qword [rbp + rax + 0x28]
test r8, r8
je 0x1402485df
mov eax, dword [r8 + 0x2c]
cmp eax, 1
je 0x140248a8c
sub eax, 1
mov dword [r8 + 0x2c], eax
imul rax, rbx, 0x68
mov qword [rbp + rax + 0x28], 0
imul rax, rbx, 0x68
mov r11, qword [rsp + 0x88]
mov dword [rsp + 0xa0], 0xffffffff
mov r14, r12
mov qword [rsp + 0xd0], rbp
mov qword [rsp + 0x248], r12
mov qword [rsp + 0xc0], rax
add rax, 8
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0x170]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x90], r13
mov r13, rbp
mov qword [rsp + 0xb0], rbx
mov rbx, r11
imul rax, qword [rsp + 0xb0], 0x68
mov rbp, qword [rbx + 0x28]
mov byte [rsp + 0xb8], 0
mov r12d, dword [rbp]
movzx edx, byte [r13 + rax + 0x44]
mov r13, qword [r14 + 0x28]
and edx, 0x40
mov byte [rsp + 0x98], dl
cmp qword [rsp + 0x248], r14
je 0x140248a5d
cmp r12d, 1
jg 0x140248a34
jne 0x140248793
mov rax, qword [rsp + 0xc0]
xor r9d, r9d
add rbp, 8
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x240], r15
mov r15, r14
mov r14d, esi
mov esi, r9d
lea r8, [r13 + rax]
xor eax, eax
mov rbx, r8
lea edx, [rsi + r14]
movsxd rdx, edx
lea rcx, [rdx + rdx*2]
lea rdx, [rdx + rcx*4]
test byte [r13 + rdx*8 + 0x49], 4
je 0x1402486ef
mov rdx, qword [rbx + 0x50]
test rdx, rdx
je 0x1402486ef
mov rcx, qword [rsp + 0x90]
call sym.sqlite3IdListDelete.part.0
xor eax, eax
movdqu xmm4, xmmword [rbp]
movzx edi, byte [rsp + 0x98]
mov rcx, rbp
add esi, 1
movups xmmword [rbx + 8], xmm4
movdqu xmm5, xmmword [rbp + 0x10]
movups xmmword [rbx + 0x18], xmm5
movdqu xmm4, xmmword [rbp + 0x20]
movups xmmword [rbx + 0x28], xmm4
movdqu xmm2, xmmword [rbp + 0x30]
movups xmmword [rbx + 0x38], xmm2
movdqu xmm5, xmmword [rbp + 0x40]
movups xmmword [rbx + 0x48], xmm5
movdqu xmm3, xmmword [rbp + 0x50]
movups xmmword [rbx + 0x58], xmm3
mov rdx, qword [rbp + 0x60]
or byte [rbx + 0x44], dil
lea rdi, [rbp + 8]
add rbx, 0x68
add rbp, 0x68
and rdi, 0xfffffffffffffff8
mov qword [rbx], rdx
mov edx, dword [rbp - 0x24]
sub rcx, rdi
mov qword [rbp - 0x68], 0
add ecx, 0x68
mov qword [rbp - 8], 0
shr ecx, 3
rep stosq qword [rdi], rax
cmp r12d, esi
jg 0x1402486c0
mov rbx, qword [rsp + 0xa0]
mov dword [rsp + 0xa0], edx
mov esi, r14d
mov r14, r15
mov r15, qword [rsp + 0x240]
imul rcx, qword [rsp + 0xb0], 0x68
movzx edx, byte [rsp + 0x98]
or edx, dword [rsp + 0xb8]
add rcx, r13
movzx eax, byte [rcx + 0x44]
and eax, 0x40
or eax, edx
mov byte [rcx + 0x44], al
mov rax, qword [rbx + 0x48]
test rax, rax
je 0x1402487ce
test byte [r14 + 6], 0x40
je 0x1402489fd
cmp dword [rsp + 0x70], 1
mov rdi, qword [rbx + 0x30]
mov qword [rbx + 0x30], 0
je 0x1402489e3
test rdi, rdi
je 0x14024880b
mov r9, qword [r14 + 0x30]
test r9, r9
je 0x140248a2b
mov r8, rdi
mov edx, 0x2c
mov rcx, r15
call sym.sqlite3PExpr
mov qword [r14 + 0x30], rax
mov rax, qword [rsp + 0x90]
cmp byte [rax + 0x67], 0
je 0x140248976
mov eax, dword [rbx + 4]
and eax, 0x100
or dword [r14 + 4], eax
mov rax, qword [rbx + 0x60]
test rax, rax
je 0x14024883e
mov qword [r14 + 0x60], rax
mov qword [rbx + 0x60], 0
test r12d, r12d
jle 0x1402488d1
mov rax, qword [rsp + 0xc8]
lea rdi, [r13 + rax]
lea eax, [r12 - 1]
add rax, qword [rsp + 0xb0]
mov r12, qword [rsp + 0xa8]
imul rax, rax, 0x68
lea rbp, [r13 + rax + 0x70]
cmp qword [rdi + 0x20], 0
je 0x1402488c8
mov qword [r12], 0
mov rdx, r14
mov rcx, r12
mov qword [r12 + 8], 0
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], 0
mov qword [r12 + 0x20], 0
mov qword [rsp + 0x198], rdi
movups xmmword [rsp + 0x178], xmm6
mov qword [rdi + 0x50], 0
call sym.sqlite3WalkSelect.part.0
add rdi, 0x68
cmp rbp, rdi
jne 0x140248872
mov r14, qword [r14 + 0x50]
mov rbx, qword [rbx + 0x50]
test r14, r14
jne 0x140248643
lea rdx, [rsp + 0x188]
xor eax, eax
mov ecx, 6
cmp qword [rsp + 0x88], 0
mov rdi, rdx
mov r13, qword [rsp + 0x90]
mov r12, qword [rsp + 0x248]
rep stosd dword [rdi], eax
lea rax, [sym.agginfoPersistExprCb]
mov qword [rsp + 0x170], r15
movq xmm0, rax
punpcklqdq xmm0, xmm7
movups xmmword [rsp + 0x178], xmm0
je 0x14024895a
mov rdi, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa8]
mov rdx, rdi
call sym.sqlite3WalkSelect.part.0
mov r8d, 1
mov rdx, rdi
mov rcx, r13
call sym.clearSelect
mov r9d, dword [r15 + 0x30]
test r9d, r9d
jne 0x1402449f8
mov rbp, qword [r12 + 0x28]
mov esi, 0xffffffff
jmp 0x140244453
mov eax, dword [rsp + 0x70]
movdqu xmm0, xmm9
movd xmm4, dword [rsp + 0xa0]
mov qword [rsp + 0x170], r15
mov dword [rsp + 0x180], eax
mov rax, qword [rbx + 0x20]
punpckldq xmm0, xmm4
movq qword [rsp + 0x178], xmm0
mov qword [rsp + 0x188], rax
mov rax, rbx
mov rdx, rax
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x1402489b3
mov rax, qword [rdx + 0x20]
mov rcx, qword [rsp + 0xa8]
xor r8d, r8d
mov rdx, r14
mov qword [rsp + 0x190], rax
call sym.substSelect.part.0
jmp 0x14024881d
mov edx, dword [rsp + 0xa0]
mov r8d, 1
mov rcx, rdi
call sym.sqlite3SetJoinExpr
jmp 0x1402487e5
mov ecx, dword [rax]
xor edx, edx
jmp 0x140248a16
mov r8, rdx
add rdx, 1
shl r8, 5
mov word [rax + r8 + 0x20], 0
cmp ecx, edx
jg 0x140248a03
mov qword [r14 + 0x48], rax
mov qword [rbx + 0x48], 0
jmp 0x1402487ce
mov qword [r14 + 0x30], rdi
jmp 0x14024880b
mov rdx, r13
lea r9d, [rsi + 1]
lea r8d, [r12 - 1]
mov rcx, r15
call sym.sqlite3SrcListEnlarge
mov r13, rax
test rax, rax
je 0x1402488e2
mov qword [r14 + 0x28], rax
jmp 0x14024868e
mov rdi, qword [rsp + 0xd0]
movzx eax, byte [rdi + rax + 0x44]
mov byte [rsp + 0xb8], al
jmp 0x14024867e
imul rbx, rbx, 0x68
mov rax, qword [rsp + 0x88]
mov qword [rbp + rbx + 0x30], rax
jmp 0x14024895a
mov rcx, qword [r15 + 0xb0]
lea rdx, [sym.sqlite3DeleteTable]
test rcx, rcx
cmove rcx, r15
call sym.sqlite3ParserAddCleanup
jmp 0x1402485d2
movsxd rax, edx
imul rax, rax, 0x70
mov r9d, dword [rbx + rax + 0x370]
movsxd rax, dword [r13 + 0x90]
cmp eax, dword [r13 + 0x94]
jge 0x140248268
lea edx, [rax + 1]
imul rax, rax, 0x18
add rax, qword [r13 + 0x88]
mov dword [r13 + 0x90], edx
mov dword [rax + 8], r9d
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov qword [rax], 9
jmp 0x140248167
xor ecx, ecx
jmp 0x1402481b3
mov rax, qword [rbp + 0x28]
jmp 0x140248091
xor edx, edx
lea rdi, [0x140335251]
jmp 0x140248b30
movzx r8d, byte [rcx + r8]
cmp byte [rcx + rax], r8b
jne 0x140246647
add rdx, 1
movzx eax, byte [r10 + rdx]
movzx r8d, byte [rdi + rdx]
cmp eax, r8d
jne 0x140248b1d
test eax, eax
jne 0x140248b2c
mov byte [rsp + 0x78], 1
mov edi, 2
jmp 0x140247f88
xor edx, edx
jmp 0x14024697b
mov r8, rbp
lea rdx, [sym.sqlite3DbFree]
mov rcx, r15
call sym.sqlite3ParserAddCleanup
mov esi, dword [r12 + 4]
jmp 0x1402442c7
mov r12, qword [rsp + 0x248]
mov rbp, qword [r12 + 0x28]
jmp 0x140244453