Function at 0x140017e50
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 [0x14006c0f0]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rdi, rcx
movdqa xmm0, xmmword [0x14005a0b0]
movdqu xmmword [rbp + 0x27], xmm0
xor r14d, r14d
mov word [rbp + 0x17], r14w
lea rdx, str._OneSettingsCustomClient__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], 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 0x140017eed
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 0x140017f35
mov rcx, qword [rbp + 0x5f]
mov r9d, eax
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettingscustomclient.cpp
mov edx, 0x3fc
call fcn.14000e238
mov edi, eax
jmp 0x140018192
mov rdi, qword [rdi + 0x1c8]
test rdi, rdi
jne 0x140017f53
mov edi, 0x80004004
mov r9d, edi
mov edx, 0x3fe
jmp 0x140017ff7
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 0x140017f8a
mov qword [rbp - 0x19], r14
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 0x140017fae
mov edx, 0x401
jmp 0x140017ff4
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 0x140017fd0
mov edx, 0x402
jmp 0x140017ff4
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 0x140018185
mov edx, 0x403
mov r9d, eax
lea r8, str.onecoreenduserwindowsupdate_ruximplugliblibonesettingscustomclient.cpp
mov rcx, qword [rbp + 0x5f]
call fcn.140003c18
jmp 0x140018192
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.0x14004c94e.0]
mov edi, eax
test eax, eax
js 0x140018273
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 0x14001826c
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 0x140018265
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 0x14001825e
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 0x1400180be
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 0x140018231
mov r8, rsi
lea rdx, str._OneSettingsCustomClient__SaveSettingsCacheToRegistry_:_Current_Setting_Key__s
xor ecx, ecx
call fcn.140009a7c
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 0x140018131
mov rdx, qword [rbp - 9]
call fcn.1400186b4
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 0x14001822a
mov rcx, qword [rbp - 0x29]
test rcx, rcx
je 0x14001816b
mov qword [rbp - 0x29], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c94e.0]
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x140018185
mov qword [rbp - 0x31], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c94e.0]
cmp byte [rbp - 0x39], r14b
jne 0x14001800c
mov edi, r14d
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x1400181ad
mov qword [rbp - 0x21], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c94e.0]
nop
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x1400181c8
mov qword [rbp - 0x19], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c94e.0]
nop
test rbx, rbx
je 0x1400181de
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 rsp, r11
pop r14
pop rdi
pop rbp
ret
mov edx, 0x428
jmp 0x140018278
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.140014478
mov edi, eax
jmp 0x14001828c
mov edx, 0x411
jmp 0x140018278
mov edx, 0x410
jmp 0x140018278
mov edx, 0x40f
jmp 0x140018278
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 0x1400182a7
mov qword [rbp - 0x29], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c94e.0]
nop
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x140018192
mov qword [rbp - 0x31], r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14004c94e.0]
jmp 0x140018192