Function at 0x1400a5f70
Capabilities:
Create shortcut via ishelllink

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 8]
sub rsp, 0x108
mov rax, qword [0x1402be5c8]
xor rax, rsp
mov qword [rbp - 8], rax
mov qword [rbp - 0x80], r9
mov qword [rsp + 0x78], r8
mov r13, rdx
mov r15, rcx
mov qword [rbp - 0x30], rcx
lea rcx, [rbp - 0x78]
call fcn.1400a7400
mov rbx, rax
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
mov rax, rdx
sub rax, rcx
xor r12d, r12d
cmp rax, 0xb
jb 0x1400a5ffe
lea rsi, [rcx + 0xb]
mov qword [rbx + 0x10], rsi
mov rdi, rbx
cmp rdx, 8
jb 0x1400a5fe1
mov rdi, qword [rbx]
lea rcx, [rdi + rcx*2]
mov r8d, 0x16
lea rdx, str.ProgramData
call fcn.1401cf850
mov word [rdi + rsi*2], r12w
jmp 0x1400a6024
mov qword [rsp + 0x20], 0xb
lea r9, str.ProgramData
movzx r8d, byte [rsp + 0x30]
mov edx, 0xb
mov rcx, rbx
call fcn.14002dc10
mov rbx, rax
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], r12
mov rsi, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x1400a603e
mov rbx, qword [rbx]
movabs rax, 0x7ffffffffffffffe
cmp rsi, 8
jae 0x1400a605d
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x28], xmm0
mov r14d, 7
jmp 0x1400a608f
mov r14, rsi
or r14, 7
cmp r14, rax
cmova r14, rax
lea rdx, [r14 + 1]
lea rcx, [rbp - 0x28]
call fcn.140023c30
mov qword [rbp - 0x28], rax
lea r8, [rsi*2 + 2]
mov rdx, rbx
mov rcx, rax
call fcn.1401cf850
mov qword [rbp - 0x10], r14
mov qword [rbp - 0x18], rsi
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x1400a60df
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a60d2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a6613
call fcn.1401a9460
mov r14, qword [rbp - 0x10]
mov rsi, qword [rbp - 0x18]
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], r12w
mov rax, r14
sub rax, rsi
cmp rax, 0x27
jb 0x1400a612e
lea rdi, [rsi + 0x27]
mov qword [rbp - 0x18], rdi
lea rbx, [rbp - 0x28]
cmp r14, 8
cmovae rbx, qword [rbp - 0x28]
lea rcx, [rbx + rsi*2]
mov r8d, 0x4e
lea rdx, str.MicrosoftWindowsStart_MenuPrograms_
call fcn.1401cf850
mov word [rbx + rdi*2], r12w
jmp 0x1400a6152
mov qword [rsp + 0x20], 0x27
lea r9, str.MicrosoftWindowsStart_MenuPrograms_
movzx r8d, byte [rsp + 0x30]
mov edx, 0x27
lea rcx, [rbp - 0x28]
call fcn.14002dc10
mov rdi, qword [rbp - 0x18]
movabs rcx, 0x7ffffffffffffffe
mov rax, rcx
sub rax, rdi
cmp rax, 0x14
jb 0x1400a6619
lea r12, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae r12, qword [rbp - 0x28]
mov qword [rsp + 0x38], 0
lea r14, [rdi + 0x14]
mov ebx, 7
lea rsi, [rsp + 0x38]
lea eax, [rbx + 3]
lea r8, [rbx - 8]
cmp r14, rbx
jbe 0x1400a61d6
mov rbx, r14
or rbx, 7
cmp rbx, rcx
jbe 0x1400a61b2
mov rbx, rcx
jmp 0x1400a61b9
cmp rbx, rax
cmovb rbx, rax
mov rdx, rbx
add rdx, 1
cmovb rdx, r8
lea rcx, [rsp + 0x38]
call fcn.140023c30
mov rsi, rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rbx
lea rbx, [rdi + rdi]
mov r8, rbx
mov rdx, r12
mov rcx, rsi
call fcn.1401cf850
movups xmm0, xmmword [str.AMD_Bug_Report_Tool]
movups xmmword [rbx + rsi], xmm0
movups xmm1, xmmword [0x14023c970]
movups xmmword [rbx + rsi + 0x10], xmm1
movsd xmm0, qword [0x14023c980]
movsd qword [rbx + rsi + 0x20], xmm0
xor ebx, ebx
mov word [rsi + r14*2], bx
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rsp + 0x58], xmm0
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [rsp + 0x68], xmm1
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], bx
mov qword [rbp - 0x58], rbx
lea rax, [0x1402bf5e0]
mov qword [rbp - 0x50], rax
lea rdx, [rbp - 0x58]
lea rcx, [rsp + 0x58]
call fcn.14006a7c0
cmp dword [rbp - 0x58], ebx
jne 0x1400a661f
lea rcx, [rsp + 0x58]
call fcn.1400272a0
nop
mov r14, qword [r15 + 0x10]
movabs rcx, 0x7ffffffffffffffe
mov rax, rcx
sub rax, r14
cmp rax, 0x15
jb 0x1400a6635
mov r12, r15
cmp qword [r15 + 0x18], 8
jb 0x1400a62a1
mov r12, qword [r15]
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x48], rbx
mov qword [rbp - 0x40], rbx
lea rsi, [r14 + 0x15]
mov ebx, 7
lea rdi, [rbp - 0x58]
cmp rsi, rbx
jbe 0x1400a62ff
mov rbx, rsi
or rbx, 7
cmp rbx, rcx
jbe 0x1400a62d0
mov rbx, rcx
jmp 0x1400a62dd
cmp rbx, 0xa
mov eax, 0xa
cmovb rbx, rax
mov rdx, rbx
add rdx, 1
mov rax, 0xffffffffffffffff
cmovb rdx, rax
lea rcx, [rbp - 0x58]
call fcn.140023c30
mov rdi, rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], rbx
movups xmm0, xmmword [str.AMD_Bug_Report_Tool_]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [0x14023a310]
movups xmmword [rdi + 0x10], xmm1
movsd xmm0, qword [0x14023a320]
movsd qword [rdi + 0x20], xmm0
movzx ecx, word [0x14023a328]
mov word [rdi + 0x28], cx
lea rcx, [rdi + 0x2a]
lea r8, [r14 + r14]
mov rdx, r12
call fcn.1401cf850
xor r12d, r12d
mov word [rdi + rsi*2], r12w
mov rdx, qword [rbp - 0x48]
mov r8, qword [rbp - 0x40]
mov rax, r8
sub rax, rdx
cmp rax, 4
jb 0x1400a638e
lea rcx, [rdx + 4]
mov qword [rbp - 0x48], rcx
lea rax, [rbp - 0x58]
cmp r8, 8
cmovae rax, qword [rbp - 0x58]
movabs r8, 0x6b006e006c002e
mov qword [rax + rdx*2], r8
mov word [rax + rcx*2], r12w
lea rax, [rbp - 0x58]
jmp 0x1400a63b2
mov qword [rsp + 0x20], 4
lea r9, str..lnk
movzx r8d, byte [rsp + 0x30]
mov edx, 4
lea rcx, [rbp - 0x58]
call fcn.14002dc10
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x68], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
lea r9, [rsp + 0x58]
movq rsi, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq r14, xmm0
cmp r14, 8
cmovae r9, rsi
mov rcx, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
mov rax, r8
sub rax, rcx
movq rdx, xmm1
cmp rdx, rax
ja 0x1400a6437
lea rdi, [rdx + rcx]
mov qword [rbp - 0x18], rdi
lea rbx, [rbp - 0x28]
cmp r8, 8
cmovae rbx, qword [rbp - 0x28]
lea rcx, [rbx + rcx*2]
lea r8, [rdx + rdx]
mov rdx, r9
call fcn.1401cf850
mov word [rbx + rdi*2], r12w
jmp 0x1400a6455
mov qword [rsp + 0x20], rdx
movzx r8d, byte [rsp + 0x30]
lea rcx, [rbp - 0x28]
call fcn.14002dc10
mov r14, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x58]
cmp r14, 8
jb 0x1400a6491
lea rdx, [r14*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400a6488
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a663b
mov rcx, rsi
call fcn.1401a9460
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 8
jb 0x1400a64d1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a64cc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a6641
call fcn.1401a9460
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
mov ebx, eax
test eax, eax
js 0x1400a6591
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
lea r9, [0x140267d30]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x140267d50]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov ebx, eax
test eax, eax
js 0x1400a6591
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
mov rdx, r13
call qword [rax + SHCreateDirectory]
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
mov rdx, qword [rsp + 0x78]
call qword [rax + 0x38]
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, qword [rbp - 0x80]
call qword [rax + MsiSetPropertyW]
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
lea r8, [rbp - 0x58]
lea rdx, [0x140267d40]
call qword [rax]
mov ebx, eax
test eax, eax
js 0x1400a6587
mov rcx, qword [rbp - 0x58]
mov rax, qword [rcx]
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae rdx, qword [rbp - 0x28]
mov r8d, 1
call qword [rax + 0x30]
mov ebx, eax
mov rcx, qword [rbp - 0x58]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
call qword [rax + 0x10]
not ebx
shr ebx, 0x1f
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x1400a65d2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a65cd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a660d
call fcn.1401a9460
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], 7
mov word [rbp - 0x28], r12w
mov rcx, r15
call fcn.1400272a0
mov eax, ebx
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1401a9440
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1401e37cc
nop
call fcn.1401e37cc
int3
call fcn.1400153e0
nop
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x58]
lea rcx, str.create_directories
call fcn.140067eb0
nop
call fcn.1400153e0
nop
call fcn.1401e37cc
nop
call fcn.1401e37cc
int3