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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff7a4
push ebx
push esi
push edi
lea edi, [ebp - 0x55c]
mov ecx, 0x13
push 0x18
call fcn.00401de5
add eax, 0x61
stosw word es:[edi], ax
loop 0x402254
xor eax, eax
stosw word es:[edi], ax
lea eax, [ebp - 0x75c]
push eax
push dword [ebp + 0x10]
call fcn.004025d8
push 0
call sub.ole32.dll_CoInitialize
lea eax, [ebp - 4]
push eax
push 0x4040b5
push 1
push 0
push 0x4040a5
call sub.ole32.dll_CoCreateInstance
cmp eax, 0
jl 0x402512
lea eax, [ebp - 8]
push eax
lea eax, [0x4040c5]
push eax
lea eax, [0x4040d5]
push eax
lea eax, [ebp - 0x55c]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 0x20]
call eax
cmp eax, 0
jl 0x402507
push 0x2202
mov eax, dword [ebp - 8]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x70]
call eax
push 0x400
lea eax, [ebp - 0x408]
push eax
call fcn.00401d0f
call fcn.0040251e
cmp eax, 0x4000
je 0x4022fd
cmp eax, 0x3000
jne 0x402300
nop
jmp 0x40231f
mov dword [ebp - 0x408], 0x100
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x404]
push eax
push 2
call sub.secur32.dll_GetUserNameExW
push 0
lea eax, [ebp - 0x404]
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 0x78]
call eax
lea eax, [ebp - 0x75c]
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x80]
push eax
call edx
cmp dword [ebp + 0x14], 0
je 0x402372
lea eax, [ebp - 0x85c]
push eax
push dword [ebp + 0x14]
call fcn.004025d8
lea eax, [ebp - 0x85c]
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x88]
push eax
call edx
push 0xd65cb580
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xa8]
push eax
call edx
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0x410]
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 0xc]
call eax
cmp eax, 0
jl 0x4024fc
push 0x30
lea eax, [ebp - 0x440]
push eax
call fcn.00401d0f
lea eax, [ebp - 0x454]
push eax
call sub.kernel32.dll_GetLocalTime
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x454]
push eax
call sub.kernel32.dll_SystemTimeToFileTime
mov eax, 0x47868c00
cmp dword [ebp + 0x18], 1
jne 0x4023e4
mov eax, 0x29b92700
xor edx, edx
add dword [ebp - 0x45c], eax
adc dword [ebp - 0x458], edx
lea eax, [ebp - 0x454]
push eax
lea eax, [ebp - 0x45c]
push eax
call sub.kernel32.dll_FileTimeToSystemTime
cmp dword [ebp + 0x18], 0
jne 0x40241f
mov dword [ebp - 0x42c], 0x80520
mov dword [ebp - 0x428], 2
mov word [ebp - 0x440], 0x30
mov ax, word [ebp - 0x44a]
mov word [ebp - 0x42e], ax
mov ax, word [ebp - 0x44c]
mov word [ebp - 0x430], ax
mov ax, word [ebp - 0x44e]
mov word [ebp - 0x438], ax
mov ax, word [ebp - 0x452]
mov word [ebp - 0x43a], ax
mov ax, word [ebp - 0x454]
mov word [ebp - 0x43c], ax
add ax, 0x64
mov word [ebp - 0x436], ax
mov word [ebp - 0x434], 1
mov word [ebp - 0x432], 1
lea eax, [ebp - 0x440]
push eax
mov eax, dword [ebp - 0x40c]
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
push eax
call edx
lea eax, [ebp - 0x444]
push eax
lea eax, [0x4040e5]
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push eax
mov eax, dword [ecx]
call eax
cmp eax, 0
jl 0x4024ee
push 1
push 0
mov eax, dword [ebp - 0x444]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x18]
push eax
call edx
cmp dword [ebp + 0x1c], 0
je 0x4024e0
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x30]
push eax
call edx
mov eax, dword [ebp - 0x444]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x40c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call sub.ole32.dll_CoUninitialize
pop edi
pop esi
pop ebx
leave
ret 0x18