Function at 0x1400111e0
Capabilities:
Check if file exists
Delete directory
Delete file
Enumerate files on windows
Enumerate files recursively
Get file attributes
Set file attributes

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x3a0]
sub rsp, 0x4a0
mov rax, qword [0x1400380c8]
xor rax, rsp
mov qword [rbp + 0x390], rax
mov dword [rsp + 0x20], r8d
mov rbx, rcx
mov dword [rsp + 0x24], edx
or rsi, 0xffffffffffffffff
mov qword [rsp + 0x28], rcx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edi, eax
cmp eax, 0xffffffff
jne 0x14001124b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400114cb
mov rbx, qword [rsp + 0x28]
test dil, 0x10
je 0x14001148d
test dil, 1
je 0x140011289
mov edx, 0x80
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x140011289
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400114cb
mov ebx, dword [rsp + 0x24]
test ebx, ebx
jne 0x1400112a1
cmp dword [rsp + 0x20], ebx
jne 0x1400112a1
mov rdi, qword [rsp + 0x28]
jmp 0x1400114aa
mov rdi, qword [rsp + 0x28]
lea rcx, [rbp + 0x180]
or rsi, 0xffffffffffffffff
mov r8, rdi
mov r9, rsi
mov edx, 0x104
call fcn.140018aa0
cmp eax, 0x50
jne 0x1400112d0
mov ebx, 0x8007007a
jmp 0x1400114cb
mov r9, rsi
lea r8, str..
mov edx, 0x104
lea rcx, [rbp + 0x180]
call fcn.1400189a0
cmp eax, 0x50
je 0x1400112c6
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x180]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x14001132b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400114cb
mov ebx, dword [rsp + 0x24]
lea rdx, [0x14002aaec]
lea rcx, [rsp + 0x5c]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140011451
lea rdx, [0x14002aaf0]
lea rcx, [rsp + 0x5c]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140011451
or r9, 0xffffffffffffffff
lea rcx, [rbp + 0x180]
mov r8, rdi
mov edx, 0x104
call fcn.140018aa0
cmp eax, 0x50
je 0x140011476
or r9, 0xffffffffffffffff
lea r8, [rsp + 0x5c]
mov edx, 0x104
lea rcx, [rbp + 0x180]
call fcn.1400189a0
cmp eax, 0x50
je 0x140011476
cmp dword [rsp + 0x20], 0
je 0x1400113ef
test byte [rsp + 0x30], 0x10
je 0x1400113ef
or r9, 0xffffffffffffffff
lea r8, [0x140029d30]
mov edx, 0x104
lea rcx, [rbp + 0x180]
call fcn.1400189a0
cmp eax, 0x50
je 0x140011476
mov r8d, dword [rsp + 0x20]
lea rcx, [rbp + 0x180]
mov edx, ebx
call fcn.1400111e0
mov ebx, eax
test eax, eax
jmp 0x14001144f
test ebx, ebx
je 0x140011451
test byte [rsp + 0x30], 7
je 0x140011428
mov edx, 0x80
lea rcx, [rbp + 0x180]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x140011428
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x140011497
lea rcx, [rbp + 0x180]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x140011451
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x140011497
lea rdx, [rsp + 0x30]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x140011327
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
jne 0x14001147d
xor ebx, ebx
jmp 0x140011497
mov ebx, 0x8007007a
jmp 0x140011497
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
jmp 0x140011497
mov rdi, qword [rsp + 0x28]
mov ebx, 0x8000ffff
cmp rsi, 0xffffffffffffffff
je 0x1400114a6
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindClose]
test ebx, ebx
js 0x1400114cb
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x1400114cb
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov eax, ebx
mov rcx, qword [rbp + 0x390]
xor rcx, rsp
call fcn.1400148f0
mov rbx, qword [rsp + 0x4d8]
add rsp, 0x4a0
pop rdi
pop rsi
pop rbp
ret