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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x324
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov ecx, esi
mov edi, dword [esi]
call fcn.0041fa6a
xor ebx, ebx
xor ecx, ecx
cmp edi, ebx
jbe 0x41d6d9
cmp byte [ecx + eax], 0x3c
je 0x41d49e
inc ecx
cmp ecx, edi
jb 0x41d48e
jmp 0x41d6d9
mov ecx, 0x4826b0
call fcn.0041fa6a
push eax
lea ecx, [ebp - 0x18]
call fcn.0041eb20
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
dec eax
push eax
call fcn.0041f608
cmp al, 0x5c
jne 0x41d4d1
mov eax, dword [ebp - 0x18]
push 1
dec eax
lea ecx, [ebp - 0x18]
push eax
call fcn.0041f0d5
mov edi, 0x104
lea eax, [ebp - 0x324]
push edi
push ebx
push eax
call fcn.00427c50
push edi
lea eax, [ebp - 0x11c]
push ebx
push eax
call fcn.00427c50
add esp, 0x18
lea eax, [ebp - 0x324]
lea ecx, [ebp - 0x18]
push edi
push eax
call fcn.0041fa6a
push eax
call dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
push 1
push ebx
push str._ShortcutDir_
mov ecx, esi
call fcn.0041f3fc
cmp eax, 0xffffffff
jne 0x41d538
push 1
push ebx
push str._ShortShortcutDir_
mov ecx, esi
call fcn.0041f3fc
cmp eax, 0xffffffff
je 0x41d5e6
mov ecx, 0x482c68
call fcn.00413629
push eax
lea ecx, [ebp - 0xc]
call fcn.0041eb20
mov eax, dword [ebp - 0xc]
lea ecx, [ebp - 0xc]
dec eax
push eax
call fcn.0041f608
cmp al, 0x5c
jne 0x41d56b
mov eax, dword [ebp - 0xc]
push 1
dec eax
lea ecx, [ebp - 0xc]
push eax
call fcn.0041f0d5
lea ecx, [ebp - 0xc]
call fcn.0041fa6a
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x41d598
lea eax, [ebp - 0x11c]
push edi
push eax
lea ecx, [ebp - 0xc]
call fcn.0041fa6a
push eax
call dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
jmp 0x41d5ae
lea ecx, [ebp - 0xc]
call fcn.0041fa6a
push eax
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 1
push ebx
lea eax, [ebp - 0x11c]
push ebx
push eax
push str._ShortShortcutDir_
mov ecx, esi
call fcn.0041f93a
push 1
push ebx
push ebx
lea ecx, [ebp - 0xc]
call fcn.0041fa6a
push eax
push str._ShortcutDir_
mov ecx, esi
call fcn.0041f93a
lea ecx, [ebp - 0xc]
call fcn.0041ebe6
push 1
mov ecx, 0x482530
pop edi
push edi
push ebx
push ebx
call fcn.0041fa6a
push eax
push str._UserName_
mov ecx, esi
call fcn.0041f93a
push edi
push ebx
push ebx
mov ecx, 0x48253c
call fcn.0041fa6a
push eax
push str._UserCompany_
mov ecx, esi
call fcn.0041f93a
push edi
push ebx
push ebx
mov ecx, 0x482548
call fcn.0041fa6a
push eax
push str._UserSerial_
mov ecx, esi
call fcn.0041f93a
push edi
push ebx
lea eax, [ebp - 0x324]
push ebx
push eax
push str._ShortInstallDir_
mov ecx, esi
call fcn.0041f93a
push edi
push ebx
push ebx
lea ecx, [ebp - 0x18]
call fcn.0041fa6a
push eax
push str._InstallDir_
mov ecx, esi
call fcn.0041f93a
push edi
push ebx
push str._UninstallerName_
mov ecx, esi
call fcn.0041f3fc
cmp eax, 0xffffffff
je 0x41d6b6
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x21f]
mov byte [ebp - 0x220], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x220]
mov ecx, 0x482b70
push eax
call fcn.0042619a
push 1
push ebx
lea eax, [ebp - 0x220]
push ebx
push eax
push str._UninstallerName_
mov ecx, esi
call fcn.0041f93a
push 1
push ebx
push ebx
mov ecx, 0x4829e0
call fcn.0041fa6a
push eax
push str._ResourceDir_
mov ecx, esi
call fcn.0041f93a
lea ecx, [ebp - 0x18]
call fcn.0041ebe6
pop edi
pop esi
pop ebx
leave
ret 4