Function at 0x477497
Capabilities:
Check for peb ntglobalflag flag

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x533140
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x590700]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push esi
push edi
mov eax, dword [0x590700]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
mov edi, ecx
lea eax, [edi + 0x8b0]
push eax
call fcn.004d0213
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
lea ebx, [edi + 0x30]
push 0x569570
mov ecx, ebx
call fcn.0049ae93
push str.btn_close
mov ecx, ebx
mov dword [edi + 0x774], eax
call fcn.0049ae93
push str.btn_minimal
mov ecx, ebx
mov dword [edi + 0x778], eax
call fcn.0049ae93
push 0x5695b4
mov ecx, ebx
mov dword [edi + 0x77c], eax
call fcn.0049ae93
push str.cbx_ext_install
mov ecx, ebx
mov dword [edi + 0x7dc], eax
call fcn.0049ae93
push str.btn_install
mov ecx, ebx
mov dword [edi + 0x780], eax
call fcn.0049ae93
mov dword [edi + 0x784], eax
mov ecx, eax
push 1
mov edx, dword [eax]
call dword [edx + 0x110]
push str.cbx_agree
mov ecx, ebx
call fcn.0049ae93
push str.lbl_agree
mov ecx, ebx
mov dword [edi + 0x1434], eax
call fcn.0049ae93
push str.btn_privacy
mov ecx, ebx
mov dword [edi + 0x790], eax
call fcn.0049ae93
push str.lbl_and
mov ecx, ebx
mov dword [edi + 0x794], eax
call fcn.0049ae93
push str.btn_eula
mov ecx, ebx
mov dword [edi + 0x1438], eax
call fcn.0049ae93
push str.lbl_tail
mov ecx, ebx
mov dword [edi + 0x798], eax
call fcn.0049ae93
push str.lbl_tail2
mov ecx, ebx
mov dword [edi + 0x79c], eax
call fcn.0049ae93
push str.btn_settings
mov ecx, ebx
mov dword [edi + 0x7a0], eax
call fcn.0049ae93
push str.btn_downIcon
mov ecx, ebx
mov dword [edi + 0x7a4], eax
call fcn.0049ae93
push str.btn_upIcon
mov ecx, ebx
mov dword [edi + 0x7a8], eax
call fcn.0049ae93
push str.lbl_install_dir
mov ecx, ebx
mov dword [edi + 0x7ac], eax
call fcn.0049ae93
push str.edit_install_dir
mov ecx, ebx
mov dword [edi + 0x7b8], eax
call fcn.0049ae93
push str.btn_select_dir
mov ecx, ebx
mov dword [edi + 0x7c0], eax
call fcn.0049ae93
push str.lbl_folder_bk
mov ecx, ebx
mov dword [edi + 0x7c4], eax
call fcn.0049ae93
mov dword [edi + 0x7bc], eax
mov ecx, eax
push str.filefolder_bk.png_corner5_5_5_5
push str.bkimage
mov edx, dword [eax]
call dword [edx + 0x148]
mov ecx, dword [edi + 0x7c0]
push str.174_404_442_428
push 0x5697dc
mov eax, dword [ecx]
call dword [eax + 0x148]
push str.cmb_language
mov ecx, ebx
call fcn.0049ae93
push str.lbl_language
mov ecx, ebx
mov dword [edi + 0x7b0], eax
call fcn.0049ae93
push 0x56981c
mov ecx, ebx
mov dword [edi + 0x7b4], eax
call fcn.0049ae93
push str.lay_download
mov ecx, ebx
mov dword [edi + 0x7e8], eax
call fcn.0049ae93
push str.web_banner
mov ecx, ebx
mov dword [edi + 0x7e0], eax
call fcn.0049ae93
push str.progress_download
mov ecx, ebx
mov dword [edi + 0x78c], eax
call fcn.0049ae93
push str.lbl_progress_tip
mov ecx, ebx
mov dword [edi + 0x7c8], eax
call fcn.0049ae93
push str.lbl_progress_value
mov ecx, ebx
mov dword [edi + 0x7cc], eax
call fcn.0049ae93
push str.lbl_wait_for_time_tip
mov ecx, ebx
mov dword [edi + 0x7d0], eax
call fcn.0049ae93
push 0x569900
mov ecx, ebx
mov dword [edi + 0x7d4], eax
call fcn.0049ae93
push str.btn_run
mov ecx, ebx
mov dword [edi + 0x7e4], eax
call fcn.0049ae93
push str.edit_package
mov ecx, ebx
mov dword [edi + 0x788], eax
call fcn.0049ae93
push 0x569940
mov ecx, ebx
mov dword [edi + 0x7d8], eax
call fcn.0049ae93
push str.lbl_title
mov ecx, ebx
mov dword [edi + 0x7f0], eax
call fcn.0049ae93
push str.lbl_install_failed
mov ecx, ebx
mov dword [edi + 0x7f4], eax
call fcn.0049ae93
mov dword [edi + 0x7f8], eax
mov ecx, ebx
push str.lbl_tip1
call fcn.0049ae93
push str.lbl_tip2
mov ecx, ebx
mov dword [edi + 0x7fc], eax
call fcn.0049ae93
push str.lbl_tip3
mov ecx, ebx
mov dword [edi + 0x800], eax
call fcn.0049ae93
push str.lbl_tip4
mov ecx, ebx
mov dword [edi + 0x804], eax
call fcn.0049ae93
push str.btn_download_pkg
mov ecx, ebx
mov dword [edi + 0x808], eax
call fcn.0049ae93
push str.lbl_contact
mov ecx, ebx
mov dword [edi + 0x80c], eax
call fcn.0049ae93
push str.edit_contact
mov ecx, ebx
mov dword [edi + 0x810], eax
call fcn.0049ae93
push str.edit_remark
mov ecx, ebx
mov dword [edi + 0x814], eax
call fcn.0049ae93
push str.btn_help
mov ecx, ebx
mov dword [edi + 0x818], eax
call fcn.0049ae93
push str.btn_send_report
mov ecx, ebx
mov dword [edi + 0x81c], eax
call fcn.0049ae93
push str.lay_license
mov ecx, ebx
mov dword [edi + 0x820], eax
call fcn.0049ae93
push str.web_license
mov ecx, ebx
mov dword [edi + 0x824], eax
call fcn.0049ae93
mov dword [edi + 0x828], eax
mov esi, 0x5e0
mov eax, dword [edi + 0x888]
cmp dword [eax + 0x5f0], 0
jne 0x4778ae
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x60]
push eax
call fcn.00473ce0
mov ecx, dword [edi + 0x888]
push eax
add ecx, esi
call fcn.004615bc
push 0
push 1
lea ecx, [esp + 0x68]
call fcn.004510e8
mov eax, dword [edi + 0x888]
mov ecx, dword [edi + 0x88c]
add eax, esi
push eax
call fcn.00451093
mov eax, dword [edi + 0x888]
add eax, 0x214
cmp dword [eax + 0x14], 8
jb 0x4778d5
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x18]
call fcn.00450bfb
and dword [esp + 0x88], 0
lea eax, [esp + 0x14]
push eax
mov ecx, edi
call fcn.0047683f
mov ecx, dword [edi + 0x7b0]
test ecx, ecx
je 0x477948
mov eax, dword [ecx]
call dword [eax + 0x64]
mov ecx, dword [edi + 0x7b0]
mov esi, eax
add ecx, 0x550
mov edx, dword [ecx]
call dword [edx + 0xc]
mov ecx, dword [edi + 0x7b0]
shl eax, 5
add eax, 2
push eax
push esi
call fcn.004c40cb
mov ecx, dword [edi + 0x7b0]
push 0xff1398f0
call fcn.004c4409
mov ecx, dword [edi + 0x7b0]
push 0xffafdcfa
call fcn.004c4161
mov ecx, edi
call fcn.00479195
mov ecx, dword [edi + 0x78c]
test ecx, ecx
je 0x477975
lea eax, [edi + 0x76c]
push eax
call fcn.004baeef
mov ecx, dword [edi + 0x78c]
push 0x569ab8
call fcn.004ba99b
mov ecx, dword [edi + 0x828]
test ecx, ecx
je 0x47799a
push dword [edi + 0x7ec]
call fcn.004baeef
mov ecx, dword [edi + 0x828]
push str.about:blank
call fcn.004ba99b
push 0x65
push dword [edi + 0x884]
call dword [sym.imp.USER32.dll_LoadIconW]
mov ecx, edi
mov dword [edi + 0x880], eax
call fcn.00478869
mov ecx, dword [edi + 0x888]
cmp dword [ecx + 0x608], 0
je 0x4779e0
lea edx, [ecx + 0x5f8]
cmp dword [edx + 0x14], 8
jb 0x4779d2
mov edx, dword [edx]
mov ecx, dword [edi + 0x7c0]
push edx
mov eax, dword [ecx]
call dword [eax + 0x2c]
jmp 0x477a1d
lea eax, [esp + 0x60]
push eax
call fcn.00473c80
mov edx, eax
mov byte [esp + 0x88], 1
cmp dword [edx + 0x14], 8
jb 0x4779fc
mov edx, dword [edx]
mov ecx, dword [edi + 0x7c0]
push edx
mov eax, dword [ecx]
call dword [eax + 0x2c]
push 0
push 1
lea ecx, [esp + 0x68]
mov byte [esp + 0x90], 0
call fcn.004510e8
mov ecx, dword [edi + 0x780]
test ecx, ecx
je 0x477a45
mov eax, dword [edi + 0x888]
mov edx, dword [ecx]
push 1
cmp dword [eax + 0x620], 0
setne al
movzx eax, al
push eax
call dword [edx + 0x1c8]
push 0x562f9b
lea ecx, [esp + 0x34]
call fcn.0044ea3a
push 0x562fa1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x8c], 2
call fcn.0044ea3a
push str.downloader_startup
lea ecx, [esp + 0x4c]
mov byte [esp + 0x8c], 3
call fcn.0044ea3a
lea eax, [esp + 0x30]
mov byte [esp + 0x88], 4
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.0045fc40
mov ecx, eax
call fcn.0046006e
push 0
push 1
lea ecx, [esp + 0x50]
call fcn.0044ea67
push 0
push 1
lea ecx, [esp + 0x20]
call fcn.0044ea67
push 0
push 1
lea ecx, [esp + 0x38]
mov byte [esp + 0x90], 0
call fcn.0044ea67
push 0
push 0
push 0x8064
mov ecx, edi
call fcn.004a0d92
mov ecx, dword [edi + 0x888]
mov al, byte [ecx + 0x731]
test al, al
je 0x477b2d
push 0x569afc
lea ecx, [esp + 0x1c]
mov byte [0x5973c8], 1
mov byte [0x597444], 1
call fcn.00450db2
push str.isjoinexp
lea ecx, [esp + 0x34]
mov byte [esp + 0x8c], 5
call fcn.0044ea3a
mov byte [esp + 0x88], 6
jmp 0x477b6a
mov al, byte [ecx + 0x754]
test al, al
je 0x477bad
push 0x569b0c
lea ecx, [esp + 0x1c]
mov byte [0x5973c8], 1
call fcn.00450db2
push str.resumedown
lea ecx, [esp + 0x34]
mov byte [esp + 0x8c], 7
call fcn.0044ea3a
mov byte [esp + 0x88], 8
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004637da
xor ebx, ebx
lea ecx, [esp + 0x30]
push ebx
push 1
call fcn.0044ea67
push ebx
push 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x90], bl
call fcn.004510e8
push ebx
push ebx
push 0x8065
mov ecx, edi
call fcn.004a0d92
jmp 0x477c4d
push 0x562fa2
lea ecx, [esp + 0x4c]
call fcn.0044ea3a
push 0x562fa3
lea ecx, [esp + 0x1c]
mov byte [esp + 0x8c], 9
call fcn.0044ea3a
push str.downloader_pop
lea ecx, [esp + 0x34]
mov byte [esp + 0x8c], 0xa
call fcn.0044ea3a
lea eax, [esp + 0x48]
mov byte [esp + 0x88], 0xb
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.0045fc40
mov ecx, eax
call fcn.0046006e
push 0
push 1
lea ecx, [esp + 0x38]
call fcn.0044ea67
push 0
push 1
lea ecx, [esp + 0x20]
call fcn.0044ea67
push 0
push 1
lea ecx, [esp + 0x50]
mov byte [esp + 0x90], 0
call fcn.0044ea67
push 0xa
push 0x7c4
push dword [edi + 0x828]
mov ecx, ebx
call fcn.004a03b6
mov ecx, dword [edi + 0x888]
mov edx, 0x569b2c
add ecx, 0x7c
call fcn.00465fc3
test al, al
je 0x477c6d
push 1
mov ecx, edi
call fcn.00478d19
mov ecx, edi
call fcn.00476d52
mov ecx, dword [esp + 0x14]
lea ecx, [ecx - 0x10]
call fcn.00450cc2
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.00503aee
mov esp, ebp
pop ebp
ret