Function at 0x10050506
Capabilities:
Delete registry key

Disassembly:
mov eax, 0x100c1d05
call fcn.100a35ac
sub esp, 0x29c
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0x10], esp
push dword [ebp + 0xc]
xor ebx, ebx
push esi
mov dword [ebp - 4], ebx
call fcn.10042d6c
cmp dword [ebp + 0xc], ebx
je 0x10050cea
call fcn.1009d1d6
lea eax, [esi + 0x58]
cmp dword [eax], ebx
jne 0x1005054e
push eax
push 0x100d24e4
push ebx
call fcn.1000a397
lea ecx, [esi - 4]
call fcn.10042261
cmp dword [0x1011b008], ebx
jne 0x10050ab6
lea eax, [ebp - 0x3c]
push eax
call fcn.1003e953
pop ecx
mov esi, 0x100cb0a0
push esi
push 0x100cd86c
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call fcn.100047f1
lea eax, [ebp - 0x3c]
push eax
call fcn.1003e6b4
pop ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push esi
call fcn.10005f07
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.AdminUpdateInProgress
mov byte [ebp - 4], 2
call fcn.10005f07
mov byte [ebp - 4], 1
call fcn.100402b5
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push esi
call fcn.10005f07
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.UpdateCheckedThisSession
mov byte [ebp - 4], 3
call fcn.10005f07
mov byte [ebp - 4], 1
call fcn.100402b5
lea eax, [ebp - 0x14]
add esp, 0xc
push eax
call fcn.1003e953
pop ecx
push str.popups
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 4
call fcn.100053c1
mov esi, dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
add esp, 0xc
push dword [eax]
mov ebx, SysReAllocString
push ebx
call esi
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.10001d29
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
mov byte [ebp - 4], 1
call fcn.10001d29
lea eax, [ebp - 0x14]
push eax
call fcn.1003e953
pop ecx
push 0x100d4e0c
push eax
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 5
push eax
call fcn.100053c1
add esp, 0xc
push dword [eax]
push ebx
call esi
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.10001d29
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
mov byte [ebp - 4], 1
call fcn.10001d29
lea eax, [ebp - 0x14]
push eax
call fcn.1003e953
pop ecx
push str.TempVariables
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 6
call fcn.100053c1
add esp, 0xc
push dword [eax]
push ebx
call esi
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.10001d29
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
mov byte [ebp - 4], 1
call fcn.10001d29
push str.a57112684fbe08d4d16f7f973aac0353
lea ecx, [ebp - 0x2c]
call fcn.10005f07
push str.__expiresTue__01_Jan_1980_00:00:00_GMT
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 7
call fcn.100053c1
mov esi, dword [sym.imp.WININET.dll_InternetSetCookieW]
add esp, 0xc
push dword [eax]
mov edi, str.http:__www.freecause.com_fbtoolbar3_
push 0
push edi
call esi
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.10001d29
push str._user__expiresTue__01_Jan_1980_00:00:00_GMT
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100053c1
add esp, 0xc
push dword [eax]
push 0
push edi
call esi
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.10001d29
push str._session_key__expiresTue__01_Jan_1980_00:00:00_GMT
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100053c1
add esp, 0xc
push dword [eax]
push 0
push edi
call esi
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.10001d29
push str.x_session__expiresTue__01_Jan_1980_00:00:00_GMT
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100053c1
add esp, 0xc
push dword [eax]
push 0
push edi
call esi
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.10001d29
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.SessionVariables
call fcn.10005f07
xor edi, edi
push edi
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.PersistentApiSession
mov byte [ebp - 4], 8
call fcn.10005f07
mov byte [ebp - 4], 7
call fcn.100400d9
add esp, 0xc
mov esi, 0x100cb0a0
cmp eax, edi
jne 0x100508c3
push esi
lea ecx, [ebp - 0x1c]
call fcn.10005f07
push str.SessionUser
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 9
call fcn.10005f07
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0xa
call fcn.10025457
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.10001d29
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 7
call fcn.10001d29
push esi
lea ecx, [ebp - 0x1c]
call fcn.10005f07
push str.SessionKey
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xb
call fcn.10005f07
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0xc
call fcn.10025457
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.10001d29
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 7
call fcn.10001d29
push esi
lea ecx, [ebp - 0x1c]
call fcn.10005f07
push str.SessionID
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xd
call fcn.10005f07
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0xe
call fcn.10025457
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.10001d29
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 7
call fcn.10001d29
push esi
lea ecx, [ebp - 0x1c]
call fcn.10005f07
push str.SessionDomain
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xf
call fcn.10005f07
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x10
call fcn.10025457
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.10001d29
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 7
call fcn.10001d29
push 0x101185a8
lea ecx, [ebp - 0x1c]
call fcn.1005a319
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push esi
mov byte [ebp - 4], 0x11
call fcn.10005f07
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
mov esi, 0x100cbdcc
push esi
mov byte [ebp - 4], 0x12
call fcn.10005f07
push ecx
mov ecx, esp
mov dword [ebp - 0x40], esp
push str.TOOLID
mov byte [ebp - 4], 0x13
call fcn.10005f07
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x11
call fcn.1003fd77
add esp, 0x10
push dword [eax]
lea eax, [ebp - 0x1c]
push 0x100d212c
push eax
mov byte [ebp - 4], 0x14
call fcn.1000d4c3
mov ecx, dword [ebp - 0x18]
add esp, 0xc
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x11
call fcn.10001d29
push esi
lea ecx, [ebp - 0x1c]
call fcn.10002834
cmp eax, edi
je 0x10050a8c
mov eax, dword [ebp - 0x1c]
cmp dword [eax - 0xc], edi
je 0x10050a8c
lea eax, [ebp - 0x24]
push eax
call fcn.10017444
pop ecx
push 0x100ccd84
push eax
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x15
call fcn.100053c1
add esp, 0xc
push 0x10115fdc
push eax
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 0x16
call fcn.10005363
add esp, 0xc
push str.Layouts_
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x17
call fcn.100053c1
add esp, 0xc
lea ecx, [ebp - 0x1c]
push ecx
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x18
call fcn.10005363
add esp, 0xc
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.10001d29
mov ecx, dword [ebp - 0x40]
add ecx, 0xfffffff0
call fcn.10001d29
mov ecx, dword [ebp - 0x30]
add ecx, 0xfffffff0
call fcn.10001d29
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
call fcn.10001d29
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], edi
push edi
push edi
push 0x2001f
push edi
push edi
push dword [ebp - 0x18]
lea ecx, [ebp - 0x34]
push ebx
mov byte [ebp - 4], 0x1e
call fcn.100014a4
test eax, eax
jne 0x10050a79
push 0x101185a8
lea ecx, [ebp - 0x14]
call fcn.1005a319
mov eax, 0x400
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x24], eax
call fcn.1000357f
lea ecx, [ebp - 0x24]
push ecx
push eax
push edi
lea ecx, [ebp - 0x34]
call fcn.10022af7
push 0xffffffffffffffff
lea ecx, [ebp - 0x14]
call fcn.10002a69
mov esi, dword [ebp - 0x14]
cmp dword [esi - 0xc], edi
jne 0x10050a71
lea eax, [ebp - 0x24]
push eax
call fcn.1009969d
mov eax, dword [eax]
pop ecx
push 1
push eax
push edi
lea ecx, [ebp - 0x34]
call fcn.10001559
mov ecx, dword [ebp - 0x24]
add ecx, 0xfffffff0
call fcn.10001d29
lea ecx, [esi - 0x10]
call fcn.10001d29
lea ecx, [ebp - 0x34]
call fcn.10001489
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.10001d29
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.10001d29
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffff0
call fcn.10001d29
mov ecx, dword [ebp - 0x3c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0
call fcn.10001d29
mov esi, dword [ebp + 8]
xor ebx, ebx
push 0x100a03a2
call fcn.100a0233
push 0x100d4bb0
call fcn.10022776
mov edi, eax
cmp edi, ebx
je 0x10050aee
push str.CoInternetSetFeatureEnabled
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x10050ae7
push ebx
push 2
push 8
call eax
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push dword [ebp + 0xc]
lea ecx, [ebp - 0x20]
call fcn.10042bcb
mov eax, dword [ebp - 0x20]
lea edi, [esi + 0x1434]
mov byte [ebp - 4], 0x20
mov dword [edi], ebx
cmp eax, ebx
je 0x10050b13
mov ecx, dword [eax]
push edi
push eax
call dword [ecx + 0xc]
push dword [edi]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x10050b3a
mov eax, dword [ebp - 0x20]
cmp eax, ebx
mov byte [ebp - 4], 0
je 0x10050b30
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80004005
jmp 0x10050cd9
push dword [ebp + 0xc]
lea ecx, [ebp - 0x28]
call fcn.1003d9ce
lea edi, [esi + 0x143c]
mov byte [ebp - 4], 0x21
cmp dword [edi], ebx
je 0x10050b55
mov dword [edi], ebx
mov eax, dword [ebp - 0x28]
cmp eax, ebx
jne 0x10050b66
push 0x80004003
call fcn.100a1cd0
mov ecx, dword [eax]
push edi
push 0x100deaf0
mov ebx, 0x100deae0
push ebx
push eax
call dword [ecx + 0xc]
test eax, eax
jge 0x10050b94
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x20
test eax, eax
je 0x10050b8d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
test eax, eax
jmp 0x10050b24
xor eax, eax
push 0x256
push eax
mov word [ebp - 0x2a8], ax
lea eax, [ebp - 0x2a6]
push eax
call fcn.100a2490
add esp, 0xc
push 0x12c
lea eax, [ebp - 0x2a8]
push eax
push dword [esi + 0x1434]
call dword [sym.imp.USER32.dll_GetClassNameW]
lea eax, [ebp - 0x2a8]
push str.ReBarWindow32
push eax
call fcn.100a26ab
pop ecx
pop ecx
test eax, eax
je 0x10050c3e
lea eax, [ebp - 0x2a8]
push str.Internet_Explorer_Server
push eax
call fcn.100a26ab
pop ecx
pop ecx
test eax, eax
jne 0x10050cb5
mov eax, dword [edi]
test eax, eax
je 0x10050c0b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [edi], 0
mov eax, dword [esi]
push 0
push esi
call dword [eax + 0xc]
mov esi, eax
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x20
test eax, eax
je 0x10050c26
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0
test eax, eax
je 0x10050c37
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, esi
jmp 0x10050cd9
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x10050b5c
mov ecx, dword [eax]
lea edx, [esi + 0x1438]
push edx
push 0x100deaf0
push ebx
push eax
call dword [ecx + 0xc]
test eax, eax
jl 0x10050b7c
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
lea edx, [esi + 0x70]
push edx
push 0x100deb30
push eax
call dword [ecx]
test eax, eax
jl 0x10050b7c
mov edi, dword [edi]
push 0x100deb00
push edi
lea ecx, [esi + 0x14]
call fcn.10042c09
test eax, eax
jl 0x10050b7c
lea ecx, [esi - 4]
call fcn.10042b02
lea eax, [esi + 0x74]
test eax, eax
je 0x10050cac
add esi, 0x12c
jmp 0x10050cae
xor esi, esi
push esi
call fcn.100a04dd
pop ecx
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x20
test eax, eax
je 0x10050cc6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0
test eax, eax
je 0x10050cd7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 8
call fcn.1009d1d6
mov edi, eax
cmp edi, ebx
je 0x10050d0f
push dword [edi + 4]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x10050d0f
push ebx
push ebx
push 0x12
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esi + 0x70]
cmp eax, ebx
je 0x10050d1f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esi + 0x70], ebx
mov eax, dword [esi + 0x143c]
cmp eax, ebx
je 0x10050cd7
push 0x100deb00
push eax
lea ecx, [esi + 0x14]
call fcn.10042c30
mov eax, dword [esi + 0x143c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [esi + 0x1438]
mov dword [esi + 0x143c], ebx
cmp dword [eax], ebx
je 0x10050d61
mov ecx, dword [eax]
cmp ecx, ebx
je 0x10050d61
mov dword [eax], ebx
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [0x10121da0], bl
jmp 0x10050cd7