Function at 0x404cf0
Capabilities:
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x504338
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x27c
push ebx
push esi
push edi
xor edi, edi
push 0x206
lea eax, [ebp - 0x282]
push edi
push eax
mov word [ebp - 0x284], di
call sub.MSVCR80.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x7c]
call fcn.00402ae0
push str.__xml_version_1.0__encoding_UTF_8____r_n
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], edi
call fcn.004edd30
push edi
push edi
push str.skin
lea ecx, [ebp - 0x7c]
call fcn.004ed5a0
movzx esi, al
cmp esi, edi
je 0x404f46
lea ecx, [ebp - 0x7c]
call fcn.004eb230
mov esi, dword [ebp + 8]
mov edi, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
add esi, 0x34
add ecx, edi
cmp edi, ecx
jbe 0x404d81
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esi + 0xc]
mov ebx, dword [esi + 0x10]
add ebx, eax
cmp eax, ebx
jbe 0x404d93
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, esi
je 0x404d9d
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp edi, ebx
je 0x404ef3
mov edx, dword [esi + 0xc]
add edx, dword [esi + 0x10]
mov ebx, edi
cmp edi, edx
jb 0x404db7
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esi + 8]
cmp eax, edi
ja 0x404dc2
mov ebx, edi
sub ebx, eax
mov eax, dword [esi + 4]
mov ecx, dword [eax + ebx*4]
cmp dword [ecx], 0
je 0x404edb
push 0
push 0
push str.theme
lea ecx, [ebp - 0x7c]
call fcn.004ed5a0
mov edx, dword [esi + 0xc]
add edx, dword [esi + 0x10]
mov ebx, edi
cmp edi, edx
jb 0x404df4
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esi + 8]
cmp eax, edi
ja 0x404dff
mov ebx, edi
sub ebx, eax
mov eax, dword [esi + 4]
mov ecx, dword [eax + ebx*4]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x40]
push 0
push edx
push str.InfoType
push eax
lea ecx, [ebp - 0x7c]
call fcn.004ecac0
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 0x10]
mov ebx, edi
cmp edi, ecx
jb 0x404e2d
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esi + 8]
cmp eax, edi
ja 0x404e38
mov ebx, edi
sub ebx, eax
mov edx, dword [esi + 4]
mov ebx, dword [edx + ebx*4]
lea ecx, [ebx + 4]
call dword [sym.imp.Common.dll_public:_wchar_t_const____thiscall_CTXStringW::GetString_void_const]
push 0
push eax
mov eax, dword [ebp - 0x40]
push str.SkinInfo
push eax
lea ecx, [ebp - 0x7c]
call fcn.004ebe90
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 0x10]
mov ebx, edi
cmp edi, ecx
jb 0x404e6d
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esi + 8]
cmp eax, edi
ja 0x404e78
mov ebx, edi
sub ebx, eax
mov edx, dword [esi + 4]
mov ebx, dword [edx + ebx*4]
lea ecx, [ebx + 8]
call dword [sym.imp.Common.dll_public:_wchar_t_const____thiscall_CTXStringW::GetString_void_const]
push 0
push eax
mov eax, dword [ebp - 0x40]
push str.SkinName
push eax
lea ecx, [ebp - 0x7c]
call fcn.004ebe90
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 0x10]
mov ebx, edi
cmp edi, ecx
jb 0x404ead
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esi + 8]
cmp eax, edi
ja 0x404eb8
mov ebx, edi
sub ebx, eax
mov edx, dword [esi + 4]
mov ebx, dword [edx + ebx*4]
lea ecx, [ebx + 0xc]
call dword [sym.imp.Common.dll_public:_wchar_t_const____thiscall_CTXStringW::GetString_void_const]
push 0
push eax
mov eax, dword [ebp - 0x40]
push str.PreviewName
push eax
lea ecx, [ebp - 0x7c]
call fcn.004ebe90
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 0x10]
cmp edi, ecx
jb 0x404eeb
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
add edi, 1
jmp 0x404d81
lea ecx, [ebp - 0x7c]
call fcn.004eb250
push 1
push 0x1a
lea edx, [ebp - 0x284]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push str.TencentQQPCMgr_skins_skins.xml
lea eax, [ebp - 0x284]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [ebp - 0x284]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push ecx
mov eax, esp
lea edx, [ebp - 0x284]
lea ecx, [ebp - 0x7c]
mov dword [ebp + 8], esp
mov dword [eax], edx
call fcn.004efc90
movzx esi, al
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], 0xffffffff
call fcn.004edb80
mov ecx, dword [ebp - 0xc]
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4