Function at 0x41c2a0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45afbd
mov eax, dword fs:[0]
push eax
sub esp, 0x8e4
mov eax, dword [0x486850]
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 - 0x848], 0
mov dword [ebp - 0x844], 0
call fcn.0040b810
mov dword [ebp - 0x848], 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.00402900
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x848]
mov byte [ebp - 4], 2
call fcn.00421870
mov dword [eax], 0xa
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x41c35e
push dword [ebp - 0x7f8]
call fcn.0043d3af
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.00402900
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x848]
mov byte [ebp - 4], 3
call fcn.00421870
mov dword [eax], 0x14
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x41c3c4
push dword [ebp - 0x7f8]
call fcn.0043d3af
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.00402900
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x848]
mov byte [ebp - 4], 4
call fcn.00421870
mov dword [eax], 0x1e
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x41c42a
push dword [ebp - 0x7f8]
call fcn.0043d3af
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.00402900
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x848]
mov byte [ebp - 4], 5
call fcn.00421870
mov dword [eax], 0x28
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x41c490
push dword [ebp - 0x7f8]
call fcn.0043d3af
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.00402900
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x848]
mov byte [ebp - 4], 6
call fcn.00421870
mov dword [eax], 0x32
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x41c4f6
push dword [ebp - 0x7f8]
call fcn.0043d3af
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.00402900
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x848]
mov byte [ebp - 4], 7
call fcn.00421870
mov dword [eax], 0x3c
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x41c55c
push dword [ebp - 0x7f8]
call fcn.0043d3af
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.00402900
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x848]
mov byte [ebp - 4], 8
call fcn.00421870
mov dword [eax], 0x46
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x41c5c2
push dword [ebp - 0x7f8]
call fcn.0043d3af
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.00402900
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x848]
mov byte [ebp - 4], 9
call fcn.00421870
mov dword [eax], 0x50
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x41c628
push dword [ebp - 0x7f8]
call fcn.0043d3af
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.00402900
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x848]
mov byte [ebp - 4], 0xa
call fcn.00421870
mov dword [eax], 0x5a
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x41c68e
push dword [ebp - 0x7f8]
call fcn.0043d3af
add esp, 4
cmp dword [ebp + 0x1c], 8
mov eax, dword [ebp + 8]
jae 0x41c69a
lea eax, [ebp + 8]
push 0x46a368
push eax
call fcn.0043f962
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x41c843
push ebx
lea eax, [ebp - 0x7e0]
push 0x3e7
push eax
call fcn.0043fa41
add esp, 0xc
test eax, eax
je 0x41c843
lea eax, [ebp - 0x7e0]
push 0x46a370
push eax
call fcn.0043f2f6
mov esi, eax
add esp, 8
test esi, esi
je 0x41c6b2
add esi, 4
push 0x46916c
push esi
call fcn.0043f2f6
add esp, 8
test eax, eax
je 0x41c6b2
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 0x41c735
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x41c726
sub eax, edx
sar eax, 1
push eax
push esi
lea ecx, [ebp - 0x7f8]
call fcn.00402900
lea eax, [ebp - 0x7f8]
mov byte [ebp - 4], 0xb
mov edi, dword [ebp - 0x848]
push eax
lea ecx, [ebp - 0x848]
call fcn.004222e0
mov esi, eax
mov eax, dword [ebp - 0x848]
cmp esi, eax
je 0x41c7a4
cmp dword [esi + 0x24], 8
mov ecx, dword [esi + 0x20]
lea eax, [esi + 0x10]
jb 0x41c778
mov eax, dword [eax]
push ecx
push eax
push dword [ebp - 0x7e8]
push ecx
lea ecx, [ebp - 0x7f8]
call fcn.00403600
test eax, eax
js 0x41c79e
mov dword [ebp - 0x854], esi
lea eax, [ebp - 0x854]
jmp 0x41c7b0
mov eax, dword [ebp - 0x848]
mov dword [ebp - 0x84c], eax
lea eax, [ebp - 0x84c]
cmp dword [eax], edi
je 0x41c7cf
lea eax, [ebp - 0x7f8]
push eax
lea ecx, [ebp - 0x848]
call fcn.00421790
mov eax, dword [eax]
mov dword [0x4893f4], eax
jmp 0x41c81f
push 0x10
push str.AVG_Install_some
push dword [ebp - 0x7e8]
push ecx
lea ecx, [ebp - 0x7f8]
call fcn.00403600
test eax, eax
jne 0x41c7f8
mov dword [0x4893c8], 5
jmp 0x41c81f
push 0xf
push str.AVG_Install_all
push dword [ebp - 0x7e8]
push ecx
lea ecx, [ebp - 0x7f8]
call fcn.00403600
test eax, eax
jne 0x41c81f
mov dword [0x4893c8], 6
mov byte [ebp - 4], 1
cmp dword [ebp - 0x7e4], 8
jb 0x41c6b2
push dword [ebp - 0x7f8]
call fcn.0043d3af
add esp, 4
jmp 0x41c6b2
sub esp, 8
lea ecx, [ebp - 0x8f0]
call fcn.00421940
mov byte [ebp - 4], 0xc
push dword [0x4893c8]
push ecx
push dword [0x487790]
push ecx
push dword [0x4893f4]
lea ecx, [ebp - 0x8f0]
sub esp, 8
call fcn.00421380
mov ecx, eax
call fcn.004227b0
add esp, 4
mov ecx, eax
call fcn.00412e50
mov ecx, eax
call fcn.004227b0
add esp, 4
mov ecx, eax
call fcn.00412e50
mov ecx, eax
call fcn.004227b0
add esp, 4
mov ecx, eax
call fcn.00412e50
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x8f0]
call fcn.00421a10
mov byte [ebp - 4], 0xd
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.00402900
push 0x468d0c
lea edx, [ebp - 0x7f8]
lea ecx, [ebp - 0x840]
mov byte [ebp - 4], 0xe
call fcn.0040a580
add esp, 4
push 0x489574
mov edx, eax
lea ecx, [ebp - 0x828]
mov byte [ebp - 4], 0xf
call fcn.00401e00
add esp, 4
cmp dword [ebp - 0x82c], 8
jb 0x41c93c
push dword [ebp - 0x840]
call fcn.0043d3af
add esp, 4
xor eax, eax
cmp dword [ebp - 0x7e4], 8
mov dword [ebp - 0x82c], 7
mov dword [ebp - 0x830], 0
mov word [ebp - 0x840], ax
jb 0x41c970
push dword [ebp - 0x7f8]
call fcn.0043d3af
add esp, 4
cmp dword [ebp - 0x814], 8
mov eax, dword [ebp - 0x828]
jae 0x41c985
lea eax, [ebp - 0x828]
lea ecx, [ebp - 0x850]
push ecx
push 0x2001f
push 0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x41ca04
mov esi, dword [ebp - 0x7fc]
mov edx, dword [ebp - 0x810]
mov ecx, edx
cmp esi, 8
jae 0x41c9bc
lea ecx, [ebp - 0x810]
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41c9c0
sub ecx, edi
sar ecx, 1
cmp esi, 8
jae 0x41c9da
lea edx, [ebp - 0x810]
lea eax, [ecx*2 + 2]
push eax
push edx
push 1
push 0
push str.tbar
push dword [ebp - 0x850]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x850]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x814], 8
jb 0x41ca1b
push dword [ebp - 0x828]
call fcn.0043d3af
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 0x41ca4f
push dword [ebp - 0x810]
call fcn.0043d3af
add esp, 4
xor eax, eax
mov word [ebp - 0x810], ax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x8f0]
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 - 0x8f0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x8f4], eax
lea ecx, [ebp - 0x8ec]
call fcn.00413340
mov eax, dword [ebp - 0x8f0]
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 - 0x8f0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x8f4], eax
lea eax, [ebp - 0x8a0]
push eax
mov dword [ebp - method.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::ios_base.0
call fcn.0043c867
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x848]
push eax
push dword [eax]
lea eax, [ebp - 0x84c]
push eax
lea ecx, [ebp - 0x848]
call fcn.0040b340
push dword [ebp - 0x848]
call fcn.0043d3af
add esp, 4
cmp dword [ebp + 0x1c], 8
jb 0x41cb20
push dword [ebp + 8]
call fcn.0043d3af
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.0043d3b4
mov esp, ebp
pop ebp
ret