Function at 0x4116c0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52026d
mov eax, dword fs:[0]
push eax
sub esp, 0x148
mov eax, dword [0x5640a8]
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 ebx, ecx
mov dword [ebp - 0x14c], ebx
mov edi, dword [ebx + 0x10]
mov eax, edi
mov ecx, dword [ebx + 0x14]
or eax, ecx
je 0x411b31
cmp dword [ebx + 8], edi
jne 0x411b31
cmp dword [ebx + 0xc], ecx
jne 0x411b31
mov eax, dword [ebx]
mov ecx, dword [eax + 0xa44]
test ecx, ecx
je 0x411736
movss xmm1, dword [0x549038]
push 0x320
call fcn.00460d80
mov eax, dword [ebx]
mov ecx, dword [eax + 0xa38]
test ecx, ecx
je 0x411750
mov eax, dword [ecx]
push 0
push 0
push 0x53d24c
call dword [eax + 0x34]
mov edx, dword [ebx]
lea ecx, [ebp - 0xbc]
add edx, 0xb78
call fcn.00430df0
lea edx, [ebp - 0xbc]
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x5c]
call fcn.0040e740
push 4
push 0
push str..zip
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 1
call fcn.0040c530
test eax, eax
je 0x411a53
mov edi, dword [ebx]
mov eax, 0x2aaaaaab
mov ecx, dword [edi + 0xbf4]
sub ecx, dword [edi + 0xbf0]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x41185b
mov ecx, dword [edi + 0xa30]
test ecx, ecx
je 0x4117ce
mov eax, dword [ecx]
push 1
call dword [eax + 0x108]
mov eax, dword [ebx]
add eax, 0xc60
push 0x53ca10
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0040cc50
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 2
push ecx
mov edx, eax
lea ecx, [ebp - 0x74]
call fcn.0040cdd0
add esp, 0x10
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
call fcn.00402450
push 0x53cb10
lea ecx, [ebp - 0x8c]
call fcn.00403170
push 0x53cb10
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 5
call fcn.00403170
push ecx
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 6
push eax
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x74]
call fcn.00426100
add esp, 8
lea ecx, [ebp - 0x44]
call fcn.00402450
lea ecx, [ebp - 0x8c]
call fcn.00402450
lea ecx, [ebp - 0x74]
jmp 0x411adc
mov esi, dword [edi + 0xbf0]
mov edi, dword [edi + 0xbf4]
mov byte [ebp - 0x145], 1
cmp esi, edi
je 0x4119f2
mov edx, esi
lea ecx, [ebp - 0x44]
call fcn.00430df0
mov ebx, eax
mov eax, dword [ebp - 0x14c]
mov byte [ebp - 4], 7
push 0x53ca10
mov ecx, dword [eax]
lea eax, [ebp - 0x8c]
add ecx, 0xc60
push ecx
push eax
call fcn.0040cc50
push ebx
push eax
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 8
push eax
call fcn.0040cd60
add esp, 0x18
mov eax, dword [ebp - 0x78]
cmp eax, 8
jb 0x4118d3
inc eax
lea ecx, [ebp - 0x8c]
push eax
push dword [ebp - 0x8c]
call fcn.00402f10
xor eax, eax
mov dword [ebp - 0x78], 7
mov dword [ebp - 0x7c], 0
mov word [ebp - 0x8c], ax
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x30]
cmp eax, 8
jb 0x411903
inc eax
lea ecx, [ebp - 0x44]
push eax
push dword [ebp - 0x44]
call fcn.00402f10
xor eax, eax
mov dword [ebp - 0x30], 7
cmp dword [ebp - 0x60], 8
mov word [ebp - 0x44], ax
lea eax, [ebp - 0x74]
cmovae eax, dword [ebp - 0x74]
push eax
mov dword [ebp - 0x34], 0
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x411985
xor bl, bl
lea ecx, [ebp - 0x28]
push str.local
mov byte [ebp - 0x145], bl
call fcn.00403170
push 0x53cb10
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0xc
call fcn.00403170
push ecx
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xd
push eax
lea edx, [ebp - 0xa4]
lea ecx, [ebp - 0x74]
call fcn.00426100
add esp, 8
lea ecx, [ebp - 0xa4]
call fcn.00402450
lea ecx, [ebp - 0x28]
call fcn.00402450
jmp 0x41198b
mov bl, byte [ebp - 0x145]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x60]
cmp eax, 8
jb 0x4119a4
inc eax
lea ecx, [ebp - 0x74]
push eax
push dword [ebp - 0x74]
call fcn.00402f10
add esi, 0x30
cmp esi, edi
jne 0x411876
test bl, bl
mov ebx, dword [ebp - 0x14c]
jne 0x4119f2
mov eax, dword [ebx]
mov ecx, dword [eax + 0xa30]
test ecx, ecx
je 0x4119cf
mov eax, dword [ecx]
push 1
call dword [eax + 0x108]
mov eax, dword [ebx]
mov ecx, dword [eax + 0xa38]
test ecx, ecx
je 0x411ae1
mov eax, dword [ecx]
push 0
push 0
push 0x53d25c
call dword [eax + 0x34]
jmp 0x411ae1
mov eax, dword [ebx]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], eax
xor eax, eax
push 0xffffffffffffffff
push eax
mov word [ebp - 0x28], ax
lea eax, [ebp - 0x5c]
push eax
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], 0
call fcn.00402670
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x154]
call fcn.004156b0
mov ecx, eax
mov byte [ebp - 4], 0xf
call fcn.004051d0
cmp dword [ebp - 0x150], 0
je 0x411a46
call fcn.004fe21e
lea ecx, [ebp - 0x2c]
call fcn.00412bf0
jmp 0x411ae1
mov eax, dword [ebx]
mov ecx, dword [eax + 0xa30]
test ecx, ecx
je 0x411a69
mov eax, dword [ecx]
push 1
call dword [eax + 0x108]
mov eax, dword [ebx]
add eax, 0xc60
push 0x53ca10
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.0040cc50
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x10
push ecx
mov edx, eax
lea ecx, [ebp - 0xa4]
call fcn.0040cdd0
add esp, 0x10
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x12
call fcn.00402450
push 0x53cb10
lea ecx, [ebp - 0x28]
call fcn.00403170
mov byte [ebp - 4], 0x13
lea edx, [ebp - 0x28]
mov eax, dword [ebx]
push ecx
add eax, 0xc60
lea ecx, [ebp - 0xa4]
push eax
call fcn.00426100
add esp, 8
lea ecx, [ebp - 0x28]
call fcn.00402450
lea ecx, [ebp - 0xa4]
call fcn.00402450
mov eax, dword [ebp - 0x48]
cmp eax, 8
jb 0x411af6
inc eax
lea ecx, [ebp - 0x5c]
push eax
push dword [ebp - 0x5c]
call fcn.00402f10
xor eax, eax
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x4c], 0
cmp eax, 8
jb 0x411c7d
inc eax
lea ecx, [ebp - 0xbc]
push eax
push dword [ebp - 0xbc]
call fcn.00402f10
jmp 0x411c7d
mov eax, dword [ebx]
mov esi, dword [eax + 0xa44]
test esi, esi
je 0x411c7d
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
call fcn.004e2bf0
mov edx, dword [ebx + 0x14]
mov ecx, edi
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x549038]
movss dword [ebp - 0x14c], xmm0
call fcn.004e2bf0
movss xmm1, dword [ebp - 0x14c]
cvtsd2ss xmm0, xmm0
divss xmm1, xmm0
ucomiss xmm1, dword [esi + 0xe30]
movss dword [ebp - 0x14c], xmm1
lahf
test ah, 0x44
jnp 0x411bf8
movd xmm0, dword [esi + 0xe24]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x411bf8
movd xmm0, dword [esi + 0xe20]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
ja 0x411bf8
mov ecx, dword [esi + 0xe3c]
test ecx, ecx
je 0x411be1
mov eax, dword [ecx]
cmp eax, vtable.ui::CTimeLineTween.0
jne 0x411bd6
mov byte [ecx + 0x3f], 0
mov dword [ecx + 0x38], 0x3f800000
mov dword [ecx + 0x30], 0
jmp 0x411be1
call dword [eax + 0xc]
movss xmm1, dword [ebp - 0x14c]
mov ecx, esi
movss dword [esi + 0xe30], xmm1
call fcn.00448f20
movss xmm1, dword [ebp - 0x14c]
lea eax, [ebp - 0x13c]
mov dword [ebp - fcn.004524a0], vtable.ui::CDuiString.0
mov dword [ebp - 0x140], eax
xor eax, eax
mov word [ebp - 0x13c], ax
cvtps2pd xmm0, xmm1
sub esp, 8
mov dword [ebp - 4], 0x15
lea eax, [ebp - 0x144]
movsd qword [esp], xmm0
push 0x53d1ec
push eax
call fcn.00452970
mov eax, dword [ebx]
add esp, 0x10
mov ecx, dword [eax + 0xa44]
push 0x53d170
push str.normal
push dword [ebp - 0x140]
mov eax, dword [ecx]
call dword [eax + 0x34]
mov eax, dword [ebp - 0x140]
lea ecx, [ebp - 0x13c]
mov dword [ebp - fcn.004524a0], vtable.ui::CDuiString.0
cmp eax, ecx
je 0x411c7d
push eax
call fcn.004fdfef
add esp, 4
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.004e1bb1
mov esp, ebp
pop ebp
ret