Function at 0x14014d8a0
Capabilities:
Log keystrokes via input method manager

Disassembly:
push rbx
push rdi
push r12
push r13
sub rsp, 0x158
mov rax, qword [0x140209b48]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rdi, rcx
mov rcx, qword [rdx]
mov rbx, rdx
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
mov r12d, eax
add eax, 0xfffffbee
cmp eax, 0xd4
ja case.0x14014d900.1043
lea r13, [0x140000000]
movsxd rdx, eax
movzx edx, byte [r13 + rdx + 0x14dc20]
mov r8d, dword [r13 + rdx*4 + 0x14dbfc]
add r8, r13
jmp r8
cmp qword [rbx + 0x10], 0x2e
jne case.0x14014d900.1043
mov rcx, rdi
call fcn.140149bf0
mov eax, 1
jmp 0x14014da87
cmp qword [rbx + 0x10], 0x2e
jne case.0x14014d900.1043
mov rcx, rdi
call fcn.140149d30
mov eax, 1
jmp 0x14014da87
mov rax, qword [rbx + 0x10]
cmp rax, 0x2e
jne 0x14014d959
mov rcx, rdi
call fcn.140148cb0
mov eax, 1
jmp 0x14014da87
cmp rax, 0x71
jne case.0x14014d900.1043
mov rcx, rdi
call fcn.14014d810
mov eax, 1
jmp 0x14014da87
mov rax, qword [rbx + 0x10]
cmp rax, 0x2e
jne 0x14014d991
mov rcx, rdi
call fcn.140148750
mov eax, 1
jmp 0x14014da87
cmp rax, 0x71
jne case.0x14014d900.1043
mov rcx, qword [rdi + 0x88]
mov edx, 0x4b7
call qword [sym.imp.USER32.dll_GetDlgItem]
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
mov edx, 0x188
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rdi
mov rdx, rax
call fcn.1401488b0
mov eax, 1
jmp 0x14014da87
mov rax, qword [rbx + 0x10]
cmp rax, 0x2e
jne 0x14014d9ee
mov rcx, rdi
call fcn.1401461a0
mov eax, 1
jmp 0x14014da87
cmp rax, 0x71
jne case.0x14014d900.1043
mov rcx, rdi
call fcn.140146390
xor eax, eax
jmp 0x14014da87
mov rax, qword [rbx + 0x10]
cmp rax, 0x2e
jne 0x14014da1c
mov rcx, rdi
call fcn.140141ff0
mov eax, 1
jmp 0x14014da87
cmp rax, 0x71
jne case.0x14014d900.1043
lea edx, [rax - 0x70]
mov rcx, rdi
call fcn.140148510
mov eax, 1
jmp 0x14014da87
mov qword [rsp + 0x190], rbp
mov qword [rsp + 0x150], rsi
call fcn.1400e0270
mov esi, dword [rbx + 0x10]
mov ebp, eax
lea eax, [rsi - 8]
cmp eax, 0xdd
ja case.0x14014da6f.12
movsxd rcx, eax
movzx ecx, byte [r13 + rcx + 0x14dd0c]
mov edx, dword [r13 + rcx*4 + 0x14dcf8]
add rdx, r13
jmp rdx
test ebp, ebp
jne case.0x14014da6f.12
xor eax, eax
mov rbp, qword [rsp + 0x190]
mov rsi, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.1401a6ae0
add rsp, 0x158
pop r13
pop r12
pop rdi
pop rbx
ret
test ebp, ebp
jne case.0x14014da6f.12
xor esi, esi
jmp case.0x14014da6f.12
mov rcx, qword [rbx]
call sub.IMM32.dll_ImmGetVirtualKey
mov esi, eax
mov eax, r12d
sub eax, 0x48c
je 0x14014daeb
sub eax, 1
je 0x14014dadb
cmp eax, 1
jne 0x14014daf9
mov byte [rdi + 0x260], bpl
mov byte [rdi + 0x261], sil
jmp 0x14014daf9
mov byte [rdi + 0x25c], bpl
mov byte [rdi + 0x25d], sil
jmp 0x14014daf9
mov byte [rdi + 0x25e], bpl
mov byte [rdi + 0x25f], sil
mov r9d, r12d
mov r8d, esi
mov edx, ebp
mov rcx, rdi
call fcn.140142da0
mov rcx, qword [rbx]
mov r8d, esi
mov edx, ebp
call fcn.1400e0d90
mov rcx, qword [rbx]
call fcn.1400db480
mov rcx, qword [rdi]
mov edx, 0x3e9
call fcn.1400d4b70
mov eax, 1
jmp 0x14014da77
call fcn.1400e0270
cmp qword [rbx + 0x10], 0xe5
mov edi, eax
jne 0x14014db5e
mov rcx, qword [rbx]
call sub.IMM32.dll_ImmGetVirtualKey
mov r11d, eax
cmp r11, 0xe5
mov qword [rbx + 0x10], r11
je 0x14014db46
mov rax, qword [rbx + 0x10]
add rax, 0xfffffffffffffff0
cmp rax, 0x95
ja case.0x14014db82.17
movzx eax, byte [r13 + rax + 0x14ddf4]
mov ecx, dword [r13 + rax*4 + 0x14ddec]
add rcx, r13
jmp rcx
lea rcx, [rsp + 0x20]
call fcn.1400012c0
mov r9d, dword [rbx + 0x10]
lea rcx, [rsp + 0x20]
mov r8d, edi
xor edx, edx
call fcn.1400cb780
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rbx]
call fcn.1400d4930
lea rcx, [rsp + 0x20]
call fcn.140175010
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.1400d7640
mov ecx, dword [rbx + 0x10]
and dword [rax + 8], 0xf0
or dword [rax + 8], edi
mov dword [rax + 0xc], ecx
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.140147cc0
mov rcx, qword [rbx]
call fcn.1400db480
mov eax, 1
jmp 0x14014da87