Function at 0x1401d0f10
Capabilities:
Reference sql statements

Disassembly:
push rbx
push rdi
push r12
push r13
push r14
sub rsp, 0x50
xor r12d, r12d
movsxd rbx, r8d
mov r13, r9
mov rdi, rdx
mov r14, rcx
cmp byte [rdx + 0x5f], r12b
jne 0x1401d0f8b
mov rdx, qword [rcx]
test rdx, rdx
je 0x1401d0f42
mov rcx, rdi
call fcn.1401b0260
mov edx, 0x28
mov rcx, rdi
call fcn.1401b03f0
test rax, rax
je 0x1401d0f76
movups xmm0, xmmword [str.cannot_VACUUM_from_within_a_transaction]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14022ae20]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14022ae30]
movsd qword [rax + 0x20], xmm0
mov qword [r14], rax
mov eax, 1
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rbx
ret
cmp dword [rdx + 0xc8], 1
jle 0x1401d1005
mov rdx, qword [rcx]
test rdx, rdx
je 0x1401d0fa4
mov rcx, rdi
call fcn.1401b0260
mov edx, 0x2b
mov rcx, rdi
call fcn.1401b03f0
mov rcx, rax
test rax, rax
je 0x1401d0ff0
movups xmm0, xmmword [str.cannot_VACUUM___SQL_statements_in_progress]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14022ae48]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14022ae58]
movsd qword [rax + 0x20], xmm0
movzx eax, word [0x14022ae60]
mov word [rcx + 0x28], ax
movzx eax, byte [0x14022ae62]
mov byte [rcx + 0x2a], al
mov qword [r14], rcx
mov eax, 1
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rbx
ret
mov qword [rsp + 0x98], r15
mov r15d, dword [rdx + 0x4c]
lea rdx, [0x140000000]
test r13, r13
je 0x1401d10c7
movzx ecx, word [r9 + 8]
mov eax, ecx
and eax, 0x3f
cmp byte [rax + rdx + 0x220990], 3
je 0x1401d1079
mov rdx, qword [r14]
test rdx, rdx
je 0x1401d1045
mov rcx, rdi
call fcn.1401b0260
mov edx, 0x12
mov rcx, rdi
call fcn.1401b03f0
test rax, rax
je 0x1401d106c
movups xmm0, xmmword [str.non_text_filename]
movups xmmword [rax], xmm0
movzx ecx, word [0x14022ae78]
mov word [rax + 0x10], cx
mov qword [r14], rax
mov eax, 1
jmp 0x1401d1527
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1401d109e
cmp byte [r9 + 0xa], 1
jne 0x1401d109e
mov r9, qword [r9 + 0x10]
and dword [rdi + 0x4c], 0xfffffffe
or dword [rdi + 0x4c], 6
jmp 0x1401d10ce
test cl, 1
je 0x1401d10b0
and dword [rdi + 0x4c], 0xfffffffe
xor r9d, r9d
or dword [rdi + 0x4c], 6
jmp 0x1401d10ce
mov dl, 1
mov rcx, r13
call fcn.1401f9d30
and dword [rdi + 0x4c], 0xfffffffe
mov r9, rax
or dword [rdi + 0x4c], 6
jmp 0x1401d10ce
lea r9, [0x140225e26]
mov eax, dword [rdi + 0x2c]
lea r8, str.ATTACH__Q_AS_vacuum_db
mov rcx, qword [rdi + 0x30]
mov edx, dword [rdi + 0x74]
mov dword [rsp + 0x30], eax
or eax, 6
mov dword [rdi + 0x2c], eax
mov rax, rcx
mov qword [rsp + 0x48], rcx
movabs rcx, 0xfffffffeefffafff
and rax, rcx
mov dword [rsp + 0x34], edx
mov edx, dword [rdi + 0x78]
or rax, 0x201
mov qword [rdi + 0x30], rax
mov rcx, rbx
mov rax, qword [rdi + 0x20]
shl rcx, 5
mov dword [rsp + 0x38], edx
movzx edx, byte [rdi + 0x68]
mov byte [rdi + 0x68], r12b
mov rbx, qword [rax + rcx + 8]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x80], rbp
mov rbp, qword [rax + rcx]
mov rax, qword [rbx + 8]
mov byte [rsp + 0x20], dl
mov rdx, r14
mov qword [rsp + 0x90], rsi
mov rcx, qword [rax]
movzx eax, byte [rcx + 0x10]
mov rcx, rdi
mov byte [rsp + 0x88], al
mov eax, dword [rdi + 0x28]
mov dword [rsp + 0x24], eax
call fcn.140182500
mov dword [rdi + 0x4c], r15d
mov esi, eax
test eax, eax
jne 0x1401d14ac
movsxd r12, dword [rsp + 0x24]
shl r12, 5
add r12, qword [rdi + 0x20]
mov r15, qword [r12 + 8]
test r13, r13
je 0x1401d1227
mov rax, qword [r15 + 8]
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x48]
mov qword [rsp + 0x28], 0
mov rax, qword [rcx]
test rax, rax
je 0x1401d1223
lea rdx, [rsp + 0x28]
call qword [rax + 0x30]
test eax, eax
jne 0x1401d11c5
cmp qword [rsp + 0x28], 0
jle 0x1401d1223
mov rdx, qword [r14]
mov esi, 1
test rdx, rdx
je 0x1401d11da
mov rcx, rdi
call fcn.1401b0260
mov edx, 0x1b
mov rcx, rdi
call fcn.1401b03f0
mov rdx, rax
test rax, rax
je 0x1401d121b
movups xmm0, xmmword [str.output_file_already_exists]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x14022aea8]
movsd qword [rax + 0x10], xmm0
movzx ecx, word [0x14022aeb0]
mov word [rax + 0x18], cx
movzx eax, byte [0x14022aeb2]
mov byte [rdx + 0x1a], al
mov qword [r14], rdx
jmp 0x1401d14ac
or dword [rdi + 0x2c], 8
mov rcx, rbx
call fcn.1401a9060
mov rcx, qword [rdi + 0x20]
mov rdx, qword [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov rdx, qword [rdx + rcx + 0x18]
mov rcx, r15
mov edx, dword [rdx + 0x74]
call fcn.1401ab160
xor edx, edx
mov rcx, rbx
call fcn.1401ab3d0
mov edx, eax
mov rcx, r15
call fcn.1401ab3d0
mov edx, 0x21
mov rcx, r15
call fcn.1401ab2d0
lea r8, str.BEGIN
mov rdx, r14
mov rcx, rdi
call fcn.1401822d0
mov esi, eax
test eax, eax
jne 0x1401d14ac
xor edx, edx
mov eax, 2
test r13, r13
mov rcx, rbx
cmove edx, eax
xor r8d, r8d
call fcn.1401a7a20
mov esi, eax
test eax, eax
jne 0x1401d14ac
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
cmp byte [rcx + 9], 5
jne 0x1401d12bb
mov dword [rdi + 0x6c], esi
mov rax, qword [rbx + 8]
xor r9d, r9d
mov esi, dword [rsp + 0x28]
mov rcx, r15
mov r8d, esi
mov edx, dword [rax + 0x34]
call fcn.1401ab1f0
test eax, eax
jne 0x1401d14a7
cmp byte [rsp + 0x88], al
jne 0x1401d12fe
mov edx, dword [rdi + 0x6c]
xor r9d, r9d
mov r8d, esi
mov rcx, r15
call fcn.1401ab1f0
test eax, eax
jne 0x1401d14a7
cmp byte [rdi + 0x61], 0
jne 0x1401d14a7
movsx eax, byte [rdi + 0x64]
test al, al
jns 0x1401d1318
mov rcx, rbx
call fcn.1401a8f70
mov edx, eax
mov rcx, r15
call fcn.1401ab0d0
mov eax, dword [rsp + 0x24]
lea r8, str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
mov r9, rbp
mov byte [rdi + 0xb4], al
mov rdx, r14
mov rcx, rdi
call fcn.140182500
mov esi, eax
test eax, eax
jne 0x1401d14ac
mov r9, rbp
lea r8, str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typeindex
mov rdx, r14
mov rcx, rdi
call fcn.140182500
mov esi, eax
test eax, eax
jne 0x1401d14ac
mov r9, rbp
mov byte [rdi + 0xb4], al
lea r8, str.SELECTINSERT_INTO_vacuum_db.quote_name__SELECTFROM__w_.quote_name_FROM_vacuum_db.sqlite_schema_WHERE_typetableAND_coalesce_rootpage_1__0
mov rdx, r14
mov rcx, rdi
call fcn.140182500
and dword [rdi + 0x2c], 0xfffffffb
mov esi, eax
test eax, eax
jne 0x1401d14ac
mov r9, rbp
lea r8, str.INSERT_INTO_vacuum_db.sqlite_schema_SELECTFROM___w_.sqlite_schema_WHERE_type_IN_view_trigger__OR_typetableAND_rootpage0_
mov rdx, r14
mov rcx, rdi
call fcn.140182500
mov esi, eax
test eax, eax
jne 0x1401d14ac
xor ebp, ebp
cmp byte [rbx + 0x11], 0
lea rax, [0x140000000]
movzx esi, byte [rax + rbp + 0x224e68]
mov r14, qword [rbx + 8]
je 0x1401d13de
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1401d13de
mov rcx, rbx
call fcn.140179470
cmp esi, 0xf
jne 0x1401d13f1
mov rax, qword [r14]
mov esi, dword [rbx + 0x1c]
add esi, dword [rax + 0x84]
jmp 0x1401d1405
mov rax, qword [r14 + 0x18]
lea edx, [rsi*4 + 0x24]
mov rcx, qword [rax + 0x50]
mov esi, dword [rdx + rcx]
bswap esi
cmp byte [rbx + 0x11], 0
je 0x1401d1419
sub dword [rbx + 0x14], 1
jne 0x1401d1419
mov rcx, rbx
call fcn.1401f7b10
lea rax, [0x140000000]
mov rcx, r15
movzx r8d, byte [rax + rbp + 0x224e69]
movzx edx, byte [rax + rbp + 0x224e68]
add r8d, esi
call fcn.1401ab6b0
mov esi, eax
test eax, eax
jne 0x1401d14ac
add rbp, 2
cmp rbp, 0xa
jl 0x1401d13b4
test r13, r13
jne 0x1401d1466
mov rdx, r15
mov rcx, rbx
call fcn.1401a8610
mov esi, eax
test eax, eax
jne 0x1401d14ac
mov rcx, r15
call fcn.1401a83c0
mov esi, eax
test eax, eax
jne 0x1401d14ac
test r13, r13
jne 0x1401d14ac
mov rcx, r15
call fcn.1401a8f70
mov edx, eax
mov rcx, rbx
call fcn.1401ab0d0
mov rax, qword [r15 + 8]
lea r9d, [rsi + 1]
mov r8d, dword [rsp + 0x28]
mov rcx, rbx
mov edx, dword [rax + 0x34]
call fcn.1401ab1f0
mov esi, eax
jmp 0x1401d14ac
mov esi, 7
mov eax, dword [rsp + 0x30]
mov r9d, 1
mov dword [rdi + 0x2c], eax
xor r8d, r8d
mov rax, qword [rsp + 0x48]
mov rcx, rbx
mov qword [rdi + 0x30], rax
mov eax, dword [rsp + 0x34]
lea edx, [r9 - 2]
mov dword [rdi + 0x74], eax
mov eax, dword [rsp + 0x38]
mov dword [rdi + 0x78], eax
movzx eax, byte [rsp + 0x20]
mov byte [rdi + 0x68], al
mov byte [rdi + 0xb4], 0
call fcn.1401ab1f0
mov rbp, qword [rsp + 0x80]
mov byte [rdi + 0x5f], 1
test r12, r12
je 0x1401d1515
mov rcx, qword [r12 + 8]
call fcn.1401a7f40
xor eax, eax
mov qword [r12 + 8], rax
mov qword [r12 + 0x18], rax
mov rcx, rdi
call fcn.1401cf8c0
mov eax, esi
mov rsi, qword [rsp + 0x90]
mov r15, qword [rsp + 0x98]
add rsp, 0x50
pop r14
pop r13
pop r12
pop rdi
pop rbx
ret