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

Disassembly:
invalid
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.00453bb5
test al, al
je 0x41be65
int1
loop 0x41bdde
test dword [edx - 0x4d36aa93], edi
sub al, 0xb1
cmp al, 0
push ss
mov dword [0x54e89908], eax
jp 0x41be6c
call fcn.004538be
test al, al
add byte [eax + eax*8 + 0x49291f74], al
push ebp
je 0x41be8d
sub dword [ecx + 0x55], ecx
loop 0x41be9d
and al, 0x39
pop esp
add eax, ebp
mov word [ebp - 0x6a], fs
or al, 0x9e
xchg ecx, eax
ljmp 0x14de
call fcn.004536db
test al, al
je 0x41beac
push 0x24
cmp al, 0x36
sbb al, 0x78
or bl, dh
cdq
cdq
mov ah, 0x9e
and eax, 0x20bc35a4
xor al, byte [edx - 0x3eadf1a7]
cmp dword [ebp - 4], 0
jl 0x41c194
call fcn.00453bb5
test al, al
je 0x41bede
popal
cmp byte [esi], al
aad 0x7f
mov dword [edi + 0x4dd2f1a7], ecx
cld
dec eax
pop es
aaa
loopne 0x41bf31
pop esp
and dword [edx - 0x59ff93bc], ebp
mov gs, word [edx - 0x19]
iretd
call fcn.00453651
test al, al
je 0x41bf00
sbb dword [esi + ecx*8 - 0x3236ebf7], esp
cwde
movsb byte es:[edi], byte [esi]
into
or dword [ecx + ecx*8], edx
int 0x98
inc esi
and al, 0xa2
cmp byte [eax + 0x79f92d5c], al
and eax, 0xd0cc7eda
mov byte [ebp - 0x117344b], ch
jns 0x41bf07
call fcn.00453903
test al, al
add byte [eax + eax*8 + 0x99a1c74], al
cld
rcr byte [0x23230773], 0x94
je 0x41bf25
lcall 0x773, 0x1dc0fc09
and esp, dword [ebx]
xchg esp, eax
fdecstp
inc ebp
inc edx
loope 0x41bf35
dec edx
cvtps2pd xmm5, qword [edx]
fnstcw word [esi]
jmp 0xdf03346d
lea eax, [ebp - 4]
push eax
push 0x5edb9c
push 1
push 0
push 0x5edbac
add byte [eax - 0x54], ch
fistp dword [esi]
pop esi
add bh, bh
adc eax, sym.imp.ole32.dll_CoCreateInstance
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x41c125
mov eax, dword [ebp - 4]
push dword [ebp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x50]
call fcn.004538be
test al, al
je 0x41bf75
int 0x46
jns 0x41bf65
jmp 0x41bee6
scasd eax, dword es:[edi]
leave
loop 0x41bf9c
mov bl, 0x75
xor esi, dword [ecx - 0x4628da3]
enter 0xffffffffffffd1b6, 0x70
call fcn.00453765
test al, al
je 0x41bf9c
imul esi, dword [edx + 0x4cdcf9e4], 0x95a1df89
or al, byte [eax + 0x42405c43]
invalid
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x41bfad
mov eax, dword [ebp - 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
call fcn.00453765
test al, al
je 0x41bfd5
add byte [ecx - 0x6a], ah
add eax, 0x86ac7be
fild dword [edx + 0x4e]
cli
xor al, 0x26
dec ebp
or dword [ecx], ecx
xchg ebx, eax
aaa
push ecx
mov ebx, 0xab52f24f
mov dword [edx + 0x18558b45], ecx
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x41bfe6
mov eax, dword [ebp - 4]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
call fcn.00453a17
test al, al
je 0x41c006
ror byte [edx - 0x78], 1
cmp byte [ebp + 0x7f], 0xc9
jecxz 0x41c01a
sub byte [ecx + edi - 0x5ead4a77], dl
adc dl, byte [esi - 0x56]
xor byte [ebx - 0x1f], dl
push cs
call fcn.004537aa
test al, al
je 0x41c027
fsubrp st(7)
mov eax, 0xbe7f3c04
cdq
jns 0x41c050
and dword [ecx + 0x1f299efb], eax
fucompi st(3)
cmp ebx, 0x2e1f299e
fucompi st(3)
fisub word [edi]
fdiv qword [0x7808e8a1]
add eax, dword [eax]
call fcn.00453834
test al, al
je 0x41c048
scasb al, byte es:[edi]
invalid
mov edx, dword [ebp + 0x1c]
test dx, dx
je 0x41c05a
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 0x41c078
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41c078
mov eax, dword [ebp - 4]
push 0
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
call fcn.004539d2
test al, al
je 0x41c093
xor al, ch
sti
push ss
call 0x73f49f08
pop esi
xlatb
jbe 0x41c0f9
lcall 0x558b, 0xf5b6be79
and byte [ebp - 0x74f58b2e], al
inc ebp
cld
mov edx, dword [ebp + 0x20]
test edx, edx
je 0x41c0a4
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 0x41c0b5
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 0x5edb8c
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x41c101
mov eax, dword [ebp + 0xc]
push 0
push dword [ebp + 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
call fcn.00453c3f
test al, al
je 0x41c0f1
cmp byte [ebp + 0x1c91bdcb], 0x83
call 0x825420fb
sub bl, byte [eax + 0x458b8cc3]
or al, 0x50
mov ebp, 0x1c91bdcb
sub eax, 0xe
pushal
adc al, byte [edx - 0x733c67d6]
ret
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov dword [ebp - 8], 1
or bh, al
inc ebp
clc
add dword [eax], eax
add byte [eax], al
add al, ch
push 0x7a
add eax, dword [eax]
call fcn.00453b70
jp 0x41c108
add byte [eax + eax*8 + 0x7d031274], al
aas
test al, al
je 0x41c11c
add edi, dword [ebp + 0x3f]
in al, 0x34
xor byte [eax + 0x4c], ah
mov byte [ebx - 0x49], al
pop ds
shl dword [esp + esi - 0x74f9c2d7], cl
inc ebp
cld
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
call fcn.00453aa1
test al, al
je 0x41c14f
out dx, eax
mov bl, ch
xor byte [ecx], cl
jne 0x41c0ef
les edi, [edi]
inc esi
clc
insd dword es:[edi], dx
mov eax, 0x9ca1198c
xchg ebp, eax
sub al, 0x96
scasb al, byte es:[edi]
loope 0x41c0e2
mov dword [0xe8f32fd1], eax
scasd eax, dword es:[edi]
ja 0x41c156
call fcn.00453903
test al, al
add byte [eax + eax*8 - 0x72f8ea8c], al
jo 0x41c103
je 0x41c16d
pop es
lea esi, [eax - 0x59]
adc eax, 0x7c874bee
adc al, 0x64
push cs
inc ecx
jb 0x41c100
sahf
imul edx, dword [ebp - 0x1712018d], 0xffffffea
js 0x41c174
call fcn.00453a5c
test al, al
add byte [eax + eax*8 - 0x4139ed8c], al
sub eax, 0xea127619
arpl word [esi + edx*4], si
push edx
into
xchg edi, eax
sbb eax, 0x1bf9aded
je 0x41c188
invalid
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