Function at 0x14002a470
Capabilities:
Check if file exists
Copy file
Create directory
Delete file
Enumerate files on windows
Enumerate files recursively

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x9dd8]
mov eax, 0x9ed8
call fcn.140243620
sub rsp, rax
movaps xmmword [rsp + 0x9ec0], xmm6
mov rax, qword [0x14036e3c8]
xor rax, rsp
mov qword [rbp + 0x9db0], rax
mov r13, r8
mov r12, rdx
mov rdi, rcx
xor edx, edx
mov r8d, 0x4e20
lea rcx, [rbp + 0x4f90]
mov rsi, r9
call fcn.140245f10
xor edx, edx
lea rcx, [rbp + 0x170]
mov r8d, 0x4e20
call fcn.140245f10
mov r8, r12
lea rcx, [rbp + 0x4f90]
mov edx, 0x2710
call fcn.140259008
lea r8, [0x14028adf8]
mov edx, 0x2710
lea rcx, [rbp + 0x4f90]
call fcn.140258f88
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0x4f90]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x14002a549
test rsi, rsi
je 0x14002a7ec
lea r8d, [rax + 0x17]
mov rcx, rsi
lea rdx, str.failed_to_list_src_dir
call fcn.1400079c0
xor eax, eax
jmp 0x14002a743
movss xmm6, dword [0x14028bca0]
mov r15d, 1
nop word [rax + rax]
lea rdx, [0x1402895ac]
lea rcx, [rsp + 0x4c]
call fcn.140256824
test eax, eax
je 0x14002a6f9
lea rdx, [0x1402895b0]
lea rcx, [rsp + 0x4c]
call fcn.140256824
test eax, eax
je 0x14002a6f9
mov r8, r12
lea rcx, [rbp + 0x4f90]
mov edx, 0x2710
call fcn.140259008
lea r8, [0x140284c9c]
mov edx, 0x2710
lea rcx, [rbp + 0x4f90]
call fcn.140258f88
lea r8, [rsp + 0x4c]
mov edx, 0x2710
lea rcx, [rbp + 0x4f90]
call fcn.140258f88
mov r8, r13
lea rcx, [rbp + 0x170]
mov edx, 0x2710
call fcn.140259008
lea r8, [0x140284c9c]
mov edx, 0x2710
lea rcx, [rbp + 0x170]
call fcn.140258f88
lea r8, [rsp + 0x4c]
mov edx, 0x2710
lea rcx, [rbp + 0x170]
call fcn.140258f88
test byte [rsp + 0x20], 0x10
je 0x14002a690
lea rcx, [rbp + 0x170]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14002a645
xor edx, edx
lea rcx, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x14002a76e
mov r9, rsi
lea r8, [rbp + 0x170]
lea rdx, [rbp + 0x4f90]
mov rcx, rdi
call fcn.14002a470
test eax, eax
jne 0x14002a6f9
lea r8, [rbp + 0x170]
lea rdx, str.copyFiles_in_copyFiles
lea rcx, str._error
call fcn.140039ff0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
jmp 0x14002a743
xor r8d, r8d
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x4f90]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
lea rcx, [rbp + 0x4f90]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test ebx, ebx
je 0x14002a7af
mov eax, dword [rdi + 0xc]
mov rcx, qword [rdi]
inc eax
mov dword [rdi + 0xc], eax
test rcx, rcx
je 0x14002a6f9
movd xmm0, dword [rdi + 0x10]
xor r9d, r9d
movd xmm1, eax
mov edx, 0x601
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mulss xmm1, xmm6
cvttss2si eax, xmm1
movsxd r8, eax
call fcn.140077720
lea rdx, [rsp + 0x20]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x14002a560
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
je 0x14002a737
test rsi, rsi
je 0x14002a734
mov r8d, reloc.WS2_32.dll_shutdown
lea rdx, str.failed_to_list_src_dir
mov rcx, rsi
call fcn.1400079c0
xor r15d, r15d
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindClose]
mov eax, r15d
mov rcx, qword [rbp + 0x9db0]
xor rcx, rsp
call fcn.1402435c0
movaps xmm6, xmmword [rsp + 0x9ec0]
add rsp, 0x9ed8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea r8, [rbp + 0x170]
lea rdx, str.CreateDirectory_in_copyFiles
lea rcx, str._error
call fcn.140039ff0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindClose]
test rsi, rsi
je 0x14002a7ec
mov r8d, reloc.WLDAP32.dll_Ordinal_27
lea rdx, str.failed_to_create_target_dir
mov rcx, rsi
call fcn.1400079c0
xor eax, eax
jmp 0x14002a743
lea r8, [rbp + 0x170]
lea rdx, str.CopyFile_in_copyFiles
lea rcx, str._error
call fcn.140039ff0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindClose]
test rsi, rsi
je 0x14002a7ec
mov r8d, reloc.WS2_32.dll_send
lea rdx, str.failed_to_copy_file
mov rcx, rsi
call fcn.1400079c0
xor eax, eax
jmp 0x14002a743