Function at 0x1400a8e00
Capabilities:
Reference sql statements

Disassembly:
push rsi
push r13
push r14
sub rsp, 0xc0
mov rax, qword [0x1400e8040]
xor rax, rsp
mov qword [rsp + 0x98], rax
xor r13d, r13d
mov r14, rdx
mov rsi, rcx
cmp byte [rdx + 0x4e], r13b
jne 0x1400a8e44
lea r8, str.cannot_VACUUM_from_within_a_transaction
call fcn.14002e380
mov eax, 1
jmp 0x1400a94c3
cmp dword [rdx + 0xa4], 1
jle 0x1400a8e63
lea r8, str.cannot_VACUUM___SQL_statements_in_progress
call fcn.14002e380
mov eax, 1
jmp 0x1400a94c3
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.1400a8c10
mov ebp, eax
movsxd rax, dword [r14 + 0x28]
cmp eax, edi
jle 0x1400a8f08
lea ecx, [rax - 1]
movsxd r13, ecx
shl r13, 5
add r13, qword [r14 + 0x20]
test ebp, ebp
jne 0x1400a93f2
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 0x1400a8f3f
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], bpl
jne 0x1400a8f3f
mov rcx, rdi
call fcn.140042740
xor edx, edx
mov rcx, rdi
call fcn.140045ec0
test eax, eax
jne 0x1400a8f57
xor edx, edx
mov rcx, rdi
call fcn.140046120
cmp byte [rdi + 0x11], 0
je 0x1400a8f6b
sub dword [rdi + 0x14], 1
jne 0x1400a8f6b
mov rcx, rdi
call fcn.140042710
cmp byte [rbx + 0x11], 0
je 0x1400a8f82
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1400a8f82
mov rcx, rbx
call fcn.140042740
mov rax, qword [rbx + 8]
mov r12d, dword [rax + 0x30]
sub r12d, dword [rax + 0x34]
cmp byte [rbx + 0x11], 0
je 0x1400a8fa2
sub dword [rbx + 0x14], 1
jne 0x1400a8fa2
mov rcx, rbx
call fcn.140042710
lea r8, str.PRAGMA_vacuum_db.synchronousOFF
mov rdx, rsi
mov rcx, r14
call fcn.1400a8c10
mov ebp, eax
test eax, eax
jne 0x1400a93ea
lea r8, str.BEGIN_
mov rdx, rsi
mov rcx, r14
call fcn.1400a8c10
mov ebp, eax
test eax, eax
jne 0x1400a93ea
mov edx, 2
mov rcx, rbx
call fcn.140044d80
mov ebp, eax
test eax, eax
jne 0x1400a93ea
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
cmp byte [rcx + 9], 5
jne 0x1400a9002
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.1400446f0
test eax, eax
jne 0x1400a93e5
test r15b, r15b
jne 0x1400a903e
mov edx, dword [r14 + 0x58]
xor r9d, r9d
mov r8d, r12d
mov rcx, rdi
call fcn.1400446f0
test eax, eax
jne 0x1400a93e5
cmp byte [r14 + 0x50], 0
jne 0x1400a93e5
movsx eax, byte [r14 + 0x52]
test al, al
js 0x1400a9056
mov ebp, eax
jmp 0x1400a9097
cmp byte [rbx + 0x11], 0
je 0x1400a906d
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1400a906d
mov rcx, rbx
call fcn.140042740
mov rax, qword [rbx + 8]
xor ebp, ebp
cmp byte [rax + 0x21], bpl
je 0x1400a9083
cmp byte [rax + 0x22], bpl
setne bpl
inc ebp
cmp byte [rbx + 0x11], 0
je 0x1400a9097
sub dword [rbx + 0x14], 1
jne 0x1400a9097
mov rcx, rbx
call fcn.140042710
mov edx, ebp
mov rcx, rdi
call fcn.140044860
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.1400a8d30
mov ebp, eax
test eax, eax
jne 0x1400a93ea
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.1400a8d30
mov ebp, eax
test eax, eax
jne 0x1400a93ea
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.1400a8d30
mov ebp, eax
test eax, eax
jne 0x1400a93ea
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.1400a8d30
mov ebp, eax
test eax, eax
jne 0x1400a93ea
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.1400a8d30
mov ebp, eax
test eax, eax
jne 0x1400a93ea
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.1400a8d30
mov ebp, eax
test eax, eax
jne 0x1400a93ea
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.1400a8c10
mov ebp, eax
test eax, eax
jne 0x1400a93ea
xor esi, esi
lea r15, [0x1400d1d90]
nop
cmp byte [rbx + 0x11], 0
movzx ebp, byte [rsi + r15]
mov r15, qword [rbx + 8]
je 0x1400a9190
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1400a9190
mov rcx, rbx
call fcn.140042740
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 + 0x24]
shl eax, 0x18
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx + rdx*4 + 0x27]
or ebp, eax
cmp byte [rbx + 0x11], 0
je 0x1400a91d2
sub dword [rbx + 0x14], 1
jne 0x1400a91d2
mov rcx, rbx
call fcn.140042710
lea r15, [0x1400d1d90]
mov rcx, rdi
movzx r8d, byte [rsi + r15 + 1]
movzx edx, byte [rsi + r15]
add r8d, ebp
call fcn.14004c500
mov ebp, eax
test eax, eax
jne 0x1400a93ea
add rsi, 2
cmp rsi, 0xa
jl 0x1400a9170
cmp byte [rbx + 0x11], al
je 0x1400a921c
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], al
jne 0x1400a921c
mov rcx, rbx
call fcn.140042740
cmp byte [rdi + 0x11], 0
je 0x1400a9233
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x1400a9233
mov rcx, rdi
call fcn.140042740
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x48]
mov r9, qword [rcx]
test r9, r9
je 0x1400a9282
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 0x1400a9305
jmp 0x1400a9284
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.14004e4e0
lea rcx, [rsp + 0x40]
call fcn.14004ebf0
mov ebp, eax
test eax, eax
jne 0x1400a92e8
mov rax, qword [rbx + 8]
mov ecx, 0xfffd
and word [rax + 0x26], cx
jmp 0x1400a9305
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx]
cmp byte [rcx + 0x13], 0
jne 0x1400a9305
cmp byte [rcx + 0x10], 0
jne 0x1400a9305
call fcn.14003a750
cmp byte [rdi + 0x11], 0
je 0x1400a9319
sub dword [rdi + 0x14], 1
jne 0x1400a9319
mov rcx, rdi
call fcn.140042710
cmp byte [rbx + 0x11], 0
je 0x1400a932d
sub dword [rbx + 0x14], 1
jne 0x1400a932d
mov rcx, rbx
call fcn.140042710
test ebp, ebp
jne 0x1400a93ea
cmp byte [rdi + 0x11], bpl
je 0x1400a934c
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], bpl
jne 0x1400a934c
mov rcx, rdi
call fcn.140042740
xor edx, edx
mov rcx, rdi
call fcn.140045ec0
mov ebp, eax
test eax, eax
jne 0x1400a9368
xor edx, edx
mov rcx, rdi
call fcn.140046120
mov ebp, eax
cmp byte [rdi + 0x11], 0
je 0x1400a937c
sub dword [rdi + 0x14], 1
jne 0x1400a937c
mov rcx, rdi
call fcn.140042710
test ebp, ebp
jne 0x1400a93ea
cmp byte [rdi + 0x11], bpl
je 0x1400a9397
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], bpl
jne 0x1400a9397
mov rcx, rdi
call fcn.140042740
mov rax, qword [rdi + 8]
cmp byte [rax + 0x21], 0
je 0x1400a93ab
cmp byte [rax + 0x22], 0
setne sil
inc esi
cmp byte [rdi + 0x11], 0
je 0x1400a93bf
sub dword [rdi + 0x14], 1
jne 0x1400a93bf
mov rcx, rdi
call fcn.140042710
mov edx, esi
mov rcx, rbx
call fcn.140044860
mov rax, qword [rdi + 8]
mov r9d, 1
mov r8d, r12d
mov rcx, rbx
mov edx, dword [rax + 0x30]
call fcn.1400446f0
mov ebp, eax
jmp 0x1400a93ea
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 0x1400a9431
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1400a9431
mov rcx, rbx
call fcn.140042740
test byte [r15 + 0x26], 2
jne 0x1400a9462
mov edi, dword [r15 + 0x30]
lea rdx, [r15 + 0x30]
sub edi, dword [r15 + 0x34]
mov rcx, qword [r15]
mov r8d, edi
call fcn.14003c340
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 0x1400a9476
sub dword [rbx + 0x14], 1
jne 0x1400a9476
mov rcx, rbx
call fcn.140042710
mov r15, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xf0]
mov byte [r14 + 0x4e], 1
test r13, r13
je 0x1400a94b1
mov rcx, qword [r13 + 8]
call fcn.1400443c0
mov qword [r13 + 8], 0
mov qword [r13 + 0x18], 0
mov rcx, r14
call fcn.140074390
mov eax, ebp
mov rbp, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.1400c3af0
add rsp, 0xc0
pop r14
pop r13
pop rsi
ret