Function at 0x1400bd3b0
Capabilities:
Reference sql statements

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r15
sub rsp, 0x88
mov rax, qword [0x140110010]
xor rax, rsp
mov qword [rsp + 0x68], rax
cmp byte [rdx + 0x65], 0
mov rbp, rdx
mov qword [rsp + 0x30], r9
mov r15, rcx
movsxd rdi, r8d
mov r12d, 1
mov qword [rsp + 0x38], 0
jne 0x1400bd449
lea rsi, str.cannot_VACUUM_from_within_a_transaction
mov rbx, 0xffffffffffffffff
cmp byte [rsi + rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x1400bd400
lea rdx, [rbx + 1]
mov rcx, rbp
call fcn.14001a1a0
mov rdi, rax
test rax, rax
je 0x1400bd42e
lea r8, [rbx + 1]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [r15]
test rdx, rdx
je 0x1400bd43e
mov rcx, rbp
call fcn.140019ca0
mov qword [r15], rdi
mov eax, r12d
jmp 0x1400bdc17
cmp dword [rdx + 0xd8], r12d
jle 0x1400bd46d
lea rsi, str.cannot_VACUUM___SQL_statements_in_progress
mov rbx, 0xffffffffffffffff
cmp byte [rsi + rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x1400bd460
jmp 0x1400bd40b
mov ebx, dword [rdx + 0x4c]
lea rdx, [0x140000000]
test r9, r9
je 0x1400bd501
movzx ecx, word [r9 + 0x14]
mov eax, ecx
and eax, 0x3f
cmp byte [rax + rdx + 0xfa4e0], 3
je 0x1400bd4b2
lea rsi, str.non_text_filename
mov rbx, 0xffffffffffffffff
cmp byte [rsi + rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x1400bd4a2
jmp 0x1400bd40b
mov edx, 0x202
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x1400bd4d6
cmp byte [r9 + 0x16], r12b
jne 0x1400bd4d6
mov r9, qword [r9 + 8]
and dword [rbp + 0x4c], 0xfffffffe
or dword [rbp + 0x4c], 6
jmp 0x1400bd508
test r12b, cl
je 0x1400bd4e8
and dword [rbp + 0x4c], 0xfffffffe
xor r9d, r9d
or dword [rbp + 0x4c], 6
jmp 0x1400bd508
movzx edx, r12b
mov rcx, r9
call fcn.140047420
and dword [rbp + 0x4c], 0xfffffffe
mov r9, rax
or dword [rbp + 0x4c], 6
jmp 0x1400bd508
lea r9, [0x14011cb1f]
mov eax, dword [rbp + 0x2c]
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x78]
mov dword [rsp + 0x2c], eax
or eax, 6
mov dword [rbp + 0x2c], eax
mov rax, rcx
mov qword [rsp + 0x48], rcx
movabs rcx, 0xfffffffeefffafff
and rax, rcx
mov qword [rsp + 0x80], r13
or rax, 0x201
mov qword [rsp + 0x50], rdx
mov rdx, qword [rbp + 0x80]
mov r13, rdi
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x20]
shl r13, 5
mov qword [rsp + 0x58], rdx
movzx edx, byte [rbp + 0x6e]
mov byte [rbp + 0x6e], 0
mov rcx, qword [rax + r13]
mov rdi, qword [rax + r13 + 8]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x78], r14
mov byte [rsp + 0x20], dl
mov rax, qword [rdi + 8]
mov rcx, qword [rax]
cmp byte [rcx + 0x10], 0
jne 0x1400bd59a
cmp byte [rcx + 0x14], 0
mov dword [rsp + 0x24], 0
je 0x1400bd59f
mov dword [rsp + 0x24], r12d
movsxd rsi, dword [rbp + 0x28]
lea r8, str.ATTACH__Q_AS_vacuum_db
mov rdx, r15
mov dword [rsp + 0x28], esi
mov rcx, rbp
call fcn.1400bd0b0
mov dword [rbp + 0x4c], ebx
mov r14d, eax
mov rbx, 0xffffffffffffffff
test eax, eax
jne 0x1400bdb91
mov rax, rsi
shl rax, 5
add rax, qword [rbp + 0x20]
cmp qword [rsp + 0x30], 0
mov qword [rsp + 0x38], rax
mov rsi, qword [rax + 8]
je 0x1400bd68e
mov rax, qword [rsi + 8]
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x48]
mov qword [rsp + 0x60], 0
mov rax, qword [rcx]
test rax, rax
je 0x1400bd677
lea rdx, [rsp + 0x60]
call qword [rax + 0x30]
test eax, eax
jne 0x1400bd61e
cmp qword [rsp + 0x60], 0
jle 0x1400bd677
mov r14d, r12d
lea r13, str.output_file_already_exists
mov rsi, rbx
nop dword [rax + rax]
cmp byte [rsi + r13 + 1], 0
lea rsi, [rsi + 1]
jne 0x1400bd630
lea rdx, [rsi + 1]
mov rcx, rbp
call fcn.14001a1a0
mov r12, rax
test rax, rax
je 0x1400bd65f
lea r8, [rsi + 1]
mov rdx, r13
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [r15]
test rdx, rdx
je 0x1400bd66f
mov rcx, rbp
call fcn.140019ca0
mov qword [r15], r12
jmp 0x1400bdb91
mov rax, qword [rbp + 0x20]
or dword [rbp + 0x2c], 8
movzx r12d, byte [rax + r13 + 0x10]
mov eax, dword [rbp + 0x30]
and eax, 0x38
or r12d, eax
cmp byte [rdi + 0x11], 0
je 0x1400bd6a5
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x1400bd6a5
mov rcx, rdi
call fcn.140034fe0
mov rax, qword [rdi + 8]
mov ecx, dword [rax + 0x34]
sub ecx, dword [rax + 0x38]
cmp byte [rdi + 0x11], 0
movzx r14d, byte [rax + 0x26]
mov dword [rsp + 0x60], ecx
je 0x1400bd6d0
sub dword [rdi + 0x14], 1
jne 0x1400bd6d0
mov rcx, rdi
call fcn.140034f90
mov ecx, dword [rsp + 0x60]
mov rax, qword [rbp + 0x20]
cmp r14d, ecx
cmovg ecx, r14d
mov dword [rsp + 0x60], ecx
mov rcx, qword [rax + r13 + 0x18]
mov edx, dword [rcx + 0x74]
mov rcx, rsi
call fcn.140038130
movzx r8d, byte [rdi + 0x11]
mov r14, qword [rdi + 8]
test r8b, r8b
je 0x1400bd713
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x1400bd713
mov rcx, rdi
call fcn.140034fe0
movzx r8d, byte [rdi + 0x11]
mov rax, qword [r14]
mov r9, qword [rax + 0x120]
movsxd rdx, dword [r9 + 0x20]
test edx, edx
jns 0x1400bd74e
mov eax, dword [r9 + 0x2c]
add eax, dword [r9 + 0x28]
movsxd rcx, eax
mov rax, rdx
neg rax
shl rax, 0xa
cqo
idiv rcx
mov rdx, rax
mov eax, 0x3b9aca00
cmp rdx, rax
cmovg rdx, rax
mov r14d, dword [r9 + 0x24]
cmp edx, r14d
cmovge r14d, edx
test r8b, r8b
je 0x1400bd76c
sub dword [rdi + 0x14], 1
jne 0x1400bd76c
mov rcx, rdi
call fcn.140034f90
mov edx, r14d
mov rcx, rsi
call fcn.1400381d0
cmp byte [rsi + 0x11], 0
mov r14, qword [rsi + 8]
je 0x1400bd792
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], 0
jne 0x1400bd792
mov rcx, rsi
call fcn.140034fe0
mov rcx, qword [r14]
or r12d, 0x20
mov edx, r12d
call fcn.14002d250
cmp byte [rsi + 0x11], 0
je 0x1400bd7b5
sub dword [rsi + 0x14], 1
jne 0x1400bd7b5
mov rcx, rsi
call fcn.140034f90
lea r8, [0x14011676c]
mov rdx, r15
mov rcx, rbp
call fcn.1400bce80
mov r14d, eax
test eax, eax
jne 0x1400bdb91
mov r13, qword [rsp + 0x30]
xor edx, edx
test r13, r13
mov eax, 2
cmove edx, eax
cmp byte [rdi + 0x11], r14b
jne 0x1400bd7ff
movzx eax, byte [rdi + 0x10]
test al, al
je 0x1400bd7ff
cmp al, 1
jne 0x1400bd884
test r13, r13
jne 0x1400bd816
xor r8d, r8d
mov rcx, rdi
call fcn.140038970
mov r14d, eax
test r14d, r14d
jne 0x1400bdb91
mov rax, qword [rdi + 8]
mov rcx, qword [rax]
cmp byte [rcx + 9], 5
jne 0x1400bd82c
test r13, r13
jne 0x1400bd82c
mov dword [rbp + 0x74], r13d
mov rax, qword [rdi + 8]
xor r9d, r9d
mov r14d, dword [rsp + 0x60]
mov rcx, rsi
mov r8d, r14d
mov edx, dword [rax + 0x34]
call fcn.1400382a0
test eax, eax
jne 0x1400bdb8b
cmp dword [rsp + 0x24], eax
jne 0x1400bd86d
mov edx, dword [rbp + 0x74]
xor r9d, r9d
mov r8d, r14d
mov rcx, rsi
call fcn.1400382a0
test eax, eax
jne 0x1400bdb8b
cmp byte [rbp + 0x67], 0
jne 0x1400bdb8b
movsx eax, byte [rbp + 0x6a]
test al, al
js 0x1400bd8b9
mov r14d, eax
jmp 0x1400bd900
test r13, r13
jne 0x1400bd816
mov rax, qword [rdi]
mov edx, dword [rax + 0x2f0]
mov rax, qword [rdi + 8]
mov rcx, qword [rax]
cmp edx, dword [rcx + 0x80]
jle 0x1400bd8b1
cmp byte [rcx + 0xa], r13b
je 0x1400bd8b1
call fcn.1400301d0
jmp 0x1400bd80a
xor r14d, r14d
jmp 0x1400bd80d
movzx eax, byte [rdi + 0x11]
test al, al
je 0x1400bd8d6
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x1400bd8d6
mov rcx, rdi
call fcn.140034fe0
movzx eax, byte [rdi + 0x11]
mov rcx, qword [rdi + 8]
xor r14d, r14d
cmp byte [rcx + 0x21], r14b
je 0x1400bd8ee
cmp byte [rcx + 0x22], r14b
setne r14b
inc r14d
test al, al
je 0x1400bd900
sub dword [rdi + 0x14], 1
jne 0x1400bd900
mov rcx, rdi
call fcn.140034f90
mov edx, r14d
mov rcx, rsi
call fcn.140038420
mov eax, dword [rsp + 0x28]
lea r8, str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
mov r12, qword [rsp + 0x40]
mov rdx, r15
mov r9, r12
mov byte [rbp + 0xc4], al
mov rcx, rbp
call fcn.1400bd0b0
mov r14d, eax
test eax, eax
jne 0x1400bdb91
mov r9, r12
lea r8, str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typeindex
mov rdx, r15
mov rcx, rbp
call fcn.1400bd0b0
mov r14d, eax
test eax, eax
jne 0x1400bdb91
mov r9, r12
mov byte [rbp + 0xc4], 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, r15
mov rcx, rbp
call fcn.1400bd0b0
and dword [rbp + 0x2c], 0xfffffffb
mov r14d, eax
test eax, eax
jne 0x1400bdb91
mov r9, r12
lea r8, str.INSERT_INTO_vacuum_db.sqlite_schema_SELECTFROM___w_.sqlite_schema_WHERE_type_IN_view_trigger__OR_typetableAND_rootpage0_
mov rdx, r15
mov rcx, rbp
call fcn.1400bd0b0
mov r14d, eax
test eax, eax
jne 0x1400bdb91
xor r15d, r15d
nop word [rax + rax]
movzx r8d, byte [rdi + 0x11]
lea rax, [0x140000000]
movzx r14d, byte [r15 + rax + 0xf4c38]
mov r12, qword [rdi + 8]
test r8b, r8b
je 0x1400bd9e4
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x1400bd9e4
mov rcx, rdi
call fcn.140034fe0
movzx r8d, byte [rdi + 0x11]
cmp r14d, 0xf
jne 0x1400bd9fb
mov rax, qword [r12]
mov r14d, dword [rax + 0x84]
add r14d, dword [rdi + 0x1c]
jmp 0x1400bda13
mov rax, qword [r12 + 0x18]
lea edx, [r14*4 + 0x24]
mov rcx, qword [rax + 0x50]
mov r14d, dword [rdx + rcx]
bswap r14d
test r8b, r8b
je 0x1400bda26
sub dword [rdi + 0x14], 1
jne 0x1400bda26
mov rcx, rdi
call fcn.140034f90
lea rax, [0x140000000]
mov rcx, rsi
movzx r8d, byte [r15 + rax + 0xf4c39]
movzx edx, byte [r15 + rax + 0xf4c38]
add r8d, r14d
call fcn.1400431f0
mov r14d, eax
test eax, eax
jne 0x1400bdb91
add r15, 2
cmp r15, 0xa
jl 0x1400bd9b0
test r13, r13
jne 0x1400bda7e
mov rdx, rsi
mov rcx, rdi
call fcn.140045a60
mov r14d, eax
test eax, eax
jne 0x1400bdb91
cmp byte [rsi + 0x11], 0
je 0x1400bda95
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], 0
jne 0x1400bda95
mov rcx, rsi
call fcn.140034fe0
xor edx, edx
mov rcx, rsi
call fcn.140039d50
mov r14d, eax
test eax, eax
jne 0x1400bdab3
xor edx, edx
mov rcx, rsi
call fcn.140039fa0
mov r14d, eax
cmp byte [rsi + 0x11], 0
je 0x1400bdac7
sub dword [rsi + 0x14], 1
jne 0x1400bdac7
mov rcx, rsi
call fcn.140034f90
test r14d, r14d
jne 0x1400bdb91
test r13, r13
jne 0x1400bdb91
movzx eax, byte [rsi + 0x11]
test al, al
je 0x1400bdaf6
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], r13b
jne 0x1400bdaf6
mov rcx, rsi
call fcn.140034fe0
movzx eax, byte [rsi + 0x11]
mov rcx, qword [rsi + 8]
xor r14d, r14d
cmp byte [rcx + 0x21], r14b
je 0x1400bdb0e
cmp byte [rcx + 0x22], r14b
setne r14b
inc r14d
test al, al
je 0x1400bdb20
sub dword [rsi + 0x14], 1
jne 0x1400bdb20
mov rcx, rsi
call fcn.140034f90
mov edx, r14d
mov rcx, rdi
call fcn.140038420
cmp byte [rsi + 0x11], 0
je 0x1400bdb42
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], 0
jne 0x1400bdb42
mov rcx, rsi
call fcn.140034fe0
mov rax, qword [rsi + 8]
mov r14d, dword [rax + 0x34]
sub r14d, dword [rax + 0x38]
cmp byte [rsi + 0x11], 0
movzx r15d, byte [rax + 0x26]
je 0x1400bdb67
sub dword [rsi + 0x14], 1
jne 0x1400bdb67
mov rcx, rsi
call fcn.140034f90
mov rax, qword [rsi + 8]
cmp r15d, r14d
mov r9d, 1
mov rcx, rdi
cmovg r14d, r15d
mov r8d, r14d
mov edx, dword [rax + 0x34]
call fcn.1400382a0
mov r14d, eax
jmp 0x1400bdb91
mov r14d, 7
mov eax, dword [rsp + 0x2c]
mov r9d, 1
mov dword [rbp + 0x2c], eax
xor r8d, r8d
mov rax, qword [rsp + 0x48]
mov edx, ebx
mov qword [rbp + 0x30], rax
mov rcx, rdi
mov rax, qword [rsp + 0x50]
mov qword [rbp + 0x78], rax
mov rax, qword [rsp + 0x58]
mov qword [rbp + 0x80], rax
movzx eax, byte [rsp + 0x20]
mov byte [rbp + 0x6e], al
mov byte [rbp + 0xc4], 0
call fcn.1400382a0
mov rbx, qword [rsp + 0x38]
mov r13, qword [rsp + 0x80]
mov byte [rbp + 0x65], 1
test rbx, rbx
je 0x1400bdc07
mov rcx, qword [rbx + 8]
call fcn.140037ef0
mov qword [rbx + 8], 0
mov qword [rbx + 0x18], 0
mov rcx, rbp
call fcn.140079450
mov eax, r14d
mov r14, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1400f1490
add rsp, 0x88
pop r15
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret