Function at 0x14004df60
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x40
movaps xmmword [rsp + 0x30], xmm6
mov rax, qword [0x140079010]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov rbx, qword [0x140079da0]
lea rcx, [rsp + 0x20]
add rbx, 8
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rax, qword [rbx + 0xe30]
mov rcx, rbx
mov dword [rax + 0x3f98], 0
movd xmm2, dword [rsp + 0x24]
movd xmm1, dword [rsp + 0x20]
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
call fcn.140002c60
mov eax, dword [0x14007ac34]
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2ss xmm0, rax
movss dword [rbx + 8], xmm0
mov eax, dword [0x14007ac38]
cvtsi2ss xmm1, rax
movss dword [rbx + 0xc], xmm1
cmp byte [0x140079ffd], 0
je 0x14004dff8
mov r8b, 1
jmp 0x14004e004
cmp byte [0x140079ffe], 0
je 0x14004e00e
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.140002df0
cmp byte [0x14007a009], 0
je 0x14004e01c
mov r8b, 1
jmp 0x14004e028
cmp byte [0x14007a00a], 0
je 0x14004e035
xor r8d, r8d
mov edx, 1
mov rcx, rbx
call fcn.140002df0
cmp byte [0x14007a021], 0
je 0x14004e043
mov r8b, 1
jmp 0x14004e04f
cmp byte [0x14007a022], 0
je 0x14004e05c
xor r8d, r8d
mov edx, 2
mov rcx, rbx
call fcn.140002df0
cmp byte [0x14007a02d], 0
je 0x14004e06a
mov r8b, 1
jmp 0x14004e076
cmp byte [0x14007a02e], 0
je 0x14004e083
xor r8d, r8d
mov edx, 3
mov rcx, rbx
call fcn.140002df0
cmp byte [0x14007a039], 0
je 0x14004e091
mov r8b, 1
jmp 0x14004e09d
cmp byte [0x14007a03a], 0
je 0x14004e0aa
xor r8d, r8d
mov edx, 4
mov rcx, rbx
call fcn.140002df0
cmp byte [rbx + 0x38c9], 0
movss xmm6, dword [0x14006fee4]
je 0x14004e2a9
movzx r8d, byte [0x14007a0bc]
test r8b, r8b
je 0x14004e0d1
movaps xmm3, xmm6
jmp 0x14004e0d4
xorps xmm3, xmm3
mov edx, 0x1000
mov rcx, rbx
call fcn.140002ac0
cmp byte [rbx + 0x38c9], 0
je 0x14004e2a9
movzx r8d, byte [0x14007a0b0]
test r8b, r8b
je 0x14004e100
movaps xmm3, xmm6
jmp 0x14004e103
xorps xmm3, xmm3
mov edx, 0x2000
mov rcx, rbx
call fcn.140002ac0
cmp byte [rbx + 0x38c9], 0
je 0x14004e2a9
movzx r8d, byte [0x14007a0c8]
test r8b, r8b
je 0x14004e12f
movaps xmm3, xmm6
jmp 0x14004e132
xorps xmm3, xmm3
mov edx, 0x4000
mov rcx, rbx
call fcn.140002ac0
cmp byte [rbx + 0x38c9], 0
je 0x14004e2a9
movzx r8d, byte [0x14007a44c]
test r8b, r8b
je 0x14004e15e
movaps xmm3, xmm6
jmp 0x14004e161
xorps xmm3, xmm3
mov edx, 0x8000
mov rcx, rbx
call fcn.140002ac0
cmp byte [rbx + 0x38c9], 0
je 0x14004e2a9
movzx r8d, byte [0x14007a050]
test r8b, r8b
je 0x14004e18d
movaps xmm3, xmm6
jmp 0x14004e190
xorps xmm3, xmm3
mov edx, 0x20b
mov rcx, rbx
call fcn.140002ac0
cmp byte [rbx + 0x38c9], 0
je 0x14004e2a9
movzx r8d, byte [0x14007a05c]
test r8b, r8b
je 0x14004e1bc
movaps xmm3, xmm6
jmp 0x14004e1bf
xorps xmm3, xmm3
mov edx, 0x200
mov rcx, rbx
call fcn.140002ac0
cmp byte [rbx + 0x38c9], 0
je 0x14004e2a9
movzx r8d, byte [0x14007a134]
test r8b, r8b
je 0x14004e1eb
movaps xmm3, xmm6
jmp 0x14004e1ee
xorps xmm3, xmm3
mov edx, 0x20e
mov rcx, rbx
call fcn.140002ac0
cmp byte [rbx + 0x38c9], 0
je 0x14004e2a9
movzx r8d, byte [0x14007a08c]
test r8b, r8b
je 0x14004e21a
movaps xmm3, xmm6
jmp 0x14004e21d
xorps xmm3, xmm3
mov edx, 0x20d
mov rcx, rbx
call fcn.140002ac0
cmp byte [rbx + 0x38c9], 0
je 0x14004e2a9
movzx r8d, byte [0x14007a20c]
test r8b, r8b
je 0x14004e245
movaps xmm3, xmm6
jmp 0x14004e248
xorps xmm3, xmm3
mov edx, 0x209
mov rcx, rbx
call fcn.140002ac0
cmp byte [rbx + 0x38c9], 0
je 0x14004e2a9
movzx r8d, byte [0x14007a1ac]
test r8b, r8b
je 0x14004e270
movaps xmm3, xmm6
jmp 0x14004e273
xorps xmm3, xmm3
mov edx, 0x201
mov rcx, rbx
call fcn.140002ac0
cmp byte [rbx + 0x38c9], 0
je 0x14004e2a9
movzx r8d, byte [0x14007a1c4]
test r8b, r8b
jne 0x14004e299
xorps xmm6, xmm6
movaps xmm3, xmm6
mov edx, 0x202
mov rcx, rbx
call fcn.140002ac0
mov byte [rbx + 0x53], 1
lea rsi, [0x14007a172]
mov byte [rbx + 0x50], 1
mov edi, 0x20
nop dword [rax]
lea eax, [rdi - 0x25]
test eax, 0xfffffff5
jne 0x14004e2cf
cmp edi, 0x2f
jne 0x14004e30a
cmp byte [rsi], 0
je 0x14004e30a
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004e2fe
mov ecx, 0x14
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004e2fe
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
jmp 0x14004e300
mov eax, edi
mov edx, eax
mov rcx, rbx
call fcn.140002a00
inc edi
add rsi, 0xc
cmp edi, 0x7e
jl 0x14004e2c0
mov eax, dword [0x7ffe0008]
xorps xmm0, xmm0
mov ecx, dword [0x7ffe000c]
shl rcx, 0x20
or rcx, rax
movabs rax, 0x346dc5d63886594b
imul rcx
sar rdx, 0xb
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cvtsi2sd xmm0, rdx
divsd xmm0, qword [0x14006ff30]
cvtpd2ps xmm2, xmm0
movaps xmm1, xmm2
subss xmm1, dword [0x140079f64]
movss dword [0x140079f64], xmm2
movss dword [rbx + 0x10], xmm1
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.140065230
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop rdi
ret