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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x678
mov eax, dword [0x425280]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x214], ax
xor esi, esi
lea eax, [ebp - 0x212]
push eax
call fcn.00413c60
add esp, 0xc
xor eax, eax
mov word [ebp - 0x624], ax
push 0x206
push eax
lea eax, [ebp - 0x622]
push eax
call fcn.00413c60
add esp, 8
lea eax, [ebp - 0x624]
push eax
push ecx
lea eax, [ebp - 0x214]
push eax
call fcn.00408990
call fcn.00404850
push esi
mov ebx, eax
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0x664]
push eax
push 0x41d3c8
push 1
push esi
push 0x41d3e8
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x40903d
mov eax, dword [ebp - 0x664]
lea edx, [ebp - 0x214]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x664]
lea edx, [ebp - 0x660]
push edx
push 0x41d3b8
push 0x41d3d8
mov ecx, dword [eax]
lea edx, [ebp - 0x214]
push edx
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x40903d
mov eax, dword [ebp - 0x660]
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0x660]
lea edx, [ebp - 0x624]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0x660]
push str._check_update
push eax
mov ecx, dword [eax]
call dword [ecx + 0x88]
mov eax, dword [ebp - 0x660]
push ebx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x90]
mov eax, dword [ebp - 0x660]
push 0x2000
push eax
mov ecx, dword [eax]
call dword [ecx + 0x70]
xor eax, eax
push 0x200
push eax
mov word [ebp - 0x41c], ax
lea eax, [ebp - 0x41a]
push eax
call fcn.00413c60
add esp, 0xc
mov dword [ebp - 0x628], 0x101
lea eax, [ebp - 0x628]
push eax
lea eax, [ebp - 0x41c]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov eax, dword [ebp - 0x660]
lea edx, [ebp - 0x41c]
push esi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x78]
mov eax, dword [ebp - 0x660]
lea edx, [ebp - 0x66c]
push edx
lea edx, [ebp - 0x62c]
mov esi, 1
push edx
mov ecx, dword [eax]
push eax
mov word [ebp - 0x674], si
call dword [ecx + 0xc]
test eax, eax
js 0x408fee
push 0x30
lea eax, [ebp - 0x65c]
push 0
push eax
call fcn.00413c60
mov eax, 0x30
mov dword [ebp - 0x656], 0x10001
mov word [ebp - 0x65c], ax
lea edx, [ebp - 0x65c]
xor eax, eax
mov dword [ebp - 0x648], 0x5a0
mov dword [ebp - 0x64c], eax
add esp, 0xc
mov eax, 0x7d0
mov dword [ebp - 0x644], 0x1e
mov word [ebp - 0x658], ax
mov eax, dword [ebp - 0x674]
mov dword [ebp - 0x638], eax
mov eax, dword [ebp - 0x670]
mov dword [ebp - 0x634], eax
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x63c], esi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [ebp - 0x66c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x660]
lea edx, [ebp - 0x668]
push edx
push 0x41d3a8
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x409025
mov eax, dword [ebp - 0x668]
push 1
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 0x668]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x660]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x664]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 8]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040fd4e
mov esp, ebp
pop ebp
ret 4