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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x678
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
xor eax, eax
mov ebx, edx
push 0x206
push eax
mov word [ebp - 0x214], ax
mov edi, ecx
lea eax, [ebp - 0x212]
xor esi, esi
push eax
call fcn.0040b750
add esp, 0xc
xor eax, eax
mov word [ebp - 0x624], ax
push 0x206
push eax
lea eax, [ebp - 0x622]
push eax
call fcn.0040b750
add esp, 4
lea eax, [ebp - 0x624]
lea ecx, [ebp - 0x214]
push eax
call fcn.004010a0
add esp, 0xc
push esi
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0x65c]
push eax
push 0x41b2a0
push 1
push esi
push 0x41b2c0
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x4013f8
mov eax, dword [ebp - 0x65c]
lea edx, [ebp - 0x214]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x65c]
lea edx, [ebp - 0x658]
push edx
push 0x41b290
push 0x41b2b0
mov ecx, dword [eax]
lea edx, [ebp - 0x214]
push edx
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x4013f8
mov eax, dword [ebp - 0x658]
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0x658]
lea edx, [ebp - 0x624]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0x658]
push str._check_update
push eax
mov ecx, dword [eax]
call dword [ecx + 0x88]
mov eax, dword [ebp - 0x658]
push ebx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x90]
mov eax, dword [ebp - 0x658]
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.0040b750
add esp, 0xc
mov dword [ebp - 0x668], 0x101
lea eax, [ebp - 0x668]
push eax
lea eax, [ebp - 0x41c]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov eax, dword [ebp - 0x658]
lea edx, [ebp - 0x41c]
push esi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x78]
mov eax, dword [ebp - 0x658]
lea edx, [ebp - 0x660]
push edx
lea edx, [ebp - 0x66c]
mov esi, 1
push edx
mov ecx, dword [eax]
push eax
mov word [ebp - 0x674], si
call dword [ecx + 0xc]
test eax, eax
js 0x4013a9
push 0x30
lea eax, [ebp - 0x654]
push 0
push eax
call fcn.0040b750
mov eax, 0x30
mov dword [ebp - 0x64e], 0x10001
mov word [ebp - 0x654], ax
lea edx, [ebp - 0x654]
xor eax, eax
mov dword [ebp - 0x640], 0x5a0
mov dword [ebp - 0x644], eax
add esp, 0xc
mov eax, 0x7d0
mov dword [ebp - 0x63c], 0x1e
mov word [ebp - 0x650], ax
mov eax, dword [ebp - 0x674]
mov dword [ebp - 0x630], eax
mov eax, dword [ebp - 0x670]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x660]
mov dword [ebp - 0x634], esi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [ebp - 0x660]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x658]
lea edx, [ebp - 0x664]
push edx
push 0x41b270
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x4013e0
mov eax, dword [ebp - 0x664]
push 1
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 0x664]
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]
mov eax, dword [ebp - 0x65c]
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.00409348
mov esp, ebp
pop ebp
ret