Function at 0x140048690
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
mov rax, qword [0x14008d010]
xor rax, rsp
mov qword [rbp - 0x21], rax
mov r14, rdx
xor r12d, r12d
mov rdx, qword [0x14008e0c0]
mov ebx, r8d
add rdx, r14
mov qword [rsp + 0x20], r12
lea r8, [rbp - 0x71]
mov rsi, rcx
lea r9d, [r12 + 8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdi, qword [rbp - 0x71]
lea r9d, [r12 + 8]
mov eax, ebx
mov qword [rsp + 0x20], r12
and eax, 0x7fff
lea r8, [rbp - 0x79]
shl eax, 3
mov rcx, rsi
sar eax, 9
lea rdx, [rdi + 0x10]
add rdx, rax
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
and ebx, 0x1ff
mov qword [rsp + 0x20], r12
imul edx, ebx, 0x78
lea r9d, [r12 + 8]
lea r8, [rbp - 0x59]
mov rcx, rsi
add rdx, qword [rbp - 0x79]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [0x14008e1d8]
lea r9d, [r12 + 8]
add rdx, r14
mov qword [rsp + 0x20], r12
lea r8, [rbp - 0x39]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [rbp - 0x59]
lea r9d, [r12 + 4]
mov r15, qword [rbp - 0x39]
lea r8, [rbp - 0x61]
add rdx, 0x7fc
mov qword [rsp + 0x20], r12
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov ebx, dword [rbp - 0x61]
lea rdx, [rdi + 0x10]
mov eax, ebx
mov qword [rsp + 0x20], r12
shr eax, 9
lea r9d, [r12 + 8]
and eax, 0x3f
lea r8, [rbp - 0x79]
shl eax, 3
mov rcx, rsi
add rdx, rax
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
and ebx, 0x1ff
mov qword [rsp + 0x20], r12
imul edx, ebx, 0x78
lea r9d, [r12 + 8]
lea r8, [rbp - 0x71]
mov rcx, rsi
add rdx, qword [rbp - 0x79]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [rbp - 0x71]
lea r9d, [r12 + 8]
add rdx, 0x30
mov qword [rsp + 0x20], r12
lea r8, [rbp - 0x79]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [rbp - 0x79]
lea r9d, [r12 + 8]
add rdx, 8
mov qword [rsp + 0x20], r12
lea r8, [rbp - 0x71]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [rbp - 0x71]
add rdx, 0x310
lea r9d, [r12 + 8]
mov qword [rsp + 0x20], r12
lea r8, [rbp - 0x79]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [rbp - 0x79]
lea r9d, [r12 + 8]
sub rdx, 0xffffffffffffff80
mov qword [rsp + 0x20], r12
lea r8, [rbp - 0x71]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdi, qword [rbp - 0x71]
lea rdx, [r15 + 0x30]
lea r9d, [r12 + 8]
mov qword [rsp + 0x20], r12
lea r8, [rbp - 0x79]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [rbp - 0x79]
lea r9d, [r12 + 8]
add rdx, 8
mov qword [rsp + 0x20], r12
lea r8, [rbp - 0x59]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [rbp - 0x59]
lea r9d, [r12 + 8]
add rdx, 0x310
mov qword [rsp + 0x20], r12
lea r8, [rbp - 0x79]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [rbp - 0x79]
lea r9d, [r12 + 8]
sub rdx, 0xffffffffffffff80
mov qword [rsp + 0x20], r12
lea r8, [rbp - 0x31]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rbx, qword [rbp - 0x31]
lea rdx, [r15 + 0x10e0]
lea r9d, [r12 + 8]
mov qword [rsp + 0x20], r12
lea r8, [rbp - 0x29]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [rdi + 0xc0]
mov qword [rsp + 0x20], r12
lea r9d, [r12 + 4]
mov rcx, rsi
lea r8, [rbp - 0x61]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [rdi + 0xc4]
mov qword [rsp + 0x20], r12
lea r9d, [r12 + 4]
mov rcx, rsi
lea r8, [rbp - 0x4d]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [rdi + 0xc8]
mov qword [rsp + 0x20], r12
lea r9d, [r12 + 4]
mov rcx, rsi
lea r8, [rbp - 0x79]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [rbx + 0xc0]
mov qword [rsp + 0x20], r12
lea r9d, [r12 + 4]
mov rcx, rsi
lea r8, [rbp - 0x51]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [rbx + 0xc4]
mov qword [rsp + 0x20], r12
lea r9d, [r12 + 4]
mov rcx, rsi
lea r8, [rbp - 0x59]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [rbx + 0xc8]
mov qword [rsp + 0x20], r12
lea r9d, [r12 + 4]
lea r8, [rbp - 0x71]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm8, dword [rbp - 0x61]
movss xmm9, dword [rbp - 0x4d]
subss xmm8, dword [rbp - 0x51]
subss xmm9, dword [rbp - 0x59]
movss xmm6, dword [rbp - 0x79]
subss xmm6, dword [rbp - 0x71]
mov rbx, qword [0x14008e1e0]
movaps xmm0, xmm8
mulss xmm0, xmm8
movaps xmm2, xmm9
mulss xmm2, xmm9
movaps xmm1, xmm6
mulss xmm1, xmm6
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
ucomiss xmm0, xmm2
ja 0x140048a0b
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140048a13
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm6, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_asinf
xorps xmm0, xmmword [0x140081b00]
xorps xmm2, xmm2
mulss xmm0, dword [0x140081968]
movaps xmm1, xmm8
cvtss2sd xmm2, xmm0
movaps xmm0, xmm9
divsd xmm2, qword [0x1400818f0]
cvtpd2ps xmm2, xmm2
movss dword [rbp - 0x65], xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
mulss xmm0, dword [0x140081968]
lea rdx, [r14 + rbx]
mov qword [rsp + 0x20], r12
mov r9d, 4
xorps xmm1, xmm1
lea r8, [rbp - 0x79]
mov rcx, rsi
cvtss2sd xmm1, xmm0
divsd xmm1, qword [0x1400818f0]
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x69], xmm0
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
add rbx, 4
mov qword [rsp + 0x20], r12
add rbx, r14
lea r8, [rbp - 0x71]
mov rdx, rbx
mov r9d, 4
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [rbp - 0x29]
lea r8, [rbp - 0x71]
movss xmm6, dword [rbp - 0x71]
add rdx, 0x214
movss xmm7, dword [rbp - 0x79]
mov r9d, 4
subss xmm6, dword [rbp - 0x69]
subss xmm7, dword [rbp - 0x65]
mov rcx, rsi
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [r15 + 0x1704]
mov qword [rbp - 0x45], r12
mov r9d, 0xc
mov dword [rbp - 0x49], r12d
lea r8, [rbp - 0x49]
mov qword [rsp + 0x20], r12
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [r15 + 0x1404]
mov qword [rsp + 0x20], r12
mov r9d, 4
lea r8, [rbp - 0x79]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movd xmm0, dword [rbp - 0x71]
movss xmm1, dword [0x140081ae0]
cvtdq2ps xmm0, xmm0
andps xmm6, xmm1
divss xmm0, dword [0x140081958]
mulss xmm0, dword [0x14008d048]
comiss xmm0, xmm6
jb 0x140048c17
andps xmm7, xmm1
comiss xmm0, xmm7
jb 0x140048c17
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140048c17
cmp dword [rbp - 0x79], 1
mov r9d, 4
mov qword [rsp + 0x20], r12
mov rdx, rbx
mov rcx, rsi
jle 0x140048beb
movss xmm0, dword [rbp - 0x45]
lea r8, [rbp - 0x71]
movss xmm1, dword [rbp - 0x69]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [0x1400818d8]
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x71], xmm0
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
movss xmm0, dword [rbp - 0x49]
lea r8, [rbp - 0x71]
movss xmm1, dword [rbp - 0x65]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [str.333333]
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x71], xmm0
jmp 0x140048bf9
lea r8, [rbp - 0x69]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
lea r8, [rbp - 0x65]
mov rdx, qword [0x14008e1e0]
mov r9d, 4
add rdx, r14
mov qword [rsp + 0x20], r12
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, qword [rbp - 0x21]
xor rcx, rsp
call fcn.140057980
lea r11, [rsp + 0xd0]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret