Function at 0x40123c
Capabilities:
Get common file path
Persist via com hijack
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x240
mov ecx, 0x90
dec ecx
mov dword [esp + ecx*4], 0xfffa5a5a
jne 0x40124a
push edi
push str.Setting_up_the_registry_...._r_n
call sub.CRTDLL.DLL_printf
add esp, 4
lea edi, [ebp - 0x104]
push edi
push 0xff
call sub.KERNEL32.DLL_GetCurrentDirectoryA
lea edi, [ebp - 0x108]
push edi
lea edi, [ebp - 4]
push edi
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareMicrosoftWindowsCurrentVersionUninstallWOLAPI
push 0x80000002
call sub.ADVAPI32.DLL_RegCreateKeyExA
cmp eax, 0
je 0x4012b9
push 0
push str.Error_
push str.Error_creating_key_
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
lea edi, str.DisplayName
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x114], 1
lea edi, str.Westwood_Shared_Internet_Components
mov dword [ebp - 0x10c], edi
push dword [ebp - 0x10c]
call sub.CRTDLL.DLL_strlen
add esp, 4
mov edi, eax
add edi, 1
push edi
push dword [ebp - 0x10c]
push dword [ebp - 0x114]
push 0
push dword [ebp - 0x110]
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
cmp eax, 0
je 0x40132a
push 0
push str.Error_
push str.Error_setting_value...
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
lea edi, str.UninstallString
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x23c], 1
lea edi, str._sUnstllAP.EXE
mov dword [ebp - 0x240], edi
lea edi, [ebp - 0x104]
push edi
push dword [ebp - 0x240]
lea edi, [ebp - 0x234]
push edi
call sub.USER32.DLL_wsprintfA
add esp, 0xc
lea edi, [ebp - 0x234]
push edi
call sub.CRTDLL.DLL_strlen
add esp, 4
mov edi, eax
add edi, 1
push edi
lea edi, [ebp - 0x234]
push edi
push dword [ebp - 0x23c]
push 0
push dword [ebp - 0x238]
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
cmp eax, 0
je 0x4013b9
push 0
push str.Error_
push str.Error_setting_value...
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
push dword [ebp - 4]
call sub.KERNEL32.DLL_CloseHandle
lea edi, [ebp - 0x108]
push edi
lea edi, [ebp - 4]
push edi
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareWestwoodWOLAPI
push 0x80000002
call sub.ADVAPI32.DLL_RegCreateKeyExA
cmp eax, 0
je 0x401407
push 0
push str.Error_
push str.Error_creating_key_
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
lea edi, str.Name
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x114], 1
lea edi, str.Shared_Internet_Components
mov dword [ebp - 0x10c], edi
push dword [ebp - 0x10c]
call sub.CRTDLL.DLL_strlen
add esp, 4
mov edi, eax
add edi, 1
push edi
push dword [ebp - 0x10c]
push dword [ebp - 0x114]
push 0
push dword [ebp - 0x110]
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
cmp eax, 0
je 0x401478
push 0
push str.Error_
push str.Error_setting_value...
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
lea edi, str.InstallPath
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x23c], 1
lea edi, str._sWOLAPI.DLL
mov dword [ebp - 0x240], edi
lea edi, [ebp - 0x104]
push edi
push dword [ebp - 0x240]
lea edi, [ebp - 0x234]
push edi
call sub.USER32.DLL_wsprintfA
add esp, 0xc
lea edi, [ebp - 0x234]
push edi
call sub.CRTDLL.DLL_strlen
add esp, 4
mov edi, eax
add edi, 1
push edi
lea edi, [ebp - 0x234]
push edi
push dword [ebp - 0x23c]
push 0
push dword [ebp - 0x238]
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
cmp eax, 0
je 0x401507
push 0
push str.Error_
push str.Error_setting_value...
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
lea edi, str.FolderPath
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x114], 1
lea edi, str.C:WINDOWSStart_MenuProgramsWestwoodShared_Internet_Components
mov dword [ebp - 0x10c], edi
push dword [ebp - 0x10c]
call sub.CRTDLL.DLL_strlen
add esp, 4
mov edi, eax
add edi, 1
push edi
push dword [ebp - 0x10c]
push dword [ebp - 0x114]
push 0
push dword [ebp - 0x110]
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
cmp eax, 0
je 0x401578
push 0
push str.Error_
push str.Error_setting_value...
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
lea edi, [0x403238]
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x110], 4
mov dword [ebp - 0x114], 0x7f00
push 4
lea edi, [ebp - 0x114]
push edi
push dword [ebp - 0x110]
push 0
push dword [ebp - 0x10c]
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
cmp eax, 0
je 0x4015d6
push 0
push str.Error_
push str.Error_setting_value...
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
lea edi, str.Version
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x110], 4
mov dword [ebp - 0x114], 0x1000d
push 4
lea edi, [ebp - 0x114]
push edi
push dword [ebp - 0x110]
push 0
push dword [ebp - 0x10c]
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
cmp eax, 0
je 0x401634
push 0
push str.Error_
push str.Error_setting_value...
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
lea edi, str.Usage
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x110], 4
mov dword [ebp - 0x114], 1
push 4
lea edi, [ebp - 0x114]
push edi
push dword [ebp - 0x110]
push 0
push dword [ebp - 0x10c]
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
cmp eax, 0
je 0x401692
push 0
push str.Error_
push str.Error_setting_value...
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
push dword [ebp - 4]
call sub.KERNEL32.DLL_CloseHandle
lea edi, [ebp - 0x108]
push edi
lea edi, [ebp - 4]
push edi
push 0
push 0xf003f
push 0
push 0
push 0
push str.CLSID4DD3BAF5_7579_11D1_B1C6_006097176556InprocServer32
push 0x80000000
call sub.ADVAPI32.DLL_RegCreateKeyExA
cmp eax, 0
je 0x4016e0
push 0
push str.Error_
push str.Error_creating_key_
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x23c], 1
lea edi, str._sWOLAPI.DLL
mov dword [ebp - 0x240], edi
lea edi, [ebp - 0x104]
push edi
push dword [ebp - 0x240]
lea edi, [ebp - 0x234]
push edi
call sub.USER32.DLL_wsprintfA
add esp, 0xc
lea edi, [ebp - 0x234]
push edi
call sub.CRTDLL.DLL_strlen
add esp, 4
mov edi, eax
add edi, 1
push edi
lea edi, [ebp - 0x234]
push edi
push dword [ebp - 0x23c]
push 0
push dword [ebp - 0x238]
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
cmp eax, 0
je 0x40176d
push 0
push str.Error_
push str.Error_setting_value...
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
push dword [ebp - 4]
call sub.KERNEL32.DLL_CloseHandle
lea edi, [ebp - 0x108]
push edi
lea edi, [ebp - 4]
push edi
push 0
push 0xf003f
push 0
push 0
push 0
push str.CLSIDB832B0AB_A7D3_11D1_97C3_00609706FA0CInprocServer32
push 0x80000000
call sub.ADVAPI32.DLL_RegCreateKeyExA
cmp eax, 0
je 0x4017bb
push 0
push str.Error_
push str.Error_creating_key_
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x23c], 1
lea edi, str._sWOLAPI.DLL
mov dword [ebp - 0x240], edi
lea edi, [ebp - 0x104]
push edi
push dword [ebp - 0x240]
lea edi, [ebp - 0x234]
push edi
call sub.USER32.DLL_wsprintfA
add esp, 0xc
lea edi, [ebp - 0x234]
push edi
call sub.CRTDLL.DLL_strlen
add esp, 4
mov edi, eax
add edi, 1
push edi
lea edi, [ebp - 0x234]
push edi
push dword [ebp - 0x23c]
push 0
push dword [ebp - 0x238]
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
cmp eax, 0
je 0x401848
push 0
push str.Error_
push str.Error_setting_value...
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
push dword [ebp - 4]
call sub.KERNEL32.DLL_CloseHandle
lea edi, [ebp - 0x108]
push edi
lea edi, [ebp - 4]
push edi
push 0
push 0xf003f
push 0
push 0
push 0
push str.CLSIDBF6EA206_9E55_11D1_9DC6_006097C54321InprocServer32
push 0x80000000
call sub.ADVAPI32.DLL_RegCreateKeyExA
cmp eax, 0
je 0x401896
push 0
push str.Error_
push str.Error_creating_key_
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x23c], 1
lea edi, str._sWOLAPI.DLL
mov dword [ebp - 0x240], edi
lea edi, [ebp - 0x104]
push edi
push dword [ebp - 0x240]
lea edi, [ebp - 0x234]
push edi
call sub.USER32.DLL_wsprintfA
add esp, 0xc
lea edi, [ebp - 0x234]
push edi
call sub.CRTDLL.DLL_strlen
add esp, 4
mov edi, eax
add edi, 1
push edi
lea edi, [ebp - 0x234]
push edi
push dword [ebp - 0x23c]
push 0
push dword [ebp - 0x238]
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
cmp eax, 0
je 0x401923
push 0
push str.Error_
push str.Error_setting_value...
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
push dword [ebp - 4]
call sub.KERNEL32.DLL_CloseHandle
lea edi, [ebp - 0x108]
push edi
lea edi, [ebp - 4]
push edi
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareCLASSESCLSID4DD3BAF5_7579_11D1_B1C6_006097176556InprocServer32
push 0x80000002
call sub.ADVAPI32.DLL_RegCreateKeyExA
cmp eax, 0
je 0x401971
push 0
push str.Error_
push str.Error_creating_key_
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x23c], 1
lea edi, str._sWOLAPI.DLL
mov dword [ebp - 0x240], edi
lea edi, [ebp - 0x104]
push edi
push dword [ebp - 0x240]
lea edi, [ebp - 0x234]
push edi
call sub.USER32.DLL_wsprintfA
add esp, 0xc
lea edi, [ebp - 0x234]
push edi
call sub.CRTDLL.DLL_strlen
add esp, 4
mov edi, eax
add edi, 1
push edi
lea edi, [ebp - 0x234]
push edi
push dword [ebp - 0x23c]
push 0
push dword [ebp - 0x238]
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
cmp eax, 0
je 0x4019fe
push 0
push str.Error_
push str.Error_setting_value...
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
push dword [ebp - 4]
call sub.KERNEL32.DLL_CloseHandle
lea edi, [ebp - 0x108]
push edi
lea edi, [ebp - 4]
push edi
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareCLASSESCLSIDB832B0AB_A7D3_11D1_97C3_00609706FA0CInprocServer32
push 0x80000002
call sub.ADVAPI32.DLL_RegCreateKeyExA
cmp eax, 0
je 0x401a4c
push 0
push str.Error_
push str.Error_creating_key_
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x23c], 1
lea edi, str._sWOLAPI.DLL
mov dword [ebp - 0x240], edi
lea edi, [ebp - 0x104]
push edi
push dword [ebp - 0x240]
lea edi, [ebp - 0x234]
push edi
call sub.USER32.DLL_wsprintfA
add esp, 0xc
lea edi, [ebp - 0x234]
push edi
call sub.CRTDLL.DLL_strlen
add esp, 4
mov edi, eax
add edi, 1
push edi
lea edi, [ebp - 0x234]
push edi
push dword [ebp - 0x23c]
push 0
push dword [ebp - 0x238]
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
cmp eax, 0
je 0x401ad9
push 0
push str.Error_
push str.Error_setting_value...
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
push dword [ebp - 4]
call sub.KERNEL32.DLL_CloseHandle
lea edi, [ebp - 0x108]
push edi
lea edi, [ebp - 4]
push edi
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareCLASSESCLSIDBF6EA206_9E55_11D1_9DC6_006097C54321InprocServer32
push 0x80000002
call sub.ADVAPI32.DLL_RegCreateKeyExA
cmp eax, 0
je 0x401b27
push 0
push str.Error_
push str.Error_creating_key_
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x23c], 1
lea edi, str._sWOLAPI.DLL
mov dword [ebp - 0x240], edi
lea edi, [ebp - 0x104]
push edi
push dword [ebp - 0x240]
lea edi, [ebp - 0x234]
push edi
call sub.USER32.DLL_wsprintfA
add esp, 0xc
lea edi, [ebp - 0x234]
push edi
call sub.CRTDLL.DLL_strlen
add esp, 4
mov edi, eax
add edi, 1
push edi
lea edi, [ebp - 0x234]
push edi
push dword [ebp - 0x23c]
push 0
push dword [ebp - 0x238]
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
cmp eax, 0
je 0x401bb4
push 0
push str.Error_
push str.Error_setting_value...
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
push dword [ebp - 4]
call sub.KERNEL32.DLL_CloseHandle
lea edi, [ebp - 0x108]
push edi
lea edi, [ebp - 4]
push edi
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareMicrosoftWindowsCurrentVersionUninstallWOLAPI
push 0x80000002
call sub.ADVAPI32.DLL_RegCreateKeyExA
cmp eax, 0
je 0x401c02
push 0
push str.Error_
push str.Error_creating_key_
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
lea edi, str.DisplayName
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x114], 1
lea edi, str.Westwood_Shared_Internet_Components
mov dword [ebp - 0x10c], edi
push dword [ebp - 0x10c]
call sub.CRTDLL.DLL_strlen
add esp, 4
mov edi, eax
add edi, 1
push edi
push dword [ebp - 0x10c]
push dword [ebp - 0x114]
push 0
push dword [ebp - 0x110]
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
cmp eax, 0
je 0x401c73
push 0
push str.Error_
push str.Error_setting_value...
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
lea edi, str.UninstallString
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x23c], 1
lea edi, str._sUnstllAP.EXE
mov dword [ebp - 0x240], edi
lea edi, [ebp - 0x104]
push edi
push dword [ebp - 0x240]
lea edi, [ebp - 0x234]
push edi
call sub.USER32.DLL_wsprintfA
add esp, 0xc
lea edi, [ebp - 0x234]
push edi
call sub.CRTDLL.DLL_strlen
add esp, 4
mov edi, eax
add edi, 1
push edi
lea edi, [ebp - 0x234]
push edi
push dword [ebp - 0x23c]
push 0
push dword [ebp - 0x238]
push dword [ebp - 4]
call sub.ADVAPI32.DLL_RegSetValueExA
cmp eax, 0
je 0x401d02
push 0
push str.Error_
push str.Error_setting_value...
push 0
call sub.USER32.DLL_MessageBoxA
push 0
call sub.KERNEL32.DLL_ExitProcess
push str.Registry_successfully_updated_r_nSetup.exe_was_created_using_RegLex_____________________n
call sub.CRTDLL.DLL_printf
add esp, 4
push 0x3e8
call sub.KERNEL32.DLL_Sleep
mov eax, 0
pop edi
leave
ret