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

Disassembly:
push 0x968
mov eax, 0x5f17d5
call fcn.0044e95a
mov dword [ebp - 0x970], ecx
call fcn.0053f541
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.005164d5
cmp dword [ebp - 0x920], edi
jne 0x41414f
push eax
push 0x64
lea eax, [ebp - 0xd8]
push eax
push 0x5f9ed8
push 0x5f9fc4
push str.UserLogin
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0xd8], di
jne 0x41411b
mov eax, edi
jmp 0x414128
lea eax, [ebp - 0xd8]
push eax
call fcn.005454d1
pop ecx
push eax
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x930]
call fcn.00403bdf
call fcn.0053f541
lea ecx, [ebp - 0x930]
push ecx
push esi
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
call fcn.00421c9b
push eax
lea ecx, [ebp - 0x96c]
call fcn.0040b182
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.00516386
push eax
lea eax, [ebp - 0x96c]
push str.__s_s__DownCfg__s
push eax
call fcn.00415037
mov esi, dword [ebp - 0x96c]
add esp, 0x14
cmp dword [esi - 4], 1
jle 0x4141bf
push dword [esi - 0xc]
lea ecx, [ebp - 0x96c]
call fcn.0040b946
mov esi, dword [ebp - 0x96c]
push esi
call fcn.0052f663
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
pop ecx
push 0x64
call ebx
call fcn.00403028
mov ecx, eax
call fcn.0052ea5b
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.0040b20c
push 0x5c
push dword [ebp - 0x968]
mov byte [ebp - 4], 3
call fcn.00543ce7
pop ecx
pop ecx
test eax, eax
jne 0x414228
or eax, 0xffffffff
jmp 0x414230
sub eax, dword [ebp - 0x968]
sar eax, 1
inc eax
lea ecx, [ebp - 0x968]
push eax
lea eax, [ebp - 0x974]
push eax
call fcn.0040ba13
push eax
lea ecx, [ebp - 0x968]
mov byte [ebp - 4], 4
call fcn.0040b25f
mov ecx, dword [ebp - 0x974]
mov byte [ebp - 4], 3
lea ecx, [ecx - 0x10]
call fcn.0040bb8d
push str..temp
lea eax, [ebp - 0x8e8]
push eax
lea eax, [ebp - 0x918]
push eax
call fcn.0040b106
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 0x4142ad
push 0x3e8
call ebx
jmp 0x4142fa
cmp dword [ebp - 0x8d4], 8
lea eax, [ebp - 0x8e8]
cmovae eax, dword [ebp - 0x8e8]
push eax
call fcn.005275ba
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.0040b9d5
mov ecx, eax
call fcn.00410921
call fcn.0053f541
push edi
push 0x4f
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x18]
movzx edi, al
call fcn.0053f541
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 0x414456
push 0x3e8
xor edi, edi
lea eax, [ebp - 0x8d0]
push edi
push eax
call fcn.005426c0
push 0x208
lea eax, [ebp - 0x2e0]
push edi
push eax
call fcn.005426c0
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 0x414443
push str.WnSkinInst.exe
call fcn.00403028
mov ecx, eax
call fcn.00516386
push eax
lea eax, [ebp - 0x2e0]
push 0x5f9edc
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.0052f535
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.0040b9d5
mov ecx, eax
call fcn.0040f179
inc eax
push eax
push edi
call fcn.0040b9d5
mov ecx, eax
call fcn.004114c9
inc edi
push edi
call fcn.0040b9d5
mov ecx, eax
call fcn.0040f179
inc eax
push eax
push edi
call fcn.0040b9d5
mov ecx, eax
call fcn.004114c9
mov edi, 0x8e
push edi
call fcn.0040b9d5
mov ecx, eax
call fcn.0040f179
inc eax
push eax
push edi
call fcn.0040b9d5
mov ecx, eax
call fcn.004114c9
push 0x208
xor edi, edi
lea eax, [ebp - 0x4e8]
push edi
push eax
call fcn.005426c0
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.0040b20c
push str.MutualTempFile.ini
lea ecx, [ebp - 0x964]
mov byte [ebp - 4], 9
call fcn.0040b2d9
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 0x414543
push dword [ebp - 0x964]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x2f0
cmp dword [ebx + 0x2e4], edi
je 0x414568
call fcn.00420fa5
pop ecx
mov dword [ebp - 0x970], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x414587
push 1
jmp 0x41457d
call fcn.00420fa5
pop ecx
mov dword [ebp - 0x970], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x414587
push edi
push edi
mov ecx, eax
call fcn.004139be
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 0x5f9ed8
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 0x4145cc
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.004165f2
mov ecx, dword [ebp - 0x964]
lea ecx, [ecx - 0x10]
call fcn.0040bb8d
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.0040bb8d
push ebx
push edi
lea ecx, [ebp - 0x8e8]
call fcn.004037bf
lea ecx, [esi - 0x10]
call fcn.0040bb8d
push ebx
push edi
lea ecx, [ebp - 0x930]
call fcn.004037bf
mov eax, edi
call fcn.0044e904
ret