Function at 0x14000e7e0
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x140234460
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0xf0
lea rdi, [rsp + 0x30]
mov ecx, 0x30
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x100]
mov rax, qword [0x1405dc580]
xor rax, rsp
mov qword [rsp + 0xe8], rax
cmp dword [rsp + 0x108], 0x20
je 0x1402344d8
cmp dword [rsp + 0x108], 0x25
je 0x1402344d8
cmp dword [rsp + 0x108], 0x27
je 0x1402344d8
cmp dword [rsp + 0x108], 0x6b
je 0x1402344d8
cmp dword [rsp + 0x108], 0xbb
je 0x1402344d8
xor al, al
jmp 0x140234c5d
mov rax, qword [rsp + 0x100]
cmp qword [rax + 0xa0], 0
jne 0x1402344f1
mov al, 1
jmp 0x140234c5d
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
test eax, eax
jge 0x14023450e
mov dword [rsp + 0xd8], 1
jmp 0x140234519
mov dword [rsp + 0xd8], 0
movzx eax, byte [rsp + 0xd8]
mov byte [rsp + 0x30], al
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
test eax, eax
jge 0x140234542
mov dword [rsp + 0xdc], 1
jmp 0x14023454d
mov dword [rsp + 0xdc], 0
movzx eax, byte [rsp + 0xdc]
mov byte [rsp + 0x31], al
mov eax, dword [rsp + 0x108]
mov dword [rsp + 0xe0], eax
cmp dword [rsp + 0xe0], 0x20
je 0x1402345b1
cmp dword [rsp + 0xe0], 0x25
je 0x140234789
cmp dword [rsp + 0xe0], 0x27
je 0x14023497e
cmp dword [rsp + 0xe0], 0x6b
je 0x140234b71
cmp dword [rsp + 0xe0], 0xbb
je 0x140234b71
jmp 0x140234c5b
movzx eax, byte [rsp + 0x30]
test eax, eax
je 0x140234678
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0xa0]
mov rcx, qword [rsp + 0x100]
mov eax, dword [rax + 0x2c]
mov dword [rcx + 0xac], eax
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0xa0]
mov rcx, qword [rsp + 0x100]
mov rcx, qword [rcx + 0xa0]
lea rdx, [rsp + 0x64]
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 0x44]
mov qword [rsp + 0x20], rdx
mov r9d, 2
mov r8d, dword [rax + 0x2c]
mov edx, dword [rcx + 0x2c]
mov rcx, qword [rsp + 0x100]
call fcn.1400099e0
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov r9b, 1
mov r8d, dword [rsp + 0x64]
mov edx, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x100]
call fcn.140012e70
movzx eax, al
test eax, eax
je 0x140234673
xor r8d, r8d
lea rdx, [rsp + 0x88]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x140234784
movzx eax, byte [rsp + 0x31]
test eax, eax
je 0x140234784
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0xa0]
mov rcx, qword [rsp + 0x100]
mov ecx, dword [rcx + 0xac]
cmp dword [rax + 0x2c], ecx
jbe 0x1402346d7
mov rax, qword [rsp + 0x100]
mov eax, dword [rax + 0xac]
mov dword [rsp + 0xa4], eax
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0xa0]
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0xa8], eax
jmp 0x140234705
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0xa0]
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0xa4], eax
mov rax, qword [rsp + 0x100]
mov eax, dword [rax + 0xac]
mov dword [rsp + 0xa8], eax
lea rax, [rsp + 0x64]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x44]
mov qword [rsp + 0x20], rax
mov r9d, 4
mov r8d, dword [rsp + 0xa8]
mov edx, dword [rsp + 0xa4]
mov rcx, qword [rsp + 0x100]
call fcn.1400099e0
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov r9b, 1
mov r8d, dword [rsp + 0x64]
mov edx, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x100]
call fcn.140012e70
movzx eax, al
test eax, eax
je 0x140234784
xor r8d, r8d
lea rdx, [rsp + 0x88]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x140234c5b
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0xa0]
mov eax, dword [rax + 0x34]
and eax, 1
test eax, eax
jne 0x1402347e1
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0xa0]
mov eax, dword [rax]
shr eax, 2
and eax, 1
test eax, eax
je 0x1402347e1
xor r8d, r8d
mov rax, qword [rsp + 0x100]
mov rdx, qword [rax + 0xa0]
mov rcx, qword [rsp + 0x100]
call fcn.140005a10
jmp 0x140234979
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0xa0]
cmp dword [rax + 0x30], 0
je 0x140234979
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0xa0]
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0xac], eax
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0xa0]
mov eax, dword [rax + 0x30]
dec eax
mov dword [rsp + 0xb0], eax
cmp dword [rsp + 0xac], 0
je 0x140234979
mov eax, dword [rsp + 0xac]
dec eax
mov dword [rsp + 0xac], eax
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0x130]
mov ecx, dword [rsp + 0xac]
mov rax, qword [rax + 8]
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rsp + 0xb0]
cmp dword [rax + 0x30], ecx
jne 0x140234974
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xb8]
mov qword [rax + 0xa0], rcx
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xb8]
mov ecx, dword [rcx + 0x2c]
mov dword [rax + 0xac], ecx
mov edx, dword [rsp + 0xac]
mov rcx, qword [rsp + 0x100]
call fcn.14000c970
xor r8d, r8d
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x100]
call fcn.140019770
lea rax, [rsp + 0x64]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x44]
mov qword [rsp + 0x20], rax
mov r9d, 4
mov r8d, dword [rsp + 0xac]
mov edx, dword [rsp + 0xac]
mov rcx, qword [rsp + 0x100]
call fcn.1400099e0
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov r9b, 1
mov r8d, dword [rsp + 0x64]
mov edx, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x100]
call fcn.140012e70
movzx eax, al
test eax, eax
je 0x140234965
xor r8d, r8d
lea rdx, [rsp + 0x88]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_InvalidateRect]
mov rcx, qword [rsp + 0x100]
call fcn.14000af90
jmp 0x140234979
jmp 0x14023482e
jmp 0x140234c5b
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0xa0]
mov eax, dword [rax + 0x34]
and eax, 1
test eax, eax
jne 0x140234b6c
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0xa0]
mov eax, dword [rax]
shr eax, 2
and eax, 1
test eax, eax
jne 0x1402349da
mov r8b, 1
mov rax, qword [rsp + 0x100]
mov rdx, qword [rax + 0xa0]
mov rcx, qword [rsp + 0x100]
call fcn.140005a10
jmp 0x140234b6c
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0xa0]
mov eax, dword [rax + 0x2c]
inc eax
mov rcx, qword [rsp + 0x100]
mov rcx, qword [rcx + 0x130]
cmp eax, dword [rcx]
jae 0x140234b6c
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0x130]
mov rcx, qword [rsp + 0x100]
mov rcx, qword [rcx + 0xa0]
mov ecx, dword [rcx + 0x2c]
inc ecx
mov ecx, ecx
mov rax, qword [rax + 8]
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0xa0]
mov eax, dword [rax + 0x30]
inc eax
mov rcx, qword [rsp + 0xc0]
cmp dword [rcx + 0x30], eax
jne 0x140234b6c
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xc0]
mov qword [rax + 0xa0], rcx
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xc0]
mov ecx, dword [rcx + 0x2c]
mov dword [rax + 0xac], ecx
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0xa0]
mov eax, dword [rax + 0x2c]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x100]
call fcn.14000c970
xor r8d, r8d
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x100]
call fcn.140019770
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0xa0]
mov rcx, qword [rsp + 0x100]
mov rcx, qword [rcx + 0xa0]
lea rdx, [rsp + 0x64]
mov qword [rsp + 0x28], rdx
lea rdx, [rsp + 0x44]
mov qword [rsp + 0x20], rdx
mov r9d, 4
mov r8d, dword [rax + 0x2c]
mov edx, dword [rcx + 0x2c]
mov rcx, qword [rsp + 0x100]
call fcn.1400099e0
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov r9b, 1
mov r8d, dword [rsp + 0x64]
mov edx, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x100]
call fcn.140012e70
movzx eax, al
test eax, eax
je 0x140234b5f
xor r8d, r8d
lea rdx, [rsp + 0x88]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_InvalidateRect]
mov rcx, qword [rsp + 0x100]
call fcn.14000af90
jmp 0x140234c5b
cmp dword [rsp + 0x108], 0x6b
jne 0x140234b84
movzx eax, byte [rsp + 0x30]
test eax, eax
jne 0x140234baf
cmp dword [rsp + 0x108], 0xbb
jne 0x140234c5b
movzx eax, byte [rsp + 0x30]
test eax, eax
je 0x140234c5b
movzx eax, byte [rsp + 0x31]
test eax, eax
je 0x140234c5b
mov rax, qword [rsp + 0x100]
mov eax, dword [rax + 0x40]
shr eax, 4
and eax, 1
test eax, eax
je 0x140234bef
xor r9d, r9d
mov rax, qword [rsp + 0x100]
mov r8, qword [rax + 0x100]
mov rax, qword [rsp + 0x100]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x100]
call fcn.140011460
mov dword [rsp + 0xc8], 0
jmp 0x140234c0c
mov eax, dword [rsp + 0xc8]
inc eax
mov dword [rsp + 0xc8], eax
mov rax, qword [rsp + 0x100]
mov eax, dword [rax + 0xf4]
cmp dword [rsp + 0xc8], eax
jae 0x140234c5b
mov eax, dword [rsp + 0xc8]
mov rcx, qword [rsp + 0x100]
mov rcx, qword [rcx + 0xe8]
xor r9d, r9d
mov r8, qword [rcx + rax*8]
mov rax, qword [rsp + 0x100]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rsp + 0x100]
call fcn.140011460
jmp 0x140234bfc
mov al, 1
mov rdi, rax
mov rcx, rsp
lea rdx, [0x140510c00]
call fcn.140015750
mov rax, rdi
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.14000d430
add rsp, 0xf0
pop rdi
ret