Function at 0x51ac20
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x65cd88
mov eax, dword fs:[0]
push eax
mov eax, 0x2218
call fcn.005bdf80
mov eax, dword [0x6fc0c4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x21d4], ecx
mov eax, dword [ebp + 0x14]
mov dword [eax], 1
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x21cc], ecx
lea ecx, [ebp - 0x21c4]
call fcn.004798f0
lea edx, [ebp - 0x21c4]
push edx
mov eax, dword [ebp - 0x21cc]
push eax
call fcn.00469af0
mov ecx, eax
call fcn.0046de00
movzx ecx, al
test ecx, ecx
jne 0x51ac9a
xor eax, eax
jmp 0x51af75
call fcn.00469af0
mov ecx, eax
call fcn.0046ac10
movzx edx, al
test edx, edx
je 0x51ae8a
cmp dword [ebp - 0x77e], 0
jne 0x51ae8a
lea ecx, [ebp - 0x21c8]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_void_]
mov dword [ebp - 4], 0
lea eax, [ebp - 0x21c0]
push eax
push 0x686748
lea ecx, [ebp - 0x21d8]
push ecx
lea edx, [ebp - 0x21c8]
push edx
call dword [sym.imp.utilities.dll_public:_class_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits____cdecl_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::Format_wchar_t_const__]
add esp, 0x10
lea ecx, [ebp - 0x21d8]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
push ecx
mov ecx, esp
mov dword [ebp - 0x21fc], esp
push 0x686768
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
mov dword [ebp - 0x21dc], eax
mov eax, dword [ebp - 0x21dc]
mov dword [ebp - 0x2200], eax
mov byte [ebp - 4], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2204], esp
push 0x68676c
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
mov dword [ebp - 0x21e0], eax
mov ecx, dword [ebp - 0x21e0]
mov dword [ebp - 0x2208], ecx
mov byte [ebp - 4], 2
push ecx
mov ecx, esp
mov dword [ebp - 0x220c], esp
push 0x686770
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
mov dword [ebp - 0x21e4], eax
mov edx, dword [ebp - 0x21e4]
mov dword [ebp - 0x2210], edx
mov byte [ebp - 4], 3
push 1
push 2
push ecx
mov ecx, esp
mov dword [ebp - 0x2214], esp
push 0x68677c
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
mov dword [ebp - 0x21e8], eax
mov eax, dword [ebp - 0x21e8]
mov dword [ebp - 0x2218], eax
mov byte [ebp - 4], 4
push ecx
mov ecx, esp
mov dword [ebp - 0x221c], esp
lea edx, [ebp - 0x21c8]
push edx
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_class_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits__const__]
mov dword [ebp - 0x2220], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3dc]
call fcn.005100d0
mov dword [ebp - 0x2224], eax
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x21d4]
mov ecx, dword [eax + 0x248]
push ecx
lea ecx, [ebp - 0x3dc]
call fcn.0050f220
cmp eax, 1
je 0x51ae35
mov dword [ebp - 0x21ec], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3dc]
call fcn.00510230
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x21c8]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
mov eax, dword [ebp - 0x21ec]
jmp 0x51af75
push 0
push 0
push 0x82f
call dword [sym.imp.soui.dll_public:_static_class_SOUI::SApplication____cdecl_SOUI::SSingleton_class_SOUI::SApplication_::getSingleton_void_]
mov ecx, eax
call dword [sym.imp.soui.dll_public:_struct_HWND______thiscall_SOUI::SApplication::GetMainWnd_void_]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
mov dword [ebp - 0x21f0], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3dc]
call fcn.00510230
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x21c8]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
mov eax, dword [ebp - 0x21f0]
jmp 0x51af75
lea ecx, [ebp - 0x28]
call fcn.00446a90
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x21d0]
call fcn.00545730
mov byte [ebp - 4], 7
lea edx, [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x21cc]
push eax
lea ecx, [ebp - 0x21d0]
call fcn.00545df0
lea ecx, [ebp - 0x28]
call fcn.0043d1b0
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x51af0a
cmp dword [ebp - 0x21cc], 1
je 0x51af0a
mov dword [ebp - 0x21f4], 0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x21d0]
call fcn.00545750
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0043c550
mov eax, dword [ebp - 0x21f4]
jmp 0x51af75
mov ecx, dword [ebp - 0x21cc]
push ecx
lea ecx, [ebp - 0x778]
call fcn.0051c8b0
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x21d4]
mov eax, dword [edx + 0x248]
push eax
lea ecx, [ebp - 0x778]
call fcn.0050f220
mov dword [ebp - 0x21f8], 1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x778]
call fcn.0051c920
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x21d0]
call fcn.00545750
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0043c550
mov eax, dword [ebp - 0x21f8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005bcdb6
mov esp, ebp
pop ebp
ret 0x10