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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x674
mov eax, dword [0x429280]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
xor eax, eax
push esi
mov esi, dword [ebp + 0xc]
push edi
push 0x206
push eax
mov word [ebp - 0x210], ax
xor edi, edi
lea eax, [ebp - 0x20e]
push eax
call fcn.00417440
add esp, 0xc
xor eax, eax
mov word [ebp - 0x620], ax
push 0x206
push eax
lea eax, [ebp - 0x61e]
push eax
call fcn.00417440
add esp, 0xc
lea eax, [ebp - 0x620]
push esi
push ecx
push eax
push ecx
lea eax, [ebp - 0x210]
push eax
call fcn.00409820
call fcn.00405600
push edi
mov esi, eax
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0x660]
push eax
push 0x421398
push 1
push edi
push 0x4213b8
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x40a023
mov eax, dword [ebp - 0x660]
lea edx, [ebp - 0x210]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x660]
lea edx, [ebp - 0x65c]
push edx
push 0x421388
push 0x4213a8
mov ecx, dword [eax]
lea edx, [ebp - 0x210]
push edx
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x40a023
mov eax, dword [ebp - 0x65c]
push ebx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x80]
mov eax, dword [ebp - 0x65c]
lea edx, [ebp - 0x620]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0x65c]
push str._check_update
push eax
mov ecx, dword [eax]
call dword [ecx + 0x88]
mov eax, dword [ebp - 0x65c]
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x90]
mov eax, dword [ebp - 0x65c]
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.00417440
add esp, 0xc
mov dword [ebp - 0x624], 0x101
lea eax, [ebp - 0x624]
push eax
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov eax, dword [ebp - 0x65c]
lea edx, [ebp - 0x418]
push edi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x78]
mov eax, dword [ebp - 0x65c]
lea edx, [ebp - 0x668]
push edx
lea edx, [ebp - 0x628]
mov esi, 1
push edx
mov ecx, dword [eax]
push eax
mov word [ebp - 0x670], si
call dword [ecx + 0xc]
test eax, eax
js 0x409fd2
push 0x30
lea eax, [ebp - 0x658]
push edi
push eax
call fcn.00417440
mov eax, 0x30
mov dword [ebp - 0x652], 0x10001
mov word [ebp - 0x658], ax
lea edx, [ebp - 0x658]
xor eax, eax
mov dword [ebp - 0x644], 0x5a0
mov dword [ebp - 0x648], eax
add esp, 0xc
mov eax, 0x7d0
mov dword [ebp - 0x640], 0x1e
mov word [ebp - 0x654], ax
mov eax, dword [ebp - 0x670]
mov dword [ebp - 0x634], eax
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x630], eax
mov eax, dword [ebp - 0x668]
mov dword [ebp - 0x638], esi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [ebp - 0x668]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x65c]
lea edx, [ebp - 0x664]
push edx
push 0x421378
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x40a009
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 - 0x65c]
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 edi, esi
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00410bce
mov esp, ebp
pop ebp
ret 8