Function at 0x180009240
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x120
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm10
mov rax, qword [0x18009e0c0]
xor rax, rsp
mov qword [rbp - 0x28], rax
mov rdi, rdx
cmp byte [0x1800a07f4], 0
jne 0x1800092d7
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a07f8], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [0x1800a0800], rax
mov byte [0x1800a07f4], 1
jmp 0x1800092de
mov rax, qword [0x1800a0800]
movups xmm6, xmmword [rax + 0x44]
movups xmm0, xmmword [rax + 0x54]
movq rcx, xmm6
test cl, cl
je 0x1800097ec
movd eax, xmm0
test al, al
je 0x1800097ec
shr rcx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx ebx, ax
shr ebx, 0xf
and bl, 1
je 0x180009369
mov rdx, qword [0x1800a08f0]
test rdx, rdx
je 0x1800093ae
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, rax
mov rdx, qword [0x1800a08f0]
sub rcx, rdx
xorps xmm0, xmm0
js 0x180009343
cvtsi2ss xmm0, rcx
jmp 0x180009358
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
shufps xmm6, xmm6, 0xff
mulss xmm6, dword [0x180090d7c]
comiss xmm0, xmm6
jbe 0x1800093ae
mov rax, qword [0x1800a08f8]
cmp rax, qword [0x1800a0900]
je 0x180009380
mov qword [0x1800a0900], rax
mov rax, qword [0x1800a0910]
cmp rax, qword [0x1800a0918]
je 0x180009397
mov qword [0x1800a0918], rax
xor edx, edx
mov qword [0x1800a08f0], rdx
test bl, bl
jne 0x1800093ae
xor al, al
mov byte [0x1800a0864], al
jmp 0x1800093b5
movzx eax, byte [0x1800a0864]
test rdx, rdx
jne 0x1800093e7
test al, al
jne 0x1800097f7
test bl, bl
je 0x1800097f7
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov qword [0x1800a08f0], rax
mov byte [0x1800a0864], 1
test rax, rax
je 0x1800097f7
mov rcx, rdi
call fcn.18000e360
test rax, rax
je 0x1800097f7
mov rcx, rdi
call fcn.18000e510
test rax, rax
jne 0x1800097f7
mov rcx, rdi
call fcn.18000e6c0
mov r13, rax
mov rcx, rdi
call fcn.18000e1b0
mov rbx, rax
mov r8, rdi
lea rdx, [rbp - 0x40]
mov rcx, rax
call fcn.18000cd10
mov r8, rdi
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.18000ca40
mov r8, rdi
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.18000cfe0
mov rbx, rax
movsd xmm0, qword [rax + 8]
movsd xmm8, qword [rbp - 0x38]
subsd xmm0, xmm8
movsd xmm6, qword [0x180090cc0]
movaps xmm1, xmm6
call fcn.180062910
movaps xmm7, xmm0
movsd xmm0, qword [rbx]
subsd xmm0, qword [rbp - 0x40]
movaps xmm1, xmm6
call fcn.180062910
addsd xmm7, xmm0
movsd xmm0, qword [rbx + 0x10]
movsd xmm10, qword [rbp - 0x30]
subsd xmm0, xmm10
movaps xmm1, xmm6
call fcn.180062910
addsd xmm7, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm7
ja 0x1800094b6
xorps xmm0, xmm0
sqrtsd xmm0, xmm7
jmp 0x1800094be
movaps xmm0, xmm7
call fcn.180065578
comisd xmm0, xmmword [0x180090c98]
jbe 0x1800097f7
movups xmm2, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x48], xmm2
movsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x58], xmm0
movsd xmm1, qword [rbp - 0x40]
unpcklpd xmm1, xmm8
movups xmmword [rsp + 0x60], xmm1
movsd qword [rsp + 0x70], xmm10
mov rdx, qword [0x1800a0900]
cmp rdx, qword [0x1800a0908]
je 0x180009531
movups xmmword [rdx], xmm2
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rdx + 0x10], xmm0
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [rdx + 0x20], xmm1
mov r12, qword [0x1800a0900]
add r12, 0x30
mov qword [0x1800a0900], r12
jmp 0x180009542
lea r8, [rsp + 0x48]
call fcn.18000a2d0
mov r12, qword [0x1800a0900]
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
mov qword [rbp - 0x30], rax
mov rbx, qword [0x1800a08f8]
cmp rbx, r12
je 0x180009765
xorps xmm7, xmm7
nop dword [rax]
nop word [rax + rax]
movups xmm6, xmmword [rbx + 0x18]
movsd xmm0, qword [rbx + 0x28]
movsd qword [rbp - 0x48], xmm0
movups xmm8, xmmword [rbx]
movsd xmm0, qword [rbx + 0x10]
movsd qword [rbp - 0x60], xmm0
mov r8, rdi
lea rdx, [rsp + 0x78]
mov rcx, r13
call fcn.18000ed40
mov rcx, rdi
call fcn.18000e9e0
mov r15, rax
test rax, rax
je 0x1800096a3
test rdi, rdi
je 0x1800096a3
mov rcx, qword [rdi]
mov r8, qword [rcx + 0xf8]
mov rdx, rax
mov rcx, rdi
call r8
mov rsi, rax
mov r8d, 1
lea rdx, str.renderPartialTicks
lea rcx, [rsp + 0x48]
call fcn.180017060
mov r8, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1800095f3
mov r8, qword [rax]
test rsi, rsi
je 0x180009617
mov rax, qword [rdi]
mov r10, qword [rax + 0x2f0]
lea r9, [0x18008f7bc]
mov rdx, rsi
mov rcx, rdi
call r10
mov r14, rax
jmp 0x18000961a
xor r14d, r14d
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x180009657
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180009652
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009838
call fcn.18004317c
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
test rsi, rsi
je 0x180009686
mov rax, qword [rdi]
mov r8, qword [rax + 0xb8]
mov rdx, rsi
mov rcx, rdi
call r8
test r14, r14
je 0x1800096a3
mov rax, qword [rdi]
mov r9, qword [rax + 0x330]
mov r8, r14
mov rdx, r15
mov rcx, rdi
call r9
jmp 0x1800096a6
movaps xmm0, xmm7
xorps xmm2, xmm2
cvtss2sd xmm2, xmm0
movaps xmm3, xmm6
subsd xmm3, qword [rsp + 0x78]
subsd xmm3, xmm6
addsd xmm3, xmm8
movaps xmm0, xmm6
subsd xmm0, xmm8
mulsd xmm0, xmm2
addsd xmm3, xmm0
movsd qword [rsp + 0x30], xmm3
unpckhpd xmm6, xmm6
movaps xmm4, xmm6
subsd xmm4, qword [rbp - 0x80]
subsd xmm4, xmm6
unpckhpd xmm8, xmm8
addsd xmm4, xmm8
subsd xmm6, xmm8
mulsd xmm6, xmm2
addsd xmm4, xmm6
movsd qword [rsp + 0x38], xmm4
movsd xmm1, qword [rbp - 0x48]
movaps xmm5, xmm1
subsd xmm5, qword [rbp - 0x78]
subsd xmm5, xmm1
addsd xmm5, qword [rbp - 0x60]
subsd xmm1, qword [rbp - 0x60]
mulsd xmm1, xmm2
addsd xmm5, xmm1
movsd qword [rsp + 0x40], xmm5
mov rdx, qword [rbp - 0x38]
cmp rdx, qword [rbp - 0x30]
je 0x18000974a
movsd qword [rdx], xmm3
movsd qword [rdx + 8], xmm4
movsd qword [rdx + 0x10], xmm5
add qword [rbp - 0x38], 0x18
jmp 0x180009758
lea r8, [rsp + 0x30]
lea rcx, [rbp - 0x40]
call fcn.18000a500
add rbx, 0x30
cmp rbx, r12
jne 0x180009570
mov rcx, qword [rbp - 0x38]
sub rcx, qword [rbp - 0x40]
movabs rbx, 0x2aaaaaaaaaaaaaab
mov rax, rbx
imul rcx
sar rdx, 2
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, qword [rbp - 0x40]
call fcn.18000a0d0
nop
mov r8, qword [rbp - 0x40]
test r8, r8
je 0x1800097f7
mov rcx, qword [rbp - 0x30]
sub rcx, r8
mov rax, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r8
cmp rdx, 0x1000
jb 0x1800097e2
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000983e
mov rcx, r8
call fcn.18004317c
jmp 0x1800097f7
mov ecx, 5
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rbp - 0x28]
xor rcx, rsp
call fcn.180042db0
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm10, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1800490f4
nop
call fcn.1800490f4
int3