Function at 0x14011a8b0
Capabilities:
Check if file exists
Check os version
Get file attributes

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
call fcn.14013e120
mov rdx, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x14011a8e3
mov ecx, 0x80004005
call fcn.140001c70
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
lea rdx, str.ToastDLL64.dll
or rbp, 0xffffffffffffffff
test rdx, 0xffffffffffff0000
jne 0x14011a92a
movzx edi, dx
mov ecx, edi
call fcn.14014c5c0
test rax, rax
je 0x14011a947
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140005140
jmp 0x14011a947
xor eax, eax
mov rcx, rbp
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x60]
call fcn.1400038f0
nop
lea rcx, [rsp + 0x70]
call fcn.140075c10
nop
lea r8, [rsp + 0x60]
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.140064900
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14011a985
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, dword [0x14022c3f4]
test eax, eax
jne 0x14011a9ac
mov dword [0x14022c3f0], 0x114
lea rcx, [0x14022c3f0]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, dword [0x14022c3f4]
cmp eax, 6
jne 0x14011a9bf
cmp dword [0x14022c3f8], 2
jae 0x14011a9c8
jmp 0x14011aac5
cmp eax, 6
jbe 0x14011aac5
mov rdi, qword [rsp + 0x68]
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], 0
jl 0x14011a9f1
cmp rax, qword [rdi - 0x18]
jne 0x14011a9f1
lea rbx, [rdi - 0x18]
lock add dword [rdi - 8], 1
jmp 0x14011aa2f
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rbx, rax
test rax, rax
jne 0x14011aa0d
call fcn.1400c63c0
int3
mov eax, dword [rdi - 0x10]
mov dword [rbx + 8], eax
mov eax, dword [rdi - 0x10]
add eax, 1
movsxd rdx, eax
lea r9, [rdx + rdx]
mov r8, rdi
add rdx, rdx
lea rcx, [rbx + 0x18]
call fcn.14015c410
add rbx, 0x18
mov qword [rsp + 0x78], rbx
xor eax, eax
lea rdi, [0x14019bd68]
mov rsi, rbx
mov r12d, 1
mov rcx, r12
repe cmpsw word [rsi], word [rdi]
je 0x14011aa57
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
jne 0x14011aa7d
lea rdx, [rbx - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14011aac5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14011aac5
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x14011aaa8
lea rdx, [rbx - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14011aac5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14011aac5
lea rdx, [rbx - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14011aac8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14011aac8
xor r12d, r12d
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14011aae9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebp
add ebp, 0xffffffff
test ebp, ebp
jg 0x14011ab07
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, r12d
add rsp, 0x30
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret