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

Disassembly:
push 0x6c
mov eax, 0x4a7b72
call fcn.00490e49
and dword [ebp - 0x14], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x48], esp
push str.Diff_PostScanSys:_Filling_AutoLaunch__Shortcuts
call fcn.00421197
and dword [ebp - 4], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x40], esp
push 0x4b9320
call fcn.00421197
or dword [ebp - 4], 0xffffffff
xor esi, esi
inc esi
push esi
call fcn.00458060
add esp, 0xc
call fcn.0047dccb
push eax
lea ecx, [ebp - 0x1c]
call fcn.00434103
mov dword [ebp - 4], esi
call fcn.0047dccb
push eax
lea ecx, [ebp - 0x48]
call fcn.00434103
mov byte [ebp - 4], 2
call fcn.0047dccb
push eax
lea ecx, [ebp - 0x18]
call fcn.00434103
mov byte [ebp - 4], 3
call fcn.0047dccb
push eax
lea ecx, [ebp - 0x24]
call fcn.00434103
mov byte [ebp - 4], 4
call fcn.0047dccb
push eax
lea ecx, [ebp - 0x20]
call fcn.00434103
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 5
call fcn.00421245
mov edi, dword [ebp + 8]
mov byte [ebp - 4], 6
mov ebx, dword [edi + 0xc]
lea esi, [ebp - 0x58]
call fcn.00434135
jmp 0x4244b0
lea esi, [ebp - 0x58]
call fcn.00424777
push eax
lea ecx, [ebp - 0x1c]
call fcn.004226f7
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
mov esi, 0x4b11ac
push esi
call fcn.00421197
push ecx
mov byte [ebp - 4], 7
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x4c], esp
mov ecx, esp
push eax
call fcn.00421360
push ecx
mov byte [ebp - 4], 8
mov dword [ebp - 0x50], esp
mov ecx, esp
mov ebx, 0x4d19b0
push ebx
call fcn.00421360
lea edi, [ebp - 0x30]
mov byte [ebp - 4], 6
call fcn.00453850
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.00421197
push ecx
mov byte [ebp - 4], 0xa
mov ecx, esp
mov dword [ebp - 0x4c], esp
push 0x4b9320
call fcn.00421197
push 1
mov byte [ebp - 4], 9
call fcn.00458060
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.00421197
push ecx
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x4c], esp
mov ecx, esp
push eax
call fcn.00421360
push ecx
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x2c], esp
mov ecx, esp
push ebx
call fcn.00421360
mov byte [ebp - 4], 6
call fcn.00453850
add esp, 0xc
lea ecx, [ebp - 0x20]
lea ebx, [ebp - 0x24]
lea edi, [ebp - 0x18]
call fcn.0046ea10
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.00421197
push ecx
mov byte [ebp - 4], 0xd
mov ecx, esp
mov dword [ebp - 0x4c], esp
mov edi, 0x4b9320
push edi
call fcn.00421197
xor ebx, ebx
inc ebx
push ebx
mov byte [ebp - 4], 6
call fcn.00458060
add esp, 0x14
cmp dword [esi - 0xc], 0
je 0x4244a5
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x34]
call fcn.00421360
mov esi, dword [ebp - 0x34]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4241ca
test al, 0x10
jne 0x4241ca
mov dword [ebp - 0x2c], ebx
jmp 0x4241ce
and dword [ebp - 0x2c], 0
lea ecx, [esi - 0x10]
call fcn.0042001a
xor esi, esi
cmp dword [ebp - 0x2c], esi
je 0x4244a5
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
cmp dword [eax - 0xc], esi
jne 0x424212
push 4
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x18]
call fcn.00423b81
mov eax, dword [eax]
or dword [ebp - 0x14], ebx
push str..EXE
push eax
call fcn.0048c876
pop ecx
pop ecx
mov byte [ebp - 0xd], bl
test eax, eax
je 0x424216
mov byte [ebp - 0xd], 0
test byte [ebp - 0x14], bl
je 0x42422a
mov ecx, dword [ebp - 0x38]
and dword [ebp - 0x14], 0xfffffffe
add ecx, 0xfffffff0
call fcn.0042001a
cmp byte [ebp - 0xd], 0
je 0x42423c
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x18]
push eax
call fcn.004226f7
lea eax, [ebp - 0x1c]
push esi
push eax
call fcn.0046b8a0
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.0046b8a0
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x50], esp
lea ecx, [ebp - 0x78]
push ecx
push eax
call fcn.004245da
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.00421360
mov byte [ebp - 4], 6
call fcn.00457220
add esp, 0x20
cmp eax, esi
je 0x4242b7
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.Diff_PostScanSys:_Shortcuts_already_in_list__duplicate_
call fcn.00421197
push ecx
mov byte [ebp - 4], 0xf
mov ecx, esp
mov dword [ebp - 0x4c], esp
push edi
call fcn.00421197
push ebx
mov byte [ebp - 4], 6
call fcn.00458060
add esp, 0xc
jmp 0x4244a5
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x78]
call fcn.004246ac
mov ebx, dword [ebp + 0x10]
push 0x4b04e0
mov ecx, ebx
call fcn.00422611
test eax, eax
je 0x4242e2
push 0x4b0644
mov ecx, ebx
call fcn.00423c06
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
push dword [ebp - 0x24]
push dword [ebp - 0x18]
push str._s__s__s__s
call fcn.00422869
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.00421360
lea eax, [ebp - 0x40]
push eax
call fcn.00454180
add esp, 0xc
mov byte [ebp - 4], 0x10
or dword [ebp - 0x14], 2
mov edi, eax
call fcn.0042455f
mov ecx, esi
mov esi, eax
call fcn.0042452c
cmp eax, 0xffffffff
jne 0x424381
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.00421360
lea eax, [ebp - 0x3c]
push eax
call fcn.00454180
add esp, 0xc
mov dword [ebp - 4], 0x11
or dword [ebp - 0x14], 4
mov edi, eax
call fcn.0042455f
mov ecx, esi
mov esi, eax
call fcn.0042452c
cmp eax, 0xffffffff
jne 0x424381
mov bl, 1
jmp 0x424383
xor bl, bl
test byte [ebp - 0x14], 4
je 0x424398
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 0x4243b4
mov ecx, dword [ebp - 0x40]
and dword [ebp - 0x14], 0xfffffffd
add ecx, 0xfffffff0
call fcn.0042001a
test bl, bl
je 0x4244a5
mov ebx, dword [ebp + 0xc]
mov esi, 0x4b04e0
push esi
mov ecx, ebx
call fcn.00422611
test eax, eax
je 0x4243dc
push 0x4b0644
mov ecx, ebx
call fcn.00423c06
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push esi
call fcn.00421197
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.00421360
push esi
call fcn.00454180
lea eax, [ebp - 0x28]
add esp, 0xc
push eax
mov byte [ebp - 4], 6
call fcn.00453fc0
add esp, 0xc
mov byte [ebp - 4], 0x13
push dword [ebp - 0x20]
mov esi, str._s__s__s__s
push dword [ebp - 0x28]
push dword [ebp - 0x24]
push dword [ebp - 0x18]
push esi
call fcn.00422869
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.00453c70
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.00421197
push ecx
mov byte [ebp - 4], 0x15
mov ecx, esp
mov dword [ebp - 0x4c], esp
push 0x4b9320
call fcn.00421197
push 1
mov byte [ebp - 4], 0x14
call fcn.00458060
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.0042479f
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x10]
lea esi, [ebp - 0x60]
call fcn.00434135
mov edi, esi
lea esi, [ebp - 0x58]
call fcn.00433e23
test al, al
jne 0x424070
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 5
call fcn.00424680
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.00490f21
ret