Function at 0x14009f64c
Capabilities:
Check if file exists
Delete file
Enumerate files on windows
Get file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x280
mov rax, qword [0x14016f608]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov esi, 0x288
or r15, 0xffffffffffffffff
mov ecx, esi
mov rdi, rdx
mov rbp, r15
call fcn.14013dea8
xor r14d, r14d
mov rbx, rax
test rax, rax
jne 0x14009f6dd
mov rcx, qword [0x14016f048]
lea rax, [0x14016f048]
cmp rcx, rax
je 0x14009f6d3
test byte [rcx + 0x1c], 2
je 0x14009f6d3
cmp byte [rcx + 0x19], 1
jb 0x14009f6d3
mov rcx, qword [rcx + 0x10]
lea edx, [rbx + 0x4f]
mov r9d, esi
lea r8, [0x14014db08]
call fcn.1400049f8
mov eax, 0x8007000e
jmp 0x14009f95a
mov r12d, 0x412
mov ecx, r12d
call fcn.14013dea8
mov rsi, rax
test rax, rax
jne 0x14009f732
mov rcx, qword [0x14016f048]
lea rax, [0x14016f048]
cmp rcx, rax
je 0x14009f728
test byte [rcx + 0x1c], 2
je 0x14009f728
cmp byte [rcx + 0x19], 1
jb 0x14009f728
mov rcx, qword [rcx + 0x10]
lea edx, [rsi + 0x50]
mov r9d, r12d
lea r8, [0x14014db08]
call fcn.1400049f8
mov edi, 0x8007000e
jmp 0x14009f93a
lea r13, [0x14014d288]
mov r12d, 0x144
test rdi, rdi
jne 0x14009f75b
xor r8d, r8d
mov rcx, rbx
call fcn.1400a06c0
mov edi, eax
test eax, eax
js 0x14009f93a
jmp 0x14009f7bb
mov rax, r15
inc rax
cmp word [rdi + rax*2], r14w
jne 0x14009f75e
cmp rax, 0x104
jb 0x14009f784
lea r8, str.wcslen_wszPathToDirectory____MAX_PATH
mov edx, 0x84f
mov rcx, r13
call fcn.140082070
mov rax, r15
inc rax
cmp word [rdi + rax*2], r14w
jne 0x14009f787
cmp word [rdi + rax*2 - 2], 0x5c
jne 0x14009f7ad
lea r8, str.wszPathToDirectory_wcslen_wszPathToDirectory____1____L
mov edx, 0x850
mov rcx, r13
call fcn.140082070
mov r8, rdi
mov rdx, r12
mov rcx, rbx
call fcn.140039dd4
lea r8, [0x140145788]
mov rdx, r12
mov rcx, rbx
call fcn.1400506ec
mov rax, r15
mov edi, r14d
inc rax
cmp word [rbx + rax*2], r14w
jne 0x14009f7d3
add rax, 8
cmp rax, r12
jb 0x14009f7fa
lea r8, str.wcslen_wszPath___wcslen_x_wszBLB_CATALOG___1___MAX_PATH__64
mov edx, 0x860
mov rcx, r13
call fcn.140082070
lea r8, str.Catalog
mov rdx, r12
mov rcx, rbx
call fcn.1400506ec
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14009f93a
mov rax, r15
inc rax
cmp word [rbx + rax*2], r14w
jne 0x14009f821
add rax, 0x14
mov r12d, 0x209
cmp rax, r12
jb 0x14009f84e
lea r8, str.wcslen_wszPath___wcslen_x_wszTempGlobalCatalogName___3___MAX_PATH__2__1
mov edx, 0x86a
mov rcx, r13
call fcn.140082070
mov r8, rbx
mov rdx, r12
mov rcx, rsi
call fcn.140039dd4
lea r8, [0x140145788]
mov rdx, r12
mov rcx, rsi
call fcn.1400506ec
lea r8, str.TEMPGlobalCatalog
mov rdx, r12
mov rcx, rsi
call fcn.1400506ec
lea r8, [0x140147b60]
mov rdx, r12
mov rcx, rsi
call fcn.1400506ec
lea rdx, [rsp + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rbp, rax
cmp rax, r15
je 0x14009f93a
mov rcx, r15
inc rcx
cmp word [rbx + rcx*2], r14w
jne 0x14009f8af
lea rdx, [rsp + 0x4c]
mov rax, r15
inc rax
cmp word [rdx + rax*2], r14w
jne 0x14009f8c1
add rax, 2
add rax, rcx
cmp rax, r12
jb 0x14009f8eb
lea r8, str.wcslen_wszPath___wcslen_data.cFileName___2___MAX_PATH__2__1
mov edx, 0x880
mov rcx, r13
call fcn.140082070
mov r8, rbx
mov rdx, r12
mov rcx, rsi
call fcn.140039dd4
lea r8, [0x140145788]
mov rdx, r12
mov rcx, rsi
call fcn.1400506ec
lea r8, [rsp + 0x4c]
mov rdx, r12
mov rcx, rsi
call fcn.1400506ec
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rdx, [rsp + 0x20]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x14009f8ac
mov rcx, rbx
call fcn.14013dea0
mov rcx, rsi
call fcn.14013dea0
cmp rbp, r15
je 0x14009f958
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindClose]
mov eax, edi
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.14013e2a0
lea r11, [rsp + 0x280]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret