Function at 0x414920
Capabilities:
Check if file exists
Create directory
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46b420
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
mov eax, dword [0x4914f4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
push str.currentpic
call fcn.0045ec40
add esp, 8
test eax, eax
jne 0x41495d
xor ecx, ecx
jmp 0x414971
mov ecx, eax
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x414962
sub ecx, esi
sar ecx, 1
push ecx
push eax
mov ecx, 0x493874
call fcn.00403400
mov eax, dword [0x493874]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x41499b
mov ecx, dword [0x493874]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0
push 0x1a
push 0x493580
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push str.TencentQQSkins_skin.ini
push 0x493580
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push str._transparent.zip
lea edx, [ebp - 0x10]
push 0x493874
push edx
call fcn.00413e40
add esp, 0xc
push eax
mov ecx, 0x493880
mov dword [ebp - 4], 0
call fcn.00403a00
mov eax, dword [ebp - 0x10]
or esi, 0xffffffff
add eax, 0xfffffff0
mov dword [ebp - 4], esi
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414a08
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.msgiftransparent.zip
lea ecx, [ebp - 0x10]
push 0x493874
push ecx
call fcn.00413e40
add esp, 0xc
push eax
mov ecx, 0x49387c
mov dword [ebp - 4], 1
call fcn.00403a00
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 4], esi
lea edx, [eax + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x414a51
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x473f5c
lea ecx, [ebp - 0x10]
push 0x493874
push ecx
call fcn.00413e40
add esp, 0xc
push eax
mov ecx, 0x493878
mov dword [ebp - 4], 2
call fcn.00403a00
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 4], esi
lea edx, [eax + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x414a9a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str._saveever.jpg
lea ecx, [ebp - 0x10]
push 0x493874
push ecx
call fcn.00413e40
add esp, 0xc
push eax
mov ecx, 0x493888
mov dword [ebp - 4], 3
call fcn.00403a00
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 4], esi
lea edx, [eax + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x414ae3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x473f20
lea ecx, [ebp - 0x10]
push 0x493874
push ecx
call fcn.00413e40
add esp, 0xc
push eax
mov ecx, 0x493884
mov dword [ebp - 4], 4
call fcn.00403a00
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 4], esi
lea edx, [eax + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x414b2c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x473f0c
lea ecx, [ebp - 0x10]
push 0x493874
push ecx
call fcn.00413e40
add esp, 0xc
push eax
mov ecx, 0x49388c
mov dword [ebp - 4], 5
call fcn.00403a00
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 4], esi
lea edx, [eax + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x414b75
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x473ef8
lea ecx, [ebp - 0x10]
push 0x493874
push ecx
call fcn.00413e40
add esp, 0xc
push eax
mov ecx, 0x493890
mov dword [ebp - 4], 6
call fcn.00403a00
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 4], esi
lea edx, [eax + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x414bbe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x473ee4
lea ecx, [ebp - 0x10]
push 0x493874
push ecx
call fcn.00413e40
add esp, 0xc
push eax
mov ecx, 0x4938a0
mov dword [ebp - 4], 7
call fcn.00403a00
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 4], esi
lea edx, [eax + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x414c07
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x473ed0
lea ecx, [ebp - 0x10]
push 0x493874
push ecx
call fcn.00413e40
add esp, 0xc
push eax
mov ecx, 0x493894
mov dword [ebp - 4], 8
call fcn.00403a00
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 4], esi
lea edx, [eax + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x414c50
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x473ebc
lea ecx, [ebp - 0x10]
push 0x493874
push ecx
call fcn.00413e40
add esp, 0xc
push eax
mov ecx, 0x49389c
mov dword [ebp - 4], 9
call fcn.00403a00
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 4], esi
lea edx, [eax + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x414c99
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x473ea8
lea ecx, [ebp - 0x10]
push 0x493874
push ecx
call fcn.00413e40
add esp, 0xc
push eax
mov ecx, 0x493898
mov dword [ebp - 4], 0xa
call fcn.00403a00
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 4], esi
lea edx, [eax + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x414ce2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x473e94
lea ecx, [ebp - 0x14]
push 0x493874
push ecx
call fcn.00413e40
add esp, 0xc
push eax
mov ecx, 0x4938a4
mov dword [ebp - 4], 0xb
call fcn.00403a00
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 4], esi
lea edx, [eax + 0xc]
lock xadd dword [edx], esi
dec esi
test esi, esi
jg 0x414d29
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret