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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rdi
sub rsp, 0x110
mov edi, r8d
add r8d, 0x854
mov dword [rsp + 0x130], r8d
cmp edi, r8d
jae 0x180059908
mov qword [rax - 0x10], rbx
xor r10d, r10d
mov rbx, qword [rsp + 0x60]
mov qword [rax - 0x18], rbp
mov rbp, qword [rsp + 0x98]
mov qword [rax - 0x20], rsi
mov rsi, qword [rsp + 0x150]
mov qword [rax - 0x28], r12
mov r12, qword [rsp + 0x148]
mov qword [rax - 0x30], r13
mov r13, qword [rsp + 0x140]
mov qword [rax - 0x38], r14
mov r14d, dword [rsp + 0x130]
mov qword [rax - 0x40], r15
movzx r15d, byte [rsp + 0x130]
lea r11, str.operator
cmp edi, 0x1c7
ja 0x18005976e
je 0x1800598c4
cmp edi, 0x123
ja 0x180059740
je 0x180059637
mov eax, edi
sub eax, 0x18
je 0x180059627
sub eax, 0x8c
je 0x1800595e1
cmp eax, 0x18
jne 0x18005989c
mov qword [rsp + 0x90], r10
mov dword [rsp + 0x84], 0x13
jmp 0x18005989c
lea r9, [rsp + 0x68]
mov dword [rsp + 0x58], 0x18
xor r8d, r8d
mov dword [rsp + 0x68], 9
mov edx, 0xb5
lea rcx, [rsp + 0x58]
call fcn.1800ae470
mov rcx, rsi
mov qword [rsp + 0x58], rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov rcx, qword [rsp + 0x58]
xor r10d, r10d
mov qword [rcx + 0x10], rax
jmp 0x180059894
mov r15b, 1
mov qword [rsp + 0x98], r10
jmp 0x18005989c
mov eax, dword [r9]
cmp eax, 0xe
jne 0x180059659
mov eax, dword [rdx]
mov r14d, r10d
cmp dword [rcx], eax
sete r14b
mov dword [rsp + 0x60], r14d
mov rbx, qword [rsp + 0x60]
jmp 0x18005989c
cmp eax, 0xf
jne 0x180059678
mov eax, dword [rdx]
mov r14d, r10d
cmp dword [rcx], eax
setne r14b
mov dword [rsp + 0x60], r14d
mov rbx, qword [rsp + 0x60]
jmp 0x18005989c
mov ebx, 0xa9
nop dword [rax]
cmp ebx, 0xa9
je 0x1800596c5
cmp ebx, 0x12f
jne 0x180059717
mov r8d, dword [r13]
mov r9d, 9
mov dword [rsp + 0x38], 6
mov rdx, r12
mov qword [rsp + 0x30], rbp
mov rcx, rsi
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], 3
call fcn.18004d440
jmp 0x180059705
mov eax, dword [r9]
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x40], r10
xor r9d, r9d
mov qword [rsp + 0x38], r10
xor r8d, r8d
mov qword [rsp + 0x30], r10
xor edx, edx
mov dword [rsp + 0x70], eax
lea rax, [rsp + 0x70]
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x20], rax
call fcn.18004df90
mov rbp, qword [rax]
mov r9, qword [rsp + 0x138]
lea r11, str.operator
xor r10d, r10d
add ebx, 0x86
cmp ebx, 0x1b5
jb 0x180059680
mov r8d, dword [rsp + 0x130]
mov dword [rsp + 0x60], r14d
mov rbx, qword [rsp + 0x60]
jmp 0x18005989c
mov eax, edi
sub eax, 0x148
je 0x18005975f
cmp eax, 0x18
jne 0x18005989c
mov dword [rsp + 0x50], 0x80
jmp 0x18005989c
mov rbx, qword [rsp + 0x58]
mov qword [rsp + 0x60], rbx
jmp 0x18005989c
cmp edi, 0x34c
ja 0x1800597dc
je 0x1800597b4
mov eax, edi
sub eax, 0x1ec
je 0x1800598c4
sub eax, 0x18
je 0x1800597a4
cmp eax, 0xa4
jne 0x18005989c
mov dword [rsp + 0x78], r10d
mov dword [rsp + 0x7c], r10d
jmp 0x18005989c
mov dword [rsp + 0x80], 4
jmp 0x18005989c
mov r9d, dword [rsp + 0x78]
xor r8d, r8d
mov edx, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x90]
call sub.IMM32.dll_ImmGetCompositionStringW
mov dword [rsp + 0x88], eax
xor r10d, r10d
jmp 0x180059894
cmp edi, 0x3f0
je 0x18005985d
cmp edi, 0x494
jne 0x18005989c
test r15b, r15b
je 0x180059829
mov rcx, qword [rsp + 0x90]
xor r9d, r9d
mov dword [rsp + 0x28], r10d
xor r8d, r8d
mov qword [rsp + 0x20], r10
lea edx, [r9 + 0x12]
call sub.IMM32.dll_ImmSetCompositionStringW
mov r8d, dword [rsp + 0x130]
xor r10d, r10d
mov dword [rsp + 0x50], 0x12
mov rdx, qword [0x1800fa848]
cmp rdx, qword [0x1800fa850]
je 0x180059849
mov rax, qword [rsi]
mov qword [rdx], rax
add qword [0x1800fa848], 8
jmp 0x18005989c
mov r8, rsi
lea rcx, [0x1800fa840]
call fcn.180001440
xor r10d, r10d
jmp 0x180059894
mov r9d, dword [rsp + 0x7c]
mov r8d, dword [rsp + 0x80]
mov edx, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x98]
call sub.IMM32.dll_ImmNotifyIME
cmp dword [rsp + 0x88], 0
mov r10d, 0
movzx r15d, r15b
cmove r15d, r10d
mov r8d, dword [rsp + 0x130]
add edi, 0xa4
cmp edi, r8d
jae 0x1800598c4
mov r9, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x120]
jmp 0x180059587
mov r14, qword [rsp + 0xe0]
mov rax, rbx
mov rbx, qword [rsp + 0x108]
mov r13, qword [rsp + 0xe8]
mov r12, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0xf8]
mov rbp, qword [rsp + 0x100]
mov r15, qword [rsp + 0xd8]
add rsp, 0x110
pop rdi
ret
mov rax, qword [rsp + 0x60]
add rsp, 0x110
pop rdi
ret