Function at 0x4072e0
Capabilities:
Create thread
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
mov eax, dword [0x4fb2a0]
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.0043050e
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 0x40735d
mov ecx, dword [ebx + 4]
push 0
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x4079db
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.0043050e
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 0x407412
cmp dword [ebx + 0x4a8], 0
je 0x4073b6
mov ecx, dword [ebx + 0x4a8]
mov eax, dword [ecx]
mov edx, dword [eax + 0xcc]
push 0
call edx
cmp dword [ebx + 0x4ac], 0
je 0x4073d1
mov ecx, dword [ebx + 0x4ac]
mov eax, dword [ecx]
mov edx, dword [eax + 0xcc]
push 0
call edx
cmp dword [ebx + 0x488], 0
je 0x4073f8
mov eax, dword [ebx + 0x488]
mov edi, dword [eax]
call fcn.00406950
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 0x4079e3
push 1
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CTabLayoutUI::SelectItem_int_
jmp 0x4079e3
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.0043050e
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 0x4074c4
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.0043050e
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 0x4074de
cmp dword [ebx + 0x4a8], 0
je 0x4074a9
mov ecx, dword [ebx + 0x4a8]
mov eax, dword [ecx]
mov edx, dword [eax + 0xcc]
push 1
call edx
cmp dword [ebx + 0x4ac], 0
je 0x4074c4
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 0x4079e3
push 0
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CTabLayoutUI::SelectItem_int_
jmp 0x4079e3
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.0043050e
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 0x4075a0
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.0043050e
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 0x4079e3
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.0043050e
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 0x4075ac
mov ecx, ebx
call fcn.00407c10
jmp 0x4079e3
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.0043050e
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 0x407690
mov eax, dword [ebx + 4]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
lea esi, [esp + 0x10]
call fcn.00403ae0
call fcn.00406950
mov ecx, dword [eax + 0x24cc]
cmp dword [ecx - 0xc], 0
jne 0x407630
call fcn.00406950
add eax, 0xc30
push eax
push str._s__main
mov edi, esi
call fcn.00403db0
add esp, 8
jmp 0x407658
call fcn.00406950
mov edx, dword [eax + 0x24cc]
push edx
call fcn.00406950
add eax, 0xc30
push eax
push str._s__main__gameid_s
lea edi, [esp + 0x1c]
call fcn.00403db0
add esp, 0xc
call fcn.00406950
mov esi, dword [esp + 0x10]
push esi
call fcn.0040cdd0
test eax, eax
jne 0x407676
call fcn.00406950
push esi
call fcn.0040cd70
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
lea eax, [esp + 0x10]
call fcn.00403310
mov esi, dword [esp + 0x1c]
jmp 0x4079e3
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.0043050e
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 0x4076d8
call fcn.00407a10
jmp 0x4079e3
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.0043050e
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 0x407731
mov eax, dword [ebx + 4]
push 0
push 0xf020
push 0x112
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x4079e3
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.0043050e
add esp, 8
test eax, eax
je 0x40779f
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.0043050e
add esp, 8
mov byte [esp + 0xf], 0
test eax, eax
jne 0x4077a4
mov byte [esp + 0xf], 1
test byte [esp + 0x10], 2
je 0x4077b9
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 0x4077cc
lea ecx, [esp + 0xa8]
call sym.Setup.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
cmp byte [esp + 0xf], 0
je 0x407904
mov ecx, dword [ebx + 0x478]
test ecx, ecx
je 0x4077e8
push 2
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CTabLayoutUI::SelectItem_int_
call fcn.00406950
add eax, 0x410
lea esi, [esp + 0x18]
call fcn.00403290
lea esi, [esp + 0x10]
call fcn.00403ae0
push 0x5c
lea ecx, [esp + 0x1c]
push ecx
mov eax, 1
lea ecx, [esp + 0x1c]
call fcn.00405330
call fcn.00405400
mov byte [esp + 0x13], al
add esp, 4
lea eax, [esp + 0x14]
call fcn.00403310
cmp byte [esp + 0xf], 0
lea ecx, [esp + 0x14]
je 0x407845
lea edx, [esp + 0x18]
push edx
mov eax, 9
jmp 0x40784f
lea eax, [esp + 0x18]
push eax
mov eax, 8
call fcn.00405330
lea edi, [esp + 0x10]
call fcn.00403b00
lea eax, [esp + 0x14]
call fcn.00403310
mov ecx, 0x4d5dd0
mov esi, edi
call fcn.00405150
cmp eax, 0xffffffff
jne 0x4078b5
call fcn.00406950
add eax, 0x410
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsRootW]
test eax, eax
je 0x407898
call fcn.00406950
push 0x4d5dd0
jmp 0x4078a2
call fcn.00406950
push str.GameBuff
add eax, 0x410
push 0x104
push eax
call fcn.0043091a
add esp, 0xc
call fcn.00406950
call fcn.00406950
lea esi, [eax + 0x410]
call fcn.0040d7f0
test eax, eax
je 0x4078e9
push 0
push 0
push ebx
push 0x409e00
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.00403310
lea eax, [esp + 0x18]
call fcn.00403310
mov esi, dword [esp + 0x1c]
jmp 0x4079e3
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.0043050e
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 0x40796b
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 0x4079e3
push 3
call sym.Setup.exe_public:_bool___thiscall_DuiLib::CTabLayoutUI::SelectItem_int_
jmp 0x4079e3
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.0043050e
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 0x4079e3
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.0040a630
movzx edx, byte [ebx + 0x4e8]
push 0
push edx
call fcn.00413190
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.0042e217
mov esp, ebp
pop ebp
ret 4