Function at 0x14009f6e0
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 [0x14038948c]
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 [0x140389550]
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 0x14009f8f5
movups xmm0, xmmword [0x1403894bc]
jmp 0x14009f917
mov rax, qword [0x140389900]
cmp qword [rbx], rax
jne 0x14009f90a
movups xmm0, xmmword [0x1403894ac]
jmp 0x14009f917
cmp byte [rbx + 0x2c], 0
je 0x14009f91c
movups xmm0, xmmword [0x14038949c]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [0x1403894cc]
mov rcx, qword [0x140389520]
movups xmm2, xmmword [rsp + 0x30]
mov rax, qword [0x140389528]
movups xmmword [rsp + 0x30], xmm0
sub rax, rcx
movups xmm0, xmmword [0x1403894dc]
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 [0x1403894ec]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [0x1403894fc]
movups xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [0x14038950c]
movups xmmword [rsp + 0x40], xmm0
test rax, rax
je 0x14009ffbf
cmp dword [rcx], 0
je 0x14009f9aa
movdqa xmm10, xmm2
jmp 0x14009f9b0
movups xmm10, xmmword [rsp + 0x30]
cmp rax, 1
jbe 0x14009ffbf
cmp dword [rcx + 4], 0
je 0x14009f9c6
movdqa xmm6, xmm2
jmp 0x14009f9cb
movups xmm6, xmmword [rsp + 0x70]
cmp rax, 2
jbe 0x14009ffbf
cmp dword [rcx + 8], 0
je 0x14009f9e2
movdqa xmm12, xmm2
jmp 0x14009f9e8
movups xmm12, xmmword [rsp + 0x50]
cmp rax, 3
jbe 0x14009ffbf
cmp dword [rcx + 0xc], 0
je 0x14009f9ff
movdqa xmm11, xmm2
jmp 0x14009fa05
movups xmm11, xmmword [rsp + 0x60]
cmp rax, 4
jbe 0x14009ffbf
cmp dword [rcx + 0x10], 0
jne 0x14009fa1a
movups xmm2, xmmword [rsp + 0x40]
cmp byte [0x140389478], 0
je 0x14009fa49
lea rcx, [rbp + 0xa0]
call fcn.140015330
lea r8, [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm2
mov rdx, rax
lea rcx, reloc.WS2_32.dll_bind
call fcn.1400a1ce0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x210]
call fcn.14009f3a0
test al, al
je 0x14009ff83
cmp byte [0x14038947b], 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 [0x1403327bc]
movaps xmmword [rsp + 0x2c0], xmm9
movss xmm9, dword [0x1403327cc]
cvttss2si r8d, xmm0
mov dword [rsp + 0x34], edx
cvttss2si r9d, xmm1
mov dword [rsp + 0x38], r8d
movaps xmmword [rsp + 0x280], xmm13
movss xmm13, dword [0x140332600]
mov dword [rsp + 0x3c], r9d
je 0x14009fc3b
movss xmm1, dword [rbx + 0x3c]
xorps xmm3, xmm3
movss xmm0, dword [0x140332788]
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 [0x140332744]
mulss xmm3, xmm13
xorps xmm14, xmm14
xorps xmm5, xmm5
movaps xmmword [rsp + 0x260], xmm15
movss xmm15, dword [0x140389484]
xorps xmm4, xmm4
mulss xmm1, dword [0x14033267c]
cvtsi2ss xmm4, dword [0x14038937c]
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 [0x14033257c]
cvtsi2ss xmm5, eax
mov eax, dword [0x140389378]
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 0x14009fc29
comiss xmm4, xmm7
jb 0x14009fc29
comiss xmm14, xmm9
ja 0x14009fc29
comiss xmm4, xmm8
ja 0x14009fc29
comiss xmm3, xmm7
jb 0x14009fc29
comiss xmm5, xmm7
jb 0x14009fc29
comiss xmm3, xmm9
ja 0x14009fc29
comiss xmm5, xmm8
ja 0x14009fc29
lea rcx, [rsp + 0x40]
call fcn.1400d0890
mov rcx, qword [0x140389668]
lea r8, [rbp + 0x210]
mov r9d, eax
movss dword [rsp + 0x20], xmm15
lea rdx, [rbp + 0x218]
mov rcx, qword [rcx]
call fcn.1400ea7f0
movaps xmm14, xmmword [rsp + 0x270]
movaps xmm15, xmmword [rsp + 0x260]
cmp byte [0x140389464], 0
je 0x14009fc5a
lea r8, [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm10
lea rdx, [rsp + 0x30]
call fcn.1400a0fc0
movd xmm0, dword [0x140389550]
movss xmm2, dword [rbx + 0x34]
movss xmm10, dword [0x14033263c]
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x14009fc9c
movss xmm3, dword [rbx + 0x38]
lea rdx, [rsp + 0x30]
call fcn.1400a12f0
movss xmm2, dword [rbx + 0x30]
comiss xmm2, xmm10
jb 0x14009fc9c
lea rdx, [rsp + 0x30]
call fcn.1400a18a0
cmp dword [0x140389474], 0
jne 0x14009fccf
cmp byte [0x14038947c], 0
jne 0x14009fcb7
cmp byte [0x14038947d], 0
je 0x14009fccf
lea r9, [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm6
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.1400a0ab0
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.1400a0000
cmp byte [0x1403893f0], 0
je 0x14009ff68
movss xmm2, dword [0x140366afc]
movss xmm0, dword [0x1403327ec]
comiss xmm2, xmm0
jbe 0x14009fd67
movss xmm1, dword [0x140332590]
comiss xmm2, xmm1
jae 0x14009fd67
movss xmm2, dword [0x140366b00]
comiss xmm2, xmm0
jbe 0x14009fd67
comiss xmm2, xmm1
jae 0x14009fd67
movss xmm2, dword [0x140366b04]
comiss xmm2, xmm0
jbe 0x14009fd67
comiss xmm2, xmm1
jb 0x14009ff68
mov rax, qword [0x140389900]
cmp qword [rbx], rax
jne 0x14009ff68
mov ecx, dword [0x14038938c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14009ff68
movups xmm0, xmmword [0x140389114]
lea rdx, [rbp - 0x80]
movups xmm1, xmmword [0x140389124]
lea rcx, [rbp - 0x80]
movss xmm12, dword [0x140366afc]
movss xmm6, dword [0x140366b00]
movss xmm11, dword [0x140366b04]
movaps xmmword [rbp - 0x80], xmm0
movups xmm0, xmmword [0x140389134]
movaps xmmword [rbp - 0x70], xmm1
movups xmm1, xmmword [0x140389144]
movaps xmmword [rbp - 0x60], xmm0
movaps xmmword [rbp - 0x50], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXMatrixTranspose]
mov ecx, dword [0x14038937c]
movaps xmm3, xmm12
mulss xmm3, dword [rbp - 0x50]
movaps xmm0, xmm6
mov eax, dword [0x140389378]
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 [0x1403325ac]
ja 0x14009fe27
xorps xmm2, xmm2
xorps xmm4, xmm4
jmp 0x14009fec3
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 [0x1403893f4]
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 0x14009ff68
comiss xmm3, xmm7
jb 0x14009ff68
comiss xmm5, xmm9
ja 0x14009ff68
comiss xmm3, xmm8
ja 0x14009ff68
comiss xmm2, xmm7
jb 0x14009ff68
comiss xmm4, xmm7
jb 0x14009ff68
comiss xmm2, xmm9
ja 0x14009ff68
comiss xmm4, xmm8
ja 0x14009ff68
lea rcx, [rsp + 0x40]
call fcn.1400d0890
mov rcx, qword [0x140389668]
lea r8, [rbp + 0x210]
mov r9d, eax
movss dword [rsp + 0x20], xmm10
lea rdx, [rbp + 0x218]
mov rcx, qword [rcx]
call fcn.1400ea7f0
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.14001b780
int3