Function at 0x477d78
Capabilities:
Contain obfuscated stackstrings
Get process heap flags
Get process heap force flags

Disassembly:
push 0xffffffffffffffff
push 0x531d2b
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x58e700]
xor eax, esp
mov dword [esp + 0x38], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x58e700]
xor eax, esp
push eax
lea eax, [esp + 0x50]
mov dword fs:[0], eax
mov edi, ecx
push ecx
mov ecx, esp
push str.Btn_Install
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
push dword [eax]
and dword [esp + 0x5c], 0
mov ecx, dword [edi + 0x784]
mov eax, dword [ecx]
call dword [eax + 0x2c]
or ebx, 0xffffffff
mov dword [esp + 0x58], ebx
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push str.Btn_Run
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
push dword [eax]
xor ebp, ebp
inc ebp
mov dword [esp + 0x5c], ebp
mov ecx, dword [edi + 0x788]
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov dword [esp + 0x58], ebx
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push str.Btn_Modify
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov dword [esp + 0x58], 2
mov ecx, dword [edi + 0x7a4]
push dword [eax]
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov dword [esp + 0x58], ebx
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push str.Lbl_InstallFolder
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov dword [esp + 0x58], 3
mov ecx, dword [edi + 0x7b8]
push dword [eax]
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov dword [esp + 0x58], ebx
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push str.TrayIconTip1
call fcn.00450bc2
lea eax, [esp + 0x18]
push eax
mov ecx, dword [edi + 0x88c]
call fcn.0044f605
mov dword [esp + 0x58], 4
mov esi, dword [eax]
push esi
call fcn.00450d55
pop ecx
push eax
push esi
lea ecx, [edi + 0x830]
call fcn.00450ce8
mov dword [esp + 0x58], ebx
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push str.TrayIconTip2
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov dword [esp + 0x58], 5
mov esi, dword [eax]
push esi
call fcn.00450d55
pop ecx
push eax
push esi
lea ecx, [edi + 0x848]
call fcn.00450ce8
mov dword [esp + 0x58], ebx
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push str.TrayIconTip3
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov dword [esp + 0x58], 6
mov esi, dword [eax]
push esi
call fcn.00450d55
pop ecx
push eax
push esi
lea ecx, [edi + 0x860]
call fcn.00450ce8
mov dword [esp + 0x58], ebx
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push str.Lbl_selectlang
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov dword [esp + 0x58], 7
mov ecx, dword [edi + 0x7b4]
push dword [eax]
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov dword [esp + 0x58], ebx
mov ecx, dword [esp + 0x14]
lea ecx, [ecx - 0x10]
call fcn.00450c89
mov ecx, dword [edi + 0x7c8]
push 0
call fcn.004b7d42
push ecx
mov ecx, esp
push str.downloading_tip
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov edx, eax
push 8
pop esi
mov dword [esp + 0x58], esi
mov ecx, dword [edi + 0x7cc]
push dword [edx]
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov dword [esp + 0x58], ebx
mov ecx, dword [esp + 0x14]
lea ecx, [ecx - 0x10]
call fcn.00450c89
movzx edx, word [edi + 0x898]
lea ecx, [esp + 0x34]
call fcn.0047c82e
push 0x568c88
mov edx, eax
mov dword [esp + 0x5c], 9
lea ecx, [esp + 0x20]
call fcn.0046517b
pop ecx
push 0
push ebp
lea ecx, [esp + 0x3c]
mov byte [esp + 0x60], 0xb
call fcn.004510af
mov ecx, dword [edi + 0x7d0]
lea edx, [esp + 0x1c]
cmp dword [esp + 0x30], esi
cmovae edx, dword [esp + 0x1c]
mov eax, dword [ecx]
push edx
call dword [eax + 0x2c]
push ecx
mov ecx, esp
push 0x568c8c
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov byte [esp + 0x58], 0xc
mov ecx, dword [edi + 0x7f8]
push dword [eax]
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov byte [esp + 0x58], 0xb
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push str.if_install_failed_tip
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov byte [esp + 0x58], 0xd
mov ecx, dword [edi + 0x7fc]
push dword [eax]
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov byte [esp + 0x58], 0xb
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push str.check_network
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov byte [esp + 0x58], 0xe
mov ecx, dword [edi + 0x800]
push dword [eax]
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov byte [esp + 0x58], 0xb
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push str.check_disk
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov byte [esp + 0x58], 0xf
mov ecx, dword [edi + 0x804]
push dword [eax]
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov byte [esp + 0x58], 0xb
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push 0x568d0c
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov byte [esp + 0x58], 0x10
mov ecx, dword [edi + 0x808]
push dword [eax]
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov byte [esp + 0x58], 0xb
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push str.download_pkg
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov byte [esp + 0x58], 0x11
mov ecx, dword [edi + 0x80c]
push dword [eax]
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov byte [esp + 0x58], 0xb
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push str.report_contact_tip
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov byte [esp + 0x58], 0x12
mov ecx, dword [edi + 0x810]
push dword [eax]
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov byte [esp + 0x58], 0xb
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push 0x568d5c
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov byte [esp + 0x58], 0x13
push dword [eax]
mov ecx, dword [edi + 0x814]
call fcn.004c10d7
mov byte [esp + 0x58], 0xb
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push str.contact_tip
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov byte [esp + 0x58], 0x14
mov ecx, dword [edi + 0x814]
push dword [eax]
mov edx, dword [ecx]
call dword [edx + 0xcc]
mov byte [esp + 0x58], 0xb
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push 0x568d8c
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov byte [esp + 0x58], 0x15
push dword [eax]
mov ecx, dword [edi + 0x818]
call fcn.004c3c94
mov byte [esp + 0x58], 0xb
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push str.remark_tip
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov byte [esp + 0x58], 0x16
mov ecx, dword [edi + 0x818]
push dword [eax]
mov edx, dword [ecx]
call dword [edx + 0xcc]
mov byte [esp + 0x58], 0xb
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push str.get_help
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x18]
push eax
call fcn.0044f605
mov byte [esp + 0x58], 0x17
mov ecx, dword [edi + 0x81c]
push dword [eax]
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov byte [esp + 0x58], 0xb
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00450c89
push ecx
mov ecx, esp
push str.send_error_report
call fcn.00450bc2
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x1c]
push eax
call fcn.0044f605
mov byte [esp + 0x58], 0x18
mov ecx, dword [edi + 0x820]
push dword [eax]
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov ecx, dword [esp + 0x18]
lea ecx, [ecx - 0x10]
call fcn.00450c89
push 0
push ebp
lea ecx, [esp + 0x24]
call fcn.004510af
mov ecx, dword [esp + 0x50]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.00502653
add esp, 0x48
ret