Function at 0x402060
Capabilities:
Accept command line arguments
Check for time delay via gettickcount
Copy file
Delete directory
Get disk information
Get file attributes
Get memory capacity
Hide graphical window
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x414366
mov eax, dword fs:[0]
push eax
sub esp, 0x2b4
mov eax, dword [0x41b0b0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
add dword [ebx], 0xffffff9b
push 0
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push 0x415398
push 0
call dword [sym.imp.USER32.dll_LoadIconA]
mov esi, dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
lea eax, [ebp - 0x284]
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [ebx]
push ecx
mov dword [ebp - 4], 0xffffffff
call fcn.0040999b
add esp, 4
push 0x26f
mov dword [ebp - 0x2b8], eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0
push 0
push 0
push 0
push 0x80000000
push 0x80000000
push 0x80000000
push 0x80000000
push 0xcf0000
push 0x415390
push 0x415388
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov edx, dword [ebx]
mov eax, dword [edi]
mov ecx, dword [ebp - 0x2b8]
push edx
add eax, 0x65
push eax
push ecx
call fcn.00409b40
add esp, 0xc
lea edx, [ebp - 0x2bc]
push edx
call esi
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0x415380
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0xffffffffffffffeb
call esi
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0x415370
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov eax, dword [edi]
push eax
call fcn.0040aa3a
add esp, 4
lea eax, [ebp - 0x2b4]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
lea ecx, [ebp - 0x284]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
lea edx, [ebp - 0x274]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [ebp - 0x2b8]
mov dword [edi], eax
call esi
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0
push 0x100
lea ecx, [ebp - 0x110]
push ecx
push 0
push 0xb44
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
lea edx, [ebp - 0x274]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0
push 0x100
lea eax, [ebp - 0x210]
push eax
push 0
push 0x28df
push 0
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push 0
push 0x415368
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov eax, dword [edi]
push 0
add eax, 0x12d
push 0x10
lea ecx, [ebp - 0x248]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x234], 0xf
mov dword [ebp - 0x238], 0
mov byte [ebp - 0x248], 0
call fcn.00401170
cmp dword [ebp - 0x234], 0x10
mov eax, dword [ebp - 0x248]
jae 0x402277
lea eax, [ebp - 0x248]
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0xc], ecx
mov eax, 0x10
cmp dword [ebp - 0x234], eax
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x248]
jae 0x4022b2
lea eax, [ebp - 0x248]
mov byte [eax + 0x10], 0
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
push 0x415360
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
push 0
call esi
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
call esi
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
lea edx, [ebp - 0x2b4]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov eax, dword [edi]
push 0
add eax, 0x2007
push 0x18
lea ecx, [ebp - 0x22c]
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x218], 0xf
mov dword [ebp - 0x21c], 0
mov byte [ebp - 0x22c], 0
call fcn.00401170
cmp dword [ebp - 0x218], 0x10
mov eax, dword [ebp - 0x22c]
jae 0x40233d
lea eax, [ebp - 0x22c]
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [ecx + 0x14]
mov dword [eax + 0x14], ecx
cmp dword [ebp - 0x218], 0x10
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x21c], 0x18
jae 0x402384
lea eax, [ebp - 0x22c]
mov byte [eax + 0x18], 0
push 0x415354
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push 0
push 0x415344
push 0x415334
call dword [sym.imp.KERNEL32.dll_CopyFileA]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea edx, [ebp - 0x274]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x280
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x248]
push ecx
lea edx, [ebp - 0x264]
push edx
mov dword [ebp - 4], 0xd
call fcn.00401670
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetACP]
push 0x41532c
call esi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
lea eax, [ebp - 0x294]
push eax
call esi
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push 0x36d
push 0x3fc
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
lea ecx, [ebp - 0x2c0]
push ecx
call esi
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
xor ecx, ecx
cmp dword [ebx], ecx
jbe 0x4024a7
cmp ecx, 0x12d
jb 0x402457
cmp ecx, 0x13d
jb 0x4024a2
cmp ecx, 0x2007
jb 0x402467
cmp ecx, 0x201f
jb 0x4024a2
cmp dword [ebp - 0x250], 0x10
jb 0x40247e
mov edx, dword [ebp - 0x264]
mov dword [ebp - 0x2b8], edx
jmp 0x40248a
lea eax, [ebp - 0x264]
mov dword [ebp - 0x2b8], eax
xor edx, edx
mov eax, ecx
div dword [ebp - 0x254]
mov eax, dword [ebp - 0x2b8]
mov esi, dword [edi]
mov dl, byte [edx + eax]
xor byte [esi + ecx], dl
inc ecx
cmp ecx, dword [ebx]
jb 0x402447
mov esi, 0x10
cmp dword [ebp - 0x250], esi
jb 0x4024c3
mov eax, dword [ebp - 0x264]
push eax
call fcn.00409b32
add esp, 4
mov edi, 0xf
mov dword [ebp - 0x250], edi
mov dword [ebp - 0x254], 0
mov byte [ebp - 0x264], 0
cmp dword [ebp - 0x218], esi
jb 0x4024f6
mov ecx, dword [ebp - 0x22c]
push ecx
call fcn.00409b32
add esp, 4
mov dword [ebp - 0x218], edi
mov dword [ebp - 0x21c], 0
mov byte [ebp - 0x22c], 0
cmp dword [ebp - 0x234], esi
jb 0x402524
mov edx, dword [ebp - 0x248]
push edx
call fcn.00409b32
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040a6c1
mov esp, ebp
pop ebp
ret