Function at 0x1400045e0
Capabilities:
Create shortcut via ishelllink
Get common file path
Get startup folder

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x270]
sub rsp, 0x370
mov rax, qword [0x140041018]
xor rax, rsp
mov qword [rbp + 0x268], rax
mov r12, r8
mov r15, rdx
mov qword [rbp - 0x40], rdx
mov r14, rcx
mov qword [rsp + 0x50], rcx
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rdx
mov qword [rbp - 0x28], r8
xor r13d, r13d
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jne 0x140004a51
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x50]
call fcn.14000c3d0
xor r9d, r9d
lea r8d, [r13 + 0x10]
lea rdx, [rbp + 0x50]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
xor r15d, r15d
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r15w
lea rax, [rbp + 0x50]
mov rdx, 0xffffffffffffffff
nop dword [rax + rax]
inc rdx
cmp word [rax + rdx*2], r15w
jne 0x140004690
lea rcx, [rbp - 0x20]
cmp rdx, 7
ja 0x1400046c0
mov qword [rbp - 0x10], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
lea rdx, [rbp + 0x50]
call fcn.14000bd20
mov word [rbp + rbx - 0x20], r15w
jmp 0x1400046ca
lea r9, [rbp + 0x50]
call fcn.140006a30
nop
mov r8, r14
lea rcx, [rsp + 0x78]
call fcn.140006600
nop
mov r9, rax
cmp qword [rax + 0x18], 8
jb 0x1400046e5
mov r9, qword [rax]
mov rdi, qword [rax + 0x10]
mov rsi, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
mov rax, rcx
sub rax, rsi
cmp rdi, rax
ja 0x14000472c
lea rax, [rdi + rsi]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp rcx, 8
cmovae rbx, qword [rbp - 0x20]
lea rcx, [rbx + rsi*2]
lea r8, [rdi + rdi]
mov rdx, r9
call fcn.14000bd20
lea rax, [rsi + rdi]
mov word [rbx + rax*2], r15w
jmp 0x14000473e
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.140006d20
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x14000477f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000477a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005086
call fcn.140009e10
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rax, rdx
sub rax, rcx
movabs r8, 0x6b006e006c002e
cmp rax, 4
jb 0x1400047be
lea rax, [rcx + 4]
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x20]
cmp rdx, 8
cmovae rax, qword [rbp - 0x20]
mov qword [rax + rcx*2], r8
mov word [rax + rcx*2 + 8], r15w
jmp 0x1400047dc
mov qword [rsp + 0x20], 4
lea r9, [0x14003b9e8]
mov edx, 4
lea rcx, [rbp - 0x20]
call fcn.140006d20
mov r13d, r15d
nop
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], 8
cmovae rdx, qword [rbp - 0x20]
lea rcx, [rsp + 0x58]
call fcn.140001e20
mov rbx, rax
mov rcx, rax
cmp qword [rax + 0x18], 0x10
jb 0x140004808
mov rcx, qword [rax]
xor edx, edx
call fcn.140012bf4
test eax, eax
sete dil
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x14000484f
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x14000484a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140005092
mov rcx, r8
call fcn.140009e10
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
test dil, dil
je 0x140004f82
mov qword [rbp], r15
mov qword [rbp + 0x18], 7
mov qword [rbp + 0x10], r15
mov word [rbp], r15w
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
mov rdi, qword [rbp - 0x10]
lea rsi, [rbp - 0x20]
cmp qword [rbp - 8], 8
cmovae rsi, qword [rbp - 0x20]
cmp rdi, 8
jae 0x1400048b9
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x48], 7
jmp 0x14000494f
mov rbx, rdi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x1400050bc
add rcx, rcx
cmp rcx, 0x1000
jb 0x140004923
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400050bc
mov rcx, rax
call fcn.14000a0b4
mov rcx, rax
test rax, rax
je 0x140005098
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140004932
test rcx, rcx
je 0x14000492f
call fcn.14000a0b4
jmp 0x140004932
mov rax, r15
mov qword [rsp + 0x30], rax
lea r8, [rdi*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.14000bd20
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rdi
lea rdx, [rbp]
lea rcx, [rsp + 0x30]
call fcn.1400043e0
test al, al
je 0x140004f39
lea rcx, [rbp]
mov r10, qword [rbp + 0x18]
cmp r10, 8
setae r11b
mov r9, qword [rbp]
cmovae rcx, r9
mov r8, r12
cmp qword [r12 + 0x18], 8
jb 0x140004991
mov r8, qword [r12]
mov rdx, qword [r12 + 0x10]
cmp rdx, qword [rbp + 0x10]
jne 0x140004b6d
test rdx, rdx
je 0x1400049c8
sub r8, rcx
nop dword [rax + rax]
movzx eax, word [rcx]
cmp word [rcx + r8], ax
jne 0x140004b6d
add rcx, 2
sub rdx, 1
jne 0x1400049b0
test r11b, r11b
je 0x140004a02
lea rdx, [r10*2 + 2]
mov rax, r9
cmp rdx, 0x1000
jb 0x1400049fa
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400050b6
mov rcx, r9
call fcn.140009e10
xor r13d, r13d
mov r15, qword [rbp - 0x40]
call qword [sym.imp.ole32.dll_CoUninitialize]
nop
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x140004a51
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004a4b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000508c
call fcn.140009e10
nop
mov rdx, qword [r14 + 0x18]
cmp rdx, 8
jb 0x140004a90
mov rcx, qword [r14]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140004a8b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400050c2
mov rcx, r8
call fcn.140009e10
mov qword [r14 + 0x10], r13
mov qword [r14 + 0x18], 7
mov word [r14], r13w
mov rdx, qword [r15 + 0x18]
cmp rdx, 8
jb 0x140004adf
mov rcx, qword [r15]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140004ada
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000507a
mov rcx, r8
call fcn.140009e10
mov qword [r15 + 0x10], r13
mov qword [r15 + 0x18], 7
mov word [r15], r13w
mov rdx, qword [r12 + 0x18]
cmp rdx, 8
jb 0x140004b30
lea rdx, [rdx*2 + 2]
mov rcx, qword [r12]
cmp rdx, 0x1000
jb 0x140004b2b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140005080
mov rcx, r8
call fcn.140009e10
mov qword [r12 + 0x10], r13
mov qword [r12 + 0x18], 7
mov word [r12], r13w
mov rcx, qword [rbp + 0x268]
xor rcx, rsp
call fcn.140009df0
mov rbx, qword [rsp + 0x3c8]
add rsp, 0x370
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rax, [rbp + 0x50]
mov rdx, 0xffffffffffffffff
nop dword [rax + rax]
inc rdx
cmp word [rax + rdx*2], 0
jne 0x140004b80
mov rax, qword [rbp - 8]
cmp rdx, rax
ja 0x140004bbe
lea rdi, [rbp - 0x20]
cmp rax, 8
cmovae rdi, qword [rbp - 0x20]
mov qword [rbp - 0x10], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.14000bd20
mov word [rdi + rbx], r15w
jmp 0x140004bcb
lea r9, [rbp + 0x50]
lea rcx, [rbp - 0x20]
call fcn.140006a30
lea r9, [rbp + 0x4a]
mov r8d, r13d
test r13d, r13d
jns 0x140004c20
neg r8d
nop word [rax + rax]
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x140004be0
add r9, 0xfffffffffffffffe
mov eax, 0x2d
mov word [r9], ax
jmp 0x140004c50
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x140004c20
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], r15w
lea rax, [rbp + 0x4a]
cmp r9, rax
je 0x140004ca9
lea rdx, [rbp + 0x4a]
sub rdx, r9
sar rdx, 1
lea rcx, [rsp + 0x30]
cmp rdx, 7
ja 0x140004ca3
mov qword [rsp + 0x40], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
call fcn.14000bd20
mov word [rsp + rbx + 0x30], r15w
jmp 0x140004ca9
call fcn.140006a30
nop
mov r8, r14
lea rcx, [rsp + 0x58]
call fcn.140006600
mov rcx, rax
mov rdx, qword [rax + 0x10]
mov r9, qword [rax + 0x18]
mov rax, r9
sub rax, rdx
cmp rax, 1
jb 0x140004cf3
lea r8, [rdx + 1]
mov qword [rcx + 0x10], r8
mov rax, rcx
cmp r9, 8
jb 0x140004ce1
mov rax, qword [rcx]
mov r9d, 0x5f
mov word [rax + rdx*2], r9w
mov word [rax + r8*2], r15w
jmp 0x140004d10
mov qword [rsp + 0x20], 1
lea r9, [0x14003ba10]
mov edx, 1
call fcn.140006d20
mov rcx, rax
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp - 0x78], xmm1
mov qword [rcx + 0x10], r15
mov qword [rcx + 0x18], 7
mov word [rcx], r15w
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x78]
lea rcx, [rbp - 0x68]
call fcn.140007460
nop
lea r9, [rbp - 0x68]
mov rdi, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x50]
cmp rsi, 8
cmovae r9, rdi
mov r15, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
mov rax, rcx
sub rax, r15
mov r14, qword [rbp - 0x58]
cmp r14, rax
ja 0x140004da2
lea rax, [r14 + r15]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp rcx, 8
cmovae rbx, qword [rbp - 0x20]
lea rcx, [rbx + r15*2]
lea r8, [r14 + r14]
mov rdx, r9
call fcn.14000bd20
lea rax, [r15 + r14]
xor r15d, r15d
mov word [rbx + rax*2], r15w
jmp 0x140004dbe
mov qword [rsp + 0x20], r14
mov rdx, r14
lea rcx, [rbp - 0x20]
call fcn.140006d20
mov rsi, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x68]
xor r15d, r15d
cmp rsi, 8
jb 0x140004dfa
lea rdx, [rsi*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140004df1
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000509e
mov rcx, rdi
call fcn.140009e10
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x140004e3c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004e36
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400050a4
call fcn.140009e10
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x140004e7e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004e79
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400050aa
call fcn.140009e10
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r15w
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x140004ed4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004ecf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400050b0
call fcn.140009e10
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rax, rdx
sub rax, rcx
cmp rax, 4
jb 0x140004f13
lea rax, [rcx + 4]
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x20]
cmp rdx, 8
cmovae rax, qword [rbp - 0x20]
movabs rdx, 0x6b006e006c002e
mov qword [rax + rcx*2], rdx
mov word [rax + rcx*2 + 8], r15w
jmp 0x140004f31
mov qword [rsp + 0x20], 4
lea r9, [0x14003b9e8]
mov edx, 4
lea rcx, [rbp - 0x20]
call fcn.140006d20
inc r13d
mov r14, qword [rsp + 0x50]
mov rdx, qword [rbp + 0x18]
cmp rdx, 8
jb 0x1400047e0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004f78
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400050b6
call fcn.140009e10
jmp 0x1400047e0
mov rdi, r12
cmp qword [r12 + 0x18], 8
jb 0x140004f91
mov rdi, qword [r12]
lea rbx, [rbp - 0x20]
cmp qword [rbp - 8], 8
cmovae rbx, qword [rbp - 0x20]
mov r15, qword [rbp - 0x40]
mov rsi, r15
cmp qword [r15 + 0x18], 8
jb 0x140004fb0
mov rsi, qword [r15]
xor r13d, r13d
mov qword [rbp - 0x48], r13
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
lea r9, [0x14002d4d0]
xor edx, edx
lea r8d, [r13 + 1]
lea rcx, [0x14002d4f0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x140004a09
mov rcx, qword [rbp - 0x48]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0xa0]
test eax, eax
js 0x140004a09
mov rcx, qword [rbp - 0x48]
mov rax, qword [rcx]
lea rdx, str.MT5ctp
call qword [rax + 0x38]
test eax, eax
js 0x140004a09
mov rcx, qword [rbp - 0x48]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 0x48]
test eax, eax
js 0x140004a09
mov qword [rbp - 0x40], r13
mov rcx, qword [rbp - 0x48]
mov rax, qword [rcx]
lea r8, [rbp - 0x40]
lea rdx, [0x14002d4e0]
call qword [rax]
test eax, eax
js 0x140004a09
mov rcx, qword [rbp - 0x40]
mov rax, qword [rcx]
lea r8d, [r13 + 1]
mov rdx, rbx
call qword [rax + 0x30]
test eax, eax
js 0x140004a09
mov rcx, qword [rbp - 0x40]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x48]
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x140004a09
call fcn.140012b7c
nop
call fcn.140012b7c
nop
call fcn.140012b7c
nop
call fcn.140012b7c
nop
call fcn.140012b7c
nop
call fcn.140012b7c
nop
call fcn.140012b7c
nop
call fcn.140012b7c
nop
call fcn.140012b7c
nop
call fcn.140012b7c
nop
call fcn.140012b7c
nop
call fcn.1400012c0
nop
call fcn.140012b7c
int3