Function at 0x14009d2c0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rdi
sub rsp, 0x300
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rax - 0x88], xmm13
movaps xmmword [rax - 0x98], xmm14
mov rax, qword [0x1400bc040]
xor rax, rsp
mov qword [rsp + 0x268], rax
call fcn.140099460
movsxd rdi, eax
test eax, eax
js 0x14009d998
mov eax, dword [0x1400bc568]
cmp eax, 1
jne 0x14009d332
lea ebx, [rax + 7]
jmp 0x14009d34b
cmp eax, 2
jne 0x14009d33c
lea ebx, [rax + 5]
jmp 0x14009d34b
mov ebx, dword [rsp + 0x40]
mov ecx, 5
cmp eax, 3
cmove ebx, ecx
mov ecx, dword [0x1400bc0c4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14009d998
imul rcx, rdi, 0x38
add rcx, qword [0x1400bd000]
movups xmm11, xmmword [rcx]
movups xmm12, xmmword [rcx + 0x10]
movups xmm6, xmmword [rcx + 0x20]
movsd xmm0, qword [rcx + 0x30]
movsd qword [rsp + 0x210], xmm0
mov rdx, qword [0x1400bcfc0]
add rdx, 0x1ff0
xorps xmm0, xmm0
movups xmmword [rsp + 0x1c0], xmm0
xorps xmm10, xmm10
mov qword [rsp + 0x1d0], 0
mov r9d, 0x1c
lea r8, [rsp + 0x1c0]
call fcn.14009f2d0
test al, al
jne 0x14009d3e2
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x1c0], xmm0
mov qword [rsp + 0x1d0], rax
mov dword [rsp + 0x1d8], eax
movq rdi, xmm6
lea rcx, [rdi + 0x5d8]
call fcn.14009e9c0
mov rcx, rax
test rax, rax
jne 0x14009d40a
lea rcx, [rdi + 0x5c8]
call fcn.14009e9c0
mov rcx, rax
mov qword [rsp + 0x1f0], 0
mov dword [rsp + 0x1f8], 0
mov qword [rsp + 0x200], 0
mov dword [rsp + 0x208], 0
lea eax, [rbx + rbx*2]
shl eax, 4
movsxd rdx, eax
add rdx, rcx
mov r9d, 0x30
lea r8, [rsp + 0x1e0]
call fcn.14009f2d0
test al, al
jne 0x14009d476
xorps xmm0, xmm0
movups xmmword [rsp + 0x1e0], xmm0
movups xmmword [rsp + 0x1f0], xmm0
movups xmmword [rsp + 0x200], xmm0
mov qword [rsp + 0x230], 0
mov dword [rsp + 0x238], 0
mov qword [rsp + 0x240], 0
mov dword [rsp + 0x248], 0
lea rdx, [rdi + 0x250]
mov r9d, 0x30
lea r8, [rsp + 0x220]
call fcn.14009f2d0
test al, al
jne 0x14009d4dd
xorps xmm0, xmm0
movups xmmword [rsp + 0x220], xmm0
movups xmmword [rsp + 0x230], xmm0
movups xmmword [rsp + 0x240], xmm0
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x220]
call fcn.140095ca0
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmm8, xmmword [rax + 0x20]
movups xmm9, xmmword [rax + 0x30]
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x1e0]
call fcn.140095ca0
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0xb0], xmm7
movaps xmmword [rsp + 0xc0], xmm8
movaps xmmword [rsp + 0xd0], xmm9
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x80], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x90], xmm1
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x160]
call fcn.140095e20
movups xmm9, xmmword [rax + 0x30]
mov qword [rsp + 0x1b0], 0
mov dword [rsp + 0x1b8], 0
psrldq xmm12, 8
movq rdx, xmm12
add rdx, 0x164
mov r9d, 0xc
lea r8, [rsp + 0x1b0]
call fcn.14009f2d0
test al, al
jne 0x14009d5d3
xor eax, eax
mov qword [rsp + 0x1b0], rax
mov dword [rsp + 0x1b8], eax
movq rcx, xmm11
add rcx, 0x1180
call fcn.14009e9c0
lea rcx, [rax + 0x501]
call fcn.14009ecc0
movaps xmm7, xmm9
shufps xmm7, xmm9, 0xaa
movss xmm0, dword [rsp + 0x1b8]
comiss xmm0, xmm7
jae 0x14009d998
mov rdx, qword [0x1400bcff0]
add rdx, 0x448
mov qword [rsp + 0x1a0], 0
mov dword [rsp + 0x1a8], 0
mov r9d, 0xc
lea r8, [rsp + 0x1a0]
call fcn.14009f2d0
test al, al
jne 0x14009d658
xor eax, eax
mov qword [rsp + 0x1a0], rax
mov dword [rsp + 0x1a8], eax
subss xmm7, dword [rsp + 0x1c8]
movaps xmm14, xmm9
shufps xmm14, xmm9, 0x55
movaps xmm0, xmm14
movss xmm12, dword [rsp + 0x1c4]
subss xmm0, xmm12
movss xmm6, dword [0x1400b2520]
movaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm8, xmm0
movaps xmm0, xmm9
movss xmm13, dword [rsp + 0x1c0]
subss xmm0, xmm13
movaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm8, xmm0
movaps xmm1, xmm6
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
addss xmm8, xmm0
xorps xmm1, xmm1
ucomiss xmm1, xmm8
ja 0x14009d6d4
xorps xmm0, xmm0
sqrtss xmm0, xmm8
jmp 0x14009d6dd
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm7, xmm0
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_asinf
movss xmm8, dword [0x1400b25e0]
mulss xmm0, xmm8
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
divsd xmm1, qword [0x1400b2528]
cvtpd2ps xmm6, xmm1
subss xmm12, xmm14
subss xmm13, xmm9
divss xmm12, xmm13
movaps xmm0, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm1, qword [0x1400b2548]
cvtpd2ps xmm7, xmm1
comiss xmm13, xmm10
jb 0x14009d740
addss xmm7, xmm8
psrldq xmm11, 8
movq rcx, xmm11
add rcx, 0x1b0
call fcn.14009ec30
comiss xmm0, xmm10
jb 0x14009d998
movss xmm1, dword [rsp + 0x1a4]
subss xmm7, xmm1
cmp byte [0x1400bce9e], 0
je 0x14009d813
addss xmm1, xmm7
subss xmm6, dword [rsp + 0x1a0]
addss xmm6, dword [rsp + 0x1a0]
movss xmm0, dword [0x1400b25ec]
comiss xmm10, xmm6
jbe 0x14009d7a3
addss xmm6, xmm0
movss xmm2, dword [0x1400b263c]
comiss xmm6, xmm0
jbe 0x14009d7b4
addss xmm6, xmm2
comiss xmm10, xmm1
jbe 0x14009d7be
addss xmm1, xmm0
comiss xmm1, xmm0
jbe 0x14009d7c7
addss xmm1, xmm2
movsd xmm0, qword [rsp + 0x1cc]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rsp + 0x1d4]
mov dword [rsp + 0x58], eax
movaps xmm0, xmm6
unpcklps xmm0, xmm1
movsd qword [rsp + 0x30], xmm0
movss dword [rsp + 0x38], xmm10
movd xmm2, dword [0x1400bc544]
cvtdq2ps xmm2, xmm2
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.1400990c0
jmp 0x14009d998
movss xmm11, dword [rsp + 0x1a8]
subss xmm10, xmm11
movss xmm12, dword [rsp + 0x1a0]
subss xmm6, xmm12
movss xmm5, dword [0x1400b25c0]
movss xmm2, dword [0x1400b2638]
comiss xmm6, xmm5
jbe 0x14009d84f
addss xmm6, xmm2
comiss xmm6, xmm5
ja 0x14009d846
movss xmm3, dword [0x1400b2630]
comiss xmm3, xmm6
jbe 0x14009d86a
nop dword [rax]
addss xmm6, xmm8
comiss xmm3, xmm6
ja 0x14009d860
movss xmm9, dword [0x1400b263c]
comiss xmm7, xmm8
jbe 0x14009d88b
nop dword [rax]
addss xmm7, xmm9
comiss xmm7, xmm8
ja 0x14009d880
movss xmm4, dword [0x1400b25ec]
comiss xmm2, xmm7
jbe 0x14009d8a9
nop dword [rax + rax]
addss xmm7, xmm4
comiss xmm2, xmm7
ja 0x14009d8a0
movd xmm0, dword [0x1400bc544]
cvtdq2ps xmm0, xmm0
divss xmm10, xmm0
divss xmm7, xmm0
addss xmm11, xmm10
addss xmm1, xmm7
divss xmm6, xmm0
addss xmm6, xmm12
comiss xmm6, xmm5
jbe 0x14009d8dd
addss xmm6, xmm2
comiss xmm6, xmm5
ja 0x14009d8d4
comiss xmm3, xmm6
jbe 0x14009d8ec
addss xmm6, xmm8
comiss xmm3, xmm6
ja 0x14009d8e2
comiss xmm1, xmm8
jbe 0x14009d8fd
addss xmm1, xmm9
comiss xmm1, xmm8
ja 0x14009d8f2
comiss xmm2, xmm1
jbe 0x14009d90b
addss xmm1, xmm4
comiss xmm2, xmm1
ja 0x14009d902
movaps xmm0, xmm6
unpcklps xmm0, xmm1
movsd qword [rsp + 0x30], xmm0
movss dword [rsp + 0x38], xmm11
mov rbx, qword [0x1400bcff0]
add rbx, 0x448
xor eax, eax
mov qword [rsp + 0x1e0], rax
mov qword [rsp + 0x208], rax
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x210], xmm0
mov eax, dword [0x1400be538]
mov dword [rsp + 0x1e8], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [rsp + 0x1ec], eax
mov qword [rsp + 0x1f0], rbx
lea rax, [rsp + 0x30]
mov qword [rsp + 0x1f8], rax
mov qword [rsp + 0x200], 0xc
mov edx, 2
lea rcx, [rsp + 0x1e0]
call fcn.14009f360
nop
mov rcx, qword [rsp + 0x268]
xor rcx, rsp
call fcn.14009f630
lea r11, [rsp + 0x300]
mov rbx, qword [r11 + 0x10]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
mov rsp, r11
pop rdi
ret