Function at 0x424286
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0x6c
mov eax, 0x4aa0a2
call fcn.004931c3
and dword [ebp - 0x14], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x48], esp
push str.Diff_PostScanSys:_Filling_AutoLaunch__Shortcuts
call fcn.00421017
and dword [ebp - 4], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x40], esp
push 0x4bc218
call fcn.00421017
or dword [ebp - 4], 0xffffffff
xor esi, esi
inc esi
push esi
call fcn.00459ed0
add esp, 0xc
call fcn.00480035
push eax
lea ecx, [ebp - 0x1c]
call fcn.00420985
mov dword [ebp - 4], esi
call fcn.00480035
push eax
lea ecx, [ebp - 0x48]
call fcn.00420985
mov byte [ebp - 4], 2
call fcn.00480035
push eax
lea ecx, [ebp - 0x18]
call fcn.00420985
mov byte [ebp - 4], 3
call fcn.00480035
push eax
lea ecx, [ebp - 0x24]
call fcn.00420985
mov byte [ebp - 4], 4
call fcn.00480035
push eax
lea ecx, [ebp - 0x20]
call fcn.00420985
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 5
call fcn.00421d6b
mov edi, dword [ebp + 8]
mov byte [ebp - 4], 6
mov ebx, dword [edi + 0xc]
lea esi, [ebp - 0x58]
call fcn.00435df0
jmp 0x424783
lea esi, [ebp - 0x58]
call fcn.00421da3
push eax
lea ecx, [ebp - 0x1c]
call fcn.00423e75
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
mov esi, 0x4b280c
push esi
call fcn.00421017
push ecx
mov byte [ebp - 4], 7
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x4c], esp
mov ecx, esp
push eax
call fcn.00421e00
push ecx
mov byte [ebp - 4], 8
mov dword [ebp - 0x50], esp
mov ecx, esp
mov ebx, 0x4d4968
push ebx
call fcn.00421e00
lea edi, [ebp - 0x30]
mov byte [ebp - 4], 6
call fcn.004555d0
add esp, 0xc
mov byte [ebp - 4], 9
push dword [eax]
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.Diff_PostScanSys:_Resolving_shortcut__s
call fcn.00421017
push ecx
mov byte [ebp - 4], 0xa
mov ecx, esp
mov dword [ebp - 0x4c], esp
push 0x4bc218
call fcn.00421017
push 1
mov byte [ebp - 4], 9
call fcn.00459ed0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x30]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.0042001a
push ecx
mov dword [ebp - 0x50], esp
mov edi, esp
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push esi
call fcn.00421017
push ecx
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x4c], esp
mov ecx, esp
push eax
call fcn.00421e00
push ecx
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x2c], esp
mov ecx, esp
push ebx
call fcn.00421e00
mov byte [ebp - 4], 6
call fcn.004555d0
add esp, 0xc
lea ecx, [ebp - 0x20]
lea ebx, [ebp - 0x24]
lea edi, [ebp - 0x18]
call fcn.00471e10
mov esi, dword [ebp - 0x18]
pop ecx
push dword [ebp - 0x20]
push esi
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.Diff_PostScanSys:_Target_s__Description_s
call fcn.00421017
push ecx
mov byte [ebp - 4], 0xd
mov ecx, esp
mov dword [ebp - 0x4c], esp
mov edi, 0x4bc218
push edi
call fcn.00421017
xor ebx, ebx
inc ebx
push ebx
mov byte [ebp - 4], 6
call fcn.00459ed0
add esp, 0x14
cmp dword [esi - 0xc], 0
je 0x424778
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x34]
call fcn.00421e00
mov esi, dword [ebp - 0x34]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x42449d
test al, 0x10
jne 0x42449d
mov dword [ebp - 0x2c], ebx
jmp 0x4244a1
and dword [ebp - 0x2c], 0
lea ecx, [esi - 0x10]
call fcn.0042001a
xor esi, esi
cmp dword [ebp - 0x2c], esi
je 0x424778
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
cmp dword [eax - 0xc], esi
jne 0x4244e5
push 4
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x18]
call fcn.00423c25
mov eax, dword [eax]
or dword [ebp - 0x14], ebx
push str..EXE
push eax
call fcn.0048ef19
pop ecx
pop ecx
mov byte [ebp - 0xd], bl
test eax, eax
je 0x4244e9
mov byte [ebp - 0xd], 0
test byte [ebp - 0x14], bl
je 0x4244fd
mov ecx, dword [ebp - 0x38]
and dword [ebp - 0x14], 0xfffffffe
add ecx, 0xfffffff0
call fcn.0042001a
cmp byte [ebp - 0xd], 0
je 0x42450f
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x18]
push eax
call fcn.00423e75
lea eax, [ebp - 0x1c]
push esi
push eax
call fcn.00464750
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.00464750
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x50], esp
lea ecx, [ebp - 0x78]
push ecx
push eax
call fcn.004248ad
push esi
push ecx
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x18]
mov dword [ebp - 0x4c], esp
mov ecx, esp
push eax
call fcn.00421e00
mov byte [ebp - 4], 6
call fcn.00459090
add esp, 0x20
cmp eax, esi
je 0x42458a
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.Diff_PostScanSys:_Shortcuts_already_in_list__duplicate_
call fcn.00421017
push ecx
mov byte [ebp - 4], 0xf
mov ecx, esp
mov dword [ebp - 0x4c], esp
push edi
call fcn.00421017
push ebx
mov byte [ebp - 4], 6
call fcn.00459ed0
add esp, 0xc
jmp 0x424778
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x78]
call fcn.0042497f
mov ebx, dword [ebp + 0x10]
push 0x4b263c
mov ecx, ebx
call fcn.00423dd3
test eax, eax
je 0x4245b5
push 0x4b3adc
mov ecx, ebx
call fcn.00423caa
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
push dword [ebp - 0x24]
push dword [ebp - 0x18]
push 0x4b3ae0
call fcn.0042267f
add esp, 0x14
mov ebx, str.uninst
push ebx
push 0x5c
push ecx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x50], esp
mov ecx, esp
push eax
xor esi, esi
call fcn.00421e00
lea eax, [ebp - 0x40]
push eax
call fcn.00455f00
add esp, 0xc
mov byte [ebp - 4], 0x10
or dword [ebp - 0x14], 2
mov edi, eax
call fcn.00424832
mov ecx, esi
mov esi, eax
call fcn.004247ff
cmp eax, 0xffffffff
jne 0x424654
push ebx
push 0x5c
push ecx
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x50], esp
mov ecx, esp
push eax
xor esi, esi
call fcn.00421e00
lea eax, [ebp - 0x3c]
push eax
call fcn.00455f00
add esp, 0xc
mov dword [ebp - 4], 0x11
or dword [ebp - 0x14], 4
mov edi, eax
call fcn.00424832
mov ecx, esi
mov esi, eax
call fcn.004247ff
cmp eax, 0xffffffff
jne 0x424654
mov bl, 1
jmp 0x424656
xor bl, bl
test byte [ebp - 0x14], 4
je 0x42466b
mov ecx, dword [ebp - 0x3c]
and dword [ebp - 0x14], 0xfffffffb
add ecx, 0xfffffff0
call fcn.0042001a
mov dword [ebp - 4], 6
test byte [ebp - 0x14], 2
je 0x424687
mov ecx, dword [ebp - 0x40]
and dword [ebp - 0x14], 0xfffffffd
add ecx, 0xfffffff0
call fcn.0042001a
test bl, bl
je 0x424778
mov ebx, dword [ebp + 0xc]
mov esi, 0x4b263c
push esi
mov ecx, ebx
call fcn.00423dd3
test eax, eax
je 0x4246af
push 0x4b3adc
mov ecx, ebx
call fcn.00423caa
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push esi
call fcn.00421017
push ecx
mov esi, esp
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x4c], esp
push 0x5c
push ecx
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x4c], esp
mov ecx, esp
push eax
call fcn.00421e00
push esi
call fcn.00455f00
lea eax, [ebp - 0x28]
add esp, 0xc
push eax
mov byte [ebp - 4], 6
call fcn.00455d40
add esp, 0xc
mov byte [ebp - 4], 0x13
push dword [ebp - 0x20]
mov esi, 0x4b3ae0
push dword [ebp - 0x28]
push dword [ebp - 0x24]
push dword [ebp - 0x18]
push esi
call fcn.0042267f
add esp, 0x14
push dword [ebp - 0x20]
lea eax, [ebp - 0x44]
push dword [ebp - 0x28]
push dword [ebp - 0x24]
push dword [ebp - 0x18]
push esi
push eax
call fcn.004559f0
add esp, 0x18
mov byte [ebp - 4], 0x14
push dword [eax]
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.Diff_PostScanSys:_Adding_to_AutoLaunch:__s
call fcn.00421017
push ecx
mov byte [ebp - 4], 0x15
mov ecx, esp
mov dword [ebp - 0x4c], esp
push 0x4bc218
call fcn.00421017
push 1
mov byte [ebp - 4], 0x14
call fcn.00459ed0
mov ecx, dword [ebp - 0x44]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.0042001a
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
call fcn.0042001a
lea esi, [ebp - 0x58]
call fcn.00424a4a
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x10]
lea esi, [ebp - 0x60]
call fcn.00435df0
mov edi, esi
lea esi, [ebp - 0x58]
call fcn.00424a75
test al, al
jne 0x424343
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 5
call fcn.00424953
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.0042001a
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
call fcn.0042001a
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.0042001a
mov ecx, dword [ebp - 0x48]
add ecx, 0xfffffff0
call fcn.0042001a
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.0042001a
call fcn.0049329b
ret