Function at 0x1800ac740
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], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xb0
mov rax, qword [0x180394058]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rbx, rcx
xor r12d, r12d
mov edi, r12d
mov dword [rbp + 0x27], r12d
mov edx, dword [0x180396228]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x18039fe90], edx
jle 0x1800ac7ee
lea rcx, [0x18039fe90]
call fcn.1800dd9c8
cmp dword [0x18039fe90], 0xffffffff
jne 0x1800ac7ee
movss xmm0, dword [0x180379d84]
divss xmm0, dword [0x18039423c]
cvttss2si eax, xmm0
movsxd rdx, eax
mov qword [0x18039fe98], r12
lea rcx, [0x18039fe98]
call fcn.1800cf710
lea rcx, [0x18039fe90]
call fcn.1800dd95c
mov qword [rbp + 0x2f], r12
cmp byte [rbx + 8], dil
je 0x1800acd63
cmp byte [0x1803990c8], dil
jne 0x1800acd63
mov ecx, 1
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1800acd63
cmp byte [0x180394238], dil
je 0x1800ac881
cmp byte [0x1803990c8], dil
jne 0x1800ac881
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1800ac881
movzx r9d, word [rbp + 0x33]
shl r9d, 0x10
movzx eax, word [rbp + 0x2f]
or r9, rax
movzx eax, byte [0x180396458]
neg al
sbb edx, edx
add edx, 0x205
mov r8d, 2
mov rcx, qword [0x1803990c0]
call qword [sym.imp.USER32.dll_PostMessageA]
cmp byte [0x180396458], dil
sete byte [0x180396458]
lea rdx, [rbp - 0x49]
mov rcx, qword [0x18039c000]
call fcn.18006cc80
mov rbx, qword [rax + 8]
cmp byte [rbp - 0x39], 0
je 0x1800ac8c0
cmp qword [0x180396240], 0
je 0x1800ac8c0
mov rdx, qword [rbp - 0x41]
test rdx, rdx
je 0x1800ac8c0
mov rcx, qword [rbp - 0x49]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
cmp byte [0x180394240], 0
jne 0x1800ac968
test rbx, rbx
jne 0x1800ac985
cmp byte [0x180394203], 0
je 0x1800ac94a
mov rsi, qword [0x18039c000]
cmp qword [rsi + 8], 0
je 0x1800ac94a
mov rbx, qword [rsi]
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x39], xmm1
mov r8d, 0x10
lea rdx, str.leftClickCounter
lea rcx, [rbp - 0x49]
call fcn.1800077c0
nop
lea rdx, [rbp - 0x49]
lea rcx, [0x18039bc10]
call fcn.18007f750
mov r8, qword [rbx]
mov r10, qword [r8 + 0x368]
xor r9d, r9d
mov r8, rax
mov rdx, qword [rsi + 8]
mov rcx, rbx
call r10
nop
lea rcx, [rbp - 0x49]
call fcn.180005100
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800ac991
imul rcx, rax, 0x64
jmp 0x1800ac9ac
test rbx, rbx
je 0x1800ac8d6
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x1800ac8d6
mov byte [0x180396458], 0
jmp 0x1800acd6a
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
mov rdx, rcx
sub rdx, qword [0x18039fe98]
movabs rax, 0x431bde82d7b634db
imul rdx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, qword [0x18039fea0]
je 0x1800ac9f3
mov r8d, 1
mov r9d, 0xff
cmovl r8d, r9d
test r8b, r8b
js 0x1800acdad
mov qword [0x18039fe98], rcx
cmp byte [0x180394239], 0
je 0x1800acafb
lea rdx, [rbp - 0x49]
mov rcx, qword [0x18039c000]
call fcn.18006cbc0
nop
mov dword [rbp + 0x27], 1
lea rdx, [rbp - 0x11]
mov rcx, rax
call fcn.180070b80
mov r14, rax
mov dword [rbp + 0x27], 3
mov rsi, qword [0x180396240]
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x17], xmm1
mov r8d, 5
lea rdx, str.BLOCK
lea rcx, [rbp + 7]
call fcn.1800077c0
nop
mov dword [rbp + 0x27], 7
lea rdx, [rbp + 7]
lea rcx, [0x18039bbb0]
call fcn.18007f750
mov rbx, rax
mov rdx, rsi
lea rcx, [0x18039bbb0]
call fcn.18007f5d0
mov rcx, qword [rsi]
mov r9, qword [rcx + 0x488]
mov r8, rbx
mov rdx, rax
mov rcx, rsi
call r9
mov rbx, rax
mov qword [rbp - 0x29], rsi
xor r15b, r15b
mov byte [rbp - 0x19], r15b
test rax, rax
je 0x1800acabd
mov qword [rbp - 0x21], rax
mov r8, rax
jmp 0x1800acac7
mov rbx, r12
mov qword [rbp - 0x21], rbx
mov r8, r12
mov edi, 0x1f
mov dword [rbp + 0x27], edi
mov rdx, qword [r14 + 8]
cmp rdx, r8
je 0x1800acaf6
test rdx, rdx
je 0x1800acb08
test r8, r8
je 0x1800acb08
mov rcx, qword [r14]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
call r9
cmp al, 1
jne 0x1800acb08
mov r14b, 1
jmp 0x1800acb0b
movzx r15d, byte [rbp - 0x19]
mov rbx, qword [rbp - 0x21]
mov rsi, qword [rbp - 0x29]
xor r14b, r14b
test dil, 8
je 0x1800acb3f
and edi, 0xfffffff7
mov dword [rbp + 0x27], edi
test r15b, r15b
je 0x1800acb3f
cmp qword [0x180396240], 0
je 0x1800acb3f
test rbx, rbx
je 0x1800acb3f
mov rax, qword [rsi]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
mov rcx, rsi
call r8
nop
test dil, 4
je 0x1800acb52
and edi, 0xfffffffb
lea rcx, [rbp + 7]
call fcn.180005100
nop
test dil, 2
je 0x1800acb8c
and edi, 0xfffffffd
mov dword [rbp + 0x27], edi
cmp byte [rbp - 1], 0
je 0x1800acb8c
cmp qword [0x180396240], 0
je 0x1800acb8c
mov rdx, qword [rbp - 9]
test rdx, rdx
je 0x1800acb8c
mov rcx, qword [rbp - 0x11]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rbp - 9], r12
test dil, 1
je 0x1800acbc0
cmp byte [rbp - 0x39], 0
je 0x1800acbc0
cmp qword [0x180396240], 0
je 0x1800acbc0
mov rdx, qword [rbp - 0x41]
test rdx, rdx
je 0x1800acbc0
mov rcx, qword [rbp - 0x49]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rbp - 0x41], r12
test r14b, r14b
jne 0x1800acdad
lea rdx, [rbp + 0x2f]
mov rcx, qword [0x1803990c0]
call qword [sym.imp.USER32.dll_ScreenToClient]
call fcn.1800ac3f0
xorps xmm3, xmm3
cvtss2sd xmm3, xmm0
mulsd xmm3, qword [0x180379c08]
cvttsd2si eax, xmm3
movsxd rbx, eax
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x1800acc13
imul rax, rax, 0x64
jmp 0x1800acc31
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
imul rcx, rcx, 0x3b9aca00
add rax, rcx
mov qword [0x18039fe98], rax
mov qword [0x18039fea0], rbx
cmp byte [0x18039420a], 0
je 0x1800acd40
lea rcx, [0x180399260]
call fcn.1800ac260
mov ecx, eax
imul rax, rcx, 0x65
cmp eax, 0x43
ja 0x1800acc7a
lea rcx, [0x180399260]
call fcn.1800ac260
mov ecx, eax
imul rax, rcx, 0x65
cmp eax, 0x44
jb 0x1800acc63
shr rax, 0x20
cmp eax, dword [0x18039420c]
jge 0x1800acd40
cmp byte [0x180394210], 0
je 0x1800accbd
mov eax, dword [0x180394214]
mov dword [rbp + 0x27], eax
mov eax, dword [0x180394218]
mov dword [rbp + 0x2b], eax
lea rdx, [0x180399260]
lea rcx, [rbp + 0x27]
call fcn.1800ac190
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_Sleep]
movzx r9d, word [rbp + 0x33]
shl r9d, 0x10
movzx eax, word [rbp + 0x2f]
or r9, rax
movzx eax, byte [0x180396458]
neg al
sbb edx, edx
add edx, 0x202
mov r8d, 1
mov rcx, qword [0x1803990c0]
call qword [sym.imp.USER32.dll_PostMessageA]
cmp byte [0x180396458], 0
sete cl
mov byte [0x180396458], cl
movzx r9d, word [rbp + 0x33]
shl r9d, 0x10
movzx eax, word [rbp + 0x2f]
or r9, rax
movzx edx, cl
xor edx, 1
add edx, 0x201
mov r8d, 1
mov rcx, qword [0x1803990c0]
call qword [sym.imp.USER32.dll_PostMessageA]
cmp byte [0x180396458], 0
sete byte [0x180396458]
jmp 0x1800acdad
movzx r9d, word [rbp + 0x33]
shl r9d, 0x10
movzx eax, word [rbp + 0x2f]
or r9, rax
movzx eax, byte [0x180396458]
neg al
sbb edx, edx
add edx, 0x202
jmp 0x1800acd1d
mov byte [0x180396458], dil
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x1800acd88
imul rax, rax, 0x64
jmp 0x1800acda6
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
imul rcx, rcx, 0x3b9aca00
idiv rbx
add rax, rcx
mov qword [0x18039fe98], rax
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.1800dd900
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret