Function at 0x10008670
Capabilities:
Set registry value

Disassembly:
sub esp, 0x50
push ebp
push esi
push edi
mov ecx, 7
mov esi, str.Control_PanelInternational
lea edi, [esp + 0x18]
rep movsd dword es:[edi], dword [esi]
mov ecx, 9
mov esi, str..DEFAULTControl_PanelInternational
lea edi, [esp + 0x34]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor ebp, ebp
call fcn.100058c0
mov edi, eax
test edi, edi
mov dword [esp + 0xc], edi
jne 0x100086b2
pop edi
pop esi
or eax, 0xffffffff
pop ebp
add esp, 0x50
ret
mov esi, dword [esp + 0x68]
push ebx
push esi
push edi
call fcn.100058e0
mov eax, dword [edi]
mov edx, dword [edi + 4]
and eax, 0xffcfffff
or eax, 0x800004
mov dword [edi], eax
mov eax, dword [esp + 0x6c]
or edx, 1
add esp, 8
cmp eax, 0x100000
mov dword [edi + 4], edx
je 0x100086fa
cmp eax, 0x200000
lea ebx, [esp + 0x38]
mov edi, 0x80000003
jne 0x10008708
mov ebp, str.HKEY_USERS
jmp 0x10008708
mov edi, 0x80000001
mov ebp, str.HKEY_CURRENT_USER
lea ebx, [esp + 0x1c]
mov esi, dword [esi]
shr esi, 0x17
and esi, 1
push 0x14
mov dword [esp + 0x18], esi
call fcn.1000bbc2
mov esi, eax
add esp, 4
test esi, esi
jne 0x1000873c
mov ecx, dword [esp + 0x10]
push ecx
call fcn.10005860
add esp, 4
pop ebx
pop edi
pop esi
or eax, 0xffffffff
pop ebp
add esp, 0x50
ret
lea edx, [esp + 0x18]
push edx
push ebx
push edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
je 0x100087b4
push ebx
push ebp
push str.Error_opening_registry_key__s_s.
call fcn.10007c00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x10008794
push 0x1001ef20
push edi
call fcn.1000dbd5
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x1000878b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x68]
push eax
push edi
push ecx
call sym.logtext.dll_LogTextEx
add esp, 0xc
push edi
call fcn.1000b9ec
add esp, 4
push esi
call fcn.1000b9ec
mov edx, dword [esp + 0x14]
push edx
call fcn.10005860
add esp, 8
pop ebx
pop edi
pop esi
mov eax, 0xfffffffe
pop ebp
add esp, 0x50
ret
mov eax, esi
mov word [esi], 0x2d
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100087c0
sub eax, edx
inc eax
push eax
mov eax, dword [esp + 0x1c]
push esi
push 1
push 0
push str.sDate
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x1000882d
push ebx
push ebp
push str.Error_setting_value_sDate_in__s_s.
call fcn.10007c00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x10008864
push 0x1001ef20
push edi
call fcn.1000dbd5
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x10008822
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x68]
push ecx
push edi
push edx
call sym.logtext.dll_LogTextEx
add esp, 0xc
push edi
call fcn.1000b9ec
add esp, 4
jmp 0x10008864
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x10008864
push esi
push ebx
push ebp
push str.Value_sDate_in__s_s_set_to__s.
call fcn.10007c00
mov edi, eax
add esp, 0x10
test edi, edi
je 0x10008864
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x68]
push eax
push edi
push ecx
call sym.logtext.dll_LogTextEx
push edi
call fcn.1000b9ec
add esp, 0x10
mov eax, dword [str.yyyy_MM_dd]
mov edx, esi
mov dword [edx], eax
mov ecx, dword [0x1001826c]
mov dword [edx + 4], ecx
mov ax, word [0x10018270]
mov word [edx + 8], ax
mov cl, byte [0x10018272]
mov eax, esi
mov byte [edx + 0xa], cl
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10008890
sub eax, edx
mov edx, dword [esp + 0x18]
inc eax
push eax
push esi
push 1
push 0
push str.sShortDate
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x100088fd
push ebx
push ebp
push str.Error_setting_value_sShortDate_in__s_s.
call fcn.10007c00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x10008934
push 0x1001ef20
push edi
call fcn.1000dbd5
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x100088f2
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x68]
push eax
push edi
push ecx
call sym.logtext.dll_LogTextEx
add esp, 0xc
push edi
call fcn.1000b9ec
add esp, 4
jmp 0x10008934
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x10008934
push esi
push ebx
push ebp
push str.Value_sShortDate_in__s_s_set_to__s.
call fcn.10007c00
mov edi, eax
add esp, 0x10
test edi, edi
je 0x10008934
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x68]
push edx
push edi
push eax
call sym.logtext.dll_LogTextEx
push edi
call fcn.1000b9ec
add esp, 0x10
mov edx, dword [str.dddd_yyyy_MM_dd]
mov ecx, esi
mov dword [ecx], edx
mov eax, dword [0x100181f4]
mov dword [ecx + 4], eax
mov edx, dword [0x100181f8]
mov dword [ecx + 8], edx
mov eax, dword [0x100181fc]
mov dword [ecx + 0xc], eax
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10008960
mov ecx, dword [esp + 0x18]
sub eax, edx
inc eax
push eax
push esi
push 1
push 0
push str.sLongDate
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x100089cd
push ebx
push ebp
push str.Error_setting_value_sLongDate_in__s_s.
call fcn.10007c00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x10008a04
push 0x1001ef20
push edi
call fcn.1000dbd5
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x100089c2
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x68]
push edx
push edi
push eax
call sym.logtext.dll_LogTextEx
add esp, 0xc
push edi
call fcn.1000b9ec
add esp, 4
jmp 0x10008a04
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x10008a04
push esi
push ebx
push ebp
push str.Value_sLongDate_in__s_s_set_to__s.
call fcn.10007c00
mov edi, eax
add esp, 0x10
test edi, edi
je 0x10008a04
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x68]
push ecx
push edi
push edx
call sym.logtext.dll_LogTextEx
push edi
call fcn.1000b9ec
add esp, 0x10
mov eax, esi
mov word [esi], 0x3a
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10008a10
sub eax, edx
inc eax
push eax
mov eax, dword [esp + 0x1c]
push esi
push 1
push 0
push str.sTime
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x10008a7d
push ebx
push ebp
push str.Error_setting_value_sTime_in__s_s.
call fcn.10007c00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x10008ab4
push 0x1001ef20
push edi
call fcn.1000dbd5
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x10008a72
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x68]
push ecx
push edi
push edx
call sym.logtext.dll_LogTextEx
add esp, 0xc
push edi
call fcn.1000b9ec
add esp, 4
jmp 0x10008ab4
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x10008ab4
push esi
push ebx
push ebp
push str.Value_sTime_in__s_s_set_to__s.
call fcn.10007c00
mov edi, eax
add esp, 0x10
test edi, edi
je 0x10008ab4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x68]
push eax
push edi
push ecx
call sym.logtext.dll_LogTextEx
push edi
call fcn.1000b9ec
add esp, 0x10
mov eax, dword [str.HH:mm:ss]
mov edx, esi
mov dword [edx], eax
mov ecx, dword [0x1001812c]
mov dword [edx + 4], ecx
mov al, byte [0x10018130]
mov byte [edx + 8], al
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10008ad3
mov ecx, dword [esp + 0x18]
sub eax, edx
inc eax
push eax
push esi
push 1
push 0
push str.sTimeFormat
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x10008b40
push ebx
push ebp
push str.Error_setting_value_sTimeFormat_in__s_s.
call fcn.10007c00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x10008b6f
push 0x1001ef20
push edi
call fcn.1000dbd5
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x10008b35
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x68]
push edx
push edi
push eax
call sym.logtext.dll_LogTextEx
add esp, 0xc
push edi
call fcn.1000b9ec
add esp, 4
jmp 0x10008b6f
push esi
push ebx
push ebp
push str.Value_sTimeFormat_in__s_s_set_to__s.
call fcn.10007c00
mov edi, eax
add esp, 0x10
test edi, edi
je 0x10008b6f
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x68]
push ecx
push edi
push edx
call sym.logtext.dll_LogTextEx
push edi
call fcn.1000b9ec
add esp, 0x10
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push esi
call fcn.1000b9ec
mov ecx, dword [esp + 0x14]
push ecx
call fcn.10005860
add esp, 8
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x50
ret