Function at 0x1400a5040
Capabilities:
Reference sql statements

Disassembly:
push rbx
push rbp
push r13
push r15
sub rsp, 0x58
xor r13d, r13d
mov rbp, rdx
mov r15, rcx
cmp byte [rdx + 0x5f], r13b
jne 0x1400a514a
mov rbx, qword [rcx]
test rbx, rbx
je 0x1400a5103
cmp qword [rdx + 0x2a8], r13
je 0x1400a5083
mov rdx, rbx
mov rcx, rbp
call fcn.1400162c0
jmp 0x1400a5103
cmp rbx, qword [rdx + 0x190]
jb 0x1400a50a8
cmp rbx, qword [rdx + 0x198]
jae 0x1400a50a8
mov rax, qword [rdx + 0x188]
mov qword [rbx], rax
mov qword [rdx + 0x188], rbx
jmp 0x1400a5103
cmp dword [0x1400e60a0], r13d
je 0x1400a50fa
mov rcx, qword [0x1400e8c28]
test rcx, rcx
je 0x1400a50c3
call qword [0x1400e6130]
mov rcx, rbx
call qword [0x1400e60e8]
dec qword [0x1400e89b8]
movsxd rcx, eax
sub qword [0x1400e8970], rcx
mov rcx, rbx
call qword [0x1400e60d8]
mov rcx, qword [0x1400e8c28]
test rcx, rcx
je 0x1400a5103
call qword [0x1400e6140]
jmp 0x1400a5103
mov rcx, rbx
call qword [0x1400e60d8]
mov edx, 0x28
mov rcx, rbp
call fcn.1400167e0
test rax, rax
je 0x1400a5137
movups xmm0, xmmword [str.cannot_VACUUM_from_within_a_transaction]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1400d6330]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x1400d6340]
movsd qword [rax + 0x20], xmm0
mov qword [r15], rax
mov eax, 1
add rsp, 0x58
pop r15
pop r13
pop rbp
pop rbx
ret
cmp dword [rdx + 0xbc], 1
jle 0x1400a525b
mov rbx, qword [rcx]
test rbx, rbx
je 0x1400a51fc
cmp qword [rdx + 0x2a8], r13
je 0x1400a517c
mov rdx, rbx
mov rcx, rbp
call fcn.1400162c0
jmp 0x1400a51fc
cmp rbx, qword [rdx + 0x190]
jb 0x1400a51a1
cmp rbx, qword [rdx + 0x198]
jae 0x1400a51a1
mov rax, qword [rdx + 0x188]
mov qword [rbx], rax
mov qword [rdx + 0x188], rbx
jmp 0x1400a51fc
cmp dword [0x1400e60a0], r13d
je 0x1400a51f3
mov rcx, qword [0x1400e8c28]
test rcx, rcx
je 0x1400a51bc
call qword [0x1400e6130]
mov rcx, rbx
call qword [0x1400e60e8]
dec qword [0x1400e89b8]
movsxd rcx, eax
sub qword [0x1400e8970], rcx
mov rcx, rbx
call qword [0x1400e60d8]
mov rcx, qword [0x1400e8c28]
test rcx, rcx
je 0x1400a51fc
call qword [0x1400e6140]
jmp 0x1400a51fc
mov rcx, rbx
call qword [0x1400e60d8]
mov edx, 0x2b
mov rcx, rbp
call fcn.1400167e0
mov rcx, rax
test rax, rax
je 0x1400a5248
movups xmm0, xmmword [str.cannot_VACUUM___SQL_statements_in_progress]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x1400d6358]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x1400d6368]
movsd qword [rax + 0x20], xmm0
movzx eax, word [0x1400d6370]
mov word [rcx + 0x28], ax
movzx eax, byte [0x1400d6372]
mov byte [rcx + 0x2a], al
mov qword [r15], rcx
mov eax, 1
add rsp, 0x58
pop r15
pop r13
pop rbp
pop rbx
ret
mov eax, dword [rdx + 0x30]
movzx ecx, word [rdx + 0x2c]
or dword [rdx + 0x2c], 6
mov word [rsp + 0x98], cx
mov ecx, dword [rdx + 0x74]
mov dword [rsp + 0x2c], ecx
mov ecx, dword [rdx + 0x78]
mov dword [rsp + 0x28], eax
and eax, 0xffffaf7f
mov qword [rsp + 0x80], rsi
or eax, 0x201
mov dword [rdx + 0x30], eax
mov rax, qword [rdx + 0x20]
mov dword [rsp + 0x30], ecx
movzx ecx, byte [rdx + 0x68]
mov byte [rdx + 0x68], r13b
mov byte [rsp + 0x88], cl
movsxd rsi, r8d
lea r8, str.ATTACHAS_vacuum_db
mov qword [rsp + 0x50], rdi
movsxd rdi, dword [rdx + 0x28]
mov rdx, r15
shl rsi, 5
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x24], edi
mov rcx, qword [rsi + rax]
mov rbx, qword [rsi + rax + 8]
mov qword [rsp + 0x38], rcx
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
movzx r12d, byte [rcx + 0x10]
mov rcx, rbp
call fcn.1400a4bc0
mov r14d, eax
test eax, eax
jne 0x1400a5748
mov r13, rdi
shl r13, 5
add r13, qword [rbp + 0x20]
mov rdi, qword [r13 + 8]
cmp byte [rdi + 0x11], al
je 0x1400a5321
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], al
jne 0x1400a5321
mov rcx, rdi
call fcn.14002d2c0
xor edx, edx
mov rcx, rdi
call fcn.140031ae0
test eax, eax
jne 0x1400a5339
xor edx, edx
mov rcx, rdi
call fcn.140031d20
cmp byte [rdi + 0x11], 0
je 0x1400a534d
sub dword [rdi + 0x14], 1
jne 0x1400a534d
mov rcx, rdi
call fcn.14002d270
cmp byte [rbx + 0x11], 0
je 0x1400a5364
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1400a5364
mov rcx, rbx
call fcn.14002d2c0
mov rax, qword [rbx + 8]
mov ecx, dword [rax + 0x30]
sub ecx, dword [rax + 0x34]
cmp byte [rbx + 0x11], 0
mov dword [rsp + 0x20], ecx
je 0x1400a5386
sub dword [rbx + 0x14], 1
jne 0x1400a5386
mov rcx, rbx
call fcn.14002d270
mov rax, qword [rbp + 0x20]
mov rcx, rdi
mov rdx, qword [rsi + rax + 0x18]
mov edx, dword [rdx + 0x74]
call fcn.140030090
movzx r8d, byte [rbx + 0x11]
mov rsi, qword [rbx + 8]
test r8b, r8b
je 0x1400a53be
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1400a53be
mov rcx, rbx
call fcn.14002d2c0
movzx r8d, byte [rbx + 0x11]
mov rax, qword [rsi]
mov rsi, qword [rax + 0x118]
movsxd rdx, dword [rsi + 0x1c]
test edx, edx
jns 0x1400a53eb
mov eax, dword [rsi + 0x28]
add eax, dword [rsi + 0x24]
movsxd rcx, eax
mov rax, rdx
neg rax
shl rax, 0xa
cqo
idiv rcx
mov rdx, rax
mov esi, dword [rsi + 0x20]
cmp edx, esi
cmovge esi, edx
test r8b, r8b
je 0x1400a5406
sub dword [rbx + 0x14], 1
jne 0x1400a5406
mov rcx, rbx
call fcn.14002d270
mov edx, esi
mov rcx, rdi
call fcn.140030120
cmp byte [rdi + 0x11], 0
mov rsi, qword [rdi + 8]
je 0x1400a542b
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x1400a542b
mov rcx, rdi
call fcn.14002d2c0
mov rax, qword [rsi]
mov dword [rax + 0xb], 1
and byte [rax + 0x18], 0xfe
mov byte [rax + 0xf], 0
cmp byte [rdi + 0x11], 0
je 0x1400a5451
sub dword [rdi + 0x14], 1
jne 0x1400a5451
mov rcx, rdi
call fcn.14002d270
lea r8, str.BEGIN
mov rdx, r15
mov rcx, rbp
call fcn.1400a4bc0
mov r14d, eax
test eax, eax
jne 0x1400a5748
lea edx, [rax + 2]
mov rcx, rbx
call fcn.140030990
mov r14d, eax
test eax, eax
jne 0x1400a5748
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
cmp byte [rcx + 9], 5
jne 0x1400a5495
mov dword [rbp + 0x6c], r14d
mov rax, qword [rbx + 8]
xor r9d, r9d
mov esi, dword [rsp + 0x20]
mov rcx, rdi
mov r8d, esi
mov edx, dword [rax + 0x30]
call fcn.1400302f0
test eax, eax
jne 0x1400a5742
test r12b, r12b
jne 0x1400a54d4
mov edx, dword [rbp + 0x6c]
xor r9d, r9d
mov r8d, esi
mov rcx, rdi
call fcn.1400302f0
test eax, eax
jne 0x1400a5742
cmp byte [rbp + 0x61], 0
jne 0x1400a5742
movsx eax, byte [rbp + 0x64]
test al, al
js 0x1400a54ea
mov esi, eax
jmp 0x1400a552f
movzx eax, byte [rbx + 0x11]
test al, al
je 0x1400a5507
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1400a5507
mov rcx, rbx
call fcn.14002d2c0
movzx eax, byte [rbx + 0x11]
mov rcx, qword [rbx + 8]
xor esi, esi
cmp byte [rcx + 0x21], sil
je 0x1400a551d
cmp byte [rcx + 0x22], sil
setne sil
inc esi
test al, al
je 0x1400a552f
sub dword [rbx + 0x14], 1
jne 0x1400a552f
mov rcx, rbx
call fcn.14002d270
mov edx, esi
mov rcx, rdi
call fcn.140030460
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 rsi, qword [rsp + 0x38]
mov rdx, r15
mov r9, rsi
mov byte [rbp + 0xb4], al
mov rcx, rbp
call fcn.1400a4dd0
mov r14d, eax
test eax, eax
jne 0x1400a5748
mov r9, rsi
lea r8, str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typeindex
mov rdx, r15
mov rcx, rbp
call fcn.1400a4dd0
mov r14d, eax
test eax, eax
jne 0x1400a5748
mov r9, rsi
mov byte [rbp + 0xb4], 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, r15
mov rcx, rbp
call fcn.1400a4dd0
and dword [rbp + 0x2c], 0xfffffffb
mov r14d, eax
test eax, eax
jne 0x1400a5748
mov r9, rsi
lea r8, str.INSERT_INTO_vacuum_db.sqlite_master_SELECTFROM___w_.sqlite_master_WHERE_type_IN_view_trigger__OR_typetableAND_rootpage0_
mov rdx, r15
mov rcx, rbp
call fcn.1400a4dd0
mov r14d, eax
test eax, eax
jne 0x1400a5748
xor r15d, r15d
lea r12, [0x1400cb3b0]
nop dword [rax]
movzx r8d, byte [rbx + 0x11]
movzx esi, byte [r15 + r12]
mov r14, qword [rbx + 8]
test r8b, r8b
je 0x1400a5609
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1400a5609
mov rcx, rbx
call fcn.14002d2c0
movzx r8d, byte [rbx + 0x11]
cmp esi, 0xf
jne 0x1400a561c
mov rax, qword [r14]
mov esi, dword [rbx + 0x1c]
add esi, dword [rax + 0x84]
jmp 0x1400a5630
mov rax, qword [r14 + 0x18]
lea edx, [rsi*4 + 0x24]
mov rcx, qword [rax + 0x50]
mov esi, dword [rdx + rcx]
bswap esi
test r8b, r8b
je 0x1400a5643
sub dword [rbx + 0x14], 1
jne 0x1400a5643
mov rcx, rbx
call fcn.14002d270
movzx r8d, byte [r15 + r12 + 1]
mov rcx, rdi
movzx edx, byte [r15 + r12]
add r8d, esi
call fcn.140039b40
mov r14d, eax
test eax, eax
jne 0x1400a5748
add r15, 2
cmp r15, 0xa
jl 0x1400a55e0
mov rdx, rdi
mov rcx, rbx
call fcn.14003c530
mov r14d, eax
test eax, eax
jne 0x1400a5748
cmp byte [rdi + 0x11], al
je 0x1400a569d
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], al
jne 0x1400a569d
mov rcx, rdi
call fcn.14002d2c0
xor edx, edx
mov rcx, rdi
call fcn.140031ae0
mov r14d, eax
test eax, eax
jne 0x1400a56bb
xor edx, edx
mov rcx, rdi
call fcn.140031d20
mov r14d, eax
cmp byte [rdi + 0x11], 0
je 0x1400a56cf
sub dword [rdi + 0x14], 1
jne 0x1400a56cf
mov rcx, rdi
call fcn.14002d270
test r14d, r14d
jne 0x1400a5748
movzx eax, byte [rdi + 0x11]
test al, al
je 0x1400a56f1
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], r14b
jne 0x1400a56f1
mov rcx, rdi
call fcn.14002d2c0
movzx eax, byte [rdi + 0x11]
mov rcx, qword [rdi + 8]
xor esi, esi
cmp byte [rcx + 0x21], sil
je 0x1400a5707
cmp byte [rcx + 0x22], sil
setne sil
inc esi
test al, al
je 0x1400a5719
sub dword [rdi + 0x14], 1
jne 0x1400a5719
mov rcx, rdi
call fcn.14002d270
mov edx, esi
mov rcx, rbx
call fcn.140030460
mov rax, qword [rdi + 8]
mov r9d, 1
mov r8d, dword [rsp + 0x20]
mov rcx, rbx
mov edx, dword [rax + 0x30]
call fcn.1400302f0
mov r14d, eax
jmp 0x1400a5748
mov r14d, 7
movzx eax, word [rsp + 0x98]
mov r12, qword [rsp + 0x48]
mov dword [rbp + 0x2c], eax
mov eax, dword [rsp + 0x28]
mov dword [rbp + 0x30], eax
mov eax, dword [rsp + 0x2c]
mov dword [rbp + 0x74], eax
mov eax, dword [rsp + 0x30]
mov dword [rbp + 0x78], eax
movzx eax, byte [rsp + 0x88]
mov byte [rbp + 0x68], al
mov byte [rbp + 0xb4], 0
cmp byte [rbx + 0x11], 0
mov r15, qword [rbx + 8]
je 0x1400a579a
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1400a579a
mov rcx, rbx
call fcn.14002d2c0
test byte [r15 + 0x26], 2
jne 0x1400a57cb
mov edi, dword [r15 + 0x30]
lea rdx, [r15 + 0x30]
sub edi, dword [r15 + 0x34]
mov rcx, qword [r15]
mov r8d, edi
call fcn.140026130
mov ecx, dword [r15 + 0x30]
movzx eax, di
sub ecx, eax
or word [r15 + 0x26], 2
mov dword [r15 + 0x34], ecx
cmp byte [rbx + 0x11], 0
je 0x1400a57df
sub dword [rbx + 0x14], 1
jne 0x1400a57df
mov rcx, rbx
call fcn.14002d270
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x80]
mov byte [rbp + 0x5f], 1
test r13, r13
je 0x1400a5808
mov rcx, qword [r13 + 8]
call fcn.14002fdc0
xor eax, eax
mov qword [r13 + 8], rax
mov qword [r13 + 0x18], rax
mov rcx, rbp
call fcn.140068f80
mov eax, r14d
mov r14, qword [rsp + 0x40]
add rsp, 0x58
pop r15
pop r13
pop rbp
pop rbx
ret