Function at 0x1400d56b0
Capabilities:
Check for time delay via gettickcount
Check if file exists
Enumerate files on windows
Enumerate files recursively
Set file attributes

Disassembly:
push rbx
push rbp
push rsi
push rdi
mov eax, 0x16a8
call sub.ntdll.dll___chkstk
sub rsp, rax
mov qword [rsp + 0xa0], 0xfffffffffffffffe
movaps xmmword [rsp + Ordinal_5781], xmm6
mov rax, qword [0x14042d950]
xor rax, rsp
mov qword [rsp + Ordinal_5762], rax
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x58], rdx
mov rbx, rcx
mov qword [rsp + 0x88], rcx
mov rsi, qword [rsp + 0x16f0]
mov qword [rsp + 0x40], rsi
mov rax, qword [rsp + 0x16f8]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x1700]
mov qword [rsp + 0x68], rax
mov rbp, qword [rsp + 0x1708]
mov qword [rsp + 0x50], rbp
mov word [rsp + reloc.MFC80U.DLL_Ordinal_784], 0
xor edx, edx
mov r8d, Ordinal_512
lea rcx, [rsp + reloc.MFC80U.DLL_Ordinal_786]
call sub.ntdll.dll_memset
mov word [rsp + 0x510], 0
xor edx, edx
mov r8d, 0x2ba
lea rcx, [rsp + 0x512]
call sub.ntdll.dll_memset
mov word [rsp + Ordinal_3013], 0
xor edx, edx
mov r8d, 0x2ba
lea rcx, [rsp + 0xbc2]
call sub.ntdll.dll_memset
mov dword [rsp + 0x48], 1
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
cmp rcx, 0x104
jbe 0x1400d58f4
mov r8d, 0x3e8
mov rdx, rbx
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.ntdll.dll_wcstombs]
mov edx, 0x7d
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.ntdll.dll_strchr]
lea rsi, [rax + 1]
call fcn.140049470
mov rbx, rax
xor edx, edx
mov r8d, 0x80
lea rcx, [0x140434760]
call sub.ntdll.dll_memset
mov edx, 0x5c
lea rcx, str...copyfile.cpp
call qword [sym.imp.ntdll.dll_strrchr]
mov rdi, rax
test rax, rax
jne 0x1400d582d
xor r8d, r8d
jmp 0x1400d58c0
mov byte [rsp + reloc.MFC80U.DLL_Ordinal_768], 0
xor eax, eax
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_769], rax
mov word [rsp + 0x309], ax
mov byte [rsp + 0x30b], al
mov r8d, Ordinal_734
lea rdx, [0x1402dfd08]
lea rcx, [rsp + reloc.MFC80U.DLL_Ordinal_768]
call qword [sym.imp.ntdll.dll_sprintf]
lea rdx, [rdi + 1]
lea r8, [0x140434760]
mov rcx, r8
sub rcx, rdx
nop
nop
movzx eax, byte [rdx]
mov byte [rcx + rdx], al
add rdx, 1
test al, al
jne 0x1400d5880
mov rdi, r8
xor eax, eax
or rcx, 0xffffffffffffffff
repne scasb al, byte [rdi]
lea rdx, [rsp + reloc.MFC80U.DLL_Ordinal_768]
xor ecx, ecx
nop
nop
nop
nop
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx - 1], al
add rcx, 1
test al, al
jne 0x1400d58b0
mov rax, qword [rbx]
mov rcx, qword [rsp + 0x58]
movzx r9d, word [rcx]
mov qword [rsp + 0x20], rsi
lea rdx, str._s:_Failed_to_access:__c:_s
mov rcx, rbx
call qword [rax + 0x10]
mov rax, qword [rbp]
mov edx, 0x2b
mov rcx, rbp
call qword [rax + 0x40]
xor eax, eax
jmp 0x1400d60f3
xor edx, edx
mov r8d, 0x250
lea rcx, [rsp + 0xb0]
call sub.ntdll.dll_memset
mov r8, rbx
lea rdx, str._Volume_s.
lea rcx, [rsp + 0xbc0]
call qword [sym.imp.MSVCR80.dll__swprintf]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0xbc0]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rdi, rax
mov qword [rsp + 0x78], rax
cmp rax, 0xffffffffffffffff
jne 0x1400d59e2
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
jne 0x1400d595c
lea eax, [rdi + 2]
jmp 0x1400d60f3
mov r8d, 0x3e8
lea rdx, [rsp + 0xbc0]
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.ntdll.dll_wcstombs]
mov edx, 0x7d
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.ntdll.dll_strchr]
lea rsi, [rax + 1]
call fcn.140049470
mov rbx, rax
mov rbp, qword [rax]
mov rcx, qword [rsp + 0x58]
movzx edi, word [rcx]
mov edx, Ordinal_751
lea rcx, str...copyfile.cpp
call fcn.1400d3490
mov r8, rax
mov qword [rsp + 0x20], rsi
mov r9d, edi
lea rdx, str._s:_Failed_to_access:__c:_s
mov rcx, rbx
call qword [rbp + 0x10]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
mov edx, 0x2b
call qword [rax + 0x40]
xor eax, eax
jmp 0x1400d60f3
mov eax, dword [0x140434810]
test al, 1
jne 0x1400d5a01
or eax, 1
mov dword [0x140434810], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x14043480c], eax
xor ebx, ebx
movsd xmm6, qword [0x1403b85a8]
nop
nop
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0xf0]
test eax, eax
jne 0x1400d60e2
cmp dword [rsi], 0x2710
jae 0x1400d60d3
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x14043480c]
cmp eax, 0x3e8
jb 0x1400d5acb
mov rax, qword [rsp + 0x70]
cvtsi2sd xmm1, qword [rax]
mov rax, qword [rsp + 0x98]
cvtsi2sd xmm0, qword [rax]
divsd xmm1, xmm0
mulsd xmm1, xmm6
cvttsd2si edi, xmm1
mov r8d, edi
lea rdx, str.Checking_files:__d__
lea rcx, [rsp + reloc.MFC80U.DLL_Ordinal_3712]
call qword [sym.imp.MSVCR80.dll__swprintf]
mov rax, qword [rbp]
lea rdx, [rsp + reloc.MFC80U.DLL_Ordinal_3712]
mov rcx, rbp
call qword [rax + 0x70]
mov r8d, edi
lea rdx, str.Checking:_d
lea rcx, [rsp + reloc.MFC80U.DLL_Ordinal_3712]
call qword [sym.imp.MSVCR80.dll__swprintf]
mov rax, qword [rbp]
lea rdx, [rsp + reloc.MFC80U.DLL_Ordinal_3712]
mov rcx, rbp
call qword [rax + 0x78]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x14043480c], eax
xor edx, edx
mov r8d, Ordinal_512
lea rcx, [rsp + reloc.MFC80U.DLL_Ordinal_784]
call sub.ntdll.dll_memset
mov rdx, rbx
nop
nop
nop
nop
movzx eax, word [rsp + rdx + 0xdc]
mov word [rsp + rdx + reloc.MFC80U.DLL_Ordinal_784], ax
add rdx, 2
test ax, ax
jne 0x1400d5af0
lea rcx, [rsp + reloc.MFC80U.DLL_Ordinal_784]
call qword [sym.imp.ntdll.dll__wcslwr]
test byte [rsp + 0xb0], 0x10
je 0x1400d5ca3
lea rsi, [0x1403b6c40]
lea rdi, [rsp + reloc.MFC80U.DLL_Ordinal_784]
mov ecx, 2
repe cmpsw word [rsi], word [rdi]
je 0x1400d6091
lea rsi, [0x1403b6c44]
lea rdi, [rsp + reloc.MFC80U.DLL_Ordinal_784]
mov ecx, 3
repe cmpsw word [rsi], word [rdi]
je 0x1400d608a
lea rsi, str.recycler
lea rdi, [rsp + reloc.MFC80U.DLL_Ordinal_784]
mov ecx, 9
repe cmpsw word [rsi], word [rdi]
je 0x1400d6083
lea rsi, str._recycle.bin
lea rdi, [rsp + reloc.MFC80U.DLL_Ordinal_784]
mov ecx, 0xd
repe cmpsw word [rsi], word [rdi]
je 0x1400d607c
lea rsi, str.recycle_bin
lea rdi, [rsp + reloc.MFC80U.DLL_Ordinal_784]
mov ecx, 0xc
repe cmpsw word [rsi], word [rdi]
je 0x1400d6075
lea rsi, str.system_volume_information
lea rdi, [rsp + reloc.MFC80U.DLL_Ordinal_784]
mov ecx, 0x1a
repe cmpsw word [rsi], word [rdi]
je 0x1400d606e
mov word [rsp + 0x7d0], 0
xor edx, edx
mov r8d, 0x2ba
lea rcx, [rsp + 0x7d2]
call sub.ntdll.dll_memset
lea r9, [rsp + 0xdc]
mov r8, qword [rsp + 0x88]
lea rdx, [0x1402e0040]
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.MSVCR80.dll__swprintf]
mov qword [rsp + 0x38], rbp
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x28], rax
mov rsi, qword [rsp + 0x40]
mov qword [rsp + 0x20], rsi
mov r9, qword [rsp + 0x98]
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x7d0]
call fcn.1400d56b0
mov edi, eax
test eax, eax
jne 0x1400d5c6e
cmp dword [rsi], 0x2710
jae 0x1400d60c4
mov rdx, qword [rbp]
mov rcx, rbp
call qword [rdx + 0xf0]
test eax, eax
jne 0x1400d60c4
mov eax, dword [rsp + 0x48]
test edi, edi
cmove eax, ebx
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x68]
cmp dword [rax], 0
jne 0x1400d60b5
jmp 0x1400d6096
lea rsi, str.pagefile.sys
lea rdi, [rsp + reloc.MFC80U.DLL_Ordinal_784]
mov ecx, 0xd
repe cmpsw word [rsi], word [rdi]
je 0x1400d6067
lea rsi, [0x1402ed858]
lea rdi, [rsp + reloc.MFC80U.DLL_Ordinal_784]
mov ecx, 0xd
repe cmpsw word [rsi], word [rdi]
je 0x1400d6060
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x84], eax
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x80], eax
mov rsi, qword [rsp + 0x80]
mov rax, qword [rsp + 0x90]
cmp rsi, qword [rax]
jle 0x1400d5d11
mov qword [rax], rsi
lea r9, [rsp + 0xdc]
mov r8, qword [rsp + 0x88]
lea rdx, [0x1402e2ad0]
lea rcx, [rsp + 0x510]
call qword [sym.imp.MSVCR80.dll__swprintf]
mov edx, 0x80
lea rcx, [rsp + 0x510]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
lea rcx, [rsp + 0x510]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
jne 0x1400d6033
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [rax + 4]
lea rcx, [rsp + 0x510]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x60], rax
cmp rax, 0xffffffffffffffff
jne 0x1400d5e7b
mov r8d, Ordinal_355
lea rdx, [rsp + 0x510]
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.ntdll.dll_wcstombs]
mov edx, 0x7d
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.ntdll.dll_strchr]
add rax, 1
mov qword [rsp + 0x48], rax
call fcn.140049470
mov rbx, rax
mov rbp, qword [rax]
mov rax, qword [rsp + 0x58]
movzx edi, word [rax]
mov edx, 0x365
lea rcx, str...copyfile.cpp
call fcn.1400d3490
mov r8, rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, edi
lea rdx, str._s:_Failed_to_access:__c:_s
mov rcx, rbx
call qword [rbp + 0x10]
mov rdi, qword [rsp + 0x40]
cmp dword [rdi], 0
jne 0x1400d5e58
mov rbp, qword [rsp + 0x50]
mov rax, qword [rbp]
mov edx, 0x2b
mov rcx, rbp
call qword [rax + 0x40]
jmp 0x1400d5e5d
mov rbp, qword [rsp + 0x50]
add dword [rdi], 1
mov rax, qword [rsp + 0x68]
mov dword [rax], 1
xor ebx, ebx
mov dword [rsp + 0x48], ebx
mov rax, qword [rsp + 0x60]
jmp 0x1400d6033
mov eax, dword [0x140434808]
test al, 1
jne 0x1400d5eb0
or eax, 1
mov dword [0x140434808], eax
mov qword [0x1404347f0], rbx
mov qword [0x1404347f8], rbx
mov qword [0x140434800], rbx
lea rcx, [0x1402dc210]
call fcn.140161180
nop
mov rcx, qword [0x1404347f0]
test rcx, rcx
je 0x1400d5f8b
mov rax, qword [0x1404347f8]
sub rax, rcx
sar rax, 3
cmp rax, 0x186a0
jb 0x1400d5f8b
mov r8d, Ordinal_355
lea rdx, [rsp + 0x510]
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.ntdll.dll_wcstombs]
mov edx, 0x7d
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.ntdll.dll_strchr]
add rax, 1
mov qword [rsp + 0x48], rax
call fcn.140049470
mov rbx, rax
mov rbp, qword [rax]
mov rax, qword [rsp + 0x58]
movzx edi, word [rax]
mov edx, 0x375
lea rcx, str...copyfile.cpp
call fcn.1400d3490
mov r8, rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, edi
lea rdx, str._s:_Failed_to_access:__c:_s
mov rcx, rbx
call qword [rbp + 0x10]
mov rdi, qword [rsp + 0x40]
cmp dword [rdi], 0
jne 0x1400d5f73
mov rbp, qword [rsp + 0x50]
mov rax, qword [rbp]
mov edx, 0x2b
mov rcx, rbp
call qword [rax + 0x40]
jmp 0x1400d5f78
mov rbp, qword [rsp + 0x50]
add dword [rdi], 1
xor ebx, ebx
mov dword [rsp + 0x48], ebx
mov rax, qword [rsp + 0x60]
jmp 0x1400d6033
lea rcx, [rsp + 0x510]
call fcn.1400d4810
test eax, eax
jne 0x1400d602e
xor eax, eax
or r8, 0xffffffffffffffff
mov rcx, r8
lea rdi, [rsp + 0x510]
repne scasw ax, word [rdi]
not rcx
and ecx, ecx
movsxd rdi, ecx
mov eax, 2
mul rdi
cmovo rax, r8
mov rcx, rax
call sub.MFC80U.DLL_Ordinal_265
mov rbx, rax
mov qword [rsp + reloc.MFC80U.DLL_Ordinal_768], rax
lea r8, [rdi + rdi]
xor edx, edx
mov rcx, rax
call sub.ntdll.dll_memset
lea rdx, [rsp + 0x510]
lea rax, [rsp + 0x510]
sub rbx, rax
nop
movzx ecx, word [rdx]
mov word [rbx + rdx], cx
add rdx, 2
test cx, cx
jne 0x1400d6000
call fcn.1400d3dc0
mov rcx, rax
lea rdx, [rsp + reloc.MFC80U.DLL_Ordinal_768]
call fcn.14004d180
xor ebx, ebx
mov rax, qword [rsp + 0x60]
jmp 0x1400d6033
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
add qword [rcx], rsi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [rsp + 0xb0]
lea rcx, [rsp + 0x510]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov rsi, qword [rsp + 0x40]
jmp 0x1400d6096
mov rsi, qword [rsp + 0x40]
jmp 0x1400d6096
mov rsi, qword [rsp + 0x40]
jmp 0x1400d6096
mov rsi, qword [rsp + 0x40]
jmp 0x1400d6096
mov rsi, qword [rsp + 0x40]
jmp 0x1400d6096
mov rsi, qword [rsp + 0x40]
jmp 0x1400d6096
mov rsi, qword [rsp + 0x40]
jmp 0x1400d6096
mov rsi, qword [rsp + 0x40]
jmp 0x1400d6096
mov rsi, qword [rsp + 0x40]
lea rdx, [rsp + 0xb0]
mov rdi, qword [rsp + 0x78]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x1400d60d3
jmp 0x1400d5a10
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
jmp 0x1400d60f3
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
jmp 0x1400d60f3
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [rsp + 0x48]
jmp 0x1400d60f3
mov rax, qword [rbp]
mov edx, 0x17
mov rcx, rbp
call qword [rax + 0x40]
xor eax, eax
mov rcx, qword [rsp + 0x1680]
xor rcx, rsp
call fcn.140161080
movaps xmm6, xmmword [rsp + 0x1690]
add rsp, 0x16a8
pop rdi
pop rsi
pop rbp
pop rbx
ret