Function at 0x4010a0
Capabilities:
Create shortcut via ishelllink

Disassembly:
sub esp, 0x414
mov eax, dword [0x409044]
mov dword [esp + 0x410], eax
cmp dword [esp + 0x418], 5
jl 0x4010db
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jge 0x4010f3
push eax
push str.CoInitialize_failed
push 0x409088
call fcn.00401000
add esp, 0xc
mov eax, 1
mov ecx, dword [esp + 0x410]
call fcn.0040136a
add esp, 0x414
ret
push esi
mov esi, dword [esp + 0x420]
mov eax, dword [esi + 0xc]
lea edx, [esp + 0xc]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x401104
mov edx, dword [esi + 0x10]
push edi
mov edi, 0x407240
mov esi, edx
mov ecx, 2
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x401160
lea edi, [esp + 0x10]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x401130
mov ecx, dword [str.Internet.lnk]
mov eax, dword [0x407234]
mov dword [edi], ecx
mov ecx, dword [0x407238]
mov dword [edi + 4], eax
mov ax, word [0x40723c]
mov dword [edi + 8], ecx
mov word [edi + 0xc], ax
jmp 0x401246
mov edi, 0x40722c
mov esi, edx
mov ecx, 2
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4011b8
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x401177
mov ecx, dword [str.Site_internet.lnk]
mov eax, dword [0x40721c]
mov dword [edi], ecx
mov ecx, dword [0x407220]
mov dword [edi + 4], eax
mov eax, dword [0x407224]
mov dword [edi + 8], ecx
mov cx, word [0x407228]
mov dword [edi + 0xc], eax
mov al, byte [0x40722a]
mov word [edi + 0x10], cx
mov byte [edi + 0x12], al
jmp 0x401246
mov edi, 0x407214
mov esi, edx
mov ecx, 2
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4011e9
lea edi, [esp + 0x10]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4011d0
mov ecx, 5
mov esi, str.Webseite_besuchen.lnk
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x401246
mov edi, 0x4071f8
mov esi, edx
mov ecx, 3
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
lea edi, [esp + 0x10]
jne 0x401225
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x401200
mov ecx, dword [str.Siec.lnk]
mov eax, dword [0x4071f0]
mov dword [edi], ecx
mov cx, word [0x4071f4]
mov dword [edi + 4], eax
mov word [edi + 8], cx
jmp 0x401246
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x401226
mov eax, dword [str.Web.lnk]
mov ecx, dword [0x4071e4]
mov dword [edi], eax
mov al, byte [0x4071e8]
mov dword [edi + 4], ecx
mov byte [edi + 8], al
mov esi, edx
mov edi, 0x40722c
mov ecx, 2
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
lea edi, [esp + 0x110]
mov ecx, 0xe
mov esi, str.http:__www.eagames.com_official_nfs_mostwanted_fr_home.jsp
je 0x40126e
mov esi, str.http:__www.eagames.com_official_nfs_mostwanted_us_home.jsp
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 8]
push eax
push 0x407258
push 1
movsw word es:[edi], word [esi]
push 0
push 0x407268
movsb byte es:[edi], byte [esi]
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, eax
test esi, esi
pop edi
jl 0x40130a
mov eax, dword [esp + 4]
mov ecx, dword [eax]
lea edx, [esp + 0x10c]
push edx
push eax
call dword [ecx + 0x50]
mov eax, dword [esp + 4]
mov ecx, dword [eax]
lea edx, [esp + 8]
push edx
push 0x407278
push eax
call dword [ecx]
mov esi, eax
test esi, esi
jl 0x4012fc
push 0x104
lea eax, [esp + 0x210]
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0x18]
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [esp + 8]
mov edx, dword [eax]
push 1
lea ecx, [esp + 0x210]
push ecx
push eax
call dword [edx + 0x18]
mov esi, eax
mov eax, dword [esp + 8]
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 4]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
test esi, esi
jge 0x40131d
push esi
push str.CreateShellLink_failed
push 0x409088
call fcn.00401000
add esp, 0xc
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [esp + 0x414]
xor eax, eax
pop esi
call fcn.0040136a
add esp, 0x414
ret