Function at 0x140017b00
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 [0x14006c100]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rdi, rcx
movdqa xmm0, xmmword [0x14005a0c0]
movdqu xmmword [rbp + 0x27], xmm0
xor r14d, r14d
mov word [rbp + 0x17], r14w
lea rdx, str._OneSettingsCustomClient__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], 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 rdx, [rdi + 0x80]
cmp qword [rdx + 0x18], 8
jb 0x140017b9d
mov rdx, qword [rdx]
lea rax, [rbp - 0x11]
mov qword [rsp + 0x20], rax
mov r9d, 0xf003f
xor r8d, r8d
mov rcx, qword [rdi + 0x1a0]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
nop dword [rax + rax]
test eax, eax
je 0x140017be5
mov rcx, qword [rbp + 0x5f]
mov r9d, eax
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettingscustomclient.cpp
mov edx, 0x3fc
call fcn.14000dee8
mov edi, eax
jmp 0x140017e42
mov rdi, qword [rdi + 0x1c8]
test rdi, rdi
jne 0x140017c03
mov edi, 0x80004004
mov r9d, edi
mov edx, 0x3fe
jmp 0x140017ca7
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 0x140017c3a
mov qword [rbp - 0x19], r14
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 0x140017c5e
mov edx, 0x401
jmp 0x140017ca4
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 0x140017c80
mov edx, 0x402
jmp 0x140017ca4
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 0x140017e35
mov edx, 0x403
mov r9d, eax
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettingscustomclient.cpp
mov rcx, qword [rbp + 0x5f]
call fcn.140003c18
jmp 0x140017e42
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.0x14004c5fe.0]
mov edi, eax
test eax, eax
js 0x140017f23
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 0x140017f1c
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 0x140017f15
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 0x140017f0e
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 0x140017d6e
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 0x140017ee1
mov r8, rsi
lea rdx, str._OneSettingsCustomClient__SaveSettingsCacheToRegistry_:_Current_Setting_Key__s
xor ecx, ecx
call fcn.14000972c
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 0x140017de1
mov rdx, qword [rbp - 9]
call fcn.140018364
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 0x140017eda
mov rcx, qword [rbp - 0x29]
test rcx, rcx
je 0x140017e1b
mov qword [rbp - 0x29], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c5fe.0]
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x140017e35
mov qword [rbp - 0x31], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c5fe.0]
cmp byte [rbp - 0x39], r14b
jne 0x140017cbc
mov edi, r14d
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x140017e5d
mov qword [rbp - 0x21], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c5fe.0]
nop
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x140017e78
mov qword [rbp - 0x19], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c5fe.0]
nop
test rbx, rbx
je 0x140017e8e
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 rsp, r11
pop r14
pop rdi
pop rbp
ret
mov edx, 0x428
jmp 0x140017f28
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_ruximplugliblibonesettingscustomclient.cpp
mov edx, 0x41e
call fcn.140014128
mov edi, eax
jmp 0x140017f3c
mov edx, 0x411
jmp 0x140017f28
mov edx, 0x410
jmp 0x140017f28
mov edx, 0x40f
jmp 0x140017f28
mov edx, 0x40e
mov r9d, eax
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettingscustomclient.cpp
mov rcx, qword [rbp + 0x5f]
call fcn.140003c18
nop
mov rcx, qword [rbp - 0x29]
test rcx, rcx
je 0x140017f57
mov qword [rbp - 0x29], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c5fe.0]
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x140017e42
mov qword [rbp - 0x31], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c5fe.0]
jmp 0x140017e42