Function at 0x14009ecfc
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 [0x14016d608]
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.14013c810
xor r14d, r14d
mov rbx, rax
test rax, rax
jne 0x14009ed8d
mov rcx, qword [0x14016d090]
lea rax, [0x14016d090]
cmp rcx, rax
je 0x14009ed83
test byte [rcx + 0x1c], 2
je 0x14009ed83
cmp byte [rcx + 0x19], 1
jb 0x14009ed83
mov rcx, qword [rcx + 0x10]
lea edx, [rbx + 0x4f]
mov r9d, esi
lea r8, [0x14014cb68]
call fcn.140004988
mov eax, 0x8007000e
jmp 0x14009f00a
mov r12d, 0x412
mov ecx, r12d
call fcn.14013c810
mov rsi, rax
test rax, rax
jne 0x14009ede2
mov rcx, qword [0x14016d090]
lea rax, [0x14016d090]
cmp rcx, rax
je 0x14009edd8
test byte [rcx + 0x1c], 2
je 0x14009edd8
cmp byte [rcx + 0x19], 1
jb 0x14009edd8
mov rcx, qword [rcx + 0x10]
lea edx, [rsi + 0x50]
mov r9d, r12d
lea r8, [0x14014cb68]
call fcn.140004988
mov edi, 0x8007000e
jmp 0x14009efea
lea r13, str.base_stor_blbcatalogcatsys.cpp
mov r12d, 0x144
test rdi, rdi
jne 0x14009ee0b
xor r8d, r8d
mov rcx, rbx
call fcn.14009fd70
mov edi, eax
test eax, eax
js 0x14009efea
jmp 0x14009ee6b
mov rax, r15
inc rax
cmp word [rdi + rax*2], r14w
jne 0x14009ee0e
cmp rax, 0x104
jb 0x14009ee34
lea r8, str.wcslen_wszPathToDirectory____MAX_PATH
mov edx, 0x84f
mov rcx, r13
call fcn.140081b60
mov rax, r15
inc rax
cmp word [rdi + rax*2], r14w
jne 0x14009ee37
cmp word [rdi + rax*2 - 2], 0x5c
jne 0x14009ee5d
lea r8, str.wszPathToDirectory_wcslen_wszPathToDirectory____1____L
mov edx, 0x850
mov rcx, r13
call fcn.140081b60
mov r8, rdi
mov rdx, r12
mov rcx, rbx
call fcn.140039a84
lea r8, [0x1401447d4]
mov rdx, r12
mov rcx, rbx
call fcn.14005034c
mov rax, r15
mov edi, r14d
inc rax
cmp word [rbx + rax*2], r14w
jne 0x14009ee83
add rax, 8
cmp rax, r12
jb 0x14009eeaa
lea r8, str.wcslen_wszPath___wcslen_x_wszBLB_CATALOG___1___MAX_PATH__64
mov edx, 0x860
mov rcx, r13
call fcn.140081b60
lea r8, str.Catalog
mov rdx, r12
mov rcx, rbx
call fcn.14005034c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14009efea
mov rax, r15
inc rax
cmp word [rbx + rax*2], r14w
jne 0x14009eed1
add rax, 0x14
mov r12d, 0x209
cmp rax, r12
jb 0x14009eefe
lea r8, str.wcslen_wszPath___wcslen_x_wszTempGlobalCatalogName___3___MAX_PATH__2__1
mov edx, 0x86a
mov rcx, r13
call fcn.140081b60
mov r8, rbx
mov rdx, r12
mov rcx, rsi
call fcn.140039a84
lea r8, [0x1401447d4]
mov rdx, r12
mov rcx, rsi
call fcn.14005034c
lea r8, str.TEMPGlobalCatalog
mov rdx, r12
mov rcx, rsi
call fcn.14005034c
lea r8, [0x140146b90]
mov rdx, r12
mov rcx, rsi
call fcn.14005034c
lea rdx, [rsp + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rbp, rax
cmp rax, r15
je 0x14009efea
mov rcx, r15
inc rcx
cmp word [rbx + rcx*2], r14w
jne 0x14009ef5f
lea rdx, [rsp + 0x4c]
mov rax, r15
inc rax
cmp word [rdx + rax*2], r14w
jne 0x14009ef71
add rax, 2
add rax, rcx
cmp rax, r12
jb 0x14009ef9b
lea r8, str.wcslen_wszPath___wcslen_data.cFileName___2___MAX_PATH__2__1
mov edx, 0x880
mov rcx, r13
call fcn.140081b60
mov r8, rbx
mov rdx, r12
mov rcx, rsi
call fcn.140039a84
lea r8, [0x1401447d4]
mov rdx, r12
mov rcx, rsi
call fcn.14005034c
lea r8, [rsp + 0x4c]
mov rdx, r12
mov rcx, rsi
call fcn.14005034c
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 0x14009ef5c
mov rcx, rbx
call fcn.14013c808
mov rcx, rsi
call fcn.14013c808
cmp rbp, r15
je 0x14009f008
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindClose]
mov eax, edi
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.14013cc00
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