Function at 0x41e169
Capabilities:
Check if file exists
Read file on windows
Timestomp file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x138
mov eax, dword [0x55f900]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x108]
push esi
mov esi, dword [ebp + 0xc]
push edi
push 0x104
xor edi, edi
push edi
push eax
call fcn.004c37f0
add esp, 0xc
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x118], edi
test ebx, ebx
je 0x41e260
cmp byte [ebx], 0
je 0x41e260
test esi, esi
je 0x41e260
cmp byte [esi], 0
je 0x41e260
mov ecx, dword [ebp + 0x14]
mov eax, 0x106
push 6
pop edx
push edi
push 0x61a8
test ecx, ecx
push edi
cmove eax, edx
mov dword [ebp - 0x110], eax
lea eax, [edx + 0x7b]
push 0x20
xor edx, edx
push 3
inc edx
test ecx, ecx
push edi
push 7
cmove eax, edx
push eax
push ebx
call fcn.0041f163
add esp, 0x24
mov dword [ebp - 0x114], eax
cmp eax, 0xffffffff
jne 0x41e271
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp edi, 2
je 0x41e260
cmp edi, 3
je 0x41e260
cmp edi, 0xf
je 0x41e260
cmp edi, 0x35
je 0x41e260
push str.tempGetStoreId.dat
push esi
call fcn.0048dada
pop ecx
pop ecx
push edi
push str._GetLastError_
push dword [ebp + 0x10]
push esi
push ebx
test eax, eax
je 0x41e253
push str.:1:CopyFileSafe___s_____s____d__FAILED:_CreateFile_hSrc__FAILED:_Note_that_this_error_may_have_been_caused_by_GetUpdateFromBranchStore__:__s_ld
jmp 0x41e258
push str.:1:CopyFileSafe___s_____s____d__FAILED:_CreateFile_hSrc__FAILED:__s_ld
call fcn.0041cce9
add esp, 0x18
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004c2120
leave
ret
push 0x104
lea eax, [ebp - 0x108]
push esi
push eax
call fcn.0048dd2a
lea eax, [ebp - 0x108]
push eax
call fcn.0048cf12
lea eax, [ebp - 0x108]
push eax
call fcn.0048c30a
add esp, 0x14
test eax, eax
jne 0x41e2db
lea eax, [ebp - 0x108]
push eax
call fcn.004cd280
pop ecx
cmp byte [ebp + eax - 0x109], 0x5c
jne 0x41e2db
push 0x104
lea eax, [ebp - 0x108]
push ebx
push eax
call fcn.0048dd2a
lea eax, [ebp - 0x108]
push esi
push eax
call fcn.0048c9ee
add esp, 0x14
push edi
push 0x61a8
push edi
mov edi, dword [ebp + 0x10]
xor eax, eax
test edi, edi
push SQLGetDiagRec
sete al
inc eax
push eax
push 0
push 7
push dword [ebp - 0x110]
lea eax, [ebp - 0x108]
push eax
call fcn.0041f163
add esp, 0x24
mov dword [ebp - 0x110], eax
cmp eax, 0xffffffff
jne 0x41e35e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
je 0x41e33f
cmp eax, 0xb7
je 0x41e33f
push str._GetLastError_
push eax
push edi
push esi
push ebx
push str.:1:CopyFileSafe___s_____s____d__FAILED:_CreateFile_hDest__FAILED:_GetLastError___should_be___ld:__s
call fcn.0041cce9
add esp, 0x18
push 0xbe0
push str.C:UsersOfficeDocumentsVisual_StudioPAULAFile.c
push str.CopyFileSafe
push dword [ebp - 0x114]
call fcn.0041dd98
jmp 0x41e260
push 0x100000
call fcn.004cd30b
pop ecx
mov ecx, eax
mov dword [ebp - 0x124], ecx
test ecx, ecx
je 0x41e46b
xor eax, eax
and dword [ebp - 0x118], eax
mov dword [ebp - 0x11c], eax
jmp 0x41e38f
mov ecx, dword [ebp - 0x124]
and dword [ebp - 0x10c], 0
lea eax, [ebp - 0x10c]
push 0
push eax
push 0x100000
push ecx
push dword [ebp - 0x114]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x41e3e8
mov eax, dword [0x568ad8]
mov ecx, eax
inc eax
mov dword [0x568ad8], eax
cmp ecx, 0xa
jae 0x41e3e2
push str._GetLastError_
push dword [ebp - 0x10c]
push edi
push esi
push ebx
push str.CopyFileSafe___s_____s____d__FAILED:_ReadFile___FAILED_Could_only_read__ld_bytes:__s
call fcn.0041c80a
add esp, 0x18
inc dword [ebp - 0x118]
cmp dword [ebp - 0x10c], 0
jbe 0x41e45d
and dword [ebp - 0x120], 0
lea eax, [ebp - 0x120]
push 0
push eax
push dword [ebp - 0x10c]
push dword [ebp - 0x124]
push dword [ebp - 0x110]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x41e450
mov eax, dword [0x568ad8]
mov ecx, eax
inc eax
mov dword [0x568ad8], eax
cmp ecx, 0xa
jae 0x41e44a
push str._GetLastError_
push dword [ebp - 0x120]
push edi
push esi
push ebx
push str.CopyFileSafe___s_____s____d__FAILED:_WriteFile___FAILED:_Could_only_write__ld_bytes:__s
call fcn.0041c80a
add esp, 0x18
inc dword [ebp - 0x11c]
cmp dword [ebp - 0x10c], 0
ja 0x41e389
push dword [ebp - 0x124]
call fcn.004cceff
pop ecx
jmp 0x41e475
mov dword [ebp - 0x11c], 1
cmp dword [ebp + 0x14], 0
je 0x41e4e9
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x138]
push eax
push dword [ebp - 0x114]
call dword [sym.imp.KERNEL32.dll_GetFileTime]
test eax, eax
je 0x41e4d4
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x138]
push eax
push dword [ebp - 0x110]
call dword [sym.imp.KERNEL32.dll_SetFileTime]
test eax, eax
jne 0x41e4e9
push str._GetLastError_
push edi
push esi
push ebx
push str.:5:CopyFileSafe___s_____s____d__FAILED:_Could_not_SET_the_destination_files_time_stamp:__s
jmp 0x41e4e1
push str._GetLastError_
push edi
push esi
push ebx
push str.:5:CopyFileSafe___s_____s____d__FAILED:_Could_not_GET_the_source_files_time_stamp:__s
call fcn.0041cce9
add esp, 0x14
push 0xc1a
mov edi, str.C:UsersOfficeDocumentsVisual_StudioPAULAFile.c
mov esi, str.CopyFileSafe
push edi
push esi
push dword [ebp - 0x110]
call fcn.0041dd98
push 0xc1b
push edi
push esi
push dword [ebp - 0x114]
call fcn.0041dd98
cmp dword [ebp - 0x118], 0
jne 0x41e260
cmp dword [ebp - 0x11c], 0
jne 0x41e260
xor eax, eax
inc eax
jmp 0x41e262