Function at 0x40e785
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4139ab
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x858
mov dword [ebp - 0x844], ecx
mov dword [ebp - 0x14], 0x80000001
mov dword [ebp - 0x10], 0
push 0xf003f
lea eax, [ebp - 0x10]
push eax
push 0x418b74
mov ecx, dword [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 0x844]
call fcn.0040d275
test eax, eax
je 0x40e7e3
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x14], edx
jmp 0x40ea13
lea ecx, [ebp - 0x1c]
call sub.MFC42u.DLL_CString::CString_1
mov dword [ebp - 4], 0
push str.SoftwareMicrosoftWindowsCurrentVersionRun
lea ecx, [ebp - 0x20]
call fcn.004125b6
mov byte [ebp - 4], 1
push 0x418c2c
lea ecx, [ebp - 0x20]
call sub.MFC42u.DLL_CString::Find_1
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
push eax
lea ecx, [ebp - 0x830]
push ecx
lea ecx, [ebp - 0x20]
call sub.MFC42u.DLL_CString::Left
mov dword [ebp - 0x848], eax
mov edx, dword [ebp - 0x848]
mov dword [ebp - 0x84c], edx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x84c]
push eax
lea ecx, [ebp - 0x1c]
call fcn.004125e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x830]
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [ebp - 0x18]
add ecx, 1
push ecx
lea edx, [ebp - 0x834]
push edx
lea ecx, [ebp - 0x20]
call sub.MFC42u.DLL_CString::Mid_1
mov dword [ebp - 0x850], eax
mov eax, dword [ebp - 0x850]
mov dword [ebp - 0x854], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x854]
push ecx
lea ecx, [ebp - 0x20]
call fcn.004125e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x834]
call sub.MFC42u.DLL_CString::CString
push 0x41b1f4
lea edx, [ebp - 0x1c]
push edx
call fcn.0040f3b0
and eax, 0xff
test eax, eax
je 0x40e9f8
push 0xf003f
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00404130
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 0x844]
call fcn.0040d04e
test eax, eax
je 0x40e9c3
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x14], edx
push 0x418c30
lea ecx, [ebp - 0x20]
call sub.MFC42u.DLL_CString::Find_1
mov dword [ebp - 0x18], eax
push 0x41b1f8
lea ecx, [ebp - 0x1c]
call fcn.004125b0
cmp dword [ebp - 0x18], 0xffffffff
je 0x40e9a8
mov eax, dword [ebp - 0x18]
push eax
lea ecx, [ebp - 0x838]
push ecx
lea ecx, [ebp - 0x20]
call sub.MFC42u.DLL_CString::Left
mov dword [ebp - 0x858], eax
mov edx, dword [ebp - 0x858]
mov dword [ebp - 0x85c], edx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x85c]
push eax
lea ecx, [ebp - 0x1c]
call fcn.004125e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x838]
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [ebp - 0x18]
add ecx, 1
push ecx
lea edx, [ebp - 0x83c]
push edx
lea ecx, [ebp - 0x20]
call sub.MFC42u.DLL_CString::Mid_1
mov dword [ebp - 0x860], eax
mov eax, dword [ebp - 0x860]
mov dword [ebp - 0x864], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x864]
push ecx
lea ecx, [ebp - 0x20]
call fcn.004125e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x83c]
call sub.MFC42u.DLL_CString::CString
jmp 0x40e9c1
lea edx, [ebp - 0x20]
push edx
lea ecx, [ebp - 0x1c]
call fcn.004125e0
push 0x41b1fc
lea ecx, [ebp - 0x20]
call sub.MFC42u.DLL_CString::operator_2
jmp 0x40e9f3
mov dword [ebp - 0x840], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call sub.MFC42u.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call sub.MFC42u.DLL_CString::CString
mov eax, dword [ebp - 0x840]
jmp 0x40eb60
jmp 0x40e8a4
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call sub.MFC42u.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call sub.MFC42u.DLL_CString::CString
cmp dword [ebp - 0x14], 0x80000001
je 0x40eb5e
cmp dword [ebp + 8], 0
jne 0x40ea3c
push 0x418c34
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
xor eax, eax
jmp 0x40eb60
lea ecx, [ebp - 0x82c]
call sub.MFC42u.DLL_CString::CString_1
mov dword [ebp - 4], 6
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [ebp - 0x28], eax
push 0x400
lea ecx, [ebp - 0x828]
push ecx
mov edx, dword [ebp - 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jbe 0x40eb4c
push 0x418c64
lea ecx, [ebp - 0x82c]
call fcn.004125b0
lea eax, [ebp - 0x828]
push eax
lea ecx, [ebp - 0x82c]
call sub.MFC42u.DLL_CString::operator
push 0x418c68
lea ecx, [ebp - 0x82c]
call sub.MFC42u.DLL_CString::operator
mov ecx, dword [ebp + 0xc]
and ecx, 0x40
test ecx, ecx
je 0x40eac8
push 0x418c6c
lea ecx, [ebp - 0x82c]
call sub.MFC42u.DLL_CString::operator
mov edx, dword [ebp + 0xc]
and edx, 0x80
test edx, edx
je 0x40eae5
push str.__LCR
lea ecx, [ebp - 0x82c]
call sub.MFC42u.DLL_CString::operator
mov eax, dword [ebp + 0xc]
and eax, 8
test eax, eax
je 0x40eaff
push str.__SYS
lea ecx, [ebp - 0x82c]
call sub.MFC42u.DLL_CString::operator
lea ecx, [ebp - 0x82c]
call fcn.00404130
push eax
lea ecx, [ebp - 0x828]
push ecx
call dword [sym.imp.MSVCRT.dll_wcscpy]
add esp, 8
lea ecx, [ebp - 0x82c]
call fcn.004040d0
shl eax, 1
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
push edx
lea eax, [ebp - 0x828]
push eax
push 1
push str.Creative_MediaSource_Go
mov ecx, dword [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 0x844]
call fcn.0040d334
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x82c]
call sub.MFC42u.DLL_CString::CString
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8