Function at 0x42c835
Capabilities:
Create shortcut via ishelllink

Disassembly:
push 0xd0
mov eax, 0x446b9a
call fcn.004372c5
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 0x42cd0d
cmp dword [edx + 0x14], ebx
je 0x42cd0d
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 0x42c8a9
call fcn.00401248
jmp 0x42c8bb
mov edi, ecx
call fcn.0040ba00
test al, al
je 0x42cd02
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.0040b960
test al, al
je 0x42ccec
cmp dword [ebp - 0x6c], ebx
je 0x42ccec
lea esi, [ebp - 0x48]
call fcn.0040ba00
test al, al
je 0x42ccec
push 0x20
mov ecx, esi
call fcn.0040cf00
pop ecx
mov eax, esi
push eax
call fcn.0040d510
test al, al
pop ecx
jne 0x42c922
mov eax, esi
push eax
call fcn.0040dcf0
pop ecx
lea eax, [ebp - 0x48]
push eax
call fcn.0040d510
test al, al
pop ecx
je 0x42ccec
lea eax, [ebp - 0x48]
push eax
call fcn.0040d6c0
test al, al
pop ecx
je 0x42ccec
push 0x5c
lea esi, [ebp - 0x48]
call fcn.00407cc3
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 0x42ccca
mov eax, dword [ebp - 0xc0]
cmp eax, ebx
je 0x42ccca
mov ecx, dword [eax]
lea edx, [ebp - 0xcc]
push edx
push 0x44836c
push eax
call dword [ecx]
cmp eax, ebx
jl 0x42ccbe
cmp dword [ebp - 0xcc], ebx
je 0x42ccbe
mov edi, dword [ebp - 0xc4]
cmp dword [edi + 0x18], 8
jb 0x42c9df
add edi, 4
mov eax, dword [edi]
jmp 0x42c9e4
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 0x42c9fd
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 0x42ca32
push esi
call fcn.0040d5e0
test al, al
pop ecx
je 0x42ca32
cmp dword [esi + 0x18], 8
jb 0x42ca2b
mov esi, dword [esi + 4]
jmp 0x42ca2e
add esi, 4
push ebx
push esi
jmp 0x42ca42
mov eax, dword [ebp - 0xc4]
cmp dword [eax + 0x18], 8
jb 0x42ca40
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 0x42ca5f
mov eax, dword [eax + 4]
jmp 0x42ca62
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 0x42ca80
mov eax, dword [eax + 4]
jmp 0x42ca83
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.0040d2c0
or edi, 0xffffffff
cmp eax, edi
push edi
jne 0x42cad6
xor edi, edi
push edi
lea eax, [ebp - 0xb8]
mov esi, ebx
call fcn.00404193
jmp 0x42cb20
lea ecx, [ebp - 0x2c]
push ecx
mov ebx, eax
lea esi, [ebp - 0x9c]
call fcn.00407dbd
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 5
call fcn.0040bf90
test eax, eax
je 0x42cb0b
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.0040d510
test al, al
pop ecx
je 0x42cc2b
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 0x42cbdd
mov eax, dword [ebp - 0xc4]
cmp eax, edi
je 0x42cbdd
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 0x42cbc7
mov eax, dword [ebp - 0xc8]
cmp eax, edi
je 0x42cbc7
cmp dword [ebp - 0x14], 8
mov ecx, dword [ebp - 0x28]
jae 0x42cb9a
lea ecx, [ebp - 0x28]
mov edx, dword [eax]
push 0x30
push ecx
push eax
call dword [edx + 0x14]
cmp eax, edi
jl 0x42cbbb
push dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc0]
call fcn.0042cee4
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 0x42cc24
mov eax, dword [ebp - 0xd4]
cmp byte [eax], 0
jne 0x42cc2b
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x42cbf4
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x9c]
call fcn.00401222
lea eax, [ebp - 0x9c]
push eax
mov byte [ebp - 4], 6
call fcn.0040fb30
pop ecx
push edi
push 1
lea esi, [ebp - 0x9c]
mov byte [ebp - 4], 4
call fcn.004012b6
jmp 0x42cc2b
mov byte [ebp - 0xb9], 1
cmp byte [ebp - 0xb9], 0
mov bl, 1
jne 0x42cc68
mov esi, dword [ebp - 0xd4]
cmp byte [esi], 0
jne 0x42cc64
cmp dword [ebp - 0x14], 8
mov ecx, dword [ebp - 0x28]
jae 0x42cc4d
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 0x42cd0f
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 0x42cd05
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.00437348
ret 0x14