Function at 0x4016a0
Capabilities:
Get common file path
Get session user name
Schedule task via itaskscheduler

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa84
mov eax, dword [0x426008]
xor eax, ebp
mov dword [ebp - 8], eax
push esi
push edi
xor eax, eax
mov esi, ecx
push 0x206
push eax
mov word [ebp - 0x41c], ax
xor edi, edi
lea eax, [ebp - 0x41a]
push eax
call fcn.0040cc90
add esp, 0xc
xor eax, eax
mov word [ebp - 0xa34], ax
push 0x206
push eax
lea eax, [ebp - 0xa32]
push eax
call fcn.0040cc90
add esp, 0xc
lea eax, [ebp - 0xa34]
lea ecx, [ebp - 0x41c]
push dword [ebp + 8]
sub esp, 8
push eax
call fcn.00401310
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x624], ax
lea eax, [ebp - 0x622]
push eax
call fcn.0040cc90
add esp, 0x1c
lea eax, [ebp - 0x624]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x214], ax
lea eax, [ebp - 0x212]
push eax
call fcn.0040cc90
add esp, 0xc
lea eax, [ebp - 0x214]
push edi
push 0x1a
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push 0x4226f8
lea eax, [ebp - 0x214]
push 0x104
push eax
call fcn.0040a8fb
add esp, 0xc
lea eax, [ebp - 0x214]
push str.wds_
push 0x104
push eax
call fcn.0040a8fb
add esp, 0xc
push edi
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0xa6c]
push eax
push 0x41d2a0
push 1
push edi
push 0x41d2c0
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x4019c8
mov eax, dword [ebp - 0xa6c]
lea edx, [ebp - 0x41c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0xa6c]
lea edx, [ebp - 0xa68]
push edx
push 0x41d290
push 0x41d2b0
mov ecx, dword [eax]
lea edx, [ebp - 0x41c]
push edx
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x4019c8
mov eax, dword [ebp - 0xa68]
lea edx, [ebp - 0x624]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0xa68]
lea edx, [ebp - 0xa34]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0xa68]
push str._check_update
push eax
mov ecx, dword [eax]
call dword [ecx + 0x88]
mov eax, dword [ebp - 0xa68]
lea edx, [ebp - 0x214]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x90]
mov eax, dword [ebp - 0xa68]
push 0x2000
push eax
mov ecx, dword [eax]
call dword [ecx + 0x70]
xor eax, eax
push 0x200
push eax
mov word [ebp - 0x82c], ax
lea eax, [ebp - 0x82a]
push eax
call fcn.0040cc90
add esp, 0xc
mov dword [ebp - 0xa78], 0x101
lea eax, [ebp - 0xa78]
push eax
lea eax, [ebp - 0x82c]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov eax, dword [ebp - 0xa68]
lea edx, [ebp - 0x82c]
push edi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x78]
mov eax, dword [ebp - 0xa68]
lea edx, [ebp - 0xa74]
push edx
lea edx, [ebp - 0xa7c]
mov esi, 1
push edx
mov ecx, dword [eax]
push eax
mov word [ebp - 0xa84], si
call dword [ecx + 0xc]
test eax, eax
js 0x401977
push 0x30
lea eax, [ebp - 0xa64]
push edi
push eax
call fcn.0040cc90
mov eax, 0x30
mov dword [ebp - 0xa5e], 0x10001
mov word [ebp - 0xa64], ax
lea edx, [ebp - 0xa64]
xor eax, eax
mov dword [ebp - 0xa50], 0x5a0
mov dword [ebp - 0xa54], eax
add esp, 0xc
mov eax, 0x7d0
mov dword [ebp - 0xa4c], 0x1e
mov word [ebp - 0xa60], ax
mov eax, dword [ebp - 0xa84]
mov dword [ebp - 0xa40], eax
mov eax, dword [ebp - 0xa80]
mov dword [ebp - 0xa3c], eax
mov eax, dword [ebp - 0xa74]
mov dword [ebp - 0xa44], esi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [ebp - 0xa74]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0xa68]
lea edx, [ebp - 0xa70]
push edx
push 0x41d270
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x4019ae
mov eax, dword [ebp - 0xa70]
push 1
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 0xa70]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0xa68]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0xa6c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov edi, esi
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 8]
mov eax, edi
pop edi
xor ecx, ebp
pop esi
call fcn.0040a822
mov esp, ebp
pop ebp
ret