Function at 0x14000d484
Capabilities:
Check if file exists
Delete file
Get common file path
Get file attributes
Move file

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1c8]
sub rsp, 0x2a0
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14005b8e0]
xor rax, rsp
mov qword [rbp + 0x190], rax
mov r15, rcx
xor r12d, r12d
mov qword [rsp + 0x38], r12
mov r14d, r12d
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r12w
xor edx, edx
mov r8d, 0x20a
lea rcx, [rbp - 0x80]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
lea rdx, str.Logswaasmediccapsule
lea rcx, str.Logs
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpiW]
nop dword [rax + rax]
mov r13d, 0x80070000
test eax, eax
jne 0x14000d565
mov edx, 0x104
lea rcx, [rbp - 0x80]
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetWindowsDirectoryW]
nop dword [rax + rax]
test eax, eax
jne 0x14000d5ae
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx edi, ax
or edi, r13d
test eax, eax
cmovle edi, eax
test edi, edi
jns 0x14000d5ae
mov ecx, edi
jmp 0x14000d818
mov r8d, 0x104
lea rdx, [rbp - 0x80]
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameW]
nop dword [rax + rax]
test eax, eax
jne 0x14000d59c
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
movzx edi, ax
or edi, r13d
test eax, eax
cmovle edi, eax
test edi, edi
js 0x14000d55e
lea rcx, [rbp - 0x80]
call qword [sym.imp.api_ms_win_core_shlwapi_legacy_l1_1_0.dll_PathRemoveFileSpecW]
nop dword [rax + rax]
jmp 0x14000d53f
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x58]
call fcn.14000e838
lea rdx, [0x14003af78]
lea rcx, [rsp + 0x58]
call fcn.14000c5d0
lea rdx, str.Logs
lea rcx, [rsp + 0x58]
call fcn.14000c5d0
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rcx, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
nop dword [rax + rax]
mov ebx, eax
cmp eax, 0xffffffff
je 0x14000d60a
shr ebx, 4
and ebx, 1
jmp 0x14000d60d
mov ebx, r12d
xor ecx, ecx
call fcn.14000c400
xor ecx, ecx
call fcn.14000c400
test ebx, ebx
jne 0x14000d63f
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rcx, qword [rsp + 0x58]
call fcn.14000e490
mov edi, eax
test eax, eax
js 0x14000d816
mov esi, r12d
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x14000d67c
lea rbx, [rax - 4]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.14000c400
mov qword [rsp + 0x30], r12
lea r8, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae r8, qword [rsp + 0x58]
inc esi
mov dword [rsp + 0x20], esi
lea r9, str.UpdateHealthTools
lea rdx, str._s_s._03d.etl
lea rcx, [rsp + 0x30]
call fcn.140007414
mov edi, eax
test eax, eax
js 0x14000d816
lea r8, [rsp + 0x30]
mov edx, r14d
lea rcx, [rsp + 0x38]
call fcn.14000d96c
mov edi, eax
test eax, eax
js 0x14000d816
cmp esi, 0xc8
jae 0x14000d6e3
mov r14d, dword [rsp + 0x3c]
jmp 0x14000d642
mov rsi, qword [rsp + 0x40]
mov rcx, qword [rsi + 0x638]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
nop dword [rax + rax]
mov ebx, eax
or r14d, 0xffffffff
cmp eax, r14d
je 0x14000d710
shr ebx, 4
not ebx
and ebx, 1
jmp 0x14000d713
mov ebx, r12d
xor ecx, ecx
call fcn.14000c400
xor ecx, ecx
call fcn.14000c400
test ebx, ebx
je 0x14000d766
mov rcx, qword [rsi + 0x638]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_DeleteFileW]
nop dword [rax + rax]
test eax, eax
jne 0x14000d766
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
test eax, eax
jne 0x14000d756
mov edi, 0x80004005
jmp 0x14000d55e
movzx edi, ax
or edi, r13d
test eax, eax
cmovle edi, eax
jmp 0x14000d55e
mov edi, 0x630
mov rcx, qword [rdi + rsi]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
nop dword [rax + rax]
mov ebx, eax
cmp eax, r14d
je 0x14000d78c
shr ebx, 4
not ebx
and ebx, 1
jmp 0x14000d78f
mov ebx, r12d
xor ecx, ecx
call fcn.14000c400
xor ecx, ecx
call fcn.14000c400
test ebx, ebx
je 0x14000d7ba
mov rdx, qword [rdi + rsi + 8]
mov rcx, qword [rdi + rsi]
call qword [sym.imp.api_ms_win_core_kernel32_legacy_l1_1_0.dll_MoveFileW]
nop dword [rax + rax]
test eax, eax
je 0x14000d73c
sub rdi, 8
cmp rdi, 0xfffffffffffffff8
jne 0x14000d76b
mov rcx, qword [rsi]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
nop dword [rax + rax]
mov ebx, eax
cmp eax, r14d
je 0x14000d7e4
shr ebx, 4
not ebx
and ebx, 1
jmp 0x14000d7e7
mov ebx, r12d
xor ecx, ecx
call fcn.14000c400
xor ecx, ecx
call fcn.14000c400
mov edi, r12d
test ebx, ebx
je 0x14000d80b
mov rcx, qword [rsi]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_DeleteFileW]
nop dword [rax + rax]
mov rax, qword [rsi]
mov qword [rsi], r12
mov qword [r15], rax
jmp 0x14000d81d
mov ecx, eax
call fcn.14000c4dc
mov ecx, edi
call fcn.14000c400
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x14000d842
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
call fcn.14000f8e8
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r12w
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x14000d88c
lea rbx, [rax - 4]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
xor ecx, ecx
call fcn.14000c400
nop
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.14000e2f0
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x14000d8c2
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
mov eax, edi
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.140034af0
lea r11, [rsp + 0x2a0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret