Function at 0x180013de0
Capabilities:
Check if file exists
Delete file
Get file attributes
Move file
Set file attributes

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x340]
sub rsp, 0x440
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x490], rbx
mov rax, qword [0x1801003f0]
xor rax, rsp
mov qword [rbp + 0x330], rax
mov r13, r9
mov r15d, r8d
mov rbx, rdx
mov r14, rcx
xor esi, esi
mov r12d, esi
test rcx, rcx
je 0x180014185
test rdx, rdx
je 0x180014185
mov rcx, rdx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov edi, eax
test r15d, r15d
je 0x180013e59
cmp eax, 0xffffffff
jne 0x180014185
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.180020a90
nop
lea rdx, str._2tmp
lea rcx, [rsp + 0x20]
call fcn.18001d610
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
xor r8d, r8d
mov rdx, qword [rsp + 0x20]
mov rcx, r14
call fcn.18000e830
mov r12d, eax
test eax, eax
je 0x18001417b
test r13, r13
je 0x180013ec6
mov rdx, qword [rsp + 0x20]
mov rcx, r14
call r13
mov r12d, eax
test eax, eax
jne 0x180013ec6
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
nop
jmp 0x18001417b
cmp edi, 0xffffffff
je 0x180013edf
test dil, 1
je 0x180013edf
and edi, 0xfffffffe
mov edx, edi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov r13d, dword [rbp + 0x3a0]
cmp r13d, 2
je 0x180014060
mov r8d, 1
mov rdx, rbx
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_MoveFileExA]
mov r12d, eax
test eax, eax
jne 0x180014052
cmp edi, 0xffffffff
je 0x180014041
mov byte [rsp + 0x30], al
xor edx, edx
mov r8d, 0x1ff
lea rcx, [rsp + 0x31]
call fcn.1800369b0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r9d, eax
mov r8, rbx
lea rdx, str._s.bak_08X
lea rcx, [rsp + 0x30]
call fcn.18003756c
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x180013fb2
nop dword [rax + rax]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r9d, eax
mov r8, rbx
lea rdx, str._s.bak_08X
lea rcx, [rsp + 0x30]
call fcn.18003756c
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
inc esi
cmp esi, 0xa
jge 0x180013fa1
cmp eax, 0xffffffff
jne 0x180013f60
jmp 0x180013fb2
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
nop
jmp 0x18001417b
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_MoveFileA]
mov r8d, 1
mov rdx, rbx
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_MoveFileExA]
mov r12d, eax
test eax, eax
je 0x180013fe5
mov rcx, rbx
call fcn.18000d740
jmp 0x180014005
test r13d, r13d
je 0x180014022
mov r8d, 5
mov rdx, rbx
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_MoveFileExA]
mov r12d, eax
test eax, eax
je 0x180014022
mov rcx, qword [rsp + 0x20]
call fcn.18000d740
xor edx, edx
lea r8d, [rdx + 4]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_MoveFileExA]
jmp 0x18001403c
mov rdx, rbx
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_MoveFileA]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
nop
jmp 0x18001417b
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
nop
jmp 0x18001417b
mov rcx, rbx
call fcn.18000d740
nop
jmp 0x18001417b
mov byte [rbp + 0x130], 0
xor edx, edx
mov r8d, 0x1ff
lea rcx, [rbp + 0x131]
call fcn.1800369b0
cmp edi, 0xffffffff
je 0x180014123
test dil, 0x10
je 0x180014123
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r9d, eax
mov r8, rbx
lea rdx, str._s.bak_08X
lea rcx, [rbp + 0x130]
call fcn.18003756c
lea rcx, [rbp + 0x130]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x180014113
nop
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r9d, eax
mov r8, rbx
lea rdx, str._s.bak_08X
lea rcx, [rbp + 0x130]
call fcn.18003756c
lea rcx, [rbp + 0x130]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
inc esi
cmp esi, 0xa
jge 0x180014105
cmp eax, 0xffffffff
jne 0x1800140c0
jmp 0x180014113
lea rcx, [rsp + 0x20]
call fcn.18001d340
xor eax, eax
jmp 0x180014188
lea rdx, [rbp + 0x130]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_MoveFileA]
mov r8d, 5
mov rdx, rbx
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_MoveFileExA]
mov r12d, eax
test eax, eax
jne 0x18001415b
mov rdx, rbx
lea rcx, [rbp + 0x130]
call qword [sym.imp.KERNEL32.dll_MoveFileA]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x180014179
mov rcx, qword [rsp + 0x20]
call fcn.18000d740
xor edx, edx
lea r8d, [rdx + 4]
lea rcx, [rbp + 0x130]
call qword [sym.imp.KERNEL32.dll_MoveFileExA]
nop
jmp 0x18001417b
lea rcx, [rsp + 0x20]
call fcn.18001d340
mov eax, r12d
mov rcx, qword [rbp + 0x330]
xor rcx, rsp
call fcn.180036980
mov rbx, qword [rsp + 0x490]
add rsp, 0x440
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret