Function at 0x18000e960
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 - 0x140]
sub rsp, 0x240
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x290], rbx
mov rax, qword [0x1801003f0]
xor rax, rsp
mov qword [rbp + 0x130], rax
mov r13, r9
mov r15d, r8d
mov rbx, rdx
mov r14, rcx
xor r12d, r12d
mov edi, r12d
test rcx, rcx
je 0x18000eba9
test rdx, rdx
je 0x18000eba9
mov rcx, rdx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov esi, eax
test r15d, r15d
je 0x18000e9da
cmp eax, 0xffffffff
jne 0x18000eba9
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.180020a90
nop
lea rdx, str._tmp
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 edi, eax
test eax, eax
je 0x18000eb9f
test r13, r13
je 0x18000ea45
mov rdx, qword [rsp + 0x20]
mov rcx, r14
call r13
mov edi, eax
test eax, eax
jne 0x18000ea45
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
nop
jmp 0x18000eb9f
mov r8d, 1
mov rdx, rbx
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_MoveFileExA]
mov edi, eax
test eax, eax
jne 0x18000eb9d
cmp esi, 0xffffffff
je 0x18000eb8f
test sil, 1
je 0x18000ea80
and esi, 0xfffffffe
mov edx, esi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov byte [rsp + 0x30], 0
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 0x18000eb18
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 r12d
cmp r12d, 0xa
jge 0x18000eb07
cmp eax, 0xffffffff
jne 0x18000eac4
jmp 0x18000eb18
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
nop
jmp 0x18000eb9f
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 edi, eax
test eax, eax
jne 0x18000eb7b
cmp dword [rbp + 0x1a0], eax
je 0x18000eb60
lea r8d, [rax + 5]
mov rdx, rbx
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_MoveFileExA]
mov edi, eax
test eax, eax
jne 0x18000eb7b
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]
jmp 0x18000eb8d
xor edx, edx
lea r8d, [rdx + 4]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_MoveFileExA]
nop
jmp 0x18000eb9f
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
nop
jmp 0x18000eb9f
jmp 0x18000eb9f
lea rcx, [rsp + 0x20]
call fcn.18001d340
mov eax, edi
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.180036980
mov rbx, qword [rsp + 0x290]
add rsp, 0x240
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret