Function at 0x4131c0
Capabilities:
Check if file exists
Delete file
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51c7e6
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x562494]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
push esi
call edi
test eax, eax
je 0x4133b2
call fcn.00409bb0
mov ecx, eax
test ecx, ecx
je 0x4134e3
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x4134ed
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
lea eax, [ebp - 0x14]
push str.delete__s_suc__error_d
push eax
call fcn.004094f0
lea eax, [ebp - 0x1c]
push eax
call fcn.0040ad50
add esp, 0x14
push 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb4]
mov edi, dword [eax]
push 2
call fcn.0040b060
mov byte [ebp - 4], 2
mov eax, 0x54c0d8
mov esi, dword [ebp - 0x14]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0xb4]
push eax
call fcn.0040dbf0
add esp, 8
lea eax, [ebp - 0xb4]
mov ecx, edi
push eax
mov eax, dword [edi]
call dword [eax + 0xc]
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xb4], vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xb8], eax
lea ecx, [ebp - 0xb0]
call fcn.0040b750
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xb4], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0xb8], eax
mov byte [ebp - 4], 3
lea eax, [ebp - 0x64]
mov dword [ebp - 0x64], vtable.std::ios_base.0
push eax
call fcn.00430cf5
mov ebx, dword [ebp - 0x18]
add esp, 4
or edi, 0xffffffff
test ebx, ebx
je 0x413359
mov eax, edi
lock xadd dword [ebx + 4], eax
jne 0x413359
mov eax, dword [ebx]
mov edx, dword [eax]
cmp eax, vtable.std::_Ref_count_class_Utils::LoggerImpl_.0
jne 0x4134f4
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x413339
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, edi
lock xadd dword [ebx + 8], eax
jne 0x413359
mov eax, dword [ebx]
mov ecx, ebx
mov edx, dword [eax + 4]
cmp eax, vtable.std::_Ref_count_class_Utils::LoggerImpl_.0
jne 0x4134fd
push 1
call dword [eax + 8]
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x4133a8
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
mov edx, dword [eax + 4]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x413504
mov ecx, dword [ecx + 4]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
cmp eax, vtable.ATL::CWin32Heap.0
jne 0x413504
push 0
push dword [ecx + 4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, 1
jmp 0x4134c7
mov eax, 1
jmp 0x4134c7
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4133a8
push 0x80
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x4134ba
push esi
call edi
test eax, eax
je 0x4134ba
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0
call fcn.004089d0
mov dword [ebp - 4], 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
lea eax, [ebp - 0x14]
push str.delete__s_suc__error_d
push eax
call fcn.004094f0
lea eax, [ebp - 0x1c]
push eax
call fcn.0040ad50
add esp, 0x14
push 1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xb4]
mov edi, dword [eax]
push 2
call fcn.0040b060
mov byte [ebp - 4], 6
mov eax, 0x54c0d8
mov esi, dword [ebp - 0x14]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0xb4]
push eax
call fcn.0040dbf0
add esp, 8
lea eax, [ebp - 0xb4]
mov ecx, edi
push eax
mov eax, dword [edi]
call dword [eax + 0xc]
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xb4], vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xb8], eax
lea ecx, [ebp - 0xb0]
call fcn.0040b750
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xb4], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0xb8], eax
mov byte [ebp - 4], 7
jmp 0x4132f7
push 4
push 0
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004affa8
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.0040a130
call edx
jmp 0x413227
mov ecx, ebx
call edx
jmp 0x413339
call edx
jmp 0x413359
call edx
jmp 0x4133a8