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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x674
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
mov ebx, edx
push 0x206
push eax
mov word [ebp - 0x210], ax
mov edi, ecx
lea eax, [ebp - 0x20e]
xor esi, esi
push eax
call fcn.0040bd20
add esp, 0xc
xor eax, eax
mov word [ebp - 0x620], ax
push 0x206
push eax
lea eax, [ebp - 0x61e]
push eax
call fcn.0040bd20
add esp, 0xc
lea eax, [ebp - 0x620]
lea ecx, [ebp - 0x210]
push dword [ebp + 0xc]
sub esp, 8
push eax
call fcn.004010a0
add esp, 0x10
push esi
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0x658]
push eax
push 0x41d2a0
push 1
push esi
push 0x41d2c0
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x40140e
mov eax, dword [ebp - 0x658]
lea edx, [ebp - 0x210]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x658]
lea edx, [ebp - 0x654]
push edx
push 0x41d290
push 0x41d2b0
mov ecx, dword [eax]
lea edx, [ebp - 0x210]
push edx
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x40140e
mov eax, dword [ebp - 0x654]
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0x654]
lea edx, [ebp - 0x620]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0x654]
push str._check_update
push eax
mov ecx, dword [eax]
call dword [ecx + 0x88]
mov eax, dword [ebp - 0x654]
push ebx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x90]
mov eax, dword [ebp - 0x654]
push 0x2000
push eax
mov ecx, dword [eax]
call dword [ecx + 0x70]
xor eax, eax
push 0x200
push eax
mov word [ebp - 0x418], ax
lea eax, [ebp - 0x416]
push eax
call fcn.0040bd20
add esp, 0xc
mov dword [ebp - 0x664], 0x101
lea eax, [ebp - 0x664]
push eax
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov eax, dword [ebp - 0x654]
lea edx, [ebp - 0x418]
push esi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x78]
mov eax, dword [ebp - 0x654]
lea edx, [ebp - 0x65c]
push edx
lea edx, [ebp - 0x668]
mov esi, 1
push edx
mov ecx, dword [eax]
push eax
mov word [ebp - 0x670], si
call dword [ecx + 0xc]
test eax, eax
js 0x4013bf
push 0x30
lea eax, [ebp - 0x650]
push 0
push eax
call fcn.0040bd20
mov eax, 0x30
mov dword [ebp - 0x64a], 0x10001
mov word [ebp - 0x650], ax
lea edx, [ebp - 0x650]
xor eax, eax
mov dword [ebp - 0x63c], 0x5a0
mov dword [ebp - 0x640], eax
add esp, 0xc
mov eax, 0x7d0
mov dword [ebp - 0x638], 0x1e
mov word [ebp - 0x64c], ax
mov eax, dword [ebp - 0x670]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x628], eax
mov eax, dword [ebp - 0x65c]
mov dword [ebp - 0x630], esi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [ebp - 0x65c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x654]
lea edx, [ebp - 0x660]
push edx
push 0x41d270
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x4013f6
mov eax, dword [ebp - 0x660]
push 1
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 0x660]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x654]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x658]
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
pop esi
xor ecx, ebp
pop ebx
call fcn.00409818
mov esp, ebp
pop ebp
ret