Function at 0x407a10
Capabilities:
Check if file exists
Copy file
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53add4
mov eax, dword fs:[0]
push eax
mov eax, 0x1834
call fcn.0040c2f0
mov eax, dword [0x59c024]
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 edi, ecx
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x1208]
push 0x3e8
xor ebx, ebx
push ebx
push eax
call fcn.004177a0
push 0x208
lea eax, [ebp - 0xa38]
push ebx
push eax
call fcn.004177a0
push 0x208
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.004177a0
push 0x208
lea eax, [ebp - 0x830]
push ebx
push eax
call fcn.004177a0
push 0x208
lea eax, [ebp - 0x628]
push ebx
push eax
call fcn.004177a0
add esp, 0x3c
cmp dword [esi + 0x14], 8
jb 0x407aae
mov esi, dword [esi]
push 0x53d470
call fcn.0041af11
inc eax
lea eax, [esi + eax*2]
push eax
lea eax, [ebp - 0x1208]
push eax
call fcn.00423cea
lea eax, [ebp - 0x1208]
push eax
lea eax, [ebp - 0x1838]
push eax
call fcn.00414214
cmp dword [ebp - 0x1824], 8
lea eax, [ebp - 0x1838]
mov dword [ebp - 4], ebx
cmovae eax, dword [ebp - 0x1838]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0041dfc6
mov esi, 0x1f4
lea eax, [ebp - 0xc2c]
push esi
push ebx
push eax
call fcn.004177a0
push esi
lea eax, [ebp - 0xe20]
push ebx
push eax
call fcn.004177a0
lea eax, [ebp - 0xc2c]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0041080a
lea eax, [ebp - 0xe20]
push eax
lea eax, [ebp - 0xc2c]
push eax
call fcn.00414468
add esp, 0x44
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0xe20]
push eax
call fcn.00410313
pop ecx
pop ecx
call fcn.004029eb
mov ecx, eax
call fcn.0040d47f
push eax
lea eax, [ebp - 0x628]
push str._sAllSkin_
push eax
call fcn.00402b60
add esp, 0xc
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x407b9f
push ebx
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov esi, 0x208
lea eax, [ebp - 0x1410]
push esi
push ebx
push eax
call fcn.004177a0
push str..lspf
lea eax, [ebp - 0x1410]
push str._1__s
push eax
call fcn.00402b60
lea eax, [ebp - 0x1410]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.004170d4
add esp, 0x20
test eax, eax
je 0x407bfa
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x218]
push str..lspf
push eax
call fcn.00423cea
pop ecx
pop ecx
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0xa38]
push eax
call fcn.0041dfc6
lea eax, [ebp - 0xa38]
push str..lspf
push eax
call fcn.004170d4
add esp, 0x10
test eax, eax
je 0x407c2a
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x628]
push eax
lea eax, [ebp - 0x830]
push 0x53c65c
push eax
call fcn.00402b60
push esi
lea eax, [ebp - 0x1618]
push ebx
push eax
call fcn.004177a0
push esi
lea eax, [ebp - 0x1820]
push ebx
push eax
call fcn.004177a0
lea eax, [ebp - 0x1208]
push eax
lea eax, [ebp - 0x1618]
push eax
call fcn.0041dfc6
lea eax, [ebp - 0x830]
push eax
lea eax, [ebp - 0x1820]
push eax
call fcn.0041dfc6
lea eax, [ebp - 0x1618]
push eax
call fcn.004240c5
mov esi, eax
lea eax, [ebp - 0x1820]
push eax
call fcn.004240c5
add esp, 0x40
mov dword [ebp - 0x1840], eax
lea ecx, [ebp - 0x1839]
call fcn.00402ba9
xor eax, eax
lea ecx, [ebp - 0x1839]
inc eax
mov byte [ebp - 4], al
lea eax, [ebp - 0x183a]
push eax
lea eax, [ebp - 0x1208]
push eax
call fcn.0040b690
test al, al
jne 0x407cf4
cmp byte [ebp - 0x183a], al
je 0x407e3e
mov ecx, edi
call fcn.00406cd5
jmp 0x407e50
push ebx
lea eax, [ebp - 0x830]
push eax
lea eax, [ebp - 0x1208]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push dword [ebp - 0x1840]
mov ebx, eax
push esi
call fcn.0041afaf
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
push 1
pop eax
cmove ecx, eax
lea eax, [ebp - 0x830]
push 0
mov dword [ebp - 0x1840], ecx
lea ecx, [ebp - 0x1839]
push eax
call fcn.0040a24d
call fcn.004029eb
mov ecx, eax
call fcn.0041473b
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov esi, eax
push esi
push 0x53c6d4
push str.IsModifyUIStyle
push str.SetModify
call edi
push esi
push 0x53c6d4
push str.IsModifyUIStyle64
push str.SetModify
call edi
push esi
push 0x53c6d4
push str.IsTempModifyUIStyle
push str.SetModify
call edi
push esi
mov esi, 0x53c6d4
push esi
push str.IsTempModifyUIStyle64
push str.SetModify
call edi
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.004177a0
add esp, 0xc
call fcn.004029eb
mov ecx, eax
call fcn.0040d47f
push eax
lea eax, [ebp - 0x420]
push str._sConfig_
push eax
call fcn.00402b60
lea eax, [ebp - 0x420]
push str.Config.ini
push eax
call fcn.00423cea
add esp, 0x14
lea eax, [ebp - 0x420]
push eax
push esi
push str.IsUseSkin
mov esi, str.Setting
push esi
call edi
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0xa38]
push eax
push str.SkinName
push esi
call edi
lea eax, [ebp - 0x420]
push eax
push 0x53c6d4
push str.InstallSkin
push esi
call edi
test ebx, ebx
je 0x407e34
xor ebx, ebx
push ebx
push 0x53eda0
push 0x53eed8
jmp 0x407e49
xor ebx, ebx
cmp dword [ebp - 0x1840], ebx
jne 0x407e27
push ebx
push 0x53eda0
push 0x53edac
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [ebp - 0x1839]
call fcn.00444e40
xor eax, eax
lea ecx, [ebp - 0x1838]
push ebx
inc eax
push eax
call fcn.00401420
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.0040c19b
mov esp, ebp
pop ebp
ret 4