Function at 0x18008a350
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xa0
mov rax, qword [0x18035c0c0]
xor rax, rsp
mov qword [rbp + 0x4f], rax
mov rsi, rcx
xor edi, edi
mov dword [rbp + 0x47], edi
mov edx, dword [0x18035eedc]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov eax, dword [rcx + rax]
cmp dword [0x180361cfc], eax
jle 0x18008a3f8
lea rcx, [0x180361cfc]
call fcn.1800a3130
cmp dword [0x180361cfc], 0xffffffff
jne 0x18008a3f8
mov eax, 0x3e8
cdq
idiv dword [rsi + 0x20]
movsxd rbx, eax
mov qword [0x180361d00], rdi
lea rcx, [rbp - 0x29]
call fcn.180092d10
mov rdx, qword [rax]
mov qword [0x180361d00], rdx
mov qword [0x180361d08], rbx
lea rcx, [0x180361cfc]
call fcn.1800a30c4
cmp byte [rsi + 8], dil
je 0x18008a437
cmp byte [0x1803601c2], dil
jne 0x18008a437
mov ecx, 1
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x18008a437
lea rdx, [rbp - 0x21]
mov rcx, qword [0x180361b58]
call fcn.18006a590
mov edi, 1
cmp qword [rax + 8], 0
jne 0x18008a437
xor bl, bl
jmp 0x18008a439
mov bl, 1
test dil, 1
je 0x18008a46a
cmp byte [rbp - 0x11], 0
je 0x18008a46a
cmp qword [0x18035fc10], 0
je 0x18008a46a
mov rdx, qword [rbp - 0x19]
test rdx, rdx
je 0x18008a46a
mov rcx, qword [rbp - 0x21]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
test bl, bl
jne 0x18008a73b
lea rcx, [rbp - 0x29]
call fcn.180092d10
mov rcx, qword [rbp - 0x29]
mov rdx, rcx
sub rdx, qword [0x180361d00]
movabs rax, 0x431bde82d7b634db
imul rdx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, qword [0x180361d08]
je 0x18008a4c6
mov r8d, 1
mov r9d, 0xff
cmovl r8d, r9d
test r8b, r8b
js 0x18008a73b
mov qword [0x180361d00], rcx
lea rdx, [rbp + 0x17]
mov rcx, qword [0x180361b58]
call fcn.18006a4a0
nop
lea rdx, [rbp - 0x21]
mov rcx, rax
call fcn.18006d060
mov r14, rax
mov rdi, qword [0x18035fc10]
xorps xmm0, xmm0
movups xmmword [rbp - 9], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 7], xmm1
mov r8d, 5
lea rdx, str.BLOCK
lea rcx, [rbp - 9]
call fcn.180008b90
nop
lea rdx, [rbp - 9]
lea rcx, [0x180361a60]
call fcn.180074500
mov rbx, rax
mov rdx, rdi
lea rcx, [0x180361a60]
call fcn.180074320
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x488]
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call r9
mov r8, rax
mov qword [rbp + 0x2f], rdi
mov byte [rbp + 0x3f], 0
mov qword [rbp + 0x37], rax
mov rdx, qword [r14 + 8]
cmp rdx, rax
jne 0x18008a56e
mov bl, 1
jmp 0x18008a591
test rdx, rdx
je 0x18008a58f
test r8, r8
je 0x18008a58f
mov rcx, qword [r14]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
call r9
cmp al, 1
sete bl
jmp 0x18008a591
xor bl, bl
mov rdx, qword [rbp + 0xf]
cmp rdx, 0xf
jbe 0x18008a5cc
inc rdx
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008a5c7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008a764
call fcn.1800a3080
movdqa xmm0, xmmword [0x180342f80]
movdqu xmmword [rbp + 7], xmm0
mov byte [rbp - 9], 0
cmp byte [rbp - 0x11], 0
je 0x18008a60f
cmp qword [0x18035fc10], 0
je 0x18008a60f
mov rdx, qword [rbp - 0x19]
test rdx, rdx
je 0x18008a60f
mov rcx, qword [rbp - 0x21]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rbp - 0x19], 0
cmp byte [rbp + 0x27], 0
je 0x18008a63a
cmp qword [0x18035fc10], 0
je 0x18008a63a
mov rdx, qword [rbp + 0x1f]
test rdx, rdx
je 0x18008a63a
mov rcx, qword [rbp + 0x17]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
test bl, bl
jne 0x18008a73b
mov qword [rbp + 0x47], 0
lea rcx, [rbp + 0x47]
call qword [sym.imp.USER32.dll_GetCursorPos]
movzx r9d, word [rbp + 0x4b]
shl r9d, 0x10
movzx eax, word [rbp + 0x47]
or r9, rax
mov edx, 0x201
mov r8d, 1
mov rcx, qword [0x1803601c8]
call qword [sym.imp.USER32.dll_PostMessageA]
movzx r9d, word [rbp + 0x4b]
shl r9d, 0x10
movzx eax, word [rbp + 0x47]
or r9, rax
mov edx, 0x202
mov r8d, 1
mov rcx, qword [0x1803601c8]
call qword [sym.imp.USER32.dll_PostMessageA]
mov r14d, dword [rsi + 0x20]
btc r14d, 0x1f
mov ebx, dword [rsi + 0x24]
btc ebx, 0x1f
sub ebx, r14d
lea rcx, [0x1803605a0]
cmp ebx, 0xffffffff
jne 0x18008a6cc
call fcn.180086b90
mov ecx, eax
jmp 0x18008a70a
inc ebx
call fcn.180086b90
mov edi, ebx
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jae 0x18008a706
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x18008a706
nop dword [rax]
lea rcx, [0x1803605a0]
call fcn.180086b90
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x18008a6f0
shr rcx, 0x20
lea r8d, [rcx + r14]
xor r8d, 0x80000000
mov eax, 0x3e8
cdq
idiv r8d
movsxd rbx, eax
lea rcx, [rbp - 0x29]
call fcn.180092d10
mov rcx, qword [rax]
mov qword [0x180361d00], rcx
mov qword [0x180361d08], rbx
mov rcx, qword [rbp + 0x4f]
xor rcx, rsp
call fcn.1800a3060
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
call fcn.1800acf80
nop
int3