Function at 0x407ef0
Capabilities:
Check for time delay via gettickcount
Create process on windows
Delete registry key
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x104
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov eax, dword [esi + 0x110]
mov dword [esi], 0x43954c
cmp eax, ebx
mov dword [esi + 4], 0x439544
je 0x407f39
push ebx
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
push ebx
push dword [esi + 0x110]
call dword [sym.imp.USER32.dll_SetWindowRgn]
push dword [esi + 0x110]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov ecx, dword [esi + 0x36c]
lea edi, [esi + 0x36c]
cmp ecx, ebx
je 0x407f50
call fcn.00402788
mov dword [edi], ebx
mov ecx, dword [esi + 0x419]
mov dword [esi + 0x118], 0x80004005
cmp ecx, ebx
je 0x407f69
call fcn.0040439c
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov dword [ebp - 0x28], eax
cmp dword [esi + 0x421], ebx
jne 0x407f8c
cmp dword [esi + 0x425], ebx
jne 0x407f8c
cmp dword [esi + 0x429], ebx
je 0x407fa2
call edi
sub eax, dword [ebp - 0x28]
cmp eax, 0x2710
ja 0x407fa2
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x407f74
mov eax, dword [esi + 0x28]
cmp eax, ebx
je 0x407fc7
push str.DllUnregisterServer
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x407fbb
call eax
push dword [esi + 0x28]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [esi + 0x28], ebx
cmp dword [esi + 0x24], 1
je 0x407fd6
cmp dword [esi + 0x18], ebx
je 0x408813
mov edi, 0x441880
lea ecx, [ebp - 0x38]
push edi
call fcn.004146d0
push edi
lea ecx, [ebp - 0x1c]
call fcn.004146d0
push edi
lea ecx, [ebp - 0x24]
call fcn.004146d0
mov edi, dword [esi + 0x3fb]
mov ebx, 0x80
cmp edi, dword [esi + 0x3ff]
je 0x408034
lea eax, [edi + 0x18]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov ecx, esi
add eax, 0x10
push eax
call fcn.0040d556
test eax, eax
jge 0x408027
mov eax, dword [ebp - 4]
and dword [eax], 0
add dword [ebp - 4], ebx
add edi, ebx
cmp edi, dword [esi + 0x3ff]
jne 0x40800f
push str.clean
lea ecx, [ebp - 0x30]
call fcn.004146d0
mov eax, dword [esi + 0x3fb]
cmp eax, dword [esi + 0x3ff]
mov dword [ebp - 4], eax
je 0x4086bb
lea ebx, [eax + 0x40]
mov dword [ebp - 0x28], ebx
cmp byte [ebx + 7], 0xff
mov edi, str.SoftwareRealNetworksRealMediaSDK6.0PreferencesBandwidth
mov eax, ebx
jne 0x40806b
mov eax, dword [ebx]
push str.main
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x40809c
mov eax, dword [ebx - 0x20]
cmp eax, dword [ebx - 0x1c]
jbe 0x40808b
push str.under
jmp 0x408094
test eax, eax
jbe 0x40809c
push str.over
lea ecx, [ebp - 0x30]
call fcn.004147e0
cmp dword [ebx - 0x38], 0
je 0x4080fe
lea ecx, [ebp - 0x38]
call fcn.00414740
test eax, eax
jbe 0x4080d4
lea eax, [ebp - 0x38]
push 0x43e518
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00414850
add esp, 0xc
lea ecx, [ebp - 0x38]
push eax
call fcn.00414770
lea ecx, [ebp - 0x78]
call fcn.004146c0
push dword [ebp - 4]
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.00414810
add esp, 0xc
lea ecx, [ebp - 0x38]
push eax
call fcn.00414770
lea ecx, [ebp - 0xa0]
call fcn.004146c0
cmp dword [ebx - 0x34], 0
je 0x408166
lea ecx, [ebp - 0x1c]
call fcn.00414740
test eax, eax
jbe 0x40813c
lea eax, [ebp - 0x1c]
push 0x43e518
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.00414850
add esp, 0xc
lea ecx, [ebp - 0x1c]
push eax
call fcn.00414770
lea ecx, [ebp - 0xb0]
call fcn.004146c0
push dword [ebp - 4]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.00414810
add esp, 0xc
lea ecx, [ebp - 0x1c]
push eax
call fcn.00414770
lea ecx, [ebp - 0xc0]
call fcn.004146c0
cmp dword [ebx - 0x28], 0
je 0x40869f
lea ecx, [ebp - 0x24]
call fcn.00414740
test eax, eax
jbe 0x4081a8
lea eax, [ebp - 0x24]
push 0x43e518
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00414850
add esp, 0xc
lea ecx, [ebp - 0x24]
push eax
call fcn.00414770
lea ecx, [ebp - 0x88]
call fcn.004146c0
push dword [ebp - 4]
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.00414810
add esp, 0xc
lea ecx, [ebp - 0x24]
push eax
call fcn.00414770
lea ecx, [ebp - 0xc8]
call fcn.004146c0
cmp byte [ebx + 0xf], 0xff
lea eax, [ebx + 8]
jne 0x4081de
mov eax, dword [ebx + 8]
push 0x43ed10
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x4085ce
cmp dword [esi + 0x104], eax
jl 0x408294
lea ecx, [ebp - 0x54]
mov ebx, SysReAllocStringLen
push ecx
push 0xf003f
push eax
push edi
push ebx
mov dword [ebp - 0x54], eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x408228
push dword [ebp - 0x54]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x408294
lea ecx, [ebp - 0x48]
call fcn.00414590
push dword [esi + 0x104]
lea eax, [ebp - 0x48]
push 0x43e5a4
push eax
call fcn.004150e0
add esp, 0xc
lea ecx, [ebp - 0x48]
push 0
call fcn.00414ce0
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x58], eax
call fcn.00414740
push eax
push dword [ebp - 0x58]
push 1
push edi
push ebx
mov ebx, dword [sym.imp.ADVAPI32.dll_RegSetValueA]
call ebx
lea ecx, [ebp - 0x48]
call fcn.00414740
push eax
push dword [ebp - 0x58]
push 1
push edi
push SysReAllocStringLen
call ebx
push 0xffffffffffffffff
lea ecx, [ebp - 0x48]
call fcn.00414d20
lea ecx, [ebp - 0x48]
call fcn.004146c0
push 0x441880
lea ecx, [ebp - 0x14]
call fcn.004146d0
mov edi, dword [esi + 0x3fb]
cmp edi, dword [esi + 0x3ff]
je 0x4083d5
lea ebx, [edi + 0x40]
cmp byte [ebx + 7], 0xff
mov eax, ebx
jne 0x4082c0
mov eax, dword [ebx]
push str.offer
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x4083c0
cmp dword [ebx - 0x30], eax
je 0x4083c0
lea ecx, [ebp - 0x14]
call fcn.00414740
test eax, eax
jbe 0x408316
lea eax, [ebp - 0x14]
push 0x43e518
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.00414850
add esp, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.00414770
lea ecx, [ebp - 0x98]
call fcn.004146c0
cmp byte [ebx - 0x39], 0xff
mov eax, edi
jne 0x408320
mov eax, dword [edi]
push str.ff_upg
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x40835a
lea eax, [ebp - 0x14]
push 0x43ecfc
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.00414850
add esp, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.00414770
lea ecx, [ebp - 0xb8]
jmp 0x4083bb
cmp byte [ebx - 0x39], 0xff
mov eax, edi
jne 0x408364
mov eax, dword [edi]
push str.gtb_upg
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x40839e
lea eax, [ebp - 0x14]
push 0x43ecf0
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.00414850
add esp, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.00414770
lea ecx, [ebp - 0xa8]
jmp 0x4083bb
lea eax, [ebp - 0x14]
push edi
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.00414810
add esp, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.00414770
lea ecx, [ebp - 0x80]
call fcn.004146c0
mov eax, 0x80
add edi, eax
add ebx, eax
cmp edi, dword [esi + 0x3ff]
jne 0x4082b6
cmp byte [ebp - 0xd], 0xff
lea eax, [ebp - 0x14]
jne 0x4083e1
mov eax, dword [ebp - 0x14]
mov edi, 0x441880
push edi
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x408400
push str.none
lea ecx, [ebp - 0x14]
call fcn.004147e0
lea ecx, [ebp - 0x14]
call fcn.00414740
push eax
push 0
lea ecx, [ebp - 0x14]
call fcn.00414ce0
push eax
push 1
push str.SoftwareRealNetworksRealPlayer6.0Preferencesmktg_offered
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegSetValueA]
push 0xffffffffffffffff
lea ecx, [ebp - 0x14]
call fcn.00414d20
push edi
lea ecx, [ebp - 0xc]
call fcn.004146d0
mov edi, dword [esi + 0x3fb]
cmp edi, dword [esi + 0x3ff]
je 0x408561
lea ebx, [edi + 0x40]
cmp byte [ebx + 7], 0xff
mov eax, ebx
jne 0x408458
mov eax, dword [ebx]
push str.offer
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x40854c
cmp dword [ebx - 0x28], eax
je 0x40854c
lea ecx, [ebp - 0xc]
call fcn.00414740
test eax, eax
jbe 0x4084ae
lea eax, [ebp - 0xc]
push 0x43e518
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00414850
add esp, 0xc
lea ecx, [ebp - 0xc]
push eax
call fcn.00414770
lea ecx, [ebp - 0x90]
call fcn.004146c0
cmp byte [ebx - 0x39], 0xff
mov eax, edi
jne 0x4084b8
mov eax, dword [edi]
push str.ff_upg
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x4084ec
lea eax, [ebp - 0xc]
push 0x43ecfc
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.00414850
add esp, 0xc
lea ecx, [ebp - 0xc]
push eax
call fcn.00414770
lea ecx, [ebp - 0x68]
jmp 0x408547
cmp byte [ebx - 0x39], 0xff
mov eax, edi
jne 0x4084f6
mov eax, dword [edi]
push str.gtb_upg
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x40852a
lea eax, [ebp - 0xc]
push 0x43ecf0
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00414850
add esp, 0xc
lea ecx, [ebp - 0xc]
push eax
call fcn.00414770
lea ecx, [ebp - 0x70]
jmp 0x408547
lea eax, [ebp - 0xc]
push edi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00414810
add esp, 0xc
lea ecx, [ebp - 0xc]
push eax
call fcn.00414770
lea ecx, [ebp - 0x40]
call fcn.004146c0
mov eax, 0x80
add edi, eax
add ebx, eax
cmp edi, dword [esi + 0x3ff]
jne 0x40844e
cmp byte [ebp - 5], 0xff
lea eax, [ebp - 0xc]
jne 0x40856d
mov eax, dword [ebp - 0xc]
push 0x441880
push eax
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jne 0x40858b
push str.none
lea ecx, [ebp - 0xc]
call fcn.004147e0
lea ecx, [ebp - 0xc]
call fcn.00414740
push eax
push 0
lea ecx, [ebp - 0xc]
call fcn.00414ce0
push eax
push 1
push str.SoftwareRealNetworksRealPlayer6.0Preferencesmktg_installed
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegSetValueA]
push 0xffffffffffffffff
lea ecx, [ebp - 0xc]
call fcn.00414d20
lea ecx, [ebp - 0xc]
call fcn.004146c0
lea ecx, [ebp - 0x14]
call fcn.004146c0
mov ebx, dword [ebp - 0x28]
lea edi, [ebx + 0x30]
mov ecx, edi
call fcn.00414740
test eax, eax
jbe 0x40869f
lea eax, [ebp - 0x60]
push edi
push eax
call fcn.00413a7f
lea eax, [ebx + 0x38]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00414810
lea eax, [ebp - 0x50]
push eax
call fcn.0041348d
add esp, 0x18
test eax, eax
jne 0x40868f
push 0xe
lea edi, [ebp - 0x100]
pop ecx
rep stosd dword es:[edi], eax
and dword [ebp - 0xfc], eax
cmp byte [ebp - 0x59], 0xff
mov dword [ebp - 0x104], 0x3c
mov dword [ebp - 0x100], 0x40
mov dword [ebp - 0xf8], str.open
lea eax, [ebp - 0x60]
jne 0x40864a
mov eax, dword [ebp - 0x60]
cmp byte [ebx + 0x3f], 0xff
mov dword [ebp - 0xf4], eax
lea eax, [ebx + 0x38]
jne 0x40865b
mov eax, dword [eax]
and dword [ebp - 0xec], 0
mov dword [ebp - 0xf0], eax
lea eax, [ebp - 0x104]
mov dword [ebp - 0xe8], 1
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
test eax, eax
je 0x40868f
push dword [ebp - 0xcc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x50]
call fcn.004146c0
lea ecx, [ebp - 0x60]
call fcn.004146c0
mov eax, 0x80
add dword [ebp - 4], eax
add ebx, eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x28], ebx
cmp eax, dword [esi + 0x3ff]
jne 0x40805c
lea ecx, [ebp - 0x38]
call fcn.00414740
test eax, eax
mov edi, str.none
ja 0x4086d5
push edi
lea ecx, [ebp - 0x38]
call fcn.004147e0
lea ecx, [ebp - 0x1c]
call fcn.00414740
test eax, eax
ja 0x4086ea
push edi
lea ecx, [ebp - 0x1c]
call fcn.004147e0
lea ecx, [ebp - 0x24]
call fcn.00414740
test eax, eax
ja 0x4086ff
push edi
lea ecx, [ebp - 0x24]
call fcn.004147e0
lea eax, [ebp - 0x38]
push 0x11
push eax
lea eax, [ebp - 0x40]
push str.actiondisplayedoffervalue
push eax
call fcn.00414890
add esp, 0xc
mov ecx, esi
push eax
call fcn.00405549
lea ecx, [ebp - 0x40]
call fcn.004146c0
lea eax, [ebp - 0x1c]
push 1
push eax
lea eax, [ebp - 0x40]
push str.actionacceptedoffervalue
push eax
call fcn.00414890
add esp, 0xc
mov ecx, esi
push eax
call fcn.00405549
lea ecx, [ebp - 0x40]
call fcn.004146c0
lea eax, [ebp - 0x30]
push 0x21
push eax
lea eax, [ebp - 0x24]
push str.installtype
push eax
lea eax, [ebp - 0x68]
push str.actioninstalledoffervalue
push eax
call fcn.00414890
add esp, 0xc
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00414850
add esp, 0xc
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00414810
add esp, 0xc
mov ecx, esi
push eax
call fcn.00405549
lea ecx, [ebp - 0x40]
call fcn.004146c0
lea ecx, [ebp - 0x70]
call fcn.004146c0
lea ecx, [ebp - 0x68]
call fcn.004146c0
cmp dword [esi + 0x18], 0
je 0x4087cf
push str.actionpageviewvaluepostinstall
lea ecx, [ebp - 0x50]
call fcn.004146d0
lea eax, [ebp - 0x50]
push 0x18
push eax
mov ecx, esi
call fcn.00405549
lea ecx, [ebp - 0x50]
call fcn.004146c0
mov edi, dword [esi + 0x3ea]
lea ebx, [esi + 0x3ee]
cmp edi, dword [ebx]
je 0x4087f1
push dword [edi + 8]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
and dword [edi + 8], 0
add edi, 0x18
jmp 0x4087db
lea ecx, [ebp - 0x30]
call fcn.004146c0
lea ecx, [ebp - 0x24]
call fcn.004146c0
lea ecx, [ebp - 0x1c]
call fcn.004146c0
lea ecx, [ebp - 0x38]
call fcn.004146c0
xor ebx, ebx
mov ecx, esi
call fcn.00406f88
mov eax, dword [esi + 0x24]
cmp eax, 1
je 0x408844
cmp dword [esi + 0x18], ebx
jne 0x40882f
cmp dword [esi + 0x378], ebx
je 0x40886b
cmp eax, 1
je 0x408844
push str.SoftwareRealNetworksConfigLocal
push SysReAllocStringLen
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyA]
lea eax, [esi + 0x38]
lea ecx, [ebp - 0x30]
push eax
call fcn.00414640
cmp byte [ebp - 0x29], 0xff
lea eax, [ebp - 0x30]
jne 0x40885c
mov eax, dword [ebp - 0x30]
push eax
call fcn.004138b2
pop ecx
lea ecx, [ebp - 0x30]
call fcn.004146c0
mov eax, dword [esi + 8]
mov edi, dword [sym.imp.MSVCRT.dll_fclose]
cmp eax, ebx
je 0x40887f
push eax
call edi
pop ecx
mov dword [esi + 8], ebx
mov eax, dword [esi + 0xc]
cmp eax, ebx
je 0x40888d
push eax
call edi
pop ecx
mov dword [esi + 0xc], ebx
lea ecx, [esi + 0x699]
call fcn.00401764
lea ecx, [esi + 0x669]
call fcn.00401c4b
lea ecx, [esi + 0x63d]
call fcn.00401c4b
lea ecx, [esi + 0x611]
call fcn.00401c4b
lea ecx, [esi + 0x5e5]
call fcn.00401c4b
lea ecx, [esi + 0x5b9]
call fcn.00401c4b
lea ecx, [esi + 0x58d]
call fcn.00401c4b
lea ecx, [esi + 0x561]
call fcn.00401c4b
lea ecx, [esi + 0x535]
call fcn.00401c4b
lea ecx, [esi + 0x509]
call fcn.00401c4b
lea ecx, [esi + 0x4dd]
call fcn.00401c4b
lea ecx, [esi + 0x4b1]
call fcn.00401c4b
lea ecx, [esi + 0x485]
call fcn.00401c4b
lea ecx, [esi + 0x439]
call fcn.00401c4b
lea ecx, [esi + 0x408]
call fcn.0040bc18
lea ecx, [esi + 0x3f7]
call fcn.0040bb2b
lea ecx, [esi + 0x3e6]
call fcn.0040baf5
lea ecx, [esi + 0x3d5]
call fcn.0040bac2
lea ecx, [esi + 0x3c4]
call fcn.0040bac2
lea edi, [esi + 0x3b0]
mov ecx, edi
mov dword [edi], 0x439564
call fcn.00415550
mov ecx, edi
call fcn.00415190
lea ecx, [esi + 0x39c]
call fcn.00415190
lea ecx, [esi + 0x390]
call fcn.004146c0
lea ecx, [esi + 0x388]
call fcn.004146c0
mov eax, dword [esi + 0x370]
lea edi, [esi + 0x370]
cmp eax, ebx
je 0x4089b2
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi], ebx
lea ecx, [esi + 0x11c]
call fcn.00403b77
lea ecx, [esi + 0xfc]
call fcn.004146c0
lea ecx, [esi + 0xf4]
call fcn.004146c0
lea ecx, [esi + 0xec]
call fcn.004146c0
lea ecx, [esi + 0xe4]
call fcn.004146c0
lea ecx, [esi + 0xdc]
call fcn.004146c0
lea ecx, [esi + 0xd4]
call fcn.004146c0
lea ecx, [esi + 0xcc]
call fcn.004146c0
lea ecx, [esi + 0xc4]
call fcn.004146c0
lea ecx, [esi + 0xbc]
call fcn.004146c0
lea ecx, [esi + 0xb4]
call fcn.004146c0
lea ecx, [esi + 0xac]
call fcn.004146c0
lea ecx, [esi + 0xa4]
call fcn.004146c0
lea ecx, [esi + 0x9c]
call fcn.004146c0
lea ecx, [esi + 0x94]
call fcn.004146c0
lea ecx, [esi + 0x8c]
call fcn.004146c0
lea ecx, [esi + 0x84]
call fcn.004146c0
lea ecx, [esi + 0x7c]
call fcn.004146c0
lea ecx, [esi + 0x74]
call fcn.004146c0
lea ecx, [esi + 0x6c]
call fcn.004146c0
lea ecx, [esi + 0x64]
call fcn.004146c0
lea ecx, [esi + 0x58]
call fcn.004146c0
lea ecx, [esi + 0x50]
call fcn.004146c0
lea ecx, [esi + 0x48]
call fcn.004146c0
lea ecx, [esi + 0x40]
call fcn.004146c0
lea ecx, [esi + 0x38]
call fcn.004146c0
lea ecx, [esi + 0x1c]
call fcn.004146c0
mov ecx, esi
lea eax, [esi + 4]
neg ecx
sbb ecx, ecx
pop edi
and ecx, eax
mov dword [ecx], 0x439588
mov dword [esi], 0x439590
pop esi
pop ebx
leave
ret