Function at 0x140054e7c
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rdi, rdx
mov eax, 0x105
mov edx, dword [rdx + 8]
mov rsi, rcx
cmp edx, eax
ja 0x1400551dc
je 0x1400550e1
cmp edx, 0x7b
je 0x140055030
cmp edx, 0xa0
jbe 0x14005500e
cmp edx, 0xa2
jbe 0x140054fe2
cmp edx, 0xa3
jbe 0x14005500e
cmp edx, 0xa5
jbe 0x140054fe2
cmp edx, 0xa6
jbe 0x14005500e
cmp edx, 0xa8
jbe 0x140054fe2
cmp edx, 0x100
je 0x140054f45
cmp edx, 0x104
jne 0x14005500e
mov rcx, qword [rcx + 0x710]
test rcx, rcx
je 0x140055030
mov r9, qword [rdi + 0x18]
mov rdx, rsi
mov r8, qword [rdi + 0x10]
call fcn.14012fab8
test eax, eax
je 0x140055030
mov eax, 1
jmp 0x140055019
mov rcx, rdi
call fcn.14007f488
test eax, eax
jne 0x140054f67
mov edx, dword [rdi + 0x10]
lea rcx, [rsi + 0x590]
xor r8d, r8d
call fcn.140081328
test eax, eax
jne 0x140054f3b
cmp qword [rdi + 0x10], 0x1b
jne 0x14005500e
cmp dword [rsi + 0x6d8], 0
je 0x140054f8a
lea rcx, [rsi + 0x6b8]
mov rdx, rsi
call fcn.1400e8278
mov rcx, qword [rsi + 0x530]
test rcx, rcx
je 0x140054fa7
cmp dword [rcx + 0xc], 0
je 0x140054fa7
cmp dword [rcx + 8], 0
je 0x140054fa7
call fcn.14011debc
call qword [sym.imp.USER32.dll_GetCapture]
mov rcx, rax
call fcn.140021320
mov rdx, rax
lea rcx, str.8W_
call fcn.140043ab8
test rax, rax
je 0x14005500e
mov rcx, qword [rax + 0x40]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x1f]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140054f3b
movsx eax, word [rdi + 0x18]
add rcx, 0x590
mov r9, qword [rdi]
mov dword [rsp + 0x58], eax
movsx eax, word [rdi + 0x1a]
mov dword [rsp + 0x5c], eax
mov r8, qword [rsp + 0x58]
call fcn.14008162c
test eax, eax
jne 0x140054f3b
mov rdx, rdi
mov rcx, rsi
call fcn.140029240
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov eax, dword [0x1402cb130]
lea rbp, [0x1402cb130]
mov ebx, 1
test eax, eax
jne 0x140055056
mov rcx, rbp
call fcn.14006fb0c
mov eax, ebx
mov dword [0x1402cb130], ebx
cmp dword [0x1402cb3b0], 0
jne 0x140055099
test eax, eax
jne 0x140055073
mov rcx, rbp
call fcn.14006fb0c
mov eax, ebx
mov dword [0x1402cb130], ebx
cmp dword [0x1402cb3ac], 0
jne 0x140055099
test eax, eax
jne 0x14005508e
mov rcx, rbp
call fcn.14006fb0c
mov dword [0x1402cb130], ebx
mov dword [0x1402cb3ac], ebx
call fcn.140034978
call fcn.140057dd4
test rax, rax
je 0x1400550c5
cmp qword [rdi + 0x10], 0x12
jne 0x1400550c5
mov rcx, qword [rax + 0x40]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, ebx
jmp 0x140055019
mov edx, dword [rdi + 0x10]
lea rcx, [rsi + 0x590]
xor r8d, r8d
call fcn.140081328
test eax, eax
je 0x14005500e
jmp 0x1400550be
mov rcx, qword [rcx + 0x710]
test rcx, rcx
je 0x140055105
mov r9, qword [rdi + 0x18]
mov rdx, rsi
mov r8, qword [rdi + 0x10]
call fcn.14012fc48
test eax, eax
jne 0x140054f3b
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
mov ebx, 1
movzx r15d, ax
shr r15d, 0xf
and r15d, ebx
lea ecx, [rbx + 0xf]
call qword [sym.imp.USER32.dll_GetKeyState]
mov rcx, qword [rsi + 0x40]
movzx r12d, ax
shr r12d, 0xf
and r12d, ebx
call sub.IMM32.dll_ImmGetContext
mov rbp, rax
test rax, rax
je 0x140055156
mov rcx, rax
call sub.IMM32.dll_ImmGetOpenStatus
test eax, eax
je 0x140055156
mov r14d, ebx
jmp 0x140055159
xor r14d, r14d
test rbp, rbp
je 0x14005516a
mov rcx, qword [rsi + 0x40]
mov rdx, rbp
call sub.IMM32.dll_ImmReleaseContext
cmp qword [rsi + 0x6a0], 0
je 0x1400551cf
cmp qword [rdi + 0x10], 0x12
je 0x140055191
cmp qword [rdi + 0x10], 0x79
jne 0x1400551cf
test r15d, r15d
jne 0x1400551cf
test r12d, r12d
jne 0x1400551cf
test r14d, r14d
jne 0x1400551cf
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140021320
mov rcx, qword [rsi + 0x6a0]
cmp rcx, rax
jne 0x1400551b0
mov rcx, rsi
jmp 0x1400551c5
cmp qword [rdi + 0x10], 0x12
je 0x1400551c5
mov eax, dword [rdi + 0x18]
bt rax, 0x1d
jb 0x1400550be
call fcn.14002a0b0
jmp 0x1400550be
call fcn.140057dd4
test rax, rax
jmp 0x1400550d9
cmp edx, 0x200
je 0x1400552ae
cmp edx, 0x201
je 0x14005523d
cmp edx, 0x203
jbe 0x14005500e
cmp edx, 0x205
jbe 0x14005523d
cmp edx, 0x206
jbe 0x14005500e
cmp edx, 0x208
jbe 0x14005523d
cmp edx, 0x20a
jne 0x14005500e
mov r8, qword [rdi + 0x18]
add rcx, 0x590
mov rdx, qword [rdi + 0x10]
call fcn.140081d70
jmp 0x140055006
movsx eax, word [rdi + 0x18]
mov rcx, qword [rdi]
mov dword [rsp + 0x58], eax
movsx eax, word [rdi + 0x1a]
mov dword [rsp + 0x5c], eax
call fcn.140021320
mov rbx, rax
test rax, rax
je 0x140055279
mov rcx, qword [rdi]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x140055279
mov rcx, qword [rbx + 0x40]
lea rdx, [rsp + 0x58]
call qword [sym.imp.USER32.dll_ClientToScreen]
mov r9, qword [rdi]
lea rcx, [rsi + 0x590]
mov r8, qword [rsp + 0x58]
mov edx, dword [rdi + 8]
call fcn.14008162c
test eax, eax
jne 0x140054f3b
mov rcx, qword [rdi]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x14005500e
jmp 0x140054f3b
movsx eax, word [rdi + 0x18]
mov rcx, qword [rdi]
mov dword [rsp + 0x58], eax
movsx eax, word [rdi + 0x1a]
mov dword [rsp + 0x5c], eax
call fcn.140021320
test rax, rax
je 0x1400552da
mov rcx, qword [rax + 0x40]
lea rdx, [rsp + 0x58]
call qword [sym.imp.USER32.dll_ClientToScreen]
mov rdx, qword [rsp + 0x58]
lea rcx, [rsi + 0x590]
call fcn.140081c74
jmp 0x140055006