Function at 0x1400e7a30
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push r12
push r14
push r15
sub rsp, 0x60
xor r14d, r14d
mov r12, rdx
mov r15, rcx
cmp byte [rdx + 0x5f], r14b
jne 0x1400e7a64
lea r8, str.cannot_VACUUM_from_within_a_transaction
call fcn.140063860
lea eax, [r14 + 1]
add rsp, 0x60
pop r15
pop r14
pop r12
ret
cmp dword [rdx + 0xbc], 1
jle 0x1400e7a89
lea r8, str.cannot_VACUUM___SQL_statements_in_progress
call fcn.140063860
mov eax, 1
add rsp, 0x60
pop r15
pop r14
pop r12
ret
movzx ecx, word [rdx + 0x2c]
or dword [rdx + 0x2c], 6
mov eax, dword [rdx + 0x30]
mov word [rsp + 0x98], cx
mov ecx, dword [rdx + 0x74]
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x30], ecx
mov ecx, dword [rdx + 0x78]
and eax, 0xffffaf7f
or eax, 0x201
mov dword [rsp + 0x34], ecx
movzx ecx, byte [rdx + 0x68]
mov dword [rdx + 0x30], eax
mov rax, qword [rdx + 0x20]
mov byte [rdx + 0x68], r14b
mov byte [rsp + 0x88], cl
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x50], rsi
movsxd rsi, dword [rdx + 0x28]
mov qword [rsp + 0x48], rdi
movsxd rdi, r8d
lea r8, str.ATTACHAS_vacuum_db
mov rdx, r15
shl rdi, 5
mov dword [rsp + 0x28], esi
mov rcx, qword [rdi + rax]
mov rbp, qword [rdi + rax + 8]
mov rax, qword [rbp + 8]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rax]
movzx eax, byte [rcx + 0x10]
mov rcx, r12
mov dword [rsp + 0x24], eax
call fcn.1400e7770
mov ebx, eax
test eax, eax
jne 0x1400e8060
mov r14, rsi
mov qword [rsp + 0x40], r13
shl r14, 5
add r14, qword [r12 + 0x20]
mov r13, qword [r14 + 8]
mov rcx, r13
call fcn.14007c050
cmp byte [rbp + 0x11], bl
je 0x1400e7b5f
inc dword [rbp + 0x14]
cmp byte [rbp + 0x12], bl
jne 0x1400e7b5f
mov rcx, rbp
call fcn.140077bd0
mov rax, qword [rbp + 8]
mov ecx, dword [rax + 0x30]
sub ecx, dword [rax + 0x34]
cmp byte [rbp + 0x11], 0
mov dword [rsp + 0x20], ecx
je 0x1400e7b81
add dword [rbp + 0x14], 0xffffffff
jne 0x1400e7b81
mov rcx, rbp
call fcn.140077ba0
mov rax, qword [r12 + 0x20]
mov rcx, qword [rdi + rax + 0x18]
mov edx, dword [rcx + 0x74]
mov rcx, r13
call fcn.14007a6b0
xor edx, edx
mov rcx, rbp
call fcn.14007a740
mov rcx, r13
mov edx, eax
call fcn.14007a740
mov edx, 0x21
mov rcx, r13
call fcn.14007a800
lea r8, str.BEGIN
mov rdx, r15
mov rcx, r12
call fcn.1400e7770
mov ebx, eax
test eax, eax
jne 0x1400e805b
mov rdi, qword [rbp + 8]
cmp byte [rbp + 0x11], al
je 0x1400e7bec
inc dword [rbp + 0x14]
cmp byte [rbp + 0x12], al
jne 0x1400e7bec
mov rcx, rbp
call fcn.140077bd0
cmp byte [rbp + 0x10], 2
je 0x1400e7e60
mov rax, qword [rbp]
bt dword [rax + 0x30], 0x19
jae 0x1400e7c13
mov rax, qword [rdi]
cmp byte [rax + 0x12], 0
jne 0x1400e7c13
mov eax, 0xfffe
and word [rdi + 0x26], ax
movzx edx, word [rdi + 0x26]
test dl, 1
je 0x1400e7c26
mov ebx, 8
jmp 0x1400e7e86
cmp byte [rdi + 0x24], 2
je 0x1400e7c64
test dl, dl
js 0x1400e7c64
mov rax, qword [rdi + 0x70]
test rax, rax
je 0x1400e7c4e
nop dword [rax]
cmp qword [rax], rbp
jne 0x1400e7c5c
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400e7c40
cmp byte [rbp + 0x11], 0
mov rax, qword [rbp + 8]
jne 0x1400e7c7a
xor ebx, ebx
jmp 0x1400e7cbc
mov rax, qword [rax]
mov rcx, qword [rax]
jmp 0x1400e7c6b
mov rax, qword [rdi + 0x78]
mov rcx, qword [rax]
test rcx, rcx
je 0x1400e7c4e
mov ebx, delete[]
jmp 0x1400e7e86
cmp qword [rax + 0x78], rbp
je 0x1400e7c90
test byte [rax + 0x26], 0x40
je 0x1400e7c90
mov ebx, delete[]
jmp 0x1400e7e86
mov rax, qword [rax + 0x70]
test rax, rax
je 0x1400e7cba
nop dword [rax]
cmp qword [rax], rbp
je 0x1400e7cb1
cmp dword [rax + 8], 1
jne 0x1400e7cb1
cmp byte [rax + 0xc], 1
jne 0x1400e7ced
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400e7ca0
xor ebx, ebx
mov eax, 0xffef
and dx, ax
cmp dword [rdi + 0x3c], 0
mov word [rdi + 0x26], dx
jne 0x1400e7cd6
or dx, 0x10
mov word [rdi + 0x26], dx
cmp qword [rdi + 0x18], 0
jne 0x1400e7cf7
mov rcx, rdi
call fcn.14007ab20
mov ebx, eax
test eax, eax
je 0x1400e7cd6
jmp 0x1400e7d3c
mov ebx, delete[]
jmp 0x1400e7e86
test ebx, ebx
jne 0x1400e7d3c
test byte [rdi + 0x26], 1
je 0x1400e7d08
mov ebx, 8
jmp 0x1400e7d3c
mov rax, qword [rbp]
mov rcx, qword [rdi]
xor r8d, r8d
cmp byte [rax + 0x60], 2
mov edx, 1
sete r8b
call fcn.1400731d0
mov ebx, eax
test eax, eax
jne 0x1400e7db6
mov rcx, rdi
call fcn.14007ae30
mov ebx, eax
test ebx, ebx
je 0x1400e7d76
cmp byte [rdi + 0x24], 0
jne 0x1400e7d76
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x1400e7d76
mov qword [rdi + 0x18], 0
mov rcx, qword [rcx + 0x70]
mov rsi, qword [rcx + 0x28]
call fcn.14006ca50
mov r11, qword [rsi + 0x118]
cmp dword [r11 + 0x18], 0
jne 0x1400e7d76
mov rcx, rsi
call fcn.14006f6d0
cmp bl, 5
jne 0x1400e7df3
cmp byte [rdi + 0x24], 0
jne 0x1400e7df3
mov rax, qword [rdi]
mov rsi, qword [rdi + 8]
mov r8, qword [rax + 0x48]
mov rax, qword [rsi + 0x228]
test rax, rax
je 0x1400e7df3
mov edx, dword [rsi + 0x238]
test edx, edx
js 0x1400e7df3
cmp byte [rsi + 0x23c], 0
je 0x1400e7dd1
mov rcx, qword [rsi + 0x230]
call rax
jmp 0x1400e7dda
cmp eax, 0x205
jne 0x1400e7d38
cmp byte [rdi + 0x24], 0
jne 0x1400e7d76
mov ebx, 5
jmp 0x1400e7d3c
mov rcx, qword [rsi + 0x230]
call rax
test eax, eax
je 0x1400e7de9
inc dword [rsi + 0x238]
jmp 0x1400e7cd6
mov dword [rsi + 0x238], 0xffffffff
test ebx, ebx
jne 0x1400e7e86
cmp byte [rbp + 0x10], bl
jne 0x1400e7e1c
inc dword [rdi + 0x38]
cmp byte [rbp + 0x11], bl
je 0x1400e7e1c
mov byte [rbp + 0x3c], 1
mov rax, qword [rdi + 0x70]
mov qword [rbp + 0x40], rax
lea rax, [rbp + 0x30]
mov qword [rdi + 0x70], rax
mov byte [rbp + 0x10], 2
cmp byte [rdi + 0x24], 2
jae 0x1400e7e2a
mov byte [rdi + 0x24], 2
or word [rdi + 0x26], 0x40
mov rsi, qword [rdi + 0x18]
mov qword [rdi + 0x78], rbp
mov rax, qword [rsi + 0x50]
mov ecx, dword [rax + 0x1c]
bswap ecx
cmp dword [rdi + 0x3c], ecx
je 0x1400e7e60
mov rcx, qword [rsi + 0x70]
call fcn.1400737c0
mov ebx, eax
test eax, eax
jne 0x1400e7e86
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rsi + 0x50]
bswap ecx
mov dword [rax + 0x1c], ecx
mov rax, qword [rbp]
mov rcx, qword [rdi]
mov edx, dword [rax + 0x28c]
cmp edx, dword [rcx + 0x80]
jle 0x1400e7e84
cmp byte [rcx + 0xa], 0
je 0x1400e7e84
call fcn.140073d80
mov ebx, eax
jmp 0x1400e7e86
xor ebx, ebx
cmp byte [rbp + 0x11], 0
je 0x1400e7e9a
add dword [rbp + 0x14], 0xffffffff
jne 0x1400e7e9a
mov rcx, rbp
call fcn.140077ba0
test ebx, ebx
jne 0x1400e805b
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
cmp byte [rcx + 9], 5
jne 0x1400e7eb4
mov dword [r12 + 0x6c], ebx
mov rax, qword [rbp + 8]
mov esi, dword [rsp + 0x20]
xor r9d, r9d
mov edx, dword [rax + 0x30]
mov r8d, esi
mov rcx, r13
call fcn.14007a860
test eax, eax
jne 0x1400e8056
cmp dword [rsp + 0x24], eax
jne 0x1400e7ef6
mov edx, dword [r12 + 0x6c]
xor r9d, r9d
mov r8d, esi
mov rcx, r13
call fcn.14007a860
test eax, eax
jne 0x1400e8056
cmp byte [r12 + 0x61], 0
jne 0x1400e8056
movzx eax, byte [r12 + 0x64]
test al, al
js 0x1400e7f11
movsx eax, al
jmp 0x1400e7f19
mov rcx, rbp
call fcn.14007aac0
mov edx, eax
mov rcx, r13
call fcn.14007aa30
mov eax, dword [rsp + 0x28]
mov rdi, qword [rsp + 0x38]
lea r8, str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
mov r9, rdi
mov rdx, r15
mov rcx, r12
mov byte [r12 + 0xb4], al
call fcn.1400e7880
mov ebx, eax
test eax, eax
jne 0x1400e805b
lea r8, str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typeindex
mov r9, rdi
mov rdx, r15
mov rcx, r12
call fcn.1400e7880
mov ebx, eax
test eax, eax
jne 0x1400e805b
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 r9, rdi
mov rdx, r15
mov rcx, r12
mov byte [r12 + 0xb4], al
call fcn.1400e7880
and dword [r12 + 0x2c], 0xfffffffb
mov ebx, eax
test eax, eax
jne 0x1400e805b
lea r8, str.INSERT_INTO_vacuum_db.sqlite_master_SELECTFROM___w_.sqlite_master_WHERE_type_IN_view_trigger__OR_typetableAND_rootpage0_
mov r9, rdi
mov rdx, r15
mov rcx, r12
call fcn.1400e7880
mov ebx, eax
test eax, eax
jne 0x1400e805b
xor edi, edi
lea r15, [0x14012eb90]
nop word [rax + rax]
movzx edx, byte [rdi + r15]
lea r8, [rsp + 0x28]
mov rcx, rbp
call fcn.140082ff0
movzx r8d, byte [rdi + r15 + 1]
movzx edx, byte [rdi + r15]
add r8d, dword [rsp + 0x28]
mov rcx, r13
call fcn.140083080
mov ebx, eax
test eax, eax
jne 0x1400e805b
add rdi, 2
cmp rdi, 0xa
jl 0x1400e7fd0
mov rdx, r13
mov rcx, rbp
call fcn.140085f80
mov ebx, eax
test eax, eax
jne 0x1400e805b
mov rcx, r13
call fcn.14007c050
mov ebx, eax
test eax, eax
jne 0x1400e805b
mov rcx, r13
call fcn.14007aac0
mov rcx, rbp
mov edx, eax
call fcn.14007aa30
mov r11, qword [r13 + 8]
lea r9d, [rbx + 1]
mov edx, dword [r11 + 0x30]
mov r8d, esi
mov rcx, rbp
call fcn.14007a860
mov ebx, eax
jmp 0x1400e805b
mov ebx, 7
mov r13, qword [rsp + 0x40]
movzx eax, word [rsp + 0x98]
or r8d, 0xffffffff
mov r9d, 1
mov dword [r12 + 0x2c], eax
mov eax, dword [rsp + 0x2c]
mov rcx, rbp
mov dword [r12 + 0x30], eax
mov eax, dword [rsp + 0x30]
or edx, r8d
mov dword [r12 + 0x74], eax
mov eax, dword [rsp + 0x34]
mov byte [r12 + 0xb4], 0
mov dword [r12 + 0x78], eax
mov al, byte [rsp + 0x88]
mov byte [r12 + 0x68], al
call fcn.14007a860
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov byte [r12 + 0x5f], 1
test r14, r14
je 0x1400e80e5
mov rcx, qword [r14 + 8]
call fcn.14007a590
mov qword [r14 + 8], 0
mov qword [r14 + 0x18], 0
mov rcx, r12
call fcn.1400b2c40
mov eax, ebx
mov rbx, qword [rsp + 0x80]
add rsp, 0x60
pop r15
pop r14
pop r12
ret