Function at 0x1800497c0
Capabilities:
Delete registry key
Set registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x2f]
sub rsp, 0x100
mov rax, qword [0x1800a98a0]
xor rax, rsp
mov qword [rbp + 0x1f], rax
cmp dword [rbp + 0x7f], 0
mov edi, ecx
mov dword [rsp + 0x50], edx
mov dword [rbp - 0x79], r8d
mov qword [rbp - 0x69], r9
je 0x180049869
mov ebx, 0x2e
lea r8, str.Control_PanelInput_MethodHot_Keys
mov edx, ebx
lea rcx, [rbp - 0x41]
call qword [sym.imp.ntdll.dll_wcscpy_s]
lea r8, [0x18008cdbc]
mov edx, ebx
lea rcx, [rbp - 0x41]
call qword [sym.imp.ntdll.dll_wcscat_s]
lea rdx, [rbp - 0x61]
mov ecx, edi
call fcn.180049a18
lea r8, [rbp - 0x61]
mov edx, ebx
lea rcx, [rbp - 0x41]
call qword [sym.imp.ntdll.dll_wcscat_s]
xor r9d, r9d
lea rdx, [rbp - 0x41]
xor r8d, r8d
mov rcx, 0xffffffff80000001
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegDeleteKeyExW]
test eax, eax
je 0x1800499f2
mov ecx, eax
call qword [sym.imp.ntdll.dll_RtlSetLastWin32Error]
xor eax, eax
jmp 0x1800499f7
mov rax, qword [str.Control_Panel]
mov rbx, 0xffffffff80000001
test rax, rax
je 0x1800498da
xor esi, esi
and qword [rsp + 0x40], 0
lea rcx, [rbp - 0x71]
mov qword [rsp + 0x38], rcx
xor r9d, r9d
and qword [rsp + 0x30], 0
xor r8d, r8d
mov dword [rsp + 0x28], 0x2001f
mov rdx, rax
and dword [rsp + 0x20], 0
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCreateKeyExW]
mov rcx, rbx
mov r14d, eax
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
test r14d, r14d
jne 0x180049930
mov rbx, qword [rbp - 0x71]
lea rax, str.Control_Panel
inc rsi
mov rax, qword [rax + rsi*8]
test rax, rax
jne 0x18004987e
lea rdx, [rbp - 0x61]
mov ecx, edi
call fcn.180049a18
and qword [rsp + 0x40], 0
lea rax, [rbp - 0x71]
mov qword [rsp + 0x38], rax
lea rdx, [rbp - 0x61]
and qword [rsp + 0x30], 0
xor r9d, r9d
mov dword [rsp + 0x28], 0x2001f
xor r8d, r8d
and dword [rsp + 0x20], 0
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCreateKeyExW]
mov rcx, rbx
mov esi, eax
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
test esi, esi
je 0x180049938
mov ecx, esi
jmp 0x18004985c
mov ecx, r14d
jmp 0x18004985c
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x79]
mov esi, 4
lea rdx, str.Virtual_Key
mov dword [rsp + 0x28], esi
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea r14d, [rsi - 1]
mov r9d, r14d
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov rcx, qword [rbp - 0x71]
mov ebx, eax
test eax, eax
je 0x180049997
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov r9, qword [rbp - 0x69]
mov ecx, edi
mov r8d, dword [rsp + 0x50]
mov edx, dword [rbp - 0x79]
mov dword [rsp + 0x20], 1
call fcn.1800497c0
mov ecx, ebx
jmp 0x18004985c
lea rax, [rsp + 0x50]
mov dword [rsp + 0x28], esi
mov r9d, r14d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, str.Key_Modifiers
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov rcx, qword [rbp - 0x71]
mov ebx, eax
test eax, eax
jne 0x18004996f
lea rax, [rbp - 0x69]
mov dword [rsp + 0x28], esi
mov r9d, r14d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, str.Target_IME
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov rcx, qword [rbp - 0x71]
mov ebx, eax
test eax, eax
jne 0x18004996f
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov eax, 1
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.180033470
add rsp, 0x100
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret