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

Disassembly:
mov eax, 0x4f35f6
call fcn.004eadec
sub esp, 0x244
mov eax, dword [0x516ad4]
or dword [ebp - 0x23c], 0xffffffff
push esi
mov dword [ebp - 0x10], eax
mov ax, word [0x5213f4]
mov esi, ecx
push edi
mov word [ebp - 0x248], ax
lea ecx, [ebp - 0x22c]
push ecx
xor eax, eax
inc eax
lea ecx, [ebp - 0x248]
xor edi, edi
push ecx
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x22c], eax
mov eax, dword [esi]
push esi
mov dword [ebp - 0x244], edi
mov dword [ebp - 0x228], edi
mov dword [ebp - 0x224], edi
call dword [eax + 0xc]
test eax, eax
jl 0x46ec3a
push dword [ebp - 0x228]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp dword [esi], eax
je 0x46ec24
mov eax, 0x80004005
jmp 0x46ef60
mov esi, dword [ebp + 8]
push dword [ebp + 0xc]
add esi, 0xf4
call fcn.00464e2f
jmp 0x46ef4b
mov eax, dword [esi]
lea ecx, [ebp - 0x22c]
push ecx
lea ecx, [ebp - 0x248]
push ecx
push esi
mov word [ebp - 0x248], 0xf
call dword [eax + 0xc]
cmp eax, edi
jl 0x46ef0b
mov eax, dword [ebp - 0x228]
push edi
push edi
push 0xffffffffffffffff
push eax
mov dword [ebp - 0x250], eax
call dword [sym.imp.SHELL32.dll_DragQueryFileW]
cmp eax, edi
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x220], edi
jle 0x46ef57
push ebx
jmp 0x46ec8f
xor edi, edi
mov eax, dword [0x51a438]
mov dword [ebp + 8], eax
mov dword [ebp - 4], edi
mov edi, 0x104
push edi
mov eax, edi
lea ecx, [ebp + 8]
call fcn.00403308
push eax
push dword [ebp - 0x220]
push dword [ebp - 0x250]
call dword [sym.imp.SHELL32.dll_DragQueryFileW]
or eax, 0xffffffff
lea ecx, [ebp + 8]
call fcn.00403334
mov ebx, dword [ebp + 8]
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x46ed7e
test al, 0x10
jne 0x46edd5
push 0x2e
push ebx
call dword [sym.imp.MSVCRT.dll_wcsrchr]
mov esi, eax
test esi, esi
pop ecx
pop ecx
je 0x46ef03
push 0x4fdcdc
push esi
call dword [sym.imp.MSVCRT.dll__wcsicmp]
test eax, eax
pop ecx
pop ecx
jne 0x46ee4c
and dword [ebp - 0x21c], eax
push ebx
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 1
call fcn.0045e575
test eax, eax
je 0x46ee38
push 2
push edi
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x21c]
push eax
xor ecx, ecx
call fcn.0045e5cc
test eax, eax
je 0x46ee38
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp + 8]
call fcn.00403266
mov ebx, dword [ebp + 8]
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x46edbd
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x46ed7e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
mov ecx, dword [ebp + 0xc]
push eax
push ebx
call fcn.00460335
or dword [ebp - 4], 0xffffffff
lea eax, [ebx - 0xc]
cmp eax, dword [0x51a43c]
je 0x46ed9f
push eax
call fcn.004013aa
inc dword [ebp - 0x220]
mov eax, dword [ebp - 0x220]
cmp eax, dword [ebp - 0x24c]
jl 0x46ec8d
pop ebx
jmp 0x46ef57
test al, 0x10
je 0x46ee2b
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x46edd5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [0x521d34]
mov edi, dword [ebp + 0xc]
push ebx
mov ecx, edi
call fcn.00460681
push 0x5c
lea esi, [ebp + 8]
call fcn.004032d3
mov ecx, eax
lea eax, [ebp - 0x230]
inc ecx
push eax
mov edx, esi
call fcn.004032b5
push dword [eax]
lea eax, [edi + 0x10]
call fcn.00403266
mov eax, dword [ebp - 0x230]
add eax, 0xfffffff4
cmp eax, dword [0x51a43c]
je 0x46ed8a
push eax
call fcn.004013aa
jmp 0x46ed8a
push 0x2e
push ebx
call dword [sym.imp.MSVCRT.dll_wcsrchr]
pop ecx
pop ecx
mov esi, eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x46ee4c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
test esi, esi
je 0x46ef03
push esi
lea edi, [ebp - 0x234]
call fcn.004031b3
mov esi, dword [ebp - 0x234]
mov edi, dword [sym.imp.MSVCRT.dll__wcsicmp]
push 0x4f9864
push esi
call edi
test eax, eax
pop ecx
pop ecx
jne 0x46ee8f
lea eax, [esi - 0xc]
cmp eax, dword [0x51a43c]
je 0x46ee8b
push eax
call fcn.004013aa
push 3
jmp 0x46eebe
push 0x4fd158
push esi
call edi
test eax, eax
pop ecx
pop ecx
je 0x46eeab
push str..rar
push esi
call edi
test eax, eax
pop ecx
pop ecx
jne 0x46eec4
lea eax, [esi - 0xc]
cmp eax, dword [0x51a43c]
je 0x46eebc
push eax
call fcn.004013aa
push 4
pop eax
jmp 0x46ed80
push esi
mov eax, 0x5224b0
call fcn.004b9576
test eax, eax
lea eax, [esi - 0xc]
je 0x46eef5
cmp eax, dword [0x51a43c]
je 0x46eee4
push eax
call fcn.004013aa
mov edi, dword [ebp + 0x10]
lea eax, [ebp + 8]
push eax
call fcn.0040f4ba
jmp 0x46ed8a
cmp eax, dword [0x51a43c]
je 0x46ef03
push eax
call fcn.004013aa
xor eax, eax
inc eax
jmp 0x46ed80
push str.UniformResourceLocatorW
call dword [sym.imp.USER32.dll_RegisterClipboardFormatW]
lea ecx, [ebp - 0x22c]
push ecx
lea ecx, [ebp - 0x248]
push ecx
mov word [ebp - 0x248], ax
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
test eax, eax
jl 0x46ef5b
push dword [ebp - 0x228]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, dword [ebp + 0xc]
push edi
push eax
call fcn.00460335
push dword [ebp - 0x228]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
xor eax, eax
jmp 0x46ef60
mov eax, 0x80004001
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop esi
call fcn.004eae3c
leave
ret 0xc