Function at 0x180019cfc
Capabilities:
Check if file exists
Move file

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x28], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov r13, rdx
mov r14, rcx
xor r12d, r12d
lea esi, [r12 + 2]
lea edi, [rsi + 6]
or r15d, 0xffffffff
lea ebx, [rsi - 1]
lea rax, [fcn.18000a8e0]
cmp qword [r14], 0
je 0x180019fa8
mov qword [rsp + 0x20], rax
lea r9, [0x18000a874]
mov r8, rsi
mov rdx, rdi
lea rcx, [rbp - 0x18]
call fcn.18006fab0
nop
mov r8, qword [r14]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x38]
call fcn.1800199d8
nop
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.18000525c
nop
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x180019da0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [r14]
lea rcx, [rbp + 0x50]
call fcn.180019bf0
nop
mov rcx, qword [rbp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x180019f71
xor esi, esi
lea rdi, [rbp - 0x18]
mov rcx, qword [rdi]
cmp dword [rcx - 0x10], 0
je 0x180019e94
mov rdx, qword [rbp + 0x50]
call sub.msvcrt.dll__wcsicmp
test eax, eax
je 0x180019e94
mov rcx, qword [rdi]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x180019e94
mov rcx, qword [rdi]
test rcx, rcx
je 0x180019e09
call fcn.180065ee4
test eax, eax
jne 0x180019e94
mov rdx, rdi
lea rcx, [rbp - 0x30]
call fcn.1800053f4
mov r15, rax
mov qword [rbp - 0x20], rax
lea r8, str._del
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.180019fc4
nop
mov r8d, ebx
mov rdx, qword [rbp + 0x58]
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
mov rcx, qword [r15]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
nop
test eax, eax
jne 0x180019ef7
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x180019e71
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [r15]
sub rdx, 0x18
or r15d, 0xffffffff
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x180019e94
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rsi, rbx
add rdi, 8
cmp rsi, 2
jb 0x180019dc5
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x180019ec6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea r9, [fcn.18000a8e0]
mov esi, 2
mov r8d, esi
lea edi, [rsi + 6]
mov edx, edi
lea rcx, [rbp - 0x18]
call fcn.18006f9e0
add r12d, ebx
add r14, rdi
cmp r12d, ebx
jae 0x180019faa
jmp 0x180019d35
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x180019f19
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [r15]
sub rdx, 0x18
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x180019f36
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rbp - 0x18]
lea rdx, [rdx + rsi*8]
mov rcx, r13
call fcn.18000525c
nop
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, ebx
test eax, eax
jg 0x180019f66
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov edx, 8
lea r8d, [rdx - 6]
jmp 0x180019f98
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x180019f92
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov r8, rsi
mov rdx, rdi
lea r9, [fcn.18000a8e0]
lea rcx, [rbp - 0x18]
call fcn.18006f9e0
xor ebx, ebx
mov eax, ebx
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret