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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x59c
mov eax, dword [0x4c07e0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
xorps xmm0, xmm0
push ebx
mov ebx, dword [ebp + 0x18]
push esi
push edi
mov edi, dword [ebp + 0xc]
xor esi, esi
mov dword [ebp - 0x55c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x558], edi
mov dword [ebp - 0x564], eax
movups xmmword [ebp - 0x574], xmm0
call dword [sym.imp.USER32.dll_GetMessagePos]
mov ecx, eax
movsx eax, cx
mov dword [ebp - 0x574], eax
shr ecx, 0x10
movsx eax, cx
push 1
mov dword [ebp - 0x570], eax
lea eax, [ebp - 0x574]
push eax
push edi
push esi
call dword [sym.imp.USER32.dll_MapWindowPoints]
test ebx, ebx
jne 0x419bd0
lea eax, [ebp - 0x574]
push eax
push esi
push 0x1111
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
mov esi, eax
test esi, esi
je 0x419e3b
push 0x400
lea eax, [ebp - 0x544]
push 0
push eax
call fcn.00466b60
add esp, 0xc
lea eax, [ebp - 0x544]
push 0x400
push eax
push 0xffffffffffffffff
push dword [ebp - 0x55c]
call dword [sym.imp.SHELL32.dll_DragQueryFileA]
push 0x3f
mov dword [ebp - 0x560], eax
lea eax, [ebp - 0x43]
push 0
push eax
call fcn.00466b60
add esp, 0xc
mov dword [ebp - 0x598], esi
mov esi, dword [ebp - 0x558]
lea edi, [ebp - 0x44]
mov dword [ebp - 0x59c], 0x15
mov byte [ebp - 0x44], 0
mov dword [ebp - 0x58c], edi
mov dword [ebp - 0x588], 0x40
test ebx, ebx
jne 0x419c6b
lea eax, [ebp - 0x59c]
push eax
push ebx
push 0x110c
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
mov edi, dword [ebp - 0x58c]
cmp byte [edi], bl
je 0x419e2f
test ebx, ebx
mov eax, dword [ebp - 0x564]
cmovne edi, ebx
mov byte [ebp - 0x554], 0
xorps xmm0, xmm0
movq qword [ebp - 0x553], xmm0
mov dword [ebp - 0x54b], 0
mov word [ebp - 0x547], 0
mov byte [ebp - 0x545], 0
test eax, eax
jne 0x419cb6
lea eax, [ebp - 0x554]
push eax
push edi
call fcn.00418ab0
add esp, 8
jmp 0x419cc0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x554], xmm0
push 0x100
lea eax, [ebp - 0x144]
push 0
push eax
call fcn.00466b60
add esp, 0xc
cmp byte [edi], 0
je 0x419e2f
xor ebx, ebx
cmp dword [ebp - 0x560], ebx
jle 0x419e2f
nop dword [eax]
push 0x400
lea eax, [ebp - 0x544]
push eax
push ebx
push dword [ebp - 0x55c]
call dword [sym.imp.SHELL32.dll_DragQueryFileA]
lea eax, [ebp - 0x544]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x419e1c
test al, 0x10
je 0x419db6
lea esi, [ebp - 0x544]
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x419d30
sub esi, ecx
js 0x419d4f
nop dword [eax + eax]
cmp byte [ebp + esi - 0x544], 0x5c
je 0x419d4f
sub esi, 1
jns 0x419d40
push 0x100
lea eax, [ebp - 0x144]
push 0
push eax
call fcn.00466b60
push edi
lea eax, [ebp - 0x544]
push eax
lea eax, [ebp - 0x144]
push str.Send:__n_t_s__nTo:__n_t_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
lea eax, [ebp - 0x144]
push 4
push str.Are_you_sure_you_want_to_do_this_
push eax
push dword [ebp - 0x558]
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
jne 0x419e1c
inc esi
lea eax, [ebp - 0x554]
push esi
push edi
push eax
lea eax, [ebp - 0x544]
push eax
call fcn.0041a180
jmp 0x419e19
push 0x100
lea eax, [ebp - 0x144]
push 0
push eax
call fcn.00466b60
push edi
lea eax, [ebp - 0x544]
push eax
lea eax, [ebp - 0x144]
push str.Send:__n_t_s__nTo:__n_t_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
lea eax, [ebp - 0x144]
push 4
push str.Are_you_sure_you_want_to_do_this_
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
jne 0x419e1c
push 0x490cb9
push edi
lea eax, [ebp - 0x554]
push eax
lea eax, [ebp - 0x544]
push eax
call fcn.00458f70
add esp, 0x10
mov esi, dword [ebp - 0x558]
inc ebx
cmp ebx, dword [ebp - 0x560]
jl 0x419cf0
push dword [ebp - 0x55c]
call dword [sym.imp.SHELL32.dll_DragFinish]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00464e2f
mov esp, ebp
pop ebp
ret