Function at 0x4030e7
Capabilities:
Check if file exists
Inspect load icon resource

Disassembly:
push 0x18
mov eax, 0x4093cb
call fcn.0040840e
mov ebx, ecx
lea eax, [ebx + 0x1d8]
mov dword [ebx + 0x194], eax
call dword [sym.imp.ASOHelper.dll_public_virtual:_int___thiscall_CDlgLeftSideChild::OnInitDialog_void_]
push ebx
mov dword [ebp - 0x24], eax
call fcn.00403564
mov ecx, ebx
call fcn.0040367f
mov esi, dword [sym.imp.ASOHelper.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_CSystweakApp::LoadStringW_wchar_t_const___wchar_t_const__]
push 0x40c508
push str.IDS_DLG_WELCOME_TITLE
lea eax, [ebp - 0x20]
mov edi, 0x411dd0
push eax
mov ecx, edi
call esi
and dword [ebp - 4], 0
push dword [eax]
mov ecx, ebx
call sub.mfc90u.dll_CWnd::SetWindowTextW
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov eax, 0x50e
push eax
push 0xe
push eax
call sub.mfc90u.dll_AfxFindResourceHandle
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
push ecx
mov dword [ebp - 0x20], esp
mov dword [ebx + 0x4c8], eax
mov eax, esp
push 0x40c508
push str.IDS_PNG_TEXT_SEL_LOC
push eax
mov ecx, edi
call esi
lea eax, [ebx + 0x350]
push eax
mov ecx, ebx
call dword [sym.imp.ASOHelper.dll_public:_bool___thiscall_CDlgLeftSideChild::ConfigureBigButton_class_CHoverButtonWithText___class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____]
push 1
lea ecx, [ebx + 0x350]
call sub.mfc90u.dll_CWnd::ShowWindow
push str.sName
mov ecx, edi
mov byte [ebx + 0x55f], 1
mov dword [ebx + 0x564], 0xffffff
mov dword [ebx + 0x568], 0xff5b21
mov byte [ebx + 0x55d], 1
call dword [sym.imp.ASOHelper.dll_public:_wchar_t_const____thiscall_CSystweakApp::ReadOptionString_wchar_t_const__]
push eax
lea ecx, [ebp - 0x18]
call dword [0x40a618]
push str.sPath
mov ecx, edi
mov dword [ebp - 4], 1
call dword [sym.imp.ASOHelper.dll_public:_wchar_t_const____thiscall_CSystweakApp::ReadOptionString_wchar_t_const__]
push eax
lea ecx, [ebp - 0x14]
call dword [0x40a618]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x18]
mov eax, dword [eax - 0xc]
test eax, eax
je 0x403222
mov eax, dword [ebp - 0x14]
cmp dword [eax - 0xc], 0
je 0x403222
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x403222
push 1
lea ecx, [ebx + 0x4e4]
call sub.mfc90u.dll_CWnd::EnableWindow
jmp 0x403289
push 0
lea ecx, [ebx + 0x4e4]
call sub.mfc90u.dll_CWnd::EnableWindow
push 0x40c508
push str.IDS_NOT_PLAYED
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call esi
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push 0x40c508
push str.IDS_NOT_PLAYED
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call esi
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 4
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
cmp byte [0x411ef8], 0
lea ecx, [ebx + 0x1d8]
je 0x4032a3
push 0
call sub.mfc90u.dll_CWnd::ShowWindow
push 0
jmp 0x4032ac
push 5
call sub.mfc90u.dll_CWnd::ShowWindow
push 1
lea ecx, [ebx + 0x1d8]
call sub.mfc90u.dll_CWnd::EnableWindow
push ebx
call fcn.00403bab
push 0x40c508
push str.IDS_NOT_PLAYED
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call esi
mov byte [ebp - 4], 5
mov eax, dword [eax]
lea ecx, [ebx + 0x4cc]
push eax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CompareNoCase]
neg eax
sbb al, al
inc al
lea ecx, [ebp - 0x20]
mov byte [ebp - 0xd], al
mov byte [ebp - 4], 2
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
cmp byte [ebp - 0xd], 0
je 0x403360
push 0x40c508
push str.IDS_NOT_PLAYED
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call esi
lea ecx, [ebx + 0x4d0]
push eax
mov byte [ebp - 4], 6
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push 0x40c508
push str.IDS_NOT_PLAYED
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call esi
push eax
lea ecx, [ebx + 0x4d4]
mov byte [ebp - 4], 7
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
jmp 0x40337f
lea ecx, [ebx + 0x4d4]
lea eax, [ebx + 0x4d0]
push ecx
push eax
lea esi, [ebx + 0x4cc]
call fcn.00401478
mov esi, dword [sym.imp.ASOHelper.dll_public:_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______thiscall_CSystweakApp::LoadStringW_wchar_t_const___wchar_t_const__]
push ebx
call fcn.00403aa6
mov ecx, ebx
call fcn.00403d1c
push 0x40c508
push str.GO_WELCOMEDESC4
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call esi
lea ecx, [ebx + 0x19c]
mov byte [ebp - 4], 8
mov edx, dword [ecx + 8]
push eax
push edx
call sub.mfc90u.dll_CStringArray::SetAtGrow
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push 0x40c508
push str.GO_WELCOMEDESC5
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call esi
lea ecx, [ebx + 0x19c]
mov byte [ebp - 4], 9
mov edx, dword [ecx + 8]
push eax
push edx
call sub.mfc90u.dll_CStringArray::SetAtGrow
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push 0x40c508
push str.IDS_NUM_GAME_PLAYED_TILL_DATE
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call esi
lea ecx, [ebx + 0x19c]
mov byte [ebp - 4], 0xa
mov edx, dword [ecx + 8]
push eax
push edx
call sub.mfc90u.dll_CStringArray::SetAtGrow
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebx + 0x1b0]
mov eax, dword [ecx + 8]
lea edx, [ebp - 0x18]
push edx
push eax
call sub.mfc90u.dll_CStringArray::SetAtGrow
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebx + 0x4d0]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
push str.LastPlayed
mov ecx, edi
call dword [sym.imp.ASOHelper.dll_public:_wchar_t_const____thiscall_CSystweakApp::ReadOptionString_wchar_t_const__]
push eax
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator]
mov eax, dword [ebp - 0x14]
cmp dword [eax - 0xc], 0
jne 0x403495
push 0x40c508
push str.IDS_NOT_PLAYED
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call esi
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xb
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebx + 0x1b0]
mov eax, dword [ecx + 8]
lea edx, [ebp - 0x14]
push edx
push eax
call sub.mfc90u.dll_CStringArray::SetAtGrow
push str.NumGames
mov ecx, edi
call dword [sym.imp.ASOHelper.dll_public:_wchar_t_const____thiscall_CSystweakApp::ReadOptionString_wchar_t_const__]
push eax
lea ecx, [ebp - 0x1c]
call dword [0x40a618]
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x1c]
cmp dword [eax - 0xc], 0
jne 0x4034f9
push 0x40c508
push str.IDS_NOT_PLAYED
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call esi
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xd
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::operator_1]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xc
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebx + 0x1b0]
push dword [ecx + 8]
call sub.mfc90u.dll_CStringArray::SetAtGrow
lea eax, [ebp - 0x20]
add ebx, 0x1c4
push eax
mov esi, 0x5a5148
mov eax, ebx
mov dword [ebp - 0x20], esi
call fcn.00406c65
lea eax, [ebp - 0x20]
push eax
mov eax, ebx
mov dword [ebp - 0x20], esi
call fcn.00406c65
lea eax, [ebp - 0x20]
push eax
mov eax, ebx
mov dword [ebp - 0x20], esi
call fcn.00406c65
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov eax, dword [ebp - 0x24]
call fcn.004084ad
ret