Function at 0x42c841
Capabilities:
Create shortcut via ishelllink

Disassembly:
push 0xd0
mov eax, 0x446bba
call fcn.004372b5
mov eax, dword [ebp + 8]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp + 0x14]
xor ebx, ebx
cmp dword [ecx + 0x14], ebx
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc8], edx
je 0x42cd19
cmp dword [edx + 0x14], ebx
je 0x42cd19
push 7
pop edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x50], ebx
mov word [ebp - 0x60], bx
cmp eax, ebx
mov dword [ebp - 4], ebx
lea esi, [ebp - 0x64]
je 0x42c8b5
call fcn.00401248
jmp 0x42c8c7
mov edi, ecx
call fcn.0040b9e0
test al, al
je 0x42cd0e
push 7
pop edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x34], ebx
mov word [ebp - 0x44], bx
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x6c], ebx
mov word [ebp - 0x7c], bx
mov byte [ebp - 4], 2
mov edi, dword [ebp - 0xc8]
lea esi, [ebp - 0x80]
call fcn.0040b940
test al, al
je 0x42ccf8
cmp dword [ebp - 0x6c], ebx
je 0x42ccf8
lea esi, [ebp - 0x48]
call fcn.0040b9e0
test al, al
je 0x42ccf8
push 0x20
mov ecx, esi
call fcn.0040cee0
pop ecx
mov eax, esi
push eax
call fcn.0040d4f0
test al, al
pop ecx
jne 0x42c92e
mov eax, esi
push eax
call fcn.0040dcd0
pop ecx
lea eax, [ebp - 0x48]
push eax
call fcn.0040d4f0
test al, al
pop ecx
je 0x42ccf8
lea eax, [ebp - 0x48]
push eax
call fcn.0040d6a0
test al, al
pop ecx
je 0x42ccf8
push 0x5c
lea esi, [ebp - 0x48]
call fcn.00407ca8
mov eax, esi
lea esi, [ebp - 0x2c]
call fcn.00403d1d
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 3
call fcn.00404193
lea eax, [ebp - 0xc0]
push eax
push 0x44834c
xor edi, edi
inc edi
push edi
push ebx
push 0x44835c
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xcc], ebx
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jl 0x42ccd6
mov eax, dword [ebp - 0xc0]
cmp eax, ebx
je 0x42ccd6
mov ecx, dword [eax]
lea edx, [ebp - 0xcc]
push edx
push 0x44836c
push eax
call dword [ecx]
cmp eax, ebx
jl 0x42ccca
cmp dword [ebp - 0xcc], ebx
je 0x42ccca
mov edi, dword [ebp - 0xc4]
cmp dword [edi + 0x18], 8
jb 0x42c9eb
add edi, 4
mov eax, dword [edi]
jmp 0x42c9f0
add edi, 4
mov eax, edi
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x50]
cmp dword [ebp - 0x4c], 8
mov ecx, dword [ebp - 0x60]
jae 0x42ca09
lea ecx, [ebp - 0x60]
mov eax, dword [ebp - 0xc0]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x24]
mov esi, dword [ebp - 0xdc]
cmp dword [esi + 0x14], ebx
je 0x42ca3e
push esi
call fcn.0040d5c0
test al, al
pop ecx
je 0x42ca3e
cmp dword [esi + 0x18], 8
jb 0x42ca37
mov esi, dword [esi + 4]
jmp 0x42ca3a
add esi, 4
push ebx
push esi
jmp 0x42ca4e
mov eax, dword [ebp - 0xc4]
cmp dword [eax + 0x18], 8
jb 0x42ca4c
mov edi, dword [edi]
push ebx
push edi
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x44]
mov eax, dword [ebp - 0xd8]
cmp dword [eax + 0x18], 8
jb 0x42ca6b
mov eax, dword [eax + 4]
jmp 0x42ca6e
add eax, 4
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x2c]
mov eax, dword [ebp - 0xd0]
cmp dword [eax + 0x18], 8
jb 0x42ca8c
mov eax, dword [eax + 4]
jmp 0x42ca8f
add eax, 4
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x1c]
mov eax, 0x44c3b4
lea ecx, [ebp - 0xb8]
call fcn.00401222
mov byte [ebp - 4], 4
lea edi, [ebp - 0xd0]
lea ebx, [ebp - 0x2c]
mov dword [ebp - 0xd0], 0x2e
call fcn.0040d2a0
or edi, 0xffffffff
cmp eax, edi
push edi
jne 0x42cae2
xor edi, edi
push edi
lea eax, [ebp - 0xb8]
mov esi, ebx
call fcn.00404193
jmp 0x42cb2c
lea ecx, [ebp - 0x2c]
push ecx
mov ebx, eax
lea esi, [ebp - 0x9c]
call fcn.00407da2
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 5
call fcn.0040bf70
test eax, eax
je 0x42cb17
push edi
push 0
lea eax, [ebp - 0xb8]
lea esi, [ebp - 0x2c]
call fcn.00404193
push 0
push 1
lea esi, [ebp - 0x9c]
mov byte [ebp - 4], 4
call fcn.004012b6
xor edi, edi
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 0xb9], 0
call fcn.0040d4f0
test al, al
pop ecx
je 0x42cc37
lea eax, [ebp - 0xc4]
push eax
push 0x44834c
push 1
push edi
push 0x44835c
xor bl, bl
mov dword [ebp - 0xc4], edi
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, edi
jl 0x42cbe9
mov eax, dword [ebp - 0xc4]
cmp eax, edi
je 0x42cbe9
lea edx, [ebp - 0xc8]
push edx
push 0x44836c
mov dword [ebp - 0xc8], edi
mov ecx, dword [eax]
push eax
call dword [ecx]
cmp eax, edi
jl 0x42cbd3
mov eax, dword [ebp - 0xc8]
cmp eax, edi
je 0x42cbd3
cmp dword [ebp - 0x14], 8
mov ecx, dword [ebp - 0x28]
jae 0x42cba6
lea ecx, [ebp - 0x28]
mov edx, dword [eax]
push 0x30
push ecx
push eax
call dword [edx + 0x14]
cmp eax, edi
jl 0x42cbc7
push dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc0]
call fcn.0042cef0
pop ecx
mov bl, al
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
test bl, bl
mov dword [ebp - 0xc4], edi
jne 0x42cc30
mov eax, dword [ebp - 0xd4]
cmp byte [eax], 0
jne 0x42cc37
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x42cc00
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x9c]
call fcn.00401222
lea eax, [ebp - 0x9c]
push eax
mov byte [ebp - 4], 6
call fcn.0040fb10
pop ecx
push edi
push 1
lea esi, [ebp - 0x9c]
mov byte [ebp - 4], 4
call fcn.004012b6
jmp 0x42cc37
mov byte [ebp - 0xb9], 1
cmp byte [ebp - 0xb9], 0
mov bl, 1
jne 0x42cc74
mov esi, dword [ebp - 0xd4]
cmp byte [esi], 0
jne 0x42cc70
cmp dword [ebp - 0x14], 8
mov ecx, dword [ebp - 0x28]
jae 0x42cc59
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax]
push 1
push ecx
push eax
call dword [edx + 0x18]
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
mov byte [esi + 1], 1
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push edi
push 1
lea esi, [ebp - 0xb8]
call fcn.004012b6
push edi
push 1
lea esi, [ebp - 0x2c]
call fcn.004012b6
push edi
push 1
lea esi, [ebp - 0x80]
call fcn.004012b6
push edi
push 1
lea esi, [ebp - 0x48]
call fcn.004012b6
push edi
push 1
lea esi, [ebp - 0x64]
call fcn.004012b6
mov al, bl
jmp 0x42cd1b
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
push edi
lea esi, [ebp - 0x2c]
call fcn.004012b6
push ebx
push edi
lea esi, [ebp - 0x80]
call fcn.004012b6
push ebx
push edi
lea esi, [ebp - 0x48]
call fcn.004012b6
push ebx
push edi
jmp 0x42cd11
push ebx
push 1
lea esi, [ebp - 0x80]
call fcn.004012b6
push ebx
push 1
lea esi, [ebp - 0x48]
call fcn.004012b6
push ebx
push 1
lea esi, [ebp - 0x64]
call fcn.004012b6
xor al, al
call fcn.00437338
ret 0x14