Function at 0x410eb0
Capabilities:
Get common file path
Get file attributes
Query environment variable
Set file attributes

Disassembly:
sub esp, 0xef4
mov eax, dword [0x493008]
xor eax, esp
mov dword [esp + 0xeec], eax
mov eax, dword [0x55e7a4]
or edx, 0xffffffff
push ebx
push ebp
push esi
mov dword [esp + 0x444], eax
mov ebx, ecx
mov ecx, dword [0x561c6c]
lea eax, [esp + 0x44c]
push edi
push eax
mov dword [esp + 0x454], 1
call fcn.00413ce0
add esp, 4
cmp eax, 0xffffffff
je 0x41121c
lea ecx, [esp + 0x454]
call fcn.004164f0
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcpyW]
push eax
lea eax, [esp + 0x3c]
push eax
call ebp
mov esi, dword [0x560844]
mov ecx, 0x69
call fcn.00417a20
mov edi, eax
lea eax, [esp + 0x38]
push eax
push 0x410610
push ebx
push edi
push esi
call dword [sym.imp.USER32.dll_DialogBoxIndirectParamW]
mov esi, eax
test edi, edi
je 0x410f4f
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp esi, 1
jne 0x41121c
mov eax, dword [esp + 0x448]
lea ecx, [esp + 0xce8]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x868]
mov dword [esp + 0x24], ecx
xorps xmm0, xmm0
movlpd qword [esp + 0x2a], xmm0
mov ecx, 0x2040
mov dword [esp + 0x32], 0
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], eax
mov word [esp + 0x28], cx
cmp eax, 2
jne 0x410fb0
cmp dword [0x5633ec], 0
je 0x410fb0
mov eax, 0x2048
mov word [esp + 0x28], ax
cmp word [esp + 0x240], 0
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpynW]
je 0x4110cc
push 0x268
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
lea ebx, [edi + 0x200]
mov dword [esp + 0x14], ebx
test edi, edi
je 0x411011
push 0x268
push 0
push edi
call fcn.00425950
add esp, 0xc
push 0x100
push str.Copy_Move_MRU
push edi
call esi
mov dword [ebx], 1
mov dword [edi + 0x204], 8
jmp 0x411015
mov dword [esp + 0x14], ebx
mov ecx, edi
call fcn.00417010
xor esi, esi
cmp dword [edi + 0x204], esi
jle 0x411071
lea ebx, [edi + 0x208]
nop dword [eax]
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx]
test byte [ecx], 1
lea ecx, [esp + 0x240]
push ecx
push eax
je 0x41104c
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jmp 0x411052
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x411064
inc esi
add ebx, 4
cmp esi, dword [edi + 0x204]
jl 0x411030
jmp 0x411071
push dword [edi + esi*4 + 0x208]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edx, dword [edi + 0x204]
dec edx
cmp esi, edx
cmovl edx, esi
test edx, edx
jle 0x41109e
lea esi, [edx + 0x82]
lea esi, [edi + esi*4]
nop word [eax + eax]
mov eax, dword [esi - 4]
lea esi, [esi - 4]
dec edx
mov dword [esi + 4], eax
test edx, edx
jg 0x411090
lea eax, [esp + 0x240]
push eax
call dword [sym.imp.SHLWAPI.dll_StrDupW]
mov ecx, edi
mov dword [edi + 0x208], eax
call fcn.004171b0
mov ecx, edi
call fcn.00416dc0
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x138
lea eax, [esp + 0xa7c]
push eax
lea eax, [esp + 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
test eax, eax
je 0x411102
push 0x104
lea eax, [esp + 0xa7c]
push eax
lea eax, [esp + 0x248]
push eax
call esi
push 0x210
lea eax, [esp + 0xcec]
push 0
push eax
call fcn.00425950
add esp, 0xc
lea eax, [esp + 0x868]
push 0x210
push 0
push eax
call fcn.00425950
add esp, 0xc
lea eax, [esp + 0x454]
push eax
lea eax, [esp + 0xcec]
push eax
call ebp
lea eax, [esp + 0x240]
push eax
lea eax, [esp + 0x86c]
push eax
call ebp
lea eax, [esp + 0x868]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
je 0x4111a3
lea eax, [esp + 0xa78]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea eax, [esp + 0x868]
push eax
lea eax, [esp + 0xa7c]
push eax
call esi
lea eax, [esp + 0xa78]
push eax
lea eax, [esp + 0x86c]
push eax
call ebp
lea eax, [esp + 0x868]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x4111ce
lea eax, [esp + 0x454]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea eax, [esp + 0x86c]
push eax
call esi
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
test eax, eax
jne 0x411209
cmp dword [0x5633e8], eax
je 0x411209
lea eax, [esp + 0x868]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 1
je 0x411209
and eax, 0xfffffffe
push eax
lea eax, [esp + 0x86c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov eax, dword [esp + 0x448]
mov dword [0x55e7a4], eax
mov eax, 1
jmp 0x41121e
xor eax, eax
mov ecx, dword [esp + 0xefc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00422d0c
add esp, 0xef4
ret