Function at 0x4086f0
Capabilities:
Create shortcut via ishelllink

Disassembly:
push 0xffffffffffffffff
push 0x459f20
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x473564]
xor eax, esp
mov dword [esp + 0x44], eax
push ebx
push ebp
push edi
mov eax, dword [0x473564]
xor eax, esp
push eax
lea eax, [esp + 0x58]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0x60], ebx
mov byte [esp + 0x13], bl
mov dword [esp + 0x14], ebx
lea eax, [esp + 0x14]
push eax
push 0x45d30c
push 1
push ebx
push 0x45d31c
mov byte [esp + 0x74], 2
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, ebx
lea ebp, [ebx + 0x10]
je 0x408771
mov byte [esp + 0x60], 1
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x4088dc
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x4088dc
cmp dword [esp + 0x80], ebp
mov eax, dword [esp + 0x6c]
jae 0x408782
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x20]
call fcn.00414370
add esp, 4
mov byte [esp + 0x60], 3
mov ecx, dword [esp + 0x20]
mov edi, 8
cmp dword [esp + 0x34], edi
jae 0x4087a7
lea ecx, [esp + 0x20]
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0x50]
call eax
cmp eax, ebx
jne 0x4088a3
mov dword [esp + 0x18], ebx
mov byte [esp + 0x60], 4
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push edx
push 0x45d32c
push eax
mov eax, dword [ecx]
call eax
cmp eax, ebx
je 0x40881c
mov byte [esp + 0x60], 3
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x4087f3
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [esp + 0x34], edi
jb 0x408806
mov eax, dword [esp + 0x20]
push eax
call fcn.0043870c
add esp, 4
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], ebx
mov word [esp + 0x20], bx
jmp 0x408753
cmp dword [esp + 0x9c], ebp
mov eax, dword [esp + 0x88]
jae 0x408833
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x3c]
call fcn.00414370
add esp, 4
mov byte [esp + 0x60], 5
cmp dword [esp + 0x50], edi
mov ecx, dword [esp + 0x3c]
jae 0x408853
lea ecx, [esp + 0x3c]
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
push ebx
push ecx
push eax
mov eax, dword [edx + 0x18]
call eax
cmp eax, ebx
jne 0x40886a
mov byte [esp + 0x13], 1
cmp dword [esp + 0x50], edi
jb 0x40887d
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.0043870c
add esp, 4
mov byte [esp + 0x60], 3
mov eax, dword [esp + 0x18]
cmp eax, ebx
mov word [esp + 0x3c], bx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], 7
je 0x4088a3
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
cmp dword [esp + 0x34], edi
jb 0x4088b6
mov ecx, dword [esp + 0x20]
push ecx
call fcn.0043870c
add esp, 4
mov byte [esp + 0x60], 1
mov eax, dword [esp + 0x14]
cmp eax, ebx
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], ebx
mov word [esp + 0x20], bx
je 0x4088dc
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
cmp dword [esp + 0x80], ebp
jb 0x4088f2
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.0043870c
add esp, 4
cmp dword [esp + 0x9c], ebp
mov dword [esp + 0x80], 0xf
mov dword [esp + 0x7c], ebx
mov byte [esp + 0x6c], bl
jb 0x40891e
mov edx, dword [esp + 0x88]
push edx
call fcn.0043870c
add esp, 4
mov al, byte [esp + 0x13]
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.00438866
add esp, 0x54
ret