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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc24
mov eax, dword [0x53a090]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
push edi
push 0x56e260
mov dword [ebp - 0xc24], edx
mov dword [ebp - 0xc1c], ecx
mov dword [ebp - 0xc20], 0
xor esi, esi
call ebx
test eax, eax
jne 0x466e40
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
push eax
push 0x7d6
push dword [0x56e17c]
call edi
test eax, eax
je 0x466e3b
cmp eax, 0x3ff
jge 0x466e40
lea eax, [ebp - 0xc18]
push eax
push 0x7ff
push 0x886
push dword [0x56e17c]
call edi
push 0x40b660
lea eax, [ebp - 0xc18]
push eax
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
lea eax, [ebp - 0xc18]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x466e40
mov esi, 1
cmp dword [ebp - 0xc1c], 0
jne 0x466e80
cmp dword [0x56d210], 0
jne 0x466e5f
mov eax, dword [0x56d450]
cmp eax, dword [0x56d448]
je 0x466e63
test esi, esi
je 0x466e80
mov edi, dword [ebp + 8]
test edi, edi
jne 0x466e83
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050ecf7
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
cmp dword [ebp - 0xc24], 0
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
je 0x466ee8
push 0x56e260
call ebx
test eax, eax
lea eax, [ebp - 0x418]
je 0x466ead
push 0x56e260
push eax
call esi
jmp 0x466ec4
push 0x104
push eax
push 0x2713
push dword [0x56e6cc]
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x418]
push eax
push 0xc363
push 4
call fcn.004422f0
add esp, 0xc
sub eax, 2
je 0x467266
sub eax, 5
je 0x466e6a
test edi, edi
mov edi, dword [ebp + 0xc]
jne 0x466f92
test edi, edi
jne 0x466f92
push 0x56e260
call ebx
test eax, eax
je 0x466ff6
push 0x56e260
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x466f24
and eax, 1
mov dword [0x567b48], eax
jmp 0x466f29
mov eax, dword [0x567b48]
test eax, eax
je 0x466ff6
cmp dword [0x56d210], 0
jne 0x466f4b
mov eax, dword [0x56d450]
cmp eax, dword [0x56d448]
jne 0x466f4b
xor eax, eax
jmp 0x466f50
mov eax, 1
mov edx, dword [0x53d35c]
sub esp, 0xc
push eax
push ecx
mov ecx, dword [0x56e928]
push 0x56e260
sub esp, 8
call fcn.00454d10
push 0x56e260
push 0xc370
push 3
call fcn.004422f0
add esp, 0x2c
cmp eax, 6
jne 0x467266
mov dword [ebp + 8], 1
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x418], ax
lea eax, [ebp - 0x416]
push eax
call fcn.00518020
add esp, 0xc
test edi, edi
je 0x46702b
push 0x5674c8
call ebx
test eax, eax
je 0x46702b
push 0x5674c8
lea eax, [ebp - 0x418]
push eax
call esi
push 0x5674c8
lea eax, [ebp - 0x210]
push eax
call esi
push 0x56e260
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
jmp 0x467039
push 0x56e260
call ebx
test eax, eax
je 0x466f92
push 0
lea eax, [ebp - 0xc20]
push eax
push 0
push 0
sub esp, 0xc
mov edx, 0x56e260
xor ecx, ecx
call fcn.00466490
add esp, 0x1c
mov dword [ebp - 0xc1c], eax
jmp 0x46710d
push 0x56e260
lea eax, [ebp - 0x210]
push eax
call esi
lea eax, [ebp - 0x418]
push eax
push ecx
lea edx, [ebp - 0x210]
call fcn.00467480
add esp, 8
test eax, eax
je 0x467266
push edi
lea eax, [ebp - 0xc20]
push eax
push 0
push 0
sub esp, 0xc
lea edx, [ebp - 0x210]
xor ecx, ecx
call fcn.00466490
add esp, 0x1c
mov dword [ebp - 0xc1c], eax
test eax, eax
je 0x4671da
lea eax, [ebp - 0x210]
push eax
test edi, edi
jne 0x4670f5
push 0x56e260
call esi
push 0x56e260
push 0xfb05
push dword [0x56e928]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push 0xfb06
push dword [0x56e928]
call dword [sym.imp.USER32.dll_SetDlgItemInt]
cmp dword [0x567280], edi
jne 0x4670d9
push 0x407d38
push 0x565f48
call esi
mov ecx, dword [0x56e17c]
mov edx, 0x56e260
call fcn.0046be30
call fcn.00465fd0
call fcn.004663d0
jmp 0x467107
push 0x5674c8
call esi
push 0x5674c8
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov eax, dword [ebp - 0xc1c]
test eax, eax
je 0x4671da
test edi, edi
jne 0x46724f
push dword [0x5674b4]
mov eax, dword [0x56d450]
push dword [0x567288]
mov ecx, dword [0x56e918]
mov edx, 0x56e260
mov dword [0x56d210], edi
mov dword [0x56d448], eax
call fcn.00456c90
add esp, 8
cmp dword [0x565f3c], 2
jne 0x467162
push 0x56e260
push 3
call dword [sym.imp.SHELL32.dll_SHAddToRecentDocs]
cmp dword [0x56d210], 0
jne 0x46717c
mov eax, dword [0x56d450]
cmp eax, dword [0x56d448]
jne 0x46717c
xor eax, eax
jmp 0x467181
mov eax, 1
mov edx, dword [0x53d35c]
sub esp, 0xc
push eax
push ecx
mov ecx, dword [0x56e928]
push 0x56e260
sub esp, 8
call fcn.00454d10
add esp, 0x20
cmp dword [ebp + 8], 0
je 0x4671b9
mov eax, dword [0x56e914]
neg eax
sbb eax, eax
not eax
and dword [0x56e240], eax
mov ecx, 0x56e260
call fcn.00468470
mov eax, dword [ebp - 0xc1c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050ecf7
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0xc20], 0
jne 0x46724f
push 0x56e260
call ebx
test eax, eax
je 0x4671fc
push 0x56e260
lea eax, [ebp - 0x210]
push eax
call esi
cmp dword [0x56d210], 0
jne 0x467216
mov eax, dword [0x56d450]
cmp eax, dword [0x56d448]
jne 0x467216
xor eax, eax
jmp 0x46721b
mov eax, 1
mov edx, dword [0x53d35c]
sub esp, 0xc
push eax
push ecx
mov ecx, dword [0x56e928]
push 0x56e260
sub esp, 8
call fcn.00454d10
lea eax, [ebp - 0x210]
push eax
push 0xc351
push 1
call fcn.004422f0
add esp, 0x2c
mov eax, dword [ebp - 0xc1c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050ecf7
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.0050ecf7
mov esp, ebp
pop ebp
ret