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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa10
mov eax, dword [0x633754]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
push edi
push 0x63c3c0
mov dword [ebp - 0xa10], 0
xor esi, esi
call ebx
test eax, eax
jne 0x41d0da
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
push eax
push 0x7d6
push dword [0x64018c]
call edi
test eax, eax
jne 0x41d091
lea esi, [eax + 1]
jmp 0x41d0da
cmp eax, 0x3ff
jge 0x41d0da
lea eax, [ebp - 0xa0c]
push eax
push 0x7ff
push 0x886
push dword [0x64018c]
call edi
push 0x5e1db0
lea eax, [ebp - 0xa0c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
lea eax, [ebp - 0xa0c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
mov eax, 1
cmove esi, eax
cmp dword [ebp + 8], 0
jne 0x41d103
cmp dword [0x63c354], 0
jne 0x41d0f6
mov eax, dword [0x63c350]
cmp eax, dword [0x63c34c]
je 0x41d0fa
test esi, esi
je 0x41d103
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x41d168
jmp 0x41d106
mov edi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], 0
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
je 0x41d17e
push 0x63c3c0
call ebx
test eax, eax
lea eax, [ebp - 0x414]
je 0x41d12d
push 0x63c3c0
push eax
call esi
jmp 0x41d144
push 0x104
push eax
push 0x2713
push dword [0x640194]
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x414]
push eax
push 0xc363
push 4
call fcn.004027f0
add esp, 0xc
sub eax, 2
je 0x41d590
sub eax, 5
jne 0x41d17e
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052a352
mov esp, ebp
pop ebp
ret
test edi, edi
mov edi, dword [ebp + 0x14]
jne 0x41d241
test edi, edi
jne 0x41d241
push 0x63c3c0
call ebx
test eax, eax
je 0x41d2b5
push 0x63c3c0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, eax
cmp ecx, 0xffffffff
je 0x41d1bd
and ecx, 1
mov dword [0x63789c], ecx
jmp 0x41d1c3
mov ecx, dword [0x63789c]
test ecx, ecx
je 0x41d2b5
cmp dword [0x63c354], 0
jne 0x41d1e5
mov eax, dword [0x63c350]
cmp eax, dword [0x63c34c]
jne 0x41d1e5
xor eax, eax
jmp 0x41d1ea
mov eax, 1
push 0x6378a8
push ecx
push 0x2715
push eax
push dword [0x63c834]
push 0x63c3c0
push 0x2713
push dword [0x6391e8]
push dword [0x5df778]
push dword [0x640174]
call fcn.00414670
push 0x63c3c0
push 0xc370
push 3
call fcn.004027f0
add esp, 0x34
cmp eax, 6
jne 0x41d590
mov dword [ebp + 0x10], 1
mov ax, word [0x639538]
push 0x206
mov word [ebp - 0x414], ax
lea eax, [ebp - 0x412]
push 0
push eax
call fcn.00546400
add esp, 0xc
test edi, edi
je 0x41d343
push 0x637678
call ebx
test eax, eax
je 0x41d343
push 0x637678
lea eax, [ebp - 0x414]
push eax
call esi
push 0x637678
lea eax, [ebp - 0x20c]
push eax
call esi
push 0x63c3c0
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
jmp 0x41d351
push 0x63c3c0
call ebx
test eax, eax
je 0x41d241
push 0
lea eax, [ebp - 0xa10]
push eax
push 0
push 0
push 0x63c348
push 0x63c350
push 0
push 0x63c3c0
push 0
call fcn.0041c760
mov edi, eax
add esp, 0x24
mov eax, dword [ebp + 0x10]
mov dword [ebp + 0x10], eax
test edi, edi
jne 0x41d427
cmp dword [ebp - 0xa10], 0
jne 0x41d57d
push 0x63c3c0
call ebx
test eax, eax
je 0x41d31e
push 0x63c3c0
lea eax, [ebp - 0x20c]
push eax
call esi
cmp dword [0x63c354], 0
jne 0x41d52a
mov eax, dword [0x63c350]
cmp eax, dword [0x63c34c]
jne 0x41d52a
xor eax, eax
jmp 0x41d52f
push 0x63c3c0
lea eax, [ebp - 0x20c]
push eax
call esi
lea eax, [ebp - 0x414]
push eax
push 0x104
lea eax, [ebp - 0x20c]
push eax
push dword [0x640174]
call fcn.0041d7c0
add esp, 0x10
test eax, eax
je 0x41d590
push edi
lea eax, [ebp - 0xa10]
push eax
push 0
push 0
push 0x63c348
push 0x63c350
push 0
lea eax, [ebp - 0x20c]
push eax
push 0
call fcn.0041c760
mov edi, eax
add esp, 0x24
test edi, edi
je 0x41d2f8
cmp dword [ebp + 0x14], 0
lea eax, [ebp - 0x20c]
push eax
jne 0x41d505
push 0x63c3c0
call esi
push 0x63c3c0
push 0xfb05
push dword [0x640174]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push 0xfb06
push dword [0x640174]
call dword [sym.imp.USER32.dll_SetDlgItemInt]
cmp dword [0x6378a4], 0
jne 0x41d40a
push 0x63953c
push 0x6378a8
call esi
push 0x63c3c0
push dword [0x64018c]
call fcn.004297b0
add esp, 8
call fcn.0041c190
call fcn.0041c6a0
push dword [0x639450]
mov eax, dword [0x63c350]
push dword [0x63944c]
mov dword [0x63c354], 0
push 0x63c3c0
push dword [0x63c624]
mov dword [0x63c34c], eax
call fcn.00416840
add esp, 0x10
cmp dword [0x639498], 2
jne 0x41d470
push 0x63c3c0
push 3
call dword [sym.imp.SHELL32.dll_SHAddToRecentDocs]
cmp dword [0x63c354], 0
jne 0x41d48a
mov eax, dword [0x63c350]
cmp eax, dword [0x63c34c]
jne 0x41d48a
xor eax, eax
jmp 0x41d48f
mov eax, 1
push 0x6378a8
push dword [0x63789c]
push 0x2715
push eax
push dword [0x63c834]
push 0x63c3c0
push 0x2713
push dword [0x6391e8]
push dword [0x5df778]
push dword [0x640174]
call fcn.00414670
add esp, 0x28
cmp dword [ebp + 0x10], 0
je 0x41d4e5
mov eax, dword [0x63c75c]
xor ecx, ecx
cmp dword [0x63c758], ecx
cmovne eax, ecx
mov dword [0x63c75c], eax
push 0x63c3c0
call fcn.004192b0
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052a352
mov esp, ebp
pop ebp
ret
push 0x637678
call esi
push 0x637678
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052a352
mov esp, ebp
pop ebp
ret
mov eax, 1
push 0x6378a8
push dword [0x63789c]
push 0x2715
push eax
push dword [0x63c834]
push 0x63c3c0
push 0x2713
push dword [0x6391e8]
push dword [0x5df778]
push dword [0x640174]
call fcn.00414670
lea eax, [ebp - 0x20c]
push eax
push 0xc351
push 1
call fcn.004027f0
add esp, 0x34
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052a352
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0052a352
mov esp, ebp
pop ebp
ret