Function at 0x100031a0
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.1014c190
push 0x400
mov edi, eax
push 0
push edi
call fcn.10145b70
add esp, 0x10
xor ecx, ecx
cmp dword [0x10224264], 2
jl 0x100032b0
movaps xmm3, xmmword [0x101b0650]
mov eax, 8
movaps xmm4, xmmword [0x101b0660]
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 [0x101b0670]
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 [0x101b0670]
packuswb xmm0, xmm0
movd dword [ecx + edi], xmm0
add ecx, 8
lea eax, [ecx - 4]
cmp eax, 0x400
jl 0x10003200
jmp 0x100032bc
mov byte [ecx + edi], cl
inc ecx
cmp ecx, 0x400
jl 0x100032b0
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 0x101a4494
push 1
push 0
push 0x101a44d4
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, eax
test esi, esi
js 0x100033ef
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 0x101a4514
push ecx
mov eax, dword [ecx]
call dword [eax]
mov esi, eax
test esi, esi
jns 0x10003347
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
push edi
call fcn.1014855a
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 0x101a4524
push ecx
mov eax, dword [ecx]
call dword [eax]
mov esi, eax
test esi, esi
jns 0x1000338b
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.1014855a
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.10145b70
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.1014855a
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret