Function at 0x40bcbd
Capabilities:
Check if file exists
Get common file path
Move file

Disassembly:
push 0xc20
mov eax, 0x5f19f7
call fcn.0044ea40
call fcn.00403028
mov ecx, eax
call fcn.0052f6f4
push eax
lea ecx, [ebp - 0xc08]
call fcn.00404479
and dword [ebp - 4], 0
lea eax, [ebp - 0xc08]
push 8
pop esi
cmp dword [ebp - 0xbf4], esi
lea ecx, [ebp - 0xc24]
cmovae eax, dword [ebp - 0xc08]
push eax
call fcn.0040b24c
push 0x5c
push dword [ebp - 0xc24]
mov byte [ebp - 4], 1
call fcn.00544847
pop ecx
pop ecx
test eax, eax
jne 0x40bd26
or eax, 0xffffffff
jmp 0x40bd2e
sub eax, dword [ebp - 0xc24]
sar eax, 1
inc eax
lea ecx, [ebp - 0xc24]
push eax
lea eax, [ebp - 0xc28]
push eax
call fcn.0040ba53
push eax
lea ecx, [ebp - 0xc24]
mov byte [ebp - 4], 2
call fcn.0040b29f
mov ecx, dword [ebp - 0xc28]
mov byte [ebp - 4], 1
lea ecx, [ecx - 0x10]
call fcn.0040bbcd
push str..temp
lea eax, [ebp - 0xc08]
push eax
lea eax, [ebp - 0xc20]
push eax
call fcn.0040b146
add esp, 0xc
cmp dword [ebp - 0xc0c], esi
lea eax, [ebp - 0xc20]
mov byte [ebp - 4], 3
cmovae eax, dword [ebp - 0xc20]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x40bdd1
cmp dword [ebp - 0xbf4], esi
lea ecx, [ebp - 0xc08]
push 1
cmovae ecx, dword [ebp - 0xc08]
lea eax, [ebp - 0xc20]
cmp dword [ebp - 0xc0c], esi
push ecx
cmovae eax, dword [ebp - 0xc20]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, 0x3e8
push edi
call ebx
call fcn.0040ba15
mov ecx, eax
call fcn.004108c5
push 0x4f
call fcn.0040ba15
mov ecx, eax
call fcn.0040f11d
push 0x91
mov esi, eax
call fcn.0040ba15
mov ecx, eax
call fcn.0040eee7
mov dword [ebp - 0xc28], eax
test esi, esi
je 0x40bf19
push edi
xor esi, esi
lea eax, [ebp - 0x3f8]
push esi
push eax
call fcn.00543220
push edi
lea eax, [ebp - 0xbf0]
push esi
push eax
call fcn.00543220
push 0x208
lea eax, [ebp - 0x600]
push esi
push eax
call fcn.00543220
add esp, 0x24
push str..wnpf
push dword [ebp - 0xc28]
call fcn.00403028
mov ecx, eax
call fcn.0052f788
push eax
lea eax, [ebp - 0x3f8]
push str._sSkin_s_s
push eax
call fcn.00404de4
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea eax, [ebp - 0x3f8]
add esp, 0x14
push eax
call esi
test eax, eax
jne 0x40bec5
push str..wnpf
push dword [ebp - 0xc28]
call fcn.00403028
mov ecx, eax
call fcn.0051647e
push eax
lea eax, [ebp - 0x3f8]
push str._sAllSkin_s_s
push eax
call fcn.00404de4
add esp, 0x14
lea eax, [ebp - 0x3f8]
push eax
call esi
test eax, eax
je 0x40bf19
push str.WnSkinInst.exe
call fcn.00403028
mov ecx, eax
call fcn.00516496
push eax
lea eax, [ebp - 0x600]
push 0x5faefc
push eax
call fcn.00404de4
lea eax, [ebp - 0x3f8]
push eax
lea eax, [ebp - 0x600]
push eax
lea eax, [ebp - 0xbf0]
push str.__s___untie__s
push eax
call fcn.00404de4
lea eax, [ebp - 0xbf0]
push eax
call fcn.005301ce
add esp, 0x24
push edi
call ebx
mov esi, 0x8c
push esi
call fcn.0040ba15
mov ecx, eax
call fcn.0040f11d
inc eax
push eax
push esi
call fcn.0040ba15
mov ecx, eax
call fcn.0041146b
inc esi
push esi
call fcn.0040ba15
mov ecx, eax
call fcn.0040f11d
inc eax
push eax
push esi
call fcn.0040ba15
mov ecx, eax
call fcn.0041146b
mov esi, 0x8e
push esi
call fcn.0040ba15
mov ecx, eax
call fcn.0040f11d
inc eax
push eax
push esi
call fcn.0040ba15
mov ecx, eax
call fcn.0041146b
push 0x208
xor ebx, ebx
lea eax, [ebp - 0x808]
push ebx
push eax
call fcn.00543220
add esp, 0xc
lea eax, [ebp - 0x808]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0x808]
push eax
lea ecx, [ebp - 0xc2c]
call fcn.0040b24c
push str.MutualTempFile.ini
lea ecx, [ebp - 0xc2c]
mov byte [ebp - 4], 4
call fcn.0040b319
mov ecx, dword [ebp - 0xc2c]
lea ecx, [ecx - 0x10]
call fcn.0040bbcd
push ebx
push 1
lea ecx, [ebp - 0xc20]
call fcn.004037bf
mov ecx, dword [ebp - 0xc24]
lea ecx, [ecx - 0x10]
call fcn.0040bbcd
push ebx
push 1
lea ecx, [ebp - 0xc08]
call fcn.004037bf
call fcn.0044e9ea
ret