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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa1c
mov eax, dword [0x4f8004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
push edi
xor esi, esi
mov dword [ebp - 0xa18], edx
push 0x52a900
mov dword [ebp - 0xa1c], ecx
mov edi, esi
mov dword [ebp - 0xa14], esi
call ebx
test eax, eax
jne 0x41d778
push esi
push esi
push 0x7d6
push dword [0x52a68c]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jne 0x41d72d
lea edi, [eax + 1]
jmp 0x41d778
cmp eax, 0x3ff
jge 0x41d778
lea eax, [ebp - 0xa10]
push eax
push 0x7ff
push 0x886
push dword [0x52a68c]
call dword [sym.imp.USER32.dll_SendMessageW]
push str.__t_n_r
lea eax, [ebp - 0xa10]
push eax
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
lea eax, [ebp - 0xa10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
push 1
pop eax
cmove edi, eax
cmp dword [ebp - 0xa1c], esi
jne 0x41d79e
cmp dword [0x5278b4], esi
jne 0x41d795
mov eax, dword [0x5278e4]
cmp eax, dword [0x52a138]
je 0x41d799
test edi, edi
je 0x41d79e
cmp dword [ebp + 8], esi
je 0x41d803
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp dword [ebp - 0xa18], esi
je 0x41d80b
push 0x52a900
call ebx
test eax, eax
lea eax, [ebp - 0x418]
je 0x41d7c7
push 0x52a900
push eax
call edi
jmp 0x41d7de
push 0x104
push eax
push 0x2713
push dword [0x52a6a0]
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x418]
push eax
push 0xc363
push 4
call fcn.00401b50
add esp, 0xc
dec eax
sub eax, 1
je 0x41db34
sub eax, 5
jne 0x41d80b
xor eax, eax
inc eax
jmp 0x41db36
cmp dword [ebp + 8], esi
jne 0x41d8ae
cmp dword [ebp + 0xc], esi
jne 0x41d8ae
push 0x52a900
call ebx
test eax, eax
je 0x41d90b
push 0x52a900
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor ecx, ecx
inc ecx
cmp eax, 0xffffffff
je 0x41d848
and eax, ecx
mov dword [0x524fc8], eax
jmp 0x41d84d
mov eax, dword [0x524fc8]
test eax, eax
je 0x41d90b
cmp dword [0x5278b4], esi
jne 0x41d86c
mov eax, dword [0x5278e4]
cmp eax, dword [0x52a138]
mov eax, esi
je 0x41d86e
mov eax, ecx
mov edx, dword [0x4fa128]
sub esp, 0xc
push eax
push ecx
push 0x52a900
push ecx
push ecx
mov ecx, dword [0x52ab74]
call fcn.0040fa46
push 0x52a900
push 0xc370
push 3
call fcn.00401b50
add esp, 0x2c
cmp eax, 6
jne 0x41db34
xor eax, eax
inc eax
mov dword [ebp + 8], eax
push 0x208
lea eax, [ebp - 0x418]
push esi
push eax
call fcn.00489f20
add esp, 0xc
cmp dword [ebp + 0xc], esi
je 0x41d94c
push 0x522fc0
call ebx
test eax, eax
je 0x41d94c
mov ebx, 0x522fc0
lea eax, [ebp - 0x418]
push ebx
push eax
call edi
push ebx
lea eax, [ebp - 0x210]
push eax
call edi
push 0x52a900
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
jmp 0x41d95a
push 0x52a900
call ebx
test eax, eax
je 0x41d8ae
push esi
lea eax, [ebp - 0xa14]
mov edx, 0x52a900
push eax
push esi
push esi
sub esp, 0xc
xor ecx, ecx
call fcn.0041cf86
mov ebx, eax
add esp, 0x1c
mov eax, dword [ebp + 8]
mov dword [ebp + 8], eax
test ebx, ebx
je 0x41dabc
mov edi, 0x52a900
jmp 0x41da11
push 0x52a900
lea eax, [ebp - 0x210]
push eax
call edi
lea eax, [ebp - 0x418]
push eax
push ecx
lea edx, [ebp - 0x210]
call fcn.0041dd18
pop ecx
pop ecx
test eax, eax
je 0x41db34
push dword [ebp + 0xc]
lea eax, [ebp - 0xa14]
xor ecx, ecx
push eax
push esi
push esi
sub esp, 0xc
lea edx, [ebp - 0x210]
call fcn.0041cf86
mov ebx, eax
add esp, 0x1c
test ebx, ebx
je 0x41dabc
lea eax, [ebp - 0x210]
push eax
cmp dword [ebp + 0xc], esi
jne 0x41daab
push 0x52a900
call edi
push 0x52a900
push 0xfb05
push dword [0x52ab74]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push 0xfb06
push dword [0x52ab74]
call dword [sym.imp.USER32.dll_SetDlgItemInt]
cmp dword [0x523d9c], esi
jne 0x41d9fa
push 0x4bc498
push 0x523a68
call edi
mov ecx, dword [0x52a68c]
mov edi, 0x52a900
mov edx, edi
call fcn.00421822
call fcn.0041cc77
push dword [0x522fbc]
mov eax, dword [0x5278e4]
mov edx, edi
push dword [0x5233c8]
mov ecx, dword [0x52a698]
mov dword [0x5278b4], esi
mov dword [0x52a138], eax
call fcn.004114ff
cmp dword [0x5235e0], 2
pop ecx
pop ecx
jne 0x41da4e
push edi
push 3
call dword [sym.imp.SHELL32.dll_SHAddToRecentDocs]
cmp dword [0x5278b4], esi
jne 0x41da63
mov eax, dword [0x5278e4]
cmp eax, dword [0x52a138]
je 0x41da68
xor eax, eax
lea esi, [eax + 1]
mov edx, dword [0x4fa128]
sub esp, 0xc
push esi
push ecx
push edi
push ecx
push ecx
mov ecx, dword [0x52ab74]
call fcn.0040fa46
add esp, 0x20
cmp dword [ebp + 8], 0
je 0x41da9f
mov eax, dword [0x52a6b4]
xor edx, edx
cmp dword [0x52ada8], edx
cmovne eax, edx
mov dword [0x52a6b4], eax
mov ecx, edi
call fcn.0041ebb8
jmp 0x41db30
mov esi, 0x522fc0
push esi
call edi
push esi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
jmp 0x41db30
cmp dword [ebp - 0xa14], esi
jne 0x41db30
push 0x52a900
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x41dae1
push 0x52a900
lea eax, [ebp - 0x210]
push eax
call edi
cmp dword [0x5278b4], esi
jne 0x41daf6
mov eax, dword [0x5278e4]
cmp eax, dword [0x52a138]
je 0x41dafb
xor eax, eax
lea esi, [eax + 1]
mov edx, dword [0x4fa128]
sub esp, 0xc
push esi
push ecx
push 0x52a900
push ecx
push ecx
mov ecx, dword [0x52ab74]
call fcn.0040fa46
lea eax, [ebp - 0x210]
push eax
xor eax, eax
inc eax
push 0xc351
push eax
call fcn.00401b50
add esp, 0x2c
mov eax, ebx
jmp 0x41db36
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00486c63
leave
ret