Function at 0x1400876a0
Capabilities:
Reference sql statements

Disassembly:
push rsi
push r13
push r14
sub rsp, 0xc0
mov rax, qword [0x1400e3040]
xor rax, rsp
mov qword [rsp + 0x98], rax
xor r13d, r13d
mov r14, rdx
mov rsi, rcx
cmp byte [rdx + 0x4e], r13b
jne 0x1400876e3
lea r8, str.cannot_VACUUM_from_within_a_transaction
call fcn.14000d770
lea eax, [r13 + 1]
jmp 0x140087d63
cmp dword [rdx + 0xa4], 1
jle 0x140087702
lea r8, str.cannot_VACUUM___SQL_statements_in_progress
call fcn.14000d770
mov eax, 1
jmp 0x140087d63
mov eax, dword [rdx + 0x2c]
lea r8, str.ATTACH_:memory:_AS_vacuum_db_
mov ecx, dword [rdx + 0x60]
mov dword [rsp + 0x20], eax
and eax, 0xfff5ffff
mov qword [rsp + 0xf0], rbx
or eax, 0x202800
mov rbx, qword [rdx + 0x20]
cmp byte [rdx + 0x4f], 2
mov dword [rdx + 0x2c], eax
mov dword [rsp + 0x24], ecx
mov ecx, dword [rdx + 0x64]
mov dword [rsp + 0x28], ecx
mov rcx, qword [rdx + 0xc0]
mov qword [rdx + 0xc0], r13
mov rbx, qword [rbx + 8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0xb8], rbp
mov qword [rsp + 0xb0], rdi
mov rax, qword [rbx + 8]
mov edi, dword [rdx + 0x28]
mov rdx, rsi
mov qword [rsp + 0xa0], r15
mov rcx, qword [rax]
lea rax, str.ATTACH__AS_vacuum_db_
cmovne r8, rax
movzx r15d, byte [rcx + 0x13]
mov rcx, r14
call fcn.1400874b0
mov ebp, eax
movsxd rax, dword [r14 + 0x28]
cmp eax, edi
jle 0x1400877a7
lea ecx, [rax - 1]
movsxd r13, ecx
shl r13, 5
add r13, qword [r14 + 0x20]
test ebp, ebp
jne 0x140087c92
mov rcx, rax
mov qword [rsp + 0xa8], r12
mov rax, qword [r14 + 0x20]
shl rcx, 5
mov rdi, qword [rcx + rax - 0x18]
cmp byte [rdi + 0x11], bpl
je 0x1400877de
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], bpl
jne 0x1400877de
mov rcx, rdi
call fcn.140021850
xor edx, edx
mov rcx, rdi
call fcn.140024fa0
test eax, eax
jne 0x1400877f6
xor edx, edx
mov rcx, rdi
call fcn.140025210
cmp byte [rdi + 0x11], 0
je 0x14008780a
sub dword [rdi + 0x14], 1
jne 0x14008780a
mov rcx, rdi
call fcn.140021820
cmp byte [rbx + 0x11], 0
je 0x140087821
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x140087821
mov rcx, rbx
call fcn.140021850
mov rax, qword [rbx + 8]
mov r12d, dword [rax + 0x30]
sub r12d, dword [rax + 0x34]
cmp byte [rbx + 0x11], 0
je 0x140087841
sub dword [rbx + 0x14], 1
jne 0x140087841
mov rcx, rbx
call fcn.140021820
lea r8, str.PRAGMA_vacuum_db.synchronousOFF
mov rdx, rsi
mov rcx, r14
call fcn.1400874b0
mov ebp, eax
test eax, eax
jne 0x140087c8a
lea r8, str.BEGIN_
mov rdx, rsi
mov rcx, r14
call fcn.1400874b0
mov ebp, eax
test eax, eax
jne 0x140087c8a
lea edx, [rax + 2]
mov rcx, rbx
call fcn.140023e60
mov ebp, eax
test eax, eax
jne 0x140087c8a
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
cmp byte [rcx + 9], 5
jne 0x14008789f
mov dword [r14 + 0x58], ebp
mov rax, qword [rbx + 8]
xor r9d, r9d
mov r8d, r12d
mov rcx, rdi
mov edx, dword [rax + 0x30]
call fcn.140023810
test eax, eax
jne 0x140087c85
test r15b, r15b
jne 0x1400878db
mov edx, dword [r14 + 0x58]
xor r9d, r9d
mov r8d, r12d
mov rcx, rdi
call fcn.140023810
test eax, eax
jne 0x140087c85
cmp byte [r14 + 0x50], 0
jne 0x140087c85
movsx eax, byte [r14 + 0x52]
test al, al
js 0x1400878f3
mov ebp, eax
jmp 0x140087934
cmp byte [rbx + 0x11], 0
je 0x14008790a
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14008790a
mov rcx, rbx
call fcn.140021850
mov rax, qword [rbx + 8]
xor ebp, ebp
cmp byte [rax + 0x21], bpl
je 0x140087920
cmp byte [rax + 0x22], bpl
setne bpl
inc ebp
cmp byte [rbx + 0x11], 0
je 0x140087934
sub dword [rbx + 0x14], 1
jne 0x140087934
mov rcx, rbx
call fcn.140021820
mov edx, ebp
mov rcx, rdi
call fcn.140023980
lea r8, str.SELECT_CREATE_TABLE_vacuum_db.__substr_sql_14____FROM_sqlite_master_WHERE_typetable_AND_name_sqlite_sequence___AND_coalesce_rootpage_1__0
mov rdx, rsi
mov rcx, r14
call fcn.1400875d0
mov ebp, eax
test eax, eax
jne 0x140087c8a
lea r8, str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
mov rdx, rsi
mov rcx, r14
call fcn.1400875d0
mov ebp, eax
test eax, eax
jne 0x140087c8a
lea r8, str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
mov rdx, rsi
mov rcx, r14
call fcn.1400875d0
mov ebp, eax
test eax, eax
jne 0x140087c8a
lea r8, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM_main.__quote_name____FROM_main.sqlite_master_WHERE_type__table_AND_name_sqlite_sequence___AND_coalesce_rootpage_1__0
mov rdx, rsi
mov rcx, r14
call fcn.1400875d0
mov ebp, eax
test eax, eax
jne 0x140087c8a
lea r8, str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
mov rdx, rsi
mov rcx, r14
call fcn.1400875d0
mov ebp, eax
test eax, eax
jne 0x140087c8a
lea r8, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM_main.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence_
mov rdx, rsi
mov rcx, r14
call fcn.1400875d0
mov ebp, eax
test eax, eax
jne 0x140087c8a
lea r8, str.INSERT_INTO_vacuum_db.sqlite_master___SELECT_type__name__tbl_name__rootpage__sql____FROM_main.sqlite_master___WHERE_typeview_OR_typetrigger______OR__typetable_AND_rootpage0_
mov rdx, rsi
mov rcx, r14
call fcn.1400874b0
mov ebp, eax
test eax, eax
jne 0x140087c8a
xor esi, esi
lea r15, [0x1400cd130]
nop dword [rax + rax]
cmp byte [rbx + 0x11], 0
movzx ebp, byte [rsi + r15]
mov r15, qword [rbx + 8]
je 0x140087a30
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x140087a30
mov rcx, rbx
call fcn.140021850
mov rax, qword [r15 + 0x18]
mov rdx, rbp
mov rcx, qword [rax + 0x50]
movzx ebp, byte [rcx + rbp*4 + 0x25]
movzx eax, byte [rcx + rdx*4 + 0x26]
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx + rdx*4 + 0x27]
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx + rdx*4 + 0x24]
shl eax, 0x18
or ebp, eax
cmp byte [rbx + 0x11], 0
je 0x140087a72
sub dword [rbx + 0x14], 1
jne 0x140087a72
mov rcx, rbx
call fcn.140021820
lea r15, [0x1400cd130]
mov rcx, rdi
movzx r8d, byte [rsi + r15 + 1]
movzx edx, byte [rsi + r15]
add r8d, ebp
call fcn.14002b5a0
mov ebp, eax
test eax, eax
jne 0x140087c8a
add rsi, 2
cmp rsi, 0xa
jl 0x140087a10
cmp byte [rbx + 0x11], al
je 0x140087abc
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x140087abc
mov rcx, rbx
call fcn.140021850
cmp byte [rdi + 0x11], 0
je 0x140087ad3
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x140087ad3
mov rcx, rdi
call fcn.140021850
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x48]
mov r9, qword [rcx]
test r9, r9
je 0x140087b22
mov rax, qword [rdi + 8]
lea r8, [rsp + 0x90]
mov edx, dword [rax + 0x3c]
movsxd rax, dword [rax + 0x30]
imul rdx, rax
mov qword [rsp + 0x90], rdx
mov edx, 0xb
call qword [r9 + 0x50]
xor esi, esi
cmp eax, 0xc
mov ebp, esi
cmovne ebp, eax
test ebp, ebp
jne 0x140087ba5
jmp 0x140087b24
xor esi, esi
mov rax, qword [rdi]
lea rcx, [rsp + 0x40]
xorps xmm0, xmm0
mov qword [rsp + 0x60], rax
mov edx, 0x7fffffff
movdqa xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], 1
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x48], rbx
call fcn.14002d590
lea rcx, [rsp + 0x40]
call fcn.14002dca0
mov ebp, eax
test eax, eax
jne 0x140087b88
mov rax, qword [rbx + 8]
mov ecx, 0xfffd
and word [rax + 0x26], cx
jmp 0x140087ba5
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx]
cmp byte [rcx + 0x13], 0
jne 0x140087ba5
cmp byte [rcx + 0x10], 0
jne 0x140087ba5
call fcn.140019a40
cmp byte [rdi + 0x11], 0
je 0x140087bb9
sub dword [rdi + 0x14], 1
jne 0x140087bb9
mov rcx, rdi
call fcn.140021820
cmp byte [rbx + 0x11], 0
je 0x140087bcd
sub dword [rbx + 0x14], 1
jne 0x140087bcd
mov rcx, rbx
call fcn.140021820
test ebp, ebp
jne 0x140087c8a
cmp byte [rdi + 0x11], bpl
je 0x140087bec
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], bpl
jne 0x140087bec
mov rcx, rdi
call fcn.140021850
xor edx, edx
mov rcx, rdi
call fcn.140024fa0
mov ebp, eax
test eax, eax
jne 0x140087c08
xor edx, edx
mov rcx, rdi
call fcn.140025210
mov ebp, eax
cmp byte [rdi + 0x11], 0
je 0x140087c1c
sub dword [rdi + 0x14], 1
jne 0x140087c1c
mov rcx, rdi
call fcn.140021820
test ebp, ebp
jne 0x140087c8a
cmp byte [rdi + 0x11], bpl
je 0x140087c37
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], bpl
jne 0x140087c37
mov rcx, rdi
call fcn.140021850
mov rax, qword [rdi + 8]
cmp byte [rax + 0x21], 0
je 0x140087c4b
cmp byte [rax + 0x22], 0
setne sil
inc esi
cmp byte [rdi + 0x11], 0
je 0x140087c5f
sub dword [rdi + 0x14], 1
jne 0x140087c5f
mov rcx, rdi
call fcn.140021820
mov edx, esi
mov rcx, rbx
call fcn.140023980
mov rax, qword [rdi + 8]
mov r9d, 1
mov r8d, r12d
mov rcx, rbx
mov edx, dword [rax + 0x30]
call fcn.140023810
mov ebp, eax
jmp 0x140087c8a
mov ebp, 7
mov r12, qword [rsp + 0xa8]
mov eax, dword [rsp + 0x20]
mov dword [r14 + 0x2c], eax
mov eax, dword [rsp + 0x24]
mov dword [r14 + 0x60], eax
mov eax, dword [rsp + 0x28]
mov dword [r14 + 0x64], eax
mov rax, qword [rsp + 0x30]
mov qword [r14 + 0xc0], rax
cmp byte [rbx + 0x11], 0
mov r15, qword [rbx + 8]
je 0x140087cd1
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x140087cd1
mov rcx, rbx
call fcn.140021850
test byte [r15 + 0x26], 2
jne 0x140087d02
mov edi, dword [r15 + 0x30]
lea rdx, [r15 + 0x30]
sub edi, dword [r15 + 0x34]
mov rcx, qword [r15]
mov r8d, edi
call fcn.14001b630
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 0x140087d16
sub dword [rbx + 0x14], 1
jne 0x140087d16
mov rcx, rbx
call fcn.140021820
mov r15, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xf0]
mov byte [r14 + 0x4e], 1
test r13, r13
je 0x140087d51
mov rcx, qword [r13 + 8]
call fcn.1400234e0
mov qword [r13 + 8], 0
mov qword [r13 + 0x18], 0
mov rcx, r14
call fcn.140052fc0
mov eax, ebp
mov rbp, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.1400a1280
add rsp, 0xc0
pop r14
pop r13
pop rsi
ret