Function at 0x42ce60
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d10a1
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1044
call fcn.004ab4d0
mov eax, dword [0x51c080]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov dword [ebp - 0x1030], ebx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1028], eax
mov byte [ebp - 0x1021], 0
xor edi, edi
mov dword [ebp - 0x1020], edi
mov dword [ebp - 4], edi
cmp ebx, edi
je 0x42d740
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x42cec6
sub eax, edx
sar eax, 1
je 0x42d740
mov edx, 1
xor eax, eax
mov ecx, 0x527d38
call fcn.00458870
mov esi, eax
test esi, esi
je 0x42d740
jmp 0x42cf00
mov dword [ebp - 0x1020], 0
push 0x800
push 0
lea ecx, [ebp - 0x101c]
push ecx
call fcn.004ab450
add esp, 0xc
push edi
push ebx
push str.SHORTCUT_INFO
push str._s__s__d_
lea edx, [ebp - 0x101c]
call fcn.00411a00
add esp, 0x10
lea edx, [ebp - 0x1020]
push edx
lea edx, [ebp - 0x101c]
mov ecx, esi
call fcn.0044e0b0
test eax, eax
jne 0x42cf89
push eax
push 0x527d38
mov ecx, dword [ebp - 0x1020]
xor edx, edx
call fcn.0045a710
test al, al
jne 0x42cf89
mov eax, dword [ebp - 0x1020]
test eax, eax
je 0x42cf7b
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
add edi, 1
mov dword [ebp - 0x1034], edi
jmp 0x42cf00
push 0x800
push 0
lea eax, [ebp - 0x81c]
push eax
call fcn.004ab450
add esp, 0xc
push 0
push 0x400
push str.NAME
push esi
lea ecx, [ebp - 0x81c]
mov edx, dword [ebp - 0x1020]
call fcn.0044d4e0
test eax, eax
jne 0x42d72e
push eax
push 0x100
push 0x527d38
mov ebx, dword [ebp - 0x1028]
mov edi, ebx
lea edx, [ebp - 0x81c]
call fcn.00458ee0
test eax, eax
je 0x42d001
push 0xff
lea ecx, [ebp - 0x81c]
push ecx
push 0x100
push ebx
call fcn.004a9be0
add esp, 0x10
push 0x800
push 0
lea edx, [ebp - 0x81c]
push edx
call fcn.004ab450
add esp, 0xc
push 0
push 0x400
push str.TARGET
push esi
lea ecx, [ebp - 0x81c]
mov edx, dword [ebp - 0x1020]
call fcn.0044d4e0
test eax, eax
jne 0x42d718
mov ecx, 0x4dbd14
lea edx, [ebp - 0x81c]
call fcn.00442540
mov ecx, 0x4dbd14
lea edx, [ebp - 0x81c]
call fcn.004426f0
lea edi, [ebx + 0x200]
mov dword [ebp - 0x102c], edi
push 0
push 0x400
push 0x527d38
lea edx, [ebp - 0x81c]
call fcn.00458ee0
test eax, eax
je 0x42d09e
push 0x3ff
lea eax, [ebp - 0x81c]
push eax
push 0x400
push edi
call fcn.004a9be0
add esp, 0x10
push 0x800
push 0
lea ecx, [ebp - 0x81c]
push ecx
call fcn.004ab450
add esp, 0xc
push 0
push 0x400
push str.START_IN
push esi
lea ecx, [ebp - 0x81c]
mov edx, dword [ebp - 0x1020]
call fcn.0044d4e0
test eax, eax
jne 0x42d131
mov ecx, 0x4dbd14
lea edx, [ebp - 0x81c]
call fcn.00442540
mov ecx, 0x4dbd14
lea edx, [ebp - 0x81c]
call fcn.004426f0
lea edi, [ebx + 0x1a00]
push 0
push 0x400
push 0x527d38
lea edx, [ebp - 0x81c]
call fcn.00458ee0
test eax, eax
je 0x42d131
push 0x3ff
lea edx, [ebp - 0x81c]
push edx
push 0x400
push edi
call fcn.004a9be0
add esp, 0x10
push 0x800
push 0
lea eax, [ebp - 0x81c]
push eax
call fcn.004ab450
add esp, 0xc
push 0
push 0x400
push str.ARGUMENT
push esi
lea ecx, [ebp - 0x81c]
mov edx, dword [ebp - 0x1020]
call fcn.0044d4e0
test eax, eax
jne 0x42d1a3
lea edi, [ebx + 0xa00]
push eax
push 0x400
push 0x527d38
lea edx, [ebp - 0x81c]
call fcn.00458ee0
test eax, eax
je 0x42d1a3
push 0x3ff
lea ecx, [ebp - 0x81c]
push ecx
push 0x400
push edi
call fcn.004a9be0
add esp, 0x10
push 0x800
push 0
lea edx, [ebp - 0x81c]
push edx
call fcn.004ab450
add esp, 0xc
push 0
push 0x400
push str.DESCRIPTION
push esi
lea ecx, [ebp - 0x81c]
mov edx, dword [ebp - 0x1020]
call fcn.0044d4e0
test eax, eax
jne 0x42d215
lea edi, [ebx + 0x2200]
push eax
push 0x400
push 0x527d38
lea edx, [ebp - 0x81c]
call fcn.00458ee0
test eax, eax
je 0x42d215
push 0x3ff
lea eax, [ebp - 0x81c]
push eax
push 0x400
push edi
call fcn.004a9be0
add esp, 0x10
push 0x800
push 0
lea ecx, [ebp - 0x81c]
push ecx
call fcn.004ab450
add esp, 0xc
push 0
push 0x400
push str.DESCRIPTION_MUI
push esi
lea ecx, [ebp - 0x81c]
mov edx, dword [ebp - 0x1020]
call fcn.0044d4e0
test eax, eax
jne 0x42d287
lea edi, [ebx + 0x2a00]
push eax
push 0x400
push 0x527d38
lea edx, [ebp - 0x81c]
call fcn.00458ee0
test eax, eax
je 0x42d287
push 0x3ff
lea edx, [ebp - 0x81c]
push edx
push 0x400
push edi
call fcn.004a9be0
add esp, 0x10
push 0x800
push 0
lea eax, [ebp - 0x81c]
push eax
call fcn.004ab450
add esp, 0xc
push 0
push 0x400
push str.FOLDER_NAME
push esi
lea ecx, [ebp - 0x81c]
mov edx, dword [ebp - 0x1020]
call fcn.0044d4e0
test eax, eax
jne 0x42d31a
mov ecx, 0x4dbd14
lea edx, [ebp - 0x81c]
call fcn.00442540
mov ecx, 0x4dbd14
lea edx, [ebp - 0x81c]
call fcn.004426f0
lea edi, [ebx + 0x3200]
push 0
push 0x400
push 0x527d38
lea edx, [ebp - 0x81c]
call fcn.00458ee0
test eax, eax
je 0x42d31a
push 0x3ff
lea ecx, [ebp - 0x81c]
push ecx
push 0x400
push edi
call fcn.004a9be0
add esp, 0x10
push 0x800
push 0
lea edx, [ebp - 0x81c]
push edx
call fcn.004ab450
add esp, 0xc
push 0
push 0x400
push str.ICON_FILE
push esi
lea ecx, [ebp - 0x81c]
mov edx, dword [ebp - 0x1020]
call fcn.0044d4e0
test eax, eax
jne 0x42d3ad
mov ecx, 0x4dbd14
lea edx, [ebp - 0x81c]
call fcn.00442540
mov ecx, 0x4dbd14
lea edx, [ebp - 0x81c]
call fcn.004426f0
lea edi, [ebx + 0x1200]
push 0
push 0x400
push 0x527d38
lea edx, [ebp - 0x81c]
call fcn.00458ee0
test eax, eax
je 0x42d3ad
push 0x3ff
lea eax, [ebp - 0x81c]
push eax
push 0x400
push edi
call fcn.004a9be0
add esp, 0x10
push 0x800
push 0
lea ecx, [ebp - 0x81c]
push ecx
call fcn.004ab450
add esp, 0xc
push str.ICON_FILE
lea edx, [ebp - 0x101c]
push edx
push 0x4db7ec
lea edx, [ebp - 0x81c]
call fcn.00411a00
add esp, 0xc
lea eax, [ebx + 0x4a04]
push eax
mov ebx, str.index
lea ecx, [ebp - 0x81c]
mov edi, esi
call fcn.00443cb0
test eax, eax
je 0x42d410
mov eax, dword [ebp - 0x1028]
add eax, 0x4a04
mov dword [eax], 0
push 0x800
push 0
lea eax, [ebp - 0x81c]
push eax
call fcn.004ab450
add esp, 0xc
push 0
push 0x400
push str.GROUP
push esi
lea ecx, [ebp - 0x81c]
mov edx, dword [ebp - 0x1020]
call fcn.0044d4e0
test eax, eax
jne 0x42d46f
push str.DESKTOP
lea ecx, [ebp - 0x81c]
push ecx
call fcn.004a9af1
add esp, 8
test eax, eax
sete dl
mov ebx, dword [ebp - 0x1028]
mov byte [ebx + 0x4a08], dl
jmp 0x42d475
mov ebx, dword [ebp - 0x1028]
push 0x800
push 0
lea eax, [ebp - 0x81c]
push eax
call fcn.004ab450
add esp, 0xc
push 0
push 0x400
push str.PERMISSION
push esi
lea ecx, [ebp - 0x81c]
mov edx, dword [ebp - 0x1020]
call fcn.0044d4e0
test eax, eax
jne 0x42d4cc
push 0x4dd80c
lea ecx, [ebp - 0x81c]
push ecx
call fcn.004a9af1
add esp, 8
test eax, eax
setne dl
mov byte [ebx + 0x4a09], dl
push 0x800
push 0
lea eax, [ebp - 0x81c]
push eax
call fcn.004ab450
add esp, 0xc
push 0
push 0x400
push str.MUI_RES_DLL
push esi
lea ecx, [ebp - 0x81c]
mov edx, dword [ebp - 0x1020]
call fcn.0044d4e0
test eax, eax
jne 0x42d55f
mov ecx, 0x4dbd14
lea edx, [ebp - 0x81c]
call fcn.00442540
mov ecx, 0x4dbd14
lea edx, [ebp - 0x81c]
call fcn.004426f0
lea edi, [ebx + 0x3a00]
push 0
push 0x400
push 0x527d38
lea edx, [ebp - 0x81c]
call fcn.00458ee0
test eax, eax
je 0x42d55f
push 0x3ff
lea ecx, [ebp - 0x81c]
push ecx
push 0x400
push edi
call fcn.004a9be0
add esp, 0x10
push 0x800
push 0
lea edx, [ebp - 0x81c]
push edx
call fcn.004ab450
add esp, 0xc
push 0
push 0x400
push str.MUI_RES_ID
push esi
lea ecx, [ebp - 0x81c]
mov edx, dword [ebp - 0x1020]
call fcn.0044d4e0
test eax, eax
jne 0x42d5ac
lea eax, [ebp - 0x81c]
push eax
call fcn.004aa6a8
add esp, 4
mov dword [ebx + 0x4a00], eax
push 0x800
push 0
lea ecx, [ebp - 0x81c]
push ecx
call fcn.004ab450
add esp, 0xc
push 0x400
lea edx, [ebp - 0x81c]
push edx
push str.delete
lea eax, [ebp - 0x101c]
push eax
mov ecx, esi
call fcn.00443c90
test eax, eax
jne 0x42d603
push str.FALSE
lea ecx, [ebp - 0x81c]
push ecx
call fcn.004a9af1
add esp, 8
test eax, eax
jne 0x42d603
mov byte [ebx + 0x4a0a], al
mov edx, dword [ebp - 0x102c]
push edx
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
call edi
test eax, eax
je 0x42d622
mov byte [ebp - 0x1021], 1
jmp 0x42d6ed
lea esi, [ebp - 0x1050]
call fcn.0045b660
mov byte [ebp - 4], 1
mov bl, byte [eax + 0x18]
mov byte [ebp - 4], 0
mov ecx, esi
call fcn.0045b750
test bl, bl
je 0x42d6cd
mov dword [ebp - 0x1028], 0
lea esi, [ebp - 0x1050]
call fcn.0045b660
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1028]
call fcn.0045b770
mov byte [ebp - 4], 0
mov ecx, esi
call fcn.0045b750
mov esi, dword [ebp - 0x102c]
push esi
call edi
test eax, eax
je 0x42d68c
mov byte [ebp - 0x1021], 1
jmp 0x42d6a6
push esi
mov eax, dword [ebp - 0x1030]
push eax
push str.__s__shortcut_has_invalid_target_file__s_
mov ecx, 0x527b30
call fcn.00449000
add esp, 0xc
lea esi, [ebp - 0x1050]
call fcn.0045b660
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1028]
call fcn.0045b780
mov byte [ebp - 4], 0
mov ecx, esi
call fcn.0045b750
jmp 0x42d6ed
mov ecx, dword [ebp - 0x102c]
push ecx
mov edx, dword [ebp - 0x1030]
push edx
push str.__s__shortcut_has_invalid_target_file__s_
mov ecx, 0x527b30
call fcn.00449000
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
mov al, byte [ebp - 0x1021]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.004a998e
mov esp, ebp
pop ebp
ret 4
push str.Get_shortcut_Target_fail___
mov ecx, 0x527b30
call fcn.00449000
add esp, 4
xor al, al
jmp 0x42d6fa
push str.__Get_shortcut_name_fail___
mov ecx, 0x527b30
call fcn.00449000
add esp, 4
xor al, al
jmp 0x42d6fa