Function at 0x5a77f0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x158
mov rax, qword [rcx]
movdqu xmm2, xmmword [r8 + 0x10]
movdqu xmm0, xmmword [r8]
mov rsi, qword [rcx + 0x10]
mov r12, qword [rdx + 0x50]
mov qword [rsp + 0x60], rax
mov rax, qword [r8 + 0x20]
mov r15, rcx
mov rbx, rdx
mov qword [rsp + 0x1b0], r8
mov qword [rsp + 0xe0], rax
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0x50], xmm2
movups xmmword [rsp + 0xd0], xmm2
test rsi, rsi
jne 0x5a785a
call sym.sqlite3GetVdbe.part.0
mov rsi, rax
cmp byte [rsp + 0xc0], 0xc
je 0x5a83c8
mov ecx, dword [rbx + 4]
test ch, 4
jne 0x5a8220
and ch, 0x20
je 0x5a7893
mov rax, rbx
jmp 0x5a788a
test byte [rax + 5], 0x20
je 0x5a8308
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x5a7880
mov r13, qword [rbx + 0x48]
test r13, r13
jne 0x5a7a80
cmp qword [r12 + 0x50], 0
je 0x5a8e60
movzx eax, byte [rbx]
cmp al, 0x87
je 0x5a8790
add eax, 0x7a
test al, 0xfd
je 0x5a8920
mov edi, dword [r15 + 0x34]
xor r9d, r9d
mov edx, 0x76
mov rcx, rsi
mov dword [rsp + 0x20], 0
lea eax, [rdi + 2]
mov r8d, edi
mov dword [r15 + 0x34], eax
call dbg.sqlite3VdbeAddOp3
mov dword [rbx + 0x14], eax
mov rax, rbx
nop
mov rdx, rax
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x5a78f0
or dword [rdx + 4], 0x20
lea rax, [rsp + 0x120]
mov rdx, r12
mov rcx, r15
mov r8, rax
mov byte [rsp + 0x120], 1
mov dword [rsp + 0x124], edi
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x128], 0
mov dword [rsp + 0x130], 0
mov qword [rsp + 0x70], rax
call dbg.sqlite3Select
mov r13d, eax
test eax, eax
jne 0x5a8770
lea ebp, [rdi + 1]
xor r9d, r9d
mov edx, 0x76
mov rcx, rsi
mov dword [rsp + 0x20], 0
mov r8d, ebp
call dbg.sqlite3VdbeAddOp3
mov r14, qword [rbx + 0x60]
mov qword [rbx + 0x50], 0
lea r9, str.EXCEPT
mov dword [rbx + 0x18], eax
movzx eax, byte [rbx]
mov qword [rbx + 0x60], 0
mov dword [rsp + 0x124], ebp
cmp al, 0x88
je 0x5a79c1
lea r9, str.INTERSECT
cmp al, 0x89
je 0x5a79c1
cmp al, 0x87
lea r9, str.UNION
lea rax, str.UNION_ALL
cmove r9, rax
lea r8, str._s_USING_TEMP_B_TREE
mov edx, 1
mov rcx, r15
call dbg.sqlite3VdbeExplain
mov r8, qword [rsp + 0x70]
mov rdx, rbx
mov rcx, r15
call dbg.sqlite3Select
mov r13d, eax
mov rax, qword [rbx + 0x50]
mov qword [rbx + 0x50], r12
mov qword [rsp + 0x50], rax
movzx eax, word [r12 + 2]
cmp word [rbx + 2], ax
jle 0x5a7a05
mov word [rbx + 2], ax
mov rdx, qword [rbx + 0x60]
test rdx, rdx
je 0x5a7a18
mov rcx, qword [rsp + 0x60]
call dbg.sqlite3ExprDeleteNN
mov qword [rbx + 0x60], r14
test r13d, r13d
je 0x5a8feb
nop dword [rax]
cmp qword [rbx + 0x58], 0
je 0x5a8e18
mov eax, dword [r15 + 0x30]
test eax, eax
jne 0x5a8480
test byte [rbx + 4], 0x20
je 0x5a8480
mov rax, qword [rbx + 0x20]
mov rcx, qword [rsp + 0x60]
mov r8d, 1
mov ebp, dword [rax]
mov edx, ebp
call dbg.sqlite3KeyInfoAlloc
mov r12, rax
test rax, rax
jne 0x5a835e
mov r13d, 7
jmp 0x5a8480
mov eax, dword [r15 + 0x44]
mov r14, qword [r15]
mov r12, qword [r15 + 0x10]
lea esi, [rax - 1]
sub eax, 2
mov dword [r15 + 0x44], eax
mov dword [rsp + 0x50], esi
movzx esi, byte [rbx]
mov dword [rsp + 0x7c], eax
mov eax, esi
mov byte [rsp + 0x60], sil
mov dword [rsp + 0x68], esi
mov esi, dword [r13]
cmp al, 0x87
je 0x5a8f20
lea rax, [rsp + 0x120]
cmp byte [r14 + 0x67], 0
mov edi, 1
mov qword [rsp + 0x70], rax
mov rbp, qword [rsp + 0x70]
jne 0x5a7b11
nop dword [rax]
mov rax, qword [rbx + 0x20]
cmp dword [rax], edi
jl 0x5a7b11
lea rax, [r13 + 8]
test esi, esi
jle 0x5a86e0
xor edx, edx
jmp 0x5a7aff
add edx, 1
add rax, 0x20
cmp edx, esi
je 0x5a86f0
movzx ecx, word [rax + 0x18]
cmp ecx, edi
jne 0x5a7af0
add edi, 1
cmp byte [r14 + 0x67], 0
je 0x5a7ad8
lea edx, [rsi + 1]
mov rcx, r14
movsxd rdx, edx
shl rdx, 2
call sym.sqlite3DbMallocRawNN
mov edi, dword [rsp + 0x68]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0xb8], edi
sub edi, 0x86
mov dword [rsp + 0x90], edi
test rax, rax
je 0x5a8b10
mov rax, qword [rsp + 0x88]
mov dword [rax], esi
test esi, esi
jle 0x5a7b87
lea eax, [rsi - 1]
mov r8, qword [rsp + 0x88]
lea rcx, [rax*4 + 4]
xor eax, eax
nop
movzx edx, word [r13 + rax*8 + 0x20]
sub edx, 1
mov dword [r8 + rax + 4], edx
add rax, 4
cmp rcx, rax
jne 0x5a7b70
mov rdx, rbx
mov rcx, r15
call sym.multiSelectOrderByKeyInfo.constprop.0
cmp dword [rsp + 0x68], 0x87
mov qword [rsp + 0xa8], rax
jne 0x5a8b1c
mov rax, qword [rbx + 0x50]
xor edi, edi
lea r10, [rbx + 0x20]
mov dword [rsp + 0xb0], 0
mov qword [rsp + 0x80], rbx
mov rbp, rax
test byte [r14 + 0x62], 0x20
je 0x5a8f80
mov rcx, qword [r15]
xor r8d, r8d
mov rdx, r13
mov qword [rsp + 0x60], r10
mov rax, qword [rsp + 0x80]
mov qword [rax + 0x50], 0
mov qword [rbp + 0x58], 0
call dbg.sqlite3ExprListDup
mov r10, qword [rsp + 0x60]
lea r9, str.ORDER
mov rcx, r15
mov qword [rbp + 0x48], rax
mov r8, qword [rbx + 0x48]
mov rdx, r10
call sym.sqlite3ResolveOrderGroupBy.isra.0
mov r8, qword [rbp + 0x48]
lea rdx, [rbp + 0x20]
mov rcx, r15
lea r9, str.ORDER
call sym.sqlite3ResolveOrderGroupBy.isra.0
mov r8d, dword [rsp + 0x50]
mov rdx, rbx
mov rcx, r15
call dbg.computeLimitRegisters
cmp dword [rsp + 0x68], 0x87
mov eax, dword [rbx + 8]
jne 0x5a7c59
test eax, eax
jne 0x5a914d
mov dword [rsp + 0x98], 0
mov dword [rsp + 0xa0], 0
mov rdx, qword [rbx + 0x60]
test rdx, rdx
je 0x5a7c80
mov rcx, r14
call dbg.sqlite3ExprDeleteNN
mov eax, dword [r15 + 0x38]
mov qword [rbx + 0x60], 0
lea r9, str.EXCEPT
mov byte [rsp + 0xf0], 0xd
lea ecx, [rax + 2]
lea r13d, [rax + 1]
mov qword [rsp + 0x108], 0
lea edx, [rax + 3]
add eax, 4
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0xb4], eax
mov dword [r15 + 0x38], eax
movzx eax, byte [rbx]
mov dword [rsp + 0x94], edx
mov dword [rsp + 0xf4], r13d
mov qword [rsp + 0xf8], 0
mov dword [rsp + 0x100], 0
mov byte [rsp + 0x120], 0xd
mov dword [rsp + 0x124], ecx
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x128], 0
mov dword [rsp + 0x130], 0
cmp al, 0x88
je 0x5a7d41
lea r9, str.INTERSECT
cmp al, 0x89
je 0x5a7d41
cmp al, 0x87
lea r9, str.UNION
lea rax, str.UNION_ALL
cmove r9, rax
lea r8, str.MERGE___s_
mov edx, 1
mov rcx, r15
call dbg.sqlite3VdbeExplain
xor r9d, r9d
mov r8d, r13d
mov edx, 0xb
mov eax, dword [r12 + 0x90]
mov rcx, r12
add eax, 1
mov dword [rsp + 0x20], eax
call dbg.sqlite3VdbeAddOp3
mov ecx, dword [rsp + 0xa0]
mov edx, 1
lea r8, str.LEFT
mov dword [rsp + 0xbc], eax
mov dword [rbp + 8], ecx
mov rcx, r15
call dbg.sqlite3VdbeExplain
lea r8, [rsp + 0xf0]
mov rdx, rbp
mov rcx, r15
call dbg.sqlite3Select
xor r9d, r9d
mov edx, 0x44
mov rcx, r12
mov dword [rsp + 0x20], 0
mov r8d, r13d
call dbg.sqlite3VdbeAddOp3
mov rax, qword [r12 + 0x18]
mov byte [rax + 0x1f], 0
mov rcx, qword [r12]
mov dword [rax + 0x28], 0
mov edx, dword [r12 + 0x90]
lea rax, [0x007e7180]
cmp byte [rcx + 0x67], 0
jne 0x5a7e0b
movsxd rax, dword [rsp + 0xbc]
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov edx, 0xb
mov eax, dword [r12 + 0x90]
mov rcx, r12
add eax, 1
mov dword [rsp + 0x20], eax
call dbg.sqlite3VdbeAddOp3
mov r9, qword [rbx + 8]
mov edx, 1
mov rcx, r15
mov dword [rsp + 0xbc], eax
mov eax, dword [rsp + 0x98]
lea r8, str.RIGHT
mov dword [rbx + 0xc], 0
mov dword [rbx + 8], eax
mov qword [rsp + 0xa0], r9
call dbg.sqlite3VdbeExplain
mov r8, qword [rsp + 0x70]
mov rdx, rbx
mov rcx, r15
call dbg.sqlite3Select
mov r9, qword [rsp + 0xa0]
mov r8d, dword [rsp + 0x60]
mov rcx, r12
mov edx, 0x44
mov qword [rbx + 8], r9
xor r9d, r9d
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
lea rdx, [rbx + 8]
lea r8, [rbx + 0xc]
mov rcx, r15
mov rax, qword [r12 + 0x18]
lea r9, [rsp + 0xfc]
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x98], r8
mov byte [rax + 0x1f], 0
mov dword [rax + 0x28], 0
mov eax, dword [rsp + 0x50]
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x100]
mov qword [rsp + 0x20], rax
call sym.generateOutputSubroutine.isra.0
cmp dword [rsp + 0x90], 1
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x98]
mov r10d, eax
jbe 0x5a8d10
mov dword [rsp + 0x98], 0
test rdi, rdi
je 0x5a7f4c
sub dword [rdi], 1
je 0x5a8f08
mov eax, dword [rsp + 0xb8]
mov edi, dword [rsp + 0x50]
sub eax, 0x88
mov dword [rsp + 0xb0], edi
mov dword [rsp + 0x70], edi
cmp eax, 1
ja 0x5a8d80
cmp dword [rsp + 0x68], 0x89
jne 0x5a8bf0
movzx eax, word [rbp + 2]
cmp word [rbx + 2], ax
jle 0x5a7f8c
mov word [rbx + 2], ax
mov dword [rsp + 0x20], 0
mov r9d, r10d
mov edx, 0xa
mov rcx, r12
mov r8d, dword [rsp + 0x94]
call dbg.sqlite3VdbeAddOp3
mov ebx, dword [rsp + 0x70]
mov r8d, r13d
mov rcx, r12
mov dword [rsp + 0x20], 0
mov edx, 0xc
mov edi, eax
mov r9d, ebx
call dbg.sqlite3VdbeAddOp3
mov r9d, dword [rsp + 0x7c]
xor r8d, r8d
mov rcx, r12
mov dword [rsp + 0x20], 0
mov edx, 9
call dbg.sqlite3VdbeAddOp3
lea eax, [rdi + 1]
mov dword [rsp + 0x94], eax
mov eax, dword [r12 + 0x90]
cmp dword [rsp + 0x90], 1
mov dword [rsp + 0x68], eax
jbe 0x5a8ed8
mov r8d, dword [rsp + 0x60]
mov r9d, ebx
mov edx, 0xc
mov rcx, r12
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
mov r9d, dword [rsp + 0x7c]
xor r8d, r8d
mov rcx, r12
mov dword [rsp + 0x20], 0
mov edx, 9
call dbg.sqlite3VdbeAddOp3
mov rcx, qword [r12]
mov edx, dword [r12 + 0x90]
lea rax, [0x007e7180]
cmp byte [rcx + 0x67], 0
jne 0x5a8079
movsxd rax, dword [rsp + 0xbc]
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov r8d, r13d
mov edx, 0xc
mov rcx, r12
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xb0]
call dbg.sqlite3VdbeAddOp3
mov r8d, dword [rsp + 0x60]
mov r9d, ebx
mov rcx, r12
mov dword [rsp + 0x20], 0
mov edx, 0xc
call dbg.sqlite3VdbeAddOp3
mov edx, dword [rsp + 0x7c]
mov rcx, r12
call dbg.sqlite3VdbeResolveLabel
xor r9d, r9d
xor r8d, r8d
mov edx, 0x59
mov dword [rsp + 0x20], 0
mov rcx, r12
call dbg.sqlite3VdbeAddOp3
mov r8, qword [rsp + 0x88]
mov r9d, 0xfffffff2
mov rcx, r12
mov edx, eax
call sym.sqlite3VdbeChangeP4
mov dword [rsp + 0x20], esi
mov edx, 0x5a
mov rcx, r12
mov r9d, dword [rsp + 0x12c]
mov r8d, dword [rsp + 0xfc]
call dbg.sqlite3VdbeAddOp3
mov r8, qword [rsp + 0xa8]
mov r9d, 0xfffffff8
mov rcx, r12
mov edx, eax
call sym.sqlite3VdbeChangeP4
movsxd rax, dword [r12 + 0x90]
test eax, eax
jle 0x5a8158
mov rcx, qword [r12 + 0x88]
lea rax, [rax + rax*2]
mov r8d, 1
lea rax, [rcx + rax*8]
mov word [rax - 0x16], r8w
mov eax, dword [rsp + 0x68]
mov r9d, edi
mov edx, 0xe
mov rcx, r12
mov r8d, dword [rsp + 0x94]
mov dword [rsp + 0x20], eax
call dbg.sqlite3VdbeAddOp3
mov edx, dword [rsp + 0x50]
mov rcx, r12
call dbg.sqlite3VdbeResolveLabel
mov rax, qword [rsp + 0x80]
mov r9, qword [rax + 0x50]
test r9, r9
je 0x5a81ab
lea rdx, [r15 + 0xc8]
lea r8, [dbg.sqlite3SelectDeleteGeneric]
mov rcx, r15
call sym.sqlite3ParserAddCleanup.isra.0
mov rax, qword [rsp + 0x80]
mov rdx, qword [rbp + 0x48]
mov qword [rax + 0x50], rbp
mov qword [rbp + 0x58], rax
test rdx, rdx
je 0x5a81cc
mov rcx, r14
call dbg.exprListDeleteNN
movsxd rax, dword [r15 + 0x140]
mov qword [rbp + 0x48], 0
test eax, eax
je 0x5a8206
mov rcx, qword [r15 + 0x10]
lea rdx, [0x007e7180]
mov r8, qword [rcx]
cmp byte [r8 + 0x67], 0
jne 0x5a8203
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x88]
lea rdx, [rax + rdx*8]
mov eax, dword [rdx + 8]
mov edx, dword [r15 + 0x30]
xor r13d, r13d
mov dword [r15 + 0x140], eax
test edx, edx
setne r13b
jmp 0x5a84b4
mov rbp, qword [rbx + 0x60]
xor edx, edx
test rbp, rbp
sete dl
cmp qword [rbx + 0x70], 0
jne 0x5a7874
mov rax, rbx
mov r14d, 1
jmp 0x5a8256
add r14d, edx
cmp qword [rax + 0x70], 0
jne 0x5a7874
mov r13, rax
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x5a8248
cmp r14d, 1
lea rdx, [0x007394aa]
mov r9d, r14d
mov rcx, r15
lea rax, [0x00734c2e]
lea r8, str.SCAN__d_CONSTANT_ROW_s
cmovne rax, rdx
xor edx, edx
lea rdi, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
call dbg.sqlite3VdbeExplain
nop dword [rax]
mov qword [rsp + 0x28], rdi
xor r9d, r9d
mov rdx, r13
mov rcx, r15
mov dword [rsp + 0x38], 1
mov r8d, 0xffffffff
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x20], 0
call dbg.selectInnerLoop
test rbp, rbp
jne 0x5a82e5
mov word [r13 + 2], r14w
mov r13, qword [r13 + 0x58]
test r13, r13
jne 0x5a82a0
mov rax, qword [rsp + 0xcc]
mov rsi, qword [rsp + 0x1b0]
xor r13d, r13d
mov qword [rsi + 0xc], rax
jmp 0x5a84b4
cmp qword [rbx + 0x70], 0
je 0x5a84d0
lea rdx, str.cannot_use_window_functions_in_recursive_queries
mov rcx, r15
call dbg.sqlite3ErrorMsg
mov r13d, dword [r15 + 0x30]
test r13d, r13d
jne 0x5a82e5
test byte [rbx + 4], 0x20
je 0x5a82e5
mov rax, qword [rbx + 0x20]
mov rcx, qword [rsp + 0x60]
mov r8d, 1
mov ebp, dword [rax]
mov edx, ebp
call dbg.sqlite3KeyInfoAlloc
mov r12, rax
test rax, rax
je 0x5a945d
mov qword [rsp + 0x50], 0
test ebp, ebp
jle 0x5a8410
xor edi, edi
lea rax, [rbx + 0x20]
mov qword [rsp + 0x68], rsi
lea r14d, [rbp - 1]
mov rsi, qword [rsp + 0x60]
mov dword [rsp + 0x60], ebp
mov rbp, rdi
mov rdi, rax
jmp 0x5a839c
lea rax, [rbp + 1]
cmp r14, rbp
je 0x5a8400
mov rbp, rax
mov r8, qword [rbx + 0x50]
mov r9d, ebp
mov rdx, rdi
mov rcx, r15
call sym.multiSelectCollSeq.isra.0
mov qword [r12 + rbp*8 + 0x20], rax
test rax, rax
jne 0x5a8390
mov rax, qword [rsi + 0x10]
mov qword [r12 + rbp*8 + 0x20], rax
jmp 0x5a8390
mov rax, qword [rbx + 0x20]
mov dword [rsp + 0x20], 0
mov edx, 0x76
mov rcx, rsi
mov r8d, dword [rsp + 0xc4]
mov r9d, dword [rax]
call dbg.sqlite3VdbeAddOp3
mov byte [rsp + 0xc0], 0xe
jmp 0x5a7868
mov rsi, qword [rsp + 0x68]
mov ebp, dword [rsp + 0x60]
nop dword [rax]
lea rdi, [rbx + 0x14]
lea r14, [rbx + 0x1c]
mov edx, dword [rdi]
test edx, edx
js 0x5a8469
mov rcx, qword [rsi]
lea rax, [0x007e7180]
cmp byte [rcx + 0x67], 0
jne 0x5a8440
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], ebp
mov r9d, 0xfffffff8
mov r8, r12
mov rcx, rsi
add dword [r12], 1
add rdi, 4
call sym.sqlite3VdbeChangeP4
mov dword [rdi - 4], 0xffffffff
cmp r14, rdi
jne 0x5a8418
mov rbx, qword [rbx + 0x50]
test rbx, rbx
jne 0x5a8410
sub dword [r12], 1
je 0x5a939c
nop dword [rax]
mov rax, qword [rsp + 0xcc]
mov rsi, qword [rsp + 0x1b0]
mov r9, qword [rsp + 0x50]
mov qword [rsi + 0xc], rax
test r9, r9
je 0x5a84b4
lea rdx, [r15 + 0xc8]
lea r8, [dbg.sqlite3SelectDeleteGeneric]
mov rcx, r15
call sym.sqlite3ParserAddCleanup.isra.0
mov eax, r13d
add rsp, 0x158
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rbx + 0x20]
mov rdi, qword [rbx + 0x28]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x21
mov rcx, r15
mov r12, qword [r15 + 0x10]
mov ebp, dword [rax]
mov qword [rsp + 0x20], 0
call sym.sqlite3AuthCheck
mov r13d, eax
test eax, eax
jne 0x5a8322
mov eax, dword [r15 + 0x44]
mov r10d, 0x140
mov rcx, r15
mov rdx, rbx
sub eax, 1
mov dword [r15 + 0x44], eax
mov r8d, eax
mov word [rbx + 2], r10w
mov dword [rsp + 0x7c], eax
call dbg.computeLimitRegisters
mov rax, qword [rbx + 0x60]
mov qword [rbx + 0x60], 0
mov qword [rsp + 0x80], rax
mov eax, dword [rbx + 8]
mov dword [rsp + 0x90], eax
mov eax, dword [rbx + 0xc]
mov qword [rbx + 8], 0
mov ecx, dword [rdi]
mov dword [rsp + 0x88], eax
mov rax, qword [rbx + 0x48]
mov qword [rsp + 0x50], rax
test ecx, ecx
jle 0x5a9140
xor edx, edx
jmp 0x5a8583
add edx, 1
cmp ecx, edx
je 0x5a9140
movsxd rax, edx
lea r8, [rax + rax*2]
lea rax, [rax + r8*4]
lea rax, [rdi + rax*8]
test byte [rax + 0x48], 0x40
je 0x5a8578
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0x68], eax
mov edi, dword [r15 + 0x34]
mov eax, dword [r15 + 0x38]
lea r10d, [rdi + 1]
lea r14d, [rax + 1]
mov dword [r15 + 0x34], r10d
cmp byte [rbx], 0x86
je 0x5a93bd
cmp qword [rsp + 0x50], 0
je 0x5a947c
mov dword [r15 + 0x38], r14d
mov r8d, dword [rsp + 0x68]
mov r9d, r14d
mov rcx, r12
mov dword [rsp + 0x20], ebp
mov edx, 0x79
mov byte [rsp + 0x120], 7
mov dword [rsp + 0x124], edi
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x128], 0
mov dword [rsp + 0x130], 0
call dbg.sqlite3VdbeAddOp3
mov rdx, rbx
mov rcx, r15
call sym.multiSelectOrderByKeyInfo.constprop.0
mov r8d, edi
mov edx, 0x76
mov rcx, r12
mov rbp, rax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax]
mov dword [rsp + 0x20], 0
lea r9d, [rax + 2]
call dbg.sqlite3VdbeAddOp3
mov r9d, 0xfffffff8
mov r8, rbp
mov rcx, r12
mov edx, eax
call sym.sqlite3VdbeChangeP4
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x140], rax
test r13d, r13d
jne 0x5a9431
mov eax, dword [rbx + 4]
mov qword [rbx + 0x48], 0
mov r13, rbx
jmp 0x5a86a0
mov rbp, qword [r13 + 0x50]
mov byte [r13], 0x87
mov eax, dword [rbp + 4]
test ah, 0x20
je 0x5a91b6
mov r13, rbp
test al, 8
je 0x5a8688
lea rdx, str.recursive_aggregate_queries_not_supported
mov rcx, r15
call dbg.sqlite3ErrorMsg
mov rdx, qword [rbx + 0x48]
test rdx, rdx
je 0x5a86c4
mov rcx, qword [r15]
call dbg.exprListDeleteNN
mov rax, qword [rsp + 0x50]
mov qword [rbx + 0x48], rax
mov rax, qword [rsp + 0x80]
mov qword [rbx + 0x60], rax
jmp 0x5a8322
jne 0x5a7b07
nop word cs:[rax + rax]
mov r8, rbp
xor r9d, r9d
mov edx, 0x9b
mov rcx, r14
mov qword [rsp + 0x120], 0
mov dword [rsp + 0x128], 0
call dbg.sqlite3ExprAlloc
mov r8, rax
test rax, rax
je 0x5a9471
or dword [rax + 4], 0x800
mov rdx, r13
mov rcx, r15
mov dword [rax + 8], edi
call sym.sqlite3ExprListAppend.isra.0
mov qword [rbx + 0x48], rax
mov r13, rax
test rax, rax
je 0x5a7b07
movsxd rax, esi
add esi, 1
shl rax, 5
mov word [r13 + rax + 0x20], di
add edi, 1
cmp byte [r14 + 0x67], 0
je 0x5a7ad8
jmp 0x5a7b11
mov rax, qword [rsp + 0xcc]
mov rsi, qword [rsp + 0x1b0]
mov qword [rsi + 0xc], rax
jmp 0x5a84b4
mov eax, dword [rbx + 8]
lea rdi, [rsp + 0xc0]
mov rdx, r12
mov rcx, r15
mov dword [rsp + 0x120], 0
mov r8, rdi
mov dword [r12 + 8], eax
mov eax, dword [rbx + 0xc]
mov dword [r12 + 0xc], eax
mov rax, qword [rbx + 0x60]
mov qword [r12 + 0x60], rax
call dbg.sqlite3Select
mov qword [r12 + 0x60], 0
mov r13d, eax
test eax, eax
jne 0x5a8770
movsxd rbp, dword [r12 + 8]
mov eax, dword [r12 + 0xc]
mov qword [rbx + 0x50], 0
mov dword [rbx + 8], ebp
mov dword [rbx + 0xc], eax
test ebp, ebp
jne 0x5a9355
lea r8, str.UNION_ALL
mov edx, 1
mov rcx, r15
call dbg.sqlite3VdbeExplain
mov r8, rdi
mov rdx, rbx
mov rcx, r15
call dbg.sqlite3Select
movsx edx, word [r12 + 2]
movsx ecx, word [rbx + 2]
mov r13d, eax
mov rax, qword [rbx + 0x50]
mov qword [rbx + 0x50], r12
mov qword [rsp + 0x50], rax
call sym.sqlite3LogEstAdd
mov word [rbx + 2], ax
mov rax, qword [rbx + 0x60]
test rax, rax
je 0x5a88e0
mov rcx, qword [rax + 0x10]
lea rdx, [rsp + 0x120]
call sym.sqlite3ExprIsInteger
test eax, eax
je 0x5a88e0
mov eax, dword [rsp + 0x120]
test eax, eax
jle 0x5a88e0
movzx r9d, word [rbx + 2]
movsxd r8, eax
cmp eax, 7
jg 0x5a94fc
cmp eax, 1
je 0x5a9602
mov rax, r8
mov edx, 0x1e
nop
add rax, rax
mov ecx, edx
sub edx, 0xa
cmp rax, 7
jbe 0x5a8890
lea rdx, [0x00740470]
and eax, 7
movzx eax, word [rdx + rax*2]
lea ecx, [rcx + rax - 0xa]
cmp r9w, cx
jle 0x5a88e0
mov ecx, 0x1e
mov eax, ecx
add r8, r8
lea ecx, [rax - 0xa]
cmp r8, 7
jbe 0x5a88bb
and r8d, 7
movzx ecx, word [rdx + r8*2]
lea eax, [rax + rcx - 0xa]
mov word [rbx + 2], ax
nop word [rax + rax]
test ebp, ebp
je 0x5a7a28
mov rcx, qword [rsi]
mov edx, dword [rsi + 0x90]
lea rax, [0x007e7180]
cmp byte [rcx + 0x67], 0
jne 0x5a890e
mov rax, qword [rsi + 0x88]
lea rcx, [rbp + rbp*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x5a7a28
cmp byte [rsp + 0xc0], 1
jne 0x5a8e90
mov edi, dword [rsp + 0xc4]
lea rax, [rsp + 0x120]
mov rdx, r12
mov rcx, r15
mov byte [rsp + 0x120], 1
mov r8, rax
mov dword [rsp + 0x124], edi
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x128], 0
mov dword [rsp + 0x130], 0
mov qword [rsp + 0x70], rax
call dbg.sqlite3Select
mov r13d, eax
test eax, eax
jne 0x5a8770
movzx eax, byte [rbx]
mov rbp, qword [rbx + 0x60]
mov qword [rbx + 0x50], 0
mov qword [rbx + 0x60], 0
cmp al, 0x88
je 0x5a93a9
mov byte [rsp + 0x120], 1
lea r9, str.INTERSECT
cmp al, 0x89
je 0x5a89d5
lea r9, str.UNION
ja 0x5a89d5
cmp al, 0x87
lea rax, str.UNION_ALL
cmove r9, rax
lea r8, str._s_USING_TEMP_B_TREE
mov edx, 1
mov rcx, r15
call dbg.sqlite3VdbeExplain
mov r8, qword [rsp + 0x70]
mov rdx, rbx
mov rcx, r15
call dbg.sqlite3Select
cmp byte [rbx], 0x86
mov qword [rbx + 0x48], 0
mov r13d, eax
mov rax, qword [rbx + 0x50]
mov qword [rbx + 0x50], r12
mov qword [rsp + 0x50], rax
jne 0x5a8a29
movsx edx, word [r12 + 2]
movsx ecx, word [rbx + 2]
call sym.sqlite3LogEstAdd
mov word [rbx + 2], ax
mov rdx, qword [rbx + 0x60]
test rdx, rdx
je 0x5a8a3c
mov rcx, qword [rsp + 0x60]
call dbg.sqlite3ExprDeleteNN
cmp byte [rsp + 0xc0], 1
mov qword [rbx + 0x60], rbp
mov qword [rbx + 8], 0
je 0x5a7a28
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x67], 0
jne 0x5a7a28
mov r12d, dword [r15 + 0x44]
mov rdx, rbx
mov rcx, r15
lea ebp, [r12 - 1]
sub r12d, 2
mov dword [r15 + 0x44], r12d
mov r8d, ebp
call dbg.computeLimitRegisters
mov r9d, ebp
mov r8d, edi
mov rcx, rsi
mov dword [rsp + 0x20], 0
mov edx, 0x24
call dbg.sqlite3VdbeAddOp3
xor r9d, r9d
mov r8d, edi
mov rdx, rbx
lea rax, [rsp + 0xc0]
mov r14d, dword [rsi + 0x90]
mov dword [rsp + 0x38], ebp
mov rcx, r15
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x20], 0
call dbg.selectInnerLoop
mov edx, r12d
mov rcx, rsi
call dbg.sqlite3VdbeResolveLabel
mov rcx, rsi
mov r9d, r14d
mov r8d, edi
mov dword [rsp + 0x20], 0
mov edx, 0x27
call dbg.sqlite3VdbeAddOp3
mov edx, ebp
mov rcx, rsi
call dbg.sqlite3VdbeResolveLabel
jmp 0x5a9120
mov qword [rsp + 0xa8], 0
mov rax, qword [rbx + 0x20]
xor r8d, r8d
mov edx, 0x47
mov rcx, r12
mov ebp, dword [rax]
mov eax, dword [r15 + 0x38]
mov dword [rsp + 0x20], 0
lea r9d, [rax + 1]
lea eax, [rbp + rax + 1]
mov dword [r15 + 0x38], eax
mov dword [rsp + 0xb0], r9d
call dbg.sqlite3VdbeAddOp3
mov r8d, 1
mov edx, ebp
mov rcx, r14
call dbg.sqlite3KeyInfoAlloc
lea r10, [rbx + 0x20]
mov rdi, rax
test rax, rax
je 0x5a8bce
test ebp, ebp
jle 0x5a8bce
lea eax, [rbp - 1]
xor ebp, ebp
mov qword [rsp + 0x80], r12
mov dword [rsp + 0x94], esi
mov r12, rbp
mov rsi, r10
mov rbp, rax
nop
mov r8, qword [rbx + 0x50]
mov r9d, r12d
mov rdx, rsi
mov rcx, r15
call sym.multiSelectCollSeq.isra.0
mov qword [rdi + r12*8 + 0x20], rax
mov rax, qword [rdi + 0x18]
mov byte [rax + r12], 0
mov rax, r12
add r12, 1
cmp rbp, rax
jne 0x5a8b90
mov r10, rsi
mov r12, qword [rsp + 0x80]
mov esi, dword [rsp + 0x94]
mov rbp, qword [rbx + 0x50]
cmp dword [rsp + 0x90], 1
mov rax, rbp
jbe 0x5a7bbd
mov qword [rsp + 0x80], rbx
jmp 0x5a7bd3
mov edi, dword [rsp + 0x94]
mov r9d, r10d
mov edx, 0xa
mov rcx, r12
mov dword [rsp + 0x20], 0
mov r8d, edi
mov dword [rsp + 0xa0], r10d
call dbg.sqlite3VdbeAddOp3
mov r9d, dword [rsp + 0x50]
mov r8d, r13d
mov rcx, r12
mov dword [rsp + 0x20], 0
mov edx, 0xc
mov ebx, eax
call dbg.sqlite3VdbeAddOp3
xor r8d, r8d
mov r9d, ebx
mov edx, 9
mov dword [rsp + 0x20], 0
mov rcx, r12
call dbg.sqlite3VdbeAddOp3
mov r8d, edi
mov edx, 0xa
mov rcx, r12
mov r10d, dword [rsp + 0xa0]
mov dword [rsp + 0x20], 0
mov r9d, r10d
call dbg.sqlite3VdbeAddOp3
mov r9d, dword [rsp + 0x70]
mov r8d, r13d
mov rcx, r12
mov dword [rsp + 0x20], 0
mov edx, 0xc
mov edi, eax
mov dword [rsp + 0x94], eax
call dbg.sqlite3VdbeAddOp3
mov r9d, dword [rsp + 0x7c]
xor r8d, r8d
mov rcx, r12
mov dword [rsp + 0x20], 0
mov edx, 9
call dbg.sqlite3VdbeAddOp3
cmp dword [rsp + 0x68], 0x87
je 0x5a7ff4
mov r9d, dword [rsp + 0x70]
mov r8d, r13d
mov rcx, r12
mov edx, 0xc
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
mov r9d, dword [rsp + 0x7c]
xor r8d, r8d
mov rcx, r12
mov dword [rsp + 0x20], 0
mov edx, 9
mov edi, eax
call dbg.sqlite3VdbeAddOp3
jmp 0x5a7ff4
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x50]
lea r9, [rsp + 0x12c]
mov rcx, r15
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xb4]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0x20], rax
call sym.generateOutputSubroutine.isra.0
test rdi, rdi
mov r10d, dword [rsp + 0x70]
mov dword [rsp + 0x98], eax
jne 0x5a7f43
nop word cs:[rax + rax]
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x98]
mov edx, 0xa
mov rcx, r12
mov r8d, dword [rsp + 0xb4]
mov dword [rsp + 0xa0], r10d
call dbg.sqlite3VdbeAddOp3
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x50]
mov rcx, r12
mov r8d, dword [rsp + 0x60]
mov edx, 0xc
mov edi, eax
mov dword [rsp + 0x70], eax
call dbg.sqlite3VdbeAddOp3
mov r9d, edi
xor r8d, r8d
mov edx, 9
mov dword [rsp + 0x20], 0
mov rcx, r12
mov dword [rsp + 0xb0], eax
call dbg.sqlite3VdbeAddOp3
movsx edx, word [rbp + 2]
movsx ecx, word [rbx + 2]
call sym.sqlite3LogEstAdd
mov r10d, dword [rsp + 0xa0]
mov word [rbx + 2], ax
jmp 0x5a7f70
movsxd rax, dword [r15 + 0x140]
test eax, eax
je 0x5a8e4a
mov rcx, qword [r15 + 0x10]
lea rdx, [0x007e7180]
mov r8, qword [rcx]
cmp byte [r8 + 0x67], 0
jne 0x5a8e47
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x88]
lea rdx, [rax + rdx*8]
mov eax, dword [rdx + 8]
mov dword [r15 + 0x140], eax
jmp 0x5a7a33
mov rcx, r15
lea r8, str.COMPOUND_QUERY
mov edx, 1
call dbg.sqlite3VdbeExplain
lea r8, str.LEFT_MOST_SUBQUERY
mov edx, 1
mov rcx, r15
call dbg.sqlite3VdbeExplain
jmp 0x5a78ac
mov edi, dword [r15 + 0x34]
xor r9d, r9d
mov edx, 0x76
mov rcx, rsi
mov dword [rsp + 0x20], 0
lea eax, [rdi + 1]
mov r8d, edi
mov dword [r15 + 0x34], eax
call dbg.sqlite3VdbeAddOp3
mov dword [rbx + 0x14], eax
mov rax, rbx
nop dword [rax]
mov rdx, rax
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x5a8ec0
or dword [rdx + 4], 0x20
jmp 0x5a8935
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x98]
mov edx, 0xa
mov rcx, r12
mov r8d, dword [rsp + 0xb4]
call dbg.sqlite3VdbeAddOp3
jmp 0x5a800e
mov rcx, rdi
mov dword [rsp + 0x70], r10d
call sym.sqlite3KeyInfoUnref.part.0
mov r10d, dword [rsp + 0x70]
jmp 0x5a7f4c
lea edx, [rsi + 1]
mov rcx, r14
lea rdi, [rsp + 0x120]
movsxd rdx, edx
shl rdx, 2
call sym.sqlite3DbMallocRawNN
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x88], rax
mov dword [rsp + 0xb8], 0x87
mov dword [rsp + 0x90], 1
test rax, rax
jne 0x5a7b4c
mov qword [rsp + 0xa8], 0
jmp 0x5a7ba8
movzx r9d, byte [rsp + 0x60]
mov r8, rbx
mov ecx, 1
test rax, rax
jne 0x5a8fb2
jmp 0x5a7bd3
mov rdx, qword [rax + 0x50]
add ecx, 1
mov r8, rax
test rdx, rdx
je 0x5a8fb7
mov rax, rdx
cmp r9b, byte [r8]
je 0x5a8fa0
mov qword [rsp + 0x80], rbx
cmp ecx, 3
jle 0x5a7bd3
mov eax, 2
nop dword [rax]
add eax, 2
mov rdx, rbp
mov rbp, qword [rbp + 0x50]
cmp eax, ecx
jl 0x5a8fd0
mov qword [rsp + 0x80], rdx
jmp 0x5a7bd3
mov eax, dword [r15 + 0x44]
mov rdx, rbx
mov rcx, r15
lea r14d, [rax - 2]
lea r12d, [rax - 1]
mov dword [r15 + 0x44], r14d
mov r8d, r12d
call dbg.computeLimitRegisters
mov r9d, r12d
mov r8d, edi
mov edx, 0x24
mov dword [rsp + 0x20], 0
mov rcx, rsi
call dbg.sqlite3VdbeAddOp3
movzx eax, byte [r15 + 0x1f]
test al, al
je 0x5a94eb
sub eax, 1
mov byte [r15 + 0x1f], al
movzx eax, al
mov r10d, dword [r15 + rax*4 + 0xe8]
mov r9d, r10d
mov r8d, edi
mov edx, 0x86
mov rcx, rsi
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x70], r10d
call dbg.sqlite3VdbeAddOp3
mov r10d, dword [rsp + 0x70]
mov r9d, r14d
mov r8d, ebp
mov dword [rsp + 0x28], 0
mov edx, 0x1c
mov rcx, rsi
mov dword [rsp + 0x20], r10d
mov dword [rsp + 0x68], eax
call dbg.sqlite3VdbeAddOp4Int
mov r10d, dword [rsp + 0x70]
test r10d, r10d
je 0x5a90a1
mov edx, r10d
mov rcx, r15
call sym.sqlite3ReleaseTempReg.part.0
mov dword [rsp + 0x38], r12d
xor r9d, r9d
mov r8d, edi
mov rdx, rbx
lea rax, [rsp + 0xc0]
mov dword [rsp + 0x30], r14d
mov rcx, r15
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
call dbg.selectInnerLoop
mov edx, r14d
mov rcx, rsi
call dbg.sqlite3VdbeResolveLabel
mov r9d, dword [rsp + 0x68]
mov r8d, edi
mov rcx, rsi
mov dword [rsp + 0x20], 0
mov edx, 0x27
call dbg.sqlite3VdbeAddOp3
mov edx, r12d
mov rcx, rsi
call dbg.sqlite3VdbeResolveLabel
xor r9d, r9d
mov r8d, ebp
mov edx, 0x7a
mov dword [rsp + 0x20], 0
mov rcx, rsi
call dbg.sqlite3VdbeAddOp3
xor r9d, r9d
mov r8d, edi
mov edx, 0x7a
mov rcx, rsi
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
jmp 0x5a7a28
mov dword [rsp + 0x68], 0
jmp 0x5a859f
mov edx, dword [r15 + 0x38]
lea ecx, [rdx + 1]
add edx, 2
mov dword [rsp + 0x98], edx
mov r13d, ecx
mov r9d, ecx
mov dword [r15 + 0x38], edx
mov edx, dword [rbx + 0xc]
mov dword [rsp + 0x20], 0
test edx, edx
lea r8d, [rdx + 1]
mov dword [rsp + 0xa0], ecx
mov edx, 0x50
cmove r8d, eax
mov rcx, r12
call dbg.sqlite3VdbeAddOp3
mov r8d, r13d
mov edx, 0x50
mov rcx, r12
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x98]
call dbg.sqlite3VdbeAddOp3
jmp 0x5a7c6f
mov qword [rbp + 0x58], 0
lea r8, str.SETUP
mov edx, 1
mov rcx, r15
call dbg.sqlite3VdbeExplain
lea rax, [rsp + 0x120]
mov rdx, rbp
mov rcx, r15
mov r8, rax
mov qword [rsp + 0x70], rax
call dbg.sqlite3Select
mov qword [rbp + 0x58], rbx
test eax, eax
jne 0x5a86b3
mov r9d, dword [rsp + 0x7c]
mov r8d, edi
mov edx, 0x24
mov rcx, r12
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
mov r8d, dword [rsp + 0x68]
xor r9d, r9d
mov rcx, r12
mov dword [rsp + 0x20], 0
mov edx, 0x88
mov dword [rsp + 0x94], eax
call dbg.sqlite3VdbeAddOp3
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x5a95e2
mov eax, dword [rax]
mov dword [rsp + 0x20], r14d
mov r8d, edi
mov edx, 0x5e
mov rcx, r12
lea r9d, [rax + 1]
call dbg.sqlite3VdbeAddOp3
xor r9d, r9d
mov r8d, edi
mov edx, 0x82
mov rcx, r12
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
mov eax, dword [r15 + 0x44]
lea r14d, [rax - 1]
mov eax, dword [rsp + 0x88]
mov dword [r15 + 0x44], r14d
test eax, eax
jle 0x5a92a2
mov r8d, r14d
mov edx, eax
mov rcx, r12
call sym.codeOffset.part.0
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x30], r14d
xor r9d, r9d
mov rdx, rbx
mov qword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x68]
mov rcx, r15
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rax
call dbg.selectInnerLoop
mov r9d, dword [rsp + 0x90]
test r9d, r9d
jne 0x5a953b
mov edx, r14d
mov rcx, r12
call dbg.sqlite3VdbeResolveLabel
mov qword [r13 + 0x50], 0
mov rcx, r15
lea r8, str.RECURSIVE_STEP
mov edx, 1
call dbg.sqlite3VdbeExplain
mov r8, qword [rsp + 0x70]
mov rdx, rbx
mov rcx, r15
call dbg.sqlite3Select
mov qword [r13 + 0x50], rbp
mov rcx, r12
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x94]
mov edx, 9
call dbg.sqlite3VdbeAddOp3
mov edx, dword [rsp + 0x7c]
mov rcx, r12
call dbg.sqlite3VdbeResolveLabel
jmp 0x5a86b3
mov r8d, ebp
xor r9d, r9d
mov edx, 0x11
mov rcx, rsi
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
movsxd rbp, eax
mov eax, dword [rbx + 0xc]
test eax, eax
je 0x5a87fa
mov r8d, dword [rbx + 8]
mov dword [rsp + 0x20], eax
lea r9d, [rax + 1]
mov rcx, rsi
mov edx, 0xa0
call dbg.sqlite3VdbeAddOp3
jmp 0x5a87fa
mov rcx, r12
call sym.sqlite3KeyInfoUnref.part.0
jmp 0x5a8480
mov byte [rsp + 0x120], 2
lea r9, str.EXCEPT
jmp 0x5a89d5
cmp qword [rsp + 0x50], 0
lea eax, [rdi + 2]
je 0x5a9562
mov dword [r15 + 0x34], eax
mov r8d, dword [rsp + 0x68]
mov r9d, r14d
mov rcx, r12
mov dword [r15 + 0x38], r14d
mov edx, 0x79
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x70], r10d
mov byte [rsp + 0x120], 6
mov dword [rsp + 0x124], edi
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x128], 0
mov dword [rsp + 0x130], 0
call dbg.sqlite3VdbeAddOp3
mov r10d, dword [rsp + 0x70]
mov r13d, r10d
jmp 0x5a8617
xor r9d, r9d
mov r8d, r13d
mov edx, 0x76
mov rcx, r12
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
mov dword [rbx + 0x14], eax
mov eax, dword [rbx + 4]
or eax, 0x20
mov dword [rbx + 4], eax
jmp 0x5a8674
mov rax, qword [rsp + 0xcc]
mov rsi, qword [rsp + 0x1b0]
mov qword [rsi + 0xc], rax
mov r13d, 7
jmp 0x5a84b4
mov dword [r15 + 0x38], r14d
mov r8d, dword [rsp + 0x68]
mov r9d, r14d
mov rcx, r12
mov dword [rsp + 0x20], ebp
mov edx, 0x79
mov byte [rsp + 0x120], 8
mov dword [rsp + 0x124], edi
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x128], 0
mov dword [rsp + 0x130], 0
call dbg.sqlite3VdbeAddOp3
mov r9d, ebp
mov r8d, edi
mov edx, 0x76
mov dword [rsp + 0x20], 0
mov rcx, r12
call dbg.sqlite3VdbeAddOp3
jmp 0x5a8671
mov eax, dword [r15 + 0x38]
lea r10d, [rax + 1]
mov dword [r15 + 0x38], r10d
jmp 0x5a9043
bsr rax, r8
mov ecx, 0x3c
xor rax, 0x3f
sub ecx, eax
shr r8, cl
lea edx, [rcx + rcx*4]
mov rcx, r8
lea r8, [0x00740470]
add edx, edx
and ecx, 7
lea eax, [rdx + 0x28]
movzx ecx, word [r8 + rcx*2]
lea edx, [rcx + rdx + 0x1e]
cmp r9w, dx
jg 0x5a88d2
jmp 0x5a88e0
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x7c]
mov edx, 0x3d
mov rcx, r12
mov r8d, dword [rsp + 0x90]
call dbg.sqlite3VdbeAddOp3
jmp 0x5a92e9
mov dword [r15 + 0x34], eax
mov r8d, dword [rsp + 0x68]
mov r9d, r14d
mov rcx, r12
mov dword [r15 + 0x38], r14d
mov edx, 0x79
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x70], r10d
mov byte [rsp + 0x120], 5
mov dword [rsp + 0x124], edi
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x128], 0
mov dword [rsp + 0x130], 0
call dbg.sqlite3VdbeAddOp3
mov r9d, ebp
mov r8d, edi
mov edx, 0x76
mov dword [rsp + 0x20], 0
mov rcx, r12
call dbg.sqlite3VdbeAddOp3
mov r10d, dword [rsp + 0x70]
mov r13d, r10d
jmp 0x5a8668
mov r9d, r14d
mov r8d, edi
mov edx, 0x86
mov rcx, r12
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
jmp 0x5a9263
test r9w, r9w
jle 0x5a88e0
xor eax, eax
jmp 0x5a88d6