Function at 0x14001c060
Capabilities:
Set registry value

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
mov qword [rbp + 0xf], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14006c100]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov r14, rcx
movdqa xmm0, xmmword [0x14005a0c0]
movdqu xmmword [rbp + 0x27], xmm0
xor r15d, r15d
mov word [rbp + 0x17], r15w
lea rdx, str._OneSettings__SaveSettingsCacheToRegistry
lea rcx, [rbp + 0x17]
call fcn.140007e74
lea r8, [rbp + 0x17]
cmp qword [rbp + 0x2f], 8
cmovae r8, qword [rbp + 0x17]
lea rdx, str._s_:_Init
xor ecx, ecx
call fcn.14000972c
nop
mov qword [rbp - 0x11], r15
mov ebx, r15d
mov qword [rbp - 1], rbx
mov qword [rbp - 0x19], r15
mov qword [rbp - 0x21], r15
mov byte [rbp - 0x39], r15b
lea rdx, [r14 + 0x80]
cmp qword [rdx + 0x18], 8
jb 0x14001c102
mov rdx, qword [rdx]
lea rax, [rbp - 0x11]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
mov rcx, qword [r14 + 0x1a8]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
nop dword [rax + rax]
test eax, eax
je 0x14001c14a
mov rcx, qword [rbp + 0x5f]
mov r9d, eax
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettings.cpp
mov edx, 0x2d7
call fcn.14000dee8
mov edi, eax
jmp 0x14001c3aa
mov rdi, qword [r14 + 0x1d0]
test rdi, rdi
jne 0x14001c168
mov edi, 0x81333207
mov r9d, edi
mov edx, 0x2d9
jmp 0x14001c20c
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [case.0x14004c5fe.0]
mov rbx, rdi
mov qword [rbp - 1], rbx
mov rax, qword [rdi]
mov rdi, qword [rax]
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x14001c19f
mov qword [rbp - 0x19], r15
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x10]
call qword [case.0x14004c5fe.0]
lea r8, [rbp - 0x19]
lea rdx, [0x140055528]
mov rcx, rbx
mov rax, rdi
call qword [case.0x14004c5fe.0]
mov edi, eax
test eax, eax
jns 0x14001c1c3
mov edx, 0x2dc
jmp 0x14001c209
mov rcx, qword [rbp - 0x19]
mov rax, qword [rcx]
lea rdx, [rbp - 0x21]
mov rax, qword [rax + 0x30]
call qword [case.0x14004c5fe.0]
mov edi, eax
test eax, eax
jns 0x14001c1e5
mov edx, 0x2dd
jmp 0x14001c209
mov rcx, qword [rbp - 0x21]
mov rax, qword [rcx]
lea rdx, [rbp - 0x39]
mov rax, qword [rax + 0x38]
call qword [case.0x14004c5fe.0]
mov edi, eax
test eax, eax
jns 0x14001c39d
mov edx, 0x2de
mov r9d, eax
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettings.cpp
mov rcx, qword [rbp + 0x5f]
call fcn.140003c18
jmp 0x14001c3aa
mov qword [rbp - 0x31], r15
mov qword [rbp - 0x29], r15
mov rcx, qword [rbp - 0x21]
mov rax, qword [rcx]
lea rdx, [rbp - 0x31]
mov rax, qword [rax + 0x30]
call qword [case.0x14004c5fe.0]
mov edi, eax
test eax, eax
js 0x14001c490
mov rcx, qword [rbp - 0x31]
mov rax, qword [rcx]
lea rdx, [rbp + 7]
mov rax, qword [rax + 0x30]
call qword [case.0x14004c5fe.0]
mov edi, eax
test eax, eax
js 0x14001c489
mov rcx, qword [rbp - 0x31]
mov rax, qword [rcx]
lea rdx, [rbp - 0x29]
mov rax, qword [rax + 0x38]
call qword [case.0x14004c5fe.0]
mov edi, eax
test eax, eax
js 0x14001c482
mov rcx, qword [rbp - 0x29]
mov rax, qword [rcx]
lea rdx, [rbp - 9]
mov rax, qword [rax + 0x40]
call qword [case.0x14004c5fe.0]
mov edi, eax
test eax, eax
js 0x14001c47b
xor edx, edx
mov rcx, qword [rbp + 7]
call qword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsGetStringRawBuffer]
nop dword [rax + rax]
mov rsi, rax
xor edx, edx
mov rcx, qword [rbp - 9]
call qword [sym.imp.api_ms_win_core_winrt_string_l1_1_0.dll_WindowsGetStringRawBuffer]
nop dword [rax + rax]
mov rdi, rax
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], r15w
jne 0x14001c2d3
lea eax, [rcx*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
mov r9d, 1
xor r8d, r8d
mov rdx, rsi
mov rcx, qword [rbp - 0x11]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
nop dword [rax + rax]
test eax, eax
jne 0x14001c44e
mov r8, rsi
lea rdx, str._OneSettings__SaveSettingsCacheToRegistry_:_Current_Setting_Key__s
xor ecx, ecx
call fcn.14000972c
lea rdx, str.plugspec
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_shlwapi_obsolete_l1_1_0.dll_StrStrIW]
nop dword [rax + rax]
test rax, rax
je 0x14001c349
mov rdx, qword [rbp - 9]
mov rcx, r14
call fcn.14001ce80
mov rcx, qword [rbp - 0x21]
mov rax, qword [rcx]
lea rdx, [rbp - 0x39]
mov rax, qword [rax + 0x40]
call qword [case.0x14004c5fe.0]
mov edi, eax
test eax, eax
js 0x14001c447
mov rcx, qword [rbp - 0x29]
test rcx, rcx
je 0x14001c383
mov qword [rbp - 0x29], r15
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c5fe.0]
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x14001c39d
mov qword [rbp - 0x31], r15
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c5fe.0]
cmp byte [rbp - 0x39], r15b
jne 0x14001c221
mov edi, r15d
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x14001c3c5
mov qword [rbp - 0x21], r15
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c5fe.0]
nop
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x14001c3e0
mov qword [rbp - 0x19], r15
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c5fe.0]
nop
test rbx, rbx
je 0x14001c3f6
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [case.0x14004c5fe.0]
nop
lea r8, [rbp + 0x17]
cmp qword [rbp + 0x2f], 8
cmovae r8, qword [rbp + 0x17]
lea rdx, str._s_:_Exit
xor ecx, ecx
call fcn.14000972c
lea rcx, [rbp + 0x17]
call fcn.140007d04
mov eax, edi
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.14004b180
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov edx, 0x303
jmp 0x14001c495
mov rcx, qword [rbp + 0x5f]
mov qword [rsp + 0x28], rdi
lea rdx, str.Buffer:__S
mov qword [rsp + 0x20], rdx
mov r9d, eax
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettings.cpp
mov edx, 0x2f9
call fcn.140014128
mov edi, eax
jmp 0x14001c4a9
mov edx, 0x2ec
jmp 0x14001c495
mov edx, 0x2eb
jmp 0x14001c495
mov edx, 0x2ea
jmp 0x14001c495
mov edx, 0x2e9
mov r9d, eax
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettings.cpp
mov rcx, qword [rbp + 0x5f]
call fcn.140003c18
nop
mov rcx, qword [rbp - 0x29]
test rcx, rcx
je 0x14001c4c4
mov qword [rbp - 0x29], r15
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c5fe.0]
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x14001c3aa
mov qword [rbp - 0x31], r15
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c5fe.0]
jmp 0x14001c3aa