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

Disassembly:
push 0x6c
mov eax, 0x4a0aa2
call fcn.0048a2c9
and dword [ebp - 0x14], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x48], esp
push str.Diff_PostScanSys:_Filling_AutoLaunch__Shortcuts
call fcn.004211c4
and dword [ebp - 4], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x40], esp
push 0x4b1750
call fcn.004211c4
or dword [ebp - 4], 0xffffffff
xor esi, esi
inc esi
push esi
call fcn.004565a0
add esp, 0xc
call fcn.0047727e
push eax
lea ecx, [ebp - 0x1c]
call fcn.0042049e
mov dword [ebp - 4], esi
call fcn.0047727e
push eax
lea ecx, [ebp - 0x48]
call fcn.0042049e
mov byte [ebp - 4], 2
call fcn.0047727e
push eax
lea ecx, [ebp - 0x18]
call fcn.0042049e
mov byte [ebp - 4], 3
call fcn.0047727e
push eax
lea ecx, [ebp - 0x24]
call fcn.0042049e
mov byte [ebp - 4], 4
call fcn.0047727e
push eax
lea ecx, [ebp - 0x20]
call fcn.0042049e
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 5
call fcn.00421272
mov edi, dword [ebp + 8]
mov byte [ebp - 4], 6
mov ebx, dword [edi + 0xc]
lea esi, [ebp - 0x58]
call fcn.0042da95
jmp 0x424395
lea esi, [ebp - 0x58]
call fcn.00432104
push eax
lea ecx, [ebp - 0x1c]
call fcn.0042274e
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
mov esi, 0x4aa0a4
push esi
call fcn.004211c4
push ecx
mov byte [ebp - 4], 7
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x4c], esp
mov ecx, esp
push eax
call fcn.00421355
push ecx
mov byte [ebp - 4], 8
mov dword [ebp - 0x50], esp
mov ecx, esp
mov ebx, 0x4c8938
push ebx
call fcn.00421355
lea edi, [ebp - 0x30]
mov byte [ebp - 4], 6
call fcn.00452020
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.004211c4
push ecx
mov byte [ebp - 4], 0xa
mov ecx, esp
mov dword [ebp - 0x4c], esp
push 0x4b1750
call fcn.004211c4
push 1
mov byte [ebp - 4], 9
call fcn.004565a0
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.004211c4
push ecx
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x4c], esp
mov ecx, esp
push eax
call fcn.00421355
push ecx
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x2c], esp
mov ecx, esp
push ebx
call fcn.00421355
mov byte [ebp - 4], 6
call fcn.00452020
add esp, 0xc
lea ecx, [ebp - 0x20]
lea ebx, [ebp - 0x24]
lea edi, [ebp - 0x18]
call fcn.00469a20
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.004211c4
push ecx
mov byte [ebp - 4], 0xd
mov ecx, esp
mov dword [ebp - 0x4c], esp
mov edi, 0x4b1750
push edi
call fcn.004211c4
xor ebx, ebx
inc ebx
push ebx
mov byte [ebp - 4], 6
call fcn.004565a0
add esp, 0x14
cmp dword [esi - 0xc], 0
je 0x42438a
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x34]
call fcn.00421355
mov esi, dword [ebp - 0x34]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4240af
test al, 0x10
jne 0x4240af
mov dword [ebp - 0x2c], ebx
jmp 0x4240b3
and dword [ebp - 0x2c], 0
lea ecx, [esi - 0x10]
call fcn.0042001a
xor esi, esi
cmp dword [ebp - 0x2c], esi
je 0x42438a
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
cmp dword [eax - 0xc], esi
jne 0x4240f7
push 4
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x18]
call fcn.00423a11
mov eax, dword [eax]
or dword [ebp - 0x14], ebx
push str..EXE
push eax
call fcn.00485d30
pop ecx
pop ecx
mov byte [ebp - 0xd], bl
test eax, eax
je 0x4240fb
mov byte [ebp - 0xd], 0
test byte [ebp - 0x14], bl
je 0x42410f
mov ecx, dword [ebp - 0x38]
and dword [ebp - 0x14], 0xfffffffe
add ecx, 0xfffffff0
call fcn.0042001a
cmp byte [ebp - 0xd], 0
je 0x424121
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x18]
push eax
call fcn.0042274e
lea eax, [ebp - 0x1c]
push esi
push eax
call fcn.00468bb0
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.00468bb0
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0x50], esp
lea ecx, [ebp - 0x78]
push ecx
push eax
call fcn.0042446a
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.00421355
mov byte [ebp - 4], 6
call fcn.00455760
add esp, 0x20
cmp eax, esi
je 0x42419c
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push str.Diff_PostScanSys:_Shortcuts_already_in_list__duplicate_
call fcn.004211c4
push ecx
mov byte [ebp - 4], 0xf
mov ecx, esp
mov dword [ebp - 0x4c], esp
push edi
call fcn.004211c4
push ebx
mov byte [ebp - 4], 6
call fcn.004565a0
add esp, 0xc
jmp 0x42438a
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x78]
call fcn.0042453c
mov ebx, dword [ebp + 0x10]
push 0x4a94b0
mov ecx, ebx
call fcn.00422668
test eax, eax
je 0x4241c7
push 0x4a9614
mov ecx, ebx
call fcn.00423aeb
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
push dword [ebp - 0x24]
push dword [ebp - 0x18]
push str._s__s__s__s
call fcn.004228c0
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.00421355
lea eax, [ebp - 0x40]
push eax
call fcn.00452880
add esp, 0xc
mov byte [ebp - 4], 0x10
or dword [ebp - 0x14], 2
mov edi, eax
call fcn.00424444
mov ecx, esi
mov esi, eax
call fcn.00424411
cmp eax, 0xffffffff
jne 0x424266
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.00421355
lea eax, [ebp - 0x3c]
push eax
call fcn.00452880
add esp, 0xc
mov dword [ebp - 4], 0x11
or dword [ebp - 0x14], 4
mov edi, eax
call fcn.00424444
mov ecx, esi
mov esi, eax
call fcn.00424411
cmp eax, 0xffffffff
jne 0x424266
mov bl, 1
jmp 0x424268
xor bl, bl
test byte [ebp - 0x14], 4
je 0x42427d
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 0x424299
mov ecx, dword [ebp - 0x40]
and dword [ebp - 0x14], 0xfffffffd
add ecx, 0xfffffff0
call fcn.0042001a
test bl, bl
je 0x42438a
mov ebx, dword [ebp + 0xc]
mov esi, 0x4a94b0
push esi
mov ecx, ebx
call fcn.00422668
test eax, eax
je 0x4242c1
push 0x4a9614
mov ecx, ebx
call fcn.00423aeb
push ecx
mov ecx, esp
mov dword [ebp - 0x50], esp
push esi
call fcn.004211c4
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.00421355
push esi
call fcn.00452880
lea eax, [ebp - 0x28]
add esp, 0xc
push eax
mov byte [ebp - 4], 6
call fcn.004526c0
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.004228c0
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.00452370
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.004211c4
push ecx
mov byte [ebp - 4], 0x15
mov ecx, esp
mov dword [ebp - 0x4c], esp
push 0x4b1750
call fcn.004211c4
push 1
mov byte [ebp - 4], 0x14
call fcn.004565a0
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.00424607
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x10]
lea esi, [ebp - 0x60]
call fcn.0042da95
mov edi, esi
lea esi, [ebp - 0x58]
call fcn.00424632
test al, al
jne 0x423f55
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 5
call fcn.00424510
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.0048a3a1
ret