Function at 0x1400a7080
Capabilities:
Check for time delay via gettickcount
Check if file exists
Copy file
Delete file
Enumerate files on windows
Get file attributes
Move file

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov byte [rsp + 0x20], r9b
push rbp
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x1250]
mov eax, 0x1350
call fcn.140100df0
sub rsp, rax
movzx r13d, r8b
mov rbx, rdx
mov r14d, 0x104
lea r8, [rbp - 0x80]
lea r9, [rsp + 0x38]
mov edx, r14d
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp - 0x80]
xor esi, esi
repne scasw ax, word [rdi]
not rcx
dec rcx
je 0x1400a70ef
cmp word [rsp + rcx*2 + 0x7e], 0x5c
jne 0x1400a70ef
mov word [rsp + rcx*2 + 0x7e], si
lea r9, [rsp + 0x40]
lea r8, [rbp + 0x190]
mov edx, r14d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp + 0x190]
repne scasw ax, word [rdi]
not rcx
dec rcx
je 0x1400a7132
cmp word [rbp + rcx*2 + 0x18e], 0x5c
jne 0x1400a7132
mov word [rbp + rcx*2 + 0x18e], si
lea rcx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400a7168
test al, 0x10
je 0x1400a7168
xor eax, eax
lea rdi, [rbp - 0x80]
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
mov rax, qword [0x140124240]
mov qword [rdi - 2], rax
movzx eax, word [0x140124248]
mov word [rdi + 6], ax
lea rcx, [rbp + 0x190]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400a71a4
test al, 0x10
je 0x1400a71a4
xor eax, eax
lea rdi, [rbp + 0x190]
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
mov rax, qword [0x140124240]
mov qword [rdi - 2], rax
movzx eax, word [0x140124248]
mov word [rdi + 6], ax
lea rdx, [rbp + 0x3a0]
lea rcx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov r12, rax
cmp rax, 0xffffffffffffffff
jne 0x1400a71d4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rbp + 0x12a0]
mov dword [rcx], eax
xor eax, eax
jmp 0x1400a7311
mov rsi, qword [rbp + 0x12a0]
lea rax, [rbp + 0xe30]
lea r9, [rbp + 0x1040]
lea r8, [rbp + 0xc20]
lea rdx, [rbp + 0xa10]
lea rcx, [rbp - 0x80]
xor edi, edi
mov qword [rsp + 0x1380], r15
mov qword [rsp + 0x20], rax
mov dword [rsi], edi
call qword [sym.imp.MSVCR100.dll__wsplitpath]
lea rdx, [rbp + 0xc20]
mov qword [rsp + 0x20], rdx
lea r9, [rbp + 0xa10]
lea r8, str._s_s
lea rcx, [rbp + 0x800]
mov edx, 0x105
call fcn.1400e0640
mov r15d, dword gs:[0x48]
mov ebx, edi
movsxd rcx, eax
sub r14, rcx
lea rax, [rbp + rcx*2 + 0x800]
mov qword [rsp + 0x30], rax
nop dword [rax + rax]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [0x14013b0f8]
sub eax, dword [0x140143d4c]
cmp eax, dword [rcx + 0x118]
jbe 0x1400a72b8
lea rcx, [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], edi
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x1400a72ac
cmp dword [0x1401430c0], r15d
jne 0x1400a72ac
mov edx, 1
or ecx, 0xffffffff
call fcn.140001b80
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x140143d4c], eax
test byte [rbp + 0x3a0], 0x10
jne 0x1400a72e6
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp + 0x3cc]
repne scasw ax, word [rdi]
not rcx
dec rcx
cmp rcx, r14
jbe 0x1400a732d
mov dword [rsi], reloc.WSOCK32.dll_WSAGetLastError
inc ebx
xor edi, edi
lea rdx, [rbp + 0x3a0]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1400a7260
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindClose]
mov r15, qword [rsp + 0x1380]
mov eax, ebx
lea r11, [rsp + 0x1350]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret
mov rdx, qword [rsp + 0x30]
lea rax, [rbp + 0x3cc]
lea rcx, [rbp + 0x3cc]
sub rdx, rax
nop word [rax + rax]
movzx eax, word [rcx]
add rcx, 2
mov word [rdx + rcx - 2], ax
test ax, ax
jne 0x1400a7350
lea r8, [rbp + 0x5f0]
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0x3cc]
call fcn.1400a7410
cmp byte [rbp + 0x1298], 0
lea rdx, [rbp + 0x5f0]
lea rcx, [rbp + 0x800]
je 0x1400a73df
call qword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x1400a72e4
test r13b, r13b
je 0x1400a73d2
lea rcx, [rbp + 0x5f0]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x1400a73d2
lea rdx, [rbp + 0x5f0]
lea rcx, [rbp + 0x800]
call qword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x1400a72e4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi], eax
jmp 0x1400a72e2
xor edi, edi
test r13b, r13b
mov r8d, edi
sete r8b
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x1400a72e6
call qword [sym.imp.KERNEL32.dll_GetLastError]
inc ebx
mov dword [rsi], eax
jmp 0x1400a72e6