Function at 0x14037ef00
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, 0x1a8
mov r15, qword [rcx + 0x10]
mov r14, qword [rcx]
mov qword [rsp + 0x200], r8
mov rbx, rcx
mov r12, rdx
test r15, r15
je 0x14037f0b0
test r12, r12
je 0x14037ef46
cmp byte [r14 + 0x63], 0
jne 0x14037ef46
mov r10d, dword [rbx + 0x30]
test r10d, r10d
je 0x14037ef60
mov eax, 1
add rsp, 0x1a8
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, rbx
mov qword [rsp + 0x20], 0
call dbg.sqlite3AuthCheck
test eax, eax
jne 0x14037ef46
mov rax, qword [rsp + 0x200]
cmp byte [rax], 6
ja 0x14037eff1
mov r13, qword [r12 + 0x48]
test r13, r13
je 0x14037efdf
mov rcx, qword [rbx]
test rcx, rcx
je 0x14037f368
mov edx, 0x18
call sym.sqlite3DbMallocRawNN
test rax, rax
je 0x14037fc52
mov rdx, qword [rbx + 0x188]
lea rsi, [sym.sqlite3ExprListDelete]
mov qword [rax], rdx
mov qword [rbx + 0x188], rax
mov qword [rax + 8], r13
mov qword [rax + 0x10], rsi
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, rbx
call sym.sqlite3SelectPrep
mov eax, dword [rbx + 0x30]
test eax, eax
jne 0x14037f120
movzx eax, byte [r14 + 0x63]
test al, al
jne 0x14037f348
test byte [r12 + 6], 0x80
je 0x14037f0d0
mov rbp, qword [r12 + 0x28]
mov eax, dword [rbp]
cmp eax, 1
jle 0x14037f0d0
lea edx, [rax - 2]
mov rsi, qword [rbp + 0x28]
lea r11, [rbp + 0x90]
lea rax, [rdx*8]
sub rax, rdx
shl rax, 4
lea rdi, [rbp + rax + 0x100]
jmp 0x14037f069
add r11, 0x70
cmp rdi, r11
je 0x14037f0d0
cmp rsi, qword [r11 + 8]
jne 0x14037f060
mov r13, qword [rbp + 0x20]
mov rdx, qword [r11]
mov rcx, r13
call sym.sqlite3_stricmp
test eax, eax
jne 0x14037f060
test r13, r13
je 0x1403813c3
mov r8, r13
lea rdx, str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov rcx, rbx
call dbg.sqlite3ErrorMsg
movzx eax, byte [r14 + 0x63]
add dword [rbx + 0x30], eax
mov eax, 1
jmp 0x14037f12f
cmp qword [rcx + 0xa0], 0
je 0x14037f110
mov rcx, rbx
call dbg.sqlite3VdbeCreate
mov r15, rax
jmp 0x14037ef31
mov rax, qword [rsp + 0x200]
cmp byte [rax], 9
je 0x14037f380
mov rdx, r12
mov rcx, rbx
call dbg.sqlite3WindowRewrite
mov dword [rsp + 0x50], eax
test eax, eax
je 0x14037f180
movzx eax, byte [r14 + 0x63]
add dword [rbx + 0x30], eax
mov eax, 1
jmp 0x14037f12f
test byte [r14 + 0x5c], 8
jne 0x14037f0ba
mov byte [rcx + 0x23], 1
jmp 0x14037f0ba
movzx edx, byte [r14 + 0x63]
add eax, edx
mov dword [rbx + 0x30], eax
mov eax, 1
mov edx, dword [rbx + 0x120]
test edx, edx
je 0x14037f16f
mov rcx, qword [rbx + 0x10]
jns 0x14037f148
mov esi, dword [rcx + 0x90]
lea edx, [rsi - 1]
mov r9, qword [rcx]
lea r8, [0x1407d6d60]
cmp byte [r9 + 0x63], 0
jne 0x14037f16b
movsxd rdx, edx
lea r8, [rdx + rdx*2]
mov rdx, qword [rcx + 0x88]
lea r8, [rdx + r8*8]
mov edx, dword [r8 + 8]
mov dword [rbx + 0x120], edx
jmp 0x14037ef4b
mov eax, dword [r12 + 4]
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x100], 0
mov r11, qword [r12 + 0x28]
mov qword [rsp + 0x108], 0
and eax, 8
mov dword [rsp + 0x70], eax
setne sil
mov rax, qword [r12 + 0x48]
xor ebp, ebp
mov qword [rsp + 0x110], 0
movzx esi, sil
mov qword [rsp + 0xf0], rax
mov rax, qword [r12 + 0x50]
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x14037f390
mov qword [rsp + 0x58], r15
mov r15, r11
jmp 0x14037f2c0
test r10, r10
je 0x14037f338
mov rax, qword [r10 + 0x20]
movsx r8d, word [r13 + 0x46]
mov eax, dword [rax]
cmp r8d, eax
jne 0x14037f818
test byte [r10 + 4], 8
jne 0x14037f338
cmp qword [r10 + 0x48], 0
je 0x14037f260
test ebp, ebp
jne 0x14037f260
test byte [r12 + 6], 4
je 0x14037f260
cmp dword [r15], 1
je 0x14037f358
test byte [r15 + 0xb4], 0xa
jne 0x14037f358
nop dword [rax + rax]
mov r9d, esi
mov r8d, ebp
mov rdx, r12
mov rcx, rbx
call dbg.flattenSubquery
test eax, eax
je 0x14037f285
mov edx, dword [rbx + 0x30]
test edx, edx
jne 0x140381067
mov ebp, 0xffffffff
movzx eax, byte [r14 + 0x63]
mov r15, qword [r12 + 0x28]
test al, al
jne 0x14037f340
mov rax, qword [rsp + 0x200]
add ebp, 1
cmp byte [rax], 8
jbe 0x14037f2b4
mov rax, qword [r12 + 0x48]
mov qword [rsp + 0xf0], rax
cmp qword [r12 + 0x50], 0
jne 0x14037f390
mov eax, dword [r15]
cmp eax, ebp
jle 0x14037f400
movsxd rax, ebp
lea rdi, [rax*8]
sub rdi, rax
shl rdi, 4
add rdi, r15
mov r10, qword [rdi + 0x30]
mov r13, qword [rdi + 0x28]
test byte [rdi + 0x44], 8
je 0x14037f208
mov rcx, qword [r12 + 0x30]
mov edx, dword [rdi + 0x4c]
mov qword [rsp + 0x48], r10
call dbg.sqlite3ExprImpliesNonNullRow
mov r10, qword [rsp + 0x48]
test eax, eax
je 0x14037f208
test byte [r14 + 0x5d], 0x20
jne 0x14037f208
and byte [rdi + 0x44], 0xd7
mov rcx, qword [r12 + 0x30]
mov edx, dword [rdi + 0x4c]
call dbg.unsetJoinExpr
jmp 0x14037f208
add ebp, 1
jmp 0x14037f2b4
mov edx, dword [rbx + 0x30]
add eax, edx
nop dword [rax]
mov dword [rbx + 0x30], eax
mov eax, 1
jmp 0x14037f12f
mov ebp, 1
jmp 0x14037f2b4
mov ecx, 0x18
call sym.sqlite3Malloc
jmp 0x14037efad
mov rdx, r12
mov rcx, rbx
call dbg.sqlite3GenerateColumnNames
jmp 0x14037f0e1
mov r8, qword [rsp + 0x200]
mov rdx, r12
mov rcx, rbx
call dbg.multiSelect
cmp qword [r12 + 0x58], 0
jne 0x14037ef4b
mov edx, dword [rbx + 0x120]
test edx, edx
je 0x14037f16f
mov rcx, qword [rbx + 0x10]
jns 0x14037f3cc
mov esi, dword [rcx + 0x90]
lea edx, [rsi - 1]
mov r9, qword [rcx]
lea r8, [0x1407d6d60]
cmp byte [r9 + 0x63], 0
jne 0x14037f16b
movsxd rdx, edx
imul rdx, rdx, 0x18
add rdx, qword [rcx + 0x88]
mov r8, rdx
jmp 0x14037f16b
mov rdx, qword [r12 + 0x30]
mov r11, r15
mov r15, qword [rsp + 0x58]
test rdx, rdx
je 0x14037f41b
cmp byte [rdx], 0x2c
je 0x140380bc3
lea rsi, [r11 + 8]
xor ebp, ebp
lea r13, [0x140768440]
mov qword [rsp + 0x78], rsi
mov rdi, rsi
test eax, eax
jle 0x14037f851
mov qword [rsp + 0x1f8], r12
mov r12, r11
mov qword [rsp + 0x48], r14
jmp 0x14037f5e7
cmp dword [r12], 1
je 0x14037f466
test byte [r12 + 0xb4], 0xa
je 0x14037f6c9
cmp byte [r12 + 0x48], 0
jns 0x14037f47d
mov rax, qword [r12 + 0x70]
cmp byte [rax + 0x12], 0
je 0x14037f6e3
mov esi, dword [r15 + 0x90]
mov eax, dword [rbx + 0x38]
xor r9d, r9d
mov rcx, r15
mov edx, 0xd
lea r10d, [rsi + 1]
lea r8d, [rax + 1]
mov dword [rbx + 0x38], r8d
mov dword [r12 + 0x3c], r8d
mov dword [rsp + 0x20], r10d
mov dword [rsp + 0x80], r10d
call sym.sqlite3VdbeAddOp3
mov eax, dword [r12 + 0x3c]
mov r9, rdi
mov rcx, rbx
mov r10d, dword [rsp + 0x80]
lea r8, str.CO_ROUTINE___S
mov edx, 1
mov dword [r12 + 0x38], r10d
mov dword [rsp + 0x154], eax
mov byte [rsp + 0x150], 0xd
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x158], 0
mov dword [rsp + 0x160], 0
call dbg.sqlite3VdbeExplain
mov r8, qword [rsp + 0x60]
mov rdx, r14
mov rcx, rbx
call dbg.sqlite3Select
movzx edx, word [r14 + 2]
mov rax, qword [r12 + 0x28]
mov rcx, r15
mov word [rax + 0x4a], dx
mov edx, dword [r12 + 0x3c]
or byte [r12 + 0x48], 0x10
mov eax, dword [rsp + 0x15c]
mov dword [r12 + 0x40], eax
call sym.sqlite3VdbeEndCoroutine
mov eax, dword [r15 + 0x90]
mov rcx, qword [r15]
test esi, esi
lea edx, [rax - 1]
cmovs esi, edx
cmp byte [rcx + 0x63], 0
lea rdx, [0x1407d6d60]
jne 0x14037f57e
mov rdx, qword [r15 + 0x88]
movsxd rsi, esi
lea rcx, [rsi + rsi*2]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], eax
mov byte [rbx + 0x1f], 0
mov dword [rbx + 0x28], 0
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 0x63]
test al, al
jne 0x14037fc85
mov rcx, qword [rsp + 0x1f8]
lea rdx, [rsp + 0x120]
mov dword [rsp + 0x120], 0
call dbg.heightOfSelect
mov eax, dword [rsp + 0x120]
sub dword [rbx + 0x11c], eax
mov rax, qword [rsp + 0x58]
mov qword [rbx + 0x158], rax
add ebp, 1
add rdi, 0x70
cmp dword [r12], ebp
jle 0x14037f841
cmp qword [rdi + 0x58], 0
jne 0x14037f614
mov r8, qword [rdi + 0x10]
test r8, r8
je 0x14037f614
mov rax, qword [rdi + 8]
lea r9, [0x1407576ce]
mov edx, 0x14
mov rcx, rbx
mov qword [rsp + 0x20], rax
call dbg.sqlite3AuthCheck
mov r14, qword [rdi + 0x28]
test r14, r14
je 0x14037f5d6
lea rax, [rsp + 0x150]
mov rcx, qword [rsp + 0x1f8]
mov dword [rsp + 0x150], 0
mov rdx, rax
mov qword [rsp + 0x60], rax
call dbg.heightOfSelect
mov eax, dword [rsp + 0x150]
add dword [rbx + 0x11c], eax
mov rax, qword [rsp + 0x48]
test byte [rax + 0x5d], 0x10
jne 0x14037f6aa
movsxd rdx, ebp
lea rax, [rdx*8]
sub rax, rdx
shl rax, 4
cmp byte [r12 + rax + 0x48], 0
jns 0x14037f681
mov rax, qword [rdi + 0x68]
cmp byte [rax + 0x12], 0
je 0x14037f6aa
movzx eax, byte [rdi + 0x3c]
mov r9d, dword [rdi + 0x44]
mov rdx, r14
mov rcx, rbx
shr al, 5
and eax, 1
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x1f8]
mov r8, qword [rax + 0x30]
call sym.pushDownWhereTerms.isra.0
mov rax, qword [rbx + 0x158]
mov r10, qword [rdi + 0x10]
mov qword [rsp + 0x58], rax
mov qword [rbx + 0x158], r10
test ebp, ebp
je 0x14037f450
movsxd rdx, ebp
lea rax, [rdx*8]
sub rax, rdx
shl rax, 4
cmp byte [r12 + rax + 0x48], 0
jns 0x14037f6f4
mov rsi, qword [rdi + 0x68]
mov r9d, dword [rsi + 4]
test r9d, r9d
jg 0x14037f7cf
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x80], rax
test byte [rax + 7], 1
jne 0x14037fcb0
mov rax, qword [rsp + 0x78]
mov rsi, rax
cmp rax, rdi
jb 0x14037f72d
jmp 0x14037fcb0
add rsi, 0x70
cmp rsi, rdi
jae 0x14037fcb0
mov r9, qword [rsi + 0x28]
test r9, r9
je 0x14037f720
test byte [rsi + 0x40], 0x10
jne 0x14037f720
mov r8, qword [rsi + 0x10]
test r8, r8
je 0x14037f720
mov rax, qword [rsi + 0x20]
mov r11, qword [rax + 0x70]
mov rax, qword [rdi + 0x20]
cmp qword [rax + 0x70], r11
jne 0x14037f720
test r10, r10
je 0x14037f720
xor ecx, ecx
jmp 0x14037f771
movzx edx, byte [r13 + rdx]
cmp byte [r13 + rax], dl
jne 0x14037f720
add rcx, 1
movzx eax, byte [r8 + rcx]
movzx edx, byte [r10 + rcx]
cmp eax, edx
jne 0x14037f760
test eax, eax
jne 0x14037f76d
test r11, r11
je 0x14037fc92
test byte [r9 + 7], 1
jne 0x14037f720
mov r9d, dword [rsi + 0x30]
test r9d, r9d
jne 0x14037fc62
mov r9d, dword [rsi + 0x44]
mov r8d, dword [rdi + 0x44]
mov edx, 0x64
mov rcx, r15
mov dword [rsp + 0x20], 0
call sym.sqlite3VdbeAddOp3
mov rax, qword [rsi + 0x28]
movzx eax, word [rax + 2]
mov word [r14 + 2], ax
jmp 0x14037f58c
mov r8d, dword [rsi + 8]
mov dword [rsp + 0x20], 0
mov edx, 0xc
mov rcx, r15
call sym.sqlite3VdbeAddOp3
mov r8d, dword [rdi + 0x44]
mov r9d, dword [rsi + 0xc]
cmp r8d, r9d
je 0x14037f80a
mov dword [rsp + 0x20], 0
mov edx, 0x64
mov rcx, r15
call sym.sqlite3VdbeAddOp3
movzx eax, word [rsi + 0x10]
mov word [r14 + 2], ax
jmp 0x14037f58c
mov dword [rsp + 0x20], eax
mov r9, qword [r13]
lea rdx, str.expected__d_columns_for__s_but_got__d
mov rcx, rbx
call dbg.sqlite3ErrorMsg
movzx eax, byte [r14 + 0x63]
add dword [rbx + 0x30], eax
mov eax, 1
jmp 0x14037f12f
mov r11, r12
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x1f8]
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0x58], rax
mov rax, qword [r12 + 0x30]
mov qword [rsp + 0x78], rax
mov rax, qword [r12 + 0x38]
mov qword [rsp + 0x48], rax
mov rax, qword [r12 + 0x40]
mov qword [rsp + 0x80], rax
mov eax, dword [r12 + 4]
mov byte [rsp + 0xe4], al
and eax, 9
and byte [rsp + 0xe4], 1
cmp eax, 1
je 0x1403813cb
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x140380bb3
mov rsi, qword [rsp + 0x58]
xor r8d, r8d
mov rcx, rbx
mov qword [rsp + 0x60], r11
mov r9d, dword [rsi]
call dbg.sqlite3KeyInfoFromExprList
mov r8d, dword [rbx + 0x34]
mov rcx, r15
mov r9, rax
lea eax, [r8 + 1]
mov dword [rsp + 0xfc], r8d
mov dword [rbx + 0x34], eax
mov rax, qword [rsp + 0xf0]
mov edx, dword [rax]
mov eax, dword [rsi]
mov qword [rsp + 0x28], r9
mov dword [rsp + 0x30], 0xfffffff7
mov dword [rsp + 0x20], 0
lea r9d, [rdx + rax + 1]
mov edx, 0x70
call sym.sqlite3VdbeAddOp4
mov r11, qword [rsp + 0x60]
mov dword [rsp + 0x108], eax
mov rax, qword [rsp + 0x200]
cmp byte [rax], 0xc
je 0x140381438
mov eax, dword [rbx + 0x44]
lea r8d, [rax - 1]
mov dword [rsp + 0x88], eax
mov dword [rbx + 0x44], r8d
test byte [r12 + 5], 0x40
jne 0x14037f951
mov r9d, 0x140
mov word [r12 + 2], r9w
mov rdx, r12
mov rcx, rbx
mov qword [rsp + 0x60], r11
call dbg.computeLimitRegisters
mov r8d, dword [r12 + 8]
mov r11, qword [rsp + 0x60]
test r8d, r8d
jne 0x14037f980
movsxd rax, dword [rsp + 0x108]
test eax, eax
jns 0x140381395
test byte [r12 + 4], 1
jne 0x140380fd6
mov byte [rsp + 0xe5], 0
mov eax, dword [rsp + 0x70]
test eax, eax
jne 0x140381073
cmp qword [rsp + 0x48], 0
jne 0x140380beb
cmp byte [rsp + 0xe4], 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 + 0x48], dx
test rdi, rdi
je 0x14037fea3
mov rax, qword [r12 + 0x28]
mov r13, qword [rbx + 0x10]
mov rax, qword [rax + 0x30]
mov rax, qword [rax + 0x20]
mov esi, dword [rax]
test r13, r13
je 0x1403816ec
mov r8d, dword [rdi + 0x58]
mov r9d, esi
mov edx, 0x70
mov rcx, r13
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x60], r11
call sym.sqlite3VdbeAddOp3
mov r9d, dword [rdi + 0x58]
mov edx, 0x64
mov rcx, r13
mov dword [rsp + 0x20], 0
lea r8d, [r9 + 1]
call sym.sqlite3VdbeAddOp3
mov r9d, dword [rdi + 0x58]
mov edx, 0x64
mov rcx, r13
mov dword [rsp + 0x20], 0
lea r8d, [r9 + 2]
call sym.sqlite3VdbeAddOp3
mov r9d, dword [rdi + 0x58]
mov edx, 0x64
mov rcx, r13
mov dword [rsp + 0x20], 0
lea r8d, [r9 + 3]
call sym.sqlite3VdbeAddOp3
mov rax, qword [rdi + 0x10]
mov r11, qword [rsp + 0x60]
test rax, rax
je 0x14037faac
mov edx, dword [rax]
mov eax, dword [rbx + 0x38]
xor r8d, r8d
mov rcx, r13
lea r9d, [rax + 1]
add eax, edx
mov dword [rdi + 0x6c], r9d
mov dword [rbx + 0x38], eax
lea eax, [rdx + r9 - 1]
mov edx, 0x48
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov r11, qword [rsp + 0x60]
mov eax, dword [rbx + 0x38]
mov r8d, 1
mov rcx, r13
mov rsi, rdi
mov edx, 0x45
mov qword [rsp + 0x60], r11
lea rbp, str.nth_value
lea r9d, [rax + 1]
mov dword [rbx + 0x38], r9d
mov dword [rdi + 0x80], r9d
mov dword [rsp + 0x20], 0
call sym.sqlite3VdbeAddOp3
cmp byte [rdi + 0x24], 0
mov r11, qword [rsp + 0x60]
jne 0x1403825f4
mov qword [rsp + 0x1f8], r12
mov r12, r13
mov qword [rsp + 0x60], r11
jmp 0x14037fbe5
cmp byte [rsi + 0x21], 0x5a
je 0x14037fbf3
mov rax, qword [rsi + 0x70]
xor r8d, r8d
xor r9d, r9d
mov rcx, rbx
mov rdx, qword [rax + 0x20]
call dbg.sqlite3KeyInfoFromExprList
mov r8d, dword [rbx + 0x34]
mov r13, rax
lea eax, [r8 + 1]
mov dword [rbx + 0x34], eax
mov eax, dword [rbx + 0x38]
mov dword [rsi + 0x64], r8d
lea edx, [rax + 1]
add eax, 3
mov dword [rsi + 0x68], edx
mov dword [rbx + 0x38], eax
test r13, r13
je 0x1403815bb
mov rax, qword [rsi + 0x50]
mov rax, qword [rax + 0x38]
cmp byte [rax + 1], 0x69
jne 0x14037fb6f
mov rax, qword [r13 + 0x18]
mov byte [rax], 1
mov r8d, dword [rsi + 0x64]
mov dword [rsp + 0x20], 0
mov r9d, 2
mov edx, 0x70
mov rcx, r12
call sym.sqlite3VdbeAddOp3
mov rax, qword [r12]
cmp byte [rax + 0x63], 0
jne 0x140381847
movsxd rax, dword [r12 + 0x90]
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rdx*8 - 0x18]
mov byte [rax + 1], 0xf7
mov qword [rax + 0x10], r13
mov eax, dword [rsi + 0x68]
xor r8d, r8d
mov edx, 0x45
mov rcx, r12
mov dword [rsp + 0x20], 0
lea r9d, [rax + 1]
call sym.sqlite3VdbeAddOp3
mov rsi, qword [rsi + 0x40]
test rsi, rsi
je 0x14037fe96
mov rax, qword [rsi + 0x50]
test byte [rax + 5], 0x10
jne 0x14037fb0c
mov rax, qword [rax + 0x38]
cmp rax, rbp
je 0x14037fe73
lea rcx, str.first_value
cmp rax, rcx
je 0x14037fe73
lea rcx, str.lead
cmp rax, rcx
je 0x14037fc28
lea rdx, [0x14076614e]
cmp rax, rdx
jne 0x14037fbd8
mov r8d, dword [rbx + 0x34]
lea eax, [r8 + 1]
mov dword [rbx + 0x34], eax
mov dword [rsi + 0x64], r8d
mov r9d, dword [rdi + 0x58]
mov dword [rsp + 0x20], 0
mov edx, 0x64
mov rcx, r12
call sym.sqlite3VdbeAddOp3
jmp 0x14037fbd8
mov rcx, qword [rbx]
mov rdx, r13
call dbg.exprListDeleteNN
jmp 0x14037efd6
mov r8d, dword [rsi + 0x34]
mov dword [rsp + 0x20], 0
mov edx, 0xc
mov rcx, r15
call sym.sqlite3VdbeAddOp3
jmp 0x14037f7a0
movzx eax, byte [rsp + 0x60]
add dword [rbx + 0x30], eax
mov eax, 1
jmp 0x14037f12f
mov rax, qword [rsp + 0x80]
mov ecx, dword [r9 + 0x10]
cmp dword [rax + 0x10], ecx
je 0x14037f78c
jmp 0x14037f720
mov eax, dword [rbx + 0x38]
mov esi, dword [r15 + 0x90]
lea r9d, [rax + 1]
mov dword [rbx + 0x38], r9d
mov dword [rdi + 0x34], r9d
cmp esi, dword [r15 + 0x94]
jge 0x140381670
movsxd rax, esi
lea edx, [rsi + 1]
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
mov dword [r15 + 0x90], edx
lea rax, [rax + rcx*8]
mov dword [rax + 8], r9d
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov qword [rax], 0x45
movsxd r11, ebp
mov dword [rdi + 0x30], edx
lea rax, [r11*8]
sub rax, r11
shl rax, 4
test byte [r12 + rax + 0x48], 8
je 0x140381470
mov eax, dword [rdi + 0x44]
mov r9, rdi
lea r8, str.MATERIALIZE___S
mov rcx, rbx
mov edx, 1
mov qword [rsp + 0x80], r11
mov dword [rsp + 0x154], eax
mov byte [rsp + 0x150], 0xc
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x158], 0
mov dword [rsp + 0x160], 0
call dbg.sqlite3VdbeExplain
mov r8, qword [rsp + 0x60]
mov rdx, r14
mov rcx, rbx
call dbg.sqlite3Select
mov rax, qword [rdi + 0x20]
movzx edx, word [r14 + 2]
mov r11, qword [rsp + 0x80]
mov word [rax + 0x4a], dx
mov eax, dword [r15 + 0x90]
mov r8d, dword [rdi + 0x34]
cmp dword [r15 + 0x94], eax
jle 0x140381649
lea edx, [rax + 1]
mov dword [r15 + 0x90], edx
movsxd rdx, eax
lea rcx, [rdx + rdx*2]
mov rdx, qword [r15 + 0x88]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 4], r8d
mov qword [rdx + 8], 0
mov qword [rdx + 0x10], 0
mov dword [rdx], 0x41
test esi, esi
jns 0x14037fdff
mov esi, dword [r15 + 0x90]
sub esi, 1
mov rcx, qword [r15]
lea rdx, [0x1407d6d60]
cmp byte [rcx + 0x63], 0
jne 0x14037fe21
mov rdx, qword [r15 + 0x88]
movsxd rsi, esi
lea rcx, [rsi + rsi*2]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 4], eax
lea rax, [r11*8]
sub rax, r11
mov byte [rbx + 0x1f], 0
shl rax, 4
mov dword [rbx + 0x28], 0
movzx eax, byte [r12 + rax + 0x48]
and eax, 0xffffff88
cmp al, 0x80
jne 0x14037f58c
mov edx, dword [rdi + 0x30]
mov rax, qword [rdi + 0x68]
mov dword [rax + 4], edx
mov edx, dword [rdi + 0x34]
mov dword [rax + 8], edx
mov edx, dword [rdi + 0x44]
mov dword [rax + 0xc], edx
movzx edx, word [r14 + 2]
mov word [rax + 0x10], dx
jmp 0x14037f58c
mov eax, dword [rbx + 0x38]
mov r8d, dword [rbx + 0x34]
lea edx, [rax + 1]
add eax, 2
mov dword [rsi + 0x68], edx
lea edx, [r8 + 1]
mov dword [rbx + 0x34], edx
mov dword [rsi + 0x64], r8d
mov dword [rbx + 0x38], eax
jmp 0x14037fc37
mov r11, qword [rsp + 0x60]
mov r12, qword [rsp + 0x1f8]
movsx eax, word [r12 + 2]
mov r8, qword [rsp + 0x78]
mov rdx, r11
mov rcx, rbx
mov r9, qword [rsp + 0xf0]
mov dword [rsp + 0x30], eax
movzx eax, word [rsp + 0x48]
mov dword [rsp + 0x28], eax
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0x20], rax
call dbg.sqlite3WhereBegin
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14037f0f8
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x48]
cmp word [r12 + 2], ax
jle 0x14037fefd
mov word [r12 + 2], ax
cmp byte [rsp + 0xe4], 0
je 0x14037ff1b
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 0x43]
test al, al
je 0x14037ff1b
mov byte [rsp + 0xe5], al
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x140381379
mov rax, qword [rsp + 0x60]
movsx ecx, byte [rax + 0x41]
mov dword [rsp + 0xf8], ecx
test byte [rax + 0x44], 4
je 0x14038175d
mov rsi, qword [rsp + 0x60]
movzx eax, byte [rsi + 0x40]
sub eax, 1
cdqe
lea rax, [rax + rax*2]
shl rax, 5
mov eax, dword [rsi + rax + 0x370]
mov dword [rsp + 0x110], eax
cmp dword [rdx], ecx
je 0x14038136d
test rdi, rdi
je 0x140381692
mov eax, dword [rbx + 0x44]
mov rbp, qword [rbx + 0x10]
lea esi, [rax - 2]
mov dword [rsp + 0xd0], eax
lea edi, [rax - 1]
sub eax, 3
mov dword [rsp + 0xc4], esi
mov esi, dword [rbx + 0x38]
mov dword [rsp + 0x90], eax
add esi, 1
mov dword [rbx + 0x44], eax
mov dword [rsp + 0xa8], esi
mov dword [rbx + 0x38], esi
mov rsi, qword [r12 + 0x70]
mov dword [rsp + 0x9c], eax
mov rcx, qword [rsi + 0x18]
mov qword [rsp + 0x78], rcx
test rbp, rbp
je 0x1403815f2
mov rax, qword [r12 + 0x28]
mov r13d, dword [rax + 0x4c]
mov rax, qword [rax + 0x28]
movsx eax, word [rax + 0x46]
mov dword [rsp + 0x168], edi
mov qword [rsp + 0x178], 0
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x9c]
mov qword [rsp + 0x180], 0
sub eax, 1
mov qword [rsp + 0x188], 0
mov dword [rbx + 0x44], eax
mov dword [rsp + 0xac], eax
mov eax, dword [rsp + 0xa8]
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x190], 0
mov dword [rsp + 0x16c], eax
mov eax, dword [rsi + 0x58]
mov qword [rsp + 0x150], rbx
mov dword [rsp + 0x184], eax
lea edi, [rax + 1]
lea edx, [rax + 2]
add eax, 3
mov qword [rsp + 0x158], rsi
mov qword [rsp + 0x160], rbp
mov dword [rsp + 0x17c], edx
mov dword [rsp + 0x18c], eax
movzx eax, byte [rsi + 0x21]
mov dword [rsp + 0xb0], edi
cmp al, 0x56
je 0x140381871
cmp al, 0x5a
je 0x1403818b7
mov dword [rsp + 0x174], 2
mov eax, dword [rbx + 0x38]
lea edi, [rax + 1]
add eax, dword [rsp + 0x80]
lea edx, [rax + 2]
mov dword [rsp + 0xa0], edi
lea edi, [rax + 1]
mov dword [rbx + 0x38], edx
mov dword [rsp + 0x178], edx
mov dword [rsp + 0xb4], edi
movzx edi, byte [rsi + 0x21]
lea edx, [rdi - 0x56]
xor edi, edi
and edx, 0xfd
jne 0x1403800ef
lea edi, [rax + 3]
mov dword [rbx + 0x38], edi
movzx eax, byte [rsi + 0x22]
mov dword [rsp + 0x48], 0
sub eax, 0x56
test al, 0xfd
jne 0x14038010f
mov eax, dword [rbx + 0x38]
add eax, 1
mov dword [rsp + 0x48], eax
mov dword [rbx + 0x38], eax
cmp byte [rsi + 0x20], 0x4c
je 0x14038189f
mov rax, qword [rsp + 0x78]
xor edx, edx
test rax, rax
je 0x140380127
mov edx, dword [rax]
mov rax, qword [rsi + 0x10]
mov ecx, dword [rsp + 0xa0]
add ecx, dword [rsi + 0x78]
mov dword [rsp + 0xc0], ecx
test rax, rax
je 0x14038014c
mov eax, dword [rax]
add ecx, eax
mov dword [rsp + 0xc0], ecx
mov eax, dword [rbx + 0x38]
lea ecx, [rax + 1]
add eax, edx
mov dword [rsp + 0x70], ecx
lea ecx, [rax + 1]
add eax, edx
mov dword [rsp + 0x180], ecx
lea ecx, [rax + 1]
add eax, edx
mov dword [rsp + 0x188], ecx
lea ecx, [rax + 1]
add eax, edx
mov dword [rsp + 0x190], ecx
mov dword [rbx + 0x38], eax
mov eax, dword [rsp + 0x80]
xor r9d, r9d
test eax, eax
jle 0x1403801ff
mov qword [rsp + 0xb8], r14
mov r14d, dword [rsp + 0x80]
mov dword [rsp + 0xd4], edi
mov edi, r13d
mov r13, r12
mov r12, rbx
mov ebx, dword [rsp + 0xa0]
mov qword [rsp + 0xc8], rsi
mov esi, r9d
nop
lea eax, [rbx + rsi]
mov r9d, esi
mov r8d, edi
mov edx, 0x5b
mov dword [rsp + 0x20], eax
mov rcx, rbp
add esi, 1
call sym.sqlite3VdbeAddOp3
cmp r14d, esi
jne 0x1403801c0
mov r14, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xc8]
mov rbx, r12
mov r12, r13
mov edi, dword [rsp + 0xd4]
mov eax, dword [rsp + 0xb4]
mov r9d, dword [rsp + 0x80]
mov edx, 0x5d
mov rcx, rbp
mov r8d, dword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov rdx, qword [rsi + 0x10]
test rdx, rdx
je 0x14038161a
mov eax, dword [rdx]
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0xc8], eax
mov eax, dword [rsp + 0xa0]
add eax, dword [rsi + 0x78]
mov dword [rsp + 0xa0], eax
call dbg.sqlite3KeyInfoFromExprList
mov r9d, dword [rsi + 0x6c]
mov r10d, dword [rbp + 0x90]
mov r13, rax
mov eax, dword [rbx + 0x38]
add eax, 1
mov dword [rsp + 0x80], eax
mov dword [rbx + 0x38], eax
cmp r10d, dword [rbp + 0x94]
jge 0x14038287e
lea eax, [r10 + 1]
mov ecx, dword [rsp + 0xa0]
mov dword [rbp + 0x90], eax
movsxd rax, r10d
imul rax, rax, 0x18
add rax, qword [rbp + 0x88]
mov dword [rax + 4], ecx
mov ecx, dword [rsp + 0xc8]
mov dword [rax + 8], r9d
mov dword [rax + 0xc], ecx
mov qword [rax + 0x10], 0
mov dword [rax], 0x57
mov rax, qword [rbp]
cmp byte [rax + 0x63], 0
jne 0x14038227a
movsxd rax, dword [rbp + 0x90]
mov rdx, qword [rbp + 0x88]
imul rax, rax, 0x18
lea rax, [rdx + rax - 0x18]
mov byte [rax + 1], 0xf7
mov qword [rax + 0x10], r13
lea r8d, [r10 + 2]
lea r9d, [r10 + 4]
mov edx, 0x10
mov rcx, rbp
mov dword [rsp + 0x20], r8d
call sym.sqlite3VdbeAddOp3
mov eax, dword [rbp + 0x90]
mov dword [rsp + 0xb8], eax
cmp eax, dword [rbp + 0x94]
jge 0x1403828a6
mov ecx, dword [rsp + 0xb8]
lea eax, [rcx + 1]
mov dword [rbp + 0x90], eax
movsxd rax, ecx
mov ecx, dword [rsp + 0x80]
imul rax, rax, 0x18
add rax, qword [rbp + 0x88]
mov dword [rax + 4], ecx
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0xc
mov eax, dword [rsp + 0xc8]
mov r9d, dword [rsi + 0x6c]
mov edx, 0x4d
mov rcx, rbp
mov r8d, dword [rsp + 0xa0]
sub eax, 1
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov r13d, dword [rsp + 0xb0]
mov dword [rsp + 0x20], 0
mov edx, 0x7b
mov rcx, rbp
mov r9d, dword [rsp + 0x178]
mov r8d, r13d
call sym.sqlite3VdbeAddOp3
mov r8d, r13d
mov edx, 0x7c
mov rcx, rbp
mov eax, dword [rsp + 0x178]
mov r9d, dword [rsp + 0xb4]
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov eax, dword [rbp + 0x90]
mov edx, dword [rsp + 0x178]
mov r8d, dword [rsi + 0x80]
mov dword [rsp + 0xa0], eax
cmp eax, dword [rbp + 0x94]
jge 0x1403822bd
mov ecx, dword [rsp + 0xa0]
lea eax, [rcx + 1]
mov dword [rbp + 0x90], eax
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 4], r8d
mov dword [rax + 8], 0
mov dword [rax + 0xc], edx
mov qword [rax + 0x10], 0
mov dword [rax], 0x34
mov rdx, rsi
mov rcx, rbx
call dbg.windowInitAccum
mov dword [rsp + 0x170], eax
test edi, edi
je 0x1403804a9
cmp qword [rbx + 0x10], 0
je 0x140380492
mov r13, qword [rsi + 0x28]
mov r8d, edi
mov rcx, rbx
mov rdx, r13
call sym.sqlite3ExprCodeTarget
mov r8d, eax
cmp edi, eax
je 0x140380492
test byte [r13 + 6], 0x20
mov rcx, qword [rbx + 0x10]
mov r9d, edi
mov dword [rsp + 0x20], 0
sete dl
add edx, 0x4d
movzx edx, dl
call sym.sqlite3VdbeAddOp3
xor eax, eax
cmp byte [rsi + 0x20], 0x59
mov edx, edi
mov rcx, rbx
sete al
lea r8d, [rax + rax*2]
call dbg.windowCheckValue
mov r9d, dword [rsp + 0x48]
test r9d, r9d
je 0x140380512
cmp qword [rbx + 0x10], 0
je 0x1403804f8
mov r13, qword [rsi + 0x30]
mov r8d, r9d
mov rcx, rbx
mov rdx, r13
call sym.sqlite3ExprCodeTarget
mov r9d, dword [rsp + 0x48]
mov r8d, eax
cmp r9d, eax
je 0x1403804f8
test byte [r13 + 6], 0x20
mov rcx, qword [rbx + 0x10]
mov dword [rsp + 0x20], 0
sete dl
add edx, 0x4d
movzx edx, dl
call sym.sqlite3VdbeAddOp3
xor eax, eax
cmp byte [rsi + 0x20], 0x59
mov edx, dword [rsp + 0x48]
mov rcx, rbx
sete al
lea r8d, [rax + rax*2 + 1]
call dbg.windowCheckValue
cmp byte [rsi + 0x20], 0x59
movzx eax, byte [rsi + 0x21]
lea r13, [rsp + 0x150]
je 0x14038157e
cmp byte [rsi + 0x22], al
jne 0x140380535
test edi, edi
jne 0x1403829d8
cmp al, 0x56
je 0x140382156
cmp al, 0x5a
jne 0x140381586
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x184]
mov edx, 0x25
mov rcx, rbp
mov r9d, 1
call sym.sqlite3VdbeAddOp3
mov dword [rsp + 0x20], 0
mov rcx, rbp
mov r8d, dword [rsp + 0x18c]
mov r9d, 1
mov edx, 0x25
call sym.sqlite3VdbeAddOp3
mov ecx, dword [rsp + 0x70]
test ecx, ecx
je 0x140380657
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x140380657
mov edx, dword [rax]
mov r8d, dword [rsp + 0xc0]
mov r9d, ecx
mov dword [rsp + 0x70], ecx
mov rcx, rbp
lea eax, [rdx - 1]
mov edx, 0x4d
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x70]
mov rcx, rbp
mov r9d, dword [rsp + 0x180]
mov edx, dword [rax]
lea eax, [rdx - 1]
mov dword [rsp + 0xb4], edx
mov edx, 0x4d
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x70]
mov rcx, rbp
mov r9d, dword [rsp + 0x188]
mov edx, dword [rax]
lea eax, [rdx - 1]
mov dword [rsp + 0xb4], edx
mov edx, 0x4d
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x70]
mov rcx, rbp
mov r9d, dword [rsp + 0x190]
mov edx, 0x4d
mov eax, dword [rax]
mov dword [rsp + 0xb4], eax
sub eax, 1
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0xb
mov rcx, rbp
mov r9d, dword [rsp + 0xac]
call sym.sqlite3VdbeAddOp3
mov ecx, dword [rsp + 0xa0]
mov eax, dword [rbp + 0x90]
test ecx, ecx
lea edx, [rax - 1]
cmovns edx, ecx
mov rcx, qword [rbp]
cmp byte [rcx + 0x63], 0
mov r9d, edx
lea rdx, [0x1407d6d60]
jne 0x1403806b2
movsxd rdx, r9d
lea rcx, [rdx + rdx*2]
mov rdx, qword [rbp + 0x88]
lea rdx, [rdx + rcx*8]
mov r11d, dword [rsp + 0x70]
mov dword [rdx + 8], eax
test r11d, r11d
jne 0x140381765
cmp byte [rsi + 0x21], 0x56
je 0x1403821cc
cmp byte [rsi + 0x22], 0x58
je 0x1403819b2
xor r9d, r9d
xor r8d, r8d
mov edx, 3
mov rcx, r13
call dbg.windowCodeOp
cmp byte [rsi + 0x22], 0x5a
je 0x14038183e
cmp byte [rsi + 0x20], 0x59
je 0x1403827ba
cmp dword [rsp + 0x48], 0
jne 0x14038178f
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov rcx, r13
call dbg.windowCodeOp
mov rcx, r13
xor r9d, r9d
mov r8d, edi
mov edx, 2
call dbg.windowCodeOp
mov rcx, qword [rbp + 0x18]
mov r8d, dword [rsp + 0x9c]
mov eax, dword [rcx + 0x44]
neg r8d
add eax, dword [rcx + 0x48]
js 0x140381b8b
mov edx, dword [rbp + 0x90]
mov rax, qword [rcx + 0x50]
movsxd r8, r8d
mov dword [rax + r8*4], edx
mov rcx, qword [rsp + 0x60]
call sym.sqlite3WhereEnd
cmp qword [rsi + 0x10], 0
mov eax, dword [rbp + 0x90]
je 0x1403815e9
mov dword [rsp + 0x50], eax
cmp eax, dword [rbp + 0x94]
jge 0x140382b09
mov ecx, dword [rsp + 0x50]
lea eax, [rcx + 1]
mov dword [rbp + 0x90], eax
movsxd rax, ecx
mov ecx, dword [rsp + 0x80]
imul rax, rax, 0x18
add rax, qword [rbp + 0x88]
mov dword [rax + 8], ecx
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov qword [rax], 0x45
mov ecx, dword [rsp + 0xb8]
mov eax, dword [rbp + 0x90]
mov rdx, qword [rbp]
mov dword [rsp + 0x60], eax
sub eax, 1
test ecx, ecx
cmovns eax, ecx
cmp byte [rdx + 0x63], 0
mov ecx, eax
lea rax, [0x1407d6d60]
jne 0x1403807fb
movsxd rax, ecx
imul rax, rax, 0x18
add rax, qword [rbp + 0x88]
mov ecx, dword [rsp + 0x60]
mov dword [rax + 8], ecx
mov dword [rsp + 0x178], 0
mov eax, dword [rsp + 0x60]
cmp dword [rbp + 0x94], eax
jle 0x140382251
mov ecx, dword [rsp + 0x60]
lea eax, [rcx + 1]
mov dword [rbp + 0x90], eax
movsxd rax, ecx
mov ecx, dword [rsp + 0xb0]
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], ecx
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x25
cmp byte [rsi + 0x22], 0x58
je 0x140382200
xor r9d, r9d
xor r8d, r8d
cmp byte [rsi + 0x21], 0x56
mov edx, 3
mov rcx, r13
je 0x140381a0c
call dbg.windowCodeOp
xor r8d, r8d
mov edx, 1
mov rcx, r13
mov r10d, dword [rbp + 0x90]
mov r9d, 1
mov dword [rsp + 0x70], r10d
call dbg.windowCodeOp
xor r9d, r9d
mov r8d, edi
mov edx, 2
mov rcx, r13
mov dword [rsp + 0x48], eax
call dbg.windowCodeOp
mov r10d, dword [rsp + 0x70]
xor r8d, r8d
mov rcx, rbp
mov dword [rsp + 0x20], 0
mov edx, 0xb
mov r9d, r10d
call sym.sqlite3VdbeAddOp3
mov r11d, dword [rsp + 0x48]
mov eax, dword [rbp + 0x90]
test r11d, r11d
lea edx, [rax - 1]
cmovs r11d, edx
mov rdx, qword [rbp]
movzx ecx, byte [rdx + 0x63]
lea rdx, [0x1407d6d60]
test cl, cl
jne 0x140380912
movsxd rdx, r11d
imul rdx, rdx, 0x18
add rdx, qword [rbp + 0x88]
mov dword [rdx + 8], eax
mov edi, dword [rsp + 0x60]
lea edx, [rax - 1]
test edi, edi
cmovns edx, edi
mov edi, edx
lea rdx, [0x1407d6d60]
test cl, cl
jne 0x140380940
movsxd rdx, edi
lea rcx, [rdx + rdx*2]
mov rdx, qword [rbp + 0x88]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], eax
xor r9d, r9d
mov edx, 0x8e
mov rcx, rbp
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x184]
call sym.sqlite3VdbeAddOp3
cmp qword [rsi + 0x10], 0
je 0x1403809d0
mov r9d, dword [rsi + 0x84]
test r9d, r9d
jne 0x14038218d
mov esi, dword [rsp + 0x50]
mov edx, dword [rbp + 0x90]
mov rcx, qword [rbp]
test esi, esi
lea eax, [rdx - 1]
cmovns eax, esi
cmp byte [rcx + 0x63], 0
mov esi, eax
lea rax, [0x1407d6d60]
jne 0x1403809ad
movsxd rax, esi
imul rax, rax, 0x18
add rax, qword [rbp + 0x88]
mov dword [rax + 4], edx
xor r9d, r9d
mov edx, 0x41
mov rcx, rbp
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x80]
call sym.sqlite3VdbeAddOp3
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov rcx, r15
mov edx, 0xb
mov r9d, dword [rsp + 0x90]
call sym.sqlite3VdbeAddOp3
mov rcx, qword [r15 + 0x18]
mov r8d, dword [rsp + 0xd0]
mov eax, dword [rcx + 0x44]
neg r8d
add eax, dword [rcx + 0x48]
js 0x140381bd3
mov edx, dword [r15 + 0x90]
mov rax, qword [rcx + 0x50]
movsxd r8, r8d
mov dword [rax + r8*4], edx
mov eax, dword [rsp + 0x90]
mov esi, dword [rsp + 0xc4]
mov rcx, rbx
mov rdx, r12
mov r8d, 0xffffffff
lea r9, [rsp + 0xf0]
mov dword [rsp + 0x110], 0
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x200]
mov dword [rsp + 0x30], esi
not esi
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xe4]
mov qword [rsp + 0x20], rax
call dbg.selectInnerLoop
mov rcx, qword [r15 + 0x18]
movsxd r8, esi
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x140381bc6
mov edx, dword [r15 + 0x90]
mov rax, qword [rcx + 0x50]
mov dword [rax + r8*4], edx
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov rcx, r15
mov edx, 0x41
mov r8d, dword [rsp + 0xa8]
call sym.sqlite3VdbeAddOp3
mov rcx, qword [r15 + 0x18]
mov r8d, dword [rsp + 0x90]
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
not r8d
js 0x140381bb9
mov edx, dword [r15 + 0x90]
mov rax, qword [rcx + 0x50]
movsxd r8, r8d
mov dword [rax + r8*4], edx
cmp byte [rsp + 0xe5], 3
je 0x140381740
cmp qword [rsp + 0xf0], 0
je 0x140380b4f
mov eax, dword [rsp + 0xf8]
lea r9, str.RIGHT_PART_OF_ORDER_BY
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, rbx
test eax, eax
lea rax, str.ORDER_BY
cmovle r9, rax
xor edx, edx
call dbg.sqlite3VdbeExplain
mov rax, qword [rsp + 0x200]
mov rdx, r12
mov rcx, rbx
lea r8, [rsp + 0xf0]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x58]
mov r9d, dword [rax]
call dbg.generateSortTail
mov rcx, qword [r15 + 0x18]
mov r8d, dword [rsp + 0x88]
mov eax, dword [rcx + 0x44]
neg r8d
add eax, dword [rcx + 0x48]
js 0x1403815ae
mov edx, dword [r15 + 0x90]
mov rax, qword [rcx + 0x50]
movsxd r8, r8d
mov dword [rax + r8*4], edx
mov ecx, dword [rbx + 0x30]
xor eax, eax
test ecx, ecx
setg al
movzx edx, byte [r14 + 0x63]
add edx, ecx
mov dword [rbx + 0x30], edx
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x14037f12f
mov rcx, r14
mov dword [rsp + 0x48], eax
call dbg.exprListDeleteNN
mov eax, dword [rsp + 0x48]
jmp 0x14037f12f
mov dword [rsp + 0x108], 0xffffffff
jmp 0x14037f91a
test byte [r14 + 0x5d], 0x80
jne 0x14037f41b
mov rdx, r12
mov rcx, rbx
mov qword [rsp + 0x48], r11
call sym.propagateConstants.isra.0
mov r11, qword [rsp + 0x48]
mov eax, dword [r11]
jmp 0x14037f41b
mov rcx, qword [r12 + 0x20]
mov edx, dword [rcx]
lea rax, [rcx + 8]
test edx, edx
jle 0x140380c21
sub edx, 1
shl rdx, 5
lea rdx, [rcx + rdx + 0x28]
nop word cs:[rax + rax]
xor r10d, r10d
add rax, 0x20
mov word [rax - 6], r10w
cmp rax, rdx
jne 0x140380c10
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax]
add rax, 8
test ecx, ecx
jle 0x140380c59
mov rsi, qword [rsp + 0x48]
lea edx, [rcx - 1]
shl rdx, 5
lea rdx, [rsi + rdx + 0x28]
nop dword [rax]
xor r9d, r9d
add rax, 0x20
mov word [rax - 6], r9w
cmp rax, rdx
jne 0x140380c48
cmp word [r12 + 2], 0x42
jle 0x140380c6e
mov r8d, 0x42
mov word [r12 + 2], r8w
mov r9, qword [rsp + 0xf0]
mov dword [rsp + 0x90], 0
test r9, r9
je 0x140380c8f
cmp dword [r9], ecx
je 0x140381955
mov eax, dword [rbx + 0x44]
mov edx, 0x40
mov rcx, r14
mov qword [rsp + 0x60], r11
mov dword [rsp + 0xac], eax
sub eax, 1
mov dword [rbx + 0x44], eax
mov dword [rsp + 0x9c], eax
call sym.sqlite3DbMallocRawNN
mov r11, qword [rsp + 0x60]
test rax, rax
mov rbp, rax
je 0x140380d52
mov qword [rbp], 0
mov qword [rbp + 8], 0
mov qword [rbp + 0x10], 0
mov qword [rbp + 0x18], 0
mov qword [rbp + 0x20], 0
mov qword [rbp + 0x28], 0
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x38], 0
mov rcx, qword [rbx]
mov qword [rsp + 0x60], r11
test rcx, rcx
je 0x140381635
mov edx, 0x18
call sym.sqlite3DbMallocRawNN
mov r11, qword [rsp + 0x60]
test rax, rax
je 0x14038278a
mov rdx, qword [rbx + 0x188]
lea rsi, [dbg.agginfoFree]
mov qword [rax], rdx
mov qword [rbx + 0x188], rax
mov qword [rax + 8], rbp
mov qword [rax + 0x10], rsi
movzx eax, byte [r14 + 0x63]
mov byte [rsp + 0x60], al
test al, al
jne 0x14037fc80
mov eax, dword [r12 + 0x10]
mov rsi, qword [rsp + 0x48]
mov qword [rsp + 0x70], r11
lea r13, [rsp + 0x150]
mov dword [rbp + 0x3c], eax
mov eax, dword [rbx + 0x38]
mov qword [rsp + 0x168], 0
add eax, 1
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], r11
mov qword [rsp + 0x160], rbp
mov dword [rbp + 0x10], eax
test rsi, rsi
je 0x140381b3e
mov eax, dword [rsi]
mov rdx, qword [rsp + 0x58]
mov qword [rbp + 0x18], rsi
mov rcx, r13
mov dword [rbp + 0xc], eax
call dbg.sqlite3ExprAnalyzeAggList
mov rdx, qword [rsp + 0xf0]
mov rcx, r13
call dbg.sqlite3ExprAnalyzeAggList
mov r11, qword [rsp + 0x70]
cmp qword [rsp + 0x80], 0
je 0x140380ed3
lea rdx, [rsp + 0x130]
xor eax, eax
mov ecx, 6
mov rdi, rdx
mov rdx, qword [r12 + 0x40]
lea rsi, [rsp + 0x120]
rep stosd dword [rdi], eax
lea rax, [sym.havingToWhereExprCb]
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x148], r12
test rdx, rdx
je 0x140380e63
mov rcx, rsi
call dbg.walkExpr
mov r11, qword [rsp + 0x70]
mov rax, qword [r12 + 0x30]
mov qword [rsp + 0x78], rax
lea rax, [dbg.analyzeAggregate]
mov rdx, qword [rsp + 0x80]
mov rcx, rsi
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x128], rax
lea rax, [dbg.sqlite3WalkerDepthIncrease]
mov qword [rsp + 0x130], rax
lea rax, [dbg.sqlite3WalkerDepthDecrease]
mov qword [rsp + 0x138], rax
mov dword [rsp + 0x140], 0
mov qword [rsp + 0x148], r13
mov qword [rsp + 0x120], 0
call dbg.walkExpr
mov r11, qword [rsp + 0x70]
mov eax, dword [rbp + 0x28]
cmp qword [r12 + 0x38], 0
mov qword [rsp + 0x70], 0
mov dword [rbp + 0x2c], eax
je 0x140381b98
mov edx, dword [rbp + 0x38]
test edx, edx
jle 0x1403810a2
mov rdx, qword [rbp + 0x30]
mov qword [rsp + 0x1f0], rbx
mov eax, dword [rsp + 0x178]
xor esi, esi
mov rdi, r11
jmp 0x140380f3e
mov eax, dword [rsp + 0x178]
mov edx, dword [rbp + 0x38]
add rsi, 1
and eax, 0xfffdffff
mov dword [rsp + 0x178], eax
cmp edx, esi
jle 0x140381097
mov rdx, qword [rbp + 0x30]
mov rcx, rsi
or eax, 0x20000
shl rcx, 5
mov rbx, qword [rdx + rcx]
mov rcx, r13
mov dword [rsp + 0x178], eax
mov rdx, qword [rbx + 0x20]
call dbg.sqlite3ExprAnalyzeAggList
test byte [rbx + 7], 1
je 0x140380f18
mov rax, qword [rbx + 0x40]
mov rdx, qword [rax + 0x48]
lea rax, [dbg.analyzeAggregate]
mov dword [rsp + 0x140], 0
mov qword [rsp + 0x128], rax
lea rax, [dbg.sqlite3WalkerDepthIncrease]
mov qword [rsp + 0x130], rax
lea rax, [dbg.sqlite3WalkerDepthDecrease]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x148], r13
mov qword [rsp + 0x120], 0
test rdx, rdx
je 0x140380f18
lea rcx, [rsp + 0x120]
call dbg.walkExpr
jmp 0x140380f18
mov eax, dword [rbx + 0x34]
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
mov qword [rsp + 0x60], r11
lea edx, [rax + 1]
mov dword [rsp + 0xe8], eax
mov dword [rbx + 0x34], edx
mov rdx, qword [r12 + 0x20]
call dbg.sqlite3KeyInfoFromExprList
xor r9d, r9d
mov edx, 0x70
mov rcx, r15
mov dword [rsp + 0x30], 0xfffffff7
mov r8d, dword [rsp + 0xe8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
call sym.sqlite3VdbeAddOp4
mov r11, qword [rsp + 0x60]
mov dword [rsp + 0xec], eax
movsxd rax, dword [r15 + 0x90]
test eax, eax
jle 0x14038105a
mov rdx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov ecx, 8
lea rax, [rdx + rax*8]
mov word [rax - 0x16], cx
mov byte [rsp + 0xe5], 3
jmp 0x14037f994
movzx eax, byte [r14 + 0x63]
add eax, edx
jmp 0x14037f348
cmp qword [rsp + 0x48], 0
jne 0x140380beb
mov dword [rsp + 0x90], 0
xor ecx, ecx
mov word [r12 + 2], cx
jmp 0x140380c8f
mov rbx, qword [rsp + 0x1f0]
mov r11, rdi
mov r8d, dword [rbx + 0x38]
mov dword [rbp + 0x14], r8d
cmp byte [r14 + 0x63], 0
jne 0x140381729
cmp qword [rsp + 0x48], 0
je 0x1403822dd
xor esi, esi
sub edx, 1
je 0x1403826eb
mov eax, dword [rbx + 0x34]
mov r9d, dword [rbp + 0x28]
xor r8d, r8d
mov rcx, rbx
mov qword [rsp + 0xc8], r11
lea edx, [rax + 1]
mov dword [rbx + 0x34], edx
mov rdx, qword [rsp + 0x48]
mov dword [rbp + 4], eax
call dbg.sqlite3KeyInfoFromExprList
mov r9d, dword [rbp + 0xc]
mov r8d, dword [rbp + 4]
mov rcx, r15
mov dword [rsp + 0x30], 0xfffffff7
mov edx, 0x72
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov qword [rsp + 0xb8], rax
call sym.sqlite3VdbeAddOp4
mov edx, dword [rbx + 0x44]
xor r8d, r8d
mov dword [rsp + 0xd4], eax
mov eax, dword [rbx + 0x38]
lea ecx, [rdx - 2]
lea edi, [rax + 1]
lea r9d, [rax + 2]
mov dword [rbx + 0x44], ecx
mov dword [rsp + 0xa0], edi
lea edi, [rax + 3]
lea r13d, [rax + 5]
mov dword [rsp + 0xb4], edi
lea edi, [rdx - 1]
mov rdx, qword [rsp + 0x48]
mov dword [rsp + 0xd0], edi
lea edi, [rax + 4]
mov eax, dword [rdx]
mov dword [rsp + 0xa8], ecx
mov edx, 0x45
mov rcx, r15
mov dword [rsp + 0xb0], r9d
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0xc0], edi
add eax, edi
mov dword [rsp + 0xd8], r13d
lea r11d, [rax + 1]
add eax, dword [rsp + 0x60]
mov dword [rbx + 0x38], eax
mov dword [rsp + 0x20], 0
mov dword [rsp + 0xc4], r11d
call sym.sqlite3VdbeAddOp3
mov rdx, qword [rsp + 0x48]
xor r8d, r8d
mov r9d, r13d
mov rcx, r15
mov eax, dword [rdx]
mov edx, 0x48
add eax, r13d
sub eax, 1
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov r8d, edi
mov edx, 0xc
mov rcx, r15
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xa8]
call sym.sqlite3VdbeAddOp3
cmp dword [rsp + 0x90], 1
mov r9, qword [rsp + 0x48]
mov rcx, rbx
sbb eax, eax
mov r11, qword [rsp + 0xc8]
mov r8, qword [rsp + 0x78]
mov dword [rsp + 0x30], 0
and ax, 0xfe00
add ax, 0x240
mov rdx, r11
or eax, esi
cwde
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
call dbg.sqlite3WhereBegin
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140381714
mov rax, qword [rsp + 0x78]
movzx esi, byte [rax + 0x43]
movsx eax, byte [rax + 0x41]
mov byte [rsp + 0xdf], sil
mov dword [rsp + 0xc8], esi
mov rsi, qword [rsp + 0x48]
cmp dword [rsi], eax
je 0x1403828e2
cmp byte [rsp + 0xe4], 0
lea r9, str.GROUP_BY
je 0x1403812a1
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, rbx
call dbg.sqlite3VdbeExplain
mov rax, qword [rsp + 0x48]
mov edx, dword [rbp + 0x28]
mov edi, dword [rax]
test edx, edx
jle 0x140382c55
mov rcx, qword [rbp + 0x20]
sub edx, 1
mov esi, edi
shl rdx, 5
lea rax, [rcx + 0x1a]
lea rcx, [rcx + rdx + 0x3a]
movsx edx, word [rax]
cmp edx, esi
setge dl
add rax, 0x20
movzx edx, dl
add esi, edx
cmp rcx, rax
jne 0x1403812da
mov edx, esi
mov rcx, rbx
xor r13d, r13d
call sym.sqlite3GetTempRange
mov dword [rsp + 0x20], 0
mov rdx, qword [rsp + 0x48]
xor r9d, r9d
mov r8d, eax
mov dword [rsp + 0x50], eax
call sym.sqlite3ExprCodeExprList.isra.0
cmp dword [rbp + 0x28], 0
jg 0x140381336
jmp 0x140381be0
add r13, 1
cmp dword [rbp + 0x28], r13d
jle 0x140381be0
mov rax, r13
shl rax, 5
add rax, qword [rbp + 0x20]
movsx edx, word [rax + 0x1a]
cmp edx, edi
jl 0x140381328
mov ecx, dword [rsp + 0x50]
movsx r9d, word [rax + 0x18]
mov r8d, dword [rax + 0x10]
lea edx, [rcx + rdi]
mov rcx, r15
add edi, 1
mov dword [rsp + 0x20], edx
mov rdx, qword [rax]
call sym.sqlite3ExprCodeGetColumnOfTable
jmp 0x140381328
mov qword [rsp + 0xf0], 0
mov edx, dword [rsp + 0x108]
test edx, edx
js 0x14037ff72
mov rcx, r15
call sym.sqlite3VdbeChangeToNoop.isra.0
jmp 0x14037ff72
mov rcx, qword [r15]
lea rdx, [0x1407d6d60]
cmp byte [rcx + 0x63], 0
jne 0x1403813b3
imul rax, rax, 0x18
add rax, qword [r15 + 0x88]
mov rdx, rax
mov byte [rdx], 0x72
or byte [rsp + 0x114], 1
jmp 0x14037f980
mov r13, qword [rsi]
jmp 0x14037f08b
mov rdx, qword [rsp + 0x58]
mov r8d, 0xffffffff
mov qword [rsp + 0x60], r11
mov rcx, qword [rsp + 0xf0]
call sym.sqlite3ExprListCompare
mov r11, qword [rsp + 0x60]
test eax, eax
jne 0x14037f89c
cmp qword [r12 + 0x70], 0
jne 0x14037f89c
and dword [r12 + 4], 0xfffffffe
mov rdx, qword [rsp + 0x58]
xor r8d, r8d
mov rcx, r14
call dbg.sqlite3ExprListDup
or dword [r12 + 4], 8
mov r11, qword [rsp + 0x60]
mov qword [rsp + 0x48], rax
mov qword [r12 + 0x38], rax
jmp 0x14037f89c
mov rax, qword [rsp + 0x58]
mov edx, 0x70
mov rcx, r15
mov qword [rsp + 0x60], r11
mov dword [rsp + 0x20], 0
mov r9d, dword [rax]
mov rax, qword [rsp + 0x200]
mov r8d, dword [rax + 4]
call sym.sqlite3VdbeAddOp3
mov r11, qword [rsp + 0x60]
jmp 0x14037f92b
mov r10d, dword [r15 + 0x90]
cmp r10d, dword [r15 + 0x94]
jge 0x1403826b8
lea eax, [r10 + 1]
mov dword [r15 + 0x90], eax
movsxd rax, r10d
lea rdx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
lea rax, [rax + rdx*8]
mov qword [rax], 0x11
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov eax, dword [rdi + 0x44]
mov r9, rdi
lea r8, str.MATERIALIZE___S
mov rcx, rbx
mov edx, 1
mov qword [rsp + 0x88], r11
mov dword [rsp + 0x80], r10d
mov dword [rsp + 0x154], eax
mov byte [rsp + 0x150], 0xc
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x158], 0
mov dword [rsp + 0x160], 0
call dbg.sqlite3VdbeExplain
mov r8, qword [rsp + 0x60]
mov rdx, r14
mov rcx, rbx
call dbg.sqlite3Select
mov rax, qword [rdi + 0x20]
mov r10d, dword [rsp + 0x80]
movzx edx, word [r14 + 2]
mov r11, qword [rsp + 0x88]
test r10d, r10d
mov word [rax + 0x4a], dx
mov eax, dword [r15 + 0x90]
je 0x14037fdaa
mov rcx, qword [r15]
lea edx, [rax - 1]
cmovs r10d, edx
lea rdx, [0x1407d6d60]
cmp byte [rcx + 0x63], 0
jne 0x140381576
movsxd rdx, r10d
imul rdx, rdx, 0x18
add rdx, qword [r15 + 0x88]
mov dword [rdx + 8], eax
jmp 0x14037fdaa
cmp al, 0x56
jne 0x14038053d
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x17c]
mov edx, 0x25
mov rcx, rbp
mov r9d, 1
call sym.sqlite3VdbeAddOp3
jmp 0x140380545
mov rdx, r15
call dbg.resizeResolveLabel
jmp 0x140380b7c
mov dword [rsp + 0x20], 0
mov r9d, 2
mov edx, 0x70
mov rcx, r12
call sym.sqlite3VdbeAddOp3
mov rax, qword [r12]
cmp byte [rax + 0x63], 0
je 0x14037fb98
jmp 0x14037fbb9
mov dword [rsp + 0x60], eax
jmp 0x140380802
cmp qword [rbx + 0xa0], 0
je 0x1403827a4
mov rcx, rbx
call dbg.sqlite3VdbeCreate
mov rbp, rax
mov eax, dword [rbx + 0x44]
mov dword [rsp + 0x9c], eax
jmp 0x14037ffd1
mov dword [rsp + 0x80], 0
mov dword [rsp + 0xb8], 0
jmp 0x14038038a
mov ecx, 0x18
call sym.sqlite3Malloc
mov r11, qword [rsp + 0x60]
jmp 0x140380d29
xor r9d, r9d
mov edx, 0x41
mov rcx, r15
mov qword [rsp + 0x60], r11
mov dword [rsp + 0x20], 0
call dbg.growOp3
mov r11, qword [rsp + 0x60]
jmp 0x14037fdf1
mov dword [rsp + 0x20], 0
mov edx, 0x45
xor r8d, r8d
mov rcx, r15
call dbg.growOp3
mov esi, eax
lea edx, [rax + 1]
jmp 0x14037fd09
mov rsi, qword [rsp + 0x60]
or r8d, 0xffffffff
mov rdx, r12
mov rcx, rbx
lea r9, [rsp + 0xf0]
mov eax, dword [rsi + 0x34]
mov dword [rsp + 0x38], eax
mov eax, dword [rsi + 0x30]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xe4]
mov qword [rsp + 0x20], rax
call dbg.selectInnerLoop
mov rcx, rsi
call sym.sqlite3WhereEnd
mov qword [rsp + 0x68], 0
jmp 0x140380ae2
cmp qword [rbx + 0xa0], 0
je 0x140382774
mov rcx, rbx
mov qword [rsp + 0x60], r11
call dbg.sqlite3VdbeCreate
mov r11, qword [rsp + 0x60]
mov r13, rax
jmp 0x14037f9f6
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140381729
mov rdx, rax
mov rcx, r14
call dbg.exprListDeleteNN
mov rax, qword [rsp + 0x70]
mov ecx, dword [rbx + 0x30]
mov qword [rsp + 0x68], rax
mov eax, 1
jmp 0x140380b86
lea r9, str.DISTINCT
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, rbx
call dbg.sqlite3VdbeExplain
jmp 0x140380af0
mov eax, dword [rax + 0x30]
jmp 0x14037ff63
mov eax, dword [rsp + 0xac]
mov r9d, dword [rsp + 0x70]
mov rcx, rbx
mov r8d, dword [rsp + 0xc0]
mov rdx, qword [rsp + 0x78]
mov dword [rsp + 0x20], eax
call dbg.windowIfNewPeer
jmp 0x1403806c3
mov r10d, dword [rbp + 0x90]
cmp r10d, dword [rbp + 0x94]
jge 0x140382e9d
lea eax, [r10 + 1]
mov ecx, dword [rsp + 0x48]
mov dword [rbp + 0x90], eax
movsxd rax, r10d
imul rax, rax, 0x18
add rax, qword [rbp + 0x88]
mov dword [rax + 4], ecx
mov ecx, 1
shl rcx, 0x20
mov qword [rax + 0x10], 0
mov qword [rax + 8], rcx
mov dword [rax], 0x30
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov rcx, r13
mov dword [rsp + 0x70], r10d
call dbg.windowCodeOp
mov edx, 2
xor r9d, r9d
mov r8d, edi
mov rcx, r13
call dbg.windowCodeOp
mov r10d, dword [rsp + 0x70]
mov edx, dword [rbp + 0x90]
test r10d, r10d
jns 0x14038181c
lea r10d, [rdx - 1]
mov rcx, qword [rbp]
lea rax, [0x1407d6d60]
cmp byte [rcx + 0x63], 0
jne 0x14038183b
movsxd rax, r10d
imul rax, rax, 0x18
add rax, qword [rbp + 0x88]
mov dword [rax + 8], edx
mov rcx, qword [rbp + 0x18]
jmp 0x140380733
cmp qword [rax + 0x2d0], 0
jne 0x14037fbb9
sub dword [r13], 1
jne 0x14037fbb9
mov rcx, qword [r13 + 0x10]
mov rdx, r13
call sym.sqlite3DbFreeNN
jmp 0x14037fbb9
cmp byte [rsi + 0x20], 0x59
je 0x1403800ad
mov rdx, qword [rsi + 0x28]
mov rcx, qword [rbx]
call sym.windowExprGtZero.isra.0
test eax, eax
je 0x1403800ad
mov dword [rsp + 0x174], 1
jmp 0x1403800ad
mov dword [rsp + 0x70], 0
mov dword [rsp + 0xc0], 0
jmp 0x14038017f
cmp dword [rsi + 0x84], 0
jne 0x1403800ad
mov rdx, rsi
lea r8, str.nth_value
lea r10, str.first_value
lea r11, str.lead
lea rdi, [0x14076614e]
mov rax, qword [rdx + 0x50]
mov rax, qword [rax + 0x38]
cmp rax, r10
sete cl
cmp rax, r8
sete r9b
or ecx, r9d
cmp rax, r11
sete r9b
or cl, r9b
jne 0x1403800ad
cmp rax, rdi
je 0x1403800ad
mov rdx, qword [rdx + 0x40]
test rdx, rdx
jne 0x1403818e3
cmp byte [rsi + 0x22], 0x58
jne 0x14038188f
cmp byte [rsi + 0x20], 0x59
je 0x1403800ad
mov rdx, qword [rsi + 0x30]
mov rcx, qword [rbx]
call sym.windowExprGtZero.isra.0
test eax, eax
je 0x1403800ad
mov dword [rsp + 0x174], 3
jmp 0x1403800ad
test ecx, ecx
jle 0x140381983
sub ecx, 1
mov r8, qword [rsp + 0x48]
mov eax, 0x18
shl rcx, 5
add rcx, 0x38
movzx edx, byte [r9 + rax]
and edx, 1
mov byte [r8 + rax], dl
add rax, 0x20
cmp rcx, rax
jne 0x14038196e
mov rcx, qword [rsp + 0x48]
or r8d, 0xffffffff
mov rdx, r9
mov qword [rsp + 0x60], r11
call sym.sqlite3ExprListCompare
mov r11, qword [rsp + 0x60]
test eax, eax
sete al
movzx eax, al
mov dword [rsp + 0x90], eax
jmp 0x140380c8f
movzx eax, word [rsi + 0x20]
mov r8d, dword [rsp + 0x48]
xor r9d, r9d
mov rcx, r13
mov edx, 3
mov word [rsp + 0x70], ax
call dbg.windowCodeOp
xor r9d, r9d
cmp word [rsp + 0x70], 0x5859
jne 0x14038070c
mov r8d, edi
mov edx, 2
mov rcx, r13
call dbg.windowCodeOp
mov rcx, r13
xor r9d, r9d
xor r8d, r8d
mov edx, 1
call dbg.windowCodeOp
mov rcx, qword [rbp + 0x18]
jmp 0x140380733
call dbg.windowCodeOp
cmp byte [rsi + 0x20], 0x59
je 0x140382b63
mov eax, dword [rbp + 0x90]
cmp byte [rsi + 0x22], 0x5a
mov r9d, 1
mov dword [rsp + 0x70], eax
je 0x140382b32
mov r8d, dword [rsp + 0x48]
mov edx, 1
mov rcx, r13
call dbg.windowCodeOp
mov r8d, edi
mov edx, 2
mov rcx, r13
mov r9d, 1
mov dword [rsp + 0x48], eax
call dbg.windowCodeOp
mov edi, eax
mov r9d, dword [rsp + 0x70]
xor r8d, r8d
mov edx, 0xb
mov rcx, rbp
mov dword [rsp + 0x20], 0
call sym.sqlite3VdbeAddOp3
mov r10d, dword [rbp + 0x90]
test edi, edi
jns 0x140381a8f
lea edi, [r10 - 1]
mov rdx, qword [rbp]
lea rax, [0x1407d6d60]
cmp byte [rdx + 0x63], 0
jne 0x140381aae
movsxd rax, edi
imul rax, rax, 0x18
add rax, qword [rbp + 0x88]
mov dword [rax + 8], r10d
xor r8d, r8d
mov r9d, 1
mov rcx, r13
mov edx, 1
mov dword [rsp + 0x70], r10d
call dbg.windowCodeOp
mov r10d, dword [rsp + 0x70]
xor r8d, r8d
mov rcx, rbp
mov dword [rsp + 0x20], 0
mov edx, 0xb
mov edi, eax
mov r9d, r10d
call sym.sqlite3VdbeAddOp3
cmp dword [rsp + 0x48], 0
mov eax, dword [rbp + 0x90]
jns 0x140381b03
lea ecx, [rax - 1]
mov dword [rsp + 0x48], ecx
mov rdx, qword [rbp]
movzx ecx, byte [rdx + 0x63]
test cl, cl
jne 0x1403826a6
movsxd rdx, dword [rsp + 0x48]
mov r8, qword [rbp + 0x88]
imul rdx, rdx, 0x18
mov dword [r8 + rdx + 8], eax
test edi, edi
jns 0x140381b2f
lea edi, [rax - 1]
movsxd rdx, edi
imul rdx, rdx, 0x18
add rdx, r8
jmp 0x140380912
mov dword [rbp + 0xc], 0
mov rdx, qword [rsp + 0x58]
mov rcx, r13
lea rsi, [rsp + 0x120]
mov qword [rbp + 0x18], 0
call dbg.sqlite3ExprAnalyzeAggList
mov rdx, qword [rsp + 0xf0]
mov rcx, r13
call dbg.sqlite3ExprAnalyzeAggList
mov r11, qword [rsp + 0x70]
cmp qword [rsp + 0x80], 0
jne 0x140380e6d
jmp 0x140380ed3
mov rdx, rbp
call dbg.resizeResolveLabel
jmp 0x14038075b
mov rax, qword [r12 + 0x40]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14038293e
mov qword [rsp + 0x70], 0
jmp 0x140380eee
mov rdx, r15
call dbg.resizeResolveLabel
jmp 0x140380ae2
mov rdx, r15
call dbg.resizeResolveLabel
jmp 0x140380a95
mov rdx, r15
call dbg.resizeResolveLabel
jmp 0x140380a1d
movzx eax, byte [rbx + 0x1f]
test al, al
je 0x1403828d2
sub eax, 1
mov byte [rbx + 0x1f], al
movzx eax, al
mov r13d, dword [rbx + rax*4 + 0xd0]
mov dword [rsp + 0x20], r13d
mov r8d, dword [rsp + 0x50]
mov r9d, esi
mov rcx, r15
mov edx, 0x5d
call sym.sqlite3VdbeAddOp3
mov r8d, dword [rbp + 4]
mov r9d, r13d
mov rcx, r15
mov dword [rsp + 0x20], 0
mov edx, 0x87
call sym.sqlite3VdbeAddOp3
test r13d, r13d
je 0x140381c43
mov edx, r13d
mov rcx, rbx
call sym.sqlite3ReleaseTempReg.part.0
mov edx, dword [rsp + 0x50]
mov r8d, esi
mov rcx, rbx
call sym.sqlite3ReleaseTempRange
mov rcx, qword [rsp + 0x78]
call sym.sqlite3WhereEnd
mov r13d, dword [rbx + 0x34]
lea eax, [r13 + 1]
mov dword [rbx + 0x34], eax
mov dword [rbp + 8], r13d
movzx eax, byte [rbx + 0x1f]
test al, al
je 0x140382930
sub eax, 1
mov byte [rbx + 0x1f], al
movzx eax, al
mov edi, dword [rbx + rax*4 + 0xd0]
mov dword [rsp + 0x20], esi
mov r9d, edi
mov r8d, r13d
mov edx, 0x75
mov rcx, r15
call sym.sqlite3VdbeAddOp3
mov r8d, dword [rbp + 4]
mov edx, 0x23
mov rcx, r15
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x9c]
call sym.sqlite3VdbeAddOp3
cmp dword [rsp + 0x90], 0
mov byte [rbp + 1], 1
je 0x140381cd8
test byte [r14 + 0x5c], 4
je 0x140382ef1
mov r8d, dword [rbp + 4]
mov r9d, edi
mov edx, 0x81
mov rcx, r15
mov eax, dword [r15 + 0x90]
mov dword [rsp + 0x20], r13d
mov dword [rsp + 0x60], eax
call sym.sqlite3VdbeAddOp3
mov dword [rsp + 0x50], 1
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx]
test eax, eax
jle 0x140381dcc
mov edi, dword [rsp + 0xc4]
xor esi, esi
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x1f8], r12
mov r14, rsi
mov r12d, edi
mov rdi, rbx
mov rbx, rcx
jmp 0x140381d61
mov dword [rsp + 0x20], r12d
mov r9d, r14d
mov r8d, r13d
mov edx, 0x5b
mov rcx, r15
call sym.sqlite3VdbeAddOp3
mov eax, dword [rbx]
add r14, 1
add r12d, 1
cmp eax, r14d
jle 0x140381db9
mov edx, dword [rsp + 0x50]
test edx, edx
jne 0x140381d3a
mov byte [rbp], 1
cmp qword [rdi + 0x10], 0
je 0x140381d52
mov rax, r14
mov r8d, r12d
mov rcx, rdi
shl rax, 5
mov rsi, qword [rbx + rax + 8]
mov rdx, rsi
call sym.sqlite3ExprCodeTarget
mov r8d, eax
cmp eax, r12d
je 0x140381d52
test byte [rsi + 6], 0x20
mov rcx, qword [rdi + 0x10]
mov dword [rsp + 0x20], 0
mov r9d, r12d
sete dl
add edx, 0x4d
movzx edx, dl
call sym.sqlite3VdbeAddOp3
jmp 0x140381d52
mov r14, qword [rsp + 0x90]
mov r12, qword [rsp + 0x1f8]
mov rbx, rdi
mov rsi, qword [rsp + 0xb8]
test rsi, rsi
je 0x140381ddc
add dword [rsi], 1
mov rsi, qword [rsp + 0xb8]
mov dword [rsp + 0x20], eax
mov edx, 0x57
mov rcx, r15
mov edi, dword [rsp + 0xc4]
mov dword [rsp + 0x30], 0xfffffff7
mov qword [rsp + 0x28], rsi
mov esi, dword [rsp + 0xd8]
mov r9d, edi
mov r8d, esi
call sym.sqlite3VdbeAddOp4
xor r9d, r9d
mov edx, 0x10
mov rcx, r15
mov r13d, dword [r15 + 0x90]
lea r8d, [r13 + 1]
mov dword [rsp + 0x20], r8d
call sym.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x48]
mov r9d, esi
mov r8d, edi
mov rcx, qword [rbx + 0x10]
mov edx, 0x4c
mov eax, dword [rax]
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov dword [rsp + 0x20], 0
mov edx, 0xc
mov rcx, r15
mov r9d, dword [rsp + 0xd0]
mov r8d, dword [rsp + 0xb4]
call sym.sqlite3VdbeAddOp3
mov dword [rsp + 0x20], 0
mov edx, 0x30
mov rcx, r15
mov r9d, dword [rsp + 0x9c]
mov r8d, dword [rsp + 0xb0]
call sym.sqlite3VdbeAddOp3
mov dword [rsp + 0x20], 0
mov edx, 0xc
mov rcx, r15
mov r9d, dword [rsp + 0xa8]
mov r8d, dword [rsp + 0xc0]
call sym.sqlite3VdbeAddOp3
mov r8d, dword [r15 + 0x90]
mov edx, r13d
mov rcx, r15
call sym.sqlite3VdbeChangeP2
mov esi, dword [rsp + 0xa0]
mov r8, rbp
mov rcx, rbx
mov r9d, dword [rsp + 0xc8]
mov edx, esi
call dbg.updateAccumulator
mov r9d, esi
mov edx, 0x45
mov rcx, r15
mov dword [rsp + 0x20], 0
mov r8d, 1
call sym.sqlite3VdbeAddOp3
cmp dword [rsp + 0x50], 0
je 0x14038267b
mov r8d, dword [rbp + 4]
mov r9d, dword [rsp + 0x60]
mov edx, 3
mov rcx, r15
mov dword [rsp + 0x20], 0
call sym.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140381f4e
mov rdx, rax
mov rcx, r14
call dbg.exprListDeleteNN
mov r13d, dword [rsp + 0xb4]
mov esi, dword [rsp + 0xd0]
mov edx, 0xc
mov rcx, r15
mov dword [rsp + 0x20], 0
mov r9d, esi
mov r8d, r13d
call sym.sqlite3VdbeAddOp3
mov edx, dword [rsp + 0x9c]
mov rcx, r15
call sym.sqlite3VdbeGoto.isra.0
mov edi, dword [r15 + 0x90]
mov r8d, 1
mov rcx, r15
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xb0]
mov edx, 0x45
call sym.sqlite3VdbeAddOp3
xor r9d, r9d
mov r8d, r13d
mov edx, 0x41
mov dword [rsp + 0x20], 0
mov rcx, r15
call sym.sqlite3VdbeAddOp3
mov edx, esi
mov rcx, r15
call sym.sqlite3VdbeResolveLabel
mov esi, dword [r15 + 0x90]
mov edx, 0x30
mov rcx, r15
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0xa0]
lea r9d, [rsi + 2]
add esi, 1
call sym.sqlite3VdbeAddOp3
xor r9d, r9d
mov r8d, r13d
mov edx, 0x41
mov dword [rsp + 0x20], 0
mov rcx, r15
call sym.sqlite3VdbeAddOp3
mov rcx, qword [rbx + 0x10]
mov rdx, rbp
call sym.finalizeAggFunctions.isra.0
mov rdx, qword [rsp + 0x80]
mov r8d, esi
mov rcx, rbx
mov r9d, 0x10
call sym.sqlite3ExprIfFalse
mov dword [rsp + 0x38], edi
or r8d, 0xffffffff
mov rdx, r12
mov rax, qword [rsp + 0x200]
mov dword [rsp + 0x30], esi
lea r9, [rsp + 0xf0]
mov rcx, rbx
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xe4]
mov qword [rsp + 0x20], rax
call dbg.selectInnerLoop
xor r9d, r9d
mov r8d, r13d
mov edx, 0x41
mov dword [rsp + 0x20], 0
mov rcx, r15
call sym.sqlite3VdbeAddOp3
mov edx, dword [rsp + 0xa8]
mov rcx, r15
call sym.sqlite3VdbeResolveLabel
mov rdx, rbp
mov rcx, rbx
call dbg.resetAccumulator
xor r8d, r8d
mov edx, 0x45
mov rcx, r15
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xa0]
call sym.sqlite3VdbeAddOp3
xor r9d, r9d
mov edx, 0x41
mov rcx, r15
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0xc0]
call sym.sqlite3VdbeAddOp3
movzx eax, byte [rsp + 0xdf]
sub eax, 1
cmp al, 1
ja 0x14038211a
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbx + 0x10]
mov edx, dword [rsp + 0xc8]
mov r9d, dword [rax + 0x18]
mov r8d, dword [rax + 0x14]
call sym.fixDistinctOpenEph.part.0.isra.0
mov rcx, qword [r15 + 0x18]
mov r8d, dword [rsp + 0xac]
mov eax, dword [rcx + 0x44]
neg r8d
add eax, dword [rcx + 0x48]
js 0x140382699
mov edx, dword [r15 + 0x90]
mov rax, qword [rcx + 0x50]
movsxd r8, r8d
mov dword [rax + r8*4], edx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x68], rax
jmp 0x140380ae2
cmp byte [rsi + 0x20], 0x59
je 0x140381586
cmp dword [rsp + 0x48], 0
je 0x140381586
mov dword [rsp + 0x20], edi
mov r9d, dword [rsp + 0x48]
mov r8d, edi
mov rcx, rbp
mov edx, 0x6b
call sym.sqlite3VdbeAddOp3
movzx eax, byte [rsi + 0x21]
jmp 0x14038053d
mov dword [rsp + 0x20], 0
mov rcx, rbp
mov r8d, 1
mov edx, 0x45
call sym.sqlite3VdbeAddOp3
xor r8d, r8d
mov edx, 0x45
mov rcx, rbp
mov r9d, dword [rsi + 0x88]
mov dword [rsp + 0x20], 0
call sym.sqlite3VdbeAddOp3
jmp 0x14038097a
xor r9d, r9d
xor r8d, r8d
mov edx, 3
mov rcx, r13
call dbg.windowCodeOp
cmp byte [rsi + 0x22], 0x5a
je 0x14038183e
cmp byte [rsi + 0x20], 0x59
je 0x140382ba4
mov r8d, dword [rsp + 0x48]
xor r9d, r9d
jmp 0x14038070f
movzx eax, word [rsi + 0x20]
mov r8d, dword [rsp + 0x48]
xor r9d, r9d
mov rcx, r13
mov edx, 3
mov word [rsp + 0x70], ax
call dbg.windowCodeOp
cmp word [rsp + 0x70], 0x5859
je 0x140382c3d
mov edx, 1
mov rcx, r13
xor r9d, r9d
xor r8d, r8d
call dbg.windowCodeOp
mov rdx, qword [rbp]
mov eax, dword [rbp + 0x90]
movzx ecx, byte [rdx + 0x63]
jmp 0x140380915
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov edx, 0x25
mov rcx, rbp
mov r8d, dword [rsp + 0xb0]
call dbg.growOp3
mov dword [rsp + 0x60], eax
jmp 0x14038085c
cmp qword [rax + 0x2d0], 0
jne 0x1403802f2
test r13, r13
je 0x1403802f2
sub dword [r13], 1
jne 0x1403802f2
mov rcx, qword [r13 + 0x10]
mov rdx, r13
mov dword [rsp + 0xb8], r10d
call sym.sqlite3DbFreeNN
mov r10d, dword [rsp + 0xb8]
jmp 0x1403802f2
mov dword [rsp + 0x20], edx
xor r9d, r9d
mov edx, 0x34
mov rcx, rbp
call dbg.growOp3
mov dword [rsp + 0xa0], eax
jmp 0x14038043a
cmp qword [r12 + 0x30], 0
jne 0x140382cb3
mov rcx, qword [r12 + 0x20]
cmp dword [rcx], 1
jne 0x140382cb3
mov rax, qword [r12 + 0x28]
cmp dword [rax], 1
jne 0x140382cb3
mov rsi, qword [rax + 0x30]
test rsi, rsi
jne 0x140382cb3
mov r13, qword [rax + 0x28]
mov rax, qword [rcx + 8]
cmp dword [r13 + 0x54], 0
jne 0x140382cb3
cmp byte [rax], 0xa7
jne 0x140382cb3
test edx, edx
je 0x140382cb3
mov rcx, qword [rbp + 0x30]
mov rcx, qword [rcx + 8]
test byte [rcx + 5], 1
je 0x140382cb3
test dword [rax + 4], 0x1000002
jne 0x140382cb3
mov rdx, qword [r13 + 0x70]
mov rcx, qword [rbx]
test rdx, rdx
je 0x140382e39
call sym.sqlite3SchemaToIndex.part.0
mov r11d, eax
mov edi, dword [rbx + 0x34]
mov r10d, dword [r13 + 0x38]
mov edx, r11d
mov dword [rsp + 0x48], r11d
mov rcx, qword [rbx + 0xa0]
lea eax, [rdi + 1]
mov dword [rsp + 0x50], r10d
test rcx, rcx
mov dword [rbx + 0x34], eax
cmove rcx, rbx
call sym.sqlite3CodeVerifySchemaAtToplevel
mov rax, qword [r13]
mov r8d, dword [r13 + 0x38]
xor r9d, r9d
mov r11d, dword [rsp + 0x48]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov edx, r11d
call sym.sqlite3TableLock
test byte [r13 + 0x40], 0x80
mov r11d, dword [rsp + 0x48]
mov r10d, dword [rsp + 0x50]
je 0x14038251c
mov rdx, qword [r13 + 0x10]
mov rax, rdx
mov rsi, rdx
test rdx, rdx
jne 0x1403823f5
jmp 0x14038255e
mov rsi, qword [rsi + 0x28]
test rsi, rsi
je 0x140382dc3
movzx ecx, byte [rsi + 0x64]
and ecx, 3
cmp cl, 2
jne 0x1403823e8
mov rdx, qword [r12 + 0x28]
test byte [rdx + 0x48], 1
je 0x140382530
mov r9d, dword [rsi + 0x58]
mov rdx, rsi
mov rcx, rbx
mov dword [rsp + 0x60], r11d
mov dword [rsp + 0x50], r9d
call dbg.sqlite3KeyInfoOfIndex
mov r11d, dword [rsp + 0x60]
mov r8d, edi
mov rcx, r15
mov r9d, dword [rsp + 0x50]
mov edx, 0x62
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], r11d
call sym.sqlite3VdbeAddOp4Int
mov r10, qword [rsp + 0x48]
test r10, r10
je 0x140382473
mov r9d, 0xfffffff7
mov r8, r10
or edx, 0xffffffff
mov rcx, r15
call sym.sqlite3VdbeChangeP4
mov rax, qword [rbp + 0x30]
mov r8d, edi
mov edx, 0x5e
mov rcx, r15
mov r9d, dword [rax + 0x10]
mov dword [rsp + 0x20], 0
call sym.sqlite3VdbeAddOp3
xor r9d, r9d
mov r8d, edi
mov edx, 0x76
mov dword [rsp + 0x20], 0
mov rcx, r15
call sym.sqlite3VdbeAddOp3
cmp byte [rbx + 0x113], 2
je 0x140382c8e
mov esi, dword [rsp + 0x9c]
mov rcx, rbx
mov rdx, qword [rsp + 0x80]
mov r9d, 0x10
mov qword [rsp + 0xf0], 0
mov r8d, esi
call sym.sqlite3ExprIfFalse
mov dword [rsp + 0x38], esi
xor r9d, r9d
or r8d, 0xffffffff
mov rax, qword [rsp + 0x200]
mov dword [rsp + 0x30], esi
mov rdx, r12
mov rcx, rbx
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], rax
call dbg.selectInnerLoop
jmp 0x14038211a
mov rax, qword [r12 + 0x28]
test byte [rax + 0x48], 1
jne 0x14038255e
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x14038255e
test byte [rax + 0x64], 4
jne 0x14038254c
movzx edx, word [rax + 0x5c]
cmp dx, word [r13 + 0x4c]
jge 0x14038254c
cmp qword [rax + 0x48], 0
je 0x140382c77
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140382530
test rsi, rsi
jne 0x140382410
mov dword [rsp + 0x20], r11d
mov r9d, r10d
mov r8d, edi
mov edx, 0x62
mov dword [rsp + 0x28], 1
mov rcx, r15
call sym.sqlite3VdbeAddOp4Int
mov rax, qword [rbp + 0x30]
mov r8d, edi
mov rcx, r15
mov edx, 0x5e
mov r9d, dword [rax + 0x10]
mov dword [rsp + 0x20], 0
call sym.sqlite3VdbeAddOp3
xor r9d, r9d
mov r8d, edi
mov edx, 0x76
mov dword [rsp + 0x20], 0
mov rcx, r15
call sym.sqlite3VdbeAddOp3
cmp byte [rbx + 0x113], 2
jne 0x1403824bb
lea rax, [0x1407576ce]
mov rdx, rax
mov qword [rsp + 0x20], rdx
lea r8, str.SCAN__s_s_s
xor edx, edx
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov r9, qword [r13]
call dbg.sqlite3VdbeExplain
jmp 0x1403824bb
mov eax, dword [rbx + 0x38]
mov r8d, 1
mov rcx, r13
lea r9d, [rax + 1]
add eax, 2
mov dword [rdi + 0x84], r9d
mov dword [rbx + 0x38], eax
mov dword [rdi + 0x88], eax
mov eax, dword [rbx + 0x34]
lea edx, [rax + 1]
mov dword [rbx + 0x34], edx
mov edx, 0x45
mov dword [rdi + 0x64], eax
mov dword [rsp + 0x20], 0
call sym.sqlite3VdbeAddOp3
xor r8d, r8d
mov edx, 0x45
mov rcx, r13
mov r9d, dword [rdi + 0x88]
mov dword [rsp + 0x20], 0
call sym.sqlite3VdbeAddOp3
mov r9d, dword [rdi + 0x58]
mov r8d, dword [rdi + 0x64]
mov rcx, r13
mov dword [rsp + 0x20], 0
mov edx, 0x64
call sym.sqlite3VdbeAddOp3
mov r11, qword [rsp + 0x60]
jmp 0x14037fea3
mov rcx, qword [rsp + 0x78]
call sym.sqlite3WhereEnd
mov edx, dword [rsp + 0xd4]
mov rcx, r15
call sym.sqlite3VdbeChangeToNoop.isra.0
jmp 0x140381f39
mov rdx, r15
call dbg.resizeResolveLabel
jmp 0x140382147
mov dword [0x1407d6d68], eax
lea rdx, [0x1407d6d60]
jmp 0x140380912
xor r9d, r9d
xor r8d, r8d
mov edx, 0x11
mov rcx, r15
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x80], r11
call dbg.growOp3
mov r11, qword [rsp + 0x80]
mov r10d, eax
jmp 0x1403814b8
mov rax, qword [rbp + 0x30]
cmp dword [rax + 0x14], 0
js 0x1403810cc
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1403810cc
mov r13, qword [rax + 8]
test r13, r13
je 0x140382735
mov rdx, r13
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
mov qword [rsp + 0x60], r11
call dbg.exprDup
mov r11, qword [rsp + 0x60]
mov r13, rax
mov rdx, qword [rsp + 0x48]
xor r8d, r8d
mov rcx, r14
mov qword [rsp + 0x60], r11
call dbg.sqlite3ExprListDup
mov r8, r13
mov rcx, rbx
mov rdx, rax
call sym.sqlite3ExprListAppend
mov r11, qword [rsp + 0x60]
cmp rax, 1
mov qword [rsp + 0x68], rax
sbb esi, esi
not esi
and si, 0x500
jmp 0x1403810cc
mov rax, qword [rbx]
test byte [rax + 0x5c], 8
jne 0x1403816fa
mov byte [rbx + 0x23], 1
jmp 0x1403816fa
mov rcx, qword [rbx]
mov rdx, rbp
mov qword [rsp + 0x60], r11
call dbg.agginfoFree
mov r11, qword [rsp + 0x60]
jmp 0x140380d52
mov rax, qword [rbx]
test byte [rax + 0x5c], 8
jne 0x140381600
mov byte [rbx + 0x23], 1
jmp 0x140381600
cmp dword [rsp + 0x48], 0
je 0x140380709
mov r11d, dword [rbx + 0x44]
mov r9d, dword [rsp + 0x48]
mov rcx, r13
mov edx, 0x39
mov r10d, dword [rbp + 0x90]
mov r8d, dword [rsp + 0x184]
lea eax, [r11 - 1]
mov dword [rsp + 0x70], r11d
mov dword [rbx + 0x44], eax
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x18c]
mov dword [rsp + 0x78], r10d
mov dword [rsp + 0x20], eax
call dbg.windowCodeRangeTest
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov rcx, r13
call dbg.windowCodeOp
xor r9d, r9d
mov r8d, edi
mov edx, 2
mov rcx, r13
call dbg.windowCodeOp
mov r10d, dword [rsp + 0x78]
mov rcx, rbp
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov edx, 0xb
mov r9d, r10d
call sym.sqlite3VdbeAddOp3
mov rcx, qword [rbp + 0x18]
mov r11d, dword [rsp + 0x70]
neg r11d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
movsxd r8, r11d
js 0x140382ee0
mov edx, dword [rbp + 0x90]
mov rax, qword [rcx + 0x50]
mov dword [rax + r8*4], edx
jmp 0x140380733
mov eax, dword [rsp + 0xc8]
mov r8d, dword [rsp + 0xa0]
mov edx, 0x57
mov rcx, rbp
mov dword [rsp + 0x20], eax
call dbg.growOp3
mov r10d, eax
jmp 0x1403802c5
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov edx, 0xc
mov rcx, rbp
mov r8d, dword [rsp + 0x80]
call dbg.growOp3
mov dword [rsp + 0xb8], eax
jmp 0x140380363
mov eax, dword [rbx + 0x38]
lea r13d, [rax + 1]
mov dword [rbx + 0x38], r13d
jmp 0x140381bfd
cmp dword [rsp + 0x90], 0
je 0x140382c5c
test byte [r14 + 0x5c], 4
jne 0x14038291d
mov rax, qword [rsp + 0x78]
test byte [rax + 0x44], 8
je 0x14038291d
mov edx, dword [rsp + 0x108]
mov rcx, r15
mov qword [rsp + 0xf0], 0
call sym.sqlite3VdbeChangeToNoop.isra.0
mov eax, dword [r15 + 0x90]
xor r13d, r13d
mov dword [rsp + 0x60], eax
jmp 0x140381d04
mov eax, dword [rbx + 0x38]
lea edi, [rax + 1]
mov dword [rbx + 0x38], edi
jmp 0x140381c87
cmp dword [rbp + 0x38], 1
jne 0x140380eee
mov rdx, qword [rbp + 0x30]
mov rax, qword [rdx]
mov rdi, qword [rax + 0x20]
test rdi, rdi
je 0x140380efd
mov esi, dword [rdi]
cmp esi, 1
jne 0x140380efd
test byte [rax + 7], 1
jne 0x140380efd
test byte [r14 + 0x5e], 1
jne 0x140380efd
mov rcx, qword [rax + 8]
xor edx, edx
lea r10, [0x14075b14f]
lea r9, [0x140768440]
jmp 0x1403829a5
movzx r8d, byte [r9 + r8]
cmp byte [r9 + rax], r8b
jne 0x140382e44
add rdx, 1
movzx eax, byte [rcx + rdx]
movzx r8d, byte [r10 + rdx]
cmp eax, r8d
jne 0x140382992
test eax, eax
jne 0x1403829a1
mov rcx, qword [rdi + 8]
call dbg.sqlite3ExprCanBeNull
movzx ecx, byte [rsp + 0x60]
test eax, eax
mov eax, 2
cmovne ecx, eax
mov byte [rsp + 0x60], cl
jmp 0x140382e62
xor edx, edx
cmp al, 0x56
mov r10d, dword [rbp + 0x90]
sete dl
lea edx, [rdx + rdx + 0x37]
cmp r10d, dword [rbp + 0x94]
jge 0x140382ec2
lea eax, [r10 + 1]
mov ecx, dword [rsp + 0x48]
mov dword [rbp + 0x90], eax
movsxd rax, r10d
imul rax, rax, 0x18
add rax, qword [rbp + 0x88]
mov byte [rax], dl
mov word [rax + 2], 0
mov dword [rax + 4], edi
mov dword [rax + 8], 0
mov dword [rax + 0xc], ecx
mov qword [rax + 0x10], 0
mov byte [rax + 1], 0
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x150]
xor r8d, r8d
mov dword [rsp + 0xb4], r10d
lea r13, [rsp + 0x150]
call sym.windowAggFinal.isra.0
mov dword [rsp + 0x20], 0
mov r9d, 1
mov rcx, rbp
mov r8d, dword [rsp + 0x184]
mov edx, 0x25
call sym.sqlite3VdbeAddOp3
mov rcx, r13
call dbg.windowReturnOneRow
xor r9d, r9d
mov edx, 0x8e
mov rcx, rbp
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x184]
call sym.sqlite3VdbeAddOp3
mov edx, 0xb
xor r8d, r8d
mov rcx, rbp
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xac]
call sym.sqlite3VdbeAddOp3
mov r10d, dword [rsp + 0xb4]
mov edx, dword [rbp + 0x90]
test r10d, r10d
jns 0x140382ade
lea r10d, [rdx - 1]
mov rcx, qword [rbp]
lea rax, [0x1407d6d60]
cmp byte [rcx + 0x63], 0
jne 0x140382afd
movsxd rax, r10d
imul rax, rax, 0x18
add rax, qword [rbp + 0x88]
mov dword [rax + 8], edx
movzx eax, byte [rsi + 0x21]
jmp 0x140380535
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x45
mov rcx, rbp
mov r9d, dword [rsp + 0x80]
call dbg.growOp3
mov dword [rsp + 0x50], eax
jmp 0x1403807c1
mov r8d, edi
mov edx, 1
mov rcx, r13
call dbg.windowCodeOp
xor r8d, r8d
mov edx, 2
mov rcx, r13
mov r9d, 1
mov dword [rsp + 0x48], eax
call dbg.windowCodeOp
mov edi, eax
jmp 0x140381a63
mov eax, dword [rbp + 0x90]
mov r8d, edi
mov edx, 2
mov rcx, r13
mov r9d, 1
mov dword [rsp + 0x70], eax
call dbg.windowCodeOp
xor r8d, r8d
mov edx, 1
mov rcx, r13
mov r9d, 1
mov edi, eax
call dbg.windowCodeOp
mov dword [rsp + 0x48], eax
jmp 0x140381a63
mov r11d, dword [rbx + 0x44]
mov r9d, dword [rsp + 0x48]
mov rcx, r13
mov edx, 0x39
mov r10d, dword [rbp + 0x90]
mov r8d, dword [rsp + 0x184]
lea eax, [r11 - 1]
mov dword [rsp + 0x78], r11d
mov dword [rbx + 0x44], eax
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x18c]
mov dword [rsp + 0x70], r10d
mov dword [rsp + 0x20], eax
call dbg.windowCodeRangeTest
xor r9d, r9d
mov r8d, edi
mov edx, 2
mov rcx, r13
call dbg.windowCodeOp
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov rcx, r13
call dbg.windowCodeOp
mov r10d, dword [rsp + 0x70]
mov rcx, rbp
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov edx, 0xb
mov r9d, r10d
call sym.sqlite3VdbeAddOp3
mov rcx, qword [rbp + 0x18]
mov r11d, dword [rsp + 0x78]
jmp 0x140382859
xor r9d, r9d
mov r8d, edi
mov edx, 2
mov rcx, r13
call dbg.windowCodeOp
jmp 0x14038222b
mov esi, edi
jmp 0x1403812f0
mov eax, dword [r15 + 0x90]
mov dword [rsp + 0x50], 0
xor r13d, r13d
mov dword [rsp + 0x60], eax
jmp 0x140381d04
test rsi, rsi
je 0x140382c86
cmp dx, word [rsi + 0x5c]
jge 0x14038254c
mov rsi, rax
jmp 0x14038254c
test byte [r13 + 0x40], 0x80
je 0x140382ca4
movzx eax, byte [rsi + 0x64]
and eax, 3
cmp al, 2
je 0x1403825c6
mov rax, qword [rsi]
lea rdx, str._USING_COVERING_INDEX
jmp 0x1403825d0
mov esi, dword [rbp + 0x2c]
test esi, esi
je 0x140382cf3
xor eax, eax
jmp 0x140382ce1
mov rcx, rax
shl rcx, 5
add rcx, qword [rbp + 0x30]
mov r9, qword [rcx]
test byte [r9 + 7], 1
jne 0x140382cdd
mov rcx, qword [rcx + 8]
test byte [rcx + 4], 0x20
jne 0x140382ced
add rax, 1
cmp edx, eax
jg 0x140382cbe
cmp eax, edx
je 0x140382dda
xor esi, esi
xor edi, edi
jmp 0x140382cfe
xor edi, edi
sub edx, 1
je 0x140382e0d
mov rdx, rbp
mov rcx, rbx
mov qword [rsp + 0x50], r11
call dbg.resetAccumulator
movzx eax, byte [rsp + 0x60]
mov r11, qword [rsp + 0x50]
mov rcx, rbx
mov dword [rsp + 0x30], 0
mov r9, qword [rsp + 0x70]
or eax, edi
mov r8, qword [rsp + 0x78]
mov rdx, r11
movzx eax, ax
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
call dbg.sqlite3WhereBegin
mov r13, rax
test rax, rax
je 0x140381729
movzx r10d, byte [rax + 0x43]
mov r8, rbp
mov edx, esi
mov rcx, rbx
mov edi, r10d
mov r9d, r10d
mov dword [rsp + 0x48], r10d
call dbg.updateAccumulator
sub edi, 1
cmp dil, 1
ja 0x140382d97
mov rax, qword [rbp + 0x30]
mov r10d, dword [rsp + 0x48]
mov rcx, qword [rbx + 0x10]
mov r9d, dword [rax + 0x18]
mov r8d, dword [rax + 0x14]
mov edx, r10d
call sym.fixDistinctOpenEph.part.0.isra.0
test esi, esi
jne 0x140382f72
cmp byte [rsp + 0x60], 0
jne 0x140382f11
mov rcx, r13
call sym.sqlite3WhereEnd
mov rcx, qword [rbx + 0x10]
mov rdx, rbp
call sym.finalizeAggFunctions.isra.0
jmp 0x1403824bb
mov rcx, qword [r12 + 0x28]
mov rax, rdx
test byte [rcx + 0x48], 1
je 0x140382530
jmp 0x14038255e
lea esi, [r8 + 1]
mov edx, 0x45
xor r8d, r8d
mov rcx, r15
mov dword [rbx + 0x38], esi
mov r9d, esi
xor edi, edi
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x50], r11
call sym.sqlite3VdbeAddOp3
mov r11, qword [rsp + 0x50]
jmp 0x140382cfe
mov rax, qword [rbp + 0x30]
cmp dword [rax + 0x14], 0
js 0x140382cfe
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
cmp rax, 1
mov qword [rsp + 0x48], rax
sbb edi, edi
not edi
and di, 0x500
jmp 0x140382cfe
mov r11d, 0xffff8000
jmp 0x14038236d
lea rdx, [0x14075b176]
call sym.sqlite3StrICmp
test eax, eax
jne 0x140380ef9
mov byte [rsp + 0x60], 1
mov esi, 2
xor r8d, r8d
mov rdx, rdi
mov rcx, r14
mov qword [rsp + 0xa0], r11
call dbg.sqlite3ExprListDup
mov r11, qword [rsp + 0xa0]
test rax, rax
mov qword [rsp + 0x70], rax
je 0x140382e93
movzx edi, byte [rsp + 0x60]
mov byte [rax + 0x18], dil
mov byte [rsp + 0x60], sil
jmp 0x140380eee
mov r8d, dword [rsp + 0x48]
xor r9d, r9d
mov edx, 0x30
mov rcx, rbp
mov dword [rsp + 0x20], 1
call dbg.growOp3
mov r10d, eax
jmp 0x1403817dd
mov eax, dword [rsp + 0x48]
xor r9d, r9d
mov r8d, edi
mov rcx, rbp
mov dword [rsp + 0x20], eax
call dbg.growOp3
mov r10d, eax
jmp 0x140382a34
mov rdx, rbp
call dbg.resizeResolveLabel
mov rcx, qword [rbp + 0x18]
jmp 0x140380733
mov edx, dword [rsp + 0x108]
mov rcx, r15
mov qword [rsp + 0xf0], 0
call sym.sqlite3VdbeChangeToNoop.isra.0
jmp 0x140381cd8
test byte [r13 + 0x44], 4
je 0x140382daa
cmp byte [r13 + 0x41], 0
je 0x140382daa
movzx eax, byte [r13 + 0x40]
sub eax, 1
cdqe
jmp 0x140382f49
imul rcx, rax, 0x60
sub rax, 1
mov rcx, qword [r13 + rcx + 0x3b0]
test byte [rcx + 0x28], 4
jne 0x140382f95
mov edx, eax
cmp rax, 0xffffffffffffffff
jne 0x140382f33
mov r9d, dword [r13 + 0x34]
xor r8d, r8d
mov edx, 0xb
mov rcx, r15
mov dword [rsp + 0x20], 0
call sym.sqlite3VdbeAddOp3
jmp 0x140382daa
mov dword [rsp + 0x20], 0
mov r9d, esi
mov edx, 0x45
mov rcx, r15
mov r8d, 1
call sym.sqlite3VdbeAddOp3
jmp 0x140382d9f
movsxd rax, edx
xor r8d, r8d
mov edx, 0xb
mov rcx, r15
imul rax, rax, 0x60
mov dword [rsp + 0x20], 0
mov r9d, dword [r13 + rax + 0x370]
call sym.sqlite3VdbeAddOp3
jmp 0x140382daa