Function at 0x140012220
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x50
lea rax, [rbp + 0x18]
mov rbx, rcx
mov qword [rsp + 0x40], rax
lea rdx, str.SoftwarePkLongUniKey
lea rax, [rbp + 0x20]
xor r9d, r9d
mov qword [rsp + 0x38], rax
xor r8d, r8d
xor eax, eax
mov rcx, 0xffffffff80000001
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], eax
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x140012280
xor eax, eax
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret
mov rcx, qword [rbp + 0x20]
lea rdx, str.ShowDlg
mov dword [rsp + 0x28], 4
mov r9d, 4
xor r8d, r8d
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 4]
mov dword [rsp + 0x28], 4
lea rdx, str.Vietnamese
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 8]
mov dword [rsp + 0x28], 4
lea rdx, str.CodeTable
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 0xc]
mov dword [rsp + 0x28], 4
lea rdx, str.SwitchKey
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 0x10]
mov dword [rsp + 0x28], 4
lea rdx, str.InputMethod
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 0x14]
mov dword [rsp + 0x28], 4
lea rdx, str.FreeMarking
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 0x18]
mov dword [rsp + 0x28], 4
lea rdx, str.ModernStyle
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 0x1c]
mov dword [rsp + 0x28], 4
lea rdx, str.VietGUI
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 0x20]
mov dword [rsp + 0x28], 4
lea rdx, str.InConvCharset
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 0x24]
mov dword [rsp + 0x28], 4
lea rdx, str.OutConvCharset
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea rax, [rbx + 0x28]
mov dword [rsp + 0x28], 4
mov rcx, qword [rbp + 0x20]
lea rdx, str.ClipboardConvert
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 0x2c]
mov dword [rsp + 0x28], 4
lea rdx, str.MacroEnabled
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 0x40]
mov dword [rsp + 0x28], 4
lea rdx, str.AutoNonVnRestore
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 0x30]
mov dword [rsp + 0x28], 4
lea rdx, str.UseUnicodeClipboard
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 0x34]
mov dword [rsp + 0x28], 4
lea rdx, str.AlwaysMacro
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 0x38]
mov dword [rsp + 0x28], 4
lea rdx, str.UseIME
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 0x3c]
mov dword [rsp + 0x28], 4
lea rdx, str.SpellCheckEnabled
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 0x44]
mov dword [rsp + 0x28], 4
lea rdx, str.AutoUpdate
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 0x48]
mov dword [rsp + 0x28], 4
lea rdx, str.Notification
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 0x4c]
mov dword [rsp + 0x28], 4
lea rdx, str.AutoUpcaseMacro
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea rax, [rbx + 0x50]
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp + 0x20]
lea rdx, str.SoundOnSwitch
mov r9d, 4
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
lea rax, [rbx + 0x54]
mov dword [rsp + 0x28], 4
lea rdx, str.PerAppMode
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea rcx, [rbx + 0x58]
mov rax, 0xffffffffffffffff
nop dword [rax]
cmp word [rcx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x140012640
lea eax, [rax*2 + 2]
mov r9d, 1
mov dword [rsp + 0x28], eax
lea rdx, str.MacroPath
mov qword [rsp + 0x20], rcx
xor r8d, r8d
mov rcx, qword [rbp + 0x20]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x20]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [rbx + 0x268]
call fcn.140011890
mov rbx, qword [rsp + 0x60]
mov eax, 1
add rsp, 0x50
pop rbp
ret