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

Disassembly:
push 0xffffffffffffffff
push 0x5623eb
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.00542347
push str.v5.15
mov ecx, esi
call fcn.0054259a
push str._r_nWindows_version:
mov ecx, esi
call fcn.0054259a
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 0x4b3064
dec eax
je 0x4b3045
dec eax
jne 0x4b3070
push str._Windows_NT
jmp 0x4b3069
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4b3054
push str._Windows_98
jmp 0x4b3069
push str._Windows_95
mov ecx, esi
call fcn.0054259a
mov bl, 1
jmp 0x4b3070
push str._Windows_3.1
mov ecx, esi
call fcn.0054259a
mov ecx, dword [0x5c2a74]
mov dword [esp + 0xc], ecx
test bl, bl
mov dword [esp + 0xf0], 0
je 0x4b30ab
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 0x4b30c4
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.0053afda
add esp, 0x14
lea edx, [esp + 0xc]
mov ecx, esi
push edx
call fcn.005425d6
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.004b3330
lea ecx, [esp + 0xc]
push ecx
mov ecx, esi
call fcn.005425d6
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.004b3330
lea eax, [esp + 0xc]
mov ecx, esi
push eax
call fcn.005425d6
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.004b3330
lea edx, [esp + 0xc]
mov ecx, esi
push edx
call fcn.005425d6
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.004b3330
lea ecx, [esp + 0xc]
push ecx
mov ecx, esi
call fcn.005425d6
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.004b3330
lea eax, [esp + 0xc]
mov ecx, esi
push eax
call fcn.005425d6
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.004b3330
lea edx, [esp + 0xc]
mov ecx, esi
push edx
call fcn.005425d6
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.004b3330
lea ecx, [esp + 0xc]
push ecx
mov ecx, esi
call fcn.005425d6
lea edx, [esp + 0xc]
push edx
call fcn.004088e0
add esp, 4
lea eax, [esp + 0xc]
mov ecx, esi
push eax
call fcn.005425d6
push 0x5a495c
mov ecx, esi
call fcn.0054259a
mov eax, dword [0x5c74b0]
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 0x4b326e
lea ecx, [esp + 0xa8]
push ecx
mov ecx, esi
call fcn.0054259a
lea edx, [esp + 0xa8]
lea ecx, [ebp + 0xa54]
push edx
call fcn.00542347
jmp 0x4b32ea
push edi
push 0
call fcn.00528272
push eax
call fcn.00528f9d
add esp, 8
call fcn.00528faa
push eax
call fcn.00528faa
push eax
push 0
call fcn.00528272
add esp, 4
push eax
lea eax, [esp + 0x1c]
push str.IDKMM_ld__ld__ld
push eax
call fcn.0053afda
add esp, 0x14
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
call fcn.005425d6
lea edi, [ebp + 0xa54]
lea edx, [esp + 0x10]
push edx
mov ecx, edi
call fcn.005422f7
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 [0x5c74b0]
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.00541cba
lea ecx, [esp + 0xc]
mov dword [esp + 0xf0], 0xffffffff
call fcn.005421be
mov ecx, dword [esp + 0xe8]
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xe8
ret