Function at 0x472540
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53d2b3
mov eax, dword fs:[0]
push eax
sub esp, 0x8a0
mov eax, dword [0x5925f0]
xor eax, ebp
mov dword [ebp - 0x18], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x890], ecx
mov word [ebp - 0x63c], 0
push 0x206
push 0
lea eax, [ebp - 0x63a]
push eax
call fcn.004caa30
add esp, 0xc
mov word [ebp - 0x42c], 0
push 0x206
push 0
lea ecx, [ebp - 0x42a]
push ecx
call fcn.004caa30
add esp, 0xc
mov word [ebp - 0x224], 0
push 0x206
push 0
lea edx, [ebp - 0x222]
push edx
call fcn.004caa30
add esp, 0xc
mov dword [ebp - 0x14], 0
mov ecx, dword [0x594280]
call fcn.0042bc90
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x430], 0
cmp dword [0x594694], 0
jne 0x472619
mov eax, dword [ebp - 0x890]
add eax, 0x14
push eax
push 0x54f980
lea ecx, [ebp - 0x63c]
push ecx
call fcn.004cb62b
add esp, 0xc
jmp 0x4726b0
mov edx, dword [0x594694]
cmp dword [edx + 4], 0
je 0x472692
mov eax, dword [ebp - 0x890]
add eax, 0x14
push eax
push str._sTempSkin_
lea ecx, [ebp - 0x63c]
push ecx
call fcn.004cb62b
add esp, 0xc
mov edx, dword [ebp - 0x890]
add edx, 0x14
push edx
push 0x54f9a8
lea eax, [ebp - 0x224]
push eax
call fcn.004cb62b
add esp, 0xc
lea ecx, [ebp - 0x224]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x472690
mov edx, dword [ebp - 0x890]
add edx, 0x14
push edx
push 0x54f9d0
lea eax, [ebp - 0x63c]
push eax
call fcn.004cb62b
add esp, 0xc
jmp 0x4726b0
mov ecx, dword [ebp - 0x890]
add ecx, 0x14
push ecx
push str._sSkin_
lea edx, [ebp - 0x63c]
push edx
call fcn.004cb62b
add esp, 0xc
lea eax, [ebp - 0x644]
push eax
mov ecx, dword [ebp - 0x890]
mov edx, dword [ecx + 0xc]
mov ecx, dword [edx + 4]
call fcn.00478d10
jmp 0x4726de
push 0
lea eax, [ebp - 0x6c0]
push eax
lea ecx, [ebp - 0x644]
call fcn.00478da0
lea ecx, [ebp - 0x6c8]
push ecx
mov edx, dword [ebp - 0x890]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 4]
call fcn.0048f940
push eax
lea ecx, [ebp - 0x644]
call fcn.00447a30
movzx ecx, al
test ecx, ecx
je 0x4731c6
lea ecx, [ebp - 0x644]
call fcn.0048f990
mov dword [ebp - 0x658], eax
lea ecx, [ebp - 0x644]
call fcn.0048f990
add eax, 0x1c
mov dword [ebp - 0x650], eax
jne 0x472736
jmp 0x4726ca
mov edx, dword [ebp - 0x650]
mov eax, dword [edx]
mov dword [ebp - 0x648], eax
cmp dword [ebp - 0x648], 0
jne 0x472752
jmp 0x4726ca
push 8
call fcn.004aa385
add esp, 4
mov dword [ebp - 0x6d0], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x6d0], 0
je 0x472785
mov ecx, dword [ebp - 0x6d0]
call fcn.0047a7a0
mov dword [ebp - 0x894], eax
jmp 0x47278f
mov dword [ebp - 0x894], 0
mov ecx, dword [ebp - 0x894]
mov dword [ebp - 0x6cc], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x6cc]
mov dword [ebp - 0x64c], edx
mov dword [ebp - 0x654], 0
lea eax, [ebp - 0x660]
push eax
mov ecx, dword [ebp - 0x648]
add ecx, 4
call fcn.0041b7e0
jmp 0x4727e3
push 0
lea ecx, [ebp - 0x6d8]
push ecx
lea ecx, [ebp - 0x660]
call fcn.0045a790
lea edx, [ebp - 0x6e0]
push edx
mov ecx, dword [ebp - 0x648]
add ecx, 4
call fcn.00447aa0
push eax
lea ecx, [ebp - 0x660]
call fcn.00447a30
movzx eax, al
test eax, eax
je 0x473169
lea ecx, [ebp - 0x660]
call fcn.0045a770
mov dword [ebp - 0x664], eax
lea ecx, [ebp - 0x660]
call fcn.0045a770
add eax, 0x1c
mov dword [ebp - 0x66c], eax
jne 0x472838
jmp 0x4727cf
mov ecx, dword [ebp - 0x66c]
mov edx, dword [ecx]
mov dword [ebp - 0x670], edx
cmp dword [ebp - 0x670], 0
jne 0x472854
jmp 0x4727cf
push 8
call fcn.004aa385
add esp, 4
mov dword [ebp - 0x6e8], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0x6e8], 0
je 0x472887
mov ecx, dword [ebp - 0x6e8]
call fcn.0047a5d0
mov dword [ebp - 0x898], eax
jmp 0x472891
mov dword [ebp - 0x898], 0
mov eax, dword [ebp - 0x898]
mov dword [ebp - 0x6e4], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x6e4]
mov dword [ebp - 0x668], ecx
push 0x54f9f0
mov ecx, dword [ebp - 0x664]
call fcn.004017c0
push eax
call fcn.004cbc4a
add esp, 8
test eax, eax
jne 0x4728d9
mov edx, dword [ebp - 0x668]
mov dword [ebp - 0x654], edx
lea eax, [ebp - 0x678]
push eax
mov ecx, dword [ebp - 0x670]
add ecx, 4
call fcn.0041b7e0
jmp 0x472904
push 0
lea ecx, [ebp - 0x6f0]
push ecx
lea ecx, [ebp - 0x678]
call fcn.0045a790
lea edx, [ebp - 0x6f8]
push edx
mov ecx, dword [ebp - 0x670]
add ecx, 4
call fcn.00447aa0
push eax
lea ecx, [ebp - 0x678]
call fcn.00447a30
movzx eax, al
test eax, eax
je 0x473114
lea ecx, [ebp - 0x678]
call fcn.0045a770
mov dword [ebp - 0x688], eax
lea ecx, [ebp - 0x678]
call fcn.0045a770
add eax, 0x1c
mov dword [ebp - 0x680], eax
jne 0x472959
jmp 0x4728f0
mov ecx, dword [ebp - 0x680]
mov edx, dword [ecx]
mov dword [ebp - 0x67c], edx
cmp dword [ebp - 0x67c], 0
jne 0x472975
jmp 0x4728f0
push 8
call fcn.004aa385
add esp, 4
mov dword [ebp - 0x700], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0x700], 0
je 0x4729a8
mov ecx, dword [ebp - 0x700]
call fcn.004660a0
mov dword [ebp - 0x89c], eax
jmp 0x4729b2
mov dword [ebp - 0x89c], 0
mov eax, dword [ebp - 0x89c]
mov dword [ebp - 0x6fc], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x684], ecx
push 0x54fa00
lea ecx, [ebp - 0x71c]
call fcn.004015d0
mov dword [ebp - 4], 3
lea edx, [ebp - 0x71c]
push edx
mov eax, dword [ebp - 0x67c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x67c]
mov eax, dword [edx + 0x1c]
call eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x71c]
call fcn.00401610
cmp dword [ebp - 0x14], 0
je 0x472bd0
push 0x18
call fcn.004aa385
add esp, 4
mov dword [ebp - 0x724], eax
mov dword [ebp - 4], 4
cmp dword [ebp - 0x724], 0
je 0x472a54
mov ecx, dword [ebp - 0x724]
call fcn.004631c0
mov dword [ebp - 0x8a0], eax
jmp 0x472a5e
mov dword [ebp - 0x8a0], 0
mov ecx, dword [ebp - 0x8a0]
mov dword [ebp - 0x720], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x68c], edx
mov ecx, dword [ebp - 0x14]
call fcn.004017c0
push eax
lea ecx, [ebp - 0x740]
call fcn.004015d0
mov dword [ebp - 4], 5
lea eax, [ebp - 0x740]
push eax
mov ecx, dword [ebp - 0x654]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x654]
mov eax, dword [edx + 0x1c]
call eax
mov dword [ebp - 0x690], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x740]
call fcn.00401610
cmp dword [ebp - 0x690], 0
je 0x472b7e
mov ecx, dword [ebp - 0x690]
mov edx, dword [ecx]
mov dword [ebp - 0x694], edx
push 0x54fa10
lea ecx, [ebp - 0x75c]
call fcn.004015d0
mov dword [ebp - 4], 6
lea eax, [ebp - 0x75c]
push eax
mov ecx, dword [ebp - 0x694]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x694]
mov eax, dword [edx + 0x1c]
call eax
mov dword [ebp - 0x698], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x75c]
call fcn.00401610
cmp dword [ebp - 0x698], 0
je 0x472b7e
mov ecx, dword [ebp - 0x698]
mov edx, dword [ecx]
mov dword [ebp - 0x69c], edx
cmp dword [ebp - 0x69c], 0
je 0x472b7e
mov ecx, dword [ebp - 0x69c]
call fcn.004635d0
mov dword [ebp - 0x6a0], eax
mov eax, dword [ebp - 0x69c]
push eax
mov ecx, dword [ebp - 0x68c]
call fcn.00463750
push 0
mov ecx, dword [ebp - 0x68c]
call fcn.00463770
cmp dword [ebp - 0x68c], 0
je 0x472bd0
push 0x54fa1c
lea ecx, [ebp - 0x778]
call fcn.004015d0
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x68c]
push ecx
lea edx, [ebp - 0x778]
push edx
mov eax, dword [ebp - 0x684]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x684]
mov eax, dword [edx]
call eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x778]
call fcn.00401610
push 0x54fa2c
lea ecx, [ebp - 0x794]
call fcn.004015d0
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x794]
push ecx
mov edx, dword [ebp - 0x67c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x67c]
mov edx, dword [eax + 0x1c]
call edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x794]
call fcn.00401610
cmp dword [ebp - 0x14], 0
je 0x472d75
mov ecx, dword [ebp - 0x14]
call fcn.004017c0
push eax
lea eax, [ebp - 0x63c]
push eax
push 0x54fa38
lea ecx, [ebp - 0x42c]
push ecx
call fcn.004cb62b
add esp, 0x10
push 0x18
call fcn.004aa385
add esp, 4
mov dword [ebp - 0x79c], eax
mov dword [ebp - 4], 9
cmp dword [ebp - 0x79c], 0
je 0x472c77
mov ecx, dword [ebp - 0x79c]
call fcn.004631c0
mov dword [ebp - 0x8a4], eax
jmp 0x472c81
mov dword [ebp - 0x8a4], 0
mov edx, dword [ebp - 0x8a4]
mov dword [ebp - 0x798], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x798]
mov dword [ebp - 0x6a4], eax
mov ecx, dword [ebp - 0x890]
cmp dword [ecx + 4], 0
je 0x472ccb
push 0x54fa44
mov ecx, dword [ebp - 0x14]
call fcn.004017c0
push eax
mov edx, dword [ebp - 0x10]
push edx
mov ecx, dword [ebp - 0x6a4]
call fcn.00463310
jmp 0x472d23
mov eax, dword [ebp - 0x890]
cmp dword [eax], 0
je 0x472cf5
push 0x54fa4c
mov ecx, dword [ebp - 0x14]
call fcn.004017c0
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov ecx, dword [ebp - 0x6a4]
call fcn.00463310
jmp 0x472d23
lea edx, [ebp - 0x42c]
push edx
mov ecx, dword [ebp - 0x6a4]
call fcn.00463490
mov dword [ebp - 0x6a8], eax
cmp dword [ebp - 0x6a8], 0
jne 0x472d23
mov eax, dword [ebp - 0x890]
mov dword [eax + 8], 1
cmp dword [ebp - 0x6a4], 0
je 0x472d75
push 0x54fa54
lea ecx, [ebp - 0x7b8]
call fcn.004015d0
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x6a4]
push ecx
lea edx, [ebp - 0x7b8]
push edx
mov eax, dword [ebp - 0x684]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x684]
mov eax, dword [edx]
call eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7b8]
call fcn.00401610
push 0x54fa60
lea ecx, [ebp - 0x7d4]
call fcn.004015d0
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x7d4]
push ecx
mov edx, dword [ebp - 0x67c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x67c]
mov edx, dword [eax + 0x1c]
call edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7d4]
call fcn.00401610
cmp dword [ebp - 0x14], 0
je 0x472f1a
mov ecx, dword [ebp - 0x14]
call fcn.004017c0
push eax
lea eax, [ebp - 0x63c]
push eax
push 0x54fa6c
lea ecx, [ebp - 0x42c]
push ecx
call fcn.004cb62b
add esp, 0x10
push 0x18
call fcn.004aa385
add esp, 4
mov dword [ebp - 0x7dc], eax
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x7dc], 0
je 0x472e1c
mov ecx, dword [ebp - 0x7dc]
call fcn.004631c0
mov dword [ebp - 0x8a8], eax
jmp 0x472e26
mov dword [ebp - 0x8a8], 0
mov edx, dword [ebp - 0x8a8]
mov dword [ebp - 0x7d8], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x7d8]
mov dword [ebp - 0x6ac], eax
mov ecx, dword [ebp - 0x890]
cmp dword [ecx + 4], 0
je 0x472e70
push 0x54fa78
mov ecx, dword [ebp - 0x14]
call fcn.004017c0
push eax
mov edx, dword [ebp - 0x10]
push edx
mov ecx, dword [ebp - 0x6ac]
call fcn.00463310
jmp 0x472ec8
mov eax, dword [ebp - 0x890]
cmp dword [eax], 0
je 0x472e9a
push 0x54fa80
mov ecx, dword [ebp - 0x14]
call fcn.004017c0
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov ecx, dword [ebp - 0x6ac]
call fcn.00463310
jmp 0x472ec8
lea edx, [ebp - 0x42c]
push edx
mov ecx, dword [ebp - 0x6ac]
call fcn.00463490
mov dword [ebp - 0x6b0], eax
cmp dword [ebp - 0x6b0], 0
jne 0x472ec8
mov eax, dword [ebp - 0x890]
mov dword [eax + 8], 1
cmp dword [ebp - 0x6ac], 0
je 0x472f1a
push 0x54fa88
lea ecx, [ebp - 0x7f8]
call fcn.004015d0
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0x6ac]
push ecx
lea edx, [ebp - 0x7f8]
push edx
mov eax, dword [ebp - 0x684]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x684]
mov eax, dword [edx]
call eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7f8]
call fcn.00401610
push 0x54fa94
lea ecx, [ebp - 0x814]
call fcn.004015d0
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x814]
push ecx
mov edx, dword [ebp - 0x67c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x67c]
mov edx, dword [eax + 0x1c]
call edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x814]
call fcn.00401610
cmp dword [ebp - 0x14], 0
je 0x4730bf
mov ecx, dword [ebp - 0x14]
call fcn.004017c0
push eax
lea eax, [ebp - 0x63c]
push eax
push 0x54faa0
lea ecx, [ebp - 0x42c]
push ecx
call fcn.004cb62b
add esp, 0x10
push 0x18
call fcn.004aa385
add esp, 4
mov dword [ebp - 0x81c], eax
mov dword [ebp - 4], 0xf
cmp dword [ebp - 0x81c], 0
je 0x472fc1
mov ecx, dword [ebp - 0x81c]
call fcn.004631c0
mov dword [ebp - 0x8ac], eax
jmp 0x472fcb
mov dword [ebp - 0x8ac], 0
mov edx, dword [ebp - 0x8ac]
mov dword [ebp - 0x818], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x818]
mov dword [ebp - 0x6b4], eax
mov ecx, dword [ebp - 0x890]
cmp dword [ecx + 4], 0
je 0x473015
push 0x54faac
mov ecx, dword [ebp - 0x14]
call fcn.004017c0
push eax
mov edx, dword [ebp - 0x10]
push edx
mov ecx, dword [ebp - 0x6b4]
call fcn.00463310
jmp 0x47306d
mov eax, dword [ebp - 0x890]
cmp dword [eax], 0
je 0x47303f
push 0x54fab4
mov ecx, dword [ebp - 0x14]
call fcn.004017c0
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov ecx, dword [ebp - 0x6b4]
call fcn.00463310
jmp 0x47306d
lea edx, [ebp - 0x42c]
push edx
mov ecx, dword [ebp - 0x6b4]
call fcn.00463490
mov dword [ebp - 0x6b8], eax
cmp dword [ebp - 0x6b8], 0
jne 0x47306d
mov eax, dword [ebp - 0x890]
mov dword [eax + 8], 1
cmp dword [ebp - 0x6b4], 0
je 0x4730bf
push 0x54fabc
lea ecx, [ebp - 0x838]
call fcn.004015d0
mov dword [ebp - 4], 0x10
lea ecx, [ebp - 0x6b4]
push ecx
lea edx, [ebp - 0x838]
push edx
mov eax, dword [ebp - 0x684]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x684]
mov eax, dword [edx]
call eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x838]
call fcn.00401610
mov ecx, dword [ebp - 0x688]
call fcn.004017c0
push eax
lea ecx, [ebp - 0x854]
call fcn.004015d0
mov dword [ebp - 4], 0x11
lea ecx, [ebp - 0x684]
push ecx
lea edx, [ebp - 0x854]
push edx
mov eax, dword [ebp - 0x668]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x668]
mov eax, dword [edx]
call eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x854]
call fcn.00401610
jmp 0x4728f0
mov ecx, dword [ebp - 0x664]
call fcn.004017c0
push eax
lea ecx, [ebp - 0x870]
call fcn.004015d0
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x668]
push ecx
lea edx, [ebp - 0x870]
push edx
mov eax, dword [ebp - 0x64c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x64c]
mov eax, dword [edx]
call eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x870]
call fcn.00401610
jmp 0x4727cf
mov ecx, dword [ebp - 0x658]
call fcn.004017c0
push eax
lea ecx, [ebp - 0x88c]
call fcn.004015d0
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x64c]
push ecx
lea edx, [ebp - 0x88c]
push edx
mov eax, dword [ebp - 0x890]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x890]
mov eax, dword [edx + 0x10]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx]
call eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x88c]
call fcn.00401610
jmp 0x4726ca
mov ecx, dword [ebp - 0x890]
cmp dword [ecx + 8], 0
je 0x4731d6
xor eax, eax
jmp 0x4731db
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.004ca9d7
mov esp, ebp
pop ebp
ret