Function at 0x404230
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x488e6d
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x4b0070]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push str.StartInstallLayout
lea ecx, [edi + 0x2c]
call fcn.004208a0
push str.BeingInstallLayout
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2a4], eax
call fcn.004208a0
push str.FinishedInstallLayout
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2a8], eax
call fcn.004208a0
push str.FreeSideLayout
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2ac], eax
call fcn.004208a0
push str.CustomLayout
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2b0], eax
call fcn.004208a0
push str.MoreSettingLayout
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2b4], eax
call fcn.004208a0
push str.InstallCloseBtn
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2b8], eax
call fcn.004208a0
push str.InstallMinBtn
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2bc], eax
call fcn.004208a0
push str.InstallBtn
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2c0], eax
call fcn.004208a0
push str.SelPathBtn
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2c4], eax
call fcn.004208a0
push str.UserCodeBtn
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2c8], eax
call fcn.004208a0
push str.MoreSettingBtn
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2cc], eax
call fcn.004208a0
push str.PlayGameBtn
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2d0], eax
call fcn.004208a0
push str.DesktopLinkOpt
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2d4], eax
call fcn.004208a0
push str.AutoRunOpt
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2d8], eax
call fcn.004208a0
push str.QuickLunchOpt
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2dc], eax
call fcn.004208a0
push str.ReadAgreeOpt
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2e0], eax
call fcn.004208a0
push str.SettingHomePageOpt
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2e4], eax
call fcn.004208a0
push str.InstallPathEdit
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2e8], eax
call fcn.004208a0
push str.InstallProgress
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2ec], eax
call fcn.004208a0
mov dword [edi + 0x2f0], eax
push str.InstallPathInfoLabel
lea ecx, [edi + 0x2c]
call fcn.004208a0
push str.BeingInstallLabel
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2f4], eax
call fcn.004208a0
push str.ProgramRunningInfoLabel
lea ecx, [edi + 0x2c]
mov dword [edi + 0x2f8], eax
call fcn.004208a0
mov dword [edi + 0x2fc], eax
call fcn.00401cf0
mov ecx, eax
test ecx, ecx
je 0x404570
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], 0
call fcn.0040f1f0
mov ecx, dword [edi + 0x2ec]
mov esi, dword [ebp - 0x10]
push esi
mov eax, dword [ecx]
call dword [eax + 0x2c]
xor edx, edx
cmp dword [edi + 0x310], edx
jne 0x40445a
cmp dword [edi + 0x314], edx
setne dl
mov ecx, dword [edi + 0x2c4]
push edx
mov eax, dword [ecx]
call dword [eax + 0xd8]
cmp dword [edi + 0x300], 0
lea ebx, [edi + 0x304]
jne 0x404481
cmp dword [ebx], 0
mov byte [ebp - 0x14], 1
je 0x404485
mov byte [ebp - 0x14], 0
cmp dword [edi + 4], 0
mov ecx, edi
push dword [ebp - 0x14]
setne byte [ebp - 0x18]
push dword [ebp - 0x18]
call fcn.00403b30
cmp dword [edi + 0x300], 0
jne 0x4044bc
cmp dword [ebx], 0
jne 0x4044bc
push 0
push 0x64
push 0x401
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x4044ce
push 0
push 0
push 0x2b12
push dword [edi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [edi + 0x300], 0
jne 0x4044dc
cmp dword [ebx], 0
je 0x4044e1
call fcn.004074d0
cmp byte [edi + 0x326], 0
lea ecx, [edi + 0x320]
jne 0x40453f
lea eax, [edi + 0x334]
mov byte [edi + 0x324], 0
push eax
push 0
push ecx
push 0x4651c0
push 0
push 0
mov byte [edi + 0x327], 0
call fcn.00473039
add esp, 0x18
mov dword [edi + 0x32c], eax
test eax, eax
je 0x40453f
cmp eax, 0xffffffff
je 0x40453f
cmp byte [edi + 0x324], 0
mov byte [edi + 0x326], 1
setne al
mov byte [edi + 0x328], al
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40455e
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00402200
int3