Function at 0x10003490
Capabilities:
Create shortcut via ishelllink

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
push ebx
push esi
push edi
push 0x400
mov ebx, ecx
call fcn.1014c460
push 0x400
mov edi, eax
push 0
push edi
call fcn.101455d0
add esp, 0x10
xor ecx, ecx
cmp dword [0x10224264], 2
jl 0x100035a0
movaps xmm3, xmmword [0x101b05e0]
mov eax, 8
movaps xmm4, xmmword [0x101b05f0]
mov ecx, 4
movd xmm2, eax
nop word [eax + eax]
lea eax, [ecx - 4]
movd xmm0, eax
pshufd xmm1, xmm0, 0
xorps xmm0, xmm0
paddd xmm1, xmm3
pcmpgtd xmm0, xmm1
pand xmm0, xmm4
paddd xmm0, xmm1
psrad xmm0, xmm2
pslld xmm0, xmm2
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm0, xmm0, 0xd8
pand xmm0, xmmword [0x101b0600]
packuswb xmm0, xmm0
movd dword [edi + ecx - 4], xmm0
movd xmm0, ecx
pshufd xmm1, xmm0, 0
xorps xmm0, xmm0
paddd xmm1, xmm3
pcmpgtd xmm0, xmm1
pand xmm0, xmm4
paddd xmm0, xmm1
psrad xmm0, xmm2
pslld xmm0, xmm2
psubd xmm1, xmm0
pshuflw xmm0, xmm1, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm0, xmm0, 0xd8
pand xmm0, xmmword [0x101b0600]
packuswb xmm0, xmm0
movd dword [ecx + edi], xmm0
add ecx, 8
lea eax, [ecx - 4]
cmp eax, 0x400
jl 0x100034f0
jmp 0x100035ac
mov byte [ecx + edi], cl
inc ecx
cmp ecx, 0x400
jl 0x100035a0
push 0
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 4]
push eax
push 0x101a44a4
push 1
push 0
push 0x101a4534
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, eax
test esi, esi
js 0x100036df
mov eax, dword [ebp - 4]
push str._windir__system32_reg.exe
push eax
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov eax, dword [ebp - 4]
push dword [ebp + 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov ecx, dword [ebp - 4]
lea edx, [ebp - 8]
push edx
push 0x101a4504
push ecx
mov eax, dword [ecx]
call dword [eax]
mov esi, eax
test esi, esi
jns 0x10003637
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
push edi
call fcn.1014c13e
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0xc]
push edx
push 0x101a44d4
push ecx
mov eax, dword [ecx]
call dword [eax]
mov esi, eax
test esi, esi
jns 0x1000367b
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
mov ecx, dword [ebp - 8]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
push edi
call fcn.1014c13e
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x208
lea eax, [ebp - 0x214]
push 0
push eax
call fcn.101455d0
add esp, 0xc
lea eax, [ebp - 0x214]
push 0x104
push eax
push 0xffffffffffffffff
push ebx
push 1
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ecx, dword [ebp - 0xc]
lea edx, [ebp - 0x214]
push 1
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [ebp - 4]
mov esi, eax
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
push edi
call fcn.1014c13e
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret