Function at 0x440dad
Capabilities:
Check if file exists
Delete file
Get file attributes
Move file
Set file attributes
Write file on windows

Disassembly:
push 0x60
mov eax, 0x5d8c44
call fcn.00506dc7
mov edi, ecx
mov dword [ebp - 0x2c], edi
xor ebx, ebx
cmp dword [edi + 0x20c], ebx
jle 0x440dcf
xor eax, eax
jmp 0x44103c
lea ecx, [ebp - 0x54]
call fcn.0042ca82
lea eax, [edi + 4]
mov dword [ebp - 4], ebx
push ebx
push eax
mov dword [ebp - 0x34], eax
call fcn.004a6a45
add esp, 4
mov esi, eax
mov ecx, esp
push esi
call fcn.00413f09
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x54]
call fcn.0042fedd
push esi
mov byte [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x440e1f
test al, 1
je 0x440e1f
and eax, 0xfffffffe
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test esi, esi
je 0x440e2a
push esi
call fcn.00506f36
pop ecx
push dword [ebp - 0x1c]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x440e57
push ecx
mov esi, esp
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
push eax
call fcn.00412393
pop ecx
add eax, 0x10
lea ecx, [ebp - 0x54]
mov dword [esi], eax
call fcn.00439b38
push ecx
mov esi, esp
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
push eax
call fcn.00412393
add eax, 0x10
pop ecx
mov dword [esi], eax
lea ecx, [ebp - 0x54]
lea eax, [ebp - 0x24]
push eax
call fcn.004675df
push ebx
push dword [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.004ecfb5
pop ecx
pop ecx
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x30], eax
call fcn.00452db5
mov ecx, dword [edi + 0x210]
lea eax, [ebp - 0x6c]
push eax
mov byte [ebp - 4], 3
mov edx, dword [ecx]
call dword [edx + 0x40]
mov eax, dword [ebp - 0x60]
add eax, 8
push 0xfde9
push eax
call fcn.004a6a45
mov esi, eax
mov dword [ebp - 0x3c], esi
push esi
mov byte [ebp - 4], 4
call fcn.0057600b
lea eax, [eax*2 + 4]
push eax
mov dword [ebp - 0x10], eax
call fcn.00506f2d
mov edi, eax
mov dword [ebp - 0x38], edi
mov ecx, dword [ebp - 0x10]
push ecx
push ebx
push edi
call fcn.0056b050
push 2
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0xfeff
push eax
push dword [ebp - 0x10]
push edi
call fcn.005005d3
mov eax, dword [ebp - 0x10]
add eax, 0xfffffffe
push eax
push esi
push eax
lea eax, [edi + 2]
push eax
call fcn.005005d3
add esp, 0x3c
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 6
cmp dword [eax + 0x22c], ebx
je 0x440f53
lea ecx, [ebp - 0x20]
add eax, 0x230
push ecx
mov ecx, dword [ebp - 0x10]
push ecx
push edi
push eax
call fcn.00477ab0
add esp, 0x10
lea ecx, [ebp - 0x14]
push eax
call fcn.004ffc5b
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
jmp 0x440f7f
mov esi, dword [ebp - 0x10]
dec esi
push esi
mov dword [ebp - 0x20], esi
call fcn.00506f2d
pop ecx
push eax
lea ecx, [ebp - 0x14]
call fcn.004ffc5b
mov ecx, dword [ebp - 0x10]
lea eax, [ecx - 1]
push eax
push edi
push esi
mov esi, dword [ebp - 0x14]
push esi
call fcn.005005d3
add esp, 0x10
mov edi, dword [ebp - 0x30]
lea eax, [ebp - 0x18]
push 0x5f1b44
push edi
push eax
mov dword [ebp - 0x18], ebx
call fcn.0058834c
add esp, 0xc
test eax, eax
jne 0x440fdf
cmp dword [ebp - 0x18], eax
je 0x440fdf
push dword [ebp - 0x18]
push 1
push dword [ebp - 0x20]
push esi
call fcn.00598306
push dword [ebp - 0x18]
call fcn.00587fe2
mov esi, dword [ebp - 0x34]
add esp, 0x14
push ecx
mov ecx, esp
push esi
call fcn.00411dbd
call fcn.004ccbc8
pop ecx
test eax, eax
jne 0x440fd5
inc ebx
cmp ebx, 0xa
jl 0x440fbc
push esi
push edi
call dword [sym.imp.KERNEL32.dll_MoveFileA]
mov ebx, eax
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test edi, edi
je 0x440ff1
push edi
call fcn.00506f36
pop ecx
lea ecx, [ebp - 0x14]
call fcn.00455b9d
lea ecx, [ebp - 0x38]
call fcn.00455b9d
lea ecx, [ebp - 0x3c]
call fcn.00455bbd
lea ecx, [ebp - 0x6c]
call fcn.0045706c
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
lea ecx, [ebp - 0x54]
call fcn.0042e60b
mov ecx, dword [ebp - 0x44]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov eax, ebx
call fcn.00506d90
ret