Function at 0x425010
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x469898
mov eax, dword fs:[0]
push eax
sub esp, 0x8fc
mov eax, dword [0x4a5590]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x860], 0
mov dword [ebp - 0x85c], 0
call fcn.00413700
mov dword [ebp - 0x860], eax
mov byte [ebp - 4], 1
push 0x16
xor eax, eax
push str.TU_LicenseAgreementDlg
lea ecx, [ebp - 0x7f8]
mov dword [ebp - 0x7e4], 7
mov dword [ebp - 0x7e8], 0
mov word [ebp - 0x7f8], ax
call fcn.0040a110
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x860]
mov byte [ebp - 4], 2
call fcn.0042a3f0
mov dword [eax], 0xa
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x4250ce
push dword [ebp - 0x7f8]
call fcn.0044d639
add esp, 4
push 0xe
xor eax, eax
push str.AVG_ToolbarDlg
lea ecx, [ebp - 0x7f8]
mov dword [ebp - 0x7e4], 7
mov dword [ebp - 0x7e8], 0
mov word [ebp - 0x7f8], ax
call fcn.0040a110
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x860]
mov byte [ebp - 4], 3
call fcn.0042a3f0
mov dword [eax], 0x14
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x425134
push dword [ebp - 0x7f8]
call fcn.0044d639
add esp, 4
push 0x10
xor eax, eax
push str.TU_ProductKeyDlg
lea ecx, [ebp - 0x7f8]
mov dword [ebp - 0x7e4], 7
mov dword [ebp - 0x7e8], 0
mov word [ebp - 0x7f8], ax
call fcn.0040a110
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x860]
mov byte [ebp - 4], 4
call fcn.0042a3f0
mov dword [eax], 0x1e
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x42519a
push dword [ebp - 0x7f8]
call fcn.0044d639
add esp, 4
push 0x10
xor eax, eax
push str.TU_InstallDirDlg
lea ecx, [ebp - 0x7f8]
mov dword [ebp - 0x7e4], 7
mov dword [ebp - 0x7e8], 0
mov word [ebp - 0x7f8], ax
call fcn.0040a110
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x860]
mov byte [ebp - 4], 5
call fcn.0042a3f0
mov dword [eax], 0x28
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x425200
push dword [ebp - 0x7f8]
call fcn.0044d639
add esp, 4
push 0x11
xor eax, eax
push str.TU_AppSettingsDlg
lea ecx, [ebp - 0x7f8]
mov dword [ebp - 0x7e4], 7
mov dword [ebp - 0x7e8], 0
mov word [ebp - 0x7f8], ax
call fcn.0040a110
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x860]
mov byte [ebp - 4], 6
call fcn.0042a3f0
mov dword [eax], 0x32
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x425266
push dword [ebp - 0x7f8]
call fcn.0044d639
add esp, 4
push 0xe
xor eax, eax
push str.TU_ProgressDlg
lea ecx, [ebp - 0x7f8]
mov dword [ebp - 0x7e4], 7
mov dword [ebp - 0x7e8], 0
mov word [ebp - 0x7f8], ax
call fcn.0040a110
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x860]
mov byte [ebp - 4], 7
call fcn.0042a3f0
mov dword [eax], 0x3c
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x4252cc
push dword [ebp - 0x7f8]
call fcn.0044d639
add esp, 4
push 0xd
xor eax, eax
push str.TU_ExitDialog
lea ecx, [ebp - 0x7f8]
mov dword [ebp - 0x7e4], 7
mov dword [ebp - 0x7e8], 0
mov word [ebp - 0x7f8], ax
call fcn.0040a110
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x860]
mov byte [ebp - 4], 8
call fcn.0042a3f0
mov dword [eax], 0x46
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x425332
push dword [ebp - 0x7f8]
call fcn.0044d639
add esp, 4
push 0x12
xor eax, eax
push str.TU_FatalExitDialog
lea ecx, [ebp - 0x7f8]
mov dword [ebp - 0x7e4], 7
mov dword [ebp - 0x7e8], 0
mov word [ebp - 0x7f8], ax
call fcn.0040a110
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x860]
mov byte [ebp - 4], 9
call fcn.0042a3f0
mov dword [eax], 0x50
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x425398
push dword [ebp - 0x7f8]
call fcn.0044d639
add esp, 4
push 0x11
xor eax, eax
push str.TU_UserExitDialog
lea ecx, [ebp - 0x7f8]
mov dword [ebp - 0x7e4], 7
mov dword [ebp - 0x7e8], 0
mov word [ebp - 0x7f8], ax
call fcn.0040a110
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x860]
mov byte [ebp - 4], 0xa
call fcn.0042a3f0
mov dword [eax], 0x5a
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x4253fe
push dword [ebp - 0x7f8]
call fcn.0044d639
add esp, 4
cmp dword [ebp + 0x1c], 8
mov eax, dword [ebp + 8]
jae 0x42540a
lea eax, [ebp + 8]
push 0x47cfb0
push eax
call fcn.0044fac9
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4255b3
push ebx
lea eax, [ebp - 0x7e0]
push 0x3e7
push eax
call fcn.0044fba8
add esp, 0xc
test eax, eax
je 0x4255b3
lea eax, [ebp - 0x7e0]
push 0x47cfb8
push eax
call fcn.0044f324
mov esi, eax
add esp, 8
test esi, esi
je 0x425422
add esi, 4
push 0x47bc14
push esi
call fcn.0044f324
add esp, 8
test eax, eax
je 0x425422
xor ecx, ecx
mov word [eax], cx
xor eax, eax
mov dword [ebp - 0x7e4], 7
mov dword [ebp - 0x7e8], ecx
mov word [ebp - 0x7f8], ax
cmp word [esi], ax
je 0x4254a5
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x425496
sub eax, edx
sar eax, 1
push eax
push esi
lea ecx, [ebp - 0x7f8]
call fcn.0040a110
lea eax, [ebp - 0x7f8]
mov byte [ebp - 4], 0xb
mov edi, dword [ebp - 0x860]
push eax
lea ecx, [ebp - 0x860]
call fcn.0042a970
mov esi, eax
mov eax, dword [ebp - 0x860]
cmp esi, eax
je 0x425514
cmp dword [esi + 0x24], 8
mov ecx, dword [esi + 0x20]
lea eax, [esi + 0x10]
jb 0x4254e8
mov eax, dword [eax]
push ecx
push eax
push dword [ebp - 0x7e8]
push ecx
lea ecx, [ebp - 0x7f8]
call fcn.0040aeb0
test eax, eax
js 0x42550e
mov dword [ebp - 0x86c], esi
lea eax, [ebp - 0x86c]
jmp 0x425520
mov eax, dword [ebp - 0x860]
mov dword [ebp - 0x868], eax
lea eax, [ebp - 0x868]
cmp dword [eax], edi
je 0x42553f
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x860]
call fcn.0042a1f0
mov eax, dword [eax]
mov dword [0x4acc00], eax
jmp 0x42558f
push 0x10
push str.AVG_Install_some
push dword [ebp - 0x7e8]
push ecx
lea ecx, [ebp - 0x7f8]
call fcn.0040aeb0
test eax, eax
jne 0x425568
mov dword [0x4a99e4], 5
jmp 0x42558f
push 0xf
push str.AVG_Install_all
push dword [ebp - 0x7e8]
push ecx
lea ecx, [ebp - 0x7f8]
call fcn.0040aeb0
test eax, eax
jne 0x42558f
mov dword [0x4a99e4], 6
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x425422
push dword [ebp - 0x7f8]
call fcn.0044d639
add esp, 4
jmp 0x425422
sub esp, 8
lea ecx, [ebp - 0x908]
call fcn.0042a4c0
mov byte [ebp - 4], 0xc
push dword [0x4a99e4]
push ecx
push dword [0x4a6abc]
push ecx
push dword [0x4acc00]
lea ecx, [ebp - 0x908]
sub esp, 8
call fcn.00429e40
mov ecx, eax
call fcn.0042ac50
add esp, 4
mov ecx, eax
call fcn.0041ab60
mov ecx, eax
call fcn.0042ac50
add esp, 4
mov ecx, eax
call fcn.0041ab60
mov ecx, eax
call fcn.0042ac50
add esp, 4
mov ecx, eax
call fcn.0041ab60
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x908]
call fcn.0042a590
mov byte [ebp - 4], 0xd
push 0xb
xor eax, eax
push str.AFFILIATEID
lea ecx, [ebp - 0x840]
mov dword [ebp - 0x82c], 7
mov dword [ebp - 0x830], 0
mov word [ebp - 0x840], ax
call fcn.0040a110
mov byte [ebp - 4], 0xe
push 0x10
xor eax, eax
push str.SoftwareAVGAWL
lea ecx, [ebp - 0x7f8]
mov dword [ebp - 0x7e4], 7
mov dword [ebp - 0x7e8], 0
mov word [ebp - 0x7f8], ax
call fcn.0040a110
push 0x47b7c4
lea edx, [ebp - 0x7f8]
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 0xf
call fcn.00412310
add esp, 4
mov esi, eax
lea eax, [ebp - 0x840]
push eax
mov byte [ebp - 4], 0x10
call fcn.0042a2d0
push eax
mov edx, esi
lea ecx, [ebp - 0x828]
call fcn.00409ad0
add esp, 4
cmp dword [ebp - 0x844], 8
jb 0x4256e9
push dword [ebp - 0x858]
call fcn.0044d639
add esp, 4
xor eax, eax
cmp dword [ebp - 0x7e4], 8
mov dword [ebp - 0x844], 7
mov dword [ebp - 0x848], 0
mov word [ebp - 0x858], ax
jb 0x42571d
push dword [ebp - 0x7f8]
call fcn.0044d639
add esp, 4
xor eax, eax
cmp dword [ebp - 0x82c], 8
mov dword [ebp - 0x7e4], 7
mov dword [ebp - 0x7e8], 0
mov word [ebp - 0x7f8], ax
jb 0x425751
push dword [ebp - 0x840]
call fcn.0044d639
add esp, 4
cmp dword [ebp - 0x814], 8
mov eax, dword [ebp - 0x828]
jae 0x425766
lea eax, [ebp - 0x828]
lea ecx, [ebp - 0x864]
push ecx
push 0x2001f
push 0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4257e4
mov esi, dword [ebp - 0x7fc]
mov edx, dword [ebp - 0x810]
mov ecx, edx
cmp esi, 8
jae 0x42579d
lea ecx, [ebp - 0x810]
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4257a0
sub ecx, edi
sar ecx, 1
cmp esi, 8
jae 0x4257ba
lea edx, [ebp - 0x810]
lea eax, [ecx*2 + 2]
push eax
push edx
push 1
push 0
push str.tbar
push dword [ebp - 0x864]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x864]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x814], 8
jb 0x4257fb
push dword [ebp - 0x828]
call fcn.0044d639
add esp, 4
xor eax, eax
cmp dword [ebp - 0x7fc], 8
mov dword [ebp - 0x814], 7
mov dword [ebp - 0x818], 0
mov word [ebp - 0x828], ax
jb 0x42582f
push dword [ebp - 0x810]
call fcn.0044d639
add esp, 4
xor eax, eax
mov word [ebp - 0x810], ax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x908]
mov dword [ebp - 0x7fc], 7
mov dword [ebp - 0x800], 0
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0x908]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x90c], eax
lea ecx, [ebp - 0x904]
call fcn.0041b030
mov eax, dword [ebp - 0x908]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x908]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x90c], eax
lea eax, [ebp - 0x8b8]
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.0044ba48
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x860]
push eax
push dword [eax]
lea eax, [ebp - 0x868]
push eax
lea ecx, [ebp - 0x860]
call fcn.00412d60
push dword [ebp - 0x860]
call fcn.0044d639
add esp, 4
cmp dword [ebp + 0x1c], 8
jb 0x425900
push dword [ebp + 8]
call fcn.0044d639
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0044c32d
mov esp, ebp
pop ebp
ret