Function at 0x14005f0e0
Capabilities:
Reference sql statements

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
xor r15d, r15d
mov rbx, rdx
mov r14, rcx
cmp byte [rdx + 0x5f], r15b
jne 0x14005f132
mov rdx, qword [rcx]
test rdx, rdx
je 0x14005f116
mov rcx, rbx
call fcn.140009118
lea rdx, str.cannot_VACUUM_from_within_a_transaction
mov rcx, rbx
call fcn.140009554
mov qword [r14], rax
mov eax, 1
jmp 0x14005f4b3
cmp dword [rdx + 0xb8], 1
jle 0x14005f154
mov rdx, qword [rcx]
test rdx, rdx
je 0x14005f14b
mov rcx, rbx
call fcn.140009118
lea rdx, str.cannot_VACUUM___SQL_statements_in_progress
jmp 0x14005f11d
movzx ecx, word [rdx + 0x2c]
or dword [rdx + 0x2c], 6
mov eax, dword [rdx + 0x30]
movsxd r12, dword [rbx + 0x28]
mov word [rsp + 0x20], cx
mov ecx, dword [rdx + 0x74]
mov dword [rsp + 0x28], eax
and eax, 0xffffaf7f
mov dword [rsp + 0x2c], ecx
or eax, 0x201
mov ecx, dword [rdx + 0x78]
mov dword [rdx + 0x30], eax
mov rax, qword [rbx + 0x20]
mov dword [rsp + 0x30], ecx
mov cl, byte [rdx + 0x68]
mov byte [rdx + 0x68], r15b
mov byte [rsp + 0x98], cl
movsxd rdx, r8d
lea r8, str.ATTACHAS_vacuum_db
shl rdx, 5
mov qword [rsp + 0x40], rdx
mov dword [rsp + 0x24], r12d
mov rcx, qword [rdx + rax]
mov rsi, qword [rdx + rax + 8]
mov rdx, r14
mov qword [rsp + 0x38], rcx
mov rax, qword [rsi + 8]
mov rcx, qword [rax]
mov al, byte [rcx + 0x10]
mov rcx, rbx
mov byte [rsp + 0x88], al
call fcn.14005ef2c
mov edi, eax
test eax, eax
jne 0x14005f449
mov r15, r12
shl r15, 5
add r15, qword [rbx + 0x20]
mov r13, qword [r15 + 8]
mov rcx, r13
call fcn.14001cd78
mov cl, byte [rsi + 0x11]
test cl, cl
je 0x14005f217
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], dil
jne 0x14005f217
mov rcx, rsi
call fcn.140018e68
mov cl, byte [rsi + 0x11]
mov rax, qword [rsi + 8]
mov r12d, dword [rax + 0x30]
sub r12d, dword [rax + 0x34]
test cl, cl
je 0x14005f235
sub dword [rsi + 0x14], 1
jne 0x14005f235
mov rcx, rsi
call fcn.140018e18
mov rax, qword [rbx + 0x20]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + rax + 0x18]
mov edx, dword [rcx + 0x74]
mov rcx, r13
call fcn.14001b1a0
xor edx, edx
mov rcx, rsi
call fcn.14001b234
mov edx, eax
mov rcx, r13
call fcn.14001b234
mov edx, 0x21
mov rcx, r13
call fcn.14001b34c
lea r8, str.BEGIN
mov rdx, r14
mov rcx, rbx
call fcn.14005ef2c
mov edi, eax
test eax, eax
jne 0x14005f449
lea edx, [rax + 2]
mov rcx, rsi
call fcn.14001bb44
mov edi, eax
test eax, eax
jne 0x14005f449
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
cmp byte [rax + 9], 5
jne 0x14005f2b4
and dword [rbx + 0x6c], edi
mov rcx, qword [rsi + 8]
mov edx, dword [rcx + 0x30]
xor r9d, r9d
mov rcx, r13
mov r8d, r12d
call fcn.14001b438
test eax, eax
jne 0x14005f444
cmp byte [rsp + 0x88], al
jne 0x14005f2ef
mov edx, dword [rbx + 0x6c]
xor r9d, r9d
mov r8d, r12d
mov rcx, r13
call fcn.14001b438
test eax, eax
jne 0x14005f444
cmp byte [rbx + 0x61], 0
jne 0x14005f444
mov al, byte [rbx + 0x64]
test al, al
js 0x14005f305
movsx eax, al
jmp 0x14005f30d
mov rcx, rsi
call fcn.14001b67c
mov edx, eax
mov rcx, r13
call fcn.14001b5ec
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, qword [rsp + 0x38]
mov rdx, r14
mov rcx, rbx
mov byte [rbx + 0xb4], al
call fcn.14005f000
mov edi, eax
test eax, eax
jne 0x14005f449
mov r9, qword [rsp + 0x38]
lea r8, str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typeindex_AND_length_sql__10
mov rdx, r14
mov rcx, rbx
call fcn.14005f000
mov edi, eax
test eax, eax
jne 0x14005f449
mov r9, qword [rsp + 0x38]
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 byte [rbx + 0xb4], al
mov rcx, rbx
call fcn.14005f000
and dword [rbx + 0x2c], 0xfffffffb
mov edi, eax
test eax, eax
jne 0x14005f449
mov r9, qword [rsp + 0x38]
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, rbx
call fcn.14005f000
mov edi, eax
test eax, eax
jne 0x14005f449
xor r14d, r14d
lea rdi, [0x1400dc098]
mov rcx, rsi
movzx edx, byte [r14 + rdi]
lea r8, [rsp + 0x88]
call fcn.140022738
movzx r8d, byte [r14 + rdi + 1]
mov rcx, r13
add r8d, dword [rsp + 0x88]
movzx edx, byte [r14 + rdi]
call fcn.1400227d8
mov edi, eax
test eax, eax
jne 0x14005f449
add r14, 2
cmp r14, 0xa
jl 0x14005f3b2
mov rdx, r13
mov rcx, rsi
call fcn.1400244d0
mov edi, eax
test eax, eax
jne 0x14005f449
mov rcx, r13
call fcn.14001cd78
mov edi, eax
test eax, eax
jne 0x14005f449
mov rcx, r13
call fcn.14001b67c
mov edx, eax
mov rcx, rsi
call fcn.14001b5ec
mov rax, qword [r13 + 8]
lea r9d, [rdi + 1]
mov r8d, r12d
mov rcx, rsi
mov edx, dword [rax + 0x30]
call fcn.14001b438
mov edi, eax
jmp 0x14005f449
mov edi, 7
movzx eax, word [rsp + 0x20]
xor r12d, r12d
mov dword [rbx + 0x2c], eax
mov rcx, rsi
mov eax, dword [rsp + 0x28]
mov dword [rbx + 0x30], eax
mov eax, dword [rsp + 0x2c]
lea r9d, [r12 + 1]
mov dword [rbx + 0x74], eax
mov eax, dword [rsp + 0x30]
mov dword [rbx + 0x78], eax
mov al, byte [rsp + 0x98]
mov byte [rbx + 0x68], al
or eax, 0xffffffff
mov r8d, eax
mov byte [rbx + 0xb4], r12b
mov edx, eax
call fcn.14001b438
mov byte [rbx + 0x5f], 1
test r15, r15
je 0x14005f4a9
mov rcx, qword [r15 + 8]
call fcn.14001b0a4
mov qword [r15 + 8], r12
mov qword [r15 + 0x18], r12
mov rcx, rbx
call fcn.140040850
mov eax, edi
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret