Function at 0x10004600
Capabilities:
Copy file
Delete file
Get file attributes
Move file
Set file attributes

Disassembly:
mov eax, 0x1000
call fcn.10018670
push ebx
push ebp
mov ebp, dword [esp + 0x100c]
push esi
mov esi, dword [esp + 0x1014]
push edi
push esi
push ebp
push str.OnMoveFileExA:___s_____s_
push 0x10027760
call fcn.1000b440
push 0
push 0x100366ac
call fcn.10011400
add esp, 0x18
mov edi, eax
push 0x100366ac
push str.OnMoveFileExA:___s_
push 0x10027760
call fcn.1000b440
push esi
call fcn.10011210
mov ebx, 1
add esp, 0x10
cmp eax, ebx
jne 0x1000469b
push ebp
call fcn.1000bb70
add esp, 4
cmp eax, ebx
jne 0x1000468c
push ebp
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push ebp
push eax
push str.OnMoveFileExA:TempFileDelete__d___s_
push 0x10027760
call fcn.1000b440
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1000
ret 0xc
push esi
call fcn.10010e10
add esp, 4
cmp eax, ebx
jne 0x100046de
push esi
call fcn.1000ffd0
add esp, 4
test eax, eax
jne 0x100046c2
push esi
call fcn.100103c0
add esp, 4
test eax, eax
je 0x100046de
push ebp
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
pop edi
pop esi
mov dword [0x10034e9c], ebx
pop ebp
xor eax, eax
pop ebx
add esp, 0x1000
ret 0xc
cmp dword [0x10031448], ebx
jne 0x100046f5
push ebp
call fcn.100111e0
push esi
call fcn.100111e0
add esp, 8
push esi
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionA]
push str..asd
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x1000473f
mov eax, dword [esp + 0x101c]
push eax
push esi
push ebp
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
cmp edi, ebx
mov ebp, eax
jne 0x10004730
push esi
push 0x100366ac
call fcn.10008f80
add esp, 8
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x1000
ret 0xc
push ebp
call fcn.10010e80
add esp, 4
cmp eax, ebx
jne 0x100048e2
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0x100366ac
call edi
test eax, eax
jle 0x1000488f
push 0x100366ac
call fcn.1000caa0
add esp, 4
cmp eax, ebx
jne 0x1000488f
push esi
call fcn.100110d0
add esp, 4
cmp eax, ebx
jne 0x100047e4
push str.TemplatesNormal.dot
push esi
call fcn.10011350
add esp, 8
test eax, eax
jne 0x100047e4
push ebp
mov dword [0x10034e90], ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov esi, dword [sym.imp.dsLang.dll_char____cdecl_GetDSString_char__]
push 5
push 0x40
push str.STR_BOXCAPTION_TITLE
call esi
add esp, 4
push eax
push str.STR_NO_SUPPORT_EXT
call esi
add esp, 4
push eax
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
call sub.SCMsgBox.dll_SCMessageBoxModaless
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1000
ret 0xc
push esi
call fcn.10010e10
add esp, 4
cmp eax, ebx
jne 0x100048e2
push ebp
push 0x100366ac
call fcn.10008f80
mov ecx, dword [esp + 0x1024]
add esp, 8
push ecx
push esi
push ebp
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
mov edi, eax
push esi
push ebp
push edi
push str.OnMoveFileExA::Result__d___s_____s_
push 0x10027760
call fcn.1000b440
add esp, 0x14
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push eax
push str.OnMoveFileExA______________:__0x_
push 0x10027760
call fcn.1000b440
push esi
call fcn.10010ef0
add esp, 0x10
test eax, eax
je 0x10004880
push esi
call fcn.1000cc80
add esp, 4
test eax, eax
je 0x10004880
cmp dword [0x10031450], ebx
jne 0x1000486f
push esi
push esi
mov ecx, 0x100313c8
call fcn.1000c840
cmp dword [0x10031448], ebx
jne 0x10004880
push esi
call fcn.100111c0
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1000
ret 0xc
push 0x100366ac
call edi
test eax, eax
jle 0x100048d9
push 0x100366ac
call fcn.1000caa0
add esp, 4
cmp eax, 4
jne 0x100048d9
push str.OnMoveFileA___GLOBAL.m_szActiveFileName___DT_SWFS_SECURITY_T1
push 0x10027760
call fcn.1000b440
add esp, 8
push esi
push ebp
push 0x100366ac
push str.OnMoveFileA___DT_SWFS_SECURITY_T1_:_Active___s___Exist___s___New___s_
push 0x10027760
call fcn.1000b440
add esp, 0x14
jmp 0x100048e2
push ebx
call fcn.10010ff0
add esp, 4
push esi
call fcn.10010e10
add esp, 4
cmp eax, ebx
jne 0x10004a34
push esi
call fcn.1000caa0
add esp, 4
cmp eax, ebx
je 0x10004a90
push esi
call fcn.1000caa0
add esp, 4
cmp eax, 2
je 0x10004a90
push esi
call fcn.1000caa0
add esp, 4
cmp eax, 4
jne 0x100049b7
mov ecx, 0x3ff
xor eax, eax
lea edi, [esp + 0x11]
mov byte [esp + 0x10], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea edx, [esp + 0x10]
push 0x1000
push edx
push esi
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_GetLongPathNameA]
test eax, eax
jne 0x1000495e
lea eax, [esp + 0x10]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
call dword [sym.imp.DSIpcAg.dll_class_IDSIpcAg____cdecl_SCAPI_GetIDSIpcAgent_void_]
mov edx, dword [eax]
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x28]
push 0
push ecx
push 0x403
mov ecx, eax
call dword [edx]
test eax, eax
je 0x1000499d
push 5
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1000
ret 0xc
lea edx, [esp + 0x10]
push 4
push edx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
mov ecx, 0x100313c8
call fcn.1000cd10
jmp 0x10004a34
call dword [sym.imp.DSIpcAg.dll_class_IDSIpcAg____cdecl_SCAPI_GetIDSIpcAgent_void_]
mov ebx, eax
test ebx, ebx
je 0x10004a2f
mov ecx, 0x3ff
xor eax, eax
lea edi, [esp + 0x11]
mov byte [esp + 0x10], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x10]
push 0x1000
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetLongPathNameA]
test eax, eax
jne 0x100049f9
lea ecx, [esp + 0x10]
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [ebx]
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x28]
push 0
push eax
push 0x3e8
mov ecx, ebx
call dword [edx]
lea ecx, [esp + 0x10]
push 0
push ecx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
mov ecx, 0x100313c8
call fcn.1000cd10
mov ebx, 1
push esi
push ebp
push str.MoveEx_END:__s_____s
push 0x10027760
call fcn.1000b440
push esi
call fcn.10010ef0
add esp, 0x14
cmp eax, ebx
je 0x10004a5f
push esi
call fcn.1000caa0
add esp, 4
cmp eax, ebx
jne 0x10004a73
cmp dword [0x10031450], ebx
jne 0x10004a73
push esi
push ebp
mov ecx, 0x100313c8
call fcn.1000c840
mov edx, dword [esp + 0x101c]
push edx
push esi
push ebp
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1000
ret 0xc
push esi
mov ecx, 0x100313c8
call fcn.1000c690
test eax, eax
je 0x10004ab5
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x10004aab
mov eax, 0x100213c4
push 0
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push ebp
push esi
call fcn.10008f80
mov eax, dword [0x10031448]
add esp, 8
test eax, eax
jne 0x10004a34
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
and al, 0xfe
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
jmp 0x10004a34