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

Disassembly:
push 0x968
mov eax, 0x5f2453
call fcn.0044ea40
mov dword [ebp - 0x970], ecx
call fcn.005400a1
xor edi, edi
lea ecx, [ebp - 0x930]
push edi
mov esi, 0x9b
mov edx, dword [eax]
push esi
push ecx
mov ecx, eax
call dword [edx + 0x10]
mov dword [ebp - 4], edi
call fcn.00403028
mov ecx, eax
call fcn.005165e5
cmp dword [ebp - 0x920], edi
jne 0x414106
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], di
jne 0x4140d2
mov eax, edi
jmp 0x4140df
lea eax, [ebp - 0xd8]
push eax
call fcn.00546031
pop ecx
push eax
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x930]
call fcn.00403bdf
call fcn.005400a1
lea ecx, [ebp - 0x930]
push ecx
push esi
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
call fcn.00421d63
push eax
lea ecx, [ebp - 0x96c]
call fcn.0040b1c2
cmp dword [ebp - 0x91c], 8
lea eax, [ebp - 0x930]
mov byte [ebp - 4], 1
cmovae eax, dword [ebp - 0x930]
push eax
push str.WnCore.exe
call fcn.00403028
mov ecx, eax
call fcn.00516496
push eax
lea eax, [ebp - 0x96c]
push str.__s_s__DownCfg__s
push eax
call fcn.00414fee
mov esi, dword [ebp - 0x96c]
add esp, 0x14
cmp dword [esi - 4], 1
jle 0x414176
push dword [esi - 0xc]
lea ecx, [ebp - 0x96c]
call fcn.0040b986
mov esi, dword [ebp - 0x96c]
push esi
call fcn.005302fc
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
pop ecx
push 0x64
call ebx
call fcn.00403028
mov ecx, eax
call fcn.0052f6f4
push eax
lea ecx, [ebp - 0x8e8]
call fcn.00404479
cmp dword [ebp - 0x8d4], 8
lea eax, [ebp - 0x8e8]
lea ecx, [ebp - 0x968]
mov byte [ebp - 4], 2
cmovae eax, dword [ebp - 0x8e8]
push eax
call fcn.0040b24c
push 0x5c
push dword [ebp - 0x968]
mov byte [ebp - 4], 3
call fcn.00544847
pop ecx
pop ecx
test eax, eax
jne 0x4141df
or eax, 0xffffffff
jmp 0x4141e7
sub eax, dword [ebp - 0x968]
sar eax, 1
inc eax
lea ecx, [ebp - 0x968]
push eax
lea eax, [ebp - 0x974]
push eax
call fcn.0040ba53
push eax
lea ecx, [ebp - 0x968]
mov byte [ebp - 4], 4
call fcn.0040b29f
mov ecx, dword [ebp - 0x974]
mov byte [ebp - 4], 3
lea ecx, [ecx - 0x10]
call fcn.0040bbcd
push str..temp
lea eax, [ebp - 0x8e8]
push eax
lea eax, [ebp - 0x918]
push eax
call fcn.0040b146
add esp, 0xc
cmp dword [ebp - 0x904], 8
lea eax, [ebp - 0x918]
mov byte [ebp - 4], 5
cmovae eax, dword [ebp - 0x918]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x414264
push 0x3e8
call ebx
jmp 0x4142b1
cmp dword [ebp - 0x8d4], 8
lea eax, [ebp - 0x8e8]
cmovae eax, dword [ebp - 0x8e8]
push eax
call fcn.00527ffa
cmp dword [ebp - 0x8d4], 8
lea eax, [ebp - 0x918]
pop ecx
lea ecx, [ebp - 0x8e8]
cmovae ecx, dword [ebp - 0x8e8]
cmp dword [ebp - 0x904], 8
push 1
cmovae eax, dword [ebp - 0x918]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
push 0xc8
call ebx
call fcn.0040ba15
mov ecx, eax
call fcn.004108c5
call fcn.005400a1
push edi
push 0x4f
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x18]
movzx edi, al
call fcn.005400a1
push 0
push 0x91
lea ecx, [ebp - 0x948]
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0x10]
mov byte [ebp - 4], 6
test edi, edi
je 0x41440d
push 0x3e8
xor edi, edi
lea eax, [ebp - 0x8d0]
push edi
push eax
call fcn.00543220
push 0x208
lea eax, [ebp - 0x2e0]
push edi
push eax
call fcn.00543220
xor eax, eax
mov dword [ebp - 0x8ec], 7
add esp, 0x18
mov dword [ebp - 0x8f0], edi
mov word [ebp - 0x900], ax
cmp dword [ebp - 0x934], 8
lea eax, [ebp - 0x948]
lea ecx, [ebp - 0x960]
mov byte [ebp - 4], 7
cmovae eax, dword [ebp - 0x948]
push eax
call fcn.00404479
lea eax, [ebp - 0x900]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x960]
push eax
call fcn.004045b0
pop ecx
pop ecx
push 0
push 1
lea ecx, [ebp - 0x960]
mov byte [ebp - 4], 7
mov edi, eax
call fcn.004037bf
test edi, edi
je 0x4143fa
push str.WnSkinInst.exe
call fcn.00403028
mov ecx, eax
call fcn.00516496
push eax
lea eax, [ebp - 0x2e0]
push 0x5faefc
push eax
call fcn.00404de4
cmp dword [ebp - 0x8ec], 8
lea eax, [ebp - 0x900]
cmovae eax, dword [ebp - 0x900]
push eax
lea eax, [ebp - 0x2e0]
push eax
lea eax, [ebp - 0x8d0]
push str.__s___untie__s
push eax
call fcn.00404de4
lea eax, [ebp - 0x8d0]
push eax
call fcn.005301ce
add esp, 0x24
push 0x3e8
call ebx
push 0
push 1
lea ecx, [ebp - 0x900]
mov byte [ebp - 4], 6
call fcn.004037bf
mov edi, 0x8c
push edi
call fcn.0040ba15
mov ecx, eax
call fcn.0040f11d
inc eax
push eax
push edi
call fcn.0040ba15
mov ecx, eax
call fcn.0041146b
inc edi
push edi
call fcn.0040ba15
mov ecx, eax
call fcn.0040f11d
inc eax
push eax
push edi
call fcn.0040ba15
mov ecx, eax
call fcn.0041146b
mov edi, 0x8e
push edi
call fcn.0040ba15
mov ecx, eax
call fcn.0040f11d
inc eax
push eax
push edi
call fcn.0040ba15
mov ecx, eax
call fcn.0041146b
push 0x208
xor edi, edi
lea eax, [ebp - 0x4e8]
push edi
push eax
call fcn.00543220
add esp, 0xc
lea eax, [ebp - 0x4e8]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0x4e8]
push eax
lea ecx, [ebp - 0x964]
call fcn.0040b24c
push str.MutualTempFile.ini
lea ecx, [ebp - 0x964]
mov byte [ebp - 4], 9
call fcn.0040b319
push dword [ebp - 0x964]
push edi
push str.DownCfg
push str.MutualTempFile
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ebx, dword [ebp - 0x970]
push dword [ebp - 0x964]
mov dword [ebx + 0x2e4], eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4144fa
push dword [ebp - 0x964]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x2f0
cmp dword [ebx + 0x2e4], edi
je 0x41451f
call fcn.00421039
pop ecx
mov dword [ebp - 0x970], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x41453e
push 1
jmp 0x414534
call fcn.00421039
pop ecx
mov dword [ebp - 0x970], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x41453e
push edi
push edi
mov ecx, eax
call fcn.0041397a
mov edi, eax
xor eax, eax
mov byte [ebp - 4], 9
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 0x414583
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 - 0x964]
lea ecx, [ecx - 0x10]
call fcn.0040bbcd
xor ebx, ebx
lea ecx, [ebp - 0x948]
push ebx
push edi
call fcn.004037bf
push ebx
push edi
lea ecx, [ebp - 0x918]
call fcn.004037bf
mov ecx, dword [ebp - 0x968]
lea ecx, [ecx - 0x10]
call fcn.0040bbcd
push ebx
push edi
lea ecx, [ebp - 0x8e8]
call fcn.004037bf
lea ecx, [esi - 0x10]
call fcn.0040bbcd
push ebx
push edi
lea ecx, [ebp - 0x930]
call fcn.004037bf
mov eax, edi
call fcn.0044e9ea
ret