Function at 0x10006678
Capabilities:
Set registry value

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x610
push ebx
push esi
push edi
push 0x104
lea eax, [ebp - 0x390]
push eax
push dword [0x100102bc]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
call fcn.10004c8f
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x1000f1df
lea eax, [ebp - 0x494]
push eax
call esi
lea eax, [ebp - 0x494]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test byte [0x1001022c], 1
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
mov ebx, dword [sym.imp.SHLWAPI.dll_SHSetValueA]
mov dword [ebp + 0x74], eax
je 0x1000683b
push dword [0x1000d178]
lea eax, [ebp - 0x28c]
push eax
call esi
push str.Uninstall_
lea eax, [ebp - 0x28c]
push eax
call edi
lea eax, [ebp - 0x494]
push eax
lea eax, [ebp - 0x28c]
push eax
call edi
push dword [ebp + 0x74]
lea eax, [ebp - 0x494]
push eax
push 1
push str.DisplayName
lea eax, [ebp - 0x28c]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call ebx
push str.regsvr32__u__s
lea eax, [ebp - 0x598]
push eax
call esi
lea eax, [ebp - 0x390]
push eax
lea eax, [ebp - 0x598]
push eax
call edi
lea eax, [ebp - 0x598]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x598]
push eax
push 1
push str.UninstallString
lea eax, [ebp - 0x28c]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call ebx
xor eax, eax
push eax
lea ecx, [ebp + 0x6c]
push ecx
push eax
push 0x20006
push eax
push eax
push eax
push str.SoftwareMicrosoftInternet_ExplorerToolbar
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp + 0x6c], eax
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
push 1
lea eax, [ebp + 0x73]
push eax
push 3
push 0
push dword [0x1000d174]
mov byte [ebp + 0x73], 0
push dword [ebp + 0x6c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp + 0x6c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerBrowser_Helper_Objects_
lea eax, [ebp - 0x28c]
push eax
call esi
push dword [0x1000d174]
lea eax, [ebp - 0x28c]
push eax
call edi
xor eax, eax
push eax
lea ecx, [ebp + 0x6c]
push ecx
push eax
push 0x20006
push eax
push eax
push eax
lea eax, [ebp - 0x28c]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
push str.Tubby
lea eax, [ebp - 0x28c]
push eax
call esi
lea eax, [ebp - 0x28c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
lea eax, [ebp - 0x28c]
push eax
push 1
push 0
push 0x1000b28c
push dword [ebp + 0x6c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp + 0x6c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push str.Tubby.ToolBandObj
lea eax, [ebp - 0xc0]
push eax
call esi
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x188]
push eax
call esi
push 0x1000bb78
lea eax, [ebp - 0x188]
push eax
call edi
push dword [ebp + 0x74]
lea eax, [ebp - 0x494]
push eax
push 1
push 0
lea eax, [ebp - 0x188]
push eax
push SysReAllocString
call ebx
push dword [ebp + 0x74]
lea eax, [ebp - 0x494]
push eax
push 1
push 0
lea eax, [ebp - 0xc0]
push eax
push SysReAllocString
call ebx
push str.CLSID
lea eax, [ebp - 0x188]
push eax
call edi
push str.CLSID
lea eax, [ebp - 0xc0]
push eax
call edi
push dword [0x1000d174]
lea eax, [ebp - 0x5c]
push eax
call esi
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov dword [ebp + 0x74], eax
lea eax, [ebp - 0x5c]
push eax
push 1
push 0
lea eax, [ebp - 0x188]
push eax
push SysReAllocString
call ebx
push dword [ebp + 0x74]
lea eax, [ebp - 0x5c]
push eax
push 1
push 0
lea eax, [ebp - 0xc0]
push eax
push SysReAllocString
call ebx
push str.Tubby.ToolBandObj
lea eax, [ebp - 0xc0]
push eax
call esi
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x188]
push eax
call esi
push 0x1000bb78
lea eax, [ebp - 0x188]
push eax
call edi
lea eax, [ebp - 0x188]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp + 0x74], eax
push str.CurVer
lea eax, [ebp - 0xc0]
push eax
call edi
push dword [ebp + 0x74]
lea eax, [ebp - 0x188]
push eax
push 1
push 0
lea eax, [ebp - 0xc0]
push eax
push SysReAllocString
call ebx
push str.Tubby.ToolBandObj
lea eax, [ebp - 0xc0]
push eax
call esi
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x188]
push eax
call esi
push 0x1000bb78
lea eax, [ebp - 0x188]
push eax
call edi
push str.CLSID_
lea eax, [ebp - 0x124]
push eax
call esi
push dword [0x1000d174]
lea eax, [ebp - 0x124]
push eax
call edi
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp + 8]
push eax
call esi
lea eax, [ebp - 0x494]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x494]
push eax
push 1
push 0
lea eax, [ebp + 8]
push eax
push SysReAllocString
call ebx
push str.ProgID
lea eax, [ebp + 8]
push eax
call edi
lea eax, [ebp - 0x188]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x188]
push eax
push 1
push 0
lea eax, [ebp + 8]
push eax
push SysReAllocString
call ebx
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp + 8]
push eax
call esi
push str.VersionIndependentProgID
lea eax, [ebp + 8]
push eax
call edi
lea eax, [ebp - 0xc0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0xc0]
push eax
push 1
push 0
lea eax, [ebp + 8]
push eax
push SysReAllocString
call ebx
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp + 8]
push eax
call esi
push str.Programmable
lea eax, [ebp + 8]
push eax
call edi
push 0
lea eax, [ebp - 0xc0]
push eax
push 1
push 0
lea eax, [ebp + 8]
push eax
push SysReAllocString
call ebx
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp + 8]
push eax
call esi
push str.InprocServer32
lea eax, [ebp + 8]
push eax
call edi
lea eax, [ebp - 0x390]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x390]
push eax
push 1
push 0
lea eax, [ebp + 8]
push eax
push SysReAllocString
call ebx
push str.Apartment
lea eax, [ebp - 0x5c]
push eax
call esi
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x5c]
push eax
push 1
push str.ThreadingModel
lea eax, [ebp + 8]
push eax
push SysReAllocString
call ebx
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp + 8]
push eax
call esi
push str.TypeLib
lea eax, [ebp + 8]
push eax
call edi
push dword [0x1000d170]
lea eax, [ebp - 0x5c]
push eax
call esi
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x5c]
push eax
push 1
push 0
lea eax, [ebp + 8]
push eax
push SysReAllocString
call ebx
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp + 8]
push eax
call esi
push str.Version
lea eax, [ebp + 8]
push eax
call edi
push 0x1000bae4
lea eax, [ebp - 0x5c]
push eax
call esi
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x5c]
push eax
push 1
push 0
lea eax, [ebp + 8]
push eax
push SysReAllocString
call ebx
push str.TypeLib_
lea eax, [ebp - 0x124]
push eax
call esi
push dword [0x1000d170]
lea eax, [ebp - 0x124]
push eax
call edi
push str.1.0
lea eax, [ebp - 0x124]
push eax
call edi
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp + 8]
push eax
call esi
push str.TB_1.0_Type_Library
lea eax, [ebp - 0x5c]
push eax
call esi
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x5c]
push eax
push 1
push 0
lea eax, [ebp + 8]
push eax
push SysReAllocString
call ebx
push str.0win32
lea eax, [ebp + 8]
push eax
call edi
lea eax, [ebp - 0x390]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x390]
push eax
push 1
push 0
lea eax, [ebp + 8]
push eax
push SysReAllocString
call ebx
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp + 8]
push eax
call esi
push str.FLAGS
lea eax, [ebp + 8]
push eax
call edi
push 1
push 0x1000b6a4
push 1
push 0
lea eax, [ebp + 8]
push eax
push SysReAllocString
call ebx
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp + 8]
push eax
call esi
push str.HELPDIR
lea eax, [ebp + 8]
push eax
call edi
lea eax, [ebp - 0x390]
push 0x5c
push eax
call fcn.100035a0
test eax, eax
pop ecx
pop ecx
je 0x10006c5e
lea ecx, [ebp - 0x390]
sub eax, ecx
jmp 0x10006c60
xor eax, eax
push eax
lea eax, [ebp - 0x390]
push eax
push 1
push 0
lea eax, [ebp + 8]
push eax
push SysReAllocString
call ebx
pop edi
pop esi
xor eax, eax
pop ebx
add ebp, 0x78
leave
ret