Function at 0x661cb549
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push 0x260
mov eax, 0x662325c5
call fcn.6622a8f7
mov eax, dword [ebp + 8]
mov dword [ebp - 0x23c], eax
lea eax, [ebp - 0x238]
push eax
call fcn.661cf3eb
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp byte [ebp + 0x10], bl
je 0x661cb64d
lea edi, [ebp - 0x21c]
call fcn.66226c11
mov eax, edi
push eax
mov ecx, str.IEXPLORE.EXE
call fcn.661c89b9
test eax, eax
jne 0x661cb64d
lea eax, [ebp - 0x220]
push eax
push 1
push ebx
push str.SoftwareMicrosoftInternet_ExplorerToolbarWebBrowser
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
jne 0x661cb64d
lea eax, [ebp - 0x228]
push eax
push ebx
lea eax, [ebp - 0x224]
push eax
push ebx
mov edi, str.ITBarLayout
push edi
push dword [ebp - 0x220]
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
call esi
cmp eax, ebx
jne 0x661cb641
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x234]
je 0x661cb641
push eax
lea ebx, [ebp - 0x238]
call fcn.6620ca4e
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x238]
lea eax, [ebp - 0x224]
push eax
push 0
push edi
push dword [ebp - 0x220]
call esi
test eax, eax
jne 0x661cb632
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x234]
jne 0x661cb5f3
jmp 0x661cb63f
push 0
lea ebx, [ebp - 0x238]
call fcn.6620ca4e
xor ebx, ebx
push dword [ebp - 0x220]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ebx
call dword [sym.imp.GrooveUtil.DLL_public:_static_void___stdcall_GCCriticalErrorInfo::StartErrorBlock_bool_]
mov byte [ebp - 4], 1
mov byte [ebp - 4], 2
push 0x6623fb6c
lea esi, [ebp - 0x254]
call fcn.661c8153
mov byte [ebp - 4], 3
mov al, byte [ebp + 0xc]
neg al
sbb eax, eax
and eax, 0xffff
mov word [ebp - 0x224], ax
push dword [ebp - 0x224]
lea esi, [ebp - 0x26c]
call fcn.661ccc2a
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x23c]
mov esi, dword [eax + 0xa4]
lea eax, [ebp - 0x26c]
push eax
call fcn.661cca32
mov edi, eax
lea eax, [ebp - 0x254]
push eax
call fcn.661cca32
mov ecx, dword [esi]
push ebx
push edi
push eax
push esi
call dword [ecx + 0xdc]
cmp eax, ebx
jge 0x661cb6da
push 0x6624a278
push esi
push eax
call fcn.661c679d
mov byte [ebp - 4], 3
cmp word [ebp - 0x26c], bx
je 0x661cb6f3
lea ecx, [ebp - 0x26c]
call dword [sym.imp.GrooveUtil.DLL_private:_void___thiscall_GCVariant::_Release_void_]
mov byte [ebp - 4], 2
cmp word [ebp - 0x254], bx
je 0x661cb70c
lea ecx, [ebp - 0x254]
call dword [sym.imp.GrooveUtil.DLL_private:_void___thiscall_GCVariant::_Release_void_]
mov dword [ebp - 4], 1
jmp 0x661cb723
mov byte [ebp - 4], bl
call dword [sym.imp.GrooveUtil.DLL_public:_static_void___stdcall_GCCriticalErrorInfo::EndErrorBlock_void_]
cmp byte [ebp + 0x10], bl
je 0x661cb783
cmp dword [ebp - 0x234], ebx
jle 0x661cb783
lea eax, [ebp - 0x220]
push eax
push 2
push ebx
push str.SoftwareMicrosoftInternet_ExplorerToolbarWebBrowser
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
jne 0x661cb783
push dword [ebp - 0x234]
push dword [ebp - 0x238]
push 3
push ebx
push str.ITBarLayout
push dword [ebp - 0x220]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x220]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x238]
push eax
call fcn.661cf413
call fcn.6622a953
ret 0xc