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

Disassembly:
push 0x18
mov eax, 0x40943b
call fcn.0040847e
mov ebx, ecx
lea eax, [ebx + 0x204]
mov dword [ebx + 0x1c0], eax
call dword [sym.imp.ASOHelper.dll_public_virtual:_int___thiscall_CDlgLeftSideChild::OnInitDialog_void_]
push ebx
mov dword [ebp - 0x24], eax
call fcn.00403543
mov ecx, ebx
call fcn.0040365e
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 0x40a738
push str.IDS_DLG_WELCOME_TITLE
lea eax, [ebp - 0x20]
mov edi, 0x411db8
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 + 0x4f4], eax
mov eax, esp
push 0x40a738
push str.IDS_PNG_TEXT_SEL_LOC
push eax
mov ecx, edi
call esi
lea eax, [ebx + 0x37c]
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 + 0x37c]
call sub.mfc90u.dll_CWnd::ShowWindow
push str.sName
mov ecx, edi
mov byte [ebx + 0x58b], 1
mov dword [ebx + 0x590], 0xffffff
mov dword [ebx + 0x594], 0xff5b21
mov byte [ebx + 0x589], 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 [0x40a628]
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 [0x40a628]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x18]
mov eax, dword [eax - 0xc]
test eax, eax
je 0x403201
mov eax, dword [ebp - 0x14]
cmp dword [eax - 0xc], 0
je 0x403201
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x403201
push 1
lea ecx, [ebx + 0x510]
call sub.mfc90u.dll_CWnd::EnableWindow
jmp 0x403268
push 0
lea ecx, [ebx + 0x510]
call sub.mfc90u.dll_CWnd::EnableWindow
push 0x40a738
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 0x40a738
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 [0x411ee0], 0
lea ecx, [ebx + 0x204]
je 0x403282
push 0
call sub.mfc90u.dll_CWnd::ShowWindow
push 0
jmp 0x40328b
push 5
call sub.mfc90u.dll_CWnd::ShowWindow
push 1
lea ecx, [ebx + 0x204]
call sub.mfc90u.dll_CWnd::EnableWindow
push ebx
call fcn.00403b9c
push 0x40a738
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 + 0x4f8]
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 0x40333f
push 0x40a738
push str.IDS_NOT_PLAYED
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call esi
lea ecx, [ebx + 0x4fc]
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 0x40a738
push str.IDS_NOT_PLAYED
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call esi
push eax
lea ecx, [ebx + 0x500]
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 0x40335e
lea ecx, [ebx + 0x500]
lea eax, [ebx + 0x4fc]
push ecx
push eax
lea esi, [ebx + 0x4f8]
call fcn.00401444
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.00403a97
mov ecx, ebx
call fcn.00403d0d
push 0x40a738
push str.GO_WELCOMEDESC4
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call esi
lea ecx, [ebx + 0x1c8]
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 0x40a738
push str.GO_WELCOMEDESC5
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call esi
lea ecx, [ebx + 0x1c8]
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 0x40a738
push str.IDS_NUM_GAME_PLAYED_TILL_DATE
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
call esi
lea ecx, [ebx + 0x1c8]
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 + 0x1dc]
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 + 0x4fc]
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 0x403474
push 0x40a738
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 + 0x1dc]
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 [0x40a628]
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x1c]
cmp dword [eax - 0xc], 0
jne 0x4034d8
push 0x40a738
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 + 0x1dc]
push dword [ecx + 8]
call sub.mfc90u.dll_CStringArray::SetAtGrow
lea eax, [ebp - 0x20]
add ebx, 0x1f0
push eax
mov esi, 0x5a5148
mov eax, ebx
mov dword [ebp - 0x20], esi
call fcn.00406cd0
lea eax, [ebp - 0x20]
push eax
mov eax, ebx
mov dword [ebp - 0x20], esi
call fcn.00406cd0
lea eax, [ebp - 0x20]
push eax
mov eax, ebx
mov dword [ebp - 0x20], esi
call fcn.00406cd0
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.0040851d
ret