Function at 0x426bc0
Capabilities:
Persist via run registry key

Disassembly:
push 0xffffffffffffffff
push 0x5b6b01
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x140
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x158], 0
mov ebp, dword [esp + 0x160]
test ebp, ebp
je 0x426c09
mov esi, dword [0x5c96ec]
push 0x5cad1c
push 0x80000002
call esi
jmp 0x426c48
mov esi, dword [0x5c96f0]
push 0x5cdfc0
push 0x5cad1c
push 0x80000001
call esi
push str.ForAllUsers
push 0x5cad1c
push 0x80000001
call esi
push str.InstallPath
push 0x5cad1c
push 0x80000001
call esi
mov esi, dword [0x5c96ec]
xor ebx, ebx
test ebp, ebp
setne bl
push str.SoftwareMicrosoftWindowsCurrentVersionUninstallICQ
add ebx, 0x80000001
push ebx
call esi
lea eax, [esp + 0x30]
push eax
call fcn.004201a0
add esp, 4
mov byte [esp + 0x158], 1
push 1
push 0x5ca93c
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00406800
mov byte [esp + 0x168], 2
add esp, 4
mov ecx, esp
mov dword [esp + 0x30], esp
push str.menu.dll
push eax
push ecx
call fcn.00406800
add esp, 0xc
mov byte [esp + 0x164], 3
mov byte [esp + 0x164], 2
call fcn.0041c740
add esp, 0xc
mov byte [esp + 0x158], 1
lea ecx, [esp + 0x14]
call fcn.0042ee10
push 1
push 0x5ca93c
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.00406800
mov byte [esp + 0x168], 4
add esp, 4
mov ecx, esp
mov dword [esp + 0x30], esp
push str.mrasearch.dll
push eax
push ecx
call fcn.00406800
add esp, 0xc
mov byte [esp + 0x164], 5
mov byte [esp + 0x164], 4
call fcn.0041c740
add esp, 0xc
mov byte [esp + 0x158], 1
lea ecx, [esp + 0x14]
call fcn.0042ee10
push 1
sub esp, 8
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x5cb2b4
call fcn.00432c00
mov byte [esp + 0x164], 6
push 0
push 0x5ca93c
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x34]
push eax
call fcn.00406800
mov byte [esp + 0x174], 7
add esp, 4
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x5cdf20
push eax
push ecx
call fcn.00406800
add esp, 0xc
mov byte [esp + 0x170], 8
lea edx, [esp + 0x60]
push edx
mov byte [esp + 0x174], 9
call fcn.0041ef90
add esp, 0x1c
mov byte [esp + 0x158], 0xb
lea ecx, [esp + 0x1c]
call fcn.0042ee10
push ebp
push 0x5ca93c
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x28]
push ecx
call fcn.00406800
mov byte [esp + 0x168], 0xc
add esp, 4
mov edx, esp
mov dword [esp + 0x20], esp
lea ecx, [esp + 0x54]
push ecx
push eax
push edx
call fcn.0041fb60
add esp, 0xc
mov byte [esp + 0x164], 0xd
mov byte [esp + 0x164], 0xc
call fcn.0041c740
add esp, 0xc
mov byte [esp + 0x158], 0xb
lea ecx, [esp + 0x1c]
call fcn.0042ee10
lea edx, [esp + 0x38]
push edx
call fcn.0041ee80
add esp, 4
mov byte [esp + 0x158], 0xe
cmp dword [esp + 0x16c], 0
je 0x426ed5
mov eax, dword [esp + 0x38]
push 0x5cdf1c
push eax
call fcn.00452170
add esp, 8
test eax, eax
je 0x426e59
mov ecx, dword [esp + 0x38]
push ecx
call fcn.00451f60
add esp, 4
test eax, eax
jne 0x426ec9
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x18]
push str.cmd__C_rmdir__Q__S__
push eax
call fcn.0040a3b0
mov byte [esp + 0x164], 0xf
push 0x5cb454
push eax
lea ecx, [esp + 0x30]
push ecx
call fcn.00406800
mov byte [esp + 0x170], 0x10
mov eax, dword [eax]
push eax
push str.icq_deferred_cleanup
push str.SoftwareMicrosoftWindowsCurrentVersionRunOnce
push 0x80000001
call fcn.0041b0c0
add esp, 0x28
mov byte [esp + 0x158], 0xf
lea ecx, [esp + 0x1c]
call fcn.0042ee10
mov byte [esp + 0x158], 0xe
lea ecx, [esp + 0x14]
call fcn.0042ee10
push 0x5cad1c
push 0x80000001
call esi
sub esp, 8
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x5ca92c
call fcn.00432c00
mov byte [esp + 0x160], 0x11
sub esp, 8
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x5c9dfc
call fcn.00432c00
mov byte [esp + 0x168], 0x12
push 1
push ebp
push 1
push 1
push 0
push 0x5c9dfc
push 0x5c9dfc
mov byte [esp + 0x184], 0xe
call fcn.004255f0
add esp, 0x2c
test ebp, ebp
je 0x426f8c
sub esp, 8
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x5ca92c
call fcn.00432c00
mov byte [esp + 0x160], 0x13
sub esp, 8
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x5c9dfc
call fcn.00432c00
mov byte [esp + 0x168], 0x14
push 1
push 0
push 1
push 1
push 0
push 0x5c9dfc
push 0x5c9dfc
mov byte [esp + 0x184], 0xe
call fcn.004255f0
add esp, 0x2c
push 0x5c9dfc
lea ecx, [esp + 0x20]
call fcn.00432c00
mov byte [esp + 0x158], 0x15
push 0x5cd65c
push str.SoftwareMicrosoftWindowsCurrentVersionRun
test ebp, ebp
je 0x426fb7
push 0x80000002
jmp 0x426fbc
push 0x80000001
call fcn.0041b200
add esp, 0xc
mov byte [esp + 0x158], 0xe
lea ecx, [esp + 0x1c]
call fcn.0042ee10
push 0x5c9dfc
lea ecx, [esp + 0x20]
call fcn.00432c00
mov byte [esp + 0x158], 0x1c
mov ecx, 0x2b
mov esi, str.SOFTWAREMicrosoftInternet_ExplorerExtensions086C8477_4F71_4550_87FB_AF0AE8DF3E98
lea edi, [esp + 0xa0]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov ecx, 0x13
mov esi, str.10DB41A2_8A81_4788_B635_ABA6749A7D87
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
lea edx, [esp + 0xa0]
push edx
movsw word es:[edi], word [esi]
mov edi, dword [0x5c96ec]
push ebx
call edi
mov byte [esp + 0x158], 0xe
lea ecx, [esp + 0x1c]
call fcn.0042ee10
push str.SoftwareClassesmagent
push ebx
call edi
push str.MRAICQ
call fcn.00477b70
push 0x5ca93c
lea eax, [esp + 0x16c]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00406800
mov byte [esp + 0x168], 0x2f
push 0x5ca92c
push eax
lea edx, [esp + 0x34]
push edx
call fcn.00406800
add esp, 0x1c
mov byte [esp + 0x158], 0x30
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x44]
call fcn.00432c00
mov byte [esp + 0x158], 0x32
lea ecx, [esp + 0x1c]
call fcn.0042ee10
mov byte [esp + 0x158], 0x33
lea ecx, [esp + 0x14]
call fcn.0042ee10
mov eax, dword [esp + 0x40]
push eax
call fcn.00474660
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x5cad1c
call fcn.00432c00
mov byte [esp + 0x160], 0x34
lea ecx, [esp + 0x30]
push ecx
mov byte [esp + 0x164], 0x33
call fcn.0041fc00
add esp, 0xc
mov bl, 0x35
mov byte [esp + 0x158], bl
test ebp, ebp
je 0x427190
sub esp, 8
lea edx, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
mov byte [esp + 0x1f], 0
lea esi, [esp + 0x1f]
call fcn.0042edc0
mov byte [esp + 0x160], 0x36
mov byte [esp + 0x160], bl
mov edx, 0x80000002
call fcn.0041bb60
add esp, 8
test al, al
je 0x427146
cmp byte [esp + 0x13], 0
je 0x427190
mov eax, dword [esp + 0x28]
push eax
push 0x80000002
jmp 0x42718e
sub esp, 8
lea edx, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
lea esi, [esp + 0x1f]
call fcn.0042edc0
mov byte [esp + 0x160], 0x37
mov byte [esp + 0x160], bl
mov edx, 0x80000001
call fcn.0041bb60
add esp, 8
test al, al
je 0x427190
cmp byte [esp + 0x13], 0
je 0x427190
mov eax, dword [esp + 0x28]
push eax
push 0x80000001
call edi
mov byte [esp + 0x158], 0x33
lea ecx, [esp + 0x28]
call fcn.0042ee10
mov byte [esp + 0x158], 0xe
lea ecx, [esp + 0x40]
call fcn.0042ee10
mov byte [esp + 0x158], 0xb
lea ecx, [esp + 0x38]
call fcn.0042ee10
mov byte [esp + 0x158], 1
lea ecx, [esp + 0x48]
call fcn.0042ee10
mov byte [esp + 0x158], 0
lea ecx, [esp + 0x30]
call fcn.0042ee10
mov dword [esp + 0x158], 0xffffffff
lea ecx, [esp + 0x164]
call fcn.0042ee10
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebp
mov eax, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x14c
ret