Function at 0x426810
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 [0x581900]
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
push 0
push eax
call fcn.004e69c0
add esp, 0xc
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x118], 0
test ebx, ebx
je 0x426913
cmp byte [ebx], 0
je 0x426913
test esi, esi
je 0x426913
cmp byte [esi], 0
je 0x426913
mov ecx, dword [ebp + 0x14]
mov edx, 6
push 0
push 0x61a8
push 0
test ecx, ecx
mov eax, 0x106
push 0x20
cmove eax, edx
mov edx, 1
push 3
mov dword [ebp - 0x110], eax
mov eax, 0x81
push 0
push 7
cmove eax, edx
push eax
push ebx
call fcn.00427f00
add esp, 0x24
mov dword [ebp - 0x114], eax
cmp eax, 0xffffffff
jne 0x42692d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp edi, 2
je 0x426913
cmp edi, 3
je 0x426913
cmp edi, 0xf
je 0x426913
cmp edi, 0x35
je 0x426913
push str.tempGetStoreId.dat
push esi
call fcn.004a96e0
add esp, 8
push edi
push str._GetLastError_
push dword [ebp + 0x10]
push esi
push ebx
test eax, eax
je 0x426926
push str.:1:CopyFileSafe___s_____s____d__FAILED:_CreateFile_hSrc__FAILED:_Note_that_this_error_may_have_been_caused_by_GetUpdateFromBranchStore__:__s_ld
call fcn.00424fd0
add esp, 0x18
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e50dc
mov esp, ebp
pop ebp
ret
push str.:1:CopyFileSafe___s_____s____d__FAILED:_CreateFile_hSrc__FAILED:__s_ld
jmp 0x42690b
push 0x104
lea eax, [ebp - 0x108]
push esi
push eax
call fcn.004a9a20
lea eax, [ebp - 0x108]
push eax
call fcn.004a86c0
lea eax, [ebp - 0x108]
push eax
call fcn.004a73a0
add esp, 0x14
test eax, eax
jne 0x42699c
lea ecx, [ebp - 0x108]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x426967
sub ecx, edx
cmp byte [ebp + ecx - 0x109], 0x5c
jne 0x42699c
push 0x104
lea eax, [ebp - 0x108]
push ebx
push eax
call fcn.004a9a20
lea eax, [ebp - 0x108]
push esi
push eax
call fcn.004a7ec0
add esp, 0x14
mov edi, dword [ebp + 0x10]
mov eax, edi
push 0
push 0x61a8
neg eax
push 0
push SQLGetDiagRec
sbb eax, eax
add eax, 2
push eax
push 0
push 7
push dword [ebp - 0x110]
lea eax, [ebp - 0x108]
push eax
call fcn.00427f00
add esp, 0x24
mov dword [ebp - 0x110], eax
cmp eax, 0xffffffff
jne 0x426a30
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
je 0x426a03
cmp eax, 0xb7
je 0x426a03
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.00424fd0
add esp, 0x18
push 0xbe0
push str.C:UsersOfficeDocumentsVisual_StudioPAULAFile.c
push str.CopyFileSafe
push dword [ebp - 0x114]
call fcn.00426230
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e50dc
mov esp, ebp
pop ebp
ret
push 0x100000
call fcn.004eec81
mov ecx, eax
add esp, 4
mov dword [ebp - 0x124], ecx
test ecx, ecx
je 0x426b46
xor eax, eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
jmp 0x426a66
mov ecx, dword [ebp - 0x124]
push 0
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0
push eax
push 0x100000
push ecx
push dword [ebp - 0x114]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x426ac2
mov eax, dword [0x58aad8]
mov ecx, eax
inc eax
mov dword [0x58aad8], eax
cmp ecx, 0xa
jae 0x426abc
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.00424a90
add esp, 0x18
inc dword [ebp - 0x118]
mov eax, dword [ebp - 0x10c]
test eax, eax
je 0x426b36
push 0
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x120], 0
push ecx
push eax
push dword [ebp - 0x124]
push dword [ebp - 0x110]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x426b29
mov eax, dword [0x58aad8]
mov ecx, eax
inc eax
mov dword [0x58aad8], eax
cmp ecx, 0xa
jae 0x426b23
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.00424a90
add esp, 0x18
inc dword [ebp - 0x11c]
cmp dword [ebp - 0x10c], 0
ja 0x426a60
push dword [ebp - 0x124]
call fcn.004eea9f
add esp, 4
jmp 0x426b50
mov dword [ebp - 0x11c], 1
cmp dword [ebp + 0x14], 0
je 0x426bc4
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 0x426baf
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 0x426bc4
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 0x426bbc
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.00424fd0
add esp, 0x14
push 0xc1a
push str.C:UsersOfficeDocumentsVisual_StudioPAULAFile.c
push str.CopyFileSafe
push dword [ebp - 0x110]
call fcn.00426230
push 0xc1b
push str.C:UsersOfficeDocumentsVisual_StudioPAULAFile.c
push str.CopyFileSafe
push dword [ebp - 0x114]
call fcn.00426230
cmp dword [ebp - 0x118], 0
jne 0x426913
cmp dword [ebp - 0x11c], 0
jne 0x426913
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004e50dc
mov esp, ebp
pop ebp
ret