Function at 0x1400282a8
Capabilities:
Check if file exists
Enumerate files on windows
Get file attributes
Set file attributes

Disassembly:
mov r11, rsp
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x368
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov rax, qword [0x140099938]
xor rax, rsp
mov qword [rsp + 0x350], rax
mov rsi, r9
mov qword [rsp + 0x68], r9
mov rbx, r8
mov rbp, rdx
mov r14, rcx
mov qword [r11 - 0x328], r9
mov edi, 7
mov qword [r11 - 0x2b0], rdi
xor r15d, r15d
mov qword [r11 - 0x2b8], r15
mov word [r11 - 0x2c8], r15w
mov qword [r11 - 0x2d8], rdi
mov qword [r11 - 0x2e0], r15
mov word [r11 - 0x2f0], r15w
lea ecx, [rdi + 1]
call fcn.14005b298
cmp rax, r15
je 0x14002833c
lea rcx, [rsp + 0x30]
mov qword [rax], rcx
jmp 0x14002833f
mov rax, r15
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
mov rcx, qword [rsi]
sub rcx, 0x18
call fcn.140009ef0
add rax, 0x18
mov qword [rsp + 0x60], rax
mov r8d, 0x2c
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.14002802c
mov rcx, rbx
call fcn.14005b1c0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0xb0]
call fcn.140002280
lea rbx, [0x140078ac4]
mov rcx, rbx
call fcn.14005b1c0
mov r9, rax
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0xb0]
call fcn.140020e64
cmp rax, 0xffffffffffffffff
je 0x1400283f7
mov rcx, rbx
call fcn.14005b1c0
mov r9, rax
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0xb0]
call fcn.140020e64
mov rdx, rax
mov r8d, 2
lea rcx, [rsp + 0xb0]
call fcn.1400018e0
mov eax, 0x3f
mov word [rsp + 0x28], ax
lea r9d, [rax - 0x3e]
xor r8d, r8d
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0xb0]
call fcn.140020e64
mov r13d, r15d
cmp rax, 0xffffffffffffffff
cmovne r13d, dword [rsp + 0xc8]
mov rcx, rbp
call fcn.14005b1c0
mov r8, rax
mov rdx, rbp
lea rcx, [rsp + 0xd8]
call fcn.140002280
lea rdx, [rsp + 0xb8]
cmp qword [rsp + 0xd0], 8
cmovae rdx, qword [rsp + 0xb8]
lea rcx, [rsp + 0xd8]
call fcn.140058a34
lea rcx, [rsp + 0xe0]
cmp qword [rsp + 0xf8], 8
cmovae rcx, qword [rsp + 0xe0]
lea rdx, [rsp + 0x100]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov r12, rax
cmp rax, 0xffffffffffffffff
jne 0x140028555
lea r8, str.______Not_found._n
lea rdx, str.CUninstallActions::DeleteFiles
lea ecx, [rax + 6]
call fcn.140009480
nop
lea rcx, [rsp + 0x30]
call fcn.140005204
mov rcx, qword [rsp + 0x30]
call fcn.14005ab0c
nop
cmp qword [rsp + 0xd0], 8
jb 0x1400284e5
mov rcx, qword [rsp + 0xb8]
call fcn.14005ab0c
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xc8], r15
mov word [rsp + 0xb8], r15w
cmp qword [rsp + 0xf8], 8
jb 0x140028516
mov rcx, qword [rsp + 0xe0]
call fcn.14005ab0c
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0xf0], r15
mov word [rsp + 0xe0], r15w
mov rdx, qword [rsi]
sub rdx, 0x18
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
cmp eax, r15d
jg 0x14002854e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xor eax, eax
jmp 0x140028959
movabs rsi, 0x6666666666666667
lea rcx, [0x1400998c0]
mov rax, qword [0x1400998c0]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xa0], r15
mov word [rsp + 0x90], r15w
lea rcx, [rsp + 0x12c]
call fcn.14005b1c0
mov r8, rax
lea rdx, [rsp + 0x12c]
lea rcx, [rsp + 0x88]
call fcn.140002280
lea rcx, [rsp + 0x90]
cmp qword [rsp + 0xa8], 8
cmovae rcx, qword [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edx, eax
cmp eax, 0xffffffff
je 0x140028847
test al, 0x10
je 0x14002863c
cmp qword [rsp + 0xa8], 8
jb 0x1400285fe
mov rcx, qword [rsp + 0x90]
call fcn.14005ab0c
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xa0], r15
mov word [rsp + 0x90], r15w
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
cmp eax, r15d
jg 0x140028894
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x140028894
cmp r13d, r15d
je 0x1400286a4
mov eax, r13d
cmp rax, qword [rsp + 0xa0]
je 0x1400286a4
cmp qword [rsp + 0xa8], 8
jb 0x140028666
mov rcx, qword [rsp + 0x90]
call fcn.14005ab0c
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xa0], r15
mov word [rsp + 0x90], r15w
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
cmp eax, r15d
jg 0x140028894
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x140028894
and edx, 0xfffffffe
lea rcx, [rsp + 0x90]
cmp qword [rsp + 0xa8], 8
cmovae rcx, qword [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea rcx, str.FLD_DEF
call fcn.14005b1c0
mov r8d, eax
lea rdx, str.FLD_DEF
lea rcx, [rsp + 0x20]
call fcn.14000a188
cmp rbp, r15
jne 0x1400286f1
mov eax, r15d
jmp 0x1400286f9
mov rcx, rbp
call fcn.14005b1c0
mov r8d, eax
mov rdx, rbp
lea rcx, [rsp + 0x20]
call fcn.14000a8b0
lea rdx, [0x1400778f0]
lea rcx, [rsp + 0x20]
call fcn.1400218a0
mov edi, 1
mov rcx, qword [rsp + 0x50]
sub rcx, qword [rsp + 0x48]
mov rax, rsi
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdi, rdx
jae 0x140028803
mov edx, 0x2c
lea rcx, [rsp + 0x20]
call fcn.1400216e0
cmp rdi, 2
jne 0x140028799
lea rbx, [rsp + 0x90]
cmp qword [rsp + 0xa8], 8
cmovae rbx, qword [rsp + 0x90]
cmp rbx, r15
jne 0x14002877f
mov eax, r15d
jmp 0x140028787
mov rcx, rbx
call fcn.14005b1c0
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.14000a8b0
jmp 0x1400287d9
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.140025690
cmp qword [rax + 0x20], 8
jb 0x1400287b3
mov rbx, qword [rax + 8]
jmp 0x1400287b7
lea rbx, [rax + 8]
cmp rbx, r15
jne 0x1400287c1
mov eax, r15d
jmp 0x1400287c9
mov rcx, rbx
call fcn.14005b1c0
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.14000a8b0
inc rdi
mov rcx, qword [rsp + 0x50]
sub rcx, qword [rsp + 0x48]
mov rax, rsi
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdi, rdx
jb 0x140028746
mov rbx, qword [rsp + 0x20]
mov r9, rbx
lea r8, str.DoAct__1_s___n
lea rdx, str.CUninstallActions::DeleteFiles
mov ecx, 2
call fcn.140009480
lea rcx, [rbx - 0x18]
call fcn.140009ef0
add rax, 0x18
mov qword [rsp + 0x70], rax
lea rdx, [rsp + 0x70]
mov rcx, r14
call fcn.140038ecc
mov edi, 7
cmp qword [rsp + 0xa8], 8
jb 0x14002885f
mov rcx, qword [rsp + 0x90]
call fcn.14005ab0c
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xa0], r15
mov word [rsp + 0x90], r15w
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
cmp eax, r15d
jg 0x140028894
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rdx, [rsp + 0x100]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
cmp eax, r15d
jne 0x14002855f
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
lea rcx, [rsp + 0x30]
call fcn.140005204
mov rcx, qword [rsp + 0x30]
call fcn.14005ab0c
nop
cmp qword [rsp + 0xd0], 8
mov rsi, qword [rsp + 0x68]
jb 0x1400288ea
mov rcx, qword [rsp + 0xb8]
call fcn.14005ab0c
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xc8], r15
mov word [rsp + 0xb8], r15w
cmp qword [rsp + 0xf8], 8
jb 0x14002891b
mov rcx, qword [rsp + 0xe0]
call fcn.14005ab0c
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0xf0], r15
mov word [rsp + 0xe0], r15w
mov rdx, qword [rsi]
sub rdx, 0x18
or ecx, 0xffffffff
lock xadd dword [rdx + 0x10], ecx
dec ecx
cmp ecx, r15d
jg 0x140028954
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
mov eax, 1
mov rcx, qword [rsp + 0x350]
xor rcx, rsp
call fcn.14005bad0
add rsp, 0x368
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret