Function at 0x4291f0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x509c37
mov eax, dword fs:[0]
push eax
sub esp, 0xaa8
mov eax, dword [0x567040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xa80], edi
mov esi, dword [ebp + 8]
mov dword [ebp - 0xa7c], esi
test esi, esi
je 0x4297f3
lea ecx, [ebp - 0xa74]
call fcn.0041d920
call fcn.0041cf40
lea eax, [ebp - 0xa74]
push eax
call dword [0x57246c]
add esp, 4
test al, al
jne 0x429267
push 0
push esi
call fcn.00429110
jmp 0x4297f3
mov esi, dword [ebp - 0xa70]
mov dword [edi + 0x20], esi
call fcn.0041cf40
push esi
call dword [0x57233c]
add esp, 4
mov dword [ebp - 0xa94], eax
mov dword [ebp - 0xa8c], 0
mov dword [ebp - 0xa88], 0
mov dword [ebp - 0xa84], 0
mov dword [ebp - 4], 0
call fcn.0041cf40
lea eax, [ebp - 0xa8c]
push eax
push dword [edi + 0x20]
call fcn.0041e600
mov esi, dword [ebp - 0xa8c]
mov ecx, dword [ebp - 0xa88]
test al, al
jne 0x4292d9
cmp esi, ecx
cmovne ecx, esi
mov dword [ebp - 0xa88], ecx
sub ecx, esi
mov eax, 0x6614bc37
imul ecx
mov dword [ebp - 0xaa8], ecx
sar edx, 0xa
mov edi, edx
shr edi, 0x1f
add edi, edx
mov dword [ebp - 0xaa4], edi
cmp edi, 1
ja 0x429301
push 0
jmp 0x429302
push edi
push dword [ebp - 0xa7c]
call fcn.00429110
push ecx
mov ecx, dword [ebp - 0xa7c]
push str.plat_list
call fcn.004279f0
mov dword [ebp - 0xa90], eax
test eax, eax
je 0x42975b
push ecx
mov ecx, dword [ebp - 0xa7c]
push str.accel_edit_game_path
call fcn.0042a020
mov esi, eax
mov dword [ebp - 0xa98], esi
test esi, esi
je 0x429361
mov edx, dword [esi]
mov ecx, esi
push 0x522ac0
call dword [edx + 0x44]
mov edx, dword [esi]
mov ecx, esi
push 0x522ac0
call dword [edx + 0x40]
push ecx
mov ecx, dword [ebp - 0xa7c]
push str.accel_scan_game_path
call fcn.00427cd0
mov esi, eax
test esi, esi
je 0x4293bb
lea ecx, [ebp - 0x1c]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::ISlotFunctor::constructor_void_]
mov eax, dword [ebp - 0xa80]
mov dword [ebp - 0x1c], vtable.SOUI::MemberFunctionSlot_class_SOUI::SGamePathAdapter__class_SOUI::EventArgs_.0
mov dword [ebp - 0x18], 0x429a30
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 1
push eax
push 0x2710
lea ecx, [esi + 0x30]
call dword [sym.imp.soui.dll_public:_bool___thiscall_SOUI::SEventSet::subscribeEvent_unsigned_long_int__struct_SOUI::ISlotFunctor_const__]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0
call dword [sym.imp.soui.dll_public_virtual:_void___thiscall_SOUI::ISlotFunctor::destructor_void_]
xor ecx, ecx
mov dword [ebp - 0xa78], 0xffffffff
test edi, edi
je 0x42942b
mov eax, dword [ebp - 0xa8c]
mov edx, dword [eax + 4]
cmp dword [ebp - 0xa94], edx
je 0x42942b
mov esi, dword [ebp - 0xa80]
mov esi, dword [esi + 0x20]
cmp esi, dword [eax]
je 0x4293ed
test ecx, ecx
jne 0x4293f5
mov dword [ebp - 0xa78], edx
jmp 0x4293fb
mov edx, dword [ebp - 0xa78]
inc ecx
add eax, 0xa08
cmp ecx, edi
jb 0x4293d1
cmp edx, 0xffffffff
je 0x42942b
call fcn.0041cf40
push dword [ebp - 0xa78]
push esi
call dword [0x57251c]
mov eax, dword [ebp - 0xa78]
add esp, 8
mov dword [ebp - 0xa94], eax
cmp edi, 1
jbe 0x429550
mov esi, dword [ebp - 0xa8c]
xor edi, edi
mov dword [ebp - method.GamePicDownloadInfo.virtual_0], vtable.GamePicDownloadInfo.0
add esi, 4
nop dword [eax]
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
xor eax, eax
mov dword [ebp - 0x3c], 7
movups xmmword [ebp - 0x50], xmm0
mov word [ebp - 0x50], ax
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x50]
push eax
push dword [esi]
call fcn.00485e70
cmp dword [ebp - 0x24], 7
lea eax, [ebp - 0x38]
cmova eax, dword [ebp - 0x38]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4294e0
mov edx, dword [ebp - 0xa80]
sub esp, 0x28
mov ecx, dword [esi]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], ecx
mov eax, dword [edx + 0x20]
mov dword [ebp - 0x1c], eax
mov eax, esp
mov dword [ebp - 0x14], edi
movups xmm0, xmmword [ebp - 0x20]
mov dword [eax], vtable.std::_Func_impl_no_alloc_class__lambda_1a5553522582b60bb8e8bf2b126252c6___void___.0
movups xmmword [eax + 4], xmm0
mov dword [eax + 0x24], eax
call fcn.0047f8e0
push dword [esi]
push ecx
call fcn.00480310
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x24]
cmp ecx, 7
jbe 0x42951e
mov edx, dword [ebp - 0x38]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x429514
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429810
push ecx
push edx
call fcn.004d3ab1
add esp, 8
xor eax, eax
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
mov byte [ebp - 4], al
call fcn.00414ec0
inc edi
add esi, 0xa08
cmp edi, dword [ebp - 0xaa4]
jb 0x429450
mov ecx, dword [ebp - 0xa90]
mov esi, dword [sym.imp.soui.dll_public:_class_SOUI::SWindow____thiscall_SOUI::SWindow::GetWindow_int_const]
push 0
call esi
mov edi, eax
test edi, edi
je 0x429587
push 3
mov ecx, edi
call esi
mov ecx, dword [ebp - 0xa90]
mov esi, eax
push edi
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SWindow::DestroyChild_class_SOUI::SWindow__]
mov edi, esi
test esi, esi
mov esi, dword [sym.imp.soui.dll_public:_class_SOUI::SWindow____thiscall_SOUI::SWindow::GetWindow_int_const]
jne 0x429566
cmp dword [ebp - 0xaa4], 1
jbe 0x42979e
mov ecx, dword [ebp - 0xa90]
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x4c]
call eax
mov edi, dword [ebp - 0xa8c]
xor esi, esi
mov dword [ebp - 0xaac], esi
mov dword [ebp - 0xaa0], 0xa
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 4]
add edi, 4
mov dword [ebp - 0xab0], ecx
lea eax, [ecx + 0x10]
mov dword [ebp - 0xaa8], eax
nop word [eax + eax]
lea ecx, [ebp - 0xa9c]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_void_]
mov eax, dword [ebp - 0xab0]
push esi
push eax
push eax
push 0
push dword [ebp - 0xaa0]
lea eax, [ebp - 0xab4]
mov byte [ebp - 4], 5
push esi
push str._img_name_plat__d__pos__d__d__size__d__d__msgTransparent_0___radio_name_plat_radio__pos_0_0__0__0__skin_skin_gamepath_path_icon_radio_png__cursor_hand_____img_
push eax
lea eax, [ebp - 0xa9c]
push eax
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, 0x24
lea ecx, [ebp - 0xab4]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
push dword [ebp - 0xa9c]
mov ecx, dword [ebp - 0xa90]
call dword [sym.imp.soui.dll_public:_class_SOUI::SWindow____thiscall_SOUI::SWindow::CreateChildren_wchar_t_const__]
test eax, eax
je 0x42970d
push ecx
push str.plat_radio
mov ecx, eax
call fcn.0042a190
mov dword [ebp - 0xa78], eax
test eax, eax
je 0x42970d
lea ecx, [ebp - 0x1c]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::ISlotFunctor::constructor_void_]
mov eax, dword [ebp - 0xa80]
mov dword [ebp - 0x1c], vtable.SOUI::MemberFunctionSlot_class_SOUI::SGamePathAdapter__class_SOUI::EventArgs_.0
mov dword [ebp - 0x18], 0x429cb0
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0xa78]
lea eax, [ebp - 0x1c]
push eax
push 0x1fab
add ecx, 0x30
mov byte [ebp - 4], 6
call dword [sym.imp.soui.dll_public:_bool___thiscall_SOUI::SEventSet::subscribeEvent_unsigned_long_int__struct_SOUI::ISlotFunctor_const__]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call dword [sym.imp.soui.dll_public_virtual:_void___thiscall_SOUI::ISlotFunctor::destructor_void_]
push dword [edi]
mov ecx, dword [ebp - 0xa78]
call dword [sym.imp.soui.dll_public:_unsigned_long_int___thiscall_SOUI::SWindow::SetUserData_unsigned_long_int_]
mov ecx, dword [ebp - 0xa94]
xor eax, eax
cmp ecx, dword [edi]
mov ecx, dword [ebp - 0xa78]
sete al
push eax
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SWindow::SetCheck_int_]
mov eax, dword [ebp - 0xa94]
cmp eax, dword [edi]
jne 0x42970d
mov ecx, dword [ebp - 0xa98]
test ecx, ecx
je 0x42970d
mov eax, dword [ecx]
lea esi, [edi + 4]
push esi
call dword [eax + 0x44]
mov ecx, dword [ebp - 0xa98]
push esi
mov eax, dword [ecx]
call dword [eax + 0x40]
push dword [edi]
mov ecx, dword [ebp - 0xa98]
call dword [sym.imp.soui.dll_public:_unsigned_long_int___thiscall_SOUI::SWindow::SetUserData_unsigned_long_int_]
mov esi, dword [ebp - 0xaac]
lea ecx, [ebp - 0xa9c]
mov byte [ebp - 4], 0
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
mov eax, dword [ebp - 0xaa8]
inc esi
add dword [ebp - 0xaa0], eax
add edi, 0xa08
mov dword [ebp - 0xaac], esi
cmp esi, dword [ebp - 0xaa4]
jb 0x4295e0
mov esi, dword [ebp - 0xa8c]
mov eax, dword [ebp - 0xa80]
mov ecx, eax
push dword [ebp - 0xa7c]
mov edx, dword [eax]
call dword [edx + 0x18]
test esi, esi
je 0x4297f3
mov ecx, dword [ebp - 0xa84]
mov eax, 0x6614bc37
sub ecx, esi
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
imul ecx, eax, 0xa08
mov eax, esi
cmp ecx, 0x1000
jb 0x4297e9
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x429810
jmp 0x4297e9
mov eax, dword [ebp - 0xaa8]
add eax, 0xfffff5f8
cmp eax, 0xa08
jae 0x429742
mov edi, dword [ebp - 0xa98]
test edi, edi
je 0x429742
mov esi, dword [ebp - 0xa8c]
mov ecx, edi
mov eax, dword [edi]
add esi, 8
push esi
call dword [eax + 0x44]
mov eax, dword [edi]
mov ecx, edi
push esi
call dword [eax + 0x40]
mov esi, dword [ebp - 0xa8c]
mov ecx, edi
push dword [esi + 4]
call dword [sym.imp.soui.dll_public:_unsigned_long_int___thiscall_SOUI::SWindow::SetUserData_unsigned_long_int_]
jmp 0x429748
push ecx
push esi
call fcn.004d3ab1
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004d3a9e
mov esp, ebp
pop ebp
ret 8
call fcn.004e2ffc
int3