Function at 0x407290
Capabilities:
Create thread
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
mov eax, dword [0x4f92a0]
xor eax, esp
mov dword [esp + 0x128], eax
push ebx
push esi
mov esi, dword [ebp + 8]
mov dword [esp + 0xc], 0
push edi
mov ebx, ecx
mov ecx, dword [esi + 0x108]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
push str.bt_close
lea edx, [esp + 0x24]
push edx
mov dword [esp + 0x24], esi
call eax
mov ecx, eax
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.0043054e
add esp, 8
test eax, eax
lea ecx, [esp + 0x20]
sete byte [esp + 0xf]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
cmp byte [esp + 0xf], 0
je 0x40730d
mov ecx, dword [ebx + 4]
push 0
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x40798b
mov ecx, dword [esi + 0x108]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push str.btn_next_1
lea eax, [esp + 0x24]
push eax
call edx
mov ecx, eax
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.0043054e
add esp, 8
test eax, eax
lea ecx, [esp + 0x20]
sete byte [esp + 0xf]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
cmp byte [esp + 0xf], 0
je 0x4073c2
cmp dword [ebx + 0x4a8], 0
je 0x407366
mov ecx, dword [ebx + 0x4a8]
mov eax, dword [ecx]
mov edx, dword [eax + 0xcc]
push 0
call edx
cmp dword [ebx + 0x4ac], 0
je 0x407381
mov ecx, dword [ebx + 0x4ac]
mov eax, dword [ecx]
mov edx, dword [eax + 0xcc]
push 0
call edx
cmp dword [ebx + 0x488], 0
je 0x4073a8
mov eax, dword [ebx + 0x488]
mov edi, dword [eax]
call fcn.00406900
mov ecx, dword [ebx + 0x488]
mov edx, dword [edi + 0x2c]
add eax, 0x410
push eax
call edx
mov ecx, dword [ebx + 0x478]
test ecx, ecx
je 0x407993
push 1
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CTabLayoutUI::SelectItem_int_
jmp 0x407993
mov ecx, dword [esi + 0x108]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
push str.btn_next_2
lea edx, [esp + 0x24]
push edx
call eax
mov ecx, eax
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.0043054e
add esp, 8
test eax, eax
lea ecx, [esp + 0x20]
sete byte [esp + 0xf]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
cmp byte [esp + 0xf], 0
jne 0x407474
mov ecx, dword [esi + 0x108]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push str.btn_preview
lea eax, [esp + 0x24]
push eax
call edx
mov ecx, eax
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.0043054e
add esp, 8
test eax, eax
lea ecx, [esp + 0x20]
sete byte [esp + 0xf]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
cmp byte [esp + 0xf], 0
je 0x40748e
cmp dword [ebx + 0x4a8], 0
je 0x407459
mov ecx, dword [ebx + 0x4a8]
mov eax, dword [ecx]
mov edx, dword [eax + 0xcc]
push 1
call edx
cmp dword [ebx + 0x4ac], 0
je 0x407474
mov ecx, dword [ebx + 0x4ac]
mov eax, dword [ecx]
mov edx, dword [eax + 0xcc]
push 1
call edx
mov ecx, dword [ebx + 0x478]
test ecx, ecx
je 0x407993
push 0
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CTabLayoutUI::SelectItem_int_
jmp 0x407993
mov ecx, dword [esi + 0x108]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
push str.btn_browse
lea edx, [esp + 0x24]
push edx
call eax
mov ecx, eax
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.0043054e
add esp, 8
test eax, eax
lea ecx, [esp + 0x20]
sete byte [esp + 0xf]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
cmp byte [esp + 0xf], 0
jne 0x407550
mov ecx, dword [esi + 0x108]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push str.btn_language
lea eax, [esp + 0x24]
push eax
call edx
mov ecx, eax
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.0043054e
add esp, 8
test eax, eax
lea ecx, [esp + 0x20]
sete byte [esp + 0xf]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
cmp byte [esp + 0xf], 0
jne 0x407993
mov ecx, dword [esi + 0x108]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
push str.bt_chose
lea edx, [esp + 0x24]
push edx
call eax
mov ecx, eax
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.0043054e
add esp, 8
test eax, eax
lea ecx, [esp + 0x20]
sete byte [esp + 0xf]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
cmp byte [esp + 0xf], 0
je 0x40755c
mov ecx, ebx
call fcn.00407bc0
jmp 0x407993
mov ecx, dword [esi + 0x108]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push str.btn_finish
lea eax, [esp + 0x24]
push eax
call edx
mov ecx, eax
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.0043054e
add esp, 8
test eax, eax
lea ecx, [esp + 0x20]
sete byte [esp + 0xf]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
cmp byte [esp + 0xf], 0
je 0x407640
mov eax, dword [ebx + 4]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
lea esi, [esp + 0x10]
call fcn.00403a90
call fcn.00406900
mov ecx, dword [eax + 0x24cc]
cmp dword [ecx - 0xc], 0
jne 0x4075e0
call fcn.00406900
add eax, 0xc30
push eax
push str._s__main
mov edi, esi
call fcn.00403d60
add esp, 8
jmp 0x407608
call fcn.00406900
mov edx, dword [eax + 0x24cc]
push edx
call fcn.00406900
add eax, 0xc30
push eax
push str._s__main__gameid_s
lea edi, [esp + 0x1c]
call fcn.00403d60
add esp, 0xc
call fcn.00406900
mov esi, dword [esp + 0x10]
push esi
call fcn.0040cd10
test eax, eax
jne 0x407626
call fcn.00406900
push esi
call fcn.0040ccb0
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
lea eax, [esp + 0x10]
call fcn.004032e0
mov esi, dword [esp + 0x1c]
jmp 0x407993
mov ecx, dword [esi + 0x108]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
push str.btn_license
lea edx, [esp + 0x24]
push edx
call eax
mov ecx, eax
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.0043054e
add esp, 8
test eax, eax
lea ecx, [esp + 0x20]
sete byte [esp + 0xf]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
cmp byte [esp + 0xf], 0
je 0x407688
call fcn.004079c0
jmp 0x407993
mov ecx, dword [esi + 0x108]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push str.sysminbutton
lea eax, [esp + 0x24]
push eax
call edx
mov ecx, eax
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.0043054e
add esp, 8
test eax, eax
lea ecx, [esp + 0x20]
sete byte [esp + 0xf]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
cmp byte [esp + 0xf], 0
je 0x4076e1
mov eax, dword [ebx + 4]
push 0
push 0xf020
push 0x112
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x407993
mov ecx, dword [esi + 0x108]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push str.btn_install
lea eax, [esp + 0xac]
push eax
mov dword [esp + 0x18], 1
call edx
mov ecx, eax
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.0043054e
add esp, 8
test eax, eax
je 0x40774f
mov ecx, dword [esi + 0x108]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
push str.btn_now_install
lea edx, [esp + 0x24]
push edx
mov dword [esp + 0x18], 3
call eax
mov ecx, eax
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.0043054e
add esp, 8
mov byte [esp + 0xf], 0
test eax, eax
jne 0x407754
mov byte [esp + 0xf], 1
test byte [esp + 0x10], 2
je 0x407769
and dword [esp + 0x10], 0xfffffffd
lea ecx, [esp + 0x20]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
test byte [esp + 0x10], 1
je 0x40777c
lea ecx, [esp + 0xa8]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
cmp byte [esp + 0xf], 0
je 0x4078b4
mov ecx, dword [ebx + 0x478]
test ecx, ecx
je 0x407798
push 2
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CTabLayoutUI::SelectItem_int_
call fcn.00406900
add eax, 0x410
lea esi, [esp + 0x18]
call fcn.00403260
lea esi, [esp + 0x10]
call fcn.00403a90
push 0x5c
lea ecx, [esp + 0x1c]
push ecx
mov eax, 1
lea ecx, [esp + 0x1c]
call fcn.004052d0
call fcn.004053a0
mov byte [esp + 0x13], al
add esp, 4
lea eax, [esp + 0x14]
call fcn.004032e0
cmp byte [esp + 0xf], 0
lea ecx, [esp + 0x14]
je 0x4077f5
lea edx, [esp + 0x18]
push edx
mov eax, 9
jmp 0x4077ff
lea eax, [esp + 0x18]
push eax
mov eax, 8
call fcn.004052d0
lea edi, [esp + 0x10]
call fcn.00403ab0
lea eax, [esp + 0x14]
call fcn.004032e0
mov ecx, 0x4d3b50
mov esi, edi
call fcn.004050f0
cmp eax, 0xffffffff
jne 0x407865
call fcn.00406900
add eax, 0x410
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsRootW]
test eax, eax
je 0x407848
call fcn.00406900
push 0x4d3b50
jmp 0x407852
call fcn.00406900
push str.GameBuff
add eax, 0x410
push 0x104
push eax
call fcn.0043095a
add esp, 0xc
call fcn.00406900
call fcn.00406900
lea esi, [eax + 0x410]
call fcn.0040d730
test eax, eax
je 0x407899
push 0
push 0
push ebx
push 0x409dd0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0x10]
call fcn.004032e0
lea eax, [esp + 0x18]
call fcn.004032e0
mov esi, dword [esp + 0x1c]
jmp 0x407993
mov ecx, dword [esi + 0x108]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push str.btn_reboot_cancel
lea eax, [esp + 0xac]
push eax
call edx
mov ecx, eax
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.0043054e
add esp, 8
test eax, eax
lea ecx, [esp + 0xa8]
sete byte [esp + 0xf]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
cmp byte [esp + 0xf], 0
je 0x40791b
mov eax, dword [ebx + 4]
push 0xc
push eax
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, dword [ebx + 0x478]
test ecx, ecx
je 0x407993
push 3
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CTabLayoutUI::SelectItem_int_
jmp 0x407993
mov ecx, dword [esi + 0x108]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push str.btn_reboot_confirm
lea eax, [esp + 0xac]
push eax
call edx
mov ecx, eax
call sym.Setup.exe_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const
push eax
call fcn.0043054e
add esp, 8
test eax, eax
lea ecx, [esp + 0xa8]
sete byte [esp + 0xf]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
cmp byte [esp + 0xf], 0
je 0x407993
mov eax, dword [ebx + 4]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebx + 4]
push 0xc
push ecx
call dword [sym.imp.USER32.dll_KillTimer]
call fcn.0040a600
movzx edx, byte [ebx + 0x4e8]
push 0
push edx
call fcn.004130d0
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
push esi
mov ecx, ebx
call sym.Setup.exe_protected_virtual:_void___thiscall_DuiLib::WindowImplBase::OnClick_struct_DuiLib::tagTNotifyUI__
mov ecx, dword [esp + 0x134]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0042e257
mov esp, ebp
pop ebp
ret 4