Function at 0x14031ed70
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
movaps xmmword [rsp + 0x1d0], xmm6
movaps xmmword [rsp + 0x1e0], xmm7
mov r13, qword [rcx + 0x10]
mov rax, qword [rcx]
test r13, r13
mov rbx, rcx
mov r15, rdx
mov rbp, r8
mov qword [rsp + 0x48], rax
jne 0x14031edb5
call sym.sqlite3GetVdbe.part.0
mov r13, rax
test r15, r15
je 0x14031edc3
mov r10d, dword [rbx + 0x30]
test r10d, r10d
je 0x14031edf0
mov eax, 1
movaps xmm6, xmmword [rsp + 0x1d0]
movaps xmm7, 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 qword [rsp + 0x20], 0
mov rcx, rbx
call sym.sqlite3AuthCheck
test eax, eax
jne 0x14031edc3
cmp byte [rbp], 6
ja 0x14031ee46
mov r8, qword [r15 + 0x48]
test r8, r8
je 0x14031ee36
lea rdx, [sym.sqlite3ExprListDelete]
mov rcx, rbx
call sym.sqlite3ParserAddCleanup
mov qword [r15 + 0x48], 0
mov eax, dword [r15 + 4]
and eax, 0xfffffffe
or eax, 0x400000
mov dword [r15 + 4], eax
xor r8d, r8d
mov rdx, r15
mov rcx, rbx
call sym.sqlite3SelectPrep
mov r9d, dword [rbx + 0x30]
test r9d, r9d
jne 0x14031ee8b
mov r10d, dword [r15 + 4]
test r10d, 0x800000
jne 0x14031f108
cmp byte [rbp], 9
je 0x14031f168
mov rdx, r15
mov rcx, rbx
call sym.sqlite3WindowRewrite
test eax, eax
mov dword [rsp + 0x6c], eax
je 0x14031eed0
mov eax, 1
movsxd rdx, dword [rbx + 0x140]
test edx, edx
je 0x14031eec2
mov r8, qword [rbx + 0x10]
lea rcx, [0x140394c00]
mov r9, qword [r8]
cmp byte [r9 + 0x67], 0
jne 0x14031eebf
lea rcx, [rdx + rdx*2]
mov rdx, qword [r8 + 0x88]
lea rcx, [rdx + rcx*8]
mov edx, dword [rcx + 8]
mov dword [rbx + 0x140], edx
jmp 0x14031edc8
mov qword [rsp + 0x128], 0
mov rax, qword [r15 + 0x28]
mov qword [rsp + 0x130], 0
mov rdx, qword [r15 + 0x48]
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x58], rax
mov eax, dword [r15 + 4]
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x120], rdx
and eax, 8
mov dword [rsp + 0x88], eax
mov rax, qword [r15 + 0x50]
setne r9b
xor r12d, r12d
movzx r9d, r9b
test rax, rax
mov qword [rsp + 0x80], rax
jne 0x14031f5f3
mov qword [rsp + 0x60], r13
mov r13, r15
mov r15, qword [rsp + 0x58]
mov dword [rsp + 0x50], r9d
jmp 0x14031f03e
test rdi, rdi
je 0x14031f02f
mov rax, qword [rdi + 0x20]
movsx r8d, word [r14 + 0x36]
mov edx, dword [rax]
cmp r8d, edx
jne 0x14031f660
mov eax, dword [rdi + 4]
test al, 8
jne 0x14031f02f
mov r8, qword [rdi + 0x48]
test r8, r8
je 0x14031efe0
cmp qword [r13 + 0x48], 0
je 0x14031f0b0
cmp qword [rdi + 0x60], 0
je 0x14031f0c0
test r12d, r12d
jne 0x14031efe0
test byte [r13 + 6], 4
je 0x14031efe0
cmp dword [r15], 1
je 0x14031f158
test byte [r15 + 0xac], 0x22
jne 0x14031f158
nop dword [rax + rax]
mov r9d, dword [rsp + 0x50]
mov r8d, r12d
mov rdx, r13
mov rcx, rbx
call sym.flattenSubquery
test eax, eax
je 0x14031f00a
mov r8d, dword [rbx + 0x30]
test r8d, r8d
jne 0x14031ee8b
mov r12d, 0xffffffff
mov rax, qword [rsp + 0x48]
mov r15, qword [r13 + 0x28]
cmp byte [rax + 0x67], 0
jne 0x14031ee8b
cmp byte [rbp], 8
jbe 0x14031f02f
mov rax, qword [r13 + 0x48]
mov qword [rsp + 0x120], rax
add r12d, 1
cmp qword [r13 + 0x50], 0
jne 0x14031f5f0
cmp dword [r15], r12d
jle 0x14031f180
movsxd rsi, r12d
imul rsi, rsi, 0x68
add rsi, r15
movzx eax, byte [rsi + 0x44]
mov rdi, qword [rsi + 0x30]
mov r14, qword [rsi + 0x28]
and eax, 0x18
cmp al, 8
jne 0x14031ef70
mov edx, dword [rsi + 0x4c]
mov rcx, qword [r13 + 0x30]
call sym.sqlite3ExprImpliesNonNullRow
test eax, eax
je 0x14031ef70
mov rax, qword [rsp + 0x48]
test byte [rax + 0x61], 0x20
jne 0x14031ef70
and byte [rsi + 0x44], 0xd7
movzx r8d, byte [r15 + 0x44]
mov edx, dword [rsi + 0x4c]
mov rcx, qword [r13 + 0x30]
and r8d, 0x40
call sym.unsetJoinExpr
jmp 0x14031ef70
cmp dword [r15], 1
jg 0x14031efac
jmp 0x14031efb7
test eax, 0x8000000
jne 0x14031efb7
test byte [r13 + 7], 8
jne 0x14031efb7
mov rax, qword [rsp + 0x48]
test byte [rax + 0x62], 4
jne 0x14031efb7
lea rdx, [sym.sqlite3ExprListDelete]
mov rcx, rbx
call sym.sqlite3ParserAddCleanup
mov qword [rdi + 0x48], 0
jmp 0x14031efe0
mov r11, qword [r15 + 0x28]
lea rcx, [r11 + 8]
mov rdx, r11
call sym.sameSrcAlias
test eax, eax
jne 0x14031f130
and r10d, 0xff7fffff
mov dword [r15 + 4], r10d
jmp 0x14031ee6e
mov r8, qword [r11 + 0x20]
test r8, r8
je 0x1403209b8
lea rdx, str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov rcx, rbx
call sym.sqlite3ErrorMsg
jmp 0x14031ee8b
mov r12d, 1
jmp 0x14031f033
mov rdx, r15
mov rcx, rbx
call sym.sqlite3GenerateColumnNames
jmp 0x14031ee78
mov qword [rsp + 0x58], r15
mov r15, r13
mov r13, qword [rsp + 0x60]
mov r12, qword [r15 + 0x30]
test r12, r12
je 0x14031f1a1
cmp byte [r12], 0x2c
je 0x1403207a3
mov rax, qword [rsp + 0x58]
xor r14d, r14d
lea rdx, [rsp + 0x180]
lea rcx, [rsp + 0x150]
mov r10d, dword [rax]
mov rdi, rax
test r10d, r10d
jle 0x14031f688
mov rsi, rax
mov qword [rsp + 0x250], rbp
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rcx
jmp 0x14031f32d
imul rax, r12, 0x68
test byte [rsi + rax + 0x49], 1
je 0x14031f5d0
mov rax, qword [rdi + 0x68]
cmp byte [rax + 0x12], 0
je 0x14031f20a
cmp dword [rax], 1
jle 0x14031f5d0
mov rcx, qword [rbx + 0x178]
mov rdx, qword [rdi + 0x18]
mov r11d, dword [r15 + 4]
mov qword [rsp + 0x60], rcx
mov qword [rbx + 0x178], rdx
movzx edx, byte [rax + 0x12]
mov r10, rax
test dl, dl
je 0x14031f278
cmp dword [rax], 1
jle 0x14031f23a
cmp dl, 2
jne 0x14031f278
test byte [rsi + 0x44], 0x40
jne 0x14031f278
mov rax, qword [rbx]
test byte [rax + 0x63], 2
jne 0x14031f278
mov r9d, dword [rsi]
lea r8d, [r14 + 1]
mov rcx, rsi
mov dword [rsp + 0x8c], r11d
mov rdx, qword [rsp + 0x50]
call sym.isSelfJoinView
test rax, rax
je 0x140321678
mov r10, qword [rdi + 0x68]
nop word [rax + rax]
mov r9d, dword [r10 + 4]
test r9d, r9d
jg 0x14031f618
mov rdx, qword [rsp + 0x50]
xor r8d, r8d
mov r9d, r14d
mov rcx, rsi
call sym.isSelfJoinView
test rax, rax
mov r10, rax
je 0x140320659
mov r9d, dword [rax + 0x30]
test r9d, r9d
jne 0x14031fa78
mov r9d, dword [r10 + 0x44]
mov edx, 0x73
mov rcx, r13
mov qword [rsp + 0x50], r10
mov r8d, dword [rdi + 0x4c]
call sym.sqlite3VdbeAddOp3.constprop.0
mov r10, qword [rsp + 0x50]
mov rax, qword [r10 + 0x28]
movzx eax, word [rax + 2]
mov word [rbp + 2], ax
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x67], 0
jne 0x14031ee8b
mov rdx, qword [rsp + 0x78]
mov rcx, r15
mov dword [rsp + 0x150], 0
call sym.heightOfSelect
mov eax, dword [rsp + 0x150]
sub dword [rbx + 0x13c], eax
mov rax, qword [rsp + 0x60]
mov qword [rbx + 0x178], rax
add r14d, 1
add rdi, 0x68
cmp dword [rsi], r14d
jle 0x14031f680
cmp qword [rdi + 0x58], 0
jne 0x14031f35a
mov r8, qword [rdi + 0x18]
test r8, r8
je 0x14031f35a
mov rax, qword [rdi + 0x10]
lea r9, [0x14046c378]
mov edx, 0x14
mov rcx, rbx
mov qword [rsp + 0x20], rax
call sym.sqlite3AuthCheck
mov rbp, qword [rdi + 0x30]
test rbp, rbp
je 0x14031f31c
mov rdx, qword [rsp + 0x70]
lea rax, [rdi + 8]
mov rcx, r15
movsxd r12, r14d
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x180], 0
call sym.heightOfSelect
mov eax, dword [rsp + 0x180]
add dword [rbx + 0x13c], eax
mov rax, qword [rsp + 0x48]
test byte [rax + 0x61], 0x10
je 0x14031f1e8
imul rax, r12, 0x68
mov rcx, qword [rbx + 0x178]
mov rdx, qword [rdi + 0x18]
mov r11d, dword [r15 + 4]
movzx eax, byte [rsi + rax + 0x49]
mov qword [rsp + 0x60], rcx
mov qword [rbx + 0x178], rdx
and eax, 1
test al, al
jne 0x14031f460
movzx r10d, byte [rsi + 0x44]
and r10d, 0x40
jne 0x14031f285
mov rax, qword [rbx]
test byte [rax + 0x63], 2
jne 0x14031f285
mov r9d, dword [rsi]
lea r8d, [r14 + 1]
mov rcx, rsi
mov byte [rsp + 0x98], r10b
mov rdx, qword [rsp + 0x50]
mov dword [rsp + 0x8c], r11d
call sym.isSelfJoinView
mov r11d, dword [rsp + 0x8c]
movzx r10d, byte [rsp + 0x98]
test rax, rax
jne 0x14031f285
test r14d, r14d
jne 0x14031f469
cmp r9d, 1
je 0x14031f49e
test byte [rsi + 0xac], 2
jne 0x14031f49e
and r11d, 0x10000000
je 0x14031f49e
test r10b, r10b
jne 0x14031f26e
jmp 0x14031f285
mov rax, qword [rdi + 0x68]
jmp 0x14031f225
and r11d, 0x10000000
jne 0x14031f449
mov rax, qword [rsp + 0x50]
mov rdx, rsi
sub rdx, rdi
add rdx, rax
jmp 0x14031f493
sub rax, 0x68
cmp qword [rax + 0x28], 0
jne 0x14031f449
test byte [rax + 0x3c], 0x22
jne 0x14031f449
cmp rax, rdx
jne 0x14031f488
mov eax, dword [rbx + 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 [rbx + 0x38], r8d
mov dword [rdi + 0x3c], r8d
mov dword [rsp + 0x20], r11d
mov dword [rsp + 0x98], r10d
mov dword [rsp + 0x8c], r11d
call sym.sqlite3VdbeAddOp3
mov eax, dword [rdi + 0x3c]
mov edx, 1
mov rcx, rbx
mov r11d, dword [rsp + 0x8c]
lea r8, str.CO_ROUTINE___S
mov r9, qword [rsp + 0x50]
mov dword [rdi + 0x38], r11d
mov byte [rsp + 0x180], 0xd
mov dword [rsp + 0x184], eax
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x188], 0
mov dword [rsp + 0x190], 0
call sym.sqlite3VdbeExplain
mov r8, qword [rsp + 0x70]
mov rdx, rbp
mov rcx, rbx
call sym.sqlite3Select
movzx edx, word [rbp + 2]
xor r9d, r9d
mov rcx, r13
mov rax, qword [rdi + 0x28]
mov word [rax + 0x3a], dx
imul rax, r12, 0x68
mov edx, 0x44
or byte [rsi + rax + 0x48], 0x20
mov eax, dword [rsp + 0x18c]
mov r8d, dword [rdi + 0x3c]
mov dword [rdi + 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, [0x140394c00]
cmp byte [rcx + 0x67], 0
jne 0x14031f5b8
movsxd r10, dword [rsp + 0x98]
mov rax, qword [r13 + 0x88]
lea rcx, [r10 + r10*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov byte [rbx + 0x1f], 0
mov dword [rbx + 0x28], 0
jmp 0x14031f2dc
mov r9, qword [rsp + 0x50]
mov rdx, rbp
mov rcx, rbx
mov r8, qword [r15 + 0x30]
call sym.pushDownWhereTerms.isra.0
jmp 0x14031f3a3
mov r15, r13
mov r8, rbp
mov rdx, r15
mov rcx, rbx
call sym.multiSelect
cmp qword [r15 + 0x58], 0
jne 0x14031edc8
jmp 0x14031ee90
mov r8d, dword [r10 + 8]
mov edx, 0xa
mov rcx, r13
mov qword [rsp + 0x50], r10
call sym.sqlite3VdbeAddOp3.constprop.0
mov r10, qword [rsp + 0x50]
mov r8d, dword [rdi + 0x4c]
mov r9d, dword [r10 + 0xc]
cmp r8d, r9d
je 0x14031f652
mov edx, 0x73
mov rcx, r13
call sym.sqlite3VdbeAddOp3.constprop.0
mov r10, qword [rsp + 0x50]
movzx eax, word [r10 + 0x10]
mov word [rbp + 2], ax
jmp 0x14031f2dc
mov r9, qword [r14]
mov rcx, rbx
mov dword [rsp + 0x20], edx
lea rdx, str.expected__d_columns_for__s_but_got__d
call sym.sqlite3ErrorMsg
jmp 0x14031ee8b
mov rbp, qword [rsp + 0x250]
mov rax, qword [r15 + 0x30]
mov r14, qword [r15 + 0x20]
mov r12, qword [rsp + 0x120]
mov qword [rsp + 0x90], rax
mov rax, qword [r15 + 0x38]
mov qword [rsp + 0x60], rax
mov rax, qword [r15 + 0x40]
mov qword [rsp + 0xa0], rax
mov eax, dword [r15 + 4]
mov edi, eax
and eax, 9
and edi, 1
cmp eax, 1
mov byte [rsp + 0x50], dil
mov byte [rsp + 0x9c], dil
mov byte [rsp + 0xf0], dil
je 0x14032157f
test r12, r12
mov dword [rsp + 0x78], 0xffffffff
je 0x14031f743
mov r9d, dword [r14]
xor r8d, r8d
mov rdx, r12
mov rcx, rbx
call sym.sqlite3KeyInfoFromExprList
mov r8d, dword [rbx + 0x34]
mov rcx, r13
mov rdi, rax
mov edx, dword [r12]
lea eax, [r8 + 1]
mov dword [rsp + 0x12c], r8d
mov dword [rbx + 0x34], eax
mov eax, dword [r14]
lea r9d, [rdx + rax + 1]
mov edx, 0x76
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9d, 0xfffffff8
mov r8, rdi
mov rcx, r13
mov edx, eax
mov dword [rsp + 0x78], eax
call sym.sqlite3VdbeChangeP4
mov eax, dword [rsp + 0x78]
cmp byte [rbp], 0xc
mov dword [rsp + 0x138], eax
je 0x14032149f
mov edx, dword [r15 + 4]
mov eax, dword [rbx + 0x44]
sub eax, 1
test dh, 0x40
mov dword [rsp + 0x98], eax
mov dword [rbx + 0x44], eax
jne 0x14031f77c
mov r9d, 0x140
mov word [r15 + 2], r9w
cmp qword [r15 + 0x60], 0
je 0x14031f79a
mov r8d, dword [rsp + 0x98]
mov rdx, r15
mov rcx, rbx
call sym.computeLimitRegisters
mov edx, dword [r15 + 4]
mov r8d, dword [r15 + 8]
test r8d, r8d
jne 0x14031f7d9
mov edi, dword [rsp + 0x78]
test edi, edi
js 0x14031f7d9
mov rcx, qword [r13]
lea rax, [0x140394c00]
cmp byte [rcx + 0x67], 0
jne 0x14031f7ce
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rcx*8]
mov byte [rax], 0x77
mov byte [rsp + 0x144], 1
and edx, 1
mov byte [rsp + 0x8c], 0
jne 0x1403209c4
movzx eax, byte [rsp + 0x8c]
mov byte [rsp + 0xf1], al
mov eax, dword [rsp + 0x88]
test eax, eax
sete dl
cmp qword [rsp + 0x60], 0
sete al
and dl, al
mov byte [rsp + 0x88], dl
je 0x14031febd
movzx edx, word [r15 + 4]
movzx eax, word [rsp + 0x50]
and dx, 0x4000
shl eax, 8
mov esi, edx
or esi, eax
mov rax, qword [r15 + 0x70]
test rax, rax
mov qword [rsp + 0x50], rax
je 0x14031fac8
mov rax, qword [r15 + 0x28]
mov rax, qword [rax + 0x30]
mov rax, qword [rax + 0x20]
mov edi, dword [rax]
mov rax, qword [rbx + 0x10]
test rax, rax
mov qword [rsp + 0x60], rax
jne 0x14031f86e
mov rcx, rbx
call sym.sqlite3GetVdbe.part.0
mov qword [rsp + 0x60], rax
mov r9d, edi
mov rdi, qword [rsp + 0x50]
mov edx, 0x76
mov rcx, qword [rsp + 0x60]
mov r8d, dword [rdi + 0x58]
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9d, dword [rdi + 0x58]
mov edx, 0x73
mov rcx, qword [rsp + 0x60]
lea r8d, [r9 + 1]
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9d, dword [rdi + 0x58]
mov edx, 0x73
mov rcx, qword [rsp + 0x60]
lea r8d, [r9 + 2]
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9d, dword [rdi + 0x58]
mov edx, 0x73
mov rcx, qword [rsp + 0x60]
lea r8d, [r9 + 3]
call sym.sqlite3VdbeAddOp3.constprop.0
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x14031f904
mov edx, dword [rax]
xor r8d, r8d
mov eax, dword [rbx + 0x38]
mov rcx, qword [rsp + 0x60]
lea r9d, [rax + 1]
add eax, edx
mov dword [rdi + 0x6c], r9d
mov dword [rbx + 0x38], eax
lea eax, [rdx + r9 - 1]
mov edx, 0x4b
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov eax, dword [rbx + 0x38]
mov r8d, 1
mov edx, 0x47
mov rdi, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
lea r9d, [rax + 1]
mov dword [rbx + 0x38], r9d
mov dword [rdi + 0x80], r9d
call sym.sqlite3VdbeAddOp3.constprop.0
cmp byte [rdi + 0x24], 0
jne 0x140322449
mov word [rsp + 0x70], si
mov rsi, rbx
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x250], rbp
jmp 0x14031fa0b
cmp byte [rdi + 0x21], 0x5a
je 0x14031fa19
mov rax, qword [rdi + 0x70]
xor r8d, r8d
xor r9d, r9d
mov rcx, rsi
mov rdx, qword [rax + 0x20]
call sym.sqlite3KeyInfoFromExprList
mov r8d, dword [rsi + 0x34]
mov rbp, rax
lea eax, [r8 + 1]
movd xmm0, r8d
mov dword [rsi + 0x34], eax
mov eax, dword [rsi + 0x38]
lea edx, [rax + 1]
add eax, 3
test rbp, rbp
movd xmm2, edx
punpckldq xmm0, xmm2
movq qword [rdi + 0x64], xmm0
mov dword [rsi + 0x38], eax
je 0x14031f9c2
mov rax, qword [rdi + 0x50]
mov rax, qword [rax + 0x38]
cmp byte [rax + 1], 0x69
jne 0x14031f9c2
mov rax, qword [rbp + 0x18]
mov byte [rax], 1
mov r8d, dword [rdi + 0x64]
mov r9d, 2
mov edx, 0x76
mov rcx, rbx
call sym.sqlite3VdbeAddOp3.constprop.0
mov r8d, 0xfffffff8
mov rdx, rbp
mov rcx, rbx
call sym.sqlite3VdbeAppendP4
mov r9d, dword [rdi + 0x68]
xor r8d, r8d
mov rcx, rbx
mov edx, 0x47
add r9d, 1
call sym.sqlite3VdbeAddOp3.constprop.0
mov rdi, qword [rdi + 0x40]
test rdi, rdi
je 0x14031fab8
mov rax, qword [rdi + 0x50]
test byte [rax + 5], 0x10
jne 0x14031f958
mov rax, qword [rax + 0x38]
lea rcx, str.nth_value
cmp rax, rcx
je 0x14031fa98
lea rcx, str.first_value
cmp rax, rcx
je 0x14031fa98
lea rcx, str.lead
cmp rax, rcx
je 0x14031fa4d
lea rdx, [0x14047dc20]
cmp rax, rdx
jne 0x14031f9fe
mov r8d, dword [rsi + 0x34]
lea eax, [r8 + 1]
mov dword [rsi + 0x34], eax
mov dword [rdi + 0x64], r8d
mov rax, qword [rsp + 0x50]
mov edx, 0x73
mov rcx, rbx
mov r9d, dword [rax + 0x58]
call sym.sqlite3VdbeAddOp3.constprop.0
jmp 0x14031f9fe
mov r8d, dword [rax + 0x34]
mov edx, 0xa
mov rcx, r13
mov qword [rsp + 0x50], rax
call sym.sqlite3VdbeAddOp3.constprop.0
mov r10, qword [rsp + 0x50]
jmp 0x14031f2b1
mov eax, dword [rsi + 0x38]
mov r8d, dword [rsi + 0x34]
lea edx, [rax + 1]
add eax, 2
mov dword [rdi + 0x68], edx
lea edx, [r8 + 1]
mov dword [rsi + 0x34], edx
mov dword [rdi + 0x64], r8d
mov dword [rsi + 0x38], eax
jmp 0x14031fa5c
mov rbx, rsi
mov rbp, qword [rsp + 0x250]
movzx esi, word [rsp + 0x70]
movsx eax, word [r15 + 2]
mov qword [rsp + 0x28], r15
mov r9, r12
mov rcx, rbx
mov r8, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x58]
mov dword [rsp + 0x38], eax
movzx eax, si
mov dword [rsp + 0x30], eax
mov rax, qword [r15 + 0x20]
mov qword [rsp + 0x20], rax
call sym.sqlite3WhereBegin
test rax, rax
mov qword [rsp + 0x70], rax
je 0x14031ee8b
movzx eax, word [rax + 0x48]
cmp word [r15 + 2], ax
jle 0x14031fb1c
mov word [r15 + 2], ax
cmp byte [rsp + 0x9c], 0
je 0x14031fb41
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax + 0x43]
test al, al
je 0x14031fb41
mov byte [rsp + 0xf1], al
mov byte [rsp + 0x8c], al
test r12, r12
je 0x140321480
mov rdi, qword [rsp + 0x70]
xor edx, edx
movsx eax, byte [rdi + 0x41]
test al, al
cmovs eax, edx
test byte [rdi + 0x44], 4
mov dword [rsp + 0x128], eax
je 0x14031fb86
movzx edx, byte [rdi + 0x40]
sub edx, 1
movsxd rdx, edx
imul rdx, rdx, 0x70
add rdx, rdi
cmp qword [rdx + 0x398], 0
je 0x1403224be
mov edx, dword [rdi + 0x30]
cmp dword [r12], eax
mov dword [rsp + 0x140], edx
je 0x140321474
cmp qword [rsp + 0x50], 0
je 0x1403216db
mov eax, dword [rbx + 0x44]
movq xmm7, rbx
mov rsi, qword [rbx + 0x10]
lea edi, [rax - 1]
mov dword [rsp + 0xa0], edi
lea edi, [rax - 2]
sub eax, 3
mov dword [rsp + 0xc8], edi
mov edi, dword [rbx + 0x38]
mov dword [rsp + 0xc4], eax
mov dword [rbx + 0x44], eax
mov dword [rsp + 0x90], eax
add edi, 1
test rsi, rsi
mov dword [rsp + 0x9c], edi
mov dword [rbx + 0x38], edi
mov rdi, qword [r15 + 0x70]
movq xmm5, rdi
mov qword [rsp + 0x58], rdi
mov rdi, qword [rdi + 0x18]
punpcklqdq xmm7, xmm5
mov qword [rsp + 0xa8], rdi
jne 0x14031fc22
mov rcx, rbx
call sym.sqlite3GetVdbe.part.0
mov rsi, rax
mov eax, dword [rbx + 0x44]
mov dword [rsp + 0x90], eax
mov rax, qword [r15 + 0x28]
mov rdi, qword [rsp + 0x58]
movd xmm6, dword [rax + 0x4c]
mov rax, qword [rax + 0x28]
movsx r12d, word [rax + 0x36]
movaps xmmword [rsp + 0x180], xmm7
mov eax, dword [rsp + 0x90]
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x1b0], 0
mov qword [rsp + 0x1b8], 0
mov qword [rsp + 0x1a0], 0
sub eax, 1
mov qword [rsp + 0x190], rsi
mov dword [rbx + 0x44], eax
mov dword [rsp + 0xb8], eax
mov eax, dword [rsp + 0x9c]
mov qword [rsp + 0x1c0], 0
mov dword [rsp + 0x19c], eax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x198], eax
mov eax, dword [rdi + 0x58]
lea ecx, [rax + 1]
mov dword [rsp + 0x1b4], eax
mov dword [rsp + 0x80], eax
mov dword [rsp + 0x88], ecx
lea ecx, [rax + 2]
add eax, 3
mov dword [rsp + 0xd8], ecx
mov dword [rsp + 0x1ac], ecx
mov dword [rsp + 0x1bc], eax
movzx ecx, byte [rdi + 0x21]
mov dword [rsp + 0xbc], eax
cmp cl, 0x56
je 0x1403218f1
cmp cl, 0x5a
je 0x140321978
mov dword [rsp + 0x1a4], 2
mov eax, dword [rbx + 0x38]
sub ecx, 0x56
lea edi, [rax + 1]
add eax, r12d
and ecx, 0xfd
lea edx, [rax + 1]
mov dword [rsp + 0x50], edx
lea edx, [rax + 2]
mov dword [rbx + 0x38], edx
mov dword [rsp + 0x1a8], edx
jne 0x140321964
add eax, 3
mov dword [rsp + 0xb0], edx
mov dword [rsp + 0x60], eax
mov edx, eax
mov dword [rbx + 0x38], eax
mov rax, qword [rsp + 0x58]
mov dword [rsp + 0x78], 0
movzx eax, byte [rax + 0x22]
sub eax, 0x56
test al, 0xfd
jne 0x14031fd74
add edx, 1
mov dword [rbx + 0x38], edx
mov dword [rsp + 0x78], edx
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x20], 0x4c
je 0x140321920
mov rax, qword [rsp + 0xa8]
xor ecx, ecx
test rax, rax
je 0x14031fd94
mov ecx, dword [rax]
mov rax, qword [rsp + 0x58]
mov r11d, dword [rax + 0x78]
mov rax, qword [rax + 0x10]
add r11d, edi
test rax, rax
mov dword [rsp + 0xd0], r11d
je 0x14031fdbe
mov eax, dword [rax]
add r11d, eax
mov dword [rsp + 0xd0], r11d
lea eax, [rcx + rdx]
lea r11d, [rax + 1]
add eax, ecx
mov dword [rsp + 0xe0], r11d
mov dword [rsp + 0x1b0], r11d
lea r11d, [rax + 1]
add eax, ecx
add ecx, eax
add edx, 1
mov dword [rsp + 0xe4], r11d
mov dword [rsp + 0xc0], edx
setne dl
cmp qword [rsp + 0xa8], 0
mov dword [rsp + 0x1b8], r11d
lea r11d, [rax + 1]
mov dword [rbx + 0x38], ecx
mov dword [rsp + 0xe8], r11d
setne al
mov dword [rsp + 0x1c0], r11d
and edx, eax
mov byte [rsp + 0xd4], dl
xor r9d, r9d
test r12d, r12d
jle 0x140320a50
mov qword [rsp + 0x240], rbx
mov ebx, r9d
jmp 0x14031fe84
lea r9d, [rax + 1]
mov dword [rsi + 0x90], r9d
lea r9, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + r9*8]
movq qword [rax + 4], xmm0
mov dword [rax + 0xc], edx
mov qword [rax + 0x10], 0
mov dword [rax], 0x5e
add ebx, 1
cmp r12d, ebx
je 0x140320a48
movsxd rax, dword [rsi + 0x90]
lea edx, [rdi + rbx]
movdqa xmm0, xmm6
movd xmm1, ebx
cmp eax, dword [rsi + 0x94]
punpckldq xmm0, xmm1
jl 0x14031fe48
mov dword [rsp + 0x20], edx
mov r9d, ebx
movd r8d, xmm6
mov rcx, rsi
mov edx, 0x5e
call sym.growOp3
jmp 0x14031fe78
cmp qword [rsp + 0x60], 0
je 0x14032168b
mov rcx, qword [r15 + 0x20]
mov edx, dword [rcx]
lea rax, [rcx + 8]
test edx, edx
jle 0x14031ff19
sub edx, 1
shl rdx, 5
lea rdx, [rcx + rdx + 0x28]
mov r8, rdx
sub r8, rax
and r8d, 0x20
je 0x14031ff00
xor r8d, r8d
mov word [rax + 0x1a], r8w
lea rax, [rcx + 0x28]
cmp rax, rdx
je 0x14031ff19
xor r10d, r10d
xor r11d, r11d
add rax, 0x40
mov word [rax - 0x26], r10w
mov word [rax - 6], r11w
cmp rax, rdx
jne 0x14031ff00
mov rax, qword [rsp + 0x60]
mov edx, dword [rax]
add rax, 8
test edx, edx
jle 0x14031ff79
mov rdi, qword [rsp + 0x60]
lea ecx, [rdx - 1]
shl rcx, 5
lea rcx, [rdi + rcx + 0x28]
mov r8, rcx
sub r8, rax
and r8d, 0x20
je 0x14031ff60
xor r9d, r9d
mov word [rax + 0x1a], r9w
mov rax, qword [rsp + 0x60]
add rax, 0x28
cmp rax, rcx
je 0x14031ff79
nop dword [rax + rax]
xor r8d, r8d
xor r9d, r9d
add rax, 0x40
mov word [rax - 0x26], r8w
mov word [rax - 6], r9w
cmp rax, rcx
jne 0x14031ff60
cmp word [r15 + 2], 0x42
jle 0x14031ff8b
mov ecx, 0x42
mov word [r15 + 2], cx
test r12, r12
je 0x14031ff9a
cmp dword [r12], edx
je 0x140321a1f
mov dword [rsp + 0xc0], 0
mov eax, dword [rbx + 0x44]
mov edx, 0x38
mov rcx, qword [rsp + 0x48]
sub eax, 1
mov dword [rbx + 0x44], eax
mov dword [rsp + 0xa8], eax
call sym.sqlite3DbMallocZero
test rax, rax
mov qword [rsp + 0x70], rax
je 0x14031ffe0
lea rdx, [sym.agginfoFree]
mov r8, rax
mov rcx, rbx
call sym.sqlite3ParserAddCleanup
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax + 0x67]
test al, al
mov byte [rsp + 0xb0], al
jne 0x14031ee8b
mov rdi, qword [rsp + 0x70]
movq xmm0, rbx
mov eax, dword [r15 + 0x10]
movhps xmm0, qword [rsp + 0x58]
mov dword [rdi + 0x34], eax
xor eax, eax
mov qword [rsp + 0x190], rdi
mov rdi, qword [rsp + 0x60]
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x1a0], 0
mov qword [rsp + 0x1a8], 0
test rdi, rdi
movaps xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x1b0], 0
je 0x14032005d
movzx eax, word [rdi]
lea rdi, [sym.analyzeAggregate]
test r14, r14
lea rdx, [sym.sqlite3WalkerDepthIncrease]
movq xmm6, rdi
mov rdi, qword [rsp + 0x70]
movq xmm3, rdx
punpcklqdq xmm6, xmm3
mov word [rdi + 2], ax
mov rax, qword [rsp + 0x60]
mov qword [rdi + 0x10], rax
je 0x140321a0d
mov ecx, dword [r14]
test ecx, ecx
jle 0x140321a0d
lea rsi, [rsp + 0x150]
xor r8d, r8d
mov qword [rsp + 0x250], rbp
mov rbp, rbx
lea rax, [rsp + 0x180]
mov rbx, rsi
mov rsi, r8
mov qword [rsp + 0x50], rax
lea rdi, [sym.sqlite3WalkerDepthDecrease]
nop
mov rax, rsi
shl rax, 5
mov rdx, qword [r14 + rax + 8]
movups xmmword [rsp + 0x158], xmm6
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x168], rdi
mov dword [rsp + 0x170], 0
mov qword [rsp + 0x150], 0
test rdx, rdx
mov qword [rsp + 0x178], rax
je 0x140320648
mov rcx, rbx
add rsi, 1
call sym.walkExpr
mov ecx, dword [r14]
cmp ecx, esi
jg 0x1403200d0
mov rbx, rbp
mov rbp, qword [rsp + 0x250]
test r12, r12
je 0x1403201d8
mov ecx, dword [r12]
test ecx, ecx
jle 0x1403201d8
lea rsi, [rsp + 0x150]
xor r8d, r8d
mov qword [rsp + 0x250], rbp
mov rbp, rbx
lea rdi, [sym.sqlite3WalkerDepthDecrease]
mov rbx, rsi
mov rsi, r8
nop
mov rax, rsi
shl rax, 5
mov rdx, qword [r12 + rax + 8]
movups xmmword [rsp + 0x158], xmm6
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x168], rdi
mov dword [rsp + 0x170], 0
mov qword [rsp + 0x150], 0
test rdx, rdx
mov qword [rsp + 0x178], rax
je 0x140320630
mov rcx, rbx
add rsi, 1
call sym.walkExpr
mov ecx, dword [r12]
cmp ecx, esi
jg 0x140320170
mov rbx, rbp
mov rbp, qword [rsp + 0x250]
cmp qword [rsp + 0xa0], 0
je 0x1403202a2
cmp qword [rsp + 0x60], 0
lea rcx, [rsp + 0x150]
mov rsi, rcx
je 0x140320257
mov rdx, qword [r15 + 0x40]
lea rax, [sym.havingToWhereExprCb]
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x150], rbx
test rdx, rdx
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x178], r15
je 0x14032024b
call sym.walkExpr
mov rax, qword [r15 + 0x30]
mov qword [rsp + 0x90], rax
lea rax, [sym.sqlite3WalkerDepthDecrease]
mov rdx, qword [rsp + 0xa0]
mov rcx, rsi
movups xmmword [rsp + 0x158], xmm6
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x170], 0
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x178], rax
call sym.walkExpr
mov rdi, qword [rsp + 0x70]
xor r12d, r12d
cmp qword [r15 + 0x38], 0
mov eax, dword [rdi + 0x20]
mov dword [rdi + 0x24], eax
je 0x140321be4
mov rdi, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x50]
mov rcx, rdi
call sym.analyzeAggFuncArgs
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x67], 0
jne 0x14032176f
cmp qword [rsp + 0x60], 0
mov edx, dword [rdi + 0x30]
je 0x140322571
xor eax, eax
cmp edx, 1
mov word [rsp + 0xc4], ax
je 0x14032293b
mov rdi, qword [rsp + 0x70]
xor r8d, r8d
mov rcx, rbx
mov eax, dword [rbx + 0x34]
mov rsi, qword [rsp + 0x60]
mov r9d, dword [rdi + 0x20]
lea edx, [rax + 1]
mov dword [rbx + 0x34], edx
mov rdx, rsi
mov dword [rdi + 4], eax
call sym.sqlite3KeyInfoFromExprList
movzx r9d, word [rdi + 2]
mov edx, 0x77
mov rcx, r13
mov r8d, dword [rdi + 4]
mov qword [rsp + 0xc8], rax
call sym.sqlite3VdbeAddOp3.constprop.0
mov r8, qword [rsp + 0xc8]
mov r9d, 0xfffffff8
mov rcx, r13
mov edx, eax
mov dword [rsp + 0xe8], eax
call sym.sqlite3VdbeChangeP4
mov eax, dword [rbx + 0x38]
xor r8d, r8d
mov edx, dword [rbx + 0x44]
lea edi, [rax + 1]
mov dword [rsp + 0xb4], edi
lea edi, [rax + 3]
mov dword [rsp + 0xb0], edi
lea edi, [rdx - 1]
mov dword [rsp + 0xd4], edi
lea edi, [rdx - 2]
lea r11d, [rax + 2]
mov dword [rsp + 0xd0], edi
lea ecx, [rax + 4]
mov dword [rbx + 0x44], edi
mov r9d, r11d
lea edi, [rax + 5]
mov eax, dword [rsi]
mov dword [rsp + 0xb8], ecx
mov dword [rsp + 0xe0], r11d
mov dword [rsp + 0xe4], edi
lea edx, [rcx + rax]
mov rcx, r13
lea r10d, [rdx + 1]
add eax, edx
mov dword [rsp + 0xbc], edx
mov edx, 0x47
mov dword [rbx + 0x38], eax
mov dword [rsp + 0xdc], r10d
call sym.sqlite3VdbeAddOp3.constprop.0
mov eax, dword [rsi]
xor r8d, r8d
mov r9d, edi
mov edx, 0x4b
mov rcx, r13
add eax, edi
sub eax, 1
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov r9d, dword [rsp + 0xd0]
mov edx, 0xa
mov rcx, r13
mov r8d, dword [rsp + 0xb8]
call sym.sqlite3VdbeAddOp3.constprop.0
mov eax, pe_nt_image_headers64
mov r9, rsi
mov rcx, rbx
cmp byte [rsp + 0x9c], 2
mov edx, 0x40
mov dword [rsp + 0x38], 0
mov r8, qword [rsp + 0x90]
mov qword [rsp + 0x28], r15
cmove edx, eax
movzx eax, word [rsp + 0x88]
shl eax, 9
or eax, edx
or ax, word [rsp + 0xc4]
mov rdx, qword [rsp + 0x58]
movzx eax, ax
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
call sym.sqlite3WhereBegin
test rax, rax
mov qword [rsp + 0x90], rax
je 0x140321755
cmp qword [rbx + 0x60], 0
je 0x1403204ce
mov rdi, qword [rsp + 0x70]
movsxd rax, dword [rdi + 0x24]
cmp word [rdi + 2], 0
mov dword [rdi + 0x20], eax
je 0x1403204bf
test eax, eax
jne 0x140322d76
mov rax, qword [r15 + 0x38]
mov eax, dword [rax]
mov word [rdi + 2], ax
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
call sym.analyzeAggFuncArgs
mov edx, dword [rbx + 0x38]
mov rdi, qword [rsp + 0x70]
lea eax, [rdx + 1]
mov dword [rdi + 0xc], eax
mov eax, dword [rdi + 0x30]
add eax, dword [rdi + 0x20]
add eax, edx
xor edx, edx
mov dword [rbx + 0x38], eax
mov rax, qword [rsp + 0x90]
movzx edi, byte [rax + 0x43]
movsx eax, byte [rax + 0x41]
mov dword [rsp + 0xd8], edi
mov rdi, qword [rsp + 0x60]
test al, al
cmovs eax, edx
cmp dword [rdi], eax
je 0x1403229f1
cmp byte [rsp + 0x9c], 0
lea r9, str.GROUP_BY
je 0x140320533
test byte [r15 + 4], 1
lea rax, str.DISTINCT
cmove r9, rax
xor edx, edx
mov rcx, rbx
lea r8, str.USE_TEMP_B_TREE_FOR__s
call sym.sqlite3VdbeExplain
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
mov edi, dword [rax]
movsxd rax, dword [rcx + 0x20]
test eax, eax
jle 0x140322f4b
mov rcx, qword [rcx + 0x18]
imul rax, rax, 0x18
mov esi, edi
lea rdx, [rcx + 0x16]
mov qword [rsp + 0x50], rcx
add rax, rdx
movsx ecx, word [rdx]
cmp esi, ecx
setle cl
add rdx, 0x18
movzx ecx, cl
add esi, ecx
cmp rdx, rax
jne 0x140320572
mov rcx, rbx
mov edx, esi
call sym.sqlite3GetTempRange
mov rdx, qword [rsp + 0x60]
xor r9d, r9d
mov dword [rsp + 0x20], 0
mov r8d, eax
mov dword [rsp + 0x50], eax
call sym.sqlite3ExprCodeExprList.isra.0
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x20]
mov byte [rax], 1
xor eax, eax
test ecx, ecx
jle 0x140321d61
mov r10, rbx
mov qword [rsp + 0x250], rbp
mov rbx, rax
mov ebp, esi
mov rsi, qword [rsp + 0x70]
jmp 0x1403205e6
add rbx, 1
cmp ecx, ebx
jle 0x140321d54
mov rdx, qword [rsi + 0x18]
lea rax, [rbx + rbx*2]
lea rax, [rdx + rax*8]
movsx edx, word [rax + 0x16]
cmp edx, edi
jl 0x1403205da
cmp qword [r10 + 0x10], 0
je 0x140320628
mov rdx, qword [rax + 8]
mov rcx, r10
mov qword [rsp + 0x240], r10
mov eax, dword [rsp + 0x50]
lea r8d, [rax + rdi]
call sym.sqlite3ExprCode.part.0
mov ecx, dword [rsi + 0x20]
mov r10, qword [rsp + 0x240]
add edi, 1
jmp 0x1403205da
add rsi, 1
cmp ecx, esi
jg 0x140320170
jmp 0x1403201cd
add rsi, 1
cmp ecx, esi
jg 0x1403200d0
jmp 0x14032012c
mov eax, dword [rbx + 0x38]
xor r9d, r9d
xor r8d, r8d
mov edx, 9
mov rcx, r13
add eax, 1
mov dword [rbx + 0x38], eax
mov dword [rdi + 0x3c], eax
call sym.sqlite3VdbeAddOp3.constprop.0
lea r10d, [rax + 1]
mov dword [rsp + 0x8c], eax
imul rax, r12, 0x68
mov dword [rdi + 0x38], r10d
lea rdx, [rsi + rax + 0x30]
movzx eax, byte [rdx + 0x18]
or eax, 0x10
test al, 8
mov byte [rdx + 0x18], al
je 0x1403213a0
mov eax, dword [rdi + 0x4c]
lea r8, str.MATERIALIZE___S
mov rcx, rbx
mov edx, 1
mov r9, qword [rsp + 0x50]
mov dword [rsp + 0x98], r10d
mov byte [rsp + 0x180], 0xc
mov qword [rsp + 0x198], 0
mov dword [rsp + 0x184], eax
mov qword [rsp + 0x188], 0
mov dword [rsp + 0x190], 0
call sym.sqlite3VdbeExplain
mov r8, qword [rsp + 0x70]
mov rdx, rbp
mov rcx, rbx
call sym.sqlite3Select
mov rax, qword [rdi + 0x28]
movzx edx, word [rbp + 2]
mov r10d, dword [rsp + 0x98]
mov word [rax + 0x3a], dx
mov r8d, dword [rdi + 0x3c]
mov edx, 0x43
mov rcx, r13
mov r9d, r10d
call sym.sqlite3VdbeAddOp3.constprop.0
mov rcx, qword [r13]
lea rax, [0x140394c00]
mov edx, dword [r13 + 0x90]
cmp byte [rcx + 0x67], 0
jne 0x14032075f
movsxd rax, dword [rsp + 0x8c]
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
imul rax, r12, 0x68
mov byte [rbx + 0x1f], 0
mov dword [rbx + 0x28], 0
movzx eax, word [rsi + rax + 0x48]
and ax, 0x108
cmp ax, 0x100
jne 0x14031f2dc
mov rdx, qword [rdi + 0x38]
mov rax, qword [rdi + 0x68]
mov qword [rax + 4], rdx
mov edx, dword [rdi + 0x4c]
mov dword [rax + 0xc], edx
movzx edx, word [rbp + 2]
mov word [rax + 0x10], dx
jmp 0x14031f2dc
mov rax, qword [rsp + 0x48]
test byte [rax + 0x61], 0x80
jne 0x14031f1a1
lea rax, [sym.sqlite3SelectWalkNoop]
movq xmm0, rbx
lea rdi, [sym.propagateConstantExprRewrite]
movq xmm4, rax
lea rax, [sym.sqlite3SelectWalkFail]
movq xmm6, rdi
punpcklqdq xmm6, xmm4
lea rdi, [sym.exprNodeIsConstant]
movq xmm5, rax
mov rax, qword [rbx]
movq xmm7, rdi
lea rdi, [rsp + 0xf0]
punpcklqdq xmm7, xmm5
add rax, 0x67
movq xmm4, rax
lea rax, [rsp + 0x150]
punpcklqdq xmm0, xmm4
movaps xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0x50], rax
nop dword [rax]
mov rdx, qword [r15 + 0x28]
mov eax, 1
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x110], 0
mov dword [rsp + 0x108], 0
test rdx, rdx
je 0x140320868
mov ecx, dword [rdx]
test ecx, ecx
jle 0x140320868
movzx eax, byte [rdx + 0x44]
and eax, 0x40
cmp al, 1
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
test r12, r12
mov dword [rsp + 0x10c], eax
je 0x14031f1a1
and eax, dword [r12 + 4]
jne 0x1403208b1
movzx eax, byte [r12]
cmp al, 0x2c
jne 0x140320938
mov rdx, qword [r12 + 0x18]
mov rcx, rdi
call sym.findConstInWhere
mov r12, qword [r12 + 0x10]
test r12, r12
je 0x1403208b1
mov eax, dword [rsp + 0x10c]
and eax, dword [r12 + 4]
je 0x14032087f
mov r11d, dword [rsp + 0x100]
test r11d, r11d
jne 0x1403208d6
mov eax, dword [rsp + 0x104]
test eax, eax
je 0x14031f1a1
mov r12, qword [r15 + 0x30]
jmp 0x140320820
mov rdx, qword [r15 + 0x30]
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 0
movups xmmword [rsp + 0x158], xmm6
test rdx, rdx
mov qword [rsp + 0x178], rdi
je 0x140320919
mov rcx, qword [rsp + 0x50]
call sym.walkExpr
mov rdx, qword [rsp + 0x110]
test rdx, rdx
je 0x1403208be
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rax]
call sym.sqlite3DbFreeNN
jmp 0x1403208be
cmp al, 0x35
jne 0x1403208b1
mov r14, qword [r12 + 0x18]
mov rsi, qword [r12 + 0x10]
cmp byte [r14], 0xa7
je 0x140321cf5
cmp byte [rsi], 0xa7
jne 0x1403208b1
xor eax, eax
mov rdx, r14
mov word [rsp + 0x1a4], 1
lea rcx, [rsp + 0x180]
movups xmmword [rsp + 0x188], xmm7
mov dword [rsp + 0x1a8], eax
call sym.walkExpr
cmp word [rsp + 0x1a4], 0
je 0x1403208b1
lea rcx, [rsp + 0xf0]
mov r9, r12
mov r8, r14
mov rdx, rsi
call sym.constInsert
jmp 0x1403208b1
mov rax, qword [r11 + 0x28]
mov r8, qword [rax]
jmp 0x14031f13d
mov esi, dword [rbx + 0x34]
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
mov rdx, qword [r15 + 0x20]
lea eax, [rsi + 1]
mov dword [rsp + 0xf4], esi
mov dword [rbx + 0x34], eax
call sym.sqlite3KeyInfoFromExprList
xor r9d, r9d
mov r8d, esi
mov edx, 0x76
mov rcx, r13
mov rdi, rax
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9d, 0xfffffff8
mov r8, rdi
mov rcx, r13
mov edx, eax
mov esi, eax
call sym.sqlite3VdbeChangeP4
movsxd rax, dword [r13 + 0x90]
mov dword [rsp + 0xf8], esi
test eax, eax
jle 0x140320a3b
mov rdx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov ecx, 8
lea rax, [rdx + rax*8]
mov word [rax - 0x16], cx
mov byte [rsp + 0x8c], 3
jmp 0x14031f7ea
mov rbx, qword [rsp + 0x240]
mov eax, dword [rsp + 0x50]
mov edx, 0x61
mov r9d, r12d
mov r8d, edi
mov rcx, rsi
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x1403216c0
add edi, dword [rax + 0x78]
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
mov r12d, dword [rdx]
mov dword [rsp + 0xdc], edi
call sym.sqlite3KeyInfoFromExprList
mov ecx, dword [rbx + 0x38]
mov edx, 0x5a
mov rdi, rax
mov rax, qword [rsp + 0x58]
mov r8d, dword [rsp + 0xdc]
add ecx, 1
mov r9d, dword [rax + 0x6c]
mov dword [rbx + 0x38], ecx
mov dword [rsp + 0xb4], ecx
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call sym.sqlite3VdbeAddOp3
mov rdx, qword [rsi]
cmp byte [rdx + 0x67], 0
jne 0x1403227fb
movsxd rdx, dword [rsi + 0x90]
lea rcx, [rdx + rdx*2]
mov rdx, qword [rsi + 0x88]
lea rdx, [rdx + rcx*8 - 0x18]
mov byte [rdx + 1], 0xf8
mov qword [rdx + 0x10], rdi
lea r8d, [rax + 2]
mov edx, 0xe
mov rcx, rsi
mov dword [rsp + 0x20], r8d
lea r9d, [rax + 4]
call sym.sqlite3VdbeAddOp3
xor r9d, r9d
mov edx, 0xa
mov rcx, rsi
mov r8d, dword [rsp + 0xb4]
call sym.sqlite3VdbeAddOp3.constprop.0
mov r8d, dword [rsp + 0xdc]
mov edx, 0x50
mov rcx, rsi
mov dword [rsp + 0xec], eax
mov rax, qword [rsp + 0x58]
mov r9d, dword [rax + 0x6c]
lea eax, [r12 - 1]
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
movsxd rax, dword [rsi + 0x90]
cmp eax, dword [rsi + 0x94]
jge 0x140321c3a
lea edx, [rax + 1]
mov edi, dword [rsp + 0x88]
mov dword [rsi + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], edi
mov edi, dword [rsp + 0xb0]
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x7f
mov dword [rax + 8], edi
mov r9d, dword [rsp + 0x50]
mov edx, pe_nt_image_headers64
mov rcx, rsi
mov dword [rsp + 0x20], edi
mov r8d, dword [rsp + 0x88]
call sym.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x58]
xor r9d, r9d
mov rcx, rsi
mov edx, 0x34
mov r8d, dword [rax + 0x80]
mov dword [rsp + 0x20], edi
call sym.sqlite3VdbeAddOp3
mov r12, qword [rbx + 0x10]
mov dword [rsp + 0xb0], eax
test r12, r12
jne 0x140320c07
mov rcx, rbx
call sym.sqlite3GetVdbe.part.0
mov r12, rax
mov rax, qword [rsp + 0x58]
xor r10d, r10d
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x240], rbx
mov esi, r10d
mov qword [rsp + 0x250], rbp
mov rdi, rax
mov rbx, rax
jmp 0x140320ccd
lea edx, [rax + 1]
mov dword [r12 + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 8], r9d
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov qword [rax], 0x4b
mov rax, qword [rdi + 0x70]
mov rdx, qword [rax + 0x20]
xor eax, eax
test rdx, rdx
je 0x140320c7e
mov eax, dword [rdx]
mov r10d, dword [rbx + 0x84]
cmp esi, eax
cmovl esi, eax
test r10d, r10d
jne 0x140320cc0
mov rax, qword [rbp + 0x38]
lea rcx, str.nth_value
cmp rax, rcx
je 0x140320d08
lea rcx, str.first_value
cmp rax, rcx
je 0x140320d08
test byte [rbp + 5], 0x10
je 0x140320cc0
mov r8d, dword [rdi + 0x64]
test r8d, r8d
jne 0x1403215e0
nop
mov rdi, qword [rdi + 0x40]
test rdi, rdi
je 0x140320da1
movsxd rax, dword [r12 + 0x90]
cmp eax, dword [r12 + 0x94]
mov rbp, qword [rdi + 0x50]
mov r9d, dword [rdi + 0x5c]
jl 0x140320c38
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x4b
mov rcx, r12
call sym.growOp3
jmp 0x140320c6d
movsxd rcx, dword [r12 + 0x90]
mov edx, dword [r12 + 0x94]
mov r9d, dword [rdi + 0x68]
cmp ecx, edx
jge 0x140321796
lea eax, [rcx + 1]
lea r8, [rcx + rcx*2]
mov rcx, qword [r12 + 0x88]
mov dword [r12 + 0x90], eax
lea rcx, [rcx + r8*8]
mov dword [rcx + 8], r9d
mov dword [rcx + 0xc], 0
mov qword [rcx + 0x10], 0
mov qword [rcx], 0x47
add r9d, 1
cmp eax, edx
jge 0x140321779
lea edx, [rax + 1]
cdqe
mov dword [r12 + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 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
jmp 0x140320cab
mov rbx, qword [rsp + 0x240]
mov r10d, esi
mov r8d, dword [rsp + 0x60]
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x250]
mov eax, dword [rbx + 0x38]
lea edx, [r10 + rax]
add eax, 1
test r8d, r8d
mov dword [rbx + 0x38], edx
mov dword [rsp + 0x1a0], eax
je 0x140320e0e
cmp qword [rbx + 0x10], 0
je 0x140320def
mov rax, qword [rsp + 0x58]
mov rcx, rbx
mov rdx, qword [rax + 0x28]
call sym.sqlite3ExprCode.part.0
mov rax, qword [rsp + 0x58]
mov rcx, rbx
mov edx, dword [rsp + 0x60]
cmp byte [rax + 0x20], 0x59
sete al
movzx eax, al
lea r8d, [rax + rax*2]
call sym.windowCheckValue
mov r8d, dword [rsp + 0x78]
test r8d, r8d
je 0x140320e50
cmp qword [rbx + 0x10], 0
je 0x140320e30
mov rax, qword [rsp + 0x58]
mov rcx, rbx
mov rdx, qword [rax + 0x30]
call sym.sqlite3ExprCode.part.0
mov rax, qword [rsp + 0x58]
mov rcx, rbx
mov edx, dword [rsp + 0x78]
cmp byte [rax + 0x20], 0x59
sete al
movzx eax, al
lea r8d, [rax + rax*2 + 1]
call sym.windowCheckValue
mov rdi, qword [rsp + 0x58]
lea rcx, [rsp + 0x180]
mov qword [rsp + 0x50], rcx
cmp byte [rdi + 0x20], 0x59
movzx eax, byte [rdi + 0x21]
je 0x140320e7d
cmp byte [rdi + 0x22], al
jne 0x140320e7d
mov ecx, dword [rsp + 0x60]
test ecx, ecx
jne 0x140322a7f
cmp al, 0x56
je 0x1403217c7
cmp al, 0x5a
jne 0x140321697
movsxd rdx, dword [rsi + 0x90]
mov ecx, dword [rsi + 0x94]
cmp edx, ecx
jge 0x140322391
lea eax, [rdx + 1]
mov edi, dword [rsp + 0x80]
lea r8, [rdx + rdx*2]
mov rdx, qword [rsi + 0x88]
mov dword [rsi + 0x90], eax
lea rdx, [rdx + r8*8]
mov dword [rdx + 4], edi
mov qword [rdx + 8], 0
mov qword [rdx + 0x10], 0
mov dword [rdx], 0x24
cmp eax, ecx
jge 0x14032236e
lea edx, [rax + 1]
cdqe
mov edi, dword [rsp + 0xbc]
mov dword [rsi + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], edi
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x24
cmp byte [rsp + 0xd4], 0
jne 0x14032183c
movsxd rax, dword [rsi + 0x90]
cmp eax, dword [rsi + 0x94]
jge 0x140322420
lea edx, [rax + 1]
mov edi, dword [rsp + 0xb8]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov dword [rsi + 0x90], edx
lea rax, [rax + rcx*8]
mov dword [rax + 8], edi
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov qword [rax], 9
mov rcx, qword [rsi]
lea rax, [0x140394c00]
cmp byte [rcx + 0x67], 0
jne 0x140320f9c
movsxd rax, dword [rsp + 0xb0]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov eax, dword [rsp + 0xc0]
test eax, eax
jne 0x14032180c
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x21], 0x56
je 0x1403223e5
cmp byte [rax + 0x22], 0x58
je 0x140321a84
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov edx, 3
call sym.windowCodeOp
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x22], 0x5a
je 0x14032102a
cmp byte [rax + 0x20], 0x59
je 0x14032285d
mov eax, dword [rsp + 0x78]
test eax, eax
jne 0x140322a07
xor r9d, r9d
xor r8d, r8d
mov rdi, qword [rsp + 0x50]
mov edx, 1
mov rcx, rdi
call sym.windowCodeOp
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov rcx, rdi
mov edx, 2
call sym.windowCodeOp
mov rcx, qword [rsi + 0x18]
mov r8d, dword [rsp + 0x90]
mov eax, dword [rcx + 0x44]
neg r8d
add eax, dword [rcx + 0x48]
js 0x140321bf9
mov edx, dword [rsi + 0x90]
movsxd r8, r8d
mov rax, qword [rcx + 0x50]
mov dword [rax + r8*4], edx
mov rcx, qword [rsp + 0x70]
call sym.sqlite3WhereEnd
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0x10], 0
je 0x1403216b4
mov r9d, dword [rsp + 0xb4]
xor r8d, r8d
mov edx, 0x47
mov rcx, rsi
call sym.sqlite3VdbeAddOp3.constprop.0
mov rdx, qword [rsi]
mov dword [rsp + 0x6c], eax
movsxd rdi, dword [rsi + 0x90]
lea rax, [0x140394c00]
cmp byte [rdx + 0x67], 0
jne 0x1403210ba
movsxd rax, dword [rsp + 0xec]
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 8], edi
cmp dword [rsi + 0x94], edi
mov dword [rsp + 0x1a8], 0
jle 0x140321c6b
lea eax, [rdi + 1]
mov ecx, dword [rsp + 0x88]
mov dword [rsi + 0x90], eax
movsxd rax, edi
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], ecx
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x24
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x22], 0x58
je 0x140321c91
xor r9d, r9d
xor r8d, r8d
cmp byte [rax + 0x21], 0x56
mov edx, 3
mov rcx, qword [rsp + 0x50]
je 0x140321adc
call sym.windowCodeOp
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov r9d, 1
mov edx, 1
mov r12d, dword [rsi + 0x90]
call sym.windowCodeOp
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov edx, 2
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x70], eax
call sym.windowCodeOp
xor r8d, r8d
mov edx, 9
mov r9d, r12d
mov rcx, rsi
call sym.sqlite3VdbeAddOp3.constprop.0
mov rdx, qword [rsi]
movsxd rax, dword [rsi + 0x90]
cmp byte [rdx + 0x67], 0
jne 0x140321726
movsxd rcx, dword [rsp + 0x70]
mov rdx, qword [rsi + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8 + 8], eax
lea rcx, [rdi + rdi*2]
lea rdx, [rdx + rcx*8]
cmp dword [rsi + 0x94], eax
mov dword [rdx + 8], eax
jle 0x1403223c0
lea edx, [rax + 1]
mov edi, dword [rsp + 0x80]
mov dword [rsi + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], edi
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x92
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0x10], 0
je 0x140321293
mov r9d, dword [rax + 0x84]
test r9d, r9d
jne 0x140321c06
mov rcx, qword [rsi]
lea rdx, [0x140394c00]
movsxd rax, dword [rsi + 0x90]
cmp byte [rcx + 0x67], 0
jne 0x14032124c
movsxd rdx, dword [rsp + 0x6c]
lea rcx, [rdx + rdx*2]
mov rdx, qword [rsi + 0x88]
lea rdx, [rdx + rcx*8]
cmp eax, dword [rsi + 0x94]
mov dword [rdx + 4], eax
jge 0x14032283a
lea edx, [rax + 1]
mov edi, dword [rsp + 0xb4]
mov dword [rsi + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], edi
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x43
mov edi, dword [rsp + 0xc4]
xor r8d, r8d
mov edx, 9
mov rcx, r13
mov r9d, edi
call sym.sqlite3VdbeAddOp3.constprop.0
mov edx, dword [rsp + 0xa0]
mov rcx, r13
call sym.sqlite3VdbeResolveLabel
mov esi, dword [rsp + 0xc8]
mov rdx, r15
mov r8d, 0xffffffff
lea rax, [rsp + 0xf0]
mov rcx, rbx
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x120]
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x140], 0
call sym.selectInnerLoop
mov edx, esi
mov rcx, r13
call sym.sqlite3VdbeResolveLabel
mov edx, 0x43
mov rcx, r13
xor r9d, r9d
mov r8d, dword [rsp + 0x9c]
call sym.sqlite3VdbeAddOp3.constprop.0
mov edx, edi
mov rcx, r13
call sym.sqlite3VdbeResolveLabel
xor r12d, r12d
cmp byte [rsp + 0x8c], 3
je 0x140321738
cmp qword [rsp + 0x120], 0
je 0x140321364
mov r9d, dword [r14]
mov rdx, r15
mov qword [rsp + 0x20], rbp
mov rcx, rbx
lea r8, [rsp + 0x120]
call sym.generateSortTail
mov edx, dword [rsp + 0x98]
mov rcx, r13
call sym.sqlite3VdbeResolveLabel
mov esi, dword [rbx + 0x30]
xor eax, eax
test esi, esi
setg al
test r12, r12
je 0x14031ee90
mov rcx, qword [rsp + 0x48]
mov rdx, r12
mov dword [rsp + 0x50], eax
call sym.exprListDeleteNN
mov eax, dword [rsp + 0x50]
jmp 0x14031ee90
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf
mov dword [rsp + 0x90], r10d
mov rcx, r13
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9, qword [rsp + 0x50]
mov edx, 1
mov rcx, rbx
mov dword [rsp + 0x98], eax
mov eax, dword [rdi + 0x4c]
lea r8, str.MATERIALIZE___S
mov byte [rsp + 0x180], 0xc
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x188], 0
mov dword [rsp + 0x184], eax
mov dword [rsp + 0x190], 0
call sym.sqlite3VdbeExplain
mov r8, qword [rsp + 0x70]
mov rdx, rbp
mov rcx, rbx
call sym.sqlite3Select
movsxd r11, dword [rsp + 0x98]
mov rax, qword [rdi + 0x28]
movzx edx, word [rbp + 2]
mov r10d, dword [rsp + 0x90]
test r11d, r11d
mov word [rax + 0x3a], dx
je 0x14032071c
mov rcx, qword [r13]
lea rax, [0x140394c00]
mov edx, dword [r13 + 0x90]
cmp byte [rcx + 0x67], 0
jne 0x14032146c
mov rax, qword [r13 + 0x88]
lea rcx, [r11 + r11*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x14032071c
mov qword [rsp + 0x120], 0
mov r11d, dword [rsp + 0x78]
test r11d, r11d
js 0x14031fb9a
mov edx, dword [rsp + 0x78]
mov rcx, r13
call sym.sqlite3VdbeChangeToNoop.isra.0
jmp 0x14031fb9a
mov r9d, dword [r14]
mov edx, 0x76
mov rcx, r13
mov r8d, dword [rbp + 4]
call sym.sqlite3VdbeAddOp3.constprop.0
mov eax, dword [r15 + 4]
test ah, 8
mov edx, eax
je 0x14031f75c
mov ecx, dword [r14]
lea esi, [rcx - 1]
test esi, esi
jle 0x140321529
movsxd rdi, ecx
shl rdi, 5
add rdi, r14
nop word cs:[rax + rax]
movsxd rax, esi
shl rax, 5
test byte [r14 + rax + 0x1c], 0x40
jne 0x140321522
mov rdx, qword [rdi - 0x18]
test rdx, rdx
je 0x140321502
mov rcx, qword [rsp + 0x48]
call sym.sqlite3ExprDeleteNN
mov rdx, qword [rdi - 0x10]
test rdx, rdx
je 0x14032156c
mov rcx, qword [rsp + 0x48]
sub rdi, 0x20
call sym.sqlite3DbFreeNN
sub dword [r14], 1
sub esi, 1
jne 0x1403214e0
mov eax, dword [r15 + 4]
mov ecx, dword [r14]
mov edx, eax
xor eax, eax
test ecx, ecx
movsxd r8, ecx
jle 0x14031f75c
nop dword [rax + rax]
movsxd rcx, eax
shl rcx, 5
test byte [r14 + rcx + 0x1c], 0x40
jne 0x14032155e
mov rcx, rax
shl rcx, 5
mov rcx, qword [r14 + rcx + 8]
mov byte [rcx], 0x79
add rax, 1
cmp rax, r8
jne 0x140321540
jmp 0x14031f75c
sub dword [r14], 1
sub rdi, 0x20
sub esi, 1
jne 0x1403214e0
jmp 0x140321522
mov r8d, 0xffffffff
mov rdx, r14
mov rcx, r12
call sym.sqlite3ExprListCompare
test eax, eax
jne 0x14031f6df
cmp qword [r15 + 0x70], 0
jne 0x14031f6df
and dword [r15 + 4], 0xfffffffe
mov rdx, r14
mov rcx, qword [rsp + 0x48]
call sym.sqlite3ExprListDup.constprop.0
mov byte [rsp + 0xf0], 2
or dword [r15 + 4], 8
mov qword [rsp + 0x60], rax
mov qword [r15 + 0x38], rax
mov byte [rsp + 0x50], 1
mov byte [rsp + 0x9c], 2
jmp 0x14031f6df
movsxd rdx, dword [r12 + 0x90]
mov ecx, dword [r12 + 0x94]
cmp edx, ecx
jge 0x14032290e
lea eax, [rdx + 1]
lea r9, [rdx + rdx*2]
mov rdx, qword [r12 + 0x88]
mov dword [r12 + 0x90], eax
lea rdx, [rdx + r9*8]
mov dword [rdx + 4], r8d
mov qword [rdx + 8], 0
mov qword [rdx + 0x10], 0
mov dword [rdx], 0x92
mov edx, dword [rdi + 0x68]
cmp eax, ecx
lea r9d, [rdx + 1]
jge 0x1403228f1
lea edx, [rax + 1]
cdqe
mov dword [r12 + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 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
jmp 0x140320cc0
mov r11d, dword [rsp + 0x8c]
mov r10d, 1
jmp 0x14031f42c
xor edx, edx
mov word [r15 + 2], dx
jmp 0x14031ff9a
mov r8d, dword [rsp + 0xd8]
xor r9d, r9d
mov edx, 0x24
mov rcx, rsi
call sym.sqlite3VdbeAddOp3.constprop.0
jmp 0x140320e8d
movsxd rdi, dword [rsi + 0x90]
jmp 0x1403210bd
mov dword [rsp + 0xb4], 0
mov dword [rsp + 0xec], 0
jmp 0x140320b5a
mov rdi, qword [rsp + 0x70]
mov rcx, rbx
mov r8d, 0xffffffff
mov rdx, r15
lea r9, [rsp + 0x120]
mov eax, dword [rdi + 0x34]
mov dword [rsp + 0x38], eax
mov eax, dword [rdi + 0x30]
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x30], eax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x20], rax
call sym.selectInnerLoop
mov rcx, rdi
call sym.sqlite3WhereEnd
jmp 0x14032132d
mov dword [0x140394c08], eax
lea rdx, [0x140394c00]
jmp 0x1403211ba
lea r9, str.DISTINCT
xor edx, edx
mov rcx, rbx
lea r8, str.USE_TEMP_B_TREE_FOR__s
call sym.sqlite3VdbeExplain
jmp 0x14032133e
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14032176f
mov rcx, qword [rsp + 0x48]
mov rdx, rax
call sym.exprListDeleteNN
mov eax, 1
jmp 0x14032137d
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x47
mov rcx, r12
call sym.growOp3
jmp 0x140320cab
mov edx, 0x47
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov rcx, r12
call sym.growOp3
mov r9d, dword [rdi + 0x68]
mov eax, dword [r12 + 0x90]
mov edx, dword [r12 + 0x94]
jmp 0x140320d59
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x20], 0x59
je 0x140321697
cmp dword [rsp + 0x78], 0
je 0x140321697
mov eax, dword [rsp + 0x60]
mov edx, 0x6b
mov rcx, rsi
mov r9d, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
mov r8d, eax
call sym.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x21]
jmp 0x140320e85
mov eax, dword [rsp + 0xb8]
mov rcx, rbx
mov r9d, dword [rsp + 0xc0]
mov r8d, dword [rsp + 0xd0]
mov rdx, qword [rsp + 0xa8]
mov dword [rsp + 0x20], eax
call sym.windowIfNewPeer
jmp 0x140320fae
mov rdi, qword [rsp + 0xa8]
mov rcx, rsi
mov edx, 0x50
mov r12d, dword [rsp + 0xc0]
mov r8d, dword [rsp + 0xd0]
mov eax, dword [rdi]
mov r9d, r12d
mov dword [rsp + 0xd4], eax
sub eax, 1
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov eax, dword [rdi]
mov r8d, r12d
mov rcx, rsi
mov r9d, dword [rsp + 0xe0]
mov edx, 0x50
mov dword [rsp + 0xd4], eax
sub eax, 1
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov eax, dword [rdi]
mov r8d, r12d
mov rcx, rsi
mov r9d, dword [rsp + 0xe4]
mov edx, 0x50
mov dword [rsp + 0xd4], eax
sub eax, 1
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov eax, dword [rdi]
mov r8d, r12d
mov edx, 0x50
mov r9d, dword [rsp + 0xe8]
mov rcx, rsi
mov dword [rsp + 0xd4], eax
sub eax, 1
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
jmp 0x140320f2a
cmp byte [rdi + 0x20], 0x59
jne 0x1403224c9
mov eax, dword [rbx + 0x38]
lea edi, [rax + 1]
add eax, r12d
lea ecx, [rax + 1]
lea edx, [rax + 2]
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x1a8], edx
jmp 0x14031fd3f
mov dword [rsp + 0xe8], 0
mov dword [rsp + 0xe4], 0
mov dword [rsp + 0xe0], 0
mov dword [rsp + 0xc0], 0
mov dword [rsp + 0xd0], 0
mov byte [rsp + 0xd4], 0
jmp 0x14031fe28
mov dword [rsp + 0xb0], edx
mov dword [rsp + 0x60], 0
jmp 0x14031fd52
mov eax, dword [rdi + 0x84]
mov rdx, rdi
test eax, eax
mov dword [rsp + 0x50], eax
jne 0x1403219dc
lea rdi, str.nth_value
lea r10, str.first_value
lea r9, str.lead
lea r8, [0x14047dc20]
jmp 0x1403219b9
cmp rax, r8
je 0x1403219dc
mov rdx, qword [rdx + 0x40]
test rdx, rdx
je 0x1403229ce
mov rax, qword [rdx + 0x50]
mov rax, qword [rax + 0x38]
cmp rax, rdi
sete cl
cmp rax, r10
sete r11b
or r11d, ecx
cmp rax, r9
sete cl
or cl, r11b
je 0x1403219a7
mov eax, dword [rbx + 0x38]
xor r10d, r10d
mov dword [rsp + 0x60], r10d
lea edi, [rax + 1]
add eax, r12d
lea edx, [rax + 2]
lea ecx, [rax + 1]
mov dword [rbx + 0x38], edx
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x1a8], edx
mov dword [rsp + 0xb0], edx
jmp 0x14031fd52
lea rax, [rsp + 0x180]
mov qword [rsp + 0x50], rax
jmp 0x140320137
test edx, edx
jle 0x140321a55
mov r8, qword [rsp + 0x60]
movsxd rcx, edx
mov eax, 0x18
shl rcx, 5
add rcx, 0x18
nop dword [rax + rax]
movzx edx, byte [r12 + rax]
and edx, 1
mov byte [r8 + rax], dl
add rax, 0x20
cmp rax, rcx
jne 0x140321a40
mov rcx, qword [rsp + 0x60]
mov r8d, 0xffffffff
mov rdx, r12
call sym.sqlite3ExprListCompare
test eax, eax
sete byte [rsp + 0x88]
sete al
movzx eax, al
mov dword [rsp + 0xc0], eax
jmp 0x14031ffa5
movzx edi, word [rax + 0x20]
xor r9d, r9d
mov edx, 3
mov r8d, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x50]
call sym.windowCodeOp
xor r9d, r9d
cmp di, 0x5859
jne 0x140321000
mov rdi, qword [rsp + 0x50]
mov edx, 2
mov r8d, dword [rsp + 0x60]
mov rcx, rdi
call sym.windowCodeOp
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov rcx, rdi
call sym.windowCodeOp
jmp 0x14032102a
call sym.windowCodeOp
mov rax, qword [rsp + 0x58]
mov r9d, 1
mov r12d, dword [rsi + 0x90]
cmp byte [rax + 0x20], 0x59
je 0x140322c4f
cmp byte [rax + 0x22], 0x5a
je 0x140322c16
mov r8d, dword [rsp + 0x78]
mov edx, 1
mov rcx, qword [rsp + 0x50]
call sym.windowCodeOp
mov r8d, dword [rsp + 0x60]
mov r9d, 1
mov edx, 2
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x70], eax
call sym.windowCodeOp
mov dword [rsp + 0x60], eax
mov r9d, r12d
xor r8d, r8d
mov edx, 9
mov rcx, rsi
call sym.sqlite3VdbeAddOp3.constprop.0
mov rdx, qword [rsi]
lea rax, [0x140394c00]
mov r12d, dword [rsi + 0x90]
cmp byte [rdx + 0x67], 0
jne 0x140321b77
movsxd rax, dword [rsp + 0x60]
imul rax, rax, 0x18
add rax, qword [rsi + 0x88]
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov r9d, 1
mov dword [rax + 8], r12d
mov edx, 1
call sym.windowCodeOp
xor r8d, r8d
mov edx, 9
mov r9d, r12d
mov rcx, rsi
mov dword [rsp + 0x50], eax
call sym.sqlite3VdbeAddOp3.constprop.0
mov rdx, qword [rsi]
movsxd rax, dword [rsi + 0x90]
cmp byte [rdx + 0x67], 0
jne 0x140321726
movsxd rcx, dword [rsp + 0x70]
mov rdx, qword [rsi + 0x88]
imul rcx, rcx, 0x18
mov dword [rdx + rcx + 8], eax
movsxd rcx, dword [rsp + 0x50]
imul rcx, rcx, 0x18
mov dword [rdx + rcx + 8], eax
jmp 0x1403211b2
mov r12, qword [r15 + 0x40]
test r12, r12
je 0x140322b4e
xor r12d, r12d
jmp 0x1403202bb
mov rdx, rsi
call sym.resizeResolveLabel
jmp 0x140321056
mov rcx, rsi
mov r8d, 1
mov edx, 0x47
call sym.sqlite3VdbeAddOp3.constprop.0
mov rax, qword [rsp + 0x58]
xor r8d, r8d
mov rcx, rsi
mov edx, 0x47
mov r9d, dword [rax + 0x88]
call sym.sqlite3VdbeAddOp3.constprop.0
jmp 0x140321221
mov r9d, dword [rsp + 0xb0]
xor r11d, r11d
mov edx, 0x7f
mov rcx, rsi
mov r8d, dword [rsp + 0x88]
mov dword [rsp + 0x20], r11d
call sym.growOp3
mov edi, dword [rsp + 0xb0]
jmp 0x140320bae
mov r8d, dword [rsp + 0x88]
xor eax, eax
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], eax
mov edx, 0x24
call sym.growOp3
movsxd rdi, eax
jmp 0x14032110f
movzx r12d, word [rax + 0x20]
xor r9d, r9d
mov edx, 3
mov r8d, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x50]
call sym.windowCodeOp
cmp r12w, 0x5859
je 0x140322f20
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov edx, 1
call sym.windowCodeOp
mov rcx, qword [rsi]
lea rdx, [0x140394c00]
movsxd rax, dword [rsi + 0x90]
cmp byte [rcx + 0x67], 0
jne 0x1403211ba
mov rdx, qword [rsi + 0x88]
jmp 0x1403211b2
mov eax, 1
test rsi, rsi
movups xmmword [rsp + 0x188], xmm7
mov word [rsp + 0x1a4], ax
mov dword [rsp + 0x1a8], 0
je 0x140321d39
lea rcx, [rsp + 0x180]
mov rdx, rsi
call sym.walkExpr
cmp word [rsp + 0x1a4], 0
je 0x140320954
lea rcx, [rsp + 0xf0]
mov r9, r12
mov r8, rsi
mov rdx, r14
call sym.constInsert
jmp 0x140320954
mov esi, ebp
mov rbp, qword [rsp + 0x250]
mov rbx, r10
mov rax, qword [rsp + 0x70]
mov byte [rax], 0
movzx eax, byte [rbx + 0x1f]
test al, al
je 0x140322d68
sub eax, 1
mov byte [rbx + 0x1f], al
movzx eax, al
mov edi, dword [rbx + rax*4 + 0xe4]
mov r8d, dword [rsp + 0x50]
mov r9d, esi
mov edx, 0x61
mov rcx, r13
mov dword [rsp + 0x20], edi
call sym.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x70]
mov r9d, edi
mov rcx, r13
mov edx, 0x8b
mov r8d, dword [rax + 4]
call sym.sqlite3VdbeAddOp3.constprop.0
test edi, edi
je 0x140321dc5
mov edx, edi
mov rcx, rbx
call sym.sqlite3ReleaseTempReg.part.0
cmp esi, 1
je 0x140322f0f
cmp esi, dword [rbx + 0x28]
jle 0x140321de6
movd xmm5, dword [rsp + 0x50]
movd xmm0, esi
punpckldq xmm0, xmm5
movq qword [rbx + 0x28], xmm0
mov rcx, qword [rsp + 0x90]
call sym.sqlite3WhereEnd
mov edi, dword [rbx + 0x34]
lea eax, [rdi + 1]
mov dword [rsp + 0x50], edi
mov dword [rbx + 0x34], eax
mov rax, qword [rsp + 0x70]
mov dword [rax + 8], edi
movzx eax, byte [rbx + 0x1f]
test al, al
je 0x140322d4d
sub eax, 1
mov r8d, edi
mov byte [rbx + 0x1f], al
movzx eax, al
mov eax, dword [rbx + rax*4 + 0xe4]
mov dword [rsp + 0x88], eax
mov r9d, eax
mov edx, 0x79
mov rcx, r13
mov dword [rsp + 0x20], esi
call sym.sqlite3VdbeAddOp3
mov rdi, qword [rsp + 0x70]
mov edx, 0x22
mov rcx, r13
mov r9d, dword [rsp + 0xa8]
mov r8d, dword [rdi + 4]
call sym.sqlite3VdbeAddOp3.constprop.0
mov byte [rdi + 1], 1
mov dword [rsp + 0x58], 1
cmp qword [rbx + 0x60], 0
je 0x140321ed7
lea rdi, [rsp + 0x150]
xor eax, eax
mov ecx, 0xc
mov rsi, rdi
rep stosd dword [rdi], eax
lea rax, [sym.aggregateIdxEprRefToColCallback]
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x30]
test ecx, ecx
jle 0x140321ed7
xor edi, edi
jmp 0x140321ebe
mov rcx, rsi
add rdi, 1
call sym.walkExpr
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x30]
cmp ecx, edi
jle 0x140321ed7
mov rax, qword [rax + 0x28]
lea rdx, [rdi + rdi*2]
mov rdx, qword [rax + rdx*8]
test rdx, rdx
jne 0x140321ea6
add rdi, 1
cmp ecx, edi
jg 0x140321ec2
mov eax, dword [rsp + 0xc0]
test eax, eax
je 0x1403222d4
mov rax, qword [rsp + 0x48]
test byte [rax + 0x60], 4
jne 0x1403222d4
cmp dword [rsp + 0x58], 0
jne 0x1403230f6
mov rax, qword [rsp + 0x90]
test byte [rax + 0x44], 8
je 0x140321f24
mov edx, dword [rsp + 0x78]
xor eax, eax
mov rcx, r13
mov qword [rsp + 0x120], rax
call sym.sqlite3VdbeChangeToNoop.isra.0
mov edi, dword [r13 + 0x90]
mov rax, qword [rsp + 0x60]
mov eax, dword [rax]
test eax, eax
jle 0x140321f95
mov rcx, qword [rsp + 0x70]
mov dword [rsp + 0x50], edi
mov rdi, rbx
mov esi, 1
mov rbx, qword [rsp + 0x60]
mov byte [rcx], 1
cmp qword [rdi + 0x10], 0
je 0x140321f8e
mov rax, rsi
mov rcx, rdi
shl rax, 5
mov rdx, qword [rbx + rax - 0x18]
mov eax, dword [rsp + 0xbc]
lea r8d, [rax + rsi]
call sym.sqlite3ExprCode.part.0
mov eax, dword [rbx]
cmp eax, esi
jle 0x140321f8e
mov rcx, qword [rsp + 0x70]
add rsi, 1
mov byte [rcx], 1
cmp qword [rdi + 0x10], 0
jne 0x140321f56
mov rbx, rdi
mov edi, dword [rsp + 0x50]
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x140321fa5
add dword [rcx], 1
mov r9d, dword [rsp + 0xdc]
mov edx, 0x5a
mov rcx, r13
mov dword [rsp + 0x20], eax
mov r8d, dword [rsp + 0xe4]
call sym.sqlite3VdbeAddOp3
mov r8, qword [rsp + 0xc8]
mov r9d, 0xfffffff8
mov rcx, r13
mov edx, eax
call sym.sqlite3VdbeChangeP4
xor r9d, r9d
mov edx, 0xe
mov rcx, r13
mov esi, dword [r13 + 0x90]
lea r8d, [rsi + 1]
mov dword [rsp + 0x20], r8d
call sym.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x60]
mov edx, 0x4f
mov rcx, qword [rbx + 0x10]
mov r9d, dword [rsp + 0xe4]
mov r8d, dword [rsp + 0xdc]
mov eax, dword [rax]
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov r9d, dword [rsp + 0xd4]
mov edx, 0xa
mov rcx, r13
mov r8d, dword [rsp + 0xb0]
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9d, dword [rsp + 0xa8]
mov edx, 0x3b
mov rcx, r13
mov r8d, dword [rsp + 0xe0]
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9d, dword [rsp + 0xd0]
mov edx, 0xa
mov rcx, r13
mov r8d, dword [rsp + 0xb8]
call sym.sqlite3VdbeAddOp3.constprop.0
mov rcx, qword [r13]
lea rax, [0x140394c00]
mov edx, dword [r13 + 0x90]
cmp byte [rcx + 0x67], 0
jne 0x1403220a4
movsxd rax, esi
imul rax, rax, 0x18
add rax, qword [r13 + 0x88]
mov rsi, qword [rsp + 0x70]
mov dword [rax + 8], edx
mov rcx, rbx
mov r9d, dword [rsp + 0xd8]
mov edx, dword [rsp + 0xb4]
mov r8, rsi
call sym.updateAccumulator
mov r9d, dword [rsp + 0xb4]
mov edx, 0x47
mov rcx, r13
mov r8d, 1
call sym.sqlite3VdbeAddOp3.constprop.0
mov r11d, dword [rsp + 0x58]
test r11d, r11d
je 0x140322550
mov r8d, dword [rsi + 4]
mov r9d, edi
mov edx, 0x25
mov rcx, r13
call sym.sqlite3VdbeAddOp3.constprop.0
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14032211d
mov rcx, qword [rsp + 0x48]
mov rdx, rax
call sym.exprListDeleteNN
mov esi, dword [rsp + 0xb0]
mov edx, 0xa
mov rcx, r13
mov r9d, dword [rsp + 0xd4]
mov r8d, esi
call sym.sqlite3VdbeAddOp3.constprop.0
xor r8d, r8d
mov edx, 9
mov rcx, r13
mov r9d, dword [rsp + 0xa8]
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9d, dword [rsp + 0xe0]
mov edx, 0x47
mov rcx, r13
mov r8d, 1
mov edi, dword [r13 + 0x90]
call sym.sqlite3VdbeAddOp3.constprop.0
xor r9d, r9d
mov r8d, esi
mov edx, 0x43
mov rcx, r13
mov dword [rsp + 0xb0], esi
call sym.sqlite3VdbeAddOp3.constprop.0
mov edx, dword [rsp + 0xd4]
mov rcx, r13
call sym.sqlite3VdbeResolveLabel
mov esi, dword [r13 + 0x90]
mov edx, 0x3b
mov rcx, r13
mov r8d, dword [rsp + 0xb4]
lea r9d, [rsi + 2]
add esi, 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 rcx, qword [rbx + 0x10]
mov rdx, qword [rsp + 0x70]
call sym.finalizeAggFunctions.isra.0
mov rdx, qword [rsp + 0xa0]
mov r8d, esi
mov rcx, rbx
mov r9d, 0x10
call sym.sqlite3ExprIfFalse
mov rdx, r15
mov rcx, rbx
mov dword [rsp + 0x38], edi
lea rax, [rsp + 0xf0]
mov r8d, 0xffffffff
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x120]
mov qword [rsp + 0x28], rbp
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 + 0xd0]
mov rcx, r13
call sym.sqlite3VdbeResolveLabel
mov rdx, qword [rsp + 0x70]
mov rcx, rbx
call sym.resetAccumulator
xor r8d, r8d
mov edx, 0x47
mov rcx, r13
mov r9d, dword [rsp + 0xb4]
call sym.sqlite3VdbeAddOp3.constprop.0
xor r9d, r9d
mov edx, 0x43
mov rcx, r13
mov r8d, dword [rsp + 0xb8]
call sym.sqlite3VdbeAddOp3.constprop.0
cmp word [rsp + 0xc4], 0
je 0x1403222c0
mov eax, dword [rsp + 0xd8]
test eax, eax
je 0x1403222c0
cmp dword [rbx + 0x30], 0
jne 0x1403222c0
sub eax, 1
cmp eax, 1
jbe 0x140323118
mov edx, dword [rsp + 0xa8]
mov rcx, r13
call sym.sqlite3VdbeResolveLabel
jmp 0x140321330
mov esi, dword [rsp + 0x58]
mov edi, dword [r13 + 0x90]
test esi, esi
je 0x140321f2b
mov rax, qword [rsp + 0x70]
mov edx, 0x85
mov rcx, r13
mov r9d, dword [rsp + 0x88]
mov r8d, dword [rax + 4]
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x60]
mov eax, dword [rax]
test eax, eax
jle 0x140321f95
mov dword [rsp + 0x78], edi
mov esi, dword [rsp + 0xdc]
mov qword [rsp + 0x240], rbx
mov edi, dword [rsp + 0x6c]
mov rbx, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x50]
lea eax, [rsi + rdi]
mov r9d, edi
mov edx, 0x5e
mov dword [rsp + 0x20], eax
mov rcx, r13
add edi, 1
call sym.sqlite3VdbeAddOp3
mov eax, dword [rbx]
cmp edi, eax
jl 0x140322338
mov edi, dword [rsp + 0x78]
mov rbx, qword [rsp + 0x240]
jmp 0x140321f95
mov r8d, dword [rsp + 0xbc]
xor eax, eax
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], eax
mov edx, 0x24
call sym.growOp3
jmp 0x140320f1c
mov r8d, dword [rsp + 0x80]
xor edx, edx
mov rcx, rsi
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov edx, 0x24
call sym.growOp3
mov eax, dword [rsi + 0x90]
mov ecx, dword [rsi + 0x94]
jmp 0x140320eda
mov r8d, dword [rsp + 0x80]
xor r12d, r12d
xor r9d, r9d
mov edx, 0x92
mov dword [rsp + 0x20], r12d
mov rcx, rsi
call sym.growOp3
jmp 0x140321201
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov edx, 3
call sym.windowCodeOp
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x22], 0x5a
je 0x14032102a
cmp byte [rax + 0x20], 0x59
je 0x140322d93
mov r8d, dword [rsp + 0x78]
xor r9d, r9d
jmp 0x140321003
mov r9d, dword [rsp + 0xb8]
xor eax, eax
xor r8d, r8d
mov rcx, rsi
mov edx, 9
mov dword [rsp + 0x20], eax
call sym.growOp3
mov edx, dword [rsi + 0x90]
jmp 0x140320f75
mov eax, dword [rbx + 0x38]
mov r8d, 1
mov rdi, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
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, 0x47
mov dword [rdi + 0x64], eax
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9d, dword [rdi + 0x88]
xor r8d, r8d
mov edx, 0x47
mov rcx, qword [rsp + 0x60]
call sym.sqlite3VdbeAddOp3.constprop.0
mov r9d, dword [rdi + 0x58]
mov edx, 0x73
mov r8d, dword [rdi + 0x64]
mov rcx, qword [rsp + 0x60]
call sym.sqlite3VdbeAddOp3.constprop.0
jmp 0x14031fac8
mov edx, dword [rdx + 0x370]
jmp 0x14031fb89
mov rdx, qword [rdi + 0x28]
xor eax, eax
mov rcx, qword [rbx]
mov qword [rsp + 0x150], rax
test rdx, rdx
movzx r8d, byte [rcx + 0x64]
je 0x140322b39
xor eax, eax
mov r9d, 0x43
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x150]
mov qword [rsp + 0x20], rax
call sym.valueFromExpr
mov rcx, qword [rsp + 0x150]
test rcx, rcx
je 0x140322b39
mov qword [rsp + 0x50], rcx
call sym.sqlite3VdbeIntValue
mov rcx, qword [rsp + 0x50]
mov rdi, rax
call sym.sqlite3ValueFree
test edi, edi
jle 0x140322b40
mov dword [rsp + 0x1a4], 1
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rax + 0x21]
jmp 0x14031fd13
mov rcx, qword [rsp + 0x90]
call sym.sqlite3WhereEnd
mov edx, dword [rsp + 0xe8]
mov rcx, r13
call sym.sqlite3VdbeChangeToNoop.isra.0
jmp 0x140322103
cmp qword [r15 + 0x30], 0
jne 0x1403230c2
mov rcx, qword [r15 + 0x20]
cmp dword [rcx], 1
jne 0x1403230c2
mov rax, qword [r15 + 0x28]
cmp dword [rax], 1
jne 0x1403230c2
cmp qword [rax + 0x30], 0
jne 0x1403230c2
cmp edx, 1
jne 0x14032313e
mov rdi, qword [r15 + 0x40]
test rdi, rdi
jne 0x140322f7b
mov rax, qword [rax + 0x28]
cmp byte [rax + 0x3f], 0
mov qword [rsp + 0x50], rax
jne 0x140322f7b
mov rcx, qword [rcx + 8]
mov rax, qword [rsp + 0x70]
cmp byte [rcx], 0xa8
jne 0x140323287
cmp rax, qword [rcx + 0x38]
jne 0x140323287
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x28]
mov r8, qword [rax + 8]
test byte [r8 + 5], 1
je 0x140322f84
test dword [rcx + 4], 0x1000004
jne 0x140322f84
mov rax, qword [rsp + 0x50]
mov rcx, qword [rbx]
mov rdx, qword [rax + 0x60]
test rdx, rdx
je 0x1403232d1
call sym.sqlite3SchemaToIndex.part.0
mov dword [rsp + 0x58], eax
mov esi, dword [rbx + 0x34]
mov edx, dword [rsp + 0x58]
lea eax, [rsi + 1]
mov dword [rbx + 0x34], eax
mov rax, qword [rsp + 0x50]
mov ecx, dword [rax + 0x28]
mov dword [rsp + 0x60], ecx
mov rcx, rbx
call sym.sqlite3CodeVerifySchema
mov rax, qword [rsp + 0x50]
xor r9d, r9d
mov rcx, rbx
mov edx, dword [rsp + 0x58]
mov r8d, dword [rax + 0x28]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
call sym.sqlite3TableLock
mov rax, qword [rsp + 0x50]
test byte [rax + 0x30], 0x80
je 0x140322c88
mov rdi, qword [rax + 0x10]
test rdi, rdi
mov rax, rdi
jne 0x140322699
jmp 0x140322ca4
mov rdi, qword [rdi + 0x28]
test rdi, rdi
je 0x1403226a5
movzx edx, byte [rdi + 0x64]
and edx, 3
cmp dl, 2
jne 0x140322690
mov rdx, qword [r15 + 0x28]
test byte [rdx + 0x48], 1
je 0x1403227dd
test rdi, rdi
je 0x140322ca4
mov r9d, dword [rdi + 0x58]
mov rdx, rdi
mov rcx, rbx
mov dword [rsp + 0x6c], r9d
call sym.sqlite3KeyInfoOfIndex
mov r9d, dword [rsp + 0x6c]
mov r8d, esi
mov rcx, r13
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x58]
mov edx, 0x70
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp4Int.isra.0
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x140322718
mov r9d, 0xfffffff8
mov r8, rax
or edx, 0xffffffff
mov rcx, r13
call sym.sqlite3VdbeChangeP4
mov rax, qword [rsp + 0x70]
mov r8d, esi
mov ecx, dword [rbx + 0x38]
mov edx, dword [rax + 0x20]
mov r11d, dword [rax + 0x30]
lea r9d, [rcx + 1]
mov dword [rax + 0xc], r9d
add r9d, edx
add r11d, edx
mov edx, 0x62
mov eax, r11d
add eax, ecx
mov rcx, r13
mov dword [rbx + 0x38], eax
call sym.sqlite3VdbeAddOp3.constprop.0
xor r9d, r9d
mov r8d, esi
mov edx, 0x7a
mov rcx, r13
call sym.sqlite3VdbeAddOp3.constprop.0
cmp byte [rbx + 0x133], 2
je 0x140322f52
xor edi, edi
mov rcx, rbx
mov rdx, qword [rsp + 0xa0]
mov r9d, 0x10
mov qword [rsp + 0x120], rdi
mov edi, dword [rsp + 0xa8]
mov r8d, edi
call sym.sqlite3ExprIfFalse
xor eax, eax
mov dword [rsp + 0x38], edi
xor r9d, r9d
mov dword [rsp + 0x30], edi
or r8d, 0xffffffff
mov rdx, r15
mov rcx, rbx
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rax
call sym.selectInnerLoop
jmp 0x1403222c0
test rdi, rdi
je 0x1403227cd
cmp dx, word [rdi + 0x5c]
jge 0x1403227d0
mov rdi, rax
mov rax, qword [rax + 0x28]
test rax, rax
je 0x1403226b3
test byte [rax + 0x64], 4
jne 0x1403227d0
mov rcx, qword [rsp + 0x50]
movzx edx, word [rax + 0x5c]
cmp dx, word [rcx + 0x3c]
jge 0x1403227d0
cmp qword [rax + 0x48], 0
jne 0x1403227d0
jmp 0x1403227c2
cmp qword [rdx + 0x308], 0
jne 0x140320afa
test rdi, rdi
je 0x140320afa
sub dword [rdi], 1
jne 0x140320afa
mov rcx, qword [rdi + 0x10]
mov rdx, rdi
mov dword [rsp + 0xec], eax
call sym.sqlite3DbNNFreeNN
mov eax, dword [rsp + 0xec]
jmp 0x140320afa
mov r8d, dword [rsp + 0xb4]
xor edi, edi
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], edi
mov edx, 0x43
call sym.growOp3
jmp 0x140321293
cmp dword [rsp + 0x78], 0
mov r12d, dword [rsi + 0x90]
je 0x140320ffd
mov eax, dword [rbx + 0x44]
mov edx, 0x39
mov r9d, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
lea edi, [rax - 1]
mov eax, dword [rsp + 0xbc]
mov dword [rbx + 0x44], edi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], eax
call sym.windowCodeRangeTest
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov edx, 1
call sym.windowCodeOp
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov edx, 2
mov rcx, qword [rsp + 0x50]
call sym.windowCodeOp
mov rcx, rsi
mov r9d, r12d
xor r8d, r8d
mov edx, 9
call sym.sqlite3VdbeAddOp3.constprop.0
mov edx, edi
mov rcx, rsi
call sym.sqlite3VdbeResolveLabel
jmp 0x14032102a
xor r8d, r8d
mov edx, 0x47
mov rcx, r12
mov dword [rsp + 0x20], r8d
xor r8d, r8d
call sym.growOp3
jmp 0x140320cc0
xor r9d, r9d
mov rcx, r12
mov edx, 0x92
mov dword [rsp + 0x20], r9d
xor r9d, r9d
call sym.growOp3
mov eax, dword [r12 + 0x90]
mov ecx, dword [r12 + 0x94]
jmp 0x14032162d
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x28]
cmp dword [rax + 0x10], 0
js 0x1403202fe
mov rax, qword [rax]
test rax, rax
je 0x140322f3c
test byte [rax + 5], 0x10
jne 0x1403202fe
mov rax, qword [rax + 0x20]
test rax, rax
mov qword [rsp + 0x80], rax
je 0x1403202fe
mov rdi, qword [rax + 8]
test rdi, rdi
je 0x140322992
mov rcx, qword [rsp + 0x48]
mov rdx, rdi
call sym.exprDup.constprop.0
mov rdi, rax
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x48]
call sym.sqlite3ExprListDup.constprop.0
mov r8, rdi
mov rcx, rbx
mov rdx, rax
call sym.sqlite3ExprListAppend
mov qword [rsp + 0x80], rax
neg rax
sbb ax, ax
and ax, 0x500
mov word [rsp + 0xc4], ax
jmp 0x1403202fe
mov rdi, qword [rsp + 0x58]
cmp byte [rdi + 0x22], 0x58
movzx eax, byte [rdi + 0x20]
je 0x140322df5
mov dword [rsp + 0x1a4], 1
jmp 0x1403219dc
xor eax, eax
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x58], eax
jmp 0x140321e6c
mov r8d, dword [rsp + 0x78]
xor r9d, r9d
mov edx, 0x3b
mov rcx, rsi
mov dword [rsp + 0x20], 1
call sym.sqlite3VdbeAddOp3
mov r12, qword [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov edi, eax
mov rcx, r12
call sym.windowCodeOp
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov rcx, r12
mov edx, 2
call sym.windowCodeOp
mov rcx, qword [rsi]
lea rax, [0x140394c00]
mov edx, dword [rsi + 0x90]
cmp byte [rcx + 0x67], 0
jne 0x140322a77
movsxd rax, edi
imul rax, rax, 0x18
add rax, qword [rsi + 0x88]
mov dword [rax + 8], edx
jmp 0x14032102a
xor edx, edx
cmp al, 0x56
mov eax, dword [rsp + 0x78]
mov rcx, rsi
mov r8d, dword [rsp + 0x60]
sete dl
xor r9d, r9d
lea edx, [rdx + rdx + 0x37]
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov rdx, qword [rsp + 0x58]
xor r8d, r8d
mov rcx, rbx
mov edi, eax
call sym.windowAggFinal.isra.0
xor r9d, r9d
mov edx, 0x24
mov rcx, rsi
mov r12d, dword [rsp + 0x80]
mov r8d, r12d
call sym.sqlite3VdbeAddOp3.constprop.0
mov rcx, qword [rsp + 0x50]
call sym.windowReturnOneRow
xor r9d, r9d
mov r8d, r12d
mov edx, 0x92
mov rcx, rsi
call sym.sqlite3VdbeAddOp3.constprop.0
xor r8d, r8d
mov edx, 9
mov rcx, rsi
mov r9d, dword [rsp + 0xb8]
call sym.sqlite3VdbeAddOp3.constprop.0
mov rcx, qword [rsi]
lea rax, [0x140394c00]
mov edx, dword [rsi + 0x90]
cmp byte [rcx + 0x67], 0
jne 0x140322b28
movsxd rax, edi
imul rax, rax, 0x18
add rax, qword [rsi + 0x88]
mov dword [rax + 8], edx
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x21]
jmp 0x140320e7d
xor ecx, ecx
call sym.sqlite3ValueFree
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rax + 0x21]
jmp 0x14031fd13
cmp dword [rdi + 0x30], 1
jne 0x1403202bb
mov rax, qword [rdi + 0x28]
mov rax, qword [rax]
mov r9, qword [rax + 0x20]
test r9, r9
je 0x1403202bb
mov edi, dword [r9]
cmp edi, 1
jne 0x1403202bb
test byte [rax + 7], 1
jne 0x1403202bb
mov rcx, qword [rsp + 0x48]
test byte [rcx + 0x62], 1
jne 0x1403202bb
mov r10, qword [rax + 8]
lea r11, [0x14046fddf]
xor ecx, ecx
lea rdx, [0x14047eee0]
jmp 0x140322bba
movzx esi, byte [rdx + r8]
cmp byte [rdx + rax], sil
jne 0x140323290
add rcx, 1
movzx eax, byte [r10 + rcx]
movzx r8d, byte [r11 + rcx]
cmp eax, r8d
jne 0x140322ba7
test eax, eax
jne 0x140322bb6
mov rcx, qword [r9 + 8]
call sym.sqlite3ExprCanBeNull
test eax, eax
setne al
lea r8d, [rax + rax]
mov rcx, qword [rsp + 0x48]
mov rdx, r9
mov byte [rsp + 0xb0], r8b
call sym.sqlite3ExprListDup.constprop.0
test rax, rax
mov r12, rax
je 0x140322c09
movzx r8d, byte [rsp + 0xb0]
mov byte [rax + 0x18], r8b
mov byte [rsp + 0xb0], dil
jmp 0x1403202bb
mov r8d, dword [rsp + 0x60]
mov edx, 1
mov rcx, qword [rsp + 0x50]
call sym.windowCodeOp
mov rcx, qword [rsp + 0x50]
mov r9d, 1
xor r8d, r8d
mov edx, 2
mov dword [rsp + 0x70], eax
call sym.windowCodeOp
mov dword [rsp + 0x60], eax
jmp 0x140321b3d
mov r8d, dword [rsp + 0x60]
mov edx, 2
mov rcx, qword [rsp + 0x50]
call sym.windowCodeOp
mov rcx, qword [rsp + 0x50]
mov r9d, 1
xor r8d, r8d
mov edx, 1
mov dword [rsp + 0x60], eax
call sym.windowCodeOp
mov dword [rsp + 0x70], eax
jmp 0x140321b3d
mov rax, qword [r15 + 0x28]
test byte [rax + 0x48], 1
jne 0x140322ca4
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1403227dd
mov eax, dword [rsp + 0x58]
mov r8d, esi
mov edx, 0x70
mov rcx, r13
mov r9d, dword [rsp + 0x60]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp4Int.isra.0
mov rax, qword [rsp + 0x70]
mov r8d, esi
mov ecx, dword [rbx + 0x38]
mov edx, dword [rax + 0x20]
mov edi, dword [rax + 0x30]
lea r9d, [rcx + 1]
mov dword [rax + 0xc], r9d
add r9d, edx
add edi, edx
mov edx, 0x62
mov eax, edi
add eax, ecx
mov rcx, r13
mov dword [rbx + 0x38], eax
call sym.sqlite3VdbeAddOp3.constprop.0
xor r9d, r9d
mov r8d, esi
mov edx, 0x7a
mov rcx, r13
call sym.sqlite3VdbeAddOp3.constprop.0
cmp byte [rbx + 0x133], 2
jne 0x14032276d
lea rax, [0x14046c378]
mov rdx, rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x50]
lea r8, str.SCAN__s_s_s
mov rcx, rbx
mov qword [rsp + 0x20], rdx
xor edx, edx
mov r9, qword [rax]
call sym.sqlite3VdbeExplain
jmp 0x14032276d
mov eax, dword [rbx + 0x38]
mov r8d, edi
add eax, 1
mov dword [rsp + 0x88], eax
mov r9d, eax
mov dword [rbx + 0x38], eax
jmp 0x140321e31
mov eax, dword [rbx + 0x38]
lea edi, [rax + 1]
mov dword [rbx + 0x38], edi
jmp 0x140321d85
mov rdi, qword [rsp + 0x70]
imul rax, rax, 0x18
add rax, qword [rdi + 0x18]
movzx eax, word [rax - 2]
add eax, 1
mov word [rdi + 2], ax
jmp 0x1403204bf
mov eax, dword [rbx + 0x44]
mov edx, 0x39
mov r9d, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
lea edi, [rax - 1]
mov eax, dword [rsp + 0xbc]
mov r12d, dword [rsi + 0x90]
mov dword [rbx + 0x44], edi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], eax
call sym.windowCodeRangeTest
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov edx, 2
mov rcx, qword [rsp + 0x50]
call sym.windowCodeOp
xor r9d, r9d
xor r8d, r8d
mov edx, 1
jmp 0x1403228c5
cmp al, 0x59
je 0x1403219dc
mov rax, qword [rsp + 0x58]
mov rcx, qword [rbx]
mov rdx, qword [rax + 0x30]
xor eax, eax
mov qword [rsp + 0x150], rax
movzx r8d, byte [rcx + 0x64]
test rdx, rdx
je 0x140322b40
lea rax, [rsp + 0x150]
xor edi, edi
mov r9d, 0x43
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call sym.valueFromExpr
mov rdi, qword [rsp + 0x150]
test rdi, rdi
je 0x140322b40
movzx r9d, word [rdi + 0x14]
test r9b, 0x24
jne 0x140323253
test r9b, 8
jne 0x140323245
test r9b, 0x12
je 0x140322e9c
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140322e9c
mov edx, dword [rdi + 0x10]
mov dword [rsp + 0x50], r9d
movzx r8d, byte [rdi + 0x16]
call sym.memIntValue.isra.0
mov r9d, dword [rsp + 0x50]
test eax, eax
setg al
movzx eax, al
mov dword [rsp + 0x50], eax
test r9w, 0x9000
jne 0x140322eaa
cmp dword [rdi + 0x20], 0
je 0x140322eb2
mov rcx, rdi
call sym.vdbeMemClear
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x140322eec
cmp rdi, qword [rcx + 0x1f0]
jae 0x140322ede
cmp rdi, qword [rcx + 0x1e0]
jae 0x140323271
cmp rdi, qword [rcx + 0x1e8]
jae 0x14032325b
cmp qword [rcx + 0x308], 0
jne 0x140323220
mov rcx, rdi
call sym.sqlite3_free
cmp dword [rsp + 0x50], 0
je 0x140322b40
mov dword [rsp + 0x1a4], 3
jmp 0x140322b40
mov edx, dword [rsp + 0x50]
mov rcx, rbx
call sym.sqlite3ReleaseTempRange.part.0
jmp 0x140321de6
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov edx, 2
mov rcx, qword [rsp + 0x50]
call sym.windowCodeOp
jmp 0x140321cb9
xor eax, eax
mov qword [rsp + 0x80], rax
jmp 0x1403202fe
mov esi, edi
jmp 0x140320588
mov rax, qword [rsp + 0x50]
test byte [rax + 0x30], 0x80
je 0x140322f6c
movzx eax, byte [rdi + 0x64]
and eax, 3
cmp al, 2
je 0x140322d1b
mov rax, qword [rdi]
lea rdx, str._USING_COVERING_INDEX
jmp 0x140322d25
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x28]
mov rdi, qword [rsp + 0x70]
cmp dword [rdi + 0x24], 0
je 0x1403231f8
xor ecx, ecx
mov r8, qword [rax]
test byte [r8 + 7], 1
jne 0x140322fae
mov r8, qword [rax + 8]
test byte [r8 + 4], 0x20
jne 0x1403230e7
add ecx, 1
add rax, 0x18
cmp ecx, edx
jne 0x140322f95
mov eax, dword [rbx + 0x38]
mov edx, 0x47
xor r8d, r8d
mov rcx, r13
xor edi, edi
add eax, 1
mov dword [rbx + 0x38], eax
mov r9d, eax
mov dword [rsp + 0x6c], eax
call sym.sqlite3VdbeAddOp3.constprop.0
mov rax, qword [rsp + 0x70]
mov edx, dword [rax + 0x30]
mov ecx, dword [rbx + 0x38]
mov rsi, qword [rsp + 0x70]
lea eax, [rcx + 1]
mov dword [rsi + 0xc], eax
mov eax, dword [rsi + 0x20]
add eax, edx
mov rdx, rsi
add eax, ecx
mov rcx, rbx
mov dword [rbx + 0x38], eax
call sym.resetAccumulator
mov rdx, qword [rsp + 0x58]
xor r9d, r9d
mov rcx, rbx
movzx eax, byte [rsp + 0xb0]
mov dword [rsp + 0x38], r9d
mov r9, r12
mov r8, qword [rsp + 0x90]
mov qword [rsp + 0x28], r15
or eax, edi
movzx eax, ax
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
call sym.sqlite3WhereBegin
test rax, rax
mov rsi, rax
je 0x14032176f
movzx edi, byte [rax + 0x43]
mov rcx, rbx
mov r8, qword [rsp + 0x70]
mov edx, dword [rsp + 0x6c]
mov r9d, edi
call sym.updateAccumulator
test edi, edi
je 0x14032308e
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x28]
test rax, rax
je 0x14032308e
cmp dword [rbx + 0x30], 0
jne 0x14032308e
lea edx, [rdi - 1]
cmp edx, 1
jbe 0x14032322d
cmp dword [rsp + 0x6c], 0
jne 0x1403231d2
cmp byte [rsp + 0xb0], 0
jne 0x14032315b
mov rcx, rsi
call sym.sqlite3WhereEnd
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rsp + 0x70]
call sym.finalizeAggFunctions.isra.0
jmp 0x14032276d
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x24], 0
jne 0x140323149
cmp edx, 1
je 0x1403231ef
xor r10d, r10d
xor edi, edi
mov dword [rsp + 0x6c], r10d
jmp 0x140322fe3
xor ecx, ecx
xor edi, edi
cmp ecx, edx
jne 0x140322fe3
jmp 0x140322fb9
mov edx, dword [rsp + 0x78]
xor edi, edi
mov rcx, r13
mov qword [rsp + 0x120], rdi
call sym.sqlite3VdbeChangeToNoop.isra.0
mov edi, dword [r13 + 0x90]
jmp 0x1403222e7
mov rax, qword [rsp + 0x70]
mov rcx, qword [rbx + 0x10]
mov edx, dword [rsp + 0xd8]
mov rax, qword [rax + 0x28]
mov r9d, dword [rax + 0x14]
mov r8d, dword [rax + 0x10]
call sym.fixDistinctOpenEph.part.0.isra.0
jmp 0x1403222c0
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x24], 0
je 0x1403230d6
test edx, edx
jle 0x1403230e5
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x28]
jmp 0x140322f93
test byte [rsi + 0x44], 4
je 0x1403230a7
cmp byte [rsi + 0x41], 0
je 0x1403230a7
movzx eax, byte [rsi + 0x40]
sub eax, 1
cdqe
jmp 0x140323197
imul rcx, rax, 0x70
lea rdx, [rax - 1]
mov rcx, qword [rsi + rcx + 0x3c0]
test byte [rcx + 0x38], 4
jne 0x1403232de
mov rax, rdx
cmp rax, 0xffffffffffffffff
jne 0x14032317a
movsxd rax, dword [r13 + 0x90]
cmp eax, dword [r13 + 0x94]
mov r9d, dword [rsi + 0x34]
jl 0x140323300
xor r8d, r8d
mov edx, 9
mov rcx, r13
mov dword [rsp + 0x20], r8d
xor r8d, r8d
call sym.growOp3
jmp 0x1403230a7
mov r9d, dword [rsp + 0x6c]
mov r8d, 1
mov edx, 0x47
mov rcx, r13
call sym.sqlite3VdbeAddOp3.constprop.0
jmp 0x140323099
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x28]
xor edi, edi
cmp dword [rax + 0x10], 0
js 0x140322fe3
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x60], rax
neg rax
sbb di, di
and di, 0x500
jmp 0x140322fe3
mov rdx, rdi
call sym.measureAllocationSize
jmp 0x140322ef4
mov rcx, qword [rbx + 0x10]
mov edx, edi
mov r9d, dword [rax + 0x14]
mov r8d, dword [rax + 0x10]
call sym.fixDistinctOpenEph.part.0.isra.0
jmp 0x14032308e
movsd xmm0, qword [rdi]
call sym.doubleToInt64
jmp 0x140322e90
mov rax, qword [rdi]
jmp 0x140322e90
mov rax, qword [rcx + 0x1c8]
mov qword [rdi], rax
mov qword [rcx + 0x1c8], rdi
jmp 0x140322ef4
mov rax, qword [rcx + 0x1d8]
mov qword [rdi], rax
mov qword [rcx + 0x1d8], rdi
jmp 0x140322ef4
mov rax, qword [rax + 0x28]
jmp 0x140322f84
lea r11, [0x14046fde3]
xor ecx, ecx
jmp 0x1403232ae
movzx edi, byte [rdx + r8]
cmp byte [rdx + rax], dil
jne 0x1403202bb
add rcx, 1
movzx eax, byte [r10 + rcx]
movzx r8d, byte [r11 + rcx]
cmp eax, r8d
jne 0x14032329b
test eax, eax
jne 0x1403232aa
mov r8d, 1
mov edi, 2
jmp 0x140322bdf
mov dword [rsp + 0x58], 0xffff8000
jmp 0x140322629
cdqe
imul rax, rax, 0x70
mov r9d, dword [rsi + rax + 0x370]
movsxd rax, dword [r13 + 0x90]
cmp eax, dword [r13 + 0x94]
jge 0x1403231b5
lea edx, [rax + 1]
xor ecx, ecx
imul rax, rax, 0x18
mov dword [r13 + 0x90], edx
xor edx, edx
add rax, qword [r13 + 0x88]
mov dword [rax + 8], r9d
mov dword [rax + 0xc], edx
mov qword [rax + 0x10], rcx
mov qword [rax], 9
jmp 0x1403230a7