Function at 0x4145f0
Capabilities:
Check if file exists
Delete file
Get common file path
Move file
Read .ini file

Disassembly:
push 0x32c
mov eax, 0x5f24ee
call fcn.0044ea40
mov ebx, ecx
call fcn.005400a1
push 0
mov esi, 0x9b
lea ecx, [ebp - 0x328]
push esi
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0x10]
and dword [ebp - 4], 0
call fcn.00403028
mov ecx, eax
call fcn.005165e5
cmp dword [ebp - 0x318], 0
jne 0x414696
push eax
push 0x64
lea eax, [ebp - 0xd8]
push eax
push 0x5faef8
push 0x5fafe4
push str.UserLogin
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0xd8], 0
jne 0x414662
xor eax, eax
jmp 0x41466f
lea eax, [ebp - 0xd8]
push eax
call fcn.00546031
pop ecx
push eax
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x328]
call fcn.00403bdf
call fcn.005400a1
lea ecx, [ebp - 0x328]
push ecx
push esi
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
call fcn.00421d63
push eax
lea ecx, [ebp - 0x334]
call fcn.0040b1c2
cmp dword [ebp - 0x314], 8
lea eax, [ebp - 0x328]
mov byte [ebp - 4], 1
cmovae eax, dword [ebp - 0x328]
push eax
push str.WnCore.exe
call fcn.00403028
mov ecx, eax
call fcn.00516496
push eax
lea eax, [ebp - 0x334]
push str.__s_s__QuickSync__s
push eax
call fcn.00414fee
mov esi, dword [ebp - 0x334]
add esp, 0x14
cmp dword [esi - 4], 1
jle 0x414706
push dword [esi - 0xc]
lea ecx, [ebp - 0x334]
call fcn.0040b986
mov esi, dword [ebp - 0x334]
push esi
call fcn.005302fc
pop ecx
call fcn.00403028
mov ecx, eax
call fcn.0052f6f4
push eax
lea ecx, [ebp - 0x2f8]
call fcn.00404479
cmp dword [ebp - 0x2e4], 8
lea eax, [ebp - 0x2f8]
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 2
cmovae eax, dword [ebp - 0x2f8]
push eax
call fcn.0040b24c
push 0x5c
push dword [ebp - 0x330]
mov byte [ebp - 4], 3
call fcn.00544847
pop ecx
pop ecx
test eax, eax
jne 0x414765
or eax, 0xffffffff
jmp 0x41476d
sub eax, dword [ebp - 0x330]
sar eax, 1
inc eax
lea ecx, [ebp - 0x330]
push eax
lea eax, [ebp - 0x338]
push eax
call fcn.0040ba53
push eax
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 4
call fcn.0040b29f
mov ecx, dword [ebp - 0x338]
mov byte [ebp - 4], 3
lea ecx, [ecx - 0x10]
call fcn.0040bbcd
push str..temp
lea eax, [ebp - 0x2f8]
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.0040b146
add esp, 0xc
cmp dword [ebp - 0x2fc], 8
lea eax, [ebp - 0x310]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, dword [ebp - 0x310]
push eax
mov byte [ebp - 4], 5
call edi
test eax, eax
je 0x414815
cmp dword [ebp - 0x2e4], 8
lea ecx, [ebp - 0x2f8]
push 1
cmovae ecx, dword [ebp - 0x2f8]
lea eax, [ebp - 0x310]
cmp dword [ebp - 0x2fc], 8
push ecx
cmovae eax, dword [ebp - 0x310]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x8c
call fcn.0040ba15
mov ecx, eax
call fcn.0040f11d
inc eax
push eax
push 0x8c
call fcn.0040ba15
mov ecx, eax
call fcn.0041146b
push 0x8d
call fcn.0040ba15
mov ecx, eax
call fcn.0040f11d
inc eax
push eax
push 0x8d
call fcn.0040ba15
mov ecx, eax
call fcn.0041146b
push 0x8e
call fcn.0040ba15
mov ecx, eax
call fcn.0040f11d
inc eax
push eax
push 0x8e
call fcn.0040ba15
mov ecx, eax
call fcn.0041146b
call fcn.0040ba15
mov ecx, eax
call fcn.004108c5
push 0x208
lea eax, [ebp - 0x2e0]
push 0
push eax
call fcn.00543220
add esp, 0xc
lea eax, [ebp - 0x2e0]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0x2e0]
push eax
lea ecx, [ebp - 0x32c]
call fcn.0040b24c
push str.MutualTempFile.ini
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 6
call fcn.0040b319
push dword [ebp - 0x32c]
push 0
push str.QuickSync
push str.MutualTempFile
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push dword [ebp - 0x32c]
mov dword [ebx + 0x2e4], eax
call edi
test eax, eax
je 0x41491c
push dword [ebp - 0x32c]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebx + 0x2e4], 0
push 0x2f0
je 0x414942
call fcn.00421039
pop ecx
mov dword [ebp - 0x338], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x414965
push 1
jmp 0x414958
call fcn.00421039
pop ecx
mov dword [ebp - 0x338], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x414965
push 0
push 4
mov ecx, eax
call fcn.0041397a
mov edi, eax
jmp 0x414967
xor edi, edi
xor eax, eax
mov byte [ebp - 4], 6
push eax
push eax
push eax
push eax
push eax
push eax
push 0x96c80000
push 0x5faef8
lea ecx, [ebx + 0x2c]
call dword [sym.imp.DuiLib32.dll_public:_struct_HWND______thiscall_DuiLib::CPaintManagerUI::GetPaintWindow_void_const]
push eax
mov ecx, edi
call dword [sym.imp.DuiLib32.dll_public:_struct_HWND______thiscall_DuiLib::CWindowWnd::Create_struct_HWND_____wchar_t_const___unsigned_long_int__unsigned_long_int__int__int__int__int__struct_HMENU____]
mov ecx, edi
call dword [sym.imp.DuiLib32.dll_public:_void___thiscall_DuiLib::CWindowWnd::CenterWindow_void_]
mov ecx, edi
call dword [sym.imp.DuiLib32.dll_public:_unsigned_int___thiscall_DuiLib::CWindowWnd::ShowModal_void_]
test edi, edi
je 0x4149ac
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x14]
xor edi, edi
mov ecx, ebx
inc edi
push edi
call fcn.00416587
mov ecx, dword [ebp - 0x32c]
lea ecx, [ecx - 0x10]
call fcn.0040bbcd
xor ebx, ebx
lea ecx, [ebp - 0x310]
push ebx
push edi
call fcn.004037bf
mov ecx, dword [ebp - 0x330]
lea ecx, [ecx - 0x10]
call fcn.0040bbcd
push ebx
push edi
lea ecx, [ebp - 0x2f8]
call fcn.004037bf
lea ecx, [esi - 0x10]
call fcn.0040bbcd
push ebx
push edi
lea ecx, [ebp - 0x328]
call fcn.004037bf
mov eax, edi
call fcn.0044e9ea
ret