Function at 0x4a4a70
Capabilities:
Check if file exists
Delete file
Get file attributes
Move file

Disassembly:
push 0xffffffffffffffff
push 0x4d4ddb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5e0
push ebx
mov ebx, dword [esp + 0x604]
push ebp
push esi
mov ecx, dword [ebx + 8]
lea eax, [esp + 0xc]
push edi
push eax
push ecx
mov ecx, 0x4f55f8
mov dword [esp + 0x18], 0
call fcn.0049ace0
mov esi, eax
test esi, esi
je 0x4a4e15
mov dl, byte [0x4f55a8]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xbd]
mov byte [esp + 0xbc], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, dword [esp + 0x608]
push edi
call fcn.00471a00
push eax
mov eax, dword [esp + 0x614]
lea ecx, [esp + 0xc4]
push eax
push ecx
call fcn.00471100
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0x138]
lea edx, [esp + 0xcc]
push edx
mov edx, eax
shl edx, 4
add edx, eax
mov eax, dword [ecx + 0x38]
lea ecx, [eax + edx*4 + 0x38]
lea edx, [esp + 0xd0]
push ecx
push edx
call fcn.004711b0
add esp, 0x1c
lea eax, [esp + 0xbc]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
mov ebp, eax
mov eax, dword [ebx]
neg ebp
sbb ebp, ebp
inc ebp
cmp eax, 2
je 0x4a4b57
test ebp, ebp
je 0x4a4b71
mov eax, dword [ebx + 4]
test eax, eax
je 0x4a4b71
lea ecx, [esp + 0xbc]
push 0x5f
lea edx, [esp + 0xc0]
push ecx
push edx
call fcn.004728a0
add esp, 0xc
lea eax, [esp + 0xbc]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, dword [esp + 0x600]
cmp eax, 0xffffffff
je 0x4a4bde
mov esi, dword [esp + 0x610]
mov eax, dword [esi]
cmp eax, 1
je 0x4a4eb9
xor ecx, ecx
test eax, eax
setne cl
test ebp, ebp
mov eax, ecx
je 0x4a4bb1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4a4bde
test eax, eax
je 0x4a4bde
mov edx, dword [esp + 0x604]
push 0x104
push 0x4bc
push 0x4bb
push edx
push ebx
call fcn.00471530
add esp, 0x14
cmp eax, 6
jne 0x4a4eb9
lea eax, [esp + 0x1c0]
push 0x226
push eax
push 0x4ba
push ebx
call dword [sym.imp.USER32.dll_LoadStringA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ecx, [esp + 0x1c0]
push 0x104
push ecx
call esi
lea edx, [esp + eax + 0x1c4]
push edx
push edi
call sub.comdlg32.dll_GetFileTitleA
lea eax, [esp + 0x1c0]
push str.___
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [esp + 0x1c0]
push 0x104
push ecx
call esi
lea edx, [esp + eax + 0x1c4]
lea eax, [esp + 0xc0]
push edx
push eax
call sub.comdlg32.dll_GetFileTitleA
mov esi, dword [esp + 0x618]
lea ecx, [esp + 0x1c0]
push ecx
mov ecx, esi
call fcn.00473ec0
push 0x4bd
mov ecx, esi
call fcn.00473e80
push 0x3e8
push 0x1f4
push 0
mov ecx, esi
call fcn.00474200
push edi
lea ecx, [esp + 0x48]
call fcn.0049c790
lea ecx, [esp + 0x44]
mov dword [esp + 0x5f8], 0
call fcn.0049f280
test eax, eax
je 0x4a4ce7
lea edx, [esp + 0x4ec]
push 0x104
push edx
push edi
call sub.comdlg32.dll_GetFileTitleA
mov ecx, esi
call fcn.00473fd0
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x4ec]
push 1
push ecx
push 0x4c7
push eax
push ebx
call fcn.00471450
add esp, 0x14
cmp eax, 1
jne 0x4a4e01
lea ecx, [esp + 0x44]
call fcn.0049e8b0
lea ecx, [esp + 0x44]
call fcn.0049e940
cmp eax, 1
jle 0x4a4d3d
lea edx, [esp + 0x3e8]
push 0x104
push edx
push edi
call sub.comdlg32.dll_GetFileTitleA
mov ecx, esi
call fcn.00473fd0
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x3e8]
push 1
push ecx
push 0x4c9
push eax
push ebx
call fcn.00471450
add esp, 0x14
cmp eax, 1
jne 0x4a4e01
lea ecx, [esp + 0x14]
call fcn.0049c390
lea edx, [esp + 0x14]
lea ecx, [esp + 0x44]
push edx
mov dword [esp + 0x40], 0x4740a0
mov dword [esp + 0x44], esi
mov dword [esp + 0x3c], 1
call fcn.0049ce00
test eax, eax
jne 0x4a4d92
cmp dword [esp + 0x98], 0xfffffff5
je 0x4a4e01
mov ecx, esi
call fcn.00473fd0
mov esi, dword [esi + 0xc]
push 0
push 0x4b2
push 0x4b4
jmp 0x4a4df7
push 0x3e8
push 0x3e8
push 0x1f4
mov ecx, esi
call fcn.00474200
mov edx, dword [esp + 0x610]
mov ecx, dword [esp + 0x614]
push esi
lea eax, [esp + 0xc0]
push 0x4740a0
push eax
mov eax, dword [edx + 8]
push ecx
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0x5c]
call fcn.0049e1e0
push eax
call fcn.004a5e10
add esp, 0x18
test eax, eax
je 0x4a4e1c
mov ecx, esi
call fcn.00473fd0
mov esi, dword [esi + 0xc]
push 0
push 0x4b2
push 0x4b3
push esi
push ebx
call fcn.00471530
add esp, 0x14
lea ecx, [esp + 0x44]
mov dword [esp + 0x5f8], 0xffffffff
call fcn.0049cb20
xor eax, eax
jmp 0x4a4ebe
push 0
push edi
call fcn.00471ba0
add esp, 8
test eax, eax
je 0x4a4e40
push 0
push 1
lea ecx, [esp + 0xc4]
push eax
push ecx
call fcn.00471e40
add esp, 0x10
mov edx, dword [esp + 0x610]
mov eax, dword [edx + 4]
test eax, eax
je 0x4a4e91
test ebp, ebp
push edi
je 0x4a4e6e
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
je 0x4a4e78
lea eax, [esp + 0xbc]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
jmp 0x4a4e91
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x4a4e91
mov ecx, esi
call fcn.00473fd0
mov esi, dword [esi + 0xc]
push 0x4b8
push esi
push ebx
call fcn.00471660
add esp, 0xc
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
lea ecx, [esp + 0x44]
mov dword [esp + 0x5f8], 0xffffffff
call fcn.0049cb20
mov eax, 1
mov ecx, dword [esp + 0x5f0]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x5ec
ret