Function at 0x140015cc0
Capabilities:
Set registry value

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
mov qword [rbp + 0xf], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x14005e0f0]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rdi, rcx
movdqa xmm0, xmmword [0x14004da30]
movdqu xmmword [rbp + 0x27], xmm0
xor r14d, r14d
mov word [rbp + 0x17], r14w
lea rdx, str._OneSettings__SaveSettingsCacheToRegistry
lea rcx, [rbp + 0x17]
call fcn.1400082d4
lea r8, [rbp + 0x17]
cmp qword [rbp + 0x2f], 8
cmovae r8, qword [rbp + 0x17]
lea rdx, str._s_:_Init
xor ecx, ecx
call fcn.140009b0c
nop
mov qword [rbp - 0x11], r14
mov ebx, r14d
mov qword [rbp - 1], rbx
mov qword [rbp - 0x19], r14
mov qword [rbp - 0x21], r14
mov byte [rbp - 0x39], r14b
lea rax, [rbp - 0x11]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x68]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
nop dword [rax + rax]
test eax, eax
je 0x140015d95
mov rcx, qword [rbp + 0x5f]
mov r9d, eax
lea r8, str.onecoreenduserwindowsupdate_ruxim_ruximliblibonesettings.cpp
mov edx, 0x47d
call fcn.14000f07c
mov edi, eax
jmp 0x140015ff2
mov rdi, qword [rdi + 0x90]
test rdi, rdi
jne 0x140015db3
mov edi, 0x80004004
mov r9d, edi
mov edx, 0x47f
jmp 0x140015e57
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [case.0x14004320e.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 0x140015dea
mov qword [rbp - 0x19], r14
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x10]
call qword [case.0x14004320e.0]
lea r8, [rbp - 0x19]
lea rdx, [0x14004aad8]
mov rcx, rbx
mov rax, rdi
call qword [case.0x14004320e.0]
mov edi, eax
test eax, eax
jns 0x140015e0e
mov edx, 0x482
jmp 0x140015e54
mov rcx, qword [rbp - 0x19]
mov rax, qword [rcx]
lea rdx, [rbp - 0x21]
mov rax, qword [rax + 0x30]
call qword [case.0x14004320e.0]
mov edi, eax
test eax, eax
jns 0x140015e30
mov edx, 0x483
jmp 0x140015e54
mov rcx, qword [rbp - 0x21]
mov rax, qword [rcx]
lea rdx, [rbp - 0x39]
mov rax, qword [rax + 0x38]
call qword [case.0x14004320e.0]
mov edi, eax
test eax, eax
jns 0x140015fe5
mov edx, 0x484
mov r9d, eax
lea r8, str.onecoreenduserwindowsupdate_ruxim_ruximliblibonesettings.cpp
mov rcx, qword [rbp + 0x5f]
call fcn.140003b08
jmp 0x140015ff2
mov qword [rbp - 0x31], r14
mov qword [rbp - 0x29], r14
mov rcx, qword [rbp - 0x21]
mov rax, qword [rcx]
lea rdx, [rbp - 0x31]
mov rax, qword [rax + 0x30]
call qword [case.0x14004320e.0]
mov edi, eax
test eax, eax
js 0x1400160d3
mov rcx, qword [rbp - 0x31]
mov rax, qword [rcx]
lea rdx, [rbp + 7]
mov rax, qword [rax + 0x30]
call qword [case.0x14004320e.0]
mov edi, eax
test eax, eax
js 0x1400160cc
mov rcx, qword [rbp - 0x31]
mov rax, qword [rcx]
lea rdx, [rbp - 0x29]
mov rax, qword [rax + 0x38]
call qword [case.0x14004320e.0]
mov edi, eax
test eax, eax
js 0x1400160c5
mov rcx, qword [rbp - 0x29]
mov rax, qword [rcx]
lea rdx, [rbp - 9]
mov rax, qword [rax + 0x40]
call qword [case.0x14004320e.0]
mov edi, eax
test eax, eax
js 0x1400160be
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], r14w
jne 0x140015f1e
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 0x140016091
mov r8, rsi
lea rdx, str._OneSettings__SaveSettingsCacheToRegistry_:_Current_Setting_Key__s
xor ecx, ecx
call fcn.140009b0c
lea rdx, str.icspec
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 0x140015f91
mov rdx, qword [rbp - 9]
call fcn.140016500
mov rcx, qword [rbp - 0x21]
mov rax, qword [rcx]
lea rdx, [rbp - 0x39]
mov rax, qword [rax + 0x40]
call qword [case.0x14004320e.0]
mov edi, eax
test eax, eax
js 0x14001608a
mov rcx, qword [rbp - 0x29]
test rcx, rcx
je 0x140015fcb
mov qword [rbp - 0x29], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004320e.0]
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x140015fe5
mov qword [rbp - 0x31], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004320e.0]
cmp byte [rbp - 0x39], r14b
jne 0x140015e6c
mov edi, r14d
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x14001600d
mov qword [rbp - 0x21], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004320e.0]
nop
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x140016028
mov qword [rbp - 0x19], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004320e.0]
nop
test rbx, rbx
je 0x14001603e
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [case.0x14004320e.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.140009b0c
lea rcx, [rbp + 0x17]
call fcn.140008164
mov eax, edi
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.140041d90
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
mov edx, 0x4a9
jmp 0x1400160d8
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_ruxim_ruximliblibonesettings.cpp
mov edx, 0x49f
call fcn.140011b4c
mov edi, eax
jmp 0x1400160ec
mov edx, 0x492
jmp 0x1400160d8
mov edx, 0x491
jmp 0x1400160d8
mov edx, 0x490
jmp 0x1400160d8
mov edx, 0x48f
mov r9d, eax
lea r8, str.onecoreenduserwindowsupdate_ruxim_ruximliblibonesettings.cpp
mov rcx, qword [rbp + 0x5f]
call fcn.140003b08
nop
mov rcx, qword [rbp - 0x29]
test rcx, rcx
je 0x140016107
mov qword [rbp - 0x29], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004320e.0]
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x140015ff2
mov qword [rbp - 0x31], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004320e.0]
jmp 0x140015ff2