Function at 0x470597
Capabilities:
Check if file exists

Disassembly:
push 0x248
mov eax, 0x501932
call fcn.004d2fe8
mov eax, dword [ebp + 8]
mov ebx, edx
mov edi, ecx
push ebx
mov dword [ebp - 0x22c], edi
mov dword [ebp - 0x224], ebx
mov dword [ebp - 0x228], eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x47063e
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
mov esi, eax
pop ecx
mov dword [ebp - 0x224], esi
and dword [ebp - 4], 0
test esi, esi
je 0x4705f2
and dword [esi], 0
call fcn.0040c040
jmp 0x4705f4
xor esi, esi
or dword [ebp - 4], 0xffffffff
push esi
lea esi, [ebp - 0x244]
call fcn.0040ec70
push dword [ebp - 0x228]
mov ecx, eax
push edi
mov dword [ebp - 4], 1
call fcn.00470003
or dword [ebp - 4], 0xffffffff
mov esi, eax
mov dword [ebp - fcn.0040ea60], vtable.os::script_shared_ptr_class__variant__.0
lea ecx, [ebp - 0x244]
call fcn.0040ea60
mov eax, esi
call fcn.004d306b
ret 4
lea esi, [ebp - 0x238]
call fcn.0040e9e0
mov ecx, esi
mov dword [ebp - 4], 2
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x44]
mov eax, dword [ebp - 0x234]
mov esi, 0x105
test eax, eax
je 0x470781
cmp dword [eax], 1
jne 0x470781
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x470781
push esi
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.004d7710
mov eax, ebx
add esp, 0xc
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x470698
sub eax, edi
push eax
push ebx
lea eax, [ebp - 0x118]
push esi
push eax
call fcn.004cf9e0
lea eax, [ebp - 0x118]
push 0x5c
push eax
call fcn.004cfbf0
add esp, 0x18
test eax, eax
je 0x47077b
push dword [ebp - 0x224]
inc eax
lea ecx, [ebp - 0x13]
sub ecx, eax
push ecx
push eax
call fcn.004cd524
add esp, 0xc
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x47077b
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
mov esi, eax
pop ecx
mov dword [ebp - 0x224], esi
mov byte [ebp - 4], 3
test esi, esi
je 0x470722
and dword [esi], 0
lea ebx, [ebp - 0x118]
call fcn.0040c040
jmp 0x470724
xor esi, esi
push esi
lea esi, [ebp - 0x244]
mov byte [ebp - 4], 2
call fcn.0040ec70
push dword [ebp - 0x228]
mov ecx, eax
push dword [ebp - 0x22c]
mov byte [ebp - 4], 4
call fcn.00470003
mov byte [ebp - 4], 2
mov dword [ebp - fcn.0040ea60], vtable.os::script_shared_ptr_class__variant__.0
mov ecx, esi
mov esi, eax
call fcn.0040ea60
or dword [ebp - 4], 0xffffffff
mov dword [ebp - fcn.0040ea60], vtable.os::script_shared_ptr_class__variant__.0
lea ecx, [ebp - 0x238]
jmp 0x47062f
mov edi, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x238]
lea ecx, [ebp - 0x238]
call dword [eax]
mov eax, dword [edi]
and dword [ebp - 0x230], 0
and dword [ebp - 0x234], 0
lea ecx, [ebp - 0x238]
push ecx
mov ecx, edi
call dword [eax + 0x58]
mov eax, dword [ebp - 0x234]
test eax, eax
je 0x4708ab
cmp dword [eax], 1
jne 0x4707c3
mov edi, dword [eax + 8]
jmp 0x4707c5
xor edi, edi
test edi, edi
je 0x4708ab
push esi
lea eax, [ebp - 0x220]
push 0
push eax
call fcn.004d7710
mov eax, edi
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4707e4
sub eax, ecx
push eax
push edi
lea eax, [ebp - 0x220]
push esi
push eax
call fcn.004cf9e0
lea eax, [ebp - 0x220]
push 0x5c
push eax
call fcn.004cfbf0
add esp, 0x18
test eax, eax
je 0x4708ab
push dword [ebp - 0x224]
inc eax
lea ecx, [ebp - 0x11b]
sub ecx, eax
push ecx
push eax
call fcn.004cd524
add esp, 0xc
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x4708ab
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
mov esi, eax
pop ecx
mov dword [ebp - 0x224], esi
mov byte [ebp - 4], 5
test esi, esi
je 0x47086d
and dword [esi], 0
lea ebx, [ebp - 0x220]
call fcn.0040c040
jmp 0x47086f
xor esi, esi
push esi
lea esi, [ebp - 0x250]
mov byte [ebp - 4], 2
call fcn.0040ec70
push dword [ebp - 0x228]
mov ecx, eax
push dword [ebp - 0x22c]
mov byte [ebp - 4], 6
call fcn.00470003
mov byte [ebp - 4], 2
mov dword [ebp - fcn.0040ea60], vtable.os::script_shared_ptr_class__variant__.0
mov ecx, esi
jmp 0x47075b
xor esi, esi
jmp 0x470762