Function at 0x1402950b0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x30], xmm7
movdqa xmmword [rbp + 0x20], xmm6
mov qword [rbp + 0x18], 0xfffffffffffffffe
mov r14, rcx
mov r15d, dword [0x14083d9a0]
mov esi, dword [0x14083d9a4]
mov r8d, dword [0x14082195c]
add r8, qword [0x14083da18]
lea rdi, [0x14083d938]
lea rdx, [rbp - 0x30]
mov r9d, ntohs
mov rcx, rdi
call fcn.1401f3700
mov r8d, dword [0x1408219a0]
add r8, qword [0x14083da80]
lea rdx, [rbp - 0x60]
mov r9d, Ordinal_32
mov rcx, rdi
call fcn.1401ef5e0
movss xmm0, dword [rbp - 0x4c]
movsd xmm1, qword [rbp - 0x54]
movsd xmm2, qword [rbp - 0x30]
subps xmm1, xmm2
subss xmm0, dword [rbp - 0x28]
mov eax, dword [0x140837e38]
mov ecx, dword [0x140837e3c]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp - 8]
mov edx, 0x56cc51cf
mov eax, 0xb3df5bca
cmove eax, edx
cmp ecx, 0xa
setl byte [rbp + 0x10]
cmovl eax, edx
mov edx, 0x26dd34e9
mov ecx, 0x3d5cfcb4
cmp edx, 0x3d5cfcb3
jle 0x1402951a0
cmp edx, 0x3d5cfcb4
je 0x1402951c7
cmp edx, 0x56cc51cf
jne 0x140295180
jmp 0x1402951d2
cmp edx, 0xb3df5bca
je 0x1402951cb
cmp edx, 0x26dd34e9
jne 0x140295180
movzx ebx, byte [rbp - 8]
cmp byte [rbp + 0x10], 0
mov edx, 0xb3df5bca
cmovne edx, ecx
test bl, bl
cmovne edx, ecx
jmp 0x140295180
mov edx, eax
jmp 0x140295180
mov edx, 0x3d5cfcb4
jmp 0x140295180
movd xmm2, r15d
movd xmm3, esi
punpckldq xmm3, xmm2
cvtdq2ps xmm7, xmm3
movss dword [rbp - 0x20], xmm1
shufps xmm1, xmm1, 0x55
movss dword [rbp - 0x1c], xmm1
movss dword [rbp - 0x18], xmm0
mov rcx, rbp
lea rdx, [rbp - 0x20]
call fcn.1401f3010
movaps xmm0, xmmword [0x1403e4170]
mulps xmm0, xmm7
cvttps2dq xmm6, xmm0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x140295239
mov dword [0x14083dc48], 0
xorps xmm0, xmm0
movss dword [0x14083dc4c], xmm0
jmp 0x140295444
divps xmm7, xmmword [0x1403f15a0]
lea rcx, [rbp + 0x10]
call fcn.140238b40
mov rax, qword [rbp + 0x10]
mov qword [0x14083dc80], rax
mov ecx, dword [0x14083ed78]
mov edx, dword [0x14083ed7c]
lea ebx, [rcx - 1]
imul ebx, ecx
sub rax, qword [0x14083dc88]
test bl, 1
sete byte [rbp - 8]
mov ecx, 0xd2234e6
mov ebx, 0x4f0301c4
cmove ebx, ecx
cmp edx, 0xa
setl byte [rbp + 0x10]
cmovl ebx, ecx
mov ecx, 0x868ca49a
mov edi, 0x267ef609
nop word cs:[rax + rax]
nop
cmp ecx, 0x267ef608
jg 0x1402952c0
cmp ecx, 0x868ca49a
je 0x1402952db
cmp ecx, 0xd2234e6
jne 0x1402952a0
jmp 0x1402952fa
cmp ecx, 0x267ef609
je 0x1402952f2
cmp ecx, 0x4f0301c4
jne 0x1402952a0
mov qword [rbp - 0x10], rax
mov ecx, 0x267ef609
jmp 0x1402952a0
movzx edx, byte [rbp - 8]
cmp byte [rbp + 0x10], 0
mov ecx, 0x4f0301c4
cmovne ecx, edi
test dl, dl
cmovne ecx, edi
jmp 0x1402952a0
mov qword [rbp - 0x10], rax
mov ecx, ebx
jmp 0x1402952a0
cvttps2dq xmm7, xmm7
lea rcx, [rbp - 8]
lea rdx, [rbp - 0x10]
call fcn.140294f50
mov eax, dword [0x14083ed80]
mov ecx, dword [0x14083ed84]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0xf]
mov edx, 0xb06803b9
mov eax, 0xc2f4ec6f
cmove eax, edx
cmp ecx, 0xa
setl byte [rbp + 0xe]
movsd xmm0, qword [rbp - 8]
cmovl eax, edx
mov edx, 0xc0e4dcd6
mov ecx, 0x4c60698d
nop word [rax + rax]
cmp edx, 0xc2f4ec6e
jg 0x140295380
cmp edx, 0xb06803b9
je 0x14029539b
cmp edx, 0xc0e4dcd6
jne 0x140295350
movzx ebx, byte [rbp + 0xf]
cmp byte [rbp + 0xe], 0
mov edx, 0xc2f4ec6f
cmovne edx, ecx
test bl, bl
cmovne edx, ecx
jmp 0x140295350
cmp edx, 0xc2f4ec6f
je 0x140295394
cmp edx, 0x4c60698d
jne 0x140295350
mov edx, eax
jmp 0x140295350
mov edx, 0x4c60698d
jmp 0x140295350
movsd qword [rbp + 0x10], xmm0
movsd xmm0, qword [rbp + 0x10]
cvtdq2ps xmm1, xmm7
movsd xmm2, qword [rbp]
mulps xmm2, xmm1
cvtdq2ps xmm1, xmm6
movaps xmm3, xmm1
subps xmm3, xmm2
addps xmm2, xmm1
shufps xmm2, xmm3, 1
shufps xmm2, xmm3, 0xe2
cvttps2dq xmm6, xmm2
ucomisd xmm0, qword [0x1403dd5e0]
jbe 0x140295444
lea rcx, [rbp + 0x10]
call fcn.140238b40
mov ecx, dword [0x14083d998]
pshufd xmm0, xmm6, 0x55
movd eax, xmm0
sub ecx, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
movss dword [0x14083dc48], xmm0
mov eax, dword [0x14083d99c]
movd edx, xmm6
sub eax, edx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov rdx, qword [rbp + 0x10]
mov qword [0x14083dc88], rdx
movss dword [0x14083dc4c], xmm0
cmp ecx, 0x5b
jb 0x140295432
mov dword [0x14083dc48], 0x42b40000
cmp eax, 0x5a
jbe 0x140295444
movss xmm0, dword [0x1403dd5ac]
jmp 0x14029522c
cmp byte [0x14083df96], 0
je 0x140295471
movups xmm0, xmmword [r14]
movaps xmmword [rbp - 0x40], xmm0
movd edx, xmm6
pshufd xmm0, xmm6, 0x55
movd ecx, xmm0
lea r9, [rbp - 0x40]
mov r8d, 3
call fcn.14020bb40
mov eax, dword [0x140837ce8]
mov ecx, dword [0x140837cec]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x10]
mov eax, 0xf81d05a8
mov edi, 0x119a6dbd
cmove edi, eax
cmp ecx, 0xa
setl byte [rbp]
cmovl edi, eax
mov eax, 0x863b8a43
mov esi, 0xf1c3a59f
nop dword [rax + rax]
cmp eax, 0xf81d05a7
jg 0x1402954d0
cmp eax, 0x863b8a43
je 0x1402954e5
cmp eax, 0xf1c3a59f
jne 0x1402954b0
mov eax, edi
jmp 0x1402954b0
cmp eax, 0xf81d05a8
je 0x1402954fc
cmp eax, 0x119a6dbd
jne 0x1402954b0
mov eax, 0xf1c3a59f
jmp 0x1402954b0
movzx ebx, byte [rbp + 0x10]
cmp byte [rbp], 0
mov eax, 0x119a6dbd
cmovne eax, esi
test bl, bl
cmovne eax, esi
jmp 0x1402954b0
test dl, 1
sete byte [rbp + 0x10]
cmp ecx, 0xa
setl byte [rbp]
mov edx, 0x863b8a43
mov ecx, 0xf1c3a59f
nop word cs:[rax + rax]
nop
cmp edx, 0xf81d05a7
jg 0x140295540
cmp edx, 0x863b8a43
je 0x140295557
cmp edx, 0xf1c3a59f
jne 0x140295520
mov edx, edi
jmp 0x140295520
cmp edx, 0xf81d05a8
je 0x14029556e
cmp edx, 0x119a6dbd
jne 0x140295520
mov edx, 0xf1c3a59f
jmp 0x140295520
movzx eax, byte [rbp + 0x10]
cmp byte [rbp], 0
mov edx, 0x119a6dbd
cmovne edx, ecx
test al, al
cmovne edx, ecx
jmp 0x140295520
movaps xmm6, xmmword [rbp + 0x20]
movaps xmm7, xmmword [rbp + 0x30]
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret