Function at 0x14001c3b0
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 [0x14006c0f0]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov r14, rcx
movdqa xmm0, xmmword [0x14005a0b0]
movdqu xmmword [rbp + 0x27], xmm0
xor r15d, r15d
mov word [rbp + 0x17], r15w
lea rdx, str._OneSettings__SaveSettingsCacheToRegistry
lea rcx, [rbp + 0x17]
call fcn.140008078
lea r8, [rbp + 0x17]
cmp qword [rbp + 0x2f], 8
cmovae r8, qword [rbp + 0x17]
lea rdx, str._s_:_Init
xor ecx, ecx
call fcn.140009a7c
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 0x14001c452
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 0x14001c49a
mov rcx, qword [rbp + 0x5f]
mov r9d, eax
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettings.cpp
mov edx, 0x2d7
call fcn.14000e238
mov edi, eax
jmp 0x14001c6fa
mov rdi, qword [r14 + 0x1d0]
test rdi, rdi
jne 0x14001c4b8
mov edi, 0x81333207
mov r9d, edi
mov edx, 0x2d9
jmp 0x14001c55c
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [case.0x14004c94e.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 0x14001c4ef
mov qword [rbp - 0x19], r15
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x10]
call qword [case.0x14004c94e.0]
lea r8, [rbp - 0x19]
lea rdx, [0x1400572f8]
mov rcx, rbx
mov rax, rdi
call qword [case.0x14004c94e.0]
mov edi, eax
test eax, eax
jns 0x14001c513
mov edx, 0x2dc
jmp 0x14001c559
mov rcx, qword [rbp - 0x19]
mov rax, qword [rcx]
lea rdx, [rbp - 0x21]
mov rax, qword [rax + 0x30]
call qword [case.0x14004c94e.0]
mov edi, eax
test eax, eax
jns 0x14001c535
mov edx, 0x2dd
jmp 0x14001c559
mov rcx, qword [rbp - 0x21]
mov rax, qword [rcx]
lea rdx, [rbp - 0x39]
mov rax, qword [rax + 0x38]
call qword [case.0x14004c94e.0]
mov edi, eax
test eax, eax
jns 0x14001c6ed
mov edx, 0x2de
mov r9d, eax
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettings.cpp
mov rcx, qword [rbp + 0x5f]
call fcn.140003c18
jmp 0x14001c6fa
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.0x14004c94e.0]
mov edi, eax
test eax, eax
js 0x14001c7e0
mov rcx, qword [rbp - 0x31]
mov rax, qword [rcx]
lea rdx, [rbp + 7]
mov rax, qword [rax + 0x30]
call qword [case.0x14004c94e.0]
mov edi, eax
test eax, eax
js 0x14001c7d9
mov rcx, qword [rbp - 0x31]
mov rax, qword [rcx]
lea rdx, [rbp - 0x29]
mov rax, qword [rax + 0x38]
call qword [case.0x14004c94e.0]
mov edi, eax
test eax, eax
js 0x14001c7d2
mov rcx, qword [rbp - 0x29]
mov rax, qword [rcx]
lea rdx, [rbp - 9]
mov rax, qword [rax + 0x40]
call qword [case.0x14004c94e.0]
mov edi, eax
test eax, eax
js 0x14001c7cb
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 0x14001c623
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 0x14001c79e
mov r8, rsi
lea rdx, str._OneSettings__SaveSettingsCacheToRegistry_:_Current_Setting_Key__s
xor ecx, ecx
call fcn.140009a7c
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 0x14001c699
mov rdx, qword [rbp - 9]
mov rcx, r14
call fcn.14001d1d0
mov rcx, qword [rbp - 0x21]
mov rax, qword [rcx]
lea rdx, [rbp - 0x39]
mov rax, qword [rax + 0x40]
call qword [case.0x14004c94e.0]
mov edi, eax
test eax, eax
js 0x14001c797
mov rcx, qword [rbp - 0x29]
test rcx, rcx
je 0x14001c6d3
mov qword [rbp - 0x29], r15
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c94e.0]
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x14001c6ed
mov qword [rbp - 0x31], r15
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c94e.0]
cmp byte [rbp - 0x39], r15b
jne 0x14001c571
mov edi, r15d
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x14001c715
mov qword [rbp - 0x21], r15
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c94e.0]
nop
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x14001c730
mov qword [rbp - 0x19], r15
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c94e.0]
nop
test rbx, rbx
je 0x14001c746
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [case.0x14004c94e.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.140009a7c
lea rcx, [rbp + 0x17]
call fcn.140007e78
mov eax, edi
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.14004b4d0
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 0x14001c7e5
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.140014478
mov edi, eax
jmp 0x14001c7f9
mov edx, 0x2ec
jmp 0x14001c7e5
mov edx, 0x2eb
jmp 0x14001c7e5
mov edx, 0x2ea
jmp 0x14001c7e5
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 0x14001c814
mov qword [rbp - 0x29], r15
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c94e.0]
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x14001c6fa
mov qword [rbp - 0x31], r15
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c94e.0]
jmp 0x14001c6fa