Function at 0x18812b3e
Capabilities:
Delete registry value
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
mov eax, 0x1882bbb6
call fcn.1882a764
sub esp, 0x318
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x48], str.Mirroring_Legacy
mov dword [ebp - 0x78], str.Customization
mov dword [ebp - 0x74], str.Hotkeys
mov dword [ebp - 0x70], str.Mirroring
mov dword [ebp - 0x6c], str.Monitor_Preview
mov dword [ebp - 0x68], str.Screen_Saver
mov dword [ebp - 0x64], str.Shortcuts
mov dword [ebp - 0x60], str.Smart_Taskbar
mov dword [ebp - 0x5c], str.Wallpaper
mov dword [ebp - 0x58], str.Window_Buttons
mov dword [ebp - 0x54], str.Window_Menu
mov dword [ebp - 0x50], str.Saved_Positions
xor ebx, ebx
mov dword [ebp - 0x40], ebx
xor edi, edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x2c], ebx
lea eax, [ebp - 0x2c]
push eax
push 0x1000b
push ebx
push str.SoftwareRealtime_SoftUltraMon
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
je 0x18812c27
cmp eax, 2
je 0x18812f7f
cmp eax, 5
je 0x18812f7f
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], str...UMSettings.cpp
mov dword [ebp - 0x20], 0xafd
mov dword [ebp - 0x1c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x18], eax
push 5
pop ecx
lea esi, [ebp - 0x28]
lea edi, [ebp - 0x104]
rep movsd dword es:[edi], dword [esi]
push 0x18836bec
lea eax, [ebp - 0x104]
push eax
call fcn.1881d33f
mov dword [ebp - 0x44], ebx
xor eax, eax
mov word [ebp - 0x324], ax
push 0x206
push ebx
lea eax, [ebp - 0x322]
push eax
call fcn.18819090
add esp, 0xc
mov dword [ebp - 0x30], 0x104
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x324]
push eax
push dword [ebp - 0x44]
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
cmp eax, ebx
jne 0x18812d89
xor esi, esi
push dword [ebp + esi*4 - 0x48]
lea eax, [ebp - 0x324]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x18812d44
inc esi
cmp esi, 1
jb 0x18812c74
cmp byte [ebp + 0xc], bl
je 0x18812cbb
xor esi, esi
push dword [ebp + esi*4 - 0x78]
lea eax, [ebp - 0x324]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x18812d44
inc esi
cmp esi, 0xb
jb 0x18812c9a
jmp 0x18812ccf
push dword [ebp + 8]
lea eax, [ebp - 0x324]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x18812d44
push 0x208
call fcn.18819abb
pop ecx
mov dword [ebp - 0x4c], eax
cmp eax, ebx
jne 0x18812d1c
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], str...UMSettings.cpp
mov dword [ebp - 0x20], 0xb2b
mov dword [ebp - 0x1c], ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x18], eax
push 5
pop ecx
lea esi, [ebp - 0x28]
lea edi, [ebp - 0x8c]
rep movsd dword es:[edi], dword [esi]
push 0x18836bec
lea eax, [ebp - 0x8c]
jmp 0x18812c21
lea ecx, [ebp - 0x324]
push ecx
mov esi, 0x104
mov ecx, eax
call fcn.1880c781
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4c]
lea esi, [ebp - 0x40]
call fcn.18813402
mov dword [ebp - 4], ebx
mov edi, dword [ebp - 0x3c]
inc dword [ebp - 0x44]
jmp 0x18812c48
cmp eax, 0x103
je 0x18812dcb
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], str...UMSettings.cpp
mov dword [ebp - 0x20], 0xb3e
mov dword [ebp - 0x1c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x18], eax
push 5
pop ecx
lea esi, [ebp - 0x28]
lea edi, [ebp - 0xc8]
rep movsd dword es:[edi], dword [esi]
push 0x18836bec
lea eax, [ebp - 0xc8]
jmp 0x18812c21
xor esi, esi
sub edi, dword [ebp - 0x40]
sar edi, 2
mov dword [ebp + 8], edi
cmp edi, ebx
jbe 0x18812df9
mov eax, dword [ebp - 0x40]
mov edi, dword [eax + esi*4]
push ebx
push edi
push dword [ebp - 0x2c]
call fcn.188121fe
push edi
call fcn.18819a19
add esp, 0x10
inc esi
cmp esi, dword [ebp + 8]
jb 0x18812dda
lea edi, [ebp - 0x40]
call fcn.18813634
cmp byte [ebp + 0xc], bl
jne 0x18812f73
xor edi, edi
mov dword [ebp - 0x30], 0x104
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x324]
push eax
push edi
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
cmp eax, ebx
jne 0x18812ee9
push 0x208
call fcn.18819abb
pop ecx
mov dword [ebp + 0xc], eax
cmp eax, ebx
jne 0x18812e81
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], str...UMSettings.cpp
mov dword [ebp - 0x20], 0xb53
mov dword [ebp - 0x1c], ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x18], eax
push 5
pop ecx
lea esi, [ebp - 0x28]
lea edi, [ebp - 0x118]
rep movsd dword es:[edi], dword [esi]
push 0x18836bec
lea eax, [ebp - 0x118]
jmp 0x18812c21
lea ecx, [ebp - 0x324]
push ecx
mov esi, 0x104
mov ecx, eax
call fcn.1880c781
mov byte [ebp - 4], 3
lea ecx, [ebp + 0xc]
lea esi, [ebp - 0x40]
call fcn.18813402
mov dword [ebp - 4], ebx
inc edi
jmp 0x18812e0c
cmp eax, 0x103
je 0x18812f2b
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], str...UMSettings.cpp
mov dword [ebp - 0x20], 0xb65
mov dword [ebp - 0x1c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x18], eax
push 5
pop ecx
lea esi, [ebp - 0x28]
lea edi, [ebp - 0xb4]
rep movsd dword es:[edi], dword [esi]
push 0x18836bec
lea eax, [ebp - 0xb4]
jmp 0x18812c21
mov dword [ebp + 0xc], ebx
mov esi, dword [ebp - 0x3c]
sub esi, dword [ebp - 0x40]
sar esi, 2
cmp esi, ebx
jbe 0x18812f6b
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp + 0xc]
mov edi, dword [eax + ecx*4]
push edi
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp eax, ebx
je 0x18812f5c
cmp eax, 2
je 0x18812f5c
cmp eax, 5
jne 0x18812fab
push edi
call fcn.18819a19
pop ecx
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], esi
jb 0x18812f3b
lea edi, [ebp - 0x40]
call fcn.18813634
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x2c], ebx
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x40], ebx
je 0x18812f91
push dword [ebp - 0x40]
call fcn.18818d0d
pop ecx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 8
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], str...UMSettings.cpp
mov dword [ebp - 0x20], 0xb6e
mov dword [ebp - 0x1c], ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x18], eax
push 5
pop ecx
lea esi, [ebp - 0x28]
lea edi, [ebp - 0xdc]
rep movsd dword es:[edi], dword [esi]
push 0x18836bec
lea eax, [ebp - 0xdc]
jmp 0x18812c21