Function at 0x41571d
Capabilities:
Check if file exists
Create directory
Enumerate files on windows
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x734
push edi
mov dword [ebp - 0x734], ecx
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x660], 0
mov al, byte [0x439a4c]
mov byte [ebp - 0x558], al
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x557]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov cl, byte [0x439a50]
mov byte [ebp - 0x454], cl
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x453]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dl, byte [0x439a54]
mov byte [ebp - 0x65c], dl
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x65b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x439a58]
mov byte [ebp - 0x208], al
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x207]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov cl, byte [0x439a5c]
mov byte [ebp - 0x104], cl
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x103]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x104
lea edx, [ebp - 0x454]
push edx
call fcn.0040ea68
add esp, 8
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
jne 0x41580c
push 0
push str.BackupAllFile_GetCurAppPath___Fail_
call fcn.00410257
add esp, 8
jmp 0x415b66
push 0x104
lea eax, [ebp - 0x558]
push eax
mov ecx, dword [ebp - 0x734]
call fcn.0041654d
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
jne 0x415846
push 0
push str.BackupAllFile_GetBackupAppPathForVersionUpdate___Fail_
call fcn.00410257
add esp, 8
jmp 0x415b64
lea ecx, [ebp - 0x558]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x4158e9
push 0
lea edx, [ebp - 0x558]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [ebp - 0x210], eax
mov byte [ebp - 0x728], 0
mov ecx, 0x31
xor eax, eax
lea edi, [ebp - 0x727]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
cmp dword [ebp - 0x210], 0
jne 0x4158cc
push 0xc8
lea eax, [ebp - 0x728]
push eax
push 0x44
push 0
call dword [sym.imp.USER32.dll_LoadStringA]
lea ecx, [ebp - 0x728]
push ecx
mov ecx, dword [ebp - 0x734]
call fcn.00412e0b
lea edx, [ebp - 0x728]
push edx
mov ecx, dword [ebp - 0x734]
call fcn.00414e35
cmp dword [ebp - 0x210], 0
jne 0x4158e9
push 0
push str.BackupAllFile:Create_Local_Update_Directory_Failed.
call fcn.00410257
add esp, 8
jmp 0x415b62
lea eax, [ebp - 0x454]
push eax
push 0x434910
lea ecx, [ebp - 0x104]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [ebp - 0x350]
push edx
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0xffffffff
jne 0x41593c
push 0
push str.BackupAllFile_FindFirstFile_fail_
call fcn.00410257
add esp, 8
jmp 0x415b60
push 0x43493c
lea ecx, [ebp - 0x324]
push ecx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x415b1c
push 0x434940
lea edx, [ebp - 0x324]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x415b1c
mov eax, dword [ebp - 0x350]
and eax, 0x10
test eax, eax
je 0x415986
jmp 0x415b1c
mov dword [ebp - 0x72c], 0
mov dword [ebp - 0x730], 0
jmp 0x4159ab
mov ecx, dword [ebp - 0x730]
add ecx, 1
mov dword [ebp - 0x730], ecx
cmp dword [ebp - 0x730], 6
jge 0x4159e8
lea edx, [ebp - 0x324]
push edx
mov eax, dword [ebp - 0x730]
imul eax, eax, 0x104
add eax, 0x426ce8
push eax
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x4159e6
mov dword [ebp - 0x72c], 1
jmp 0x4159e8
jmp 0x41599c
cmp dword [ebp - 0x72c], 1
jne 0x4159f6
jmp 0x415b1c
lea ecx, [ebp - 0x324]
push ecx
lea edx, [ebp - 0x454]
push edx
push 0x434944
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
lea ecx, [ebp - 0x324]
push ecx
lea edx, [ebp - 0x558]
push edx
push 0x43494c
lea eax, [ebp - 0x65c]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
push 0x80
lea ecx, [ebp - 0x208]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
jne 0x415a6c
push 0
push str.BackupAllFile_SetFileAttributes_fail:____________
call fcn.00410257
add esp, 8
cmp dword [ebp - 0x210], 0
jne 0x415a86
push 0
lea edx, [ebp - 0x208]
push edx
call fcn.00410257
add esp, 8
cmp dword [ebp - 0x210], 0
jne 0x415a9e
push 0
push 0x434988
call fcn.00410257
add esp, 8
lea eax, [ebp - 0x65c]
push eax
lea ecx, [ebp - 0x208]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
jne 0x415ad0
push 0
push str.BackupAllFile_MoveFile_fail:_____________________
call fcn.00410257
add esp, 8
cmp dword [ebp - 0x210], 0
jne 0x415aea
push 0
lea edx, [ebp - 0x208]
push edx
call fcn.00410257
add esp, 8
cmp dword [ebp - 0x210], 0
jne 0x415b04
push 0
lea eax, [ebp - 0x65c]
push eax
call fcn.00410257
add esp, 8
cmp dword [ebp - 0x210], 0
jne 0x415b1c
push 0
push str._________________________________________________
call fcn.00410257
add esp, 8
lea ecx, [ebp - 0x350]
push ecx
mov edx, dword [ebp - 0x20c]
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x41593c
mov dword [ebp - 0x660], 1
cmp dword [ebp - 0x20c], 0xffffffff
jne 0x415b58
mov eax, dword [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [ebp - 0x660]
jmp 0x415b68
jmp 0x415b42
jmp 0x415b42
jmp 0x415b42
jmp 0x415b42
pop edi
mov esp, ebp
pop ebp
ret