Function at 0x404360
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
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.004164b0
add esp, 0xc
xor eax, eax
mov word [ebp - 0x620], ax
push 0x206
push eax
lea eax, [ebp - 0x61e]
push eax
call fcn.004164b0
add esp, 0xc
lea eax, [ebp - 0x620]
push esi
push ecx
push eax
push ecx
lea eax, [ebp - 0x210]
push eax
call fcn.00403e30
call fcn.00402880
push edi
mov esi, eax
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0x658]
push eax
push 0x420330
push 1
push edi
push 0x420350
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x4045f3
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 0x420320
push 0x420340
mov ecx, dword [eax]
lea edx, [ebp - 0x210]
push edx
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x4045f3
mov eax, dword [ebp - 0x654]
push ebx
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 esi
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.004164b0
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 edi
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 0x4045a2
push 0x30
lea eax, [ebp - 0x650]
push edi
push eax
call fcn.004164b0
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 0x420310
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x4045d9
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]
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.0040b999
mov esp, ebp
pop ebp
ret 8