Function at 0x4ca340
Capabilities:
Persist via run registry key
Query or enumerate registry value
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x58b80b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xdc
push ebx
push ebp
mov ebp, ecx
push esi
push str.Configuration_report:_r_nIDM_version:
lea esi, [ebp + 0x188]
mov ecx, esi
call fcn.0056a289
push str.v5.18b2
mov ecx, esi
call fcn.0056a476
push str._r_nWindows_version:
mov ecx, esi
call fcn.0056a476
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x94
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov eax, dword [esp + 0x24]
xor bl, bl
sub eax, 0
je 0x4ca3d4
dec eax
je 0x4ca3b5
dec eax
jne 0x4ca3e0
push str._Windows_NT
jmp 0x4ca3d9
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4ca3c4
push str._Windows_98
jmp 0x4ca3d9
push str._Windows_95
mov ecx, esi
call fcn.0056a476
mov bl, 1
jmp 0x4ca3e0
push str._Windows_3.1
mov ecx, esi
call fcn.0056a476
mov ecx, dword [0x639ad4]
mov dword [esp + 0xc], ecx
test bl, bl
mov dword [esp + 0xf0], 0
je 0x4ca41b
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x22]
and eax, 0xff
and edx, 0xffff
push edx
push eax
push eax
lea eax, [esp + 0x18]
push str._d:_d_build__d
push eax
jmp 0x4ca434
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
lea ecx, [esp + 0x18]
push str._d:_d_build__d
push ecx
call fcn.00562ecb
add esp, 0x14
lea edx, [esp + 0xc]
mov ecx, esi
push edx
call fcn.0056a4b2
push 0
push str.IE_MenuExt
push str.SoftwareMicrosoftInternet_ExplorerMenuExt
lea eax, [esp + 0x18]
push reloc.WSOCK32.dll_accept
push eax
mov ecx, ebp
call fcn.004ca6a0
lea ecx, [esp + 0xc]
push ecx
mov ecx, esi
call fcn.0056a4b2
push 0
push str.IDM_inegration
push str.SoftwareDownloadManagerIDMBI
lea edx, [esp + 0x18]
push reloc.WSOCK32.dll_accept
push edx
mov ecx, ebp
call fcn.004ca6a0
lea eax, [esp + 0xc]
mov ecx, esi
push eax
call fcn.0056a4b2
push 0
push str.Net_Apps_r_n
push str.SoftwareDownloadManager_netApps
lea ecx, [esp + 0x18]
push reloc.WSOCK32.dll_accept
push ecx
mov ecx, ebp
call fcn.004ca6a0
lea edx, [esp + 0xc]
mov ecx, esi
push edx
call fcn.0056a4b2
push 1
push str.Installed_programs
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall
lea eax, [esp + 0x18]
push reloc.WSOCK32.dll_bind
push eax
mov ecx, ebp
call fcn.004ca6a0
lea ecx, [esp + 0xc]
push ecx
mov ecx, esi
call fcn.0056a4b2
push 0
push str.Browser_Helper_Objects
push str.SOFTWAREMicrosoftWindowsCurrentVersionExplorerBrowser_Helper_Objects
lea edx, [esp + 0x18]
push reloc.WSOCK32.dll_bind
push edx
mov ecx, ebp
call fcn.004ca6a0
lea eax, [esp + 0xc]
mov ecx, esi
push eax
call fcn.0056a4b2
push 0
push str.HKLM_Run_r_n
push str.SOFTWAREMicrosoftWindowsCurrentVersionRun
lea ecx, [esp + 0x18]
push reloc.WSOCK32.dll_bind
push ecx
mov ecx, ebp
call fcn.004ca6a0
lea edx, [esp + 0xc]
mov ecx, esi
push edx
call fcn.0056a4b2
push 0
push str.HKCU_Run_r_n
push str.SOFTWAREMicrosoftWindowsCurrentVersionRun
lea eax, [esp + 0x18]
push reloc.WSOCK32.dll_accept
push eax
mov ecx, ebp
call fcn.004ca6a0
lea ecx, [esp + 0xc]
push ecx
mov ecx, esi
call fcn.0056a4b2
lea edx, [esp + 0xc]
push edx
call fcn.00409e60
add esp, 4
lea eax, [esp + 0xc]
mov ecx, esi
push eax
call fcn.0056a4b2
push 0x616a34
mov ecx, esi
call fcn.0056a476
mov eax, dword [0x63e518]
lea ecx, [esp + 0x10]
lea edx, [esp + 0xa8]
push ecx
push edx
push 0
push 0
push str.MessageID
push eax
mov dword [esp + 0x28], 0x40
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4ca5de
lea ecx, [esp + 0xa8]
push ecx
mov ecx, esi
call fcn.0056a476
lea edx, [esp + 0xa8]
lea ecx, [ebp + 0x9bc]
push edx
call fcn.0056a289
jmp 0x4ca65a
push edi
push 0
call fcn.0054f551
push eax
call fcn.0055051d
add esp, 8
call fcn.0055052a
push eax
call fcn.0055052a
push eax
push 0
call fcn.0054f551
add esp, 4
push eax
lea eax, [esp + 0x1c]
push str.IDKMM_ld__ld__ld
push eax
call fcn.00562ecb
add esp, 0x14
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
call fcn.0056a4b2
lea edi, [ebp + 0x9bc]
lea edx, [esp + 0x10]
push edx
mov ecx, edi
call fcn.0056a239
mov edx, dword [edi]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
push 1
push eax
mov eax, dword [0x63e518]
push str.MessageID
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
pop edi
mov esi, dword [esi]
lea ecx, [ebp + 0x14c]
push esi
call fcn.005696e5
lea ecx, [esp + 0xc]
mov dword [esp + 0xf0], 0xffffffff
call fcn.0056a100
mov ecx, dword [esp + 0xe8]
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xe8
ret