Function at 0x42f920
Capabilities:
Delete registry key
Delete registry value
Persist via run registry key

Disassembly:
push 0xffffffffffffffff
push 0x5c8081
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 0x42f969
mov esi, dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
push str.SoftwareMail.RuAgent
push reloc.OLEAUT32.dll_SysReAllocString
call esi
jmp 0x42f9a8
mov esi, dword [sym.imp.SHLWAPI.dll_SHDeleteValueW]
push 0x5e0b98
push str.SoftwareMail.RuAgent
push reloc.WSOCK32.dll_accept
call esi
push str.ForAllUsers
push str.SoftwareMail.RuAgent
push reloc.WSOCK32.dll_accept
call esi
push str.InstallPath
push str.SoftwareMail.RuAgent
push reloc.WSOCK32.dll_accept
call esi
mov esi, dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
xor ebx, ebx
test ebp, ebp
setne bl
push str.SoftwareMicrosoftWindowsCurrentVersionUninstallMRA
add ebx, reloc.WSOCK32.dll_accept
push ebx
call esi
lea eax, [esp + 0x30]
push eax
call fcn.00429230
add esp, 4
mov byte [esp + 0x158], 1
push 1
push 0x5dc7b4
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00406610
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.00406610
add esp, 0xc
mov byte [esp + 0x164], 3
mov byte [esp + 0x164], 2
call fcn.004258d0
add esp, 0xc
mov byte [esp + 0x158], 1
lea ecx, [esp + 0x14]
call fcn.004381e0
push 1
push 0x5dc7b4
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.00406610
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.00406610
add esp, 0xc
mov byte [esp + 0x164], 5
mov byte [esp + 0x164], 4
call fcn.004258d0
add esp, 0xc
mov byte [esp + 0x158], 1
lea ecx, [esp + 0x14]
call fcn.004381e0
push 1
sub esp, 8
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x5deb60
call fcn.0043bf90
mov byte [esp + 0x164], 6
push 0
push 0x5dc7b4
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x34]
push eax
call fcn.00406610
mov byte [esp + 0x174], 7
add esp, 4
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x5e0afc
push eax
push ecx
call fcn.00406610
add esp, 0xc
mov byte [esp + 0x170], 8
lea edx, [esp + 0x60]
push edx
mov byte [esp + 0x174], 9
call fcn.004280a0
add esp, 0x1c
mov byte [esp + 0x158], 0xb
lea ecx, [esp + 0x1c]
call fcn.004381e0
push ebp
push 0x5dc7b4
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x28]
push ecx
call fcn.00406610
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.00428bf0
add esp, 0xc
mov byte [esp + 0x164], 0xd
mov byte [esp + 0x164], 0xc
call fcn.004258d0
add esp, 0xc
mov byte [esp + 0x158], 0xb
lea ecx, [esp + 0x1c]
call fcn.004381e0
lea edx, [esp + 0x38]
push edx
call fcn.00427f90
add esp, 4
mov byte [esp + 0x158], 0xe
cmp dword [esp + 0x16c], 0
je 0x42fc35
mov eax, dword [esp + 0x38]
push 0x5e0af8
push eax
call fcn.0045f4d0
add esp, 8
test eax, eax
je 0x42fbb9
mov ecx, dword [esp + 0x38]
push ecx
call fcn.0045f2c0
add esp, 4
test eax, eax
jne 0x42fc29
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x18]
push str.cmd__C_rmdir__Q__S__
push eax
call fcn.00414090
mov byte [esp + 0x164], 0xf
push 0x5dde88
push eax
lea ecx, [esp + 0x30]
push ecx
call fcn.00406610
mov byte [esp + 0x170], 0x10
mov eax, dword [eax]
push eax
push str.agent_deferred_cleanup
push str.SoftwareMicrosoftWindowsCurrentVersionRunOnce
push reloc.WSOCK32.dll_accept
call fcn.004242f0
add esp, 0x28
mov byte [esp + 0x158], 0xf
lea ecx, [esp + 0x1c]
call fcn.004381e0
mov byte [esp + 0x158], 0xe
lea ecx, [esp + 0x14]
call fcn.004381e0
push str.SoftwareMail.RuAgent
push reloc.WSOCK32.dll_accept
call esi
sub esp, 8
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x5dc79c
call fcn.0043bf90
mov byte [esp + 0x160], 0x11
sub esp, 8
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x5dbe20
call fcn.0043bf90
mov byte [esp + 0x168], 0x12
push 1
push ebp
push 1
push 1
push 0
push 0x5dbe20
push 0x5dbe20
mov byte [esp + 0x184], 0xe
call fcn.0042e600
add esp, 0x2c
test ebp, ebp
je 0x42fcec
sub esp, 8
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x5dc79c
call fcn.0043bf90
mov byte [esp + 0x160], 0x13
sub esp, 8
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x5dbe20
call fcn.0043bf90
mov byte [esp + 0x168], 0x14
push 1
push 0
push 1
push 1
push 0
push 0x5dbe20
push 0x5dbe20
mov byte [esp + 0x184], 0xe
call fcn.0042e600
add esp, 0x2c
push 0x5dbe20
lea ecx, [esp + 0x20]
call fcn.0043bf90
mov byte [esp + 0x158], 0x15
push str.MAgent
push str.SoftwareMicrosoftWindowsCurrentVersionRun
test ebp, ebp
je 0x42fd17
push reloc.OLEAUT32.dll_SysReAllocString
jmp 0x42fd1c
push reloc.WSOCK32.dll_accept
call fcn.00424430
add esp, 0xc
mov byte [esp + 0x158], 0xe
lea ecx, [esp + 0x1c]
call fcn.004381e0
push 0x5dbe20
lea ecx, [esp + 0x20]
call fcn.0043bf90
mov byte [esp + 0x158], 0x1c
mov ecx, 0x2b
mov esi, str.SOFTWAREMicrosoftInternet_ExplorerExtensions7558B7E5_7B26_4201_BEDB_00D5FF534523
lea edi, [esp + 0xa0]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov ecx, 0x13
mov esi, str.1FBA04EE_3024_11D2_8F1F_0000F87ABD16
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 [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
push ebx
call edi
mov byte [esp + 0x158], 0xe
lea ecx, [esp + 0x1c]
call fcn.004381e0
push str.SoftwareClassesmagent
push ebx
call edi
push 0x5dde70
call fcn.004856f0
push 0x5dc7b4
lea eax, [esp + 0x16c]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00406610
mov byte [esp + 0x168], 0x2f
push 0x5dc79c
push eax
lea edx, [esp + 0x34]
push edx
call fcn.00406610
add esp, 0x1c
mov byte [esp + 0x158], 0x30
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x44]
call fcn.0043bf90
mov byte [esp + 0x158], 0x32
lea ecx, [esp + 0x1c]
call fcn.004381e0
mov byte [esp + 0x158], 0x33
lea ecx, [esp + 0x14]
call fcn.004381e0
mov eax, dword [esp + 0x40]
push eax
call fcn.004821e0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.SoftwareMail.RuAgent
call fcn.0043bf90
mov byte [esp + 0x160], 0x34
lea ecx, [esp + 0x30]
push ecx
mov byte [esp + 0x164], 0x33
call fcn.00428c90
add esp, 0xc
mov bl, 0x35
mov byte [esp + 0x158], bl
test ebp, ebp
je 0x42fef0
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.00438190
mov byte [esp + 0x160], 0x36
mov byte [esp + 0x160], bl
mov edx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.00424dd0
add esp, 8
test al, al
je 0x42fea6
cmp byte [esp + 0x13], 0
je 0x42fef0
mov eax, dword [esp + 0x28]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
jmp 0x42feee
sub esp, 8
lea edx, [esp + 0x30]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
lea esi, [esp + 0x1f]
call fcn.00438190
mov byte [esp + 0x160], 0x37
mov byte [esp + 0x160], bl
mov edx, reloc.WSOCK32.dll_accept
call fcn.00424dd0
add esp, 8
test al, al
je 0x42fef0
cmp byte [esp + 0x13], 0
je 0x42fef0
mov eax, dword [esp + 0x28]
push eax
push reloc.WSOCK32.dll_accept
call edi
mov byte [esp + 0x158], 0x33
lea ecx, [esp + 0x28]
call fcn.004381e0
mov byte [esp + 0x158], 0xe
lea ecx, [esp + 0x40]
call fcn.004381e0
mov byte [esp + 0x158], 0xb
lea ecx, [esp + 0x38]
call fcn.004381e0
mov byte [esp + 0x158], 1
lea ecx, [esp + 0x48]
call fcn.004381e0
mov byte [esp + 0x158], 0
lea ecx, [esp + 0x30]
call fcn.004381e0
mov dword [esp + 0x158], 0xffffffff
lea ecx, [esp + 0x164]
call fcn.004381e0
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