Function at 0x140111d20
Capabilities:
Reference sql statements

Disassembly:
push rbp
push r13
push r14
sub rsp, 0x60
xor r13d, r13d
mov rbp, rdx
mov r14, rcx
cmp byte [rdx + 0x53], r13b
jne 0x140111d53
lea r8, str.cannot_VACUUM_from_within_a_transaction
call fcn.140097fe0
lea eax, [r13 + 1]
add rsp, 0x60
pop r14
pop r13
pop rbp
ret
cmp dword [rdx + 0xac], 1
jle 0x140111d77
lea r8, str.cannot_VACUUM___SQL_statements_in_progress
call fcn.140097fe0
mov eax, 1
add rsp, 0x60
pop r14
pop r13
pop rbp
ret
mov eax, dword [rdx + 0x2c]
mov ecx, dword [rdx + 0x68]
mov dword [rsp + 0x28], eax
and eax, 0xfff5ff7f
mov qword [rsp + 0x80], rbx
or eax, 0x10202800
mov dword [rdx + 0x2c], eax
mov rax, qword [rdx + 0x20]
mov dword [rsp + 0x2c], ecx
mov ecx, dword [rdx + 0x6c]
mov dword [rsp + 0x30], ecx
movzx ecx, byte [rdx + 0x5c]
mov byte [rdx + 0x5c], r13b
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rdi
movsxd rdi, dword [rdx + 0x28]
mov rdx, r14
mov byte [rsp + 0x98], cl
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r15
movsxd r15, r8d
lea r8, str.ATTACHAS_vacuum_db
shl r15, 5
mov dword [rsp + 0x24], edi
mov rbx, qword [r15 + rax + 8]
mov r12, qword [r15 + rax]
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
movzx eax, byte [rcx + 0x11]
mov rcx, rbp
mov byte [rsp + 0x88], al
call fcn.140111a40
mov esi, eax
test eax, eax
jne 0x14011222e
mov r13, rdi
shl r13, 5
add r13, qword [rbp + 0x20]
mov rdi, qword [r13 + 8]
cmp byte [rdi + 0x11], al
je 0x140111e32
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], al
jne 0x140111e32
mov rcx, rdi
call fcn.1400aa7c0
xor edx, edx
mov rcx, rdi
call fcn.1400ae2b0
test eax, eax
jne 0x140111e4a
xor edx, edx
mov rcx, rdi
call fcn.1400ae500
cmp byte [rdi + 0x11], 0
je 0x140111e5e
sub dword [rdi + 0x14], 1
jne 0x140111e5e
mov rcx, rdi
call fcn.1400aa790
movzx edx, byte [rbx + 0x11]
test dl, dl
je 0x140111e7b
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x140111e7b
mov rcx, rbx
call fcn.1400aa7c0
movzx edx, byte [rbx + 0x11]
mov rax, qword [rbx + 8]
mov ecx, dword [rax + 0x34]
sub ecx, dword [rax + 0x38]
movzx eax, byte [rax + 0x26]
cmp ecx, eax
cmovge eax, ecx
mov dword [rsp + 0x20], eax
test dl, dl
je 0x140111ea4
sub dword [rbx + 0x14], 1
jne 0x140111ea4
mov rcx, rbx
call fcn.1400aa790
cmp dword [rbp + 0x60], 0
je 0x140111ed1
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax + 8]
mov rax, qword [rcx + 8]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x128]
test rax, rax
je 0x140111ed1
cmp dword [rax], 0
je 0x140111ed1
mov dword [rbp + 0x60], 0
mov rax, qword [rbp + 0x20]
mov rcx, qword [r15 + rax + 0x18]
mov edx, dword [rcx + 0x74]
mov rcx, rdi
call fcn.1400aca10
movzx r8d, byte [rbx + 0x11]
mov rsi, qword [rbx + 8]
test r8b, r8b
je 0x140111f09
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x140111f09
mov rcx, rbx
call fcn.1400aa7c0
movzx r8d, byte [rbx + 0x11]
mov rax, qword [rsi]
mov r9, qword [rax + 0x138]
movsxd rdx, dword [r9 + 0x1c]
test edx, edx
jns 0x140111f38
mov eax, dword [r9 + 0x28]
add eax, dword [r9 + 0x24]
movsxd rcx, eax
mov rax, rdx
neg rax
shl rax, 0xa
cqo
idiv rcx
mov rdx, rax
mov esi, dword [r9 + 0x20]
cmp edx, esi
cmovge esi, edx
test r8b, r8b
je 0x140111f54
sub dword [rbx + 0x14], 1
jne 0x140111f54
mov rcx, rbx
call fcn.1400aa790
mov edx, esi
mov rcx, rdi
call fcn.1400acaa0
cmp byte [rdi + 0x11], 0
mov rsi, qword [rdi + 8]
je 0x140111f79
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x140111f79
mov rcx, rdi
call fcn.1400aa7c0
mov rax, qword [rsi]
mov word [rax + 0xb], 1
mov byte [rax + 0xd], 0
cmp byte [rax + 0xb], 0
je 0x140111f94
mov byte [rax + 0x10], 0
xor cl, cl
jmp 0x140111f9a
mov byte [rax + 0x10], 2
mov cl, 2
mov byte [rax + 0xe], cl
cmp byte [rax + 0xc], 0
movzx ecx, byte [rax + 0x10]
mov byte [rax + 0xf], cl
je 0x140111fb0
or cl, 0x20
mov byte [rax + 0xf], cl
and byte [rax + 0x19], 0xfe
cmp byte [rdi + 0x11], 0
je 0x140111fc8
sub dword [rdi + 0x14], 1
jne 0x140111fc8
mov rcx, rdi
call fcn.1400aa790
lea r8, str.BEGIN
mov rdx, r14
mov rcx, rbp
call fcn.140111a40
mov esi, eax
test eax, eax
jne 0x14011222e
lea edx, [rax + 2]
mov rcx, rbx
call fcn.1400ad310
mov esi, eax
test eax, eax
jne 0x14011222e
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
cmp byte [rax + 9], 5
jne 0x14011200d
mov dword [rbp + 0x60], esi
mov rcx, qword [rbx + 8]
mov edx, dword [rcx + 0x34]
xor r9d, r9d
mov esi, dword [rsp + 0x20]
mov rcx, rdi
mov r8d, esi
call fcn.1400acc50
test eax, eax
jne 0x140112229
cmp byte [rsp + 0x88], al
jne 0x14011204c
mov edx, dword [rbp + 0x60]
xor r9d, r9d
mov r8d, esi
mov rcx, rdi
call fcn.1400acc50
test eax, eax
jne 0x140112229
cmp byte [rbp + 0x55], 0
jne 0x140112229
movsx eax, byte [rbp + 0x58]
test al, al
jns 0x140112066
mov rcx, rbx
call fcn.1400ace50
mov edx, eax
mov rcx, rdi
call fcn.1400acdc0
mov eax, dword [rsp + 0x24]
lea r8, str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
mov r9, r12
mov byte [rbp + 0xa8], al
mov rdx, r14
mov rcx, rbp
call fcn.140111b10
mov esi, eax
test eax, eax
jne 0x14011222e
mov r9, r12
lea r8, str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typeindex_AND_length_sql__10
mov rdx, r14
mov rcx, rbp
call fcn.140111b10
mov esi, eax
test eax, eax
jne 0x14011222e
mov r9, r12
mov byte [rbp + 0xa8], al
lea r8, str.SELECTINSERT_INTO_vacuum_db.quote_name__SELECTFROM__w_.quote_name_FROM_vacuum_db.sqlite_master_WHERE_typetableAND_coalesce_rootpage_1__0
mov rdx, r14
mov rcx, rbp
call fcn.140111b10
and dword [rbp + 0x2c], 0xefffffff
mov esi, eax
test eax, eax
jne 0x14011222e
mov r9, r12
lea r8, str.INSERT_INTO_vacuum_db.sqlite_master_SELECTFROM___w_.sqlite_master_WHERE_type_IN_view_trigger__OR_typetableAND_rootpage0_
mov rdx, r14
mov rcx, rbp
call fcn.140111b10
mov esi, eax
test eax, eax
jne 0x14011222e
xor r14d, r14d
lea r12, [0x1401db3f0]
nop dword [rax]
movzx r8d, byte [rbx + 0x11]
movzx esi, byte [r14 + r12]
mov r15, qword [rbx + 8]
test r8b, r8b
je 0x140112139
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x140112139
mov rcx, rbx
call fcn.1400aa7c0
movzx r8d, byte [rbx + 0x11]
cmp esi, 0xf
jne 0x14011214c
mov rax, qword [r15]
mov esi, dword [rax + 0x84]
add esi, dword [rbx + 0x1c]
jmp 0x140112160
mov rax, qword [r15 + 0x18]
lea edx, [rsi*4 + 0x24]
mov rcx, qword [rax + 0x50]
mov esi, dword [rdx + rcx]
bswap esi
test r8b, r8b
je 0x140112173
sub dword [rbx + 0x14], 1
jne 0x140112173
mov rcx, rbx
call fcn.1400aa790
movzx r8d, byte [r14 + r12 + 1]
mov rcx, rdi
movzx edx, byte [r14 + r12]
add r8d, esi
call fcn.1400b55f0
mov esi, eax
test eax, eax
jne 0x14011222e
add r14, 2
cmp r14, 0xa
jl 0x140112110
mov rdx, rdi
mov rcx, rbx
call fcn.1400b7a40
mov esi, eax
test eax, eax
jne 0x14011222e
cmp byte [rdi + 0x11], al
je 0x1401121c7
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], al
jne 0x1401121c7
mov rcx, rdi
call fcn.1400aa7c0
xor edx, edx
mov rcx, rdi
call fcn.1400ae2b0
mov esi, eax
test eax, eax
jne 0x1401121e3
xor edx, edx
mov rcx, rdi
call fcn.1400ae500
mov esi, eax
cmp byte [rdi + 0x11], 0
je 0x1401121f7
sub dword [rdi + 0x14], 1
jne 0x1401121f7
mov rcx, rdi
call fcn.1400aa790
test esi, esi
jne 0x14011222e
mov rcx, rdi
call fcn.1400ace50
mov edx, eax
mov rcx, rbx
call fcn.1400acdc0
mov rax, qword [rdi + 8]
lea r9d, [rsi + 1]
mov r8d, dword [rsp + 0x20]
mov rcx, rbx
mov edx, dword [rax + 0x34]
call fcn.1400acc50
mov esi, eax
jmp 0x14011222e
mov esi, 7
mov eax, dword [rsp + 0x28]
mov edx, 0xffffffff
mov dword [rbp + 0x2c], eax
mov r8d, edx
mov eax, dword [rsp + 0x2c]
mov rcx, rbx
mov dword [rbp + 0x68], eax
mov eax, dword [rsp + 0x30]
lea r9d, [rdx + 2]
mov dword [rbp + 0x6c], eax
movzx eax, byte [rsp + 0x98]
mov byte [rbp + 0x5c], al
mov byte [rbp + 0xa8], 0
call fcn.1400acc50
mov r15, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x80]
mov byte [rbp + 0x53], 1
test r13, r13
je 0x14011229c
mov rcx, qword [r13 + 8]
call fcn.1400ac860
xor eax, eax
mov qword [r13 + 8], rax
mov qword [r13 + 0x18], rax
mov rcx, rbp
call fcn.1400de770
mov eax, esi
mov rsi, qword [rsp + 0x58]
add rsp, 0x60
pop r14
pop r13
pop rbp
ret