Function at 0x477727
Capabilities:
Check for peb ntglobalflag flag

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5377f2
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x596700]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push esi
push edi
mov eax, dword [0x596700]
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.0049c9e5
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
lea ebx, [edi + 0x30]
push 0x56ebfc
mov ecx, ebx
call fcn.0049f6f4
push str.btn_close
mov ecx, ebx
mov dword [edi + 0x774], eax
call fcn.0049f6f4
push str.btn_minimal
mov ecx, ebx
mov dword [edi + 0x778], eax
call fcn.0049f6f4
push 0x56ec40
mov ecx, ebx
mov dword [edi + 0x77c], eax
call fcn.0049f6f4
push str.cbx_ext_install
mov ecx, ebx
mov dword [edi + 0x7dc], eax
call fcn.0049f6f4
push str.btn_install
mov ecx, ebx
mov dword [edi + 0x780], eax
call fcn.0049f6f4
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.0049f6f4
push str.lbl_agree
mov ecx, ebx
mov dword [edi + 0x1434], eax
call fcn.0049f6f4
push str.btn_privacy
mov ecx, ebx
mov dword [edi + 0x790], eax
call fcn.0049f6f4
push str.lbl_and
mov ecx, ebx
mov dword [edi + 0x794], eax
call fcn.0049f6f4
push str.btn_eula
mov ecx, ebx
mov dword [edi + 0x1438], eax
call fcn.0049f6f4
push str.lbl_tail
mov ecx, ebx
mov dword [edi + 0x798], eax
call fcn.0049f6f4
push str.lbl_tail2
mov ecx, ebx
mov dword [edi + 0x79c], eax
call fcn.0049f6f4
push str.btn_settings
mov ecx, ebx
mov dword [edi + 0x7a0], eax
call fcn.0049f6f4
push str.btn_downIcon
mov ecx, ebx
mov dword [edi + 0x7a4], eax
call fcn.0049f6f4
push str.btn_upIcon
mov ecx, ebx
mov dword [edi + 0x7a8], eax
call fcn.0049f6f4
push str.lbl_install_dir
mov ecx, ebx
mov dword [edi + 0x7ac], eax
call fcn.0049f6f4
push str.edit_install_dir
mov ecx, ebx
mov dword [edi + 0x7b8], eax
call fcn.0049f6f4
push str.btn_select_dir
mov ecx, ebx
mov dword [edi + 0x7c0], eax
call fcn.0049f6f4
push str.lbl_folder_bk
mov ecx, ebx
mov dword [edi + 0x7c4], eax
call fcn.0049f6f4
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 0x56ee84
mov eax, dword [ecx]
call dword [eax + 0x148]
push str.cmb_language
mov ecx, ebx
call fcn.0049f6f4
push str.lbl_language
mov ecx, ebx
mov dword [edi + 0x7b0], eax
call fcn.0049f6f4
push 0x56eea8
mov ecx, ebx
mov dword [edi + 0x7b4], eax
call fcn.0049f6f4
push str.lay_download
mov ecx, ebx
mov dword [edi + 0x7e8], eax
call fcn.0049f6f4
push str.web_banner
mov ecx, ebx
mov dword [edi + 0x7e0], eax
call fcn.0049f6f4
push str.progress_download
mov ecx, ebx
mov dword [edi + 0x78c], eax
call fcn.0049f6f4
push str.lbl_progress_tip
mov ecx, ebx
mov dword [edi + 0x7c8], eax
call fcn.0049f6f4
push str.lbl_progress_value
mov ecx, ebx
mov dword [edi + 0x7cc], eax
call fcn.0049f6f4
push str.lbl_wait_for_time_tip
mov ecx, ebx
mov dword [edi + 0x7d0], eax
call fcn.0049f6f4
push 0x56ef8c
mov ecx, ebx
mov dword [edi + 0x7d4], eax
call fcn.0049f6f4
push str.btn_run
mov ecx, ebx
mov dword [edi + 0x7e4], eax
call fcn.0049f6f4
push str.edit_package
mov ecx, ebx
mov dword [edi + 0x788], eax
call fcn.0049f6f4
push 0x56efcc
mov ecx, ebx
mov dword [edi + 0x7d8], eax
call fcn.0049f6f4
push str.lbl_title
mov ecx, ebx
mov dword [edi + 0x7f0], eax
call fcn.0049f6f4
push str.lbl_install_failed
mov ecx, ebx
mov dword [edi + 0x7f4], eax
call fcn.0049f6f4
mov dword [edi + 0x7f8], eax
mov ecx, ebx
push str.lbl_tip1
call fcn.0049f6f4
push str.lbl_tip2
mov ecx, ebx
mov dword [edi + 0x7fc], eax
call fcn.0049f6f4
push str.lbl_tip3
mov ecx, ebx
mov dword [edi + 0x800], eax
call fcn.0049f6f4
push str.lbl_tip4
mov ecx, ebx
mov dword [edi + 0x804], eax
call fcn.0049f6f4
push str.btn_download_pkg
mov ecx, ebx
mov dword [edi + 0x808], eax
call fcn.0049f6f4
push str.lbl_contact
mov ecx, ebx
mov dword [edi + 0x80c], eax
call fcn.0049f6f4
push str.edit_contact
mov ecx, ebx
mov dword [edi + 0x810], eax
call fcn.0049f6f4
push str.edit_remark
mov ecx, ebx
mov dword [edi + 0x814], eax
call fcn.0049f6f4
push str.btn_help
mov ecx, ebx
mov dword [edi + 0x818], eax
call fcn.0049f6f4
push str.btn_send_report
mov ecx, ebx
mov dword [edi + 0x81c], eax
call fcn.0049f6f4
push str.lay_license
mov ecx, ebx
mov dword [edi + 0x820], eax
call fcn.0049f6f4
push str.web_license
mov ecx, ebx
mov dword [edi + 0x824], eax
call fcn.0049f6f4
mov dword [edi + 0x828], eax
mov esi, 0x5e0
mov eax, dword [edi + 0x888]
cmp dword [eax + 0x5f0], 0
jne 0x477b3e
mov ecx, dword [edi + 0x88c]
lea eax, [esp + 0x60]
push eax
call fcn.00473cfe
mov ecx, dword [edi + 0x888]
push eax
add ecx, esi
call fcn.004615ca
push 0
push 1
lea ecx, [esp + 0x68]
call fcn.00451108
mov eax, dword [edi + 0x888]
mov ecx, dword [edi + 0x88c]
add eax, esi
push eax
call fcn.004510b3
mov eax, dword [edi + 0x888]
add eax, 0x214
cmp dword [eax + 0x14], 8
jb 0x477b65
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x18]
call fcn.00450c1b
and dword [esp + 0x88], 0
lea eax, [esp + 0x14]
push eax
mov ecx, edi
call fcn.0047690a
mov ecx, dword [edi + 0x7b0]
test ecx, ecx
je 0x477bd8
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.004c87e7
mov ecx, dword [edi + 0x7b0]
push 0xff1398f0
call fcn.004c8b16
mov ecx, dword [edi + 0x7b0]
push 0xffafdcfa
call fcn.004c887d
mov ecx, edi
call fcn.00479426
mov ecx, dword [edi + 0x78c]
test ecx, ecx
je 0x477c05
lea eax, [edi + 0x76c]
push eax
call fcn.004bf6cd
mov ecx, dword [edi + 0x78c]
push 0x56f144
call fcn.004bf179
mov ecx, dword [edi + 0x828]
test ecx, ecx
je 0x477c2a
push dword [edi + 0x7ec]
call fcn.004bf6cd
mov ecx, dword [edi + 0x828]
push str.about:blank
call fcn.004bf179
push 0x65
push dword [edi + 0x884]
call dword [sym.imp.USER32.dll_LoadIconW]
mov ecx, edi
mov dword [edi + 0x880], eax
call fcn.00478afa
mov ecx, dword [edi + 0x888]
cmp dword [ecx + 0x608], 0
je 0x477c70
lea edx, [ecx + 0x5f8]
cmp dword [edx + 0x14], 8
jb 0x477c62
mov edx, dword [edx]
mov ecx, dword [edi + 0x7c0]
push edx
mov eax, dword [ecx]
call dword [eax + 0x2c]
jmp 0x477cad
lea eax, [esp + 0x60]
push eax
call fcn.00473c9e
mov edx, eax
mov byte [esp + 0x88], 1
cmp dword [edx + 0x14], 8
jb 0x477c8c
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.00451108
mov ecx, dword [edi + 0x780]
test ecx, ecx
je 0x477cd5
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 0x5684f1
lea ecx, [esp + 0x34]
call fcn.0044ea5a
push 0x5684f2
lea ecx, [esp + 0x1c]
mov byte [esp + 0x8c], 2
call fcn.0044ea5a
push str.downloader_startup
lea ecx, [esp + 0x4c]
mov byte [esp + 0x8c], 3
call fcn.0044ea5a
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.0045fc50
mov ecx, eax
call fcn.0046007e
push 0
push 1
lea ecx, [esp + 0x50]
call fcn.0044ea87
push 0
push 1
lea ecx, [esp + 0x20]
call fcn.0044ea87
push 0
push 1
lea ecx, [esp + 0x38]
mov byte [esp + 0x90], 0
call fcn.0044ea87
push 0
push 0
push 0x8064
mov ecx, edi
call fcn.004a5580
mov ecx, dword [edi + 0x888]
mov al, byte [ecx + 0x731]
test al, al
je 0x477dbd
push 0x56f188
lea ecx, [esp + 0x1c]
mov byte [0x59d578], 1
mov byte [0x59d5f4], 1
call fcn.00450dd2
push str.isjoinexp
lea ecx, [esp + 0x34]
mov byte [esp + 0x8c], 5
call fcn.0044ea5a
mov byte [esp + 0x88], 6
jmp 0x477dfa
mov al, byte [ecx + 0x754]
test al, al
je 0x477e3d
push 0x56f198
lea ecx, [esp + 0x1c]
mov byte [0x59d578], 1
call fcn.00450dd2
push str.resumedown
lea ecx, [esp + 0x34]
mov byte [esp + 0x8c], 7
call fcn.0044ea5a
mov byte [esp + 0x88], 8
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004637e8
xor ebx, ebx
lea ecx, [esp + 0x30]
push ebx
push 1
call fcn.0044ea87
push ebx
push 1
lea ecx, [esp + 0x20]
mov byte [esp + 0x90], bl
call fcn.00451108
push ebx
push ebx
push 0x8065
mov ecx, edi
call fcn.004a5580
jmp 0x477edd
push 0x5684f3
lea ecx, [esp + 0x4c]
call fcn.0044ea5a
push 0x5684f7
lea ecx, [esp + 0x1c]
mov byte [esp + 0x8c], 9
call fcn.0044ea5a
push str.downloader_pop
lea ecx, [esp + 0x34]
mov byte [esp + 0x8c], 0xa
call fcn.0044ea5a
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.0045fc50
mov ecx, eax
call fcn.0046007e
push 0
push 1
lea ecx, [esp + 0x38]
call fcn.0044ea87
push 0
push 1
lea ecx, [esp + 0x20]
call fcn.0044ea87
push 0
push 1
lea ecx, [esp + 0x50]
mov byte [esp + 0x90], 0
call fcn.0044ea87
push 0xa
push 0x7c4
push dword [edi + 0x828]
mov ecx, ebx
call fcn.004a4c09
mov ecx, dword [edi + 0x888]
mov edx, 0x56f1b8
add ecx, 0x7c
call fcn.00465fcf
test al, al
je 0x477efd
push 1
mov ecx, edi
call fcn.00478faa
mov ecx, edi
call fcn.00476e1d
mov ecx, dword [esp + 0x14]
lea ecx, [ecx - 0x10]
call fcn.00450ce2
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.00508163
mov esp, ebp
pop ebp
ret