Function at 0x4088f0
Capabilities:
Create shortcut via ishelllink

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4456a7
mov eax, dword fs:[0]
push eax
sub esp, 0x29c
mov eax, dword [0x461264]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x24c], 0
push eax
push 0x44b04c
push 1
push 0
push 0x44b05c
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x408df2
mov eax, dword [ebp - 0x24c]
lea edx, [ebp - 0x250]
push edx
mov dword [ebp - 0x250], 0
push 0x44b06c
mov ecx, dword [eax]
push eax
call dword [ecx]
test eax, eax
js 0x408de6
push str.USERPROFILE
call fcn.00430736
mov edx, eax
add esp, 4
test edx, edx
je 0x408df8
mov ecx, edx
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 0xf
mov byte [ebp - 0x28c], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4089b3
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x28c]
call fcn.00401550
lea edx, [ebp - 0x28c]
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x230]
call fcn.00408810
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x278]
cmp edx, 0x10
jb 0x408a1f
mov ecx, dword [ebp - 0x28c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408a15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408e16
push edx
push ecx
call fcn.00429a28
add esp, 8
push str.DesktopTurboVPN.lnk
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 0xf
mov byte [ebp - 0x28c], 0
call fcn.00409a20
mov eax, dword [ebp - 0x250]
lea edx, [ebp - 0x230]
cmp dword [ebp - 0x21c], 8
push 0
cmovae edx, dword [ebp - 0x230]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x14]
test eax, eax
js 0x408d7a
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.0042c090
mov eax, dword [ebp - 0x24c]
lea edx, [ebp - 0x218]
add esp, 0xc
mov ecx, dword [eax]
push 4
push 0
push 0x104
push edx
push eax
call dword [ecx + 0xc]
test eax, eax
jns 0x408af4
mov edx, dword [ebp - 0x21c]
cmp edx, 8
jb 0x408df8
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x408ae5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408e1b
push edx
push ecx
call fcn.00429a28
add esp, 8
jmp 0x408df8
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.00401330
push 0x458308
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 3
call fcn.00401330
push 0x458324
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 4
call fcn.00401330
mov byte [ebp - 4], 5
xor esi, esi
mov eax, dword [ebp - 0x294]
mov edi, dword [ebp - 0x268]
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x254], 8
lea ebx, [ebp - 0x268]
mov edx, dword [ebp - 0x258]
lea ecx, [ebp - 0x248]
mov eax, dword [ebp - 0x238]
cmovae ebx, edi
cmp dword [ebp - 0x234], 8
cmovae ecx, dword [ebp - 0x248]
mov dword [ebp - 0x270], ecx
cmp edx, eax
ja 0x408bc3
sub eax, edx
cmp esi, eax
ja 0x408bc3
test edx, edx
je 0x408c37
inc eax
lea esi, [ecx + esi*2]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x26c], eax
nop dword [eax + eax]
sub eax, esi
sar eax, 1
je 0x408bbd
movzx ecx, word [ebx]
nop dword [eax]
cmp word [esi], cx
je 0x408c04
add esi, 2
sub eax, 1
jne 0x408bb0
mov edi, dword [ebp - 0x268]
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x254]
cmp eax, 8
jb 0x408c8d
lea ecx, [eax*2 + 2]
mov eax, edi
cmp ecx, 0x1000
jb 0x408c83
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408e20
jmp 0x408c83
test esi, esi
je 0x408bbd
mov ecx, ebx
test edx, edx
je 0x408c23
mov edi, esi
sub edi, ebx
mov ax, word [edi + ecx]
cmp ax, word [ecx]
jne 0x408c6f
add ecx, 2
sub edx, 1
jne 0x408c12
sub esi, dword [ebp - 0x270]
mov edx, dword [ebp - 0x258]
mov edi, dword [ebp - 0x268]
sar esi, 1
cmp esi, 0xffffffff
je 0x408bc3
cmp dword [ebp - 0x290], 8
lea eax, [ebp - 0x2a4]
push dword [ebp - 0x294]
cmovae eax, dword [ebp - 0x2a4]
lea ecx, [ebp - 0x248]
push eax
push edx
push esi
call fcn.00409aa0
add esi, dword [ebp - 0x274]
jmp 0x408b46
mov edx, dword [ebp - 0x258]
add esi, 2
mov eax, dword [ebp - 0x26c]
jmp 0x408ba0
push ecx
push edi
call fcn.00429a28
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x290]
cmp edx, 8
jb 0x408cd1
mov ecx, dword [ebp - 0x2a4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x408cc7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408e25
push edx
push ecx
call fcn.00429a28
add esp, 8
mov eax, dword [ebp - 0x24c]
lea edx, [ebp - 0x248]
cmp dword [ebp - 0x234], 8
cmovae edx, dword [ebp - 0x248]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x50]
test eax, eax
js 0x408d19
mov eax, dword [ebp - 0x250]
lea edx, [ebp - 0x230]
cmp dword [ebp - 0x21c], 8
push 1
cmovae edx, dword [ebp - 0x230]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x18]
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x234]
cmp edx, 8
jb 0x408d5d
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x408d53
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408e2a
push edx
push ecx
call fcn.00429a28
add esp, 8
xor eax, eax
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
mov eax, dword [ebp - 0x250]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x21c]
cmp edx, 8
jb 0x408dc9
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x408dbf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408e2f
push edx
push ecx
call fcn.00429a28
add esp, 8
xor eax, eax
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
mov eax, dword [ebp - 0x24c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004299e7
mov esp, ebp
pop ebp
ret
call fcn.0042ecaa
call fcn.0042ecaa
call fcn.0042ecaa
call fcn.0042ecaa
call fcn.0042ecaa
call fcn.0042ecaa
int3