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

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x278]
sub rsp, 0x348
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
mov rax, qword [0x1803964c0]
xor rax, rsp
mov qword [rbp + 0x1f0], rax
mov r13d, dword [rbp + 0x2a8]
mov r10, rdx
mov rdi, qword [rbp + 0x2a0]
mov r15, rcx
mov r12, qword [rbp + 0x2b8]
mov qword [rbp - 0x68], rdx
mov rdx, qword [rbp + 0x2c0]
lea ebx, [r13 + 0xa8a]
mov qword [rbp + 0x20], rcx
mov rcx, qword [rbp + 0x2b0]
mov qword [rbp - 0x58], r9
mov qword [rbp - 0x60], r8
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rdx
mov dword [rbp - 0x80], ebx
cmp r13d, ebx
jae 0x180015156
movsd xmm7, qword [0x180377930]
xor r11d, r11d
movsd xmm8, qword [0x180377090]
mov r14, qword [rbp - 8]
movsd xmm6, qword [rbp - 8]
mov rbx, qword [rbp - 0x40]
mov rsi, qword [rbp - 0x10]
mov eax, dword [rbp - 0x80]
nop word [rax + rax]
cmp r13d, 0x1d3
ja 0x1800150ec
je 0x1800150db
cmp r13d, 0xf9
ja 0x180014c28
je 0x180014c08
mov eax, r13d
sub eax, 0x29
je 0x180014bfb
sub eax, 0x42
je 0x180014bc0
sub eax, 2
je 0x180014b01
cmp eax, 0x4a
jne 0x1800153af
movsxd r14, dword [r12 + 0x68]
lea r9, [rbp - 0x38]
mov qword [rsp + 0x48], r11
lea rcx, [rbp - 0x30]
mov dword [rsp + 0x40], 0x4b
inc r14
mov qword [rsp + 0x38], r11
xor r8d, r8d
mov qword [rsp + 0x30], r11
xor edx, edx
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x20], rdi
mov qword [rbp - 0x30], 4
mov qword [rbp - 0x38], r14
call fcn.180082cd0
mov rsi, rax
mov qword [rbp - 0x10], rax
xor eax, eax
mov qword [rbp - 0x30], 4
mov qword [rsp + 0x48], rax
lea r9, [rbp - 0x38]
mov dword [rsp + 0x40], 0x4b
lea rcx, [rbp - 0x30]
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov qword [rsp + 0x30], rax
xor edx, edx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov qword [rbp - 0x38], r14
call fcn.180082cd0
mov qword [rbp - 0x30], rax
lea r9, [rbp - 0x38]
xor eax, eax
mov qword [rbp - 0x40], 4
mov qword [rsp + 0x48], rax
lea rcx, [rbp - 0x40]
mov dword [rsp + 0x40], 0x4b
xor r8d, r8d
mov qword [rsp + 0x38], rax
xor edx, edx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov qword [rbp - 0x38], r14
call fcn.180082cd0
mov r10, qword [rbp - 0x68]
xor r11d, r11d
mov r8, qword [rbp - 0x60]
mov r9, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov qword [rbp - 0x38], rax
jmp 0x1800153af
movsd xmm6, qword [r9]
lea rax, [rbp + 0x50]
movsd xmm0, qword [rdi]
subsd xmm6, xmm7
movsd xmm1, qword [r12]
lea r9, [rbp - 0x70]
mov qword [rsp + 0x88], rax
xor r8d, r8d
mov qword [rsp + 0x80], r11
lea rax, [rbp - 0x40]
mov qword [rsp + 0x78], r11
xor edx, edx
addsd xmm6, qword [rcx]
mov qword [rsp + 0x70], r11
xor ecx, ecx
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], 0xfa
movsd qword [rbp - 0x70], xmm0
movsd qword [rbp - 0x40], xmm1
divsd xmm6, xmm8
call fcn.180091600
mov r8d, 0x45
lea rdx, [rbp + 0x38]
lea rcx, [rbp + 0xe0]
call fcn.1800a9010
mov r10, qword [rbp - 0x68]
xor r11d, r11d
mov r8, qword [rbp - 0x60]
mov r9, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
jmp 0x1800153af
mov eax, 0x61
mov dword [rbp + 0x1d0], 0x730073
mov word [rbp + 0x1d8], ax
mov eax, 0x32
mov word [rbp + 0x1de], ax
mov dword [rbp + 0x1d4], 0x65006c
mov dword [rbp + 0x1da], 0x330079
jmp 0x1800153af
mov eax, dword [r12 + 0x70]
mov dword [rbp - 0x28], eax
jmp 0x1800153af
mov r11d, 0x6c
mov dword [rbp + 0x1e0], 0x64002e
mov word [rbp + 0x1e4], r11w
xor r11d, r11d
jmp 0x1800153b2
mov eax, r13d
sub eax, 0xfb
je 0x1800150a2
sub eax, 0x4a
je 0x180014cb9
sub eax, 0x42
je 0x180014c9b
cmp eax, 2
jne 0x1800153af
lea r9, [rbp + 0x68]
movsd qword [rbp - 0x70], xmm6
mov r8d, 0x9b
mov qword [rsp + 0x20], r11
lea rdx, [rbp + 0x38]
lea rcx, [rbp - 0x70]
call fcn.1800bdd00
lea r8, [rbp + 0x180]
mov ecx, 0x2e
lea rdx, [rbp + 0x68]
call fcn.1800863b0
mov r10, qword [rbp - 0x68]
xor r11d, r11d
mov r8, qword [rbp - 0x60]
mov r9, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
jmp 0x1800153af
mov dword [rbp + 0x1e6], 0x6c
mov qword [rbp + 8], r11
mov qword [rbp + 0x18], r11
mov dword [rbp - 0x20], 0x80
jmp 0x1800153af
movsxd r15, dword [rbp - 0x28]
lea r9, [rbp - 0x70]
mov qword [rsp + 0x48], r11
lea rcx, [rbp - 0x40]
mov dword [rsp + 0x40], 0x4b
xor r8d, r8d
mov qword [rsp + 0x38], r11
xor edx, edx
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x20], rdi
mov qword [rbp - 0x40], 4
mov qword [rbp - 0x70], r15
call fcn.180082cd0
cmp dword [rdi + 0x7ec], 0
mov rbx, rax
mov qword [rbp - 0x40], rax
jge 0x18001506a
mov esi, 0x51
cmp esi, 0x51
je 0x180014d2b
cmp esi, 0x6a5
je 0x180015156
jmp 0x180015050
mov qword [rbp - 0x78], 4
mov ebx, 0x118
mov qword [rbp - 0x70], r14
nop dword [rax]
mov eax, ebx
sub eax, 0xd6
je 0x180014d5b
sub eax, 0x42
je 0x180014daf
cmp eax, 0x18d2
je 0x180014df5
jmp 0x180014d9f
mov r8d, 0xf3
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x78]
call fcn.180098760
xor eax, eax
xor r9d, r9d
mov qword [rsp + 0x40], rax
xor r8d, r8d
mov qword [rsp + 0x38], rax
xor edx, edx
mov qword [rsp + 0x30], rax
mov ecx, 0xad
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
call fcn.18008cd90
add ebx, 0x20d0
cmp ebx, 0x6270
jbe 0x180014d40
jmp 0x180014df5
cmp dword [rdi + 0x7e0], 0
jne 0x180014deb
cmp dword [rdi + 0x7e4], 0
jne 0x180014deb
mov rax, qword [rbp - 0x10]
test rax, rax
je 0x180014df5
mov rcx, rax
call qword [rdi + 0x768]
mov rax, qword [rbp - 0x78]
dec qword [rdi + 0x810]
imul rax, r14
sub qword [rdi + 0x820], rax
jmp 0x180014df5
mov dword [rdi + 0x7ec], 0xfffffffc
mov qword [rbp - 0x78], 4
mov ebx, 0x118
mov qword [rbp - 0x70], r14
mov eax, ebx
sub eax, 0xd6
je 0x180014e21
sub eax, 0x42
je 0x180014e75
cmp eax, 0x18d2
je 0x180014ebb
jmp 0x180014e65
mov r8d, 0xf3
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x78]
call fcn.180098760
xor eax, eax
xor r9d, r9d
mov qword [rsp + 0x40], rax
xor r8d, r8d
mov qword [rsp + 0x38], rax
xor edx, edx
mov qword [rsp + 0x30], rax
mov ecx, 0xad
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
call fcn.18008cd90
add ebx, 0x20d0
cmp ebx, 0x6270
jbe 0x180014e06
jmp 0x180014ebb
cmp dword [rdi + 0x7e0], 0
jne 0x180014eb1
cmp dword [rdi + 0x7e4], 0
jne 0x180014eb1
mov rax, qword [rbp - 0x30]
test rax, rax
je 0x180014ebb
mov rcx, rax
call qword [rdi + 0x768]
mov rax, qword [rbp - 0x78]
dec qword [rdi + 0x810]
imul rax, r14
sub qword [rdi + 0x820], rax
jmp 0x180014ebb
mov dword [rdi + 0x7ec], 0xfffffffc
mov qword [rbp - 0x78], 4
mov ebx, 0x118
mov qword [rbp - 0x70], r14
nop dword [rax]
mov eax, ebx
sub eax, 0xd6
je 0x180014eeb
sub eax, 0x42
je 0x180014f3f
cmp eax, 0x18d2
je 0x180014f85
jmp 0x180014f2f
mov r8d, 0xf3
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x78]
call fcn.180098760
xor eax, eax
xor r9d, r9d
mov qword [rsp + 0x40], rax
xor r8d, r8d
mov qword [rsp + 0x38], rax
xor edx, edx
mov qword [rsp + 0x30], rax
mov ecx, 0xad
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
call fcn.18008cd90
add ebx, 0x20d0
cmp ebx, 0x6270
jbe 0x180014ed0
jmp 0x180014f85
cmp dword [rdi + 0x7e0], 0
jne 0x180014f7b
cmp dword [rdi + 0x7e4], 0
jne 0x180014f7b
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x180014f85
mov rcx, rax
call qword [rdi + 0x768]
mov rax, qword [rbp - 0x78]
dec qword [rdi + 0x810]
imul rax, r14
sub qword [rdi + 0x820], rax
jmp 0x180014f85
mov dword [rdi + 0x7ec], 0xfffffffc
mov qword [rbp - 0x78], 4
mov ebx, 0x118
mov qword [rbp - 0x70], r15
mov eax, ebx
sub eax, 0xd6
je 0x180014fb1
sub eax, 0x42
je 0x180015005
cmp eax, 0x18d2
je 0x18001504b
jmp 0x180014ff5
mov r8d, 0xf3
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x78]
call fcn.180098760
xor eax, eax
xor r9d, r9d
mov qword [rsp + 0x40], rax
xor r8d, r8d
mov qword [rsp + 0x38], rax
xor edx, edx
mov qword [rsp + 0x30], rax
mov ecx, 0xad
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
call fcn.18008cd90
add ebx, 0x20d0
cmp ebx, 0x6270
jbe 0x180014f96
jmp 0x18001504b
cmp dword [rdi + 0x7e0], 0
jne 0x180015041
cmp dword [rdi + 0x7e4], 0
jne 0x180015041
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x18001504b
mov rcx, rax
call qword [rdi + 0x768]
dec qword [rdi + 0x810]
mov rax, r15
imul rax, qword [rbp - 0x78]
sub qword [rdi + 0x820], rax
jmp 0x18001504b
mov dword [rdi + 0x7ec], 0xfffffffc
xor eax, eax
mov dword [rbp - 0x78], eax
add esi, 0x654
cmp esi, 0xca8
jbe 0x180014d15
mov rbx, qword [rbp - 0x40]
mov rsi, qword [rbp - 0x10]
mov r15, qword [rbp + 0x20]
xor r11d, r11d
mov r10, qword [rbp - 0x68]
mov r8, qword [rbp - 0x60]
mov r9, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov qword [r12 + 0x80], r11
mov qword [r12 + 0x88], r11
mov qword [r12 + 0x90], rsi
jmp 0x1800153af
lea r9, [rbp + 0xe0]
mov r8d, 0x10d
lea rdx, [rbp + 0x38]
lea rcx, [rbp + 0x80]
call fcn.180026a00
mov r10, qword [rbp - 0x68]
xor r11d, r11d
mov r8, qword [rbp - 0x60]
mov r9, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
jmp 0x1800153af
mov rax, qword [rbp - 0x30]
mov qword [r12 + 0x98], rax
jmp 0x1800153af
cmp r13d, 0x2a5
ja 0x1800152dc
je 0x18001528d
mov eax, r13d
sub eax, 0x215
je 0x180015242
sub eax, 2
je 0x1800151ba
sub eax, 0x4a
je 0x18001518f
cmp eax, 0x42
jne 0x1800153af
mov r9d, dword [rbp - 0x24]
xor r8d, r8d
mov edx, dword [rbp - 0x20]
mov rcx, qword [rbp + 8]
call sub.IMM32.dll_ImmGetCompositionStringW
mov r8d, dword [rbp - 0x18]
lea r9, [rbp - 0x1c]
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x18]
call sub.IMM32.dll_ImmEscapeA
call qword [rbp - 8]
cmp eax, 1
sete byte [rbp - 0x78]
mov eax, dword [rbp - 0x78]
mov rcx, qword [rbp + 0x1f0]
xor rcx, rsp
call fcn.18012c9a0
lea r11, [rsp + 0x348]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [rbp - 0x38]
mov qword [r12 + 0xa0], rax
mov qword [r12 + 0xa8], rbx
mov dword [rbx], 0xffffffff
mov dword [r12 + 0xb8], 1
jmp 0x1800153af
lea r9, [rbp + 0x180]
mov ecx, 0x18
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0x130]
call fcn.18006a3e0
lea rax, [rbp + 0x50]
mov dword [rsp + 0x30], 0x85
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0xb0]
lea rax, [rbp + 0x130]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
xor ecx, ecx
call fcn.1800b0880
mov r9d, 0x4e
lea r8, [rbp + 0x80]
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x98]
call fcn.1800bba80
mov r10, qword [rbp - 0x68]
xor r11d, r11d
mov r8, qword [rbp - 0x60]
mov r9, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
jmp 0x1800153af
mov edx, 0xb7
mov qword [rbp + 0x10], r11
lea rcx, [rbp + 0x1d0]
mov dword [rbp - 0x18], 3
mov dword [rbp - 0x24], r11d
lea r8d, [rdx - 0x5f]
call fcn.180068a70
mov r10, qword [rbp - 0x68]
xor r11d, r11d
mov r8, qword [rbp - 0x60]
mov r9, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov qword [rbp - 8], rax
mov dword [rbp - 0x1c], 0x100b
jmp 0x1800153af
lea rax, [rbp + 0x98]
mov dword [rsp + 0x30], 0x85
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0xc8]
lea rax, [rbp + 0x130]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
xor ecx, ecx
call fcn.1800b0880
mov r10, qword [rbp - 0x68]
xor r11d, r11d
mov r8, qword [rbp - 0x60]
mov r9, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
jmp 0x1800153af
mov eax, r13d
sub eax, 0x2ef
je 0x180015387
sub eax, 0x44
je 0x180015306
sub eax, 0x4a
je 0x180015156
cmp eax, 0x44
je 0x180015156
jmp 0x1800153af
mov qword [rsp + 0x38], r8
lea rax, [rbp + 0x28]
mov qword [rsp + 0x30], rdx
lea r9, [rbp + 0x30]
mov qword [rsp + 0x28], rax
lea r8, [rbp]
lea rax, [rbp + 0xb0]
mov edx, 0x12b
mov rcx, r10
mov qword [rsp + 0x20], rax
call fcn.1800ba6a0
movsd xmm0, qword [rbp]
xor eax, eax
mov qword [rsp + 0x30], rax
xor r9d, r9d
lea rax, [rbp - 0x70]
movsd qword [rbp - 0x70], xmm0
mov qword [rsp + 0x28], rax
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], 0x56
xor ecx, ecx
call fcn.1800874f0
mov r10, qword [rbp - 0x68]
xor r11d, r11d
mov r8, qword [rbp - 0x60]
mov r9, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov qword [r15], rax
jmp 0x1800153af
mov rax, qword [r12]
mov qword [r12 + 8], rax
mov dword [r12 + 0xb4], 1
mov qword [r12 + 0xc4], 0
mov dword [rbp - 0x78], 1
mov eax, dword [rbp - 0x80]
add r13d, 0x8e
cmp r13d, eax
jb 0x1800149c0
jmp 0x180015156