Function at 0x58f9f0
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, 0x1b8
mov rax, qword [rcx]
mov qword [rsp + 0x58], rax
mov rax, qword [rcx + 0x10]
mov r15, rcx
mov r14, rdx
mov qword [rsp + 0x210], r8
mov qword [rsp + 0x60], rax
test rax, rax
jne 0x58fa31
call sym.sqlite3GetVdbe.part.0
mov qword [rsp + 0x60], rax
test r14, r14
je 0x58fa3f
mov r10d, dword [r15 + 0x30]
test r10d, r10d
je 0x58fa60
mov eax, 1
add rsp, 0x1b8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r9d, r9d
xor r8d, r8d
mov edx, 0x15
mov rcx, r15
mov qword [rsp + 0x20], 0
call sym.sqlite3AuthCheck
test eax, eax
jne 0x58fa3f
mov rax, qword [rsp + 0x210]
cmp byte [rax], 6
ja 0x58fac7
mov r9, qword [r14 + 0x48]
test r9, r9
je 0x58fab7
lea r12, [r15 + 0xc8]
lea r8, [dbg.sqlite3ExprListDeleteGeneric]
mov rcx, r15
mov rdx, r12
call sym.sqlite3ParserAddCleanup.isra.0
mov qword [r14 + 0x48], 0
mov eax, dword [r14 + 4]
and eax, 0xfffffffe
or eax, 0x400000
mov dword [r14 + 4], eax
xor r8d, r8d
mov rdx, r14
mov rcx, r15
call sym.sqlite3SelectPrep
mov eax, dword [r15 + 0x30]
mov dword [rsp + 0x74], eax
test eax, eax
jne 0x58feb8
mov r11d, dword [r14 + 4]
test r11d, 0x800000
jne 0x590038
mov rax, qword [rsp + 0x210]
cmp byte [rax], 9
je 0x5903d0
mov r12, qword [r14 + 0x70]
mov ebx, dword [r14 + 4]
test r12, r12
je 0x58fb1f
cmp qword [r14 + 0x50], 0
je 0x5900a0
mov rax, qword [r14 + 0x48]
and ebx, 8
mov qword [rsp + 0x108], 0
setne dil
mov r12, qword [r14 + 0x28]
xor esi, esi
mov dword [rsp + 0x88], ebx
mov qword [rsp + 0x100], rax
mov rax, qword [r14 + 0x50]
lea rbx, [r15 + 0xc8]
movzx edi, dil
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x78], rbx
test rax, rax
jne 0x58fce4
mov qword [rsp + 0x208], r14
mov r14, r12
mov r12d, edi
mov rdi, qword [rsp + 0x208]
nop word cs:[rax + rax]
cmp dword [r14], esi
jle 0x5903e0
movsxd rbx, esi
lea rax, [rbx + rbx*2]
lea rax, [rbx + rax*4]
lea rbp, [r14 + rax*8]
movzx r8d, byte [rbp + 0x44]
mov r13, qword [rbp + 0x30]
mov r9, qword [rbp + 0x28]
test r8b, 0x48
jne 0x58ff10
test r13, r13
je 0x58ff00
mov rax, qword [r13 + 0x20]
movsx r8d, word [r9 + 0x36]
mov eax, dword [rax]
cmp r8d, eax
jne 0x5909f8
lea rax, [rbx + rbx*2]
lea rax, [rbx + rax*4]
lea rax, [r14 + rax*8]
test byte [rax + 0x49], 1
je 0x58fc2c
mov rax, qword [rax + 0x68]
cmp byte [rax + 0x12], 0
je 0x58ff00
mov eax, dword [r13 + 4]
test al, 8
jne 0x58ff00
mov r9, qword [r13 + 0x48]
test r9, r9
je 0x58fc80
cmp qword [rdi + 0x48], 0
je 0x58ffe0
cmp qword [r13 + 0x60], 0
je 0x58fff0
test esi, esi
jne 0x58fc80
test byte [rdi + 6], 4
je 0x58fc80
cmp dword [r14], 1
je 0x590060
test byte [r14 + 0xac], 0x22
jne 0x590060
nop dword [rax]
mov r9d, r12d
mov r8d, esi
mov rdx, rdi
mov rcx, r15
call dbg.flattenSubquery
test eax, eax
je 0x58fca7
mov r9d, dword [r15 + 0x30]
test r9d, r9d
jne 0x58feb8
mov esi, 0xffffffff
mov rax, qword [rsp + 0x58]
mov r14, qword [rdi + 0x28]
cmp byte [rax + 0x67], 0
jne 0x58feb8
mov rax, qword [rsp + 0x210]
add esi, 1
cmp byte [rax], 8
jbe 0x58fcd6
mov rax, qword [rdi + 0x48]
mov qword [rsp + 0x100], rax
cmp qword [rdi + 0x50], 0
je 0x58fbc0
mov r14, rdi
mov r8, qword [rsp + 0x210]
mov rdx, r14
mov rcx, r15
call dbg.multiSelect
cmp qword [r14 + 0x58], 0
jne 0x58fa44
jmp 0x58febd
mov rdx, qword [rsp + 0x130]
mov ebx, dword [rsp + 0xb8]
mov rdi, qword [rsp + 0xa8]
test rdx, rdx
je 0x5935f4
mov rax, qword [rsp + 0x88]
mov r8, qword [rsp + 0x78]
mov rcx, r15
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov r9, qword [rsp + 0x90]
lea r12, [r15 + 0xc8]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x20], rax
call dbg.sqlite3SelectNew
xor edx, edx
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
mov r13, rax
call dbg.sqlite3SrcListAppend
mov qword [r14 + 0x28], rax
mov rdx, rax
test rax, rax
je 0x59284b
or byte [rax + 0x48], 8
mov rcx, r15
and ebx, 8
mov qword [rax + 0x30], r13
call dbg.sqlite3SrcListAssignCursors
or dword [r13 + 4], 0x8000040
mov rdx, r13
mov rcx, r15
mov r8d, 0x40
call dbg.sqlite3ResultSetOfSelect
or dword [r13 + 4], ebx
mov rsi, rax
test rax, rax
je 0x58fe9d
movdqu xmm0, xmmword [rax]
mov rbx, qword [rsp + 0x68]
mov rdx, r13
mov rcx, rdi
movups xmmword [rbx], xmm0
movdqu xmm1, xmmword [rax + 0x10]
movups xmmword [rbx + 0x10], xmm1
movdqu xmm2, xmmword [rax + 0x20]
movups xmmword [rbx + 0x20], xmm2
movdqu xmm3, xmmword [rax + 0x30]
movups xmmword [rbx + 0x30], xmm3
movdqu xmm4, xmmword [rax + 0x40]
movups xmmword [rbx + 0x40], xmm4
movdqu xmm5, xmmword [rax + 0x50]
movups xmmword [rbx + 0x50], xmm5
mov rax, qword [rax + 0x60]
or dword [rbx + 0x30], 0x4000
mov qword [rbx + 0x60], rax
mov rax, qword [r14 + 0x28]
mov qword [rax + 0x28], rbx
lea rax, [sym.sqlite3WindowExtraAggFuncDepth]
mov qword [rsp + 0x168], rax
lea rax, [dbg.sqlite3WalkerDepthIncrease]
mov qword [rsp + 0x170], rax
lea rax, [dbg.sqlite3WalkerDepthDecrease]
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x178], rax
call sym.sqlite3WalkSelect.part.0
mov qword [rsp + 0x68], rsi
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x67], 0
je 0x59424d
mov r9, qword [rsp + 0x68]
lea r8, [sym.sqlite3DbFree]
mov rdx, r12
mov rcx, r15
call sym.sqlite3ParserAddCleanup.isra.0
nop dword [rax]
mov eax, 1
movsxd rdx, dword [r15 + 0x140]
test edx, edx
je 0x58feef
mov r8, qword [r15 + 0x10]
lea rcx, [0x007e7180]
mov r9, qword [r8]
cmp byte [r9 + 0x67], 0
jne 0x58feec
lea rcx, [rdx + rdx*2]
mov rdx, qword [r8 + 0x88]
lea rcx, [rdx + rcx*8]
mov edx, dword [rcx + 8]
mov dword [r15 + 0x140], edx
jmp 0x58fa44
add esi, 1
jmp 0x58fcd6
and r8d, 0x40
mov rcx, qword [rdi + 0x30]
mov edx, dword [rbp + 0x4c]
mov qword [rsp + 0x68], r9
movzx r8d, r8b
call dbg.sqlite3ExprImpliesNonNullRow
mov r9, qword [rsp + 0x68]
test eax, eax
je 0x58fbef
mov rax, qword [rsp + 0x58]
test byte [rax + 0x61], 0x20
jne 0x58fbef
movzx eax, byte [rbp + 0x44]
test al, 8
je 0x58ff5b
test al, 0x10
je 0x590e98
and eax, 0xfffffff7
mov byte [rbp + 0x44], al
test al, 0x40
je 0x58fbef
mov ecx, dword [r14]
lea r10d, [rsi + 1]
cmp r10d, ecx
jge 0x590958
lea rdx, [rbx + rbx*2]
lea rdx, [rbx + rdx*4]
lea rbp, [r14 + rdx*8]
jmp 0x58ffa5
and eax, 0xffffffef
mov byte [rbp + 0xac], al
mov ecx, dword [r14]
add r10d, 1
add rbp, 0x68
cmp ecx, r10d
jle 0x590958
movzx eax, byte [rbp + 0xac]
test al, 0x10
je 0x58ff94
test al, 8
jne 0x58ff88
and eax, 0xffffffcf
mov rcx, qword [rdi + 0x30]
mov edx, dword [rbp + 0xb4]
mov r8d, 1
mov byte [rbp + 0xac], al
call dbg.unsetJoinExpr
mov ecx, dword [r14]
jmp 0x58ff94
cmp dword [r14], 1
jg 0x58fc4c
jmp 0x58fc57
test eax, 0x8000000
jne 0x58fc57
test byte [rdi + 7], 8
jne 0x58fc57
mov rax, qword [rsp + 0x58]
test byte [rax + 0x62], 4
jne 0x58fc57
mov rdx, qword [rsp + 0x78]
lea r8, [dbg.sqlite3ExprListDeleteGeneric]
mov rcx, r15
call sym.sqlite3ParserAddCleanup.isra.0
mov qword [r13 + 0x48], 0
jmp 0x58fc80
mov rbx, qword [r14 + 0x28]
lea rcx, [rbx + 8]
mov rdx, rbx
call dbg.sameSrcAlias
test eax, eax
jne 0x590070
and r11d, 0xff7fffff
mov dword [r14 + 4], r11d
jmp 0x58faf6
mov esi, 1
jmp 0x58fcd6
mov r8, qword [rbx + 0x20]
test r8, r8
je 0x591f50
lea rdx, str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov rcx, r15
call dbg.sqlite3ErrorMsg
mov eax, 1
jmp 0x58febd
test ebx, 0x100000
jne 0x58fb1f
cmp byte [r15 + 0x134], 1
ja 0x58fb1f
mov rsi, qword [r15 + 0x10]
test rsi, rsi
jne 0x5900d6
mov rcx, r15
call sym.sqlite3GetVdbe.part.0
mov r12, qword [r14 + 0x70]
mov ebx, dword [r14 + 4]
mov rsi, rax
mov rax, qword [r14 + 0x28]
mov rcx, qword [r15]
mov edx, 0x68
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x78], rax
mov rax, qword [r14 + 0x30]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x90], rax
mov rax, qword [r14 + 0x38]
mov qword [rsp + 0x98], rax
mov rax, qword [r14 + 0x40]
mov qword [rsp + 0xa0], rax
call dbg.sqlite3DbMallocZero
mov qword [rsp + 0x68], rax
test rax, rax
je 0x592bf4
lea rax, [sym.agginfoPersistExprCb]
mov rdx, r14
lea rdi, [rsp + 0x160]
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x168], rax
mov rcx, rdi
lea rax, [sym.sqlite3SelectWalkNoop]
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x160], r15
mov qword [rsp + 0x170], rax
call sym.sqlite3WalkSelect.part.0
mov eax, dword [r14 + 4]
test al, 8
je 0x59295b
and eax, 0xfffffff7
mov qword [r14 + 0x28], 0
xor edx, edx
mov rcx, r15
or eax, 0x100000
mov qword [r14 + 0x30], 0
mov r8, qword [r12 + 0x10]
mov r9d, 1
mov qword [r14 + 0x38], 0
mov qword [r14 + 0x40], 0
mov dword [r14 + 4], eax
call dbg.exprListAppendList
mov r8, qword [r12 + 0x18]
mov rcx, r15
mov r9d, 1
mov rdx, rax
call dbg.exprListAppendList
mov qword [rsp + 0x88], rax
mov rcx, rax
test rax, rax
je 0x590217
mov rdx, qword [r14 + 0x48]
test rdx, rdx
je 0x590217
mov eax, dword [rdx]
mov ebp, dword [rcx]
cmp eax, ebp
jle 0x59365c
mov eax, dword [r15 + 0x34]
mov rbp, qword [rsp + 0x68]
mov rdx, r12
mov rcx, r15
lea r13, [rsp + 0x130]
mov r8, qword [rsp + 0x78]
mov dword [r12 + 0x58], eax
add eax, 4
mov dword [r15 + 0x34], eax
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rbp
mov r9, qword [r14 + 0x20]
call dbg.selectWindowRewriteEList
mov qword [rsp + 0x28], r13
mov rdx, r12
mov rcx, r15
mov qword [rsp + 0x20], rbp
mov r8, qword [rsp + 0x78]
mov r9, qword [r14 + 0x48]
call dbg.selectWindowRewriteEList
mov rdx, qword [rsp + 0x130]
xor eax, eax
test rdx, rdx
je 0x590281
mov eax, dword [rdx]
mov dword [r12 + 0x78], eax
mov r8, qword [r12 + 0x10]
xor r9d, r9d
mov rcx, r15
call dbg.exprListAppendList
xor r9d, r9d
mov rcx, r15
mov qword [rsp + 0x130], rax
mov r8, qword [r12 + 0x18]
mov rdx, rax
call dbg.exprListAppendList
mov dword [rsp + 0xb8], ebx
mov rbp, qword [rsp + 0x80]
mov qword [rsp + 0xa8], rdi
mov rbx, qword [rsp + 0x78]
mov rdi, r12
mov qword [rsp + 0x130], rax
jmp 0x590374
mov rdx, qword [rsp + 0x130]
xor eax, eax
test rdx, rdx
je 0x5902f1
mov eax, dword [rdx]
mov dword [rdi + 0x7c], eax
xor r9d, r9d
mov rcx, r15
call dbg.exprListAppendList
mov qword [rsp + 0x130], rax
mov rdx, qword [rdi + 0x48]
test rdx, rdx
je 0x590339
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
call dbg.exprDup
mov rdx, qword [rsp + 0x130]
mov rcx, r15
mov r8, rax
call sym.sqlite3ExprListAppend.isra.0
mov qword [rsp + 0x130], rax
mov eax, dword [r15 + 0x38]
xor r8d, r8d
mov edx, 0x4b
mov rcx, rsi
lea r9d, [rax + 1]
add eax, 2
mov dword [rdi + 0x5c], r9d
mov dword [r15 + 0x38], eax
mov dword [rdi + 0x60], eax
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
mov rdi, qword [rdi + 0x40]
test rdi, rdi
je 0x58fd07
mov rax, qword [rdi + 0x70]
mov r8, qword [rax + 0x20]
mov rax, qword [rdi + 0x50]
test byte [rax + 6], 0x10
je 0x5902e0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x28], r13
mov r9, r8
mov rdx, r12
mov r8, rbx
mov rcx, r15
mov qword [rsp + 0x20], rax
call dbg.selectWindowRewriteEList
mov rdx, qword [rsp + 0x130]
xor eax, eax
test rdx, rdx
je 0x5903bb
mov eax, dword [rdx]
mov dword [rdi + 0x7c], eax
mov byte [rdi + 0x8c], 1
jmp 0x590307
mov rdx, r14
mov rcx, r15
call dbg.sqlite3GenerateColumnNames
jmp 0x58fb07
mov rax, qword [rsp + 0x58]
mov rdx, qword [rdi + 0x30]
mov r12, r14
mov r14, rdi
mov eax, dword [rax + 0x60]
test rdx, rdx
je 0x590400
cmp byte [rdx], 0x2c
je 0x591e1f
test eax, 0x201
je 0x590ee0
mov edi, dword [r12]
lea rbp, [r12 + 8]
xor r13d, r13d
test edi, edi
jle 0x590a78
mov qword [rsp + 0x208], r14
jmp 0x590555
and r8d, 1
je 0x5909b8
mov rdx, qword [rbp + 0x60]
cmp byte [rdx + 0x12], 0
je 0x59044d
cmp dword [rdx], 1
jle 0x5909b8
test eax, 0x4000000
je 0x59115b
mov rax, qword [r15 + 0x178]
mov qword [rsp + 0x68], rax
mov rax, qword [rbp + 0x10]
mov qword [r15 + 0x178], rax
movzx eax, byte [rdx + 0x12]
mov r14, rdx
test al, al
je 0x590498
cmp dword [rdx], 1
jle 0x590483
cmp al, 2
jne 0x590498
test byte [r12 + 0x44], 0x40
jne 0x590498
mov rax, qword [r15]
test byte [rax + 0x63], 2
je 0x5925a8
mov r9d, dword [r14 + 4]
test r9d, r9d
jg 0x590a20
mov r9d, esi
xor r8d, r8d
mov rdx, rbp
mov rcx, r12
call dbg.isSelfJoinView
mov rsi, rax
test rax, rax
je 0x591cbb
mov r9d, dword [rax + 0x30]
test r9d, r9d
jne 0x590ec0
mov r9d, dword [rsi + 0x44]
mov r8d, dword [rbp + 0x44]
mov edx, 0x73
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
call dbg.sqlite3VdbeAddOp3
mov rax, qword [rsi + 0x28]
movzx eax, word [rax + 2]
mov word [rbx + 2], ax
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x67], 0
jne 0x58feb8
mov rcx, qword [rsp + 0x208]
lea rdx, [rsp + 0x130]
mov dword [rsp + 0x130], 0
call dbg.heightOfSelect
mov eax, dword [rsp + 0x130]
sub dword [r15 + 0x13c], eax
mov rax, qword [rsp + 0x68]
mov qword [r15 + 0x178], rax
add r13, 1
add rbp, 0x68
cmp dword [r12], r13d
jle 0x590a70
cmp qword [rbp + 0x50], 0
mov dword [rsp + 0x78], r13d
mov esi, r13d
jne 0x59058a
mov r8, qword [rbp + 0x10]
test r8, r8
je 0x59058a
mov rax, qword [rbp + 8]
lea r9, [0x00734c2e]
mov edx, 0x14
mov rcx, r15
mov qword [rsp + 0x20], rax
call sym.sqlite3AuthCheck
mov rbx, qword [rbp + 0x28]
test rbx, rbx
je 0x590543
lea rax, [rsp + 0x160]
mov rcx, qword [rsp + 0x208]
movsxd rdi, esi
mov dword [rsp + 0x160], 0
mov rdx, rax
mov qword [rsp + 0x80], rax
call dbg.heightOfSelect
mov eax, dword [rsp + 0x160]
lea rdx, [rdi + rdi*2]
add dword [r15 + 0x13c], eax
mov rax, qword [rsp + 0x58]
lea rdx, [rdi + rdx*4]
movzx r8d, byte [r12 + rdx*8 + 0x49]
mov eax, dword [rax + 0x60]
test ah, 0x10
je 0x590430
and r8d, 1
test eax, 0x4000000
je 0x590810
mov rax, qword [r15 + 0x178]
mov qword [rsp + 0x68], rax
mov rax, qword [rbp + 0x10]
mov qword [r15 + 0x178], rax
test r8b, r8b
jne 0x590800
movzx r14d, byte [r12 + 0x44]
and r14d, 0x40
jne 0x5904a5
mov rax, qword [r15]
test byte [rax + 0x63], 2
jne 0x5904a5
mov eax, dword [rsp + 0x78]
mov r9d, dword [r12]
mov rdx, rbp
mov rcx, r12
lea r8d, [rax + 1]
mov dword [rsp + 0x98], r9d
call dbg.isSelfJoinView
mov r9d, dword [rsp + 0x98]
test rax, rax
jne 0x5904a5
mov rax, qword [rsp + 0x208]
mov eax, dword [rax + 4]
test r13, r13
jne 0x5906a8
cmp r9d, 1
je 0x5906d6
test byte [r12 + 0xac], 2
jne 0x5906d6
test eax, 0x10000000
je 0x5906d6
test r14b, r14b
je 0x5904a5
mov r14, qword [rbp + 0x60]
jmp 0x590498
test eax, 0x10000000
jne 0x590692
imul rdx, r13, 0xffffffffffffff98
mov rax, rbp
add rdx, rbp
jmp 0x5906cb
sub rax, 0x68
cmp qword [rax + 0x28], 0
jne 0x590692
test byte [rax + 0x3c], 0x22
jne 0x590692
cmp rax, rdx
jne 0x5906c0
mov rax, qword [rsp + 0x60]
mov ecx, dword [r15 + 0x38]
xor r9d, r9d
mov edx, 0xb
movsxd rsi, dword [rax + 0x90]
lea r8d, [rcx + 1]
mov rcx, rax
mov dword [r15 + 0x38], r8d
lea r14d, [rsi + 1]
mov dword [rbp + 0x34], r8d
mov dword [rsp + 0x20], r14d
call dbg.sqlite3VdbeAddOp3
mov dword [rbp + 0x30], r14d
mov eax, dword [rbp + 0x34]
mov r9, rbp
lea r8, str.CO_ROUTINE___S
mov edx, 1
mov rcx, r15
mov byte [rsp + 0x160], 0xd
mov dword [rsp + 0x164], eax
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x168], 0
mov dword [rsp + 0x170], 0
call dbg.sqlite3VdbeExplain
mov r8, qword [rsp + 0x80]
mov rdx, rbx
mov rcx, r15
call dbg.sqlite3Select
movzx edx, word [rbx + 2]
mov rax, qword [rbp + 0x20]
xor r9d, r9d
mov word [rax + 0x3a], dx
lea rax, [rdi + rdi*2]
mov edx, 0x44
lea rax, [rdi + rax*4]
mov rdi, qword [rsp + 0x60]
or byte [r12 + rax*8 + 0x48], 0x20
mov eax, dword [rsp + 0x16c]
mov r8d, dword [rbp + 0x34]
mov rcx, rdi
mov dword [rbp + 0x38], eax
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
mov rax, qword [rdi + 0x18]
mov byte [rax + 0x1f], 0
mov rcx, qword [rdi]
mov dword [rax + 0x28], 0
mov edx, dword [rdi + 0x90]
lea rax, [0x007e7180]
cmp byte [rcx + 0x67], 0
jne 0x5907e7
mov rax, qword [rdi + 0x88]
lea rcx, [rsi + rsi*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov byte [r15 + 0x1f], 0
mov dword [r15 + 0x28], 0
jmp 0x5904fa
mov rdx, qword [rbp + 0x60]
jmp 0x59046f
lea rax, [rdi + rdi*2]
lea rax, [rdi + rax*4]
test word [r12 + rax*8 + 0x48], 0x108
jne 0x5905fd
mov rax, qword [rbp + 0x28]
mov qword [rsp + 0x68], rax
jmp 0x590862
test byte [rax + 4], 9
jne 0x5905fd
mov rdx, qword [rax + 0x50]
test rdx, rdx
je 0x590854
cmp byte [rax], 0x87
jne 0x5905fd
cmp qword [rax + 0x70], 0
jne 0x5905fd
mov rax, rdx
test rax, rax
jne 0x590838
mov rax, qword [rsp + 0x68]
mov r9, qword [rbp + 0x50]
mov rdx, qword [rax + 0x48]
test rdx, rdx
je 0x5908c5
mov ecx, dword [rdx]
test ecx, ecx
jle 0x5908c5
sub ecx, 1
lea rax, [rdx + 0x20]
mov r11d, 0x3f
mov r10d, 1
shl rcx, 5
lea rdx, [rdx + rcx + 0x40]
nop dword [rax + rax]
movzx ecx, word [rax]
test cx, cx
je 0x5908bc
sub ecx, 1
mov r14, r10
cmp cx, 0x3f
cmova ecx, r11d
shl r14, cl
or r9, r14
add rax, 0x20
cmp rdx, rax
jne 0x5908a0
mov rax, qword [rbp + 0x20]
movsx r10d, word [rax + 0x36]
test r10d, r10d
jle 0x5905fd
mov byte [rsp + 0x98], r8b
xor ecx, ecx
mov r8, qword [rsp + 0x68]
mov r11d, 1
jmp 0x5908fc
add ecx, 1
cmp r10d, ecx
je 0x59259a
movabs rdx, 0x8000000000000000
mov rax, r11
shl rax, cl
cmp ecx, 0x3f
cmovge rax, rdx
test r9, rax
jne 0x5908f0
movsxd r14, ecx
mov rax, r8
shl r14, 5
nop word [rax + rax]
mov rdx, qword [rax + 0x20]
add rdx, r14
mov rdx, qword [rdx + 8]
cmp byte [rdx], 0x79
je 0x590949
and dword [rdx + 4], 0xfff7dfff
mov byte [rdx], 0x79
or dword [rax + 4], 0x1000000
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x590928
jmp 0x5908f0
test ecx, ecx
jle 0x58fbef
movsxd rax, ecx
lea rdx, [rax + rax*2]
lea rdx, [rax + rdx*4]
shl rdx, 3
lea r8, [r14 + rdx - 0x68]
lea rax, [r14 + rdx]
lea edx, [rcx - 1]
lea rcx, [rdx + rdx*2]
lea rdx, [rdx + rcx*4]
shl rdx, 3
sub r8, rdx
jmp 0x59099d
sub rax, 0x68
cmp r8, rax
je 0x58fbef
movzx edx, byte [rax - 0x24]
mov ecx, edx
and ecx, 0xffffffbf
and edx, 0x10
mov byte [rax - 0x24], cl
je 0x590990
jmp 0x58fbef
mov dword [rsp + 0x20], esi
mov rdx, rbx
mov r9, r12
mov rcx, r15
mov rax, qword [rsp + 0x208]
mov r8, qword [rax + 0x30]
call dbg.pushDownWhereTerms
mov rax, qword [rsp + 0x58]
lea rdx, [rdi + rdi*2]
lea rdx, [rdi + rdx*4]
mov eax, dword [rax + 0x60]
movzx r8d, byte [r12 + rdx*8 + 0x49]
jmp 0x5905ee
mov dword [rsp + 0x20], eax
mov r9, qword [r9]
lea rdx, str.expected__d_columns_for__s_but_got__d
mov rcx, r15
call dbg.sqlite3ErrorMsg
mov eax, 1
jmp 0x58febd
mov r8d, dword [r14 + 8]
mov rdi, qword [rsp + 0x60]
mov edx, 0xa
mov dword [rsp + 0x20], 0
mov rcx, rdi
call dbg.sqlite3VdbeAddOp3
mov r8d, dword [rbp + 0x44]
mov r9d, dword [r14 + 0xc]
cmp r8d, r9d
je 0x590a60
mov dword [rsp + 0x20], 0
mov edx, 0x73
mov rcx, rdi
call dbg.sqlite3VdbeAddOp3
movzx eax, word [r14 + 0x10]
mov word [rbx + 2], ax
jmp 0x5904fa
mov r14, qword [rsp + 0x208]
mov rax, qword [r14 + 0x20]
mov r10, qword [rsp + 0x100]
mov qword [rsp + 0x78], rax
mov rax, qword [r14 + 0x30]
mov qword [rsp + 0x98], rax
mov rax, qword [r14 + 0x38]
mov qword [rsp + 0x68], rax
mov rax, qword [r14 + 0x40]
mov qword [rsp + 0xa0], rax
mov eax, dword [r14 + 4]
mov byte [rsp + 0xf4], al
and eax, 9
and byte [rsp + 0xf4], 1
cmp eax, 1
je 0x592702
test r10, r10
je 0x591e0f
mov rdi, qword [rsp + 0x78]
mov rdx, r10
xor r8d, r8d
mov rcx, r15
mov r9d, dword [rdi]
call dbg.sqlite3KeyInfoFromExprList
mov r8d, dword [r15 + 0x34]
mov rbx, rax
lea eax, [r8 + 1]
mov dword [rsp + 0x10c], r8d
mov dword [r15 + 0x34], eax
mov rax, qword [rsp + 0x100]
mov edx, dword [rax]
mov eax, dword [rdi]
mov dword [rsp + 0x20], 0
mov rdi, qword [rsp + 0x60]
lea r9d, [rdx + rax + 1]
mov edx, 0x76
mov rcx, rdi
call dbg.sqlite3VdbeAddOp3
mov r9d, 0xfffffff8
mov r8, rbx
mov rcx, rdi
mov ebp, eax
mov edx, eax
call sym.sqlite3VdbeChangeP4
mov dword [rsp + 0x118], ebp
mov rax, qword [rsp + 0x210]
cmp byte [rax], 0xc
je 0x592731
mov eax, dword [r15 + 0x44]
sub eax, 1
mov dword [rsp + 0x80], eax
mov dword [r15 + 0x44], eax
mov eax, dword [r14 + 4]
test ah, 0x40
jne 0x590b7c
mov esi, 0x140
mov word [r14 + 2], si
cmp qword [r14 + 0x60], 0
je 0x590b9a
mov r8d, dword [rsp + 0x80]
mov rdx, r14
mov rcx, r15
call dbg.computeLimitRegisters
mov eax, dword [r14 + 4]
mov ebx, dword [r14 + 8]
test ebx, ebx
jne 0x590bde
movsxd rdx, dword [rsp + 0x118]
test edx, edx
js 0x590bde
mov rsi, qword [rsp + 0x60]
lea rcx, [0x007e7180]
mov r8, qword [rsi]
cmp byte [r8 + 0x67], 0
jne 0x590bd3
lea rcx, [rdx + rdx*2]
mov rdx, qword [rsi + 0x88]
lea rcx, [rdx + rcx*8]
mov byte [rcx], 0x77
or byte [rsp + 0x124], 1
test al, 1
jne 0x592500
mov byte [rsp + 0xf5], 0
mov r9d, dword [rsp + 0x88]
test r9d, r9d
jne 0x5925e3
cmp qword [rsp + 0x68], 0
jne 0x591f5c
xor eax, eax
movzx edx, word [r14 + 4]
cmp byte [rsp + 0xf4], 0
setne al
mov rbp, qword [r14 + 0x70]
shl eax, 8
and dx, 0x4000
or edx, eax
mov word [rsp + 0x68], dx
test rbp, rbp
je 0x59117e
mov rax, qword [r14 + 0x28]
mov r13, qword [r15 + 0x10]
mov rax, qword [rax + 0x30]
mov rax, qword [rax + 0x20]
mov r9d, dword [rax]
test r13, r13
jne 0x590c6c
mov rcx, r15
mov dword [rsp + 0x88], r9d
call sym.sqlite3GetVdbe.part.0
mov r9d, dword [rsp + 0x88]
mov r13, rax
mov r8d, dword [rbp + 0x58]
mov dword [rsp + 0x20], 0
mov edx, 0x76
mov rcx, r13
call dbg.sqlite3VdbeAddOp3
mov r9d, dword [rbp + 0x58]
mov edx, 0x73
mov rcx, r13
mov dword [rsp + 0x20], 0
lea r8d, [r9 + 1]
call dbg.sqlite3VdbeAddOp3
mov r9d, dword [rbp + 0x58]
mov edx, 0x73
mov rcx, r13
mov dword [rsp + 0x20], 0
lea r8d, [r9 + 2]
call dbg.sqlite3VdbeAddOp3
mov r9d, dword [rbp + 0x58]
mov edx, 0x73
mov rcx, r13
mov dword [rsp + 0x20], 0
lea r8d, [r9 + 3]
call dbg.sqlite3VdbeAddOp3
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x590d12
mov edx, dword [rax]
mov eax, dword [r15 + 0x38]
xor r8d, r8d
mov rcx, r13
lea r9d, [rax + 1]
add eax, edx
mov dword [rbp + 0x6c], r9d
mov dword [r15 + 0x38], eax
lea eax, [rdx + r9 - 1]
mov edx, 0x4b
mov dword [rsp + 0x20], eax
call dbg.sqlite3VdbeAddOp3
mov eax, dword [r15 + 0x38]
mov r8d, 1
mov rcx, r13
mov rbx, rbp
mov edx, 0x47
lea rsi, str.first_value
lea rdi, str.nth_value
lea r9d, [rax + 1]
mov dword [r15 + 0x38], r9d
mov dword [rbp + 0x80], r9d
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
cmp byte [rbp + 0x24], 0
jne 0x59356e
mov qword [rsp + 0x88], r12
jmp 0x590e2b
cmp byte [rbx + 0x21], 0x5a
je 0x590e39
mov rax, qword [rbx + 0x70]
xor r8d, r8d
xor r9d, r9d
mov rcx, r15
mov rdx, qword [rax + 0x20]
call dbg.sqlite3KeyInfoFromExprList
mov r8d, dword [r15 + 0x34]
mov r12, rax
lea eax, [r8 + 1]
mov dword [r15 + 0x34], eax
mov eax, dword [r15 + 0x38]
mov dword [rbx + 0x64], r8d
lea edx, [rax + 1]
add eax, 3
mov dword [rbx + 0x68], edx
mov dword [r15 + 0x38], eax
test r12, r12
je 0x590dd3
mov rax, qword [rbx + 0x50]
mov rax, qword [rax + 0x38]
cmp byte [rax + 1], 0x69
jne 0x590dd3
mov rax, qword [r12 + 0x18]
mov byte [rax], 1
mov r8d, dword [rbx + 0x64]
mov dword [rsp + 0x20], 0
mov r9d, 2
mov edx, 0x76
mov rcx, r13
call dbg.sqlite3VdbeAddOp3
mov r8d, 0xfffffff8
mov rdx, r12
mov rcx, r13
call sym.sqlite3VdbeAppendP4
mov eax, dword [rbx + 0x68]
xor r8d, r8d
mov edx, 0x47
mov dword [rsp + 0x20], 0
mov rcx, r13
lea r9d, [rax + 1]
call dbg.sqlite3VdbeAddOp3
mov rbx, qword [rbx + 0x40]
test rbx, rbx
je 0x591176
mov rax, qword [rbx + 0x50]
test byte [rax + 5], 0x10
jne 0x590d70
mov rax, qword [rax + 0x38]
cmp rax, rsi
je 0x591135
cmp rax, rdi
je 0x591135
lea rcx, str.lead
cmp rax, rcx
je 0x590e67
lea rdx, [0x00744ba8]
cmp rax, rdx
jne 0x590e1e
mov r8d, dword [r15 + 0x34]
lea eax, [r8 + 1]
mov dword [r15 + 0x34], eax
mov dword [rbx + 0x64], r8d
mov r9d, dword [rbp + 0x58]
mov dword [rsp + 0x20], 0
mov edx, 0x73
mov rcx, r13
call dbg.sqlite3VdbeAddOp3
jmp 0x590e1e
and eax, 0xffffffd7
mov rcx, qword [rdi + 0x30]
mov edx, dword [rbp + 0x4c]
xor r8d, r8d
mov byte [rbp + 0x44], al
mov qword [rsp + 0x68], r9
call dbg.unsetJoinExpr
movzx eax, byte [rbp + 0x44]
mov r9, qword [rsp + 0x68]
jmp 0x58ff5b
mov r8d, dword [rax + 0x34]
mov rcx, qword [rsp + 0x60]
mov edx, 0xa
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
jmp 0x5904cf
test byte [r14 + 4], 8
je 0x59040b
mov rax, qword [r14 + 0x20]
cmp dword [rax], 1
jne 0x59040b
cmp qword [r14 + 0x30], 0
jne 0x59040b
cmp qword [r14 + 0x40], 0
jne 0x59040b
cmp qword [r14 + 0x38], 0
jne 0x59040b
cmp qword [r14 + 0x48], 0
jne 0x59040b
mov r13, qword [rax + 8]
cmp byte [r13], 0xa8
jne 0x59040b
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x59040b
lea rdx, str.count
call sym.sqlite3_stricmp.part.0
test eax, eax
jne 0x59040b
cmp qword [r13 + 0x20], 0
jne 0x59040b
mov rdx, qword [r14 + 0x28]
cmp dword [rdx], 1
jne 0x59040b
test byte [r13 + 7], 1
jne 0x59040b
mov rbx, qword [rdx + 0x30]
test rbx, rbx
je 0x59040b
cmp qword [rbx + 0x50], 0
je 0x59040b
test byte [rbx + 7], 4
jne 0x59040b
mov rdi, rbx
cmp byte [rdi], 0x87
je 0x590fac
cmp qword [rdi + 0x50], 0
jne 0x59040b
cmp qword [rdi + 0x30], 0
jne 0x59040b
cmp qword [rdi + 0x60], 0
jne 0x59040b
test byte [rdi + 4], 8
jne 0x59040b
mov rdi, qword [rdi + 0x50]
test rdi, rdi
jne 0x590f9c
mov rbp, qword [r15]
mov qword [rdx + 0x30], 0
lea r12, [r15 + 0xc8]
mov rcx, rbp
call dbg.sqlite3SrcListDelete
mov rcx, qword [r15]
mov edx, 0x70
call dbg.sqlite3DbMallocZero
mov qword [rsp + 0x208], r14
mov qword [r14 + 0x28], rax
mov r14, rdi
jmp 0x591072
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, rbp
call dbg.exprDup
mov rcx, r15
mov rdx, rax
call sym.sqlite3ExprListAppend.isra.0.part.0
xor r8d, r8d
xor r9d, r9d
mov edx, 0x8a
mov qword [rbx + 0x20], rax
mov rcx, r15
call sym.sqlite3PExpr
mov r8, rbx
mov rcx, r15
mov rdx, rax
mov rsi, rax
call sym.sqlite3PExprAddSelect
test r14, r14
je 0x59106c
mov r8, rsi
mov r9, r14
mov edx, 0x6a
mov rcx, r15
call sym.sqlite3PExpr
mov rsi, rax
mov r14, rsi
mov rbx, rdi
mov eax, dword [rbx + 4]
mov rdi, qword [rbx + 0x50]
mov word [rbx + 2], 0
mov rdx, r12
mov qword [rbx + 0x50], 0
mov r9, qword [rbx + 0x20]
mov rcx, r15
lea r8, [dbg.sqlite3ExprListDeleteGeneric]
and ah, 0xfe
mov qword [rbx + 0x58], 0
or eax, 8
mov dword [rbx + 4], eax
call sym.sqlite3ParserAddCleanup.isra.0
test rdi, rdi
jne 0x59100d
mov rdx, r13
mov rcx, r15
mov rdi, r14
mov r14, qword [rsp + 0x208]
call sym.sqlite3ExprListAppend.isra.0.part.0
xor r8d, r8d
xor r9d, r9d
mov edx, 0x8a
mov qword [rbx + 0x20], rax
mov rcx, r15
call sym.sqlite3PExpr
mov r8, rbx
mov rcx, r15
mov rdx, rax
mov rsi, rax
call sym.sqlite3PExprAddSelect
test rdi, rdi
je 0x591110
mov r8, rsi
mov r9, rdi
mov edx, 0x6a
mov rcx, r15
call sym.sqlite3PExpr
mov rsi, rax
mov rax, qword [r14 + 0x20]
mov qword [rax + 8], rsi
mov rax, qword [rsp + 0x58]
and dword [r14 + 4], 0xfffffff7
cmp byte [rax + 0x67], 0
jne 0x58feb8
mov r12, qword [r14 + 0x28]
jmp 0x59040b
mov eax, dword [r15 + 0x38]
mov r8d, dword [r15 + 0x34]
lea edx, [rax + 1]
add eax, 2
mov dword [rbx + 0x68], edx
lea edx, [r8 + 1]
mov dword [r15 + 0x34], edx
mov dword [rbx + 0x64], r8d
mov dword [r15 + 0x38], eax
jmp 0x590e77
lea rax, [rdi + rdi*2]
lea rax, [rdi + rax*4]
test word [r12 + rax*8 + 0x48], 0x108
je 0x590826
jmp 0x590458
mov r12, qword [rsp + 0x88]
movsx eax, word [r14 + 2]
mov qword [rsp + 0x28], r14
mov rdx, r12
mov rcx, r15
mov r9, qword [rsp + 0x100]
mov r8, qword [rsp + 0x98]
mov dword [rsp + 0x38], eax
movzx eax, word [rsp + 0x68]
mov dword [rsp + 0x30], eax
mov rax, qword [r14 + 0x20]
mov qword [rsp + 0x20], rax
call sym.sqlite3WhereBegin
mov qword [rsp + 0x90], rax
test rax, rax
je 0x58feb8
movzx eax, word [rax + 0x48]
cmp word [r14 + 2], ax
jle 0x5911da
mov word [r14 + 2], ax
cmp byte [rsp + 0xf4], 0
je 0x5911fb
mov rax, qword [rsp + 0x90]
movzx eax, byte [rax + 0x43]
test al, al
je 0x5911fb
mov byte [rsp + 0xf5], al
mov r9, qword [rsp + 0x100]
mov r8d, dword [rsp + 0x118]
test r9, r9
je 0x5926e0
mov rdi, qword [rsp + 0x90]
mov edx, 0
movsx eax, byte [rdi + 0x41]
test al, al
cmovs eax, edx
mov dword [rsp + 0x108], eax
test byte [rdi + 0x44], 4
je 0x59298b
mov rdi, qword [rsp + 0x90]
movzx edx, byte [rdi + 0x40]
sub edx, 1
movsxd rdx, edx
lea rcx, [rdx*8]
sub rcx, rdx
shl rcx, 4
cmp qword [rdi + rcx + 0x398], 0
je 0x593628
mov edx, dword [rdi + 0x30]
mov dword [rsp + 0x120], edx
cmp dword [r9], eax
je 0x5926d4
test rbp, rbp
je 0x5928c4
mov eax, dword [r15 + 0x44]
mov r12, qword [r15 + 0x10]
lea edx, [rax - 3]
lea esi, [rax - 1]
lea edi, [rax - 2]
mov eax, dword [r15 + 0x38]
mov dword [rsp + 0xa8], esi
mov dword [rsp + 0xd0], edi
add eax, 1
mov dword [rsp + 0xcc], edx
mov dword [rsp + 0xb8], eax
mov dword [r15 + 0x38], eax
mov rax, qword [r14 + 0x70]
mov dword [r15 + 0x44], edx
mov qword [rsp + 0x68], rax
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xb0], rax
test r12, r12
jne 0x5912ec
mov rcx, r15
call sym.sqlite3GetVdbe.part.0
mov edx, dword [r15 + 0x44]
mov r12, rax
mov rax, qword [r14 + 0x28]
mov rdi, qword [rsp + 0x68]
mov esi, dword [rax + 0x4c]
mov rax, qword [rax + 0x28]
movsx r13d, word [rax + 0x36]
lea eax, [rdx - 1]
mov qword [rsp + 0x188], 0
mov dword [r15 + 0x44], eax
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0xb8]
mov qword [rsp + 0x190], 0
mov dword [rsp + 0x17c], eax
mov eax, dword [rsp + 0xa8]
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x1a0], 0
mov dword [rsp + 0x178], eax
mov eax, dword [rdi + 0x58]
mov qword [rsp + 0x160], r15
lea edx, [rax + 2]
mov dword [rsp + 0x194], eax
lea ebx, [rax + 1]
add eax, 3
mov qword [rsp + 0x168], rdi
mov qword [rsp + 0x170], r12
mov dword [rsp + 0x18c], edx
mov dword [rsp + 0x19c], eax
movzx edx, byte [rdi + 0x21]
mov dword [rsp + 0xbc], ebx
cmp dl, 0x56
je 0x592b60
cmp dl, 0x5a
je 0x592ad1
mov dword [rsp + 0x184], 2
mov eax, dword [r15 + 0x38]
sub edx, 0x56
mov dword [rsp + 0x88], 0
lea ebx, [rax + 1]
add eax, r13d
and edx, 0xfd
lea ecx, [rax + 2]
lea ebp, [rax + 1]
mov dword [r15 + 0x38], ecx
mov dword [rsp + 0x188], ecx
jne 0x591407
add eax, 3
mov dword [rsp + 0x88], eax
mov dword [r15 + 0x38], eax
mov dword [rsp + 0x98], 0
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x22]
sub eax, 0x56
test al, 0xfd
jne 0x591434
mov eax, dword [r15 + 0x38]
add eax, 1
mov dword [rsp + 0x98], eax
mov dword [r15 + 0x38], eax
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x20], 0x4c
je 0x592aae
mov rax, qword [rsp + 0xb0]
xor edx, edx
test rax, rax
je 0x591454
mov edx, dword [rax]
mov rax, qword [rsp + 0x68]
mov edi, dword [rax + 0x78]
mov rax, qword [rax + 0x10]
add edi, ebx
mov dword [rsp + 0xd4], edi
test rax, rax
je 0x591479
mov eax, dword [rax]
add edi, eax
mov dword [rsp + 0xd4], edi
mov ecx, dword [r15 + 0x38]
lea eax, [rcx + rdx]
lea r8d, [rax + 1]
add eax, edx
mov dword [rsp + 0x190], r8d
lea r8d, [rax + 1]
add eax, edx
mov dword [rsp + 0x198], r8d
lea r8d, [rax + 1]
add eax, edx
cmp qword [rsp + 0xb0], 0
setne dl
add ecx, 1
mov dword [r15 + 0x38], eax
setne al
mov dword [rsp + 0x1a0], r8d
and edx, eax
mov dword [rsp + 0xc8], ecx
mov byte [rsp + 0xe0], dl
xor edi, edi
test r13d, r13d
jle 0x591502
nop word [rax + rax]
lea eax, [rbx + rdi]
mov r9d, edi
mov r8d, esi
mov edx, 0x5e
mov dword [rsp + 0x20], eax
mov rcx, r12
add edi, 1
call dbg.sqlite3VdbeAddOp3
cmp r13d, edi
jne 0x5914e0
mov dword [rsp + 0x20], ebp
mov edx, 0x61
mov r9d, r13d
mov r8d, ebx
mov rcx, r12
call dbg.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x59289c
mov rdi, qword [rsp + 0x68]
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
mov esi, dword [rdx]
add ebx, dword [rdi + 0x78]
call dbg.sqlite3KeyInfoFromExprList
mov r9d, dword [rdi + 0x6c]
mov dword [rsp + 0x20], esi
mov r8d, ebx
mov r13, rax
mov eax, dword [r15 + 0x38]
mov edx, 0x5a
mov rcx, r12
mov qword [rsp + 0x68], rdi
sub esi, 1
add eax, 1
mov dword [r15 + 0x38], eax
mov dword [rsp + 0xc0], eax
call dbg.sqlite3VdbeAddOp3
mov r8d, 0xfffffff8
mov rdx, r13
mov rcx, r12
mov edi, eax
call sym.sqlite3VdbeAppendP4
lea r8d, [rdi + 2]
lea r9d, [rdi + 4]
mov rcx, r12
mov dword [rsp + 0x20], r8d
mov edx, 0xe
call dbg.sqlite3VdbeAddOp3
xor r9d, r9d
mov edx, 0xa
mov rcx, r12
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0xc0]
call dbg.sqlite3VdbeAddOp3
mov rdi, qword [rsp + 0x68]
mov r8d, ebx
mov rcx, r12
mov edx, 0x50
mov dword [rsp + 0xe8], eax
mov r9d, dword [rdi + 0x6c]
mov dword [rsp + 0x20], esi
call dbg.sqlite3VdbeAddOp3
mov edi, dword [rsp + 0xbc]
mov dword [rsp + 0x20], 0
mov edx, 0x7f
mov rcx, r12
mov r9d, dword [rsp + 0x188]
mov r8d, edi
call dbg.sqlite3VdbeAddOp3
mov r9d, ebp
mov r8d, edi
mov edx, pe_nt_image_headers64
mov eax, dword [rsp + 0x188]
mov rcx, r12
mov dword [rsp + 0x20], eax
call dbg.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x68]
xor r9d, r9d
mov rcx, r12
mov edx, 0x34
mov r8d, dword [rax + 0x80]
mov eax, dword [rsp + 0x188]
mov dword [rsp + 0x20], eax
call dbg.sqlite3VdbeAddOp3
mov rsi, qword [r15 + 0x10]
mov dword [rsp + 0xe4], eax
test rsi, rsi
jne 0x591670
mov rcx, r15
call sym.sqlite3GetVdbe.part.0
mov rsi, rax
mov rax, qword [rsp + 0x68]
xor edi, edi
mov qword [rsp + 0xd8], r12
lea r13, str.nth_value
mov r12d, edi
mov rbp, rax
mov rdi, rax
nop
mov rbx, qword [rbp + 0x50]
mov r9d, dword [rbp + 0x5c]
mov edx, 0x4b
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov rcx, rsi
call dbg.sqlite3VdbeAddOp3
mov rax, qword [rbp + 0x70]
mov rdx, qword [rax + 0x20]
xor eax, eax
test rdx, rdx
je 0x5916c1
mov eax, dword [rdx]
mov ecx, dword [rdi + 0x84]
cmp r12d, eax
cmovl r12d, eax
test ecx, ecx
jne 0x591708
mov rax, qword [rbx + 0x38]
cmp rax, r13
je 0x591c7b
lea rcx, str.first_value
cmp rax, rcx
je 0x591c7b
test byte [rbx + 5], 0x10
je 0x591708
mov r8d, dword [rbp + 0x64]
test r8d, r8d
jne 0x59280f
nop word [rax + rax]
mov rbp, qword [rbp + 0x40]
test rbp, rbp
jne 0x591690
mov eax, dword [r15 + 0x38]
mov edi, r12d
mov r8d, dword [rsp + 0x88]
mov r12, qword [rsp + 0xd8]
add edi, eax
add eax, 1
mov dword [r15 + 0x38], edi
mov dword [rsp + 0x180], eax
test r8d, r8d
je 0x59177b
cmp qword [r15 + 0x10], 0
je 0x591759
mov rax, qword [rsp + 0x68]
mov rcx, r15
mov rdx, qword [rax + 0x28]
call sym.sqlite3ExprCode.part.0
mov rax, qword [rsp + 0x68]
mov edx, dword [rsp + 0x88]
mov rcx, r15
cmp byte [rax + 0x20], 0x59
sete al
movzx eax, al
lea r8d, [rax + rax*2]
call dbg.windowCheckValue
mov r8d, dword [rsp + 0x98]
test r8d, r8d
je 0x5917c3
cmp qword [r15 + 0x10], 0
je 0x5917a0
mov rax, qword [rsp + 0x68]
mov rcx, r15
mov rdx, qword [rax + 0x30]
call sym.sqlite3ExprCode.part.0
mov rax, qword [rsp + 0x68]
mov edx, dword [rsp + 0x98]
mov rcx, r15
cmp byte [rax + 0x20], 0x59
sete al
movzx eax, al
lea r8d, [rax + rax*2 + 1]
call dbg.windowCheckValue
mov rsi, qword [rsp + 0x68]
lea rdi, [rsp + 0x160]
cmp byte [rsi + 0x20], 0x59
movzx eax, byte [rsi + 0x21]
je 0x59286f
cmp byte [rsi + 0x22], al
jne 0x5917f2
mov edx, dword [rsp + 0x88]
test edx, edx
jne 0x593abd
cmp al, 0x56
je 0x593495
cmp al, 0x5a
jne 0x592877
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov edx, 0x24
mov rcx, r12
mov r8d, dword [rsp + 0x194]
call dbg.sqlite3VdbeAddOp3
xor r9d, r9d
mov edx, 0x24
mov rcx, r12
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x19c]
call dbg.sqlite3VdbeAddOp3
cmp byte [rsp + 0xe0], 0
jne 0x592993
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 9
mov rcx, r12
mov r9d, dword [rsp + 0xa0]
call dbg.sqlite3VdbeAddOp3
mov rcx, qword [r12]
mov eax, dword [r12 + 0x90]
lea rdx, [0x007e7180]
cmp byte [rcx + 0x67], 0
jne 0x5918a1
movsxd rdx, dword [rsp + 0xe4]
lea rcx, [rdx + rdx*2]
mov rdx, qword [r12 + 0x88]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], eax
mov eax, dword [rsp + 0xc8]
test eax, eax
jne 0x592a7e
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x21], 0x56
je 0x593532
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x22], 0x58
je 0x592c25
xor r9d, r9d
xor r8d, r8d
mov edx, 3
mov rcx, rdi
call dbg.windowCodeOp
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x22], 0x5a
je 0x591935
cmp byte [rax + 0x20], 0x59
je 0x593c1e
mov r13d, dword [rsp + 0x98]
test r13d, r13d
jne 0x593ba1
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov rcx, rdi
call dbg.windowCodeOp
xor r9d, r9d
mov edx, 2
mov rcx, rdi
mov r8d, dword [rsp + 0x88]
call dbg.windowCodeOp
mov edx, dword [rsp + 0xa0]
mov rcx, r12
call dbg.sqlite3VdbeResolveLabel
mov rcx, qword [rsp + 0x90]
call sym.sqlite3WhereEnd
mov rax, qword [rsp + 0x68]
cmp qword [rax + 0x10], 0
je 0x5919b5
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x47
mov rcx, r12
mov r9d, dword [rsp + 0xc0]
call dbg.sqlite3VdbeAddOp3
mov rdx, qword [r12]
mov ecx, dword [r12 + 0x90]
mov dword [rsp + 0x74], eax
lea rax, [0x007e7180]
cmp byte [rdx + 0x67], 0
jne 0x5919b2
movsxd rax, dword [rsp + 0xe8]
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 8], ecx
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov edx, 0x24
mov rcx, r12
mov r8d, dword [rsp + 0xbc]
mov dword [rsp + 0x188], 0
call dbg.sqlite3VdbeAddOp3
movsxd rsi, eax
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x22], 0x58
je 0x5934e3
mov rax, qword [rsp + 0x68]
xor r9d, r9d
xor r8d, r8d
mov edx, 3
mov rcx, rdi
cmp byte [rax + 0x21], 0x56
je 0x592c7c
call dbg.windowCodeOp
xor r8d, r8d
mov edx, 1
mov rcx, rdi
mov r9d, 1
mov ebx, dword [r12 + 0x90]
call dbg.windowCodeOp
xor r9d, r9d
mov edx, 2
mov rcx, rdi
mov r8d, dword [rsp + 0x88]
mov r13d, eax
call dbg.windowCodeOp
mov edx, 9
mov rcx, r12
mov r9d, ebx
mov dword [rsp + 0x20], 0
xor r8d, r8d
call dbg.sqlite3VdbeAddOp3
mov rdx, qword [r12]
mov eax, dword [r12 + 0x90]
lea rcx, [0x007e7180]
movzx edx, byte [rdx + 0x67]
test dl, dl
jne 0x591a96
mov rcx, qword [r12 + 0x88]
movsxd rdi, r13d
lea r8, [rdi + rdi*2]
lea rcx, [rcx + r8*8]
mov dword [rcx + 8], eax
lea rcx, [0x007e7180]
test dl, dl
jne 0x591ab4
mov rdx, qword [r12 + 0x88]
lea rcx, [rsi + rsi*2]
lea rcx, [rdx + rcx*8]
mov dword [rcx + 8], eax
xor r9d, r9d
mov edx, 0x92
mov rcx, r12
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x194]
call dbg.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x68]
cmp qword [rax + 0x10], 0
je 0x591b44
mov r9d, dword [rax + 0x84]
test r9d, r9d
jne 0x592df4
mov rdx, qword [r12]
mov ecx, dword [r12 + 0x90]
lea rax, [0x007e7180]
cmp byte [rdx + 0x67], 0
jne 0x591b21
movsxd rax, dword [rsp + 0x74]
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], ecx
xor r9d, r9d
mov edx, 0x43
mov rcx, r12
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0xc0]
call dbg.sqlite3VdbeAddOp3
mov rdi, qword [rsp + 0x60]
mov esi, dword [rsp + 0xcc]
xor r8d, r8d
mov edx, 9
mov dword [rsp + 0x20], 0
mov r9d, esi
mov rcx, rdi
call dbg.sqlite3VdbeAddOp3
mov edx, dword [rsp + 0xa8]
mov rcx, rdi
call dbg.sqlite3VdbeResolveLabel
mov dword [rsp + 0x38], esi
mov rdx, r14
mov rcx, r15
mov rax, qword [rsp + 0x210]
mov ebx, dword [rsp + 0xd0]
lea r9, [rsp + 0x100]
mov r8d, 0xffffffff
mov dword [rsp + 0x120], 0
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xf4]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], ebx
call dbg.selectInnerLoop
mov edx, ebx
mov rcx, rdi
call dbg.sqlite3VdbeResolveLabel
mov edx, 0x43
mov rcx, rdi
xor r9d, r9d
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0xb8]
call dbg.sqlite3VdbeAddOp3
mov edx, esi
mov rcx, rdi
call dbg.sqlite3VdbeResolveLabel
cmp byte [rsp + 0xf5], 3
je 0x59291a
cmp qword [rsp + 0x100], 0
je 0x591c3c
mov rax, qword [rsp + 0x210]
lea r8, [rsp + 0x100]
mov rdx, r14
mov rcx, r15
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x78]
mov r9d, dword [rax]
call dbg.generateSortTail
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
call dbg.sqlite3VdbeResolveLabel
mov edx, dword [r15 + 0x30]
xor eax, eax
test edx, edx
setg al
test rbp, rbp
je 0x58febd
mov rcx, qword [rsp + 0x58]
mov rdx, rbp
mov dword [rsp + 0x60], eax
call dbg.exprListDeleteNN
mov eax, dword [rsp + 0x60]
jmp 0x58febd
mov r9d, dword [rbp + 0x68]
xor r8d, r8d
mov rcx, rsi
mov edx, 0x47
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
mov eax, dword [rbp + 0x68]
xor r8d, r8d
mov edx, 0x47
mov dword [rsp + 0x20], 0
mov rcx, rsi
lea r9d, [rax + 1]
call dbg.sqlite3VdbeAddOp3
jmp 0x5916ef
mov eax, dword [r15 + 0x38]
mov rcx, qword [rsp + 0x60]
xor r9d, r9d
xor r8d, r8d
mov edx, 9
add eax, 1
mov dword [r15 + 0x38], eax
mov dword [rbp + 0x34], eax
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
movsxd r14, eax
lea rax, [rdi + rdi*2]
lea rax, [rdi + rax*4]
lea esi, [r14 + 1]
lea rdx, [r12 + rax*8 + 0x30]
mov dword [rbp + 0x30], esi
movzx eax, byte [rdx + 0x18]
or eax, 0x10
mov byte [rdx + 0x18], al
test al, 8
je 0x592607
mov eax, dword [rbp + 0x44]
mov r9, rbp
lea r8, str.MATERIALIZE___S
mov rcx, r15
mov edx, 1
mov byte [rsp + 0x160], 0xc
mov dword [rsp + 0x164], eax
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x168], 0
mov dword [rsp + 0x170], 0
call dbg.sqlite3VdbeExplain
mov r8, qword [rsp + 0x80]
mov rdx, rbx
mov rcx, r15
call dbg.sqlite3Select
mov rax, qword [rbp + 0x20]
movzx edx, word [rbx + 2]
mov word [rax + 0x3a], dx
mov r8d, dword [rbp + 0x34]
mov r9d, esi
mov rsi, qword [rsp + 0x60]
mov dword [rsp + 0x20], 0
mov edx, 0x43
mov rcx, rsi
call dbg.sqlite3VdbeAddOp3
mov rcx, qword [rsi]
mov edx, dword [rsi + 0x90]
lea rax, [0x007e7180]
cmp byte [rcx + 0x67], 0
jne 0x591dc0
mov rax, qword [rsi + 0x88]
lea rcx, [r14 + r14*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
lea rax, [rdi + rdi*2]
lea rax, [rdi + rax*4]
mov byte [r15 + 0x1f], 0
mov dword [r15 + 0x28], 0
movzx eax, word [r12 + rax*8 + 0x48]
and ax, 0x108
cmp ax, 0x100
jne 0x5904fa
mov edx, dword [rbp + 0x30]
mov rax, qword [rbp + 0x60]
mov dword [rax + 4], edx
mov edx, dword [rbp + 0x34]
mov dword [rax + 8], edx
mov edx, dword [rbp + 0x44]
mov dword [rax + 0xc], edx
movzx edx, word [rbx + 2]
mov word [rax + 0x10], dx
jmp 0x5904fa
mov dword [rsp + 0x118], 0xffffffff
jmp 0x590b46
test ah, 0x80
jne 0x590400
mov rax, qword [r15]
mov qword [rsp + 0x130], r15
lea r13, [rsp + 0x130]
lea rdi, [rsp + 0x160]
lea rsi, [dbg.propagateConstantExprRewrite]
lea rbx, [sym.sqlite3SelectWalkNoop]
add rax, 0x67
mov qword [rsp + 0x138], rax
jmp 0x591e73
mov ebp, dword [rsp + 0x144]
test ebp, ebp
je 0x5928b7
mov rdx, qword [r14 + 0x30]
mov rcx, qword [r14 + 0x28]
mov eax, 1
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x140], 0
mov dword [rsp + 0x148], 0
test rcx, rcx
je 0x591ebd
mov r8d, dword [rcx]
test r8d, r8d
jle 0x591ebd
movzx eax, byte [rcx + 0x44]
and eax, 0x40
cmp al, 1
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov rcx, r13
mov dword [rsp + 0x14c], eax
call dbg.findConstInWhere
mov eax, dword [rsp + 0x140]
test eax, eax
je 0x591e60
mov rdx, qword [r14 + 0x30]
mov qword [rsp + 0x160], r15
mov dword [rsp + 0x184], 0
mov qword [rsp + 0x168], rsi
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x178], 0
mov dword [rsp + 0x180], 0
mov qword [rsp + 0x188], r13
test rdx, rdx
je 0x591f2a
mov rcx, rdi
call dbg.sqlite3WalkExprNN
mov rdx, qword [rsp + 0x150]
test rdx, rdx
je 0x591e60
mov rax, qword [rsp + 0x130]
mov rcx, qword [rax]
call sym.sqlite3DbFreeNN
jmp 0x591e60
mov rax, qword [rbx + 0x28]
mov r8, qword [rax]
jmp 0x59007d
mov rcx, qword [r14 + 0x20]
mov edx, dword [rcx]
lea rax, [rcx + 8]
test edx, edx
jle 0x591f8f
sub edx, 1
shl rdx, 5
lea rdx, [rcx + rdx + 0x28]
nop word cs:[rax + rax]
xor edi, edi
add rax, 0x20
mov word [rax - 6], di
cmp rax, rdx
jne 0x591f80
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax]
add rax, 8
test ecx, ecx
jle 0x591fbf
mov rdi, qword [rsp + 0x68]
lea edx, [rcx - 1]
shl rdx, 5
lea rdx, [rdi + rdx + 0x28]
nop
xor esi, esi
add rax, 0x20
mov word [rax - 6], si
cmp rax, rdx
jne 0x591fb0
cmp word [r14 + 2], 0x42
jle 0x591fd1
mov ebx, 0x42
mov word [r14 + 2], bx
mov r9, qword [rsp + 0x100]
mov dword [rsp + 0xb8], 0
test r9, r9
je 0x591ff2
cmp dword [r9], ecx
je 0x592b9c
mov eax, dword [r15 + 0x44]
mov rcx, qword [rsp + 0x58]
mov edx, 0x38
sub eax, 1
mov dword [r15 + 0x44], eax
mov dword [rsp + 0x88], eax
call dbg.sqlite3DbMallocZero
mov rsi, rax
test rax, rax
je 0x592034
lea rdx, [r15 + 0xc8]
mov r9, rax
lea r8, [dbg.agginfoFree]
mov rcx, r15
call sym.sqlite3ParserAddCleanup.isra.0
mov rax, qword [rsp + 0x58]
movzx ebx, byte [rax + 0x67]
mov eax, 1
test bl, bl
jne 0x58febd
mov eax, dword [r14 + 0x10]
mov rcx, qword [rsp + 0x68]
lea rdi, [rsp + 0x160]
mov dword [rsi + 0x34], eax
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x160], r15
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x170], rsi
test rcx, rcx
je 0x592da0
mov eax, dword [rcx]
mov rdx, qword [rsp + 0x78]
mov qword [rsi + 0x10], rcx
mov rcx, rdi
mov word [rsi + 2], ax
call dbg.sqlite3ExprAnalyzeAggList
mov rdx, qword [rsp + 0x100]
mov rcx, rdi
call dbg.sqlite3ExprAnalyzeAggList
cmp qword [rsp + 0xa0], 0
je 0x592156
mov rdx, qword [r14 + 0x40]
lea rax, [sym.havingToWhereExprCb]
mov qword [rsp + 0x140], 0
lea rcx, [rsp + 0x130]
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x130], r15
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x158], r14
test rdx, rdx
je 0x59213a
call dbg.sqlite3WalkExprNN
mov rax, qword [r14 + 0x30]
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0xa0]
mov rcx, rdi
call dbg.sqlite3ExprAnalyzeAggregates
mov eax, dword [rsi + 0x20]
xor ebp, ebp
cmp qword [r14 + 0x38], 0
mov dword [rsi + 0x24], eax
je 0x592de0
lea rax, [rsi + 0x30]
lea r13, [rsi + 0x28]
mov r8, rdi
mov rdx, rax
mov rcx, r13
mov qword [rsp + 0xa8], rax
call sym.analyzeAggFuncArgs.isra.0
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x67], 0
jne 0x592951
cmp qword [rsp + 0x68], 0
mov edx, dword [rsi + 0x30]
je 0x593698
xor r10d, r10d
xor ebx, ebx
mov word [rsp + 0xd8], r10w
cmp edx, 1
je 0x593a05
mov eax, dword [r15 + 0x34]
mov r9d, dword [rsi + 0x20]
xor r8d, r8d
mov rcx, r15
lea edx, [rax + 1]
mov dword [r15 + 0x34], edx
mov rdx, qword [rsp + 0x68]
mov dword [rsi + 4], eax
call dbg.sqlite3KeyInfoFromExprList
movzx r9d, word [rsi + 2]
mov r8d, dword [rsi + 4]
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
mov edx, 0x77
mov qword [rsp + 0xc0], rax
call dbg.sqlite3VdbeAddOp3
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0xc0]
mov r9d, 0xfffffff8
mov edx, eax
mov dword [rsp + 0xec], eax
call sym.sqlite3VdbeChangeP4
mov eax, dword [r15 + 0x38]
mov edx, dword [r15 + 0x44]
mov r11, qword [rsp + 0x68]
lea r10d, [rax + 1]
lea r9d, [rax + 2]
mov dword [rsp + 0xb0], r10d
lea r10d, [rax + 3]
lea r8d, [rdx - 2]
mov dword [rsp + 0xe0], r10d
lea r10d, [rdx - 1]
mov dword [rsp + 0xe8], r10d
lea r10d, [rax + 4]
add eax, 5
mov dword [r15 + 0x44], r8d
mov dword [rsp + 0xe4], eax
mov eax, dword [r11]
mov dword [rsp + 0x20], 0
lea edx, [r10 + rax]
mov dword [rsp + 0xc8], r8d
xor r8d, r8d
add eax, edx
lea ecx, [rdx + 1]
mov edx, 0x47
mov dword [rsp + 0xbc], r10d
mov dword [r15 + 0x38], eax
mov dword [rsp + 0xcc], ecx
mov rcx, qword [rsp + 0x60]
mov dword [rsp + 0xd4], r9d
call dbg.sqlite3VdbeAddOp3
mov r11, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
mov edx, dword [rsp + 0xe4]
mov eax, dword [r11]
mov r9d, edx
add eax, edx
mov edx, 0x4b
sub eax, 1
mov dword [rsp + 0x20], eax
call dbg.sqlite3VdbeAddOp3
mov rcx, qword [rsp + 0x60]
mov edx, 0xa
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xc8]
mov r8d, dword [rsp + 0xbc]
call dbg.sqlite3VdbeAddOp3
cmp byte [rsp + 0xf4], 2
mov rcx, r15
mov edx, 0x40
mov eax, pe_nt_image_headers64
mov qword [rsp + 0x28], r14
mov r9, qword [rsp + 0x68]
cmovne eax, edx
movzx edx, word [rsp + 0xb8]
mov dword [rsp + 0x38], 0
mov r8, qword [rsp + 0x98]
shl edx, 9
or eax, ebx
or eax, edx
mov rdx, r12
cwde
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
call sym.sqlite3WhereBegin
mov qword [rsp + 0x98], rax
test rax, rax
je 0x592937
cmp qword [r15 + 0x60], 0
je 0x5923db
mov ecx, dword [rsi + 0x24]
cmp word [rsi + 2], 0
mov dword [rsi + 0x20], ecx
je 0x5923c8
mov rax, qword [r14 + 0x38]
mov eax, dword [rax]
sub eax, 1
test ecx, ecx
jle 0x5923c1
sub ecx, 1
mov r8, qword [rsi + 0x18]
imul rcx, rcx, 0x18
lea rdx, [r8 + 0x16]
lea r8, [r8 + rcx + 0x2e]
movsx ecx, word [rdx]
cmp eax, ecx
cmovl eax, ecx
add rdx, 0x18
cmp r8, rdx
jne 0x5923b0
add eax, 1
mov word [rsi + 2], ax
mov rdx, qword [rsp + 0xa8]
mov r8, rdi
mov rcx, r13
call sym.analyzeAggFuncArgs.isra.0
mov edx, dword [r15 + 0x38]
lea eax, [rdx + 1]
mov dword [rsi + 0xc], eax
mov eax, dword [rsi + 0x30]
add eax, dword [rsi + 0x20]
add eax, edx
mov edx, 0
mov dword [r15 + 0x38], eax
mov rax, qword [rsp + 0x98]
movzx edi, byte [rax + 0x43]
movsx eax, byte [rax + 0x41]
mov dword [rsp + 0xd0], edi
mov rdi, qword [rsp + 0x68]
test al, al
cmovs eax, edx
cmp dword [rdi], eax
je 0x593ce2
cmp byte [rsp + 0xf4], 0
lea r9, str.GROUP_BY
je 0x592440
test byte [r14 + 4], 1
lea rax, str.DISTINCT
cmove r9, rax
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, r15
call dbg.sqlite3VdbeExplain
mov rax, qword [rsp + 0x68]
mov edx, dword [rsi + 0x20]
mov edi, dword [rax]
test edx, edx
jle 0x593fab
sub edx, 1
mov rcx, qword [rsi + 0x18]
mov ebx, edi
imul rdx, rdx, 0x18
lea rax, [rcx + 0x16]
lea rcx, [rcx + rdx + 0x2e]
movsx edx, word [rax]
cmp edx, ebx
setge dl
add rax, 0x18
movzx edx, dl
add ebx, edx
cmp rcx, rax
jne 0x592479
mov edx, ebx
mov rcx, r15
xor r12d, r12d
call sym.sqlite3GetTempRange
mov dword [rsp + 0x20], 0
mov rdx, qword [rsp + 0x68]
xor r9d, r9d
mov r8d, eax
mov r13d, eax
call dbg.sqlite3ExprCodeExprList
cmp dword [rsi + 0x20], 0
mov byte [rsi], 1
jg 0x5924d6
jmp 0x592e38
add r12, 1
cmp dword [rsi + 0x20], r12d
jle 0x592e38
mov rdx, qword [rsi + 0x18]
lea rax, [r12 + r12*2]
lea rax, [rdx + rax*8]
movsx edx, word [rax + 0x16]
cmp edx, edi
jl 0x5924c8
mov rdx, qword [rax + 8]
lea r8d, [r13 + rdi]
mov rcx, r15
add edi, 1
call sym.sqlite3ExprCode
jmp 0x5924c8
mov eax, dword [r15 + 0x34]
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
lea edx, [rax + 1]
mov dword [rsp + 0xf8], eax
mov dword [r15 + 0x34], edx
mov rdx, qword [r14 + 0x20]
call dbg.sqlite3KeyInfoFromExprList
mov rdi, qword [rsp + 0x60]
xor r9d, r9d
mov edx, 0x76
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0xf8]
mov rbx, rax
mov rcx, rdi
call dbg.sqlite3VdbeAddOp3
mov r9d, 0xfffffff8
mov r8, rbx
mov rcx, rdi
mov edx, eax
mov ebp, eax
call sym.sqlite3VdbeChangeP4
movsxd rax, dword [rdi + 0x90]
mov dword [rsp + 0xfc], ebp
test eax, eax
jle 0x59258d
mov r10, qword [rdi + 0x88]
lea rax, [rax + rax*2]
mov r11d, 8
lea rax, [r10 + rax*8]
mov word [rax - 0x16], r11w
mov byte [rsp + 0xf5], 3
jmp 0x590bee
movzx r8d, byte [rsp + 0x98]
jmp 0x5905fd
mov eax, dword [rsp + 0x78]
mov r9d, dword [r12]
mov rdx, rbp
mov rcx, r12
lea r8d, [rax + 1]
mov dword [rsp + 0x98], r9d
call dbg.isSelfJoinView
test rax, rax
jne 0x59069b
mov r9d, dword [rsp + 0x98]
mov r14d, 1
jmp 0x59066a
cmp qword [rsp + 0x68], 0
jne 0x591f5c
mov dword [rsp + 0xb8], 0
xor r11d, r11d
mov word [r14 + 2], r11w
jmp 0x591ff2
mov rcx, qword [rsp + 0x60]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
mov r9, rbp
mov edx, 1
mov rcx, r15
mov dword [rsp + 0x78], eax
mov eax, dword [rbp + 0x44]
lea r8, str.MATERIALIZE___S
mov byte [rsp + 0x160], 0xc
mov dword [rsp + 0x164], eax
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x168], 0
mov dword [rsp + 0x170], 0
call dbg.sqlite3VdbeExplain
mov r8, qword [rsp + 0x80]
mov rdx, rbx
mov rcx, r15
call dbg.sqlite3Select
mov rax, qword [rbp + 0x20]
movzx edx, word [rbx + 2]
movsxd r10, dword [rsp + 0x78]
mov word [rax + 0x3a], dx
test r10d, r10d
je 0x591d7a
mov r11, qword [rsp + 0x60]
lea rax, [0x007e7180]
mov rcx, qword [r11]
mov edx, dword [r11 + 0x90]
cmp byte [rcx + 0x67], 0
jne 0x5926cc
mov rax, qword [r11 + 0x88]
lea rcx, [r10 + r10*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x591d7a
mov qword [rsp + 0x100], 0
test r8d, r8d
js 0x59127e
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
lea rdx, [rax + 0x88]
call sym.sqlite3VdbeChangeToNoop.isra.0
jmp 0x59127e
mov rdx, qword [rsp + 0x78]
mov r8d, 0xffffffff
mov rcx, r10
call sym.sqlite3ExprListCompare
test eax, eax
jne 0x592724
cmp qword [r14 + 0x70], 0
je 0x593cfe
mov r10, qword [rsp + 0x100]
jmp 0x590ac9
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x60]
mov edx, 0x76
mov dword [rsp + 0x20], 0
mov rax, qword [rsp + 0x210]
mov r9d, dword [rdi]
mov r8d, dword [rax + 4]
call dbg.sqlite3VdbeAddOp3
test byte [r14 + 5], 8
je 0x590b57
mov edx, dword [rdi]
lea ebp, [rdx - 1]
test ebp, ebp
jle 0x5927cb
movsxd rbx, edx
mov rsi, qword [rsp + 0x58]
shl rbx, 5
add rbx, rdi
jmp 0x5927b6
mov rdx, qword [rbx - 0x18]
test rdx, rdx
je 0x592799
mov rcx, rsi
call dbg.sqlite3ExprDeleteNN
mov rdx, qword [rbx - 0x10]
test rdx, rdx
je 0x5927aa
mov rcx, rsi
call sym.sqlite3DbFreeNN
sub dword [rdi], 1
sub rbx, 0x20
sub ebp, 1
je 0x5927c4
movsxd rax, ebp
shl rax, 5
test byte [rdi + rax + 0x1c], 0x40
je 0x592788
mov rax, qword [rsp + 0x78]
mov edx, dword [rax]
mov r8, qword [rsp + 0x78]
lea ecx, [rdx - 1]
xor eax, eax
test edx, edx
jg 0x5927e3
jmp 0x590b57
mov rax, rdx
movsxd rdx, eax
shl rdx, 5
test byte [r8 + rdx + 0x1c], 0x40
jne 0x592801
mov rdx, rax
shl rdx, 5
mov rdx, qword [r8 + rdx + 8]
mov byte [rdx], 0x79
lea rdx, [rax + 1]
cmp rcx, rax
jne 0x5927e0
jmp 0x590b57
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov rcx, rsi
mov edx, 0x92
call dbg.sqlite3VdbeAddOp3
mov eax, dword [rbp + 0x68]
xor r8d, r8d
mov edx, 0x47
mov dword [rsp + 0x20], 0
mov rcx, rsi
lea r9d, [rax + 1]
call dbg.sqlite3VdbeAddOp3
jmp 0x591708
test r13, r13
je 0x58fe8b
mov rcx, qword [rsp + 0x80]
mov r8d, 1
mov rdx, r13
call dbg.clearSelect
jmp 0x58fe8b
cmp al, 0x56
jne 0x5917fa
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov edx, 0x24
mov rcx, r12
mov r8d, dword [rsp + 0x18c]
call dbg.sqlite3VdbeAddOp3
jmp 0x591802
mov dword [rsp + 0xc0], 0
mov dword [rsp + 0xe8], 0
jmp 0x5915e9
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x60]
jmp 0x590400
mov rsi, qword [rsp + 0x90]
mov rcx, r15
mov r8d, 0xffffffff
mov rdx, r14
lea r9, [rsp + 0x100]
mov eax, dword [rsi + 0x34]
mov dword [rsp + 0x38], eax
mov eax, dword [rsi + 0x30]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xf4]
mov qword [rsp + 0x20], rax
call dbg.selectInnerLoop
mov rcx, rsi
call sym.sqlite3WhereEnd
jmp 0x591bfb
lea r9, str.DISTINCT
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, r15
call dbg.sqlite3VdbeExplain
jmp 0x591c09
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x592951
mov rcx, qword [rsp + 0x58]
mov rdx, rax
call dbg.exprListDeleteNN
mov eax, 1
jmp 0x591c58
mov rdx, qword [r14 + 0x48]
mov rcx, rdi
lea rax, [sym.disallowAggregatesInOrderByCb]
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x168], rax
call dbg.sqlite3WalkExprList
mov eax, dword [r14 + 4]
jmp 0x59019b
mov edx, dword [rdi + 0x30]
jmp 0x59126e
mov rsi, qword [rsp + 0xb0]
mov ebx, dword [rsp + 0xc8]
mov edx, 0x50
mov rcx, r12
mov r8d, dword [rsp + 0xd4]
mov eax, dword [rsi]
mov r9d, ebx
mov dword [rsp + 0xe0], eax
sub eax, 1
mov dword [rsp + 0x20], eax
call dbg.sqlite3VdbeAddOp3
mov eax, dword [rsi]
mov r8d, ebx
mov edx, 0x50
mov r9d, dword [rsp + 0x190]
mov rcx, r12
mov dword [rsp + 0xe0], eax
sub eax, 1
mov dword [rsp + 0x20], eax
call dbg.sqlite3VdbeAddOp3
mov eax, dword [rsi]
mov r8d, ebx
mov edx, 0x50
mov r9d, dword [rsp + 0x198]
mov rcx, r12
mov dword [rsp + 0xe0], eax
sub eax, 1
mov dword [rsp + 0x20], eax
call dbg.sqlite3VdbeAddOp3
mov eax, dword [rsi]
mov r8d, ebx
mov edx, 0x50
mov r9d, dword [rsp + 0x1a0]
mov rcx, r12
mov dword [rsp + 0xe0], eax
sub eax, 1
mov dword [rsp + 0x20], eax
call dbg.sqlite3VdbeAddOp3
xor r8d, r8d
mov edx, 9
mov rcx, r12
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xa0]
call dbg.sqlite3VdbeAddOp3
mov rdx, qword [r12]
mov eax, dword [r12 + 0x90]
cmp byte [rdx + 0x67], 0
je 0x591889
mov dword [0x007e7188], eax
mov eax, dword [rsp + 0xa0]
mov r9d, dword [rsp + 0xc8]
mov rcx, r15
mov r8d, dword [rsp + 0xd4]
mov rdx, qword [rsp + 0xb0]
mov dword [rsp + 0x20], eax
call dbg.windowIfNewPeer
jmp 0x5918b3
mov dword [rsp + 0xc8], 0
mov dword [rsp + 0xd4], 0
mov byte [rsp + 0xe0], 0
jmp 0x5914d0
mov rax, qword [rsp + 0x68]
mov r8d, dword [rax + 0x84]
test r8d, r8d
jne 0x592b35
mov rcx, rax
lea r10, str.first_value
lea r9, str.nth_value
lea r8, str.lead
lea r11, [0x00744ba8]
jmp 0x592b15
cmp rax, r11
je 0x592b35
mov rcx, qword [rcx + 0x40]
test rcx, rcx
je 0x593cc3
mov rax, qword [rcx + 0x50]
mov rax, qword [rax + 0x38]
cmp rax, r9
sete dl
cmp rax, r10
sete bl
or edx, ebx
cmp rax, r8
sete bl
or dl, bl
je 0x592b03
mov dword [rsp + 0x88], 0
mov eax, dword [r15 + 0x38]
lea ebx, [rax + 1]
add eax, r13d
lea ebp, [rax + 1]
add eax, 2
mov dword [r15 + 0x38], eax
mov dword [rsp + 0x188], eax
jmp 0x591407
mov rdi, qword [rsp + 0x68]
cmp byte [rdi + 0x20], 0x59
je 0x593640
mov rdx, qword [rdi + 0x28]
mov rcx, qword [r15]
call sym.windowExprGtZero.isra.0
test eax, eax
je 0x593cf5
mov dword [rsp + 0x184], 1
mov rax, qword [rsp + 0x68]
movzx edx, byte [rax + 0x21]
jmp 0x5913c8
test ecx, ecx
jle 0x592bcd
sub ecx, 1
mov r8, qword [rsp + 0x68]
mov eax, 0x18
shl rcx, 5
add rcx, 0x38
nop dword [rax]
movzx edx, byte [r9 + rax]
and edx, 1
mov byte [r8 + rax], dl
add rax, 0x20
cmp rcx, rax
jne 0x592bb8
mov rcx, qword [rsp + 0x68]
mov r8d, 0xffffffff
mov rdx, r9
call sym.sqlite3ExprListCompare
test eax, eax
sete al
movzx eax, al
mov dword [rsp + 0xb8], eax
jmp 0x591ff2
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x58feb8
mov rax, qword [rax + 0x150]
test rax, rax
je 0x58feb8
add dword [rax + 0x30], 1
mov dword [rax + 0x18], 7
jmp 0x58feb8
movzx ebx, word [rax + 0x20]
xor r9d, r9d
mov edx, 3
mov rcx, rdi
mov r8d, dword [rsp + 0x98]
call dbg.windowCodeOp
xor r9d, r9d
cmp bx, 0x5859
jne 0x59190d
mov r8d, dword [rsp + 0x88]
mov rcx, rdi
mov edx, 2
call dbg.windowCodeOp
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov rcx, rdi
call dbg.windowCodeOp
jmp 0x591935
call dbg.windowCodeOp
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x20], 0x59
je 0x593e0e
mov rax, qword [rsp + 0x68]
mov ebx, dword [r12 + 0x90]
mov r9d, 1
cmp byte [rax + 0x22], 0x5a
je 0x593e56
mov r8d, dword [rsp + 0x98]
mov edx, 1
mov rcx, rdi
call dbg.windowCodeOp
mov r8d, dword [rsp + 0x88]
mov edx, 2
mov rcx, rdi
mov r9d, 1
mov r13d, eax
call dbg.windowCodeOp
mov dword [rsp + 0x88], eax
mov r9d, ebx
xor r8d, r8d
mov edx, 9
mov rcx, r12
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
mov rdx, qword [r12]
mov ebx, dword [r12 + 0x90]
lea rax, [0x007e7180]
cmp byte [rdx + 0x67], 0
jne 0x592d2f
movsxd rax, dword [rsp + 0x88]
imul rax, rax, 0x18
add rax, qword [r12 + 0x88]
mov dword [rax + 8], ebx
mov rcx, rdi
mov r9d, 1
xor r8d, r8d
mov edx, 1
call dbg.windowCodeOp
mov edx, 9
mov r9d, ebx
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov rcx, r12
mov edi, eax
call dbg.sqlite3VdbeAddOp3
mov rdx, qword [r12]
mov eax, dword [r12 + 0x90]
movzx edx, byte [rdx + 0x67]
test dl, dl
jne 0x593aab
movsxd rcx, r13d
mov r8, qword [r12 + 0x88]
imul rcx, rcx, 0x18
mov dword [r8 + rcx + 8], eax
movsxd rcx, edi
imul rcx, rcx, 0x18
add rcx, r8
jmp 0x591a96
xor eax, eax
mov qword [rsi + 0x10], 0
mov rdx, qword [rsp + 0x78]
mov rcx, rdi
mov word [rsi + 2], ax
call dbg.sqlite3ExprAnalyzeAggList
mov rdx, qword [rsp + 0x100]
mov rcx, rdi
call dbg.sqlite3ExprAnalyzeAggList
cmp qword [rsp + 0xa0], 0
jne 0x592146
jmp 0x592156
mov rbp, qword [r14 + 0x40]
test rbp, rbp
je 0x593d30
xor ebp, ebp
jmp 0x592169
mov dword [rsp + 0x20], 0
mov rcx, r12
mov r8d, 1
mov edx, 0x47
call dbg.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x68]
xor r8d, r8d
mov rcx, r12
mov edx, 0x47
mov r9d, dword [rax + 0x88]
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
jmp 0x591af3
mov byte [rsi], 0
movzx eax, byte [r15 + 0x1f]
test al, al
je 0x593dfd
sub eax, 1
mov byte [r15 + 0x1f], al
movzx eax, al
mov r12d, dword [r15 + rax*4 + 0xe8]
mov rdi, qword [rsp + 0x60]
mov dword [rsp + 0x20], r12d
mov r9d, ebx
mov r8d, r13d
mov edx, 0x61
mov rcx, rdi
call dbg.sqlite3VdbeAddOp3
mov r8d, dword [rsi + 4]
mov r9d, r12d
mov rcx, rdi
mov dword [rsp + 0x20], 0
mov edx, 0x8b
call dbg.sqlite3VdbeAddOp3
test r12d, r12d
je 0x592ea3
mov edx, r12d
mov rcx, r15
call sym.sqlite3ReleaseTempReg.part.0
cmp ebx, 1
je 0x593e90
cmp dword [r15 + 0x28], ebx
jge 0x592eba
mov dword [r15 + 0x28], ebx
mov dword [r15 + 0x2c], r13d
mov rcx, qword [rsp + 0x98]
call sym.sqlite3WhereEnd
mov r12d, dword [r15 + 0x34]
lea eax, [r12 + 1]
mov dword [r15 + 0x34], eax
mov dword [rsi + 8], r12d
movzx eax, byte [r15 + 0x1f]
test al, al
je 0x593de6
sub eax, 1
mov byte [r15 + 0x1f], al
movzx eax, al
mov eax, dword [r15 + rax*4 + 0xe8]
mov dword [rsp + 0xa8], eax
mov rdi, qword [rsp + 0x60]
mov dword [rsp + 0x20], ebx
mov r8d, r12d
mov edx, 0x79
mov r9d, dword [rsp + 0xa8]
mov rcx, rdi
call dbg.sqlite3VdbeAddOp3
mov r8d, dword [rsi + 4]
mov edx, 0x22
mov rcx, rdi
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x88]
call dbg.sqlite3VdbeAddOp3
mov byte [rsi + 1], 1
mov dword [rsp + 0x74], 1
cmp qword [r15 + 0x60], 0
je 0x592fa2
lea r13, [rsp + 0x130]
xor eax, eax
mov ecx, 0xc
xor ebx, ebx
mov rdi, r13
rep stosd dword [rdi], eax
lea rax, [dbg.aggregateIdxEprRefToColCallback]
mov qword [rsp + 0x138], rax
cmp dword [rsi + 0x30], 0
jle 0x592fa2
mov rax, rbx
shl rax, 5
add rax, qword [rsi + 0x28]
mov rdx, qword [rax]
test rdx, rdx
je 0x592f99
mov rcx, r13
call dbg.sqlite3WalkExprNN
add rbx, 1
cmp dword [rsi + 0x30], ebx
jg 0x592f7e
mov r9d, dword [rsp + 0xb8]
test r9d, r9d
je 0x593459
mov rax, qword [rsp + 0x58]
test byte [rax + 0x60], 4
jne 0x593459
cmp dword [rsp + 0x74], 0
jne 0x593431
mov rax, qword [rsp + 0x98]
test byte [rax + 0x44], 8
jne 0x593431
mov rax, qword [rsp + 0x60]
mov edi, dword [rax + 0x90]
mov rcx, qword [rsp + 0x68]
mov eax, dword [rcx]
test eax, eax
jle 0x593087
xor ebx, ebx
mov dword [rsp + 0xb8], edi
mov r13d, dword [rsp + 0xcc]
mov rdi, rcx
mov qword [rsp + 0xa8], rbp
mov ebp, dword [rsp + 0x74]
mov qword [rsp + 0x208], r14
mov r14, rbx
mov rbx, qword [rsp + 0x60]
jmp 0x59304e
mov dword [rsp + 0x20], r8d
mov r9d, r14d
mov r8d, r12d
mov edx, 0x5e
mov rcx, rbx
call dbg.sqlite3VdbeAddOp3
mov eax, dword [rdi]
add r14, 1
cmp eax, r14d
jle 0x593070
lea r8d, [r13 + r14]
test ebp, ebp
jne 0x59302b
mov rax, r14
mov byte [rsi], 1
mov rcx, r15
shl rax, 5
mov rdx, qword [rdi + rax + 8]
call sym.sqlite3ExprCode
jmp 0x593043
mov edi, dword [rsp + 0xb8]
mov rbp, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x208]
mov rbx, qword [rsp + 0xc0]
test rbx, rbx
je 0x593097
add dword [rbx], 1
mov r12, qword [rsp + 0x60]
mov r13d, dword [rsp + 0xe4]
mov dword [rsp + 0x20], eax
mov edx, 0x5a
mov r9d, dword [rsp + 0xcc]
mov r8d, r13d
mov rcx, r12
call dbg.sqlite3VdbeAddOp3
mov r8, qword [rsp + 0xc0]
mov r9d, 0xfffffff8
mov rcx, r12
mov edx, eax
call sym.sqlite3VdbeChangeP4
xor r9d, r9d
mov edx, 0xe
mov rcx, r12
mov ebx, dword [r12 + 0x90]
lea r8d, [rbx + 1]
mov dword [rsp + 0x20], r8d
call dbg.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x68]
mov rcx, qword [r15 + 0x10]
mov r9d, r13d
mov r8d, dword [rsp + 0xcc]
mov edx, 0x4f
mov eax, dword [rax]
mov dword [rsp + 0x20], eax
call dbg.sqlite3VdbeAddOp3
mov dword [rsp + 0x20], 0
mov edx, 0xa
mov rcx, r12
mov r9d, dword [rsp + 0xe8]
mov r8d, dword [rsp + 0xe0]
call dbg.sqlite3VdbeAddOp3
mov dword [rsp + 0x20], 0
mov edx, 0x3b
mov rcx, r12
mov r9d, dword [rsp + 0x88]
mov r8d, dword [rsp + 0xd4]
call dbg.sqlite3VdbeAddOp3
mov dword [rsp + 0x20], 0
mov edx, 0xa
mov rcx, r12
mov r9d, dword [rsp + 0xc8]
mov r8d, dword [rsp + 0xbc]
call dbg.sqlite3VdbeAddOp3
mov rcx, qword [r12]
mov edx, dword [r12 + 0x90]
lea rax, [0x007e7180]
cmp byte [rcx + 0x67], 0
jne 0x5931b4
movsxd rax, ebx
imul rax, rax, 0x18
add rax, qword [r12 + 0x88]
mov ebx, dword [rsp + 0xb0]
mov dword [rax + 8], edx
mov r8, rsi
mov rcx, r15
mov r9d, dword [rsp + 0xd0]
mov edx, ebx
call dbg.updateAccumulator
mov r9d, ebx
mov rbx, qword [rsp + 0x60]
mov dword [rsp + 0x20], 0
mov r8d, 1
mov edx, 0x47
mov rcx, rbx
call dbg.sqlite3VdbeAddOp3
mov ecx, dword [rsp + 0x74]
test ecx, ecx
je 0x5939d7
mov r8d, dword [rsi + 4]
mov r9d, edi
mov edx, 0x25
mov rcx, rbx
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x593238
mov rcx, qword [rsp + 0x58]
mov rdx, rax
call dbg.exprListDeleteNN
mov r12, qword [rsp + 0x60]
mov r13d, dword [rsp + 0xe0]
mov dword [rsp + 0x20], 0
mov edx, 0xa
mov ebx, dword [rsp + 0xe8]
mov r8d, r13d
mov rcx, r12
mov r9d, ebx
call dbg.sqlite3VdbeAddOp3
xor r8d, r8d
mov edx, 9
mov rcx, r12
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x88]
call dbg.sqlite3VdbeAddOp3
mov edi, dword [r12 + 0x90]
mov r8d, 1
mov rcx, r12
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xd4]
mov edx, 0x47
call dbg.sqlite3VdbeAddOp3
xor r9d, r9d
mov r8d, r13d
mov edx, 0x43
mov dword [rsp + 0x20], 0
mov rcx, r12
call dbg.sqlite3VdbeAddOp3
mov edx, ebx
mov rcx, r12
call dbg.sqlite3VdbeResolveLabel
mov ebx, dword [r12 + 0x90]
mov edx, 0x3b
mov rcx, r12
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0xb0]
lea r9d, [rbx + 2]
add ebx, 1
call dbg.sqlite3VdbeAddOp3
xor r9d, r9d
mov r8d, r13d
mov edx, 0x43
mov dword [rsp + 0x20], 0
mov rcx, r12
call dbg.sqlite3VdbeAddOp3
mov rdx, rsi
mov rcx, r15
call dbg.finalizeAggFunctions
mov rdx, qword [rsp + 0xa0]
mov r8d, ebx
mov rcx, r15
mov r9d, 0x10
call sym.sqlite3ExprIfFalse
mov dword [rsp + 0x38], edi
mov rdx, r14
mov rcx, r15
mov rax, qword [rsp + 0x210]
mov dword [rsp + 0x30], ebx
lea r9, [rsp + 0x100]
mov r8d, 0xffffffff
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xf4]
mov qword [rsp + 0x20], rax
call dbg.selectInnerLoop
xor r9d, r9d
mov r8d, r13d
mov edx, 0x43
mov dword [rsp + 0x20], 0
mov rcx, r12
call dbg.sqlite3VdbeAddOp3
mov edx, dword [rsp + 0xc8]
mov rcx, r12
call dbg.sqlite3VdbeResolveLabel
mov rdx, rsi
mov rcx, r15
call dbg.resetAccumulator
xor r8d, r8d
mov edx, 0x47
mov rcx, r12
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xb0]
call dbg.sqlite3VdbeAddOp3
xor r9d, r9d
mov edx, 0x43
mov rcx, r12
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0xbc]
call dbg.sqlite3VdbeAddOp3
cmp word [rsp + 0xd8], 0
je 0x59341b
mov eax, dword [rsp + 0xd0]
test eax, eax
je 0x59341b
cmp dword [r15 + 0x30], 0
jne 0x59341b
sub eax, 1
cmp eax, 1
jbe 0x593f79
mov edx, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x60]
call dbg.sqlite3VdbeResolveLabel
jmp 0x591bfb
mov rax, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x118]
mov qword [rsp + 0x100], 0
mov rcx, qword [rax]
lea rdx, [rax + 0x88]
call sym.sqlite3VdbeChangeToNoop.isra.0
mov rax, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x74]
mov edi, dword [rax + 0x90]
test r8d, r8d
je 0x592fea
mov r8d, dword [rsi + 4]
mov dword [rsp + 0x20], r12d
mov edx, 0x85
mov rcx, rax
mov r9d, dword [rsp + 0xa8]
call dbg.sqlite3VdbeAddOp3
jmp 0x592fea
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x20], 0x59
je 0x592877
cmp dword [rsp + 0x98], 0
je 0x592877
mov eax, dword [rsp + 0x88]
mov r9d, dword [rsp + 0x98]
mov edx, 0x6b
mov rcx, r12
mov dword [rsp + 0x20], eax
mov r8d, eax
call dbg.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x21]
jmp 0x5917fa
movzx ebx, word [rax + 0x20]
xor r9d, r9d
mov edx, 3
mov rcx, rdi
mov r8d, dword [rsp + 0x98]
call dbg.windowCodeOp
cmp bx, 0x5859
je 0x593ef3
mov edx, 1
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
call dbg.windowCodeOp
mov rdx, qword [r12]
mov eax, dword [r12 + 0x90]
movzx edx, byte [rdx + 0x67]
jmp 0x591a99
xor r9d, r9d
xor r8d, r8d
mov edx, 3
mov rcx, rdi
call dbg.windowCodeOp
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x22], 0x5a
je 0x591935
cmp byte [rax + 0x20], 0x59
je 0x593f10
mov r8d, dword [rsp + 0x98]
xor r9d, r9d
jmp 0x591910
mov eax, dword [r15 + 0x38]
mov rcx, r13
mov r8d, 1
lea r9d, [rax + 1]
add eax, 2
mov dword [rbp + 0x84], r9d
mov dword [r15 + 0x38], eax
mov dword [rbp + 0x88], eax
mov eax, dword [r15 + 0x34]
lea edx, [rax + 1]
mov dword [r15 + 0x34], edx
mov edx, 0x47
mov dword [rbp + 0x64], eax
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
xor r8d, r8d
mov rcx, r13
mov edx, 0x47
mov r9d, dword [rbp + 0x88]
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
mov r9d, dword [rbp + 0x58]
mov r8d, dword [rbp + 0x64]
mov rcx, r13
mov dword [rsp + 0x20], 0
mov edx, 0x73
call dbg.sqlite3VdbeAddOp3
jmp 0x59117e
mov rcx, qword [rsp + 0x80]
lea r8, [0x00735cda]
mov edx, 0x9b
call sym.sqlite3Expr
mov rcx, r15
mov rdx, rax
call sym.sqlite3ExprListAppend.isra.0.part.0
mov qword [rsp + 0x130], rax
mov rdx, rax
jmp 0x58fd27
imul rdx, rdx, 0x70
mov rsi, qword [rsp + 0x90]
mov edx, dword [rsi + rdx + 0x370]
jmp 0x59126e
mov eax, dword [r15 + 0x38]
lea ebx, [rax + 1]
add eax, r13d
lea edx, [rax + 2]
lea ebp, [rax + 1]
mov dword [rsp + 0x188], edx
jmp 0x5913f9
mov dword [rcx], eax
or r8d, 0xffffffff
call sym.sqlite3ExprListCompare
test eax, eax
jne 0x593689
mov rdx, qword [r14 + 0x48]
test rdx, rdx
je 0x593681
mov rcx, qword [rsp + 0x80]
call dbg.exprListDeleteNN
mov qword [r14 + 0x48], 0
mov rax, qword [rsp + 0x88]
mov dword [rax], ebp
jmp 0x590217
cmp qword [r14 + 0x30], 0
jne 0x594147
mov rcx, qword [r14 + 0x20]
cmp dword [rcx], 1
jne 0x594147
mov rax, qword [r14 + 0x28]
cmp dword [rax], 1
jne 0x594147
cmp qword [rax + 0x30], 0
jne 0x594147
cmp edx, 1
jne 0x5940d4
cmp qword [r14 + 0x40], 0
jne 0x593fd7
mov r13, qword [rax + 0x28]
cmp byte [r13 + 0x3f], 0
jne 0x593fd7
mov rcx, qword [rcx + 8]
cmp byte [rcx], 0xa8
jne 0x593fd7
cmp rsi, qword [rcx + 0x38]
mov rax, qword [rsi + 0x28]
jne 0x593fdb
mov r8, qword [rax + 8]
test byte [r8 + 5], 1
je 0x593fdb
test dword [rcx + 4], 0x1000004
jne 0x593fdb
mov rdx, qword [r13 + 0x60]
mov rcx, qword [r15]
test rdx, rdx
je 0x594242
call sym.sqlite3SchemaToIndex.part.0
mov r12d, eax
mov edi, dword [r15 + 0x34]
mov r10d, dword [r13 + 0x28]
mov edx, r12d
mov rcx, r15
lea eax, [rdi + 1]
mov dword [rsp + 0x68], r10d
mov dword [r15 + 0x34], eax
call dbg.sqlite3CodeVerifySchema
mov rax, qword [r13]
mov r8d, dword [r13 + 0x28]
xor r9d, r9d
mov edx, r12d
mov rcx, r15
mov qword [rsp + 0x20], rax
call dbg.sqlite3TableLock
test byte [r13 + 0x30], 0x80
mov r10d, dword [rsp + 0x68]
je 0x5938e2
mov rax, qword [r13 + 0x10]
mov rbx, rax
test rax, rax
jne 0x5937a5
jmp 0x5938e2
mov rbx, qword [rbx + 0x28]
test rbx, rbx
je 0x5938e2
movzx edx, byte [rbx + 0x64]
and edx, 3
cmp dl, 2
jne 0x593798
mov rdx, qword [r14 + 0x28]
test byte [rdx + 0x48], 1
je 0x5938f7
mov r9d, dword [rbx + 0x58]
mov rdx, rbx
mov rcx, r15
mov dword [rsp + 0x74], r9d
call dbg.sqlite3KeyInfoOfIndex
mov dword [rsp + 0x20], r12d
mov r12, qword [rsp + 0x60]
mov r8d, edi
mov r9d, dword [rsp + 0x74]
mov edx, 0x70
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x28], 1
mov rcx, r12
call dbg.sqlite3VdbeAddOp4Int
mov r10, qword [rsp + 0x68]
test r10, r10
je 0x59381d
mov r9d, 0xfffffff8
mov r8, r10
or edx, 0xffffffff
mov rcx, r12
call sym.sqlite3VdbeChangeP4
mov edx, dword [r15 + 0x38]
mov r8d, edi
lea eax, [rdx + 1]
mov dword [rsi + 0xc], eax
mov eax, dword [rsi + 0x20]
add eax, dword [rsi + 0x30]
add eax, edx
mov edx, 0x62
mov dword [r15 + 0x38], eax
mov r9d, dword [rsi + 0xc]
add r9d, dword [rsi + 0x20]
mov rsi, qword [rsp + 0x60]
mov dword [rsp + 0x20], 0
mov rcx, rsi
call dbg.sqlite3VdbeAddOp3
xor r9d, r9d
mov r8d, edi
mov edx, 0x7a
mov dword [rsp + 0x20], 0
mov rcx, rsi
call dbg.sqlite3VdbeAddOp3
cmp byte [r15 + 0x133], 2
je 0x593fb2
mov esi, dword [rsp + 0x88]
mov rcx, r15
mov rdx, qword [rsp + 0xa0]
mov r9d, 0x10
mov qword [rsp + 0x100], 0
mov r8d, esi
call sym.sqlite3ExprIfFalse
mov dword [rsp + 0x38], esi
xor r9d, r9d
or r8d, 0xffffffff
mov rax, qword [rsp + 0x210]
mov dword [rsp + 0x30], esi
mov rdx, r14
mov rcx, r15
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], rax
call dbg.selectInnerLoop
jmp 0x59341b
mov rax, qword [r14 + 0x28]
test byte [rax + 0x48], 1
jne 0x593925
mov rax, qword [r13 + 0x10]
xor ebx, ebx
test rax, rax
je 0x593925
test byte [rax + 0x64], 4
jne 0x593913
movzx edx, word [rax + 0x5c]
cmp dx, word [r13 + 0x3c]
jge 0x593913
cmp qword [rax + 0x48], 0
je 0x593ea0
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x5938f7
test rbx, rbx
jne 0x5937bf
mov rbx, qword [rsp + 0x60]
mov dword [rsp + 0x20], r12d
mov r9d, r10d
mov r8d, edi
mov dword [rsp + 0x28], 1
mov edx, 0x70
mov rcx, rbx
call dbg.sqlite3VdbeAddOp4Int
mov edx, dword [r15 + 0x38]
mov r8d, edi
mov rcx, rbx
lea eax, [rdx + 1]
mov dword [rsi + 0xc], eax
mov eax, dword [rsi + 0x20]
add eax, dword [rsi + 0x30]
add eax, edx
mov edx, 0x62
mov dword [r15 + 0x38], eax
mov r9d, dword [rsi + 0xc]
add r9d, dword [rsi + 0x20]
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
xor r9d, r9d
mov r8d, edi
mov edx, 0x7a
mov dword [rsp + 0x20], 0
mov rcx, rbx
call dbg.sqlite3VdbeAddOp3
cmp byte [r15 + 0x133], 2
jne 0x593881
lea rax, [0x00734c2e]
mov rdx, rax
mov qword [rsp + 0x20], rdx
lea r8, str.SCAN__s_s_s
xor edx, edx
mov rcx, r15
mov qword [rsp + 0x28], rax
mov r9, qword [r13]
call dbg.sqlite3VdbeExplain
jmp 0x593881
mov rcx, qword [rsp + 0x98]
call sym.sqlite3WhereEnd
mov rax, qword [rsp + 0x60]
mov r8d, dword [rsp + 0xec]
mov rcx, qword [rax]
lea rdx, [rax + 0x88]
call sym.sqlite3VdbeChangeToNoop.isra.0
jmp 0x59321e
mov rax, qword [rsi + 0x28]
cmp dword [rax + 0x10], 0
js 0x5921bc
mov rax, qword [rax]
test rax, rax
je 0x593f9a
test byte [rax + 5], 0x10
jne 0x5921bc
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x90], rax
test rax, rax
je 0x5921bc
mov rbx, qword [rax + 8]
test rbx, rbx
je 0x593a5d
mov rcx, qword [rsp + 0x58]
mov rdx, rbx
xor r9d, r9d
xor r8d, r8d
call dbg.exprDup
mov rbx, rax
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
call dbg.sqlite3ExprListDup
mov r8, rbx
mov rcx, r15
mov rdx, rax
call sym.sqlite3ExprListAppend.isra.0
cmp rax, 1
mov qword [rsp + 0x90], rax
sbb ebx, ebx
not ebx
and bx, 0x500
cmp rax, 1
sbb eax, eax
not eax
and ax, 0x500
mov word [rsp + 0xd8], ax
jmp 0x5921bc
mov dword [0x007e7188], eax
lea rcx, [0x007e7180]
jmp 0x591a96
xor edx, edx
cmp al, 0x56
mov eax, dword [rsp + 0x98]
mov rcx, r12
sete dl
mov r8d, dword [rsp + 0x88]
xor r9d, r9d
mov dword [rsp + 0x20], eax
lea edx, [rdx + rdx + 0x37]
call dbg.sqlite3VdbeAddOp3
mov rdx, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x160]
xor r8d, r8d
mov ebx, eax
call sym.windowAggFinal.isra.0
xor r9d, r9d
mov edx, 0x24
mov rcx, r12
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x194]
call dbg.sqlite3VdbeAddOp3
mov rcx, rdi
call dbg.windowReturnOneRow
xor r9d, r9d
mov edx, 0x92
mov rcx, r12
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x194]
call dbg.sqlite3VdbeAddOp3
xor r8d, r8d
mov edx, 9
mov rcx, r12
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xa0]
call dbg.sqlite3VdbeAddOp3
mov rcx, qword [r12]
mov edx, dword [r12 + 0x90]
lea rax, [0x007e7180]
cmp byte [rcx + 0x67], 0
jne 0x593b90
movsxd rax, ebx
imul rax, rax, 0x18
add rax, qword [r12 + 0x88]
mov dword [rax + 8], edx
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x21]
jmp 0x5917f2
mov dword [rsp + 0x20], 1
xor r9d, r9d
mov edx, 0x3b
mov rcx, r12
mov r8d, dword [rsp + 0x98]
call dbg.sqlite3VdbeAddOp3
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov rcx, rdi
mov ebx, eax
call dbg.windowCodeOp
xor r9d, r9d
mov edx, 2
mov rcx, rdi
mov r8d, dword [rsp + 0x88]
call dbg.windowCodeOp
mov rcx, qword [r12]
mov edx, dword [r12 + 0x90]
lea rax, [0x007e7180]
cmp byte [rcx + 0x67], 0
jne 0x593c16
movsxd rax, ebx
imul rax, rax, 0x18
add rax, qword [r12 + 0x88]
mov dword [rax + 8], edx
jmp 0x591935
cmp dword [rsp + 0x98], 0
je 0x59190a
mov eax, dword [r15 + 0x44]
mov edx, 0x39
mov rcx, rdi
mov ebx, dword [r12 + 0x90]
mov r9d, dword [rsp + 0x98]
mov r8d, dword [rsp + 0x194]
lea r13d, [rax - 1]
mov eax, dword [rsp + 0x19c]
mov dword [r15 + 0x44], r13d
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], r13d
call dbg.windowCodeRangeTest
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov rcx, rdi
call dbg.windowCodeOp
mov r8d, dword [rsp + 0x88]
xor r9d, r9d
mov edx, 2
mov rcx, rdi
call dbg.windowCodeOp
mov rcx, r12
mov r9d, ebx
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov edx, 9
call dbg.sqlite3VdbeAddOp3
mov edx, r13d
mov rcx, r12
call dbg.sqlite3VdbeResolveLabel
jmp 0x591935
mov rax, qword [rsp + 0x68]
cmp byte [rax + 0x22], 0x58
je 0x593eb7
mov dword [rsp + 0x184], 1
jmp 0x592b35
mov dword [rsp + 0xa8], 0
xor r12d, r12d
jmp 0x592f4c
movzx edx, byte [rdi + 0x21]
jmp 0x5913c8
and dword [r14 + 4], 0xfffffffe
mov rdx, qword [rsp + 0x78]
xor r8d, r8d
mov rcx, qword [rsp + 0x58]
call dbg.sqlite3ExprListDup
or dword [r14 + 4], 8
mov qword [rsp + 0x68], rax
mov qword [r14 + 0x38], rax
mov byte [rsp + 0xf4], 2
jmp 0x592724
cmp dword [rsi + 0x30], 1
jne 0x592169
mov rax, qword [rsi + 0x28]
mov rax, qword [rax]
mov r9, qword [rax + 0x20]
test r9, r9
je 0x592169
mov r13d, dword [r9]
cmp r13d, 1
jne 0x592169
test byte [rax + 7], 1
jne 0x592169
mov rcx, qword [rsp + 0x58]
test byte [rcx + 0x62], 1
jne 0x592169
mov r10, qword [rax + 8]
xor edx, edx
lea r11, [0x00738d4d]
lea rcx, [0x00747040]
jmp 0x593d9d
movzx r8d, byte [rcx + r8]
cmp byte [rcx + rax], r8b
jne 0x594201
add rdx, 1
movzx eax, byte [r10 + rdx]
movzx r8d, byte [r11 + rdx]
cmp eax, r8d
jne 0x593d8a
test eax, eax
jne 0x593d99
mov rcx, qword [r9 + 8]
call dbg.sqlite3ExprCanBeNull
test eax, eax
mov eax, 2
cmovne ebx, eax
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
mov rdx, r9
call dbg.sqlite3ExprListDup
mov rbp, rax
test rax, rax
je 0x593dde
mov byte [rax + 0x18], bl
mov ebx, r13d
jmp 0x592169
mov eax, dword [r15 + 0x38]
add eax, 1
mov dword [rsp + 0xa8], eax
mov dword [r15 + 0x38], eax
jmp 0x592efe
mov eax, dword [r15 + 0x38]
lea r12d, [rax + 1]
mov dword [r15 + 0x38], r12d
jmp 0x592e5a
mov r8d, dword [rsp + 0x88]
mov r9d, 1
mov edx, 2
mov rcx, rdi
mov ebx, dword [r12 + 0x90]
call dbg.windowCodeOp
xor r8d, r8d
mov edx, 1
mov rcx, rdi
mov r9d, 1
mov dword [rsp + 0x88], eax
call dbg.windowCodeOp
mov r13d, eax
jmp 0x592ce7
mov r8d, dword [rsp + 0x88]
mov edx, 1
mov rcx, rdi
call dbg.windowCodeOp
xor r8d, r8d
mov edx, 2
mov rcx, rdi
mov r9d, 1
mov r13d, eax
call dbg.windowCodeOp
mov dword [rsp + 0x88], eax
jmp 0x592ce7
mov edx, r13d
mov rcx, r15
call sym.sqlite3ReleaseTempRange.part.0
jmp 0x592eba
test rbx, rbx
je 0x593eaf
cmp dx, word [rbx + 0x5c]
jge 0x593913
mov rbx, rax
jmp 0x593913
mov rdi, qword [rsp + 0x68]
cmp byte [rdi + 0x20], 0x59
je 0x592b35
mov rdx, qword [rdi + 0x30]
mov rcx, qword [r15]
call sym.windowExprGtZero.isra.0
test eax, eax
je 0x593cf5
mov dword [rsp + 0x184], 3
mov rax, qword [rsp + 0x68]
movzx edx, byte [rax + 0x21]
jmp 0x5913c8
mov r8d, dword [rsp + 0x88]
xor r9d, r9d
mov edx, 2
mov rcx, rdi
call dbg.windowCodeOp
jmp 0x59350a
mov eax, dword [r15 + 0x44]
mov r9d, dword [rsp + 0x98]
mov edx, 0x39
mov rcx, rdi
mov r8d, dword [rsp + 0x194]
lea r13d, [rax - 1]
mov eax, dword [rsp + 0x19c]
mov dword [r15 + 0x44], r13d
mov ebx, dword [r12 + 0x90]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], r13d
call dbg.windowCodeRangeTest
xor r9d, r9d
mov edx, 2
mov rcx, rdi
mov r8d, dword [rsp + 0x88]
call dbg.windowCodeOp
xor r9d, r9d
xor r8d, r8d
mov edx, 1
jmp 0x593c90
mov rax, qword [rsi + 0x28]
mov rcx, qword [r15 + 0x10]
mov edx, dword [rsp + 0xd0]
mov r9d, dword [rax + 0x14]
mov r8d, dword [rax + 0x10]
call sym.fixDistinctOpenEph.isra.0.part.0
jmp 0x59341b
mov qword [rsp + 0x90], 0
jmp 0x5921bc
mov ebx, edi
jmp 0x59248f
test byte [r13 + 0x30], 0x80
je 0x593fc8
movzx eax, byte [rbx + 0x64]
and eax, 3
cmp al, 2
je 0x5939a9
mov rax, qword [rbx]
lea rdx, str._USING_COVERING_INDEX
jmp 0x5939b3
mov rax, qword [rsi + 0x28]
cmp dword [rsi + 0x24], 0
jne 0x5940e6
xor r13d, r13d
cmp dword [rax + 0x10], 0
js 0x59400a
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
cmp rax, 1
mov qword [rsp + 0x68], rax
sbb r13d, r13d
not r13d
and r13w, 0x500
mov ecx, dword [r15 + 0x38]
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, r15
mov dword [r15 + 0x38], eax
call dbg.resetAccumulator
movzx eax, bl
mov qword [rsp + 0x28], r14
mov rdx, r12
or eax, r13d
mov dword [rsp + 0x38], 0
mov r9, rbp
mov rcx, r15
movzx eax, ax
mov r8, qword [rsp + 0x98]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
call sym.sqlite3WhereBegin
mov r12, rax
test rax, rax
je 0x592951
movzx r13d, byte [rax + 0x43]
mov edx, dword [rsp + 0x74]
mov r8, rsi
mov rcx, r15
mov r9d, r13d
call dbg.updateAccumulator
test r13d, r13d
je 0x5940a9
mov rax, qword [rsi + 0x28]
test rax, rax
je 0x5940a9
cmp dword [r15 + 0x30], 0
jne 0x5940a9
lea edx, [r13 - 1]
cmp edx, 1
jbe 0x59426d
cmp dword [rsp + 0x74], 0
jne 0x5941d1
test bl, bl
jne 0x594166
mov rcx, r12
call sym.sqlite3WhereEnd
mov rdx, rsi
mov rcx, r15
call dbg.finalizeAggFunctions
jmp 0x593881
cmp dword [rsi + 0x24], 0
je 0x594156
test edx, edx
jle 0x594286
mov rax, qword [rsi + 0x28]
xor ecx, ecx
mov r8, qword [rax]
test byte [r8 + 7], 1
jne 0x5940fd
mov r8, qword [rax + 8]
test byte [r8 + 4], 0x20
jne 0x59415e
add ecx, 1
add rax, 0x20
cmp ecx, edx
jl 0x5940e8
xor r13d, r13d
cmp edx, ecx
jne 0x59400a
mov eax, dword [r15 + 0x38]
mov dword [rsp + 0x20], 0
mov edx, 0x47
xor r8d, r8d
mov rcx, qword [rsp + 0x60]
add eax, 1
mov dword [r15 + 0x38], eax
mov r9d, eax
mov dword [rsp + 0x74], eax
call dbg.sqlite3VdbeAddOp3
mov edx, dword [rsi + 0x30]
jmp 0x59400a
cmp dword [rsi + 0x24], 0
jne 0x5940da
cmp edx, 1
je 0x5941f8
mov dword [rsp + 0x74], 0
xor r13d, r13d
jmp 0x59400a
test byte [r12 + 0x44], 4
je 0x5940bc
cmp byte [r12 + 0x41], 0
je 0x5940bc
movzx eax, byte [r12 + 0x40]
sub eax, 1
cdqe
jmp 0x5941a5
imul rcx, rax, 0x70
sub rax, 1
mov rcx, qword [r12 + rcx + 0x3c0]
test byte [rcx + 0x38], 4
jne 0x59428d
mov edx, eax
cmp rax, 0xffffffffffffffff
jne 0x59418b
mov r9d, dword [r12 + 0x34]
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 9
mov rcx, qword [rsp + 0x60]
call dbg.sqlite3VdbeAddOp3
jmp 0x5940bc
mov r9d, dword [rsp + 0x74]
mov rcx, qword [rsp + 0x60]
mov edx, 0x47
mov dword [rsp + 0x20], 0
mov r8d, 1
call dbg.sqlite3VdbeAddOp3
jmp 0x5940b4
mov rax, qword [rsi + 0x28]
jmp 0x593fe5
xor edx, edx
lea r11, [0x00738d51]
jmp 0x59421f
movzx r8d, byte [rcx + r8]
cmp byte [rcx + rax], r8b
jne 0x592169
add rdx, 1
movzx eax, byte [r10 + rdx]
movzx r8d, byte [r11 + rdx]
cmp eax, r8d
jne 0x59420c
test eax, eax
jne 0x59421b
mov ebx, 1
mov r13d, 2
jmp 0x593dc3
mov r12d, 0xffff8000
jmp 0x59373a
mov r9, qword [rsp + 0x68]
lea r8, [sym.sqlite3DbFree]
mov rdx, r12
mov rcx, r15
call sym.sqlite3ParserAddCleanup.isra.0
mov ebx, dword [r14 + 4]
jmp 0x58fb1f
mov rcx, qword [r15 + 0x10]
mov r9d, dword [rax + 0x14]
mov edx, r13d
mov r8d, dword [rax + 0x10]
call sym.fixDistinctOpenEph.isra.0.part.0
jmp 0x5940a9
xor ecx, ecx
jmp 0x594108
movsxd rax, edx
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
mov edx, 9
imul rax, rax, 0x70
mov dword [rsp + 0x20], 0
mov r9d, dword [r12 + rax + 0x370]
call dbg.sqlite3VdbeAddOp3
jmp 0x5940bc