Function at 0x4627b4
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
push ebx
push esi
mov esi, eax
mov eax, dword [0x6d0fd0]
push edi
mov ecx, 0x6d0fd0
call dword [eax + 0xc]
add eax, 0x10
xor ebx, ebx
mov dword [esp + 0x10], eax
cmp esi, ebx
je 0x462840
cmp word [esi], bx
je 0x462840
push 6
push str.res:__
push esi
call fcn.0043d3af
add esp, 0xc
test eax, eax
jne 0x46280a
push esi
call fcn.00462be1
cmp eax, ebx
je 0x462840
mov eax, esi
call fcn.0042444f
push eax
push esi
jmp 0x462847
call fcn.004e0fd5
mov edi, eax
call fcn.0042444f
push eax
push edi
lea eax, [esp + 0x18]
call fcn.0040aa40
push esi
push str.Skin_s
lea ecx, [esp + 0x18]
call fcn.0046a779
pop ecx
pop ecx
push dword [esp + 0x10]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x462850
push 0x17
push str.res:__SKIN_DEFAULT_SKIN
lea eax, [esp + 0x18]
call fcn.0040aa40
lea eax, [esp + 0x18]
push str.360skin.xml
push eax
lea eax, [esp + 0x18]
call fcn.00462e31
mov eax, dword [0x6d2008]
pop ecx
pop ecx
push ebx
push ebx
lea edx, [esp + 0x1c]
push edx
mov esi, 0x64fea0
push esi
push dword [esp + 0x28]
mov dword [esp + 0x28], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x44]
test eax, eax
js 0x462bcc
mov eax, dword [esp + 0x14]
lea edx, [esp + 0xc]
push edx
push esi
push str.SkinInfo
mov dword [esp + 0x18], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0xf4]
test eax, eax
js 0x462bbe
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
lea edx, [esp + 0x28]
push edx
push dword [0x6d4388]
push eax
call dword [ecx + 0x54]
mov eax, dword [esp + 0xc]
push dword [0x6d4384]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x74]
push dword [0x6d437c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x74]
mov ecx, dword [ebp + 8]
push eax
mov dword [esp + 0x20], eax
call fcn.0046922a
mov esi, eax
cmp esi, ebx
je 0x462a6c
push dword [esp + 0x30]
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x418]
push eax
call fcn.004e1164
mov ebx, 0x104
test eax, eax
js 0x462a08
xor eax, eax
mov edi, esi
stosd dword es:[edi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi], eax
mov eax, dword [esp + 0xc]
push dword [0x6d4380]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x94]
movzx eax, al
mov dword [esi + 0x620], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 4], eax
mov eax, dword [esp + 0xc]
push dword [0x6d438c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x74]
mov dword [esi + 0x624], eax
mov eax, dword [esp + 0xc]
push dword [0x6d4400]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x74]
mov dword [esi + 0x628], eax
mov eax, dword [esp + 0xc]
push dword [0x6d4404]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x74]
mov dword [esi + 0x62c], eax
mov eax, dword [esp + 0xc]
push dword [0x6d4408]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x74]
mov dword [esi + 0x630], eax
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
lea edx, [esp + 0x38]
push edx
push dword [0x6d4378]
push eax
call dword [ecx + 0x54]
push dword [esp + 0x40]
mov edi, 0x64f918
push edi
lea eax, [esi + 8]
push ebx
push eax
call fcn.004692b5
push dword [esp + 0x40]
lea eax, [esi + 0x418]
push edi
push ebx
push eax
call fcn.004692b5
add esp, 0x20
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x462a0d
mov edi, 0x64f918
push dword [esp + 0x10]
lea eax, [esi + 0x210]
push edi
push ebx
push eax
call fcn.004692b5
add esp, 0x10
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0xc]
test eax, eax
je 0x462a3b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x462a49
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
call fcn.0040ace0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.0040ace0
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x634
call fcn.004013b3
mov esi, eax
pop ecx
mov dword [esp + 0x24], esi
cmp esi, ebx
je 0x462bb3
xor eax, eax
mov edi, esi
stosd dword es:[edi], eax
mov eax, dword [esp + 0x1c]
mov dword [esi], eax
mov eax, dword [esp + 0xc]
push dword [0x6d4380]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x94]
movzx eax, al
mov dword [esi + 0x620], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 4], eax
mov eax, dword [esp + 0xc]
push dword [0x6d438c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x74]
mov dword [esi + 0x624], eax
mov eax, dword [esp + 0xc]
push dword [0x6d4400]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x74]
mov dword [esi + 0x628], eax
mov eax, dword [esp + 0xc]
push dword [0x6d4404]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x74]
mov dword [esi + 0x62c], eax
mov eax, dword [esp + 0xc]
push dword [0x6d4408]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x74]
mov dword [esi + 0x630], eax
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
lea edx, [esp + 0x38]
push edx
push dword [0x6d4378]
push eax
call dword [ecx + 0x54]
push dword [esp + 0x40]
mov edi, 0x64f918
push edi
mov ebx, 0x104
lea eax, [esi + 8]
push ebx
push eax
call fcn.004692b5
push dword [esp + 0x20]
lea eax, [esi + 0x210]
push edi
push ebx
push eax
call fcn.004692b5
push dword [esp + 0x50]
add esi, 0x418
push edi
push ebx
push esi
call fcn.004692b5
mov esi, dword [ebp + 8]
add esp, 0x30
add esi, 0x10
lea eax, [esp + 0x24]
call fcn.004616c7
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0x38]
push eax
call esi
lea eax, [esp + 0x28]
push eax
call esi
mov eax, dword [esp + 0xc]
test eax, eax
je 0x462b9c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x462baa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [esp + 0x24]
jmp 0x462a49
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0xc]
cmp eax, ebx
je 0x462bcc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x462bda
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor esi, esi
jmp 0x462a49