Function at 0x408ac0
Capabilities:
Get session user name
Schedule task via itaskscheduler

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x878
mov eax, dword [0x425280]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
xor eax, eax
xor esi, esi
push 0x206
push eax
mov word [ebp - 0x418], ax
lea eax, [ebp - 0x416]
push eax
call fcn.00413c60
add esp, 0xc
xor eax, eax
mov word [ebp - 0x828], ax
push 0x206
push eax
lea eax, [ebp - 0x826]
push eax
call fcn.00413c60
add esp, 8
lea eax, [ebp - 0x828]
push eax
push ecx
lea eax, [ebp - 0x418]
push eax
call fcn.00408990
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x210], ax
lea eax, [ebp - 0x20e]
push eax
call fcn.00413c60
add esp, 0xc
call fcn.00404850
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
call fcn.004049e0
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
call fcn.00404850
push esi
mov edi, eax
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0x868]
push eax
push 0x41d3c8
push 1
push esi
push 0x41d3e8
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x408d93
mov eax, dword [ebp - 0x868]
lea edx, [ebp - 0x418]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x868]
lea edx, [ebp - 0x864]
push edx
push 0x41d3b8
push 0x41d3d8
mov ecx, dword [eax]
lea edx, [ebp - 0x418]
push edx
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x408d93
mov eax, dword [ebp - 0x864]
lea edx, [ebp - 0x210]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0x864]
lea edx, [ebp - 0x828]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0x864]
push str._check_update
push eax
mov ecx, dword [eax]
call dword [ecx + 0x88]
mov eax, dword [ebp - 0x864]
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x90]
mov eax, dword [ebp - 0x864]
push 0x2000
push eax
mov ecx, dword [eax]
call dword [ecx + 0x70]
xor eax, eax
push 0x200
push eax
mov word [ebp - 0x620], ax
lea eax, [ebp - 0x61e]
push eax
call fcn.00413c60
add esp, 0xc
mov dword [ebp - 0x82c], 0x101
lea eax, [ebp - 0x82c]
push eax
lea eax, [ebp - 0x620]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov eax, dword [ebp - 0x864]
lea edx, [ebp - 0x620]
push esi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x78]
mov eax, dword [ebp - 0x864]
lea edx, [ebp - 0x86c]
push edx
lea edx, [ebp - 0x830]
mov esi, 1
push edx
mov ecx, dword [eax]
push eax
mov word [ebp - 0x878], si
call dword [ecx + 0xc]
test eax, eax
js 0x408d44
push 0x30
lea eax, [ebp - 0x860]
push 0
push eax
call fcn.00413c60
mov eax, 0x30
mov dword [ebp - 0x85a], 0x10001
mov word [ebp - 0x860], ax
lea edx, [ebp - 0x860]
xor eax, eax
mov dword [ebp - 0x84c], 0x5a0
mov dword [ebp - 0x850], eax
add esp, 0xc
mov eax, 0x7d0
mov dword [ebp - 0x848], 0x1e
mov word [ebp - 0x85c], ax
mov eax, dword [ebp - 0x878]
mov dword [ebp - 0x83c], eax
mov eax, dword [ebp - 0x874]
mov dword [ebp - 0x838], eax
mov eax, dword [ebp - 0x86c]
mov dword [ebp - 0x840], esi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [ebp - 0x86c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x864]
lea edx, [ebp - 0x870]
push edx
push 0x41d3a8
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x408d7b
mov eax, dword [ebp - 0x870]
push 1
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 0x870]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x864]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x868]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
xor ecx, ebp
pop esi
call fcn.0040fd4e
mov esp, ebp
pop ebp
ret