Function at 0x140001790
Capabilities:
Check if file exists
Copy file
Create directory
Delete file
Enumerate files on windows
Get file attributes

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x7c0]
sub rsp, 0x8c0
mov rax, qword [0x140023008]
xor rax, rsp
mov qword [rbp + 0x7b0], rax
mov rdi, rcx
lea r9, [0x140025220]
lea rcx, [rbp + 0x390]
lea r8, [0x140025010]
lea rdx, [0x14001f628]
call fcn.140001c40
lea r9, [0x140025220]
mov r8, rdi
lea rdx, [0x14001f628]
lea rcx, [rbp + 0x180]
call fcn.140001c40
lea rcx, [rbp + 0x180]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140001830
lea rcx, [rbp + 0x180]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x140001825
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r8d, r8d
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x390]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x140001851
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r9, str.data
lea r8, [0x140025010]
lea rdx, str._s_s
lea rcx, [rbp + 0x5a0]
call fcn.140001c40
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x5a0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x140001894
xor al, al
jmp 0x140001a23
lea r9, str.data
mov r8, rdi
lea rdx, [0x14001f628]
lea rcx, [rbp + 0x180]
call fcn.140001c40
lea rcx, [rbp + 0x180]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400018e0
xor edx, edx
lea rcx, [rbp + 0x180]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1400018e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax]
test byte [rsp + 0x30], 0x10
jne 0x140001a02
lea rax, [rsp + 0x5c]
lea r9, str.data
mov qword [rsp + 0x20], rax
lea r8, [0x140025010]
lea rdx, str._s_s_s
lea rcx, [rbp + 0x390]
call fcn.140001c40
lea r9, [rsp + 0x5c]
mov r8, rdi
lea rdx, [0x14001f628]
lea rcx, [rbp + 0x180]
call fcn.140001c40
lea rcx, [rbp + 0x180]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140001965
lea rcx, [rbp + 0x180]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x14000195a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r8d, r8d
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x390]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x140001986
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rax, [rsp + 0x5c]
mov r8, rdi
lea r9, str.data
mov qword [rsp + 0x20], rax
lea rdx, str._s_s_s
lea rcx, [rbp + 0x180]
call fcn.140001c40
lea rcx, [rbp + 0x180]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400019e1
lea rcx, [rbp + 0x180]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1400019d6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r8d, r8d
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x390]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x140001a02
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1400018e0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
mov al, 1
mov rcx, qword [rbp + 0x7b0]
xor rcx, rsp
call fcn.140001f90
lea r11, [rsp + 0x8c0]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret