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

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x50], r14
xor r14d, r14d
mov r13, rdx
mov r12, rcx
cmp byte [rdx + 0x4e], r14b
jne 0x4b7d86
lea r8, str.cannot_VACUUM_from_within_a_transaction
call fcn.004779f0
lea eax, [r14 + 1]
mov r14, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
add rsp, 0x68
ret
cmp dword [rdx + 0xa4], 1
jle 0x4b7db4
lea r8, str.cannot_VACUUM___SQL_statements_in_progress
call fcn.004779f0
mov eax, 1
mov r14, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
add rsp, 0x68
ret
mov eax, dword [rdx + 0x2c]
mov ecx, dword [rdx + 0x60]
mov qword [rsp + 0x70], rbx
mov ebx, dword [rdx + 0x28]
mov dword [rsp + 0x28], eax
and eax, 0xfff5ffff
or eax, 0x202800
cmp byte [rdx + 0x4f], 2
mov dword [rsp + 0x2c], ecx
mov ecx, dword [rdx + 0x64]
mov dword [rdx + 0x2c], eax
mov rax, qword [rdx + 0x20]
mov dword [rsp + 0x30], ecx
mov rcx, qword [rdx + 0xc0]
mov qword [rdx + 0xc0], r14
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x78], rbp
mov rbp, qword [rax + 8]
mov rax, qword [rbp + 8]
lea r8, str.ATTACH_:memory:_AS_vacuum_db_
mov rdx, r12
mov rcx, qword [rax]
mov qword [rsp + 0x80], rsi
movzx eax, byte [rcx + 0x13]
mov rcx, r13
mov dword [rsp + 0x24], eax
lea rax, str.ATTACH__AS_vacuum_db_
cmovne r8, rax
call fcn.004b7930
mov esi, eax
movsxd rax, dword [r13 + 0x28]
cmp eax, ebx
jle 0x4b7e4e
lea ecx, [rax - 1]
movsxd r14, ecx
shl r14, 5
add r14, qword [r13 + 0x20]
test esi, esi
mov qword [rsp + 0x88], rdi
jne 0x4b8352
mov rcx, rax
mov rax, qword [r13 + 0x20]
mov qword [rsp + 0x48], r15
shl rcx, 5
mov r15, qword [rcx + rax - 0x18]
mov rcx, r15
call fcn.004af7b0
cmp byte [rbp + 0x11], sil
je 0x4b7e92
inc dword [rbp + 0x14]
cmp byte [rbp + 0x12], sil
jne 0x4b7e92
mov rcx, rbp
call fcn.0042d140
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 0x4b7eb3
dec dword [rbp + 0x14]
jne 0x4b7eb3
mov rcx, rbp
call fcn.0042d110
lea r8, str.PRAGMA_vacuum_db.synchronousOFF
mov rdx, r12
mov rcx, r13
call fcn.004b7930
test eax, eax
mov esi, eax
jne 0x4b834d
lea r8, str.BEGIN_
mov rdx, r12
mov rcx, r13
call fcn.004b7930
test eax, eax
mov esi, eax
jne 0x4b834d
cmp byte [rbp + 0x11], al
mov rbx, qword [rbp + 8]
je 0x4b7f04
inc dword [rbp + 0x14]
cmp byte [rbp + 0x12], al
jne 0x4b7f04
mov rcx, rbp
call fcn.0042d140
cmp byte [rbp + 0x10], 2
je 0x4b8149
movzx edx, word [rbx + 0x26]
test dl, 1
je 0x4b7f21
mov esi, 8
jmp 0x4b815d
cmp byte [rbx + 0x24], 2
je 0x4b7f59
test dl, 0x40
jne 0x4b7f59
mov rax, qword [rbx + 0x70]
test rax, rax
je 0x4b7f43
cmp qword [rax], rbp
jne 0x4b7f51
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x4b7f35
cmp byte [rbp + 0x11], 0
mov rax, qword [rbp + 8]
jne 0x4b7f6f
xor esi, esi
jmp 0x4b7fac
mov rax, qword [rax]
mov rcx, qword [rax]
jmp 0x4b7f60
mov rax, qword [rbx + 0x78]
mov rcx, qword [rax]
test rcx, rcx
je 0x4b7f43
mov esi, 0x106
jmp 0x4b815d
cmp qword [rax + 0x78], rbp
je 0x4b7f85
test byte [rax + 0x26], 0x20
je 0x4b7f85
mov esi, 0x106
jmp 0x4b815d
mov rax, qword [rax + 0x70]
test rax, rax
je 0x4b7faa
nop
cmp qword [rax], rbp
je 0x4b7fa1
cmp dword [rax + 8], 1
jne 0x4b7fa1
cmp byte [rax + 0xc], 1
jne 0x4b7fda
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x4b7f90
xor esi, esi
and dx, 0xfff7
cmp dword [rbx + 0x3c], 0
mov word [rbx + 0x26], dx
jne 0x4b7fc3
or dx, 8
mov word [rbx + 0x26], dx
cmp qword [rbx + 0x18], 0
jne 0x4b7fe4
mov rcx, rbx
call fcn.004a2c00
test eax, eax
mov esi, eax
je 0x4b7fc3
jmp 0x4b8025
mov esi, 0x106
jmp 0x4b815d
test esi, esi
jne 0x4b8025
test byte [rbx + 0x26], 1
je 0x4b7ff5
mov esi, 8
jmp 0x4b8025
mov rax, qword [rbp]
mov rcx, qword [rbx]
xor r8d, r8d
cmp byte [rax + 0x4f], 2
mov edx, 1
sete r8b
call fcn.0043f360
test eax, eax
mov esi, eax
jne 0x4b8025
mov rcx, rbx
call fcn.0049d290
test eax, eax
mov esi, eax
je 0x4b804a
cmp byte [rbx + 0x24], 0
jne 0x4b804a
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x4b804a
test rcx, rcx
mov qword [rbx + 0x18], 0
je 0x4b804a
mov rcx, qword [rcx + 0x68]
call fcn.004a1e30
cmp sil, 5
jne 0x4b808b
cmp byte [rbx + 0x24], 0
jne 0x4b808b
mov rdi, qword [rbx + 8]
add rdi, 0x2a0
je 0x4b808b
mov rax, qword [rdi]
test rax, rax
je 0x4b808b
mov edx, dword [rdi + 0x10]
test edx, edx
js 0x4b808b
mov rcx, qword [rdi + 8]
call rax
test eax, eax
je 0x4b8084
inc dword [rdi + 0x10]
jmp 0x4b7fc3
mov dword [rdi + 0x10], 0xffffffff
test esi, esi
jne 0x4b815d
cmp byte [rbp + 0x10], sil
jne 0x4b80b6
inc dword [rbx + 0x38]
cmp byte [rbp + 0x11], sil
je 0x4b80b6
mov byte [rbp + 0x3c], 1
mov rax, qword [rbx + 0x70]
mov qword [rbp + 0x40], rax
lea rax, [rbp + 0x30]
mov qword [rbx + 0x70], rax
mov byte [rbp + 0x10], 2
cmp byte [rbx + 0x24], 2
jae 0x4b80c4
mov byte [rbx + 0x24], 2
or word [rbx + 0x26], 0x20
mov rdi, qword [rbx + 0x18]
mov qword [rbx + 0x78], rbp
mov rcx, qword [rdi + 0x50]
movzx eax, byte [rcx + 0x1e]
movzx edx, byte [rcx + 0x1d]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + 0x1c]
shl eax, 0x18
shl edx, 8
or edx, eax
movzx eax, byte [rcx + 0x1f]
or edx, eax
cmp dword [rbx + 0x3c], edx
je 0x4b8149
mov rcx, qword [rdi + 0x68]
mov rdx, qword [rcx + 0x20]
mov eax, dword [rdx + 0xbc]
cmp dword [rdx + 0xb8], eax
jbe 0x4b8118
call fcn.0049c240
mov esi, eax
jmp 0x4b811f
call fcn.0049c050
mov esi, eax
test esi, esi
jne 0x4b815d
mov edx, dword [rbx + 0x3c]
mov r8, qword [rdi + 0x50]
mov eax, edx
mov byte [r8 + 0x1f], dl
shr eax, 0x18
mov byte [r8 + 0x1c], al
mov eax, edx
shr eax, 0x10
mov byte [r8 + 0x1d], al
mov eax, edx
shr eax, 8
mov byte [r8 + 0x1e], al
mov rax, qword [rbp]
mov rcx, qword [rbx]
mov edx, dword [rax + 0x304]
call fcn.0043f540
mov esi, eax
cmp byte [rbp + 0x11], 0
je 0x4b8170
dec dword [rbp + 0x14]
jne 0x4b8170
mov rcx, rbp
call fcn.0042d110
test esi, esi
jne 0x4b834d
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
cmp byte [rcx + 9], 5
jne 0x4b8189
mov dword [r13 + 0x58], esi
mov rax, qword [rbp + 8]
mov edi, dword [rsp + 0x20]
xor r9d, r9d
mov edx, dword [rax + 0x30]
mov r8d, edi
mov rcx, r15
call fcn.00440cd0
test eax, eax
jne 0x4b8348
cmp dword [rsp + 0x24], eax
jne 0x4b81ca
mov edx, dword [r13 + 0x58]
xor r9d, r9d
mov r8d, edi
mov rcx, r15
call fcn.00440cd0
test eax, eax
jne 0x4b8348
cmp byte [r13 + 0x50], 0
jne 0x4b8348
movzx eax, byte [r13 + 0x52]
test al, al
js 0x4b81e3
movsx eax, al
jmp 0x4b81eb
mov rcx, rbp
call fcn.00440fe0
mov edx, eax
mov rcx, r15
call fcn.00440f40
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, r12
mov rcx, r13
call fcn.004b7a60
test eax, eax
mov esi, eax
jne 0x4b834d
lea r8, str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
mov rdx, r12
mov rcx, r13
call fcn.004b7a60
test eax, eax
mov esi, eax
jne 0x4b834d
lea r8, str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
mov rdx, r12
mov rcx, r13
call fcn.004b7a60
test eax, eax
mov esi, eax
jne 0x4b834d
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, r12
mov rcx, r13
call fcn.004b7a60
test eax, eax
mov esi, eax
jne 0x4b834d
lea r8, str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
mov rdx, r12
mov rcx, r13
call fcn.004b7a60
test eax, eax
mov esi, eax
jne 0x4b834d
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, r12
mov rcx, r13
call fcn.004b7a60
test eax, eax
mov esi, eax
jne 0x4b834d
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, r12
mov rcx, r13
call fcn.004b7930
test eax, eax
mov esi, eax
jne 0x4b834d
xor ebx, ebx
lea r12, [0x0069ca80]
movzx edx, byte [rbx + r12]
lea r8, [rsp + 0x24]
mov rcx, rbp
call fcn.004412c0
movzx r8d, byte [rbx + r12 + 1]
movzx edx, byte [rbx + r12]
add r8d, dword [rsp + 0x24]
mov rcx, r15
call fcn.0049d990
test eax, eax
mov esi, eax
jne 0x4b834d
add rbx, 2
cmp rbx, 0xa
jl 0x4b82c2
mov rdx, r15
mov rcx, rbp
call fcn.004b4e10
test eax, eax
mov esi, eax
jne 0x4b834d
mov rcx, r15
call fcn.004af7b0
test eax, eax
mov esi, eax
jne 0x4b834d
mov rcx, r15
call fcn.00440fe0
mov rcx, rbp
mov edx, eax
call fcn.00440f40
mov r11, qword [r15 + 8]
lea r9d, [rsi + 1]
mov edx, dword [r11 + 0x30]
mov r8d, edi
mov rcx, rbp
call fcn.00440cd0
mov esi, eax
jmp 0x4b834d
mov esi, 7
mov r15, qword [rsp + 0x48]
mov eax, dword [rsp + 0x28]
mov dword [r13 + 0x2c], eax
mov eax, dword [rsp + 0x2c]
mov dword [r13 + 0x60], eax
mov eax, dword [rsp + 0x30]
mov dword [r13 + 0x64], eax
mov rax, qword [rsp + 0x38]
mov qword [r13 + 0xc0], rax
cmp byte [rbp + 0x11], 0
mov r12, qword [rbp + 8]
je 0x4b8391
inc dword [rbp + 0x14]
cmp byte [rbp + 0x12], 0
jne 0x4b8391
mov rcx, rbp
call fcn.0042d140
test byte [r12 + 0x26], 2
je 0x4b83ae
cmp byte [rbp + 0x11], 0
je 0x4b83f4
dec dword [rbp + 0x14]
jne 0x4b83f4
mov rcx, rbp
call fcn.0042d110
jmp 0x4b83f4
mov ebx, dword [r12 + 0x30]
mov rcx, qword [r12]
lea rdx, [r12 + 0x30]
sub ebx, dword [r12 + 0x34]
mov r8d, ebx
call fcn.0043ee30
mov eax, dword [r12 + 0x30]
or word [r12 + 0x26], 2
movzx r11d, bx
sub eax, r11d
mov dword [r12 + 0x34], eax
cmp byte [rbp + 0x11], 0
je 0x4b83f4
dec dword [rbp + 0x14]
jne 0x4b83f4
mov rcx, rbp
call fcn.0042d110
test r14, r14
mov rdi, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
mov byte [r13 + 0x4e], 1
je 0x4b8423
mov rcx, qword [r14 + 8]
call fcn.004b39a0
xor eax, eax
mov qword [r14 + 8], rax
mov qword [r14 + 0x18], rax
mov rcx, r13
call fcn.0045b0b0
mov r14, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov eax, esi
mov rsi, qword [rsp + 0x80]
add rsp, 0x68
ret