Function at 0x14009f0f0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
lea rbp, [rax - 0x208]
sub rsp, 0x2f8
movss xmm0, dword [rdx + 0x58]
mov rbx, rdx
movss xmm1, dword [rdx + 0x5c]
movss dword [rbp - 0x28], xmm0
movss xmm0, dword [rdx + 0x60]
movss dword [rbp - 0x20], xmm0
movss xmm0, dword [rdx + 0x64]
movss dword [rbp - 0x10], xmm0
movss xmm0, dword [rdx + 0x6c]
movss dword [rbp - 8], xmm0
movss xmm0, dword [rdx + 0x70]
movss dword [rbp + 8], xmm0
movss xmm0, dword [rdx + 0x78]
movss dword [rbp + 0x10], xmm0
movss xmm0, dword [rdx + 0x7c]
movss dword [rbp + 0x20], xmm0
movss xmm0, dword [rdx + 0x84]
movss dword [rbp + 0x28], xmm0
movss xmm0, dword [rdx + 0x88]
movss dword [rbp + 0x38], xmm0
movss xmm0, dword [rdx + 0x90]
movss dword [rbp + 0x40], xmm0
movaps xmmword [rax - 0x38], xmm7
xorps xmm7, xmm7
movss xmm0, dword [rdx + 0x94]
movss dword [rbp - 0x24], xmm1
movss xmm1, dword [rdx + 0x68]
movss dword [rbp + 0x50], xmm0
movss xmm0, dword [rdx + 0x9c]
movss dword [rbp - 0xc], xmm1
movss xmm1, dword [rdx + 0x74]
movss dword [rbp + 0x58], xmm0
movss xmm0, dword [rdx + 0xa0]
movss dword [rbp + 0xc], xmm1
movss xmm1, dword [rdx + 0x80]
movss dword [rbp + 0x68], xmm0
movss xmm0, dword [rdx + 0xa8]
movss dword [rbp + 0x24], xmm1
movss xmm1, dword [rdx + 0x8c]
movss dword [rbp + 0x70], xmm0
movss xmm0, dword [rdx + 0xac]
movss dword [rbp + 0x3c], xmm1
movss xmm1, dword [rdx + 0x98]
mov qword [rax + 0x18], rsi
xor esi, esi
movss dword [rbp + 0x80], xmm0
movss xmm0, dword [rdx + 0xb4]
movss dword [rbp + 0x54], xmm1
movss xmm1, dword [rdx + 0xa4]
movss dword [rbp + 0x88], xmm0
movss xmm0, dword [rdx + 0x10c]
movss dword [rbp + 0x6c], xmm1
movss xmm1, dword [rdx + 0xb0]
mov qword [rax + 0x20], rdi
movss dword [rbp + 0x98], xmm0
movss xmm0, dword [rdx + 0x114]
movss dword [rbp + 0x84], xmm1
movss xmm1, dword [rdx + 0x110]
mov qword [rax - 0x18], r14
lea rax, [rbp - 0x30]
movss dword [rbp + 0xa0], xmm0
movss dword [rbp + 0x9c], xmm1
mov qword [rbp - 0x30], rsi
mov byte [rbp - 0x1c], sil
mov qword [rbp - 0x18], rsi
mov byte [rbp - 4], sil
mov qword [rbp], rsi
mov byte [rbp + 0x14], sil
mov qword [rbp + 0x18], rsi
mov byte [rbp + 0x2c], sil
mov qword [rbp + 0x30], rsi
mov byte [rbp + 0x44], sil
mov qword [rbp + 0x48], rsi
mov byte [rbp + 0x5c], sil
mov qword [rbp + 0x60], rsi
mov byte [rbp + 0x74], sil
mov qword [rbp + 0x78], rsi
mov byte [rbp + 0x8c], sil
mov qword [rbp + 0x90], rsi
mov byte [rbp + 0xa4], sil
mov qword [rbp + 0x210], rax
movups xmm0, xmmword [0x14038c56c]
mov edx, dword [0x14038bbb0]
add rdx, qword [rbx]
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [0x14038c57c]
movups xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [0x14038c58c]
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [0x14038c59c]
movups xmmword [rbp - 0x80], xmm0
movups xmm0, xmmword [0x14038c5ac]
movups xmmword [rsp + 0x30], xmm0
call fcn.140003510
mov rdi, rax
test rax, rax
je 0x14009f32f
mov edx, dword [0x14038bb9c]
add rdx, rax
call fcn.14000bba0
mov esi, eax
mov rdx, qword [0x14038c5f0]
mov r8d, esi
mov rcx, qword [0x14038c5e8]
call fcn.140094380
cmp rax, qword [0x14038c5f0]
mov rsi, qword [rsp + 0x320]
je 0x14009f35f
movups xmm0, xmmword [0x14038c5bc]
jmp 0x14009f3a3
movd xmm0, dword [0x14038c604]
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [rbx + 0x34]
jb 0x14009f379
movups xmm0, xmmword [0x14038c55c]
jmp 0x14009f3a3
mov rax, qword [0x140369aa8]
cmp qword [rbx], rax
jne 0x14009f397
cmp byte [0x140369ab0], 0
je 0x14009f397
movups xmm0, xmmword [0x14038c54c]
jmp 0x14009f3a3
test rdi, rdi
jne 0x14009f3a8
movups xmm0, xmmword [0x14038c53c]
movups xmmword [rsp + 0x30], xmm0
cmp byte [0x14038c510], 0
movups xmm2, xmmword [rsp + 0x30]
mov rdi, qword [rsp + 0x328]
je 0x14009f3e8
lea rdx, [rbx + 0x58]
lea rcx, [rbp + 0xb0]
call fcn.140014eb0
lea r8, [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm2
mov rdx, rax
lea rcx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.1400a1ac0
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x210]
call fcn.14009edb0
mov r14, qword [rsp + 0x2f0]
test al, al
je 0x14009f941
cmp byte [0x14038c513], 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 + 0x2e0], xmm6
movaps xmmword [rsp + 0x2c0], xmm8
movss xmm8, dword [0x140334fec]
movaps xmmword [rsp + 0x2b0], xmm9
movss xmm9, dword [0x140334ffc]
cvttss2si r8d, xmm0
mov dword [rsp + 0x34], edx
cvttss2si r9d, xmm1
mov dword [rsp + 0x38], r8d
movaps xmmword [rsp + 0x2a0], xmm10
movaps xmmword [rsp + 0x270], xmm13
movss xmm13, dword [0x140334e40]
mov dword [rsp + 0x3c], r9d
je 0x14009f5cb
movss xmm1, dword [rbx + 0x3c]
movss xmm0, dword [0x140334fb8]
maxss xmm1, xmm7
movd xmm4, dword [0x14038c40c]
movss xmm10, dword [0x14038c524]
mov dword [rsp + 0x40], 0x3f48c8ca
mov dword [rsp + 0x44], 0x3f48c8ca
minss xmm1, dword [0x140334f7c]
mov dword [rsp + 0x48], 0x3f48c8ca
movd xmm3, r8d
cvtdq2ps xmm3, xmm3
mulss xmm1, dword [0x140334eb4]
mulss xmm3, xmm13
subss xmm0, xmm1
cvtdq2ps xmm4, xmm4
cvttss2si eax, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movd xmm2, eax
lea eax, [r9 + rdx]
addss xmm3, xmm0
movd xmm5, eax
movups xmm0, xmmword [rsp + 0x40]
mov eax, dword [0x14038c408]
cdq
shufps xmm0, xmm0, 0x93
sub eax, edx
sar eax, 1
cvtdq2ps xmm2, xmm2
movd xmm6, eax
mulss xmm2, dword [0x140334dbc]
cvtdq2ps xmm6, xmm6
movss xmm0, xmm2
comiss xmm6, xmm7
shufps xmm0, xmm0, 0x39
movaps xmm1, xmm6
movups xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm0, xmm3
cvtdq2ps xmm5, xmm5
unpcklps xmm1, xmm4
unpcklps xmm0, xmm5
movsd qword [rbp + 0x218], xmm1
movsd qword [rbp + 0x210], xmm0
jb 0x14009f5cb
comiss xmm4, xmm7
jb 0x14009f5cb
comiss xmm6, xmm9
ja 0x14009f5cb
comiss xmm4, xmm8
ja 0x14009f5cb
comiss xmm3, xmm7
jb 0x14009f5cb
comiss xmm5, xmm7
jb 0x14009f5cb
comiss xmm3, xmm9
ja 0x14009f5cb
comiss xmm5, xmm8
ja 0x14009f5cb
lea rcx, [rsp + 0x40]
call fcn.1400d0160
mov rcx, qword [0x14038c728]
lea r8, [rbp + 0x210]
mov r9d, eax
movss dword [rsp + 0x20], xmm10
lea rdx, [rbp + 0x218]
mov rcx, qword [rcx]
call fcn.1400e9ab0
cmp byte [0x14038c4fc], 0
je 0x14009f5ee
movups xmm0, xmmword [rsp + 0x70]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x30]
movdqa xmmword [rsp + 0x70], xmm0
call fcn.1400a0820
movd xmm0, dword [0x14038c604]
movss xmm2, dword [rbx + 0x34]
movss xmm10, dword [0x140334e7c]
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x14009f630
movss xmm3, dword [rbx + 0x38]
lea rdx, [rsp + 0x30]
call fcn.1400a10d0
movss xmm2, dword [rbx + 0x30]
comiss xmm2, xmm10
jb 0x14009f630
lea rdx, [rsp + 0x30]
call fcn.1400a1680
cmp dword [0x14038c50c], 0
movups xmm6, xmmword [rsp + 0x60]
jne 0x14009f656
lea r9, [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm6
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.1400a0360
movups xmm0, xmmword [rbp - 0x80]
lea rax, [rsp + 0x60]
mov rdx, rbx
movups xmm1, xmmword [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x50]
lea rax, [rbp - 0x80]
movdqa xmmword [rsp + 0x60], xmm6
lea r8, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea rcx, reloc.OLEAUT32.dll_SysReAllocString
movdqa xmmword [rbp - 0x80], xmm0
movdqa xmmword [rsp + 0x50], xmm1
call fcn.14009f960
cmp byte [0x14038c484], 0
je 0x14009f915
movss xmm2, dword [0x140369b2c]
movss xmm0, dword [0x14033501c]
comiss xmm2, xmm0
jbe 0x14009f6f3
movss xmm1, dword [0x140334dd0]
comiss xmm2, xmm1
jae 0x14009f6f3
movss xmm2, dword [0x140369b30]
comiss xmm2, xmm0
jbe 0x14009f6f3
comiss xmm2, xmm1
jae 0x14009f6f3
movss xmm2, dword [0x140369b34]
comiss xmm2, xmm0
jbe 0x14009f6f3
comiss xmm2, xmm1
jb 0x14009f915
mov rax, qword [0x14038c9a8]
cmp qword [rbx], rax
jne 0x14009f915
mov ecx, dword [0x14038c41c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14009f915
movups xmm0, xmmword [0x14038c1a4]
lea rdx, [rbp - 0x70]
movups xmm1, xmmword [0x14038c1b4]
lea rcx, [rbp - 0x70]
movss xmm6, dword [0x140369b2c]
movaps xmmword [rsp + 0x290], xmm11
movss xmm11, dword [0x140369b30]
movaps xmmword [rbp - 0x70], xmm0
movups xmm0, xmmword [0x14038c1c4]
movaps xmmword [rbp - 0x60], xmm1
movups xmm1, xmmword [0x14038c1d4]
movaps xmmword [rsp + 0x280], xmm12
movss xmm12, dword [0x140369b34]
movaps xmmword [rbp - 0x50], xmm0
movaps xmmword [rbp - 0x40], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXMatrixTranspose]
mov ecx, dword [0x14038c40c]
movaps xmm3, xmm6
mulss xmm3, dword [rbp - 0x40]
movaps xmm0, xmm11
mov eax, dword [0x14038c408]
mulss xmm0, dword [rbp - 0x3c]
movaps xmm1, xmm12
mulss xmm1, dword [rbp - 0x38]
addss xmm3, xmm0
addss xmm3, xmm1
addss xmm3, dword [rbp - 0x34]
comiss xmm3, dword [0x140334dec]
ja 0x14009f7c5
xorps xmm2, xmm2
xorps xmm4, xmm4
jmp 0x14009f85e
movaps xmm0, xmm11
movaps xmm2, xmm10
mulss xmm0, dword [rbp - 0x5c]
movaps xmm1, xmm12
mulss xmm11, dword [rbp - 0x4c]
mulss xmm12, dword [rbp - 0x48]
mulss xmm1, dword [rbp - 0x58]
divss xmm2, xmm3
movaps xmm3, xmm6
mulss xmm6, dword [rbp - 0x50]
mulss xmm3, dword [rbp - 0x60]
addss xmm6, xmm11
addss xmm3, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
addss xmm6, xmm12
addss xmm3, xmm1
movaps xmm4, xmm0
mulss xmm4, xmm13
addss xmm6, dword [rbp - 0x44]
addss xmm3, dword [rbp - 0x54]
mulss xmm6, xmm2
mulss xmm3, xmm2
mulss xmm6, xmm13
movaps xmm2, xmm3
addss xmm2, xmm10
mulss xmm6, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm2, xmm13
addss xmm6, xmm13
mulss xmm2, xmm0
subss xmm4, xmm6
addss xmm2, xmm13
addss xmm2, xmm3
movups xmm0, xmmword [0x14038c488]
cdq
movaps xmm12, xmmword [rsp + 0x280]
sub eax, edx
movaps xmm11, xmmword [rsp + 0x290]
movaps xmm1, xmm2
sar eax, 1
movups xmmword [rsp + 0x50], xmm0
movdqa xmmword [rsp + 0x50], 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 0x14009f915
comiss xmm3, xmm7
jb 0x14009f915
comiss xmm5, xmm9
ja 0x14009f915
comiss xmm3, xmm8
ja 0x14009f915
comiss xmm2, xmm7
jb 0x14009f915
comiss xmm4, xmm7
jb 0x14009f915
comiss xmm2, xmm9
ja 0x14009f915
comiss xmm4, xmm8
ja 0x14009f915
lea rcx, [rsp + 0x50]
call fcn.1400d0160
mov rcx, qword [0x14038c728]
lea r8, [rbp + 0x210]
mov r9d, eax
movss dword [rsp + 0x20], xmm10
lea rdx, [rbp + 0x218]
mov rcx, qword [rcx]
call fcn.1400e9ab0
movaps xmm10, xmmword [rsp + 0x2a0]
movaps xmm9, xmmword [rsp + 0x2b0]
movaps xmm8, xmmword [rsp + 0x2c0]
movaps xmm6, xmmword [rsp + 0x2e0]
movaps xmm13, xmmword [rsp + 0x270]
movaps xmm7, xmmword [rsp + 0x2d0]
add rsp, 0x2f8
pop rbx
pop rbp
ret