Function at 0x41be70
Capabilities:
Check if file exists
Create shortcut via ishelllink

Disassembly:
xor ecx, ebp
call fcn.0046d81d
mov esp, ebp
pop ebp
ret 0x48
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
push 0
mov dword [ebp - 8], 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebp - 4], eax
call fcn.004524ef
add byte [ecx + 0x5fe8fc45], cl
add ax, word [eax]
add byte [eax + eax*8 + 0x7c691174], al
lodsd eax, dword [esi]
pop esp
jmp 0x507e9932
test al, al
je 0x41bea5
imul edi, dword [ebp + ebp*4 + 0x5c], 0x3cda95e9
push eax
invalid
call fcn.004521f8
test al, al
je 0x41becd
loopne 0x41be87
cmp esp, dword [eax + 0x41263b36]
xchg esp, eax
lodsb al, byte [esi]
adc al, 0xfd
dec ecx
xchg ebp, eax
push cs
xor byte es:[esi], 0xf6
inc edx
scasd eax, dword es:[edi]
mov esp, 0xeb1b8b47
pop ecx
jb 0x41be5e
iretd
call fcn.00452015
test al, al
je 0x41beec
jbe 0x41be8f
bound eax, qword [0x10245ce0]
inc ecx
ret
cmp dword [ebp - 4], 0
jl 0x41c1d4
call fcn.004524ef
test al, al
je 0x41bf1e
iretd
call fcn.00451f8b
test al, al
je 0x41bf40
fmul dword [eax]
sub bl, byte [ecx - 0x1673ae8b]
salc
mov dl, ch
inc eax
add eax, 0xb2d6045f
and byte [edi], bh
imul ebp, ebx, 0xe8e70246
clc
bound eax, qword [ebx]
add byte [eax + eax*8 + 0x40201c74], al
mov byte [0xaec1b54b], al
call fcn.0045223d
test al, al
je 0x41bf65
and byte [eax - 0x5e], al
dec ebx
mov ch, 0xc1
scasb al, byte es:[edi]
adc eax, 0x9c3f2283
les ebp, [ebx - 0x4436c2e]
enter 0xffffffffffffb46f, 0xffffffffffffffbc
mov ah, byte [ebx - 0x3f]
mov edx, 0x458d552f
cld
lea eax, [ebp - 4]
push eax
push 0x5ea95c
push 1
push 0
push 0x5ea96c
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x41c165
mov eax, dword [ebp - 4]
push dword [ebp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x50]
call fcn.004521f8
test al, al
je 0x41bfb5
push ecx
cmp edi, ecx
ret 0xb425
call fcn.0045209f
test al, al
je 0x41bfdc
pop ecx
add dh, 6
fdivr qword [edx]
xor dl, byte [esi - 0x3f]
aaa
scasd eax, dword es:[edi]
inc esi
and ebx, dword [ebx - 0x32]
lahf
xchg ecx, eax
adc al, 0xdc
out dx, eax
jb 0x41c044
mov ch, 0x10
sub eax, 0x8bd2a7eb
push ebp
adc byte [ebp - 0x74f58b2e], al
inc ebp
cld
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x41bfed
mov eax, dword [ebp - 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
call fcn.0045209f
test al, al
je 0x41c015
loop 0x41c040
pop esp
xchg ecx, eax
hlt
fild qword [ebx - 0x69fb5e3b]
invalid
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x41c026
mov eax, dword [ebp - 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
call fcn.00452351
test al, al
je 0x41c046
outsb dx, byte [esi]
aam 0x10
rcl byte [ecx + 0x1638de8d], 0x49
imul esp, edi, 0x364bf48b
pushfd
test byte [edi + ebx*8 - 0x5b], ah
stosd dword es:[edi], eax
and eax, ebp
cdq
pushal
add eax, dword [eax]
call fcn.004520e4
test al, al
je 0x41c067
dec ebp
sbb dword [edi + 0x47], esp
inc edi
loope 0x41c006
iretd
call fcn.0045216e
test al, al
je 0x41c088
les esp, [ecx - 0x68]
jmp 0x85a1372
mov edx, dword [ebp + 0x1c]
test dx, dx
je 0x41c09a
mov eax, dword [ebp - 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x41c0b8
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41c0b8
mov eax, dword [ebp - 4]
push 0
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
call fcn.0045230c
test al, al
je 0x41c0d3
cmc
pop ebx
jns 0x41c051
pop ss
or esp, dword [ebx - 0x6f]
adc eax, 0x53404a6b
adc eax, eax
xchg edx, eax
and dword [ebx - 0x2d7adfab], ecx
mov edx, dword [ebp + 0x20]
test edx, edx
je 0x41c0e4
mov eax, dword [ebp - 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov edx, dword [ebp + 0x24]
test edx, edx
je 0x41c0f5
mov eax, dword [ebp - 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 4]
lea edx, [ebp + 0xc]
push edx
push 0x5ea94c
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x41c141
mov eax, dword [ebp + 0xc]
push 0
push dword [ebp + 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
call fcn.00452579
test al, al
je 0x41c131
xchg dword [edi], ebx
cli
aas
jl 0x41c17b
dec edi
popal
lodsb al, byte [esi]
aas
mov edi, 0x85b83a49
in eax, 0x8b
inc ebp
or al, 0x50
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov dword [ebp - 8], 1
call fcn.004524aa
test al, al
je 0x41c15c
inc esi
ljmp 0xd3c2
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
call fcn.004523db
test al, al
je 0x41c18f
xchg edx, eax
ljmp 0xd0bf
rol byte [eax], 1
test al, 0xfa
dec ebp
mov eax, 0xf16cb3b4
lcall 0x3d5d, 0xe0c68308
xor dword [ebp + 0x60a9e816], eax
add eax, dword [eax]
call fcn.0045223d
test al, al
je 0x41c1ad
ret 0xd4c
call fcn.00452396
test al, al
je 0x41c1c8
and byte [ebx + 0xe330432], ch
aad 0x73
ljmp 0x7ee1
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x20