Function at 0x404c80
Capabilities:
Delete registry value
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x40ad7d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
push ebx
push ebp
push esi
mov ebp, ecx
push edi
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::CStringT_1]
lea ecx, [esp + 0x14]
mov dword [esp + 0x38], 0
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::CStringT_1]
push str.RecentApplication
push str.SOFTWARESony_CorporationVAIO_Control_Center
lea eax, [esp + 0x20]
push str._s_s
push eax
mov byte [esp + 0x48], 1
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::Format]
mov edi, dword [sym.imp.SHLWAPI.dll_SHDeleteValueW]
add esp, 0x10
xor esi, esi
push esi
lea ecx, [esp + 0x18]
push str.Name_d
push ecx
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::Format]
add esp, 0xc
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::operator_class_ATL::CSimpleStringT_]
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::operator_class_ATL::CSimpleStringT_]
push eax
push 0x80000001
call edi
push esi
lea edx, [esp + 0x18]
push str.Time_d
push edx
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::Format]
add esp, 0xc
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::operator_class_ATL::CSimpleStringT_]
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::operator_class_ATL::CSimpleStringT_]
push eax
push 0x80000001
call edi
inc esi
cmp esi, 5
jl 0x404ce4
mov eax, dword [ebp + 0xc]
xor esi, esi
test eax, eax
jle 0x404e5e
mov ebx, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
nop
test esi, esi
jl 0x404e8a
cmp esi, dword [ebp + 0xc]
jge 0x404e8a
mov eax, dword [ebp + 8]
mov edi, dword [eax + esi*4]
push esi
lea ecx, [esp + 0x18]
lea eax, [eax + esi*4]
push str.Name_d
push ecx
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::Format]
add esp, 8
mov ecx, esp
mov dword [esp + 0x28], esp
push edi
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::CStringT]
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
mov byte [esp + 0x44], 2
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::CStringT]
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
mov byte [esp + 0x48], 3
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::CStringT]
mov ecx, ebp
mov byte [esp + 0x44], 1
call fcn.004049a0
push esi
lea ecx, [esp + 0x18]
push str.Time_d
push ecx
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::Format]
add esp, 0xc
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::CStringT]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x3c], 4
call dword [sym.imp.MFC71U.DLL_ATL::CStringT::CStringT]
mov ecx, dword [edi + 4]
push 4
lea edx, [esp + 0x28]
push edx
mov dword [esp + 0x2c], ecx
push 4
lea ecx, [esp + 0x2c]
mov byte [esp + 0x44], 1
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::operator_class_ATL::CSimpleStringT_]
push eax
lea ecx, [esp + 0x2c]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::operator_class_ATL::CSimpleStringT_]
push eax
push 0x80000001
call ebx
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT]
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT]
mov eax, dword [ebp + 0xc]
inc esi
cmp esi, eax
jl 0x404d60
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT]
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC71U.DLL_ATL::CSimpleStringT::CSimpleStringT]
mov ecx, dword [esp + 0x30]
pop edi
pop esi
pop ebp
mov eax, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x2c
ret
jmp sub.MFC71U.DLL_AfxThrowInternetException