Function at 0x4016ee
Capabilities:
Copy file
Create shortcut via ishelllink
Delete file
Delete registry value
Enumerate files on windows
Get file attributes
Move file
Query environment variable
Query or enumerate registry key
Query or enumerate registry value
Read .ini file
Read file on windows
Set current directory
Set file attributes
Set registry value

Disassembly:
push ebp
mov ecx, 7
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x284]
push ebx
sub esp, 0x2cc
mov esi, dword [ebp + 8]
mov eax, dword [0x42fa6c]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x2a0], eax
mov edi, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x280]
mov esi, dword [ebp - 0x284]
mov eax, edi
mov ebx, edx
shl eax, 0xb
add eax, dword [0x40c974]
shl ebx, 0xb
add ebx, dword [0x40c974]
mov dword [ebp - 0x29c], eax
lea eax, [ebp - 0x280]
mov dword [0x419100], eax
lea eax, [esi - 2]
cmp eax, 0x43
ja case.0x40175a.66
jmp dword [eax*4 + 0x40c004]
xor eax, eax
mov dword [esp], edx
mov dword [esp + 4], eax
jmp 0x401d5e
inc dword [0x430abc]
cmp dword [ebp - 0x2a0], 0
je 0x40178a
xor esi, esi
mov dword [esp], esi
call dword [sym.imp.USER32.dll_PostQuitMessage]
push edi
mov edx, 0x7fffffff
jmp case.0x40175a.2
mov dword [esp], edx
call fcn.004016ab
xor ecx, ecx
push edx
dec eax
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00403b1b
mov edx, eax
push ebx
push ebx
jmp case.0x40175a.2
xor eax, eax
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004073e6
jmp 0x403627
xor eax, eax
call fcn.004014aa
mov edx, 1
test eax, eax
cmovle eax, edx
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x402ca8
mov eax, dword [ebp - 0x2a0]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
jmp 0x402ca8
cmp dword [ebp - 0x278], 0
jg 0x40182d
mov eax, dword [edx*4 + 0x419020]
je 0x401814
mov dword [0x4190fc], eax
jmp 0x40181b
mov dword [edx*4 + 0x419060], eax
mov eax, 1
call fcn.004014aa
mov edx, dword [ebp - 0x280]
jmp 0x40184d
mov eax, dword [edx*4 + 0x419060]
cmp dword [ebp - 0x274], 0
mov dword [edx*4 + 0x419020], eax
jns case.0x40175a.66
mov eax, dword [0x4190fc]
mov dword [edx*4 + 0x419020], eax
jmp case.0x40175a.66
mov ecx, dword [ebp - 0x278]
xor edx, edx
mov eax, dword [ecx*4 + 0x419020]
test eax, eax
sete dl
and eax, dword [ebp - 0x274]
mov dword [ecx*4 + 0x419020], eax
mov edx, dword [ebp + edx*4 - 0x280]
jmp case.0x40175a.2
mov eax, dword [edi*4 + 0x419020]
jmp 0x403223
mov eax, dword [0x430aa8]
test eax, eax
je 0x4018aa
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [sym.imp.USER32.dll_ShowWindow]
push eax
push eax
mov eax, dword [0x430ab0]
test eax, eax
je case.0x40175a.66
mov edx, dword [ebp - 0x280]
mov dword [esp], eax
mov dword [esp + 4], edx
jmp 0x402664
mov dword [esp], 0xfffffff0
call fcn.00401458
push edi
mov edx, dword [ebp - 0x27c]
mov dword [esp], eax
mov dword [esp + 4], edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x401b8b
mov dword [esp], 0xfffffff0
xor edi, edi
call fcn.00401458
push ebx
mov ebx, eax
mov dword [esp], eax
call fcn.00407ce2
push esi
test eax, eax
je 0x401992
mov dword [esp + 4], 0x5c
mov dword [esp], eax
call fcn.00407c43
mov esi, eax
push ecx
push ecx
mov ax, word [eax]
mov word [esi], 0
mov word [ebp - 0x29c], ax
test ax, ax
jne 0x401954
cmp dword [ebp - 0x278], 0
je 0x401954
call fcn.004086c4
test eax, eax
je 0x401954
mov dword [esp], ebx
call fcn.00407a8c
jmp 0x40195c
mov dword [esp], ebx
call fcn.00407aec
push edx
test eax, eax
je 0x40197e
cmp eax, 0xb7
je 0x40196b
inc edi
jmp 0x40197e
mov dword [esp], ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
and eax, 0x10
push ecx
cmp eax, 1
adc edi, 0
mov ecx, dword [ebp - 0x29c]
lea eax, [esi + 2]
mov word [esi], cx
test cx, cx
jmp 0x40190a
cmp dword [ebp - 0x27c], 0
je 0x4019d5
mov dword [esp], 0xffffffe6
call fcn.004016cf
mov eax, dword [0x40c974]
push esi
add eax, 0xb000
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00408365
push eax
push eax
mov dword [esp], ebx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
cmp eax, 1
push edx
adc edi, 0
jmp 0x403b07
mov dword [esp], 0xfffffff5
jmp 0x403853
xor ecx, ecx
mov dword [esp], ecx
call fcn.00401458
push ebx
mov dword [esp], eax
call fcn.004084fe
jmp 0x4023a7
mov dword [esp], 0xffffffd0
call fcn.00401458
push edx
invalid