Function at 0x40599e
Capabilities:
Set registry value

Disassembly:
push 0x28
mov eax, 0x409176
call fcn.0040847e
xor ebx, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 4], ebx
call dword [sym.imp.ASOHelper.dll_public:_static_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______cdecl_CSystweakApp::GetRegAppPath_void_]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18]
mov dword [esp], str.Selected
call dword [0x40a628]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 2
call dword [sym.imp.ASOHelper.dll_enum_PCO_ERROR_CODES___cdecl_STPathAppend_class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t______class_ATL::CStringT_wchar_t__class_StrTraitMFC_DLL_wchar_t__class_ATL::ChTraitsCRT_wchar_t____const__]
pop ecx
pop ecx
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push dword [ebp - 0x14]
mov eax, 0x2001f
lea ecx, [ebp - 0x34]
call fcn.0040739d
test eax, eax
jne 0x405a15
lea esi, [ebp - 0x34]
call fcn.00407167
call fcn.004073dd
push dword [ebp - 0x14]
lea eax, [ebp - 0x34]
call fcn.00407328
test eax, eax
jne 0x405b3c
push ebx
push ebx
push 0x1004
push dword [edi + 0x20]
mov dword [ebp - 0x10], ebx
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jle 0x405b34
lea ecx, [ebp - 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
push ebx
push dword [ebp - 0x10]
lea eax, [ebp - 0x24]
push eax
mov ecx, edi
mov byte [ebp - 4], 3
call sub.mfc90u.dll_CListCtrl::GetItemText
push 1
push dword [ebp - 0x10]
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
mov byte [ebp - 4], 4
call sub.mfc90u.dll_CListCtrl::GetItemText
lea eax, [ebp - 0x28]
push 0x40ad20
push eax
lea esi, [ebp - 0x24]
mov byte [ebp - 4], 5
call fcn.0040744d
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.00406c29
add esp, 0x10
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 8
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push dword [ebp - 0x10]
lea eax, [ebp - 0x18]
push 0x40c3fc
push eax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
xor ecx, ecx
add esp, 0xc
cmp eax, ebx
setne cl
mov dword [ebp - 0x2c], eax
cmp ecx, ebx
je 0x405af0
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 2]
push eax
push dword [ebp - 0x2c]
push 1
push ebx
push esi
push dword [ebp - 0x34]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x24]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
inc dword [ebp - 0x10]
push ebx
push ebx
push 0x1004
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebp - 0x10], eax
jl 0x405a43
lea esi, [ebp - 0x34]
call fcn.004073dd
push ebx
push ebx
push 0x1004
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x14]
mov dword [0x411edc], eax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea esi, [ebp - 0x34]
call fcn.004073dd
call fcn.0040851d
ret