Function at 0x409c6d
Capabilities:
Delete registry value
Query or enumerate registry value
Set registry value

Disassembly:
push 0x22c
mov eax, 0x50f467
call fcn.004d0314
and dword [ebp - 0x230], 0
lea eax, [ebp - 0x220]
push 1
push eax
mov ebx, str.SyncRoot
call fcn.0040d2b0
pop ecx
pop ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x220]
cmp dword [eax - 0xc], ebx
jne 0x409cbf
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x220]
call fcn.004028da
xor eax, eax
inc eax
jmp 0x40a038
mov dword [ebp - 0x22c], ebx
mov dword [ebp - 0x228], ebx
mov byte [ebp - 4], 1
push 0x2001f
mov edi, str.SoftwareMicrosoftWindowsCurrentVersionPoliciesComdlg32PlacesBar
push edi
mov esi, 0x80000001
push esi
lea eax, [ebp - 0x22c]
call fcn.00402279
cmp eax, ebx
jne 0x409f13
lea eax, [ebp - 0x224]
push eax
call fcn.004028b3
mov byte [ebp - 4], 2
push 4
mov dword [ebp - 0x234], ebx
pop edi
mov esi, str.KLiveValueIndex
push dword [ebp - 0x234]
lea eax, [ebp - 0x224]
push str.place_d
push eax
call fcn.00402363
add esp, 0xc
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push ebx
push eax
call fcn.004ce6f0
add esp, 0xc
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x21c]
push eax
push ebx
push dword [ebp - 0x224]
mov dword [ebp - 0x238], 0x104
push dword [ebp - 0x22c]
mov dword [ebp - 0x21c], ebx
call dword [section..rdata]
cmp eax, 2
je 0x409e42
cmp eax, ebx
jne 0x409e2a
cmp dword [ebp - 0x234], edi
jne 0x409e2a
push dword [ebp - 0x238]
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x21c]
push ebx
push str.KLiveReplaceValue
push dword [ebp - 0x22c]
call dword [0x51a008]
cmp eax, ebx
jne 0x409eab
push dword [ebp - 0x224]
push dword [ebp - 0x22c]
call dword [0x51a01c]
cmp eax, ebx
jne 0x409ebc
call fcn.00409c5c
test eax, eax
mov eax, str.::20D04FE0_3AEA_1069_A2D8_08002B30309D::AD04E3AB_F7B8_4F06_AC4A_D4901324CBAA
je 0x409df9
mov eax, dword [ebp - 0x220]
push eax
push dword [ebp - 0x224]
lea eax, [ebp - 0x22c]
push eax
call fcn.00401ac6
cmp eax, ebx
jne 0x409ecd
push edi
push esi
lea eax, [ebp - 0x22c]
push eax
call fcn.0040cdfb
cmp eax, ebx
jne 0x409ede
inc dword [ebp - 0x234]
cmp dword [ebp - 0x234], 5
jl 0x409d11
jmp 0x409eff
push dword [ebp - 0x220]
lea eax, [ebp - 0x22c]
push dword [ebp - 0x224]
push eax
call fcn.00401ac6
cmp eax, ebx
je 0x409e88
push str.SetStringValue_Register_Key_Value_HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesComdlg32PlacesBarplacesbar_Failed_
push str.ERROR_CHECK_BOOLEX:lResult__ERROR_SUCCESSMSG:__s
push 0x4ca
push str.d:code_sharecube_branches_branch_wps_release_srcclientincludexlive_xlive_hlp.h
xor esi, esi
mov dword [ebp - 0x230], 0x80004005
call fcn.0040f52f
add esp, 0x10
jmp 0x409eff
push dword [ebp - 0x234]
lea eax, [ebp - 0x22c]
push esi
push eax
call fcn.0040cdfb
cmp eax, ebx
je 0x409eff
push str.ERROR_CHECK_BOOLEX:lResult__ERROR_SUCCESS
push 0x4cc
jmp 0x409ee8
push str.Save_Old_DWORD_Value_of_PlacesBar_Failed_
push str.ERROR_CHECK_BOOLEX:lResult__ERROR_SUCCESSMSG:__s
push 0x4d3
jmp 0x409e6d
push str.delete_Key_Value_HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesComdlg32PlacesBarplacesbar_Failed_
push str.ERROR_CHECK_BOOLEX:lResult__ERROR_SUCCESSMSG:__s
push 0x4d7
jmp 0x409e6d
push str.SetStringValue_Register_Key_Value_HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesComdlg32PlacesBarplacesbar_Failed_
push str.ERROR_CHECK_BOOLEX:lResult__ERROR_SUCCESSMSG:__s
push 0x4d9
jmp 0x409e6d
push str.ERROR_CHECK_BOOLEX:lResult__ERROR_SUCCESS
push 0x4db
push str.d:code_sharecube_branches_branch_wps_release_srcclientincludexlive_xlive_hlp.h
push 5
pop ecx
mov dword [ebp - 0x230], 0x80004005
call fcn.0040ef48
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x224]
call fcn.004028da
jmp 0x40a015
push edi
push esi
lea eax, [ebp - 0x22c]
call fcn.0040cf26
cmp eax, ebx
jne 0x40a015
mov esi, dword [0x51a008]
push 4
pop edi
push edi
lea eax, [ebp - 0x21c]
push eax
push edi
push ebx
push str.place0
push dword [ebp - 0x22c]
mov dword [ebp - 0x21c], 8
call esi
push edi
lea eax, [ebp - 0x21c]
push eax
push edi
push ebx
push str.place1
push dword [ebp - 0x22c]
mov dword [ebp - 0x21c], ebx
call esi
push edi
lea eax, [ebp - 0x21c]
push eax
push edi
push ebx
push str.place2
push dword [ebp - 0x22c]
mov dword [ebp - 0x21c], 5
call esi
push edi
lea eax, [ebp - 0x21c]
push eax
push edi
push ebx
push str.place3
push dword [ebp - 0x22c]
mov dword [ebp - 0x21c], 0x11
call esi
call fcn.00409c5c
test eax, eax
mov eax, str.::20D04FE0_3AEA_1069_A2D8_08002B30309D::AD04E3AB_F7B8_4F06_AC4A_D4901324CBAA
je 0x409fc5
mov eax, dword [ebp - 0x220]
push eax
push str.place4
lea eax, [ebp - 0x22c]
push eax
call fcn.00401ac6
push edi
lea eax, [ebp - 0x21c]
push eax
push edi
push ebx
push str.KLiveReplaceValue
push dword [ebp - 0x22c]
mov dword [ebp - 0x21c], 0x12
call esi
push edi
lea eax, [ebp - 0x21c]
push eax
push edi
push ebx
push str.KLiveValueIndex
push dword [ebp - 0x22c]
mov dword [ebp - 0x21c], edi
call esi
mov byte [ebp - 4], bl
lea esi, [ebp - 0x22c]
call fcn.00402262
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x220]
call fcn.004028da
mov eax, dword [ebp - 0x230]
call fcn.004d0397
ret