Function at 0x140097b00
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 8], rcx
push rbp
lea rbp, [rax - 0x208]
sub rsp, 0x300
movss xmm0, dword [rdx + 0x58]
mov rbx, rdx
movss xmm1, dword [rdx + 0x5c]
add rdx, 0x58
movss dword [rbp - 0x38], xmm0
movss dword [rbp - 0x34], xmm1
movss xmm1, dword [rbx + 0x68]
movss xmm0, dword [rdx + 8]
movss dword [rbp - 0x30], xmm0
movss xmm0, dword [rbx + 0x64]
movss dword [rbp - 0x20], xmm0
movss xmm0, dword [rbx + 0x6c]
movss dword [rbp - 0x18], xmm0
movss xmm0, dword [rbx + 0x70]
movss dword [rbp - 8], xmm0
movss xmm0, dword [rbx + 0x78]
movss dword [rbp], xmm0
movss xmm0, dword [rbx + 0x7c]
movss dword [rbp + 0x10], xmm0
movss xmm0, dword [rbx + 0x84]
movss dword [rbp + 0x18], xmm0
movss xmm0, dword [rbx + 0x88]
movaps xmmword [rax - 0x28], xmm7
lea rax, [rbp - 0x40]
movss dword [rbp + 0x28], xmm0
xorps xmm7, xmm7
movss xmm0, dword [rbx + 0x90]
movss dword [rbp + 0x30], xmm0
movss xmm0, dword [rbx + 0x94]
movss dword [rbp + 0x40], xmm0
movss xmm0, dword [rbx + 0x9c]
movss dword [rbp + 0x48], xmm0
movss xmm0, dword [rbx + 0xa0]
movss dword [rbp + 0x58], xmm0
movss xmm0, dword [rbx + 0xa8]
movss dword [rbp - 0x1c], xmm1
movss xmm1, dword [rbx + 0x74]
movss dword [rbp + 0x60], xmm0
movss xmm0, dword [rbx + 0xac]
movss dword [rbp - 4], xmm1
movss xmm1, dword [rbx + 0x80]
movss dword [rbp + 0x70], xmm0
movss xmm0, dword [rbx + 0xb4]
movss dword [rbp + 0x14], xmm1
movss xmm1, dword [rbx + 0x8c]
movss dword [rbp + 0x78], xmm0
movss xmm0, dword [rbx + 0x10c]
movss dword [rbp + 0x2c], xmm1
movss xmm1, dword [rbx + 0x98]
movss dword [rbp + 0x88], xmm0
movss xmm0, dword [rbx + 0x114]
movss dword [rbp + 0x44], xmm1
movss xmm1, dword [rbx + 0xa4]
movss dword [rbp + 0x90], xmm0
movups xmm0, xmmword [0x14037e188]
mov qword [rbp - 0x40], 0
movss dword [rbp + 0x5c], xmm1
movss xmm1, dword [rbx + 0xb0]
movss dword [rbp + 0x74], xmm1
movss xmm1, dword [rbx + 0x110]
movups xmmword [rsp + 0x30], xmm0
mov byte [rbp - 0x2c], 0
movd xmm0, dword [0x14037e248]
movss dword [rbp + 0x8c], xmm1
mov qword [rbp - 0x28], 0
mov byte [rbp - 0x14], 0
mov qword [rbp - 0x10], 0
mov byte [rbp + 4], 0
mov qword [rbp + 8], 0
mov byte [rbp + 0x1c], 0
mov qword [rbp + 0x20], 0
mov byte [rbp + 0x34], 0
mov qword [rbp + 0x38], 0
mov byte [rbp + 0x4c], 0
mov qword [rbp + 0x50], 0
mov byte [rbp + 0x64], 0
mov qword [rbp + 0x68], 0
mov byte [rbp + 0x7c], 0
mov qword [rbp + 0x80], 0
mov byte [rbp + 0x94], 0
mov qword [rbp + 0x210], rax
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [rbx + 0x34]
jb 0x140097d15
movups xmm0, xmmword [0x14037e1b8]
jmp 0x140097d37
mov rax, qword [0x14037e5e8]
cmp qword [rbx], rax
jne 0x140097d2a
movups xmm0, xmmword [0x14037e1a8]
jmp 0x140097d37
cmp byte [rbx + 0x2c], 0
je 0x140097d3c
movups xmm0, xmmword [0x14037e198]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [0x14037e1c8]
mov rcx, qword [0x14037e218]
movups xmm2, xmmword [rsp + 0x30]
mov rax, qword [0x14037e220]
movups xmmword [rsp + 0x30], xmm0
sub rax, rcx
movups xmm0, xmmword [0x14037e1d8]
sar rax, 2
movaps xmmword [rsp + 0x2f0], xmm6
movaps xmmword [rsp + 0x2b0], xmm10
movaps xmmword [rsp + 0x2a0], xmm11
movaps xmmword [rsp + 0x290], xmm12
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [0x14037e1e8]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [0x14037e1f8]
movups xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [0x14037e208]
movups xmmword [rsp + 0x40], xmm0
test rax, rax
je 0x1400983df
cmp dword [rcx], 0
je 0x140097dca
movdqa xmm10, xmm2
jmp 0x140097dd0
movups xmm10, xmmword [rsp + 0x30]
cmp rax, 1
jbe 0x1400983df
cmp dword [rcx + 4], 0
je 0x140097de6
movdqa xmm6, xmm2
jmp 0x140097deb
movups xmm6, xmmword [rsp + 0x70]
cmp rax, 2
jbe 0x1400983df
cmp dword [rcx + 8], 0
je 0x140097e02
movdqa xmm12, xmm2
jmp 0x140097e08
movups xmm12, xmmword [rsp + 0x50]
cmp rax, 3
jbe 0x1400983df
cmp dword [rcx + 0xc], 0
je 0x140097e1f
movdqa xmm11, xmm2
jmp 0x140097e25
movups xmm11, xmmword [rsp + 0x60]
cmp rax, 4
jbe 0x1400983df
cmp dword [rcx + 0x10], 0
jne 0x140097e3a
movups xmm2, xmmword [rsp + 0x40]
cmp byte [0x14037e174], 0
je 0x140097e69
lea rcx, [rbp + 0xa0]
call fcn.140011c90
lea r8, [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm2
mov rdx, rax
lea rcx, reloc.WS2_32.dll_bind
call fcn.14009a100
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x210]
call fcn.1400977c0
test al, al
je 0x1400983a3
cmp byte [0x14037e177], 0
movss xmm0, dword [rsp + 0x44]
movss xmm1, dword [rsp + 0x4c]
subss xmm0, dword [rsp + 0x40]
subss xmm1, dword [rsp + 0x48]
cvttss2si ecx, dword [rsp + 0x40]
cvttss2si edx, dword [rsp + 0x48]
mov dword [rsp + 0x30], ecx
movaps xmmword [rsp + 0x2d0], xmm8
movss xmm8, dword [0x140329110]
movaps xmmword [rsp + 0x2c0], xmm9
movss xmm9, dword [0x140329120]
cvttss2si r8d, xmm0
mov dword [rsp + 0x34], edx
cvttss2si r9d, xmm1
mov dword [rsp + 0x38], r8d
movaps xmmword [rsp + 0x280], xmm13
movss xmm13, dword [0x140328f58]
mov dword [rsp + 0x3c], r9d
je 0x14009805b
movss xmm1, dword [rbx + 0x3c]
xorps xmm3, xmm3
movss xmm0, dword [0x1403290e4]
maxss xmm1, xmm7
cvtsi2ss xmm3, r8d
mov dword [rsp + 0x40], 0x3f48c8ca
mov dword [rsp + 0x44], 0x3f48c8ca
mov dword [rsp + 0x48], 0x3f48c8ca
movaps xmmword [rsp + 0x270], xmm14
xorps xmm2, xmm2
minss xmm1, dword [0x14032909c]
mulss xmm3, xmm13
xorps xmm14, xmm14
xorps xmm5, xmm5
movaps xmmword [rsp + 0x260], xmm15
movss xmm15, dword [0x14037e180]
xorps xmm4, xmm4
mulss xmm1, dword [0x140328fd4]
cvtsi2ss xmm4, dword [0x14037e08c]
subss xmm0, xmm1
cvttss2si eax, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
cvtsi2ss xmm2, eax
lea eax, [r9 + rdx]
addss xmm3, xmm0
movups xmm0, xmmword [rsp + 0x40]
mulss xmm2, dword [0x140328ed4]
cvtsi2ss xmm5, eax
mov eax, dword [0x14037e088]
cdq
sub eax, edx
sar eax, 1
shufps xmm0, xmm0, 0x93
movss xmm0, xmm2
shufps xmm0, xmm0, 0x39
movups xmmword [rsp + 0x40], xmm0
cvtsi2ss xmm14, eax
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm3
comiss xmm14, xmm7
movaps xmm1, xmm14
unpcklps xmm0, xmm5
unpcklps xmm1, xmm4
movsd qword [rbp + 0x218], xmm1
movsd qword [rbp + 0x210], xmm0
jb 0x140098049
comiss xmm4, xmm7
jb 0x140098049
comiss xmm14, xmm9
ja 0x140098049
comiss xmm4, xmm8
ja 0x140098049
comiss xmm3, xmm7
jb 0x140098049
comiss xmm5, xmm7
jb 0x140098049
comiss xmm3, xmm9
ja 0x140098049
comiss xmm5, xmm8
ja 0x140098049
lea rcx, [rsp + 0x40]
call fcn.1400c8c50
mov rcx, qword [0x14037e360]
lea r8, [rbp + 0x210]
mov r9d, eax
movss dword [rsp + 0x20], xmm15
lea rdx, [rbp + 0x218]
mov rcx, qword [rcx]
call fcn.1400e2bb0
movaps xmm14, xmmword [rsp + 0x270]
movaps xmm15, xmmword [rsp + 0x260]
cmp byte [0x14037e163], 0
je 0x14009807a
lea r8, [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm10
lea rdx, [rsp + 0x30]
call fcn.1400993e0
movd xmm0, dword [0x14037e248]
movss xmm2, dword [rbx + 0x34]
movss xmm10, dword [0x140328f94]
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x1400980bc
movss xmm3, dword [rbx + 0x38]
lea rdx, [rsp + 0x30]
call fcn.140099710
movss xmm2, dword [rbx + 0x30]
comiss xmm2, xmm10
jb 0x1400980bc
lea rdx, [rsp + 0x30]
call fcn.140099cc0
cmp dword [0x14037e170], 0
jne 0x1400980ef
cmp byte [0x14037e178], 0
jne 0x1400980d7
cmp byte [0x14037e179], 0
je 0x1400980ef
lea r9, [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm6
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.140098ed0
lea rax, [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm6
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x50]
lea rax, [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm11
lea r8, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov rdx, rbx
movdqa xmmword [rsp + 0x50], xmm12
lea rcx, reloc.WS2_32.dll_bind
call fcn.140098420
cmp byte [0x14037e0f8], 0
je 0x140098388
movss xmm2, dword [0x14035bcdc]
movss xmm0, dword [0x140329140]
comiss xmm2, xmm0
jbe 0x140098187
movss xmm1, dword [0x140328ee8]
comiss xmm2, xmm1
jae 0x140098187
movss xmm2, dword [0x14035bce0]
comiss xmm2, xmm0
jbe 0x140098187
comiss xmm2, xmm1
jae 0x140098187
movss xmm2, dword [0x14035bce4]
comiss xmm2, xmm0
jbe 0x140098187
comiss xmm2, xmm1
jb 0x140098388
mov rax, qword [0x14037e5e8]
cmp qword [rbx], rax
jne 0x140098388
mov ecx, dword [0x14037e09c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140098388
movups xmm0, xmmword [0x14037de24]
lea rdx, [rbp - 0x80]
movups xmm1, xmmword [0x14037de34]
lea rcx, [rbp - 0x80]
movss xmm12, dword [0x14035bcdc]
movss xmm6, dword [0x14035bce0]
movss xmm11, dword [0x14035bce4]
movaps xmmword [rbp - 0x80], xmm0
movups xmm0, xmmword [0x14037de44]
movaps xmmword [rbp - 0x70], xmm1
movups xmm1, xmmword [0x14037de54]
movaps xmmword [rbp - 0x60], xmm0
movaps xmmword [rbp - 0x50], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXMatrixTranspose]
mov ecx, dword [0x14037e08c]
movaps xmm3, xmm12
mulss xmm3, dword [rbp - 0x50]
movaps xmm0, xmm6
mov eax, dword [0x14037e088]
mulss xmm0, dword [rbp - 0x4c]
movaps xmm1, xmm11
mulss xmm1, dword [rbp - 0x48]
addss xmm3, xmm0
addss xmm3, xmm1
addss xmm3, dword [rbp - 0x44]
comiss xmm3, dword [0x140328f04]
ja 0x140098247
xorps xmm2, xmm2
xorps xmm4, xmm4
jmp 0x1400982e3
movaps xmm0, xmm6
movaps xmm1, xmm11
mulss xmm6, dword [rbp - 0x5c]
movaps xmm2, xmm10
mulss xmm0, dword [rbp - 0x6c]
mulss xmm1, dword [rbp - 0x68]
mulss xmm11, dword [rbp - 0x58]
divss xmm2, xmm3
movaps xmm3, xmm12
mulss xmm3, dword [rbp - 0x70]
addss xmm3, xmm0
movss xmm0, dword [rbp - 0x60]
mulss xmm0, xmm12
addss xmm6, xmm0
xorps xmm0, xmm0
addss xmm3, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
addss xmm3, dword [rbp - 0x64]
addss xmm6, xmm11
movaps xmm4, xmm1
cvtsi2ss xmm0, eax
addss xmm6, dword [rbp - 0x54]
mulss xmm3, xmm2
mulss xmm4, xmm13
mulss xmm6, xmm2
movaps xmm2, xmm3
addss xmm2, xmm10
mulss xmm6, xmm13
mulss xmm2, xmm13
mulss xmm6, xmm1
mulss xmm2, xmm0
addss xmm6, xmm13
addss xmm2, xmm13
subss xmm4, xmm6
addss xmm2, xmm3
movups xmm0, xmmword [0x14037e0fc]
cdq
sub eax, edx
movaps xmm1, xmm2
sar eax, 1
movups xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x40], xmm0
movd xmm5, eax
mov eax, ecx
cdq
unpcklps xmm1, xmm4
sub eax, edx
movsd qword [rbp + 0x210], xmm1
sar eax, 1
cvtdq2ps xmm5, xmm5
movd xmm3, eax
comiss xmm5, xmm7
cvtdq2ps xmm3, xmm3
movaps xmm0, xmm5
unpcklps xmm0, xmm3
movsd qword [rbp + 0x218], xmm0
jb 0x140098388
comiss xmm3, xmm7
jb 0x140098388
comiss xmm5, xmm9
ja 0x140098388
comiss xmm3, xmm8
ja 0x140098388
comiss xmm2, xmm7
jb 0x140098388
comiss xmm4, xmm7
jb 0x140098388
comiss xmm2, xmm9
ja 0x140098388
comiss xmm4, xmm8
ja 0x140098388
lea rcx, [rsp + 0x40]
call fcn.1400c8c50
mov rcx, qword [0x14037e360]
lea r8, [rbp + 0x210]
mov r9d, eax
movss dword [rsp + 0x20], xmm10
lea rdx, [rbp + 0x218]
mov rcx, qword [rcx]
call fcn.1400e2bb0
movaps xmm9, xmmword [rsp + 0x2c0]
movaps xmm8, xmmword [rsp + 0x2d0]
movaps xmm13, xmmword [rsp + 0x280]
movaps xmm12, xmmword [rsp + 0x290]
movaps xmm11, xmmword [rsp + 0x2a0]
movaps xmm10, xmmword [rsp + 0x2b0]
movaps xmm6, xmmword [rsp + 0x2f0]
mov rbx, qword [rsp + 0x320]
movaps xmm7, xmmword [rsp + 0x2e0]
add rsp, 0x300
pop rbp
ret
call fcn.140012580
int3