Function at 0x14009d090
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 0x14009d768
mov eax, dword [0x1400bc568]
cmp eax, 1
jne 0x14009d102
lea ebx, [rax + 7]
jmp 0x14009d11b
cmp eax, 2
jne 0x14009d10c
lea ebx, [rax + 5]
jmp 0x14009d11b
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 0x14009d768
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.14009f0a0
test al, al
jne 0x14009d1b2
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.14009e790
mov rcx, rax
test rax, rax
jne 0x14009d1da
lea rcx, [rdi + 0x5c8]
call fcn.14009e790
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.14009f0a0
test al, al
jne 0x14009d246
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.14009f0a0
test al, al
jne 0x14009d2ad
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.14009f0a0
test al, al
jne 0x14009d3a3
xor eax, eax
mov qword [rsp + 0x1b0], rax
mov dword [rsp + 0x1b8], eax
movq rcx, xmm11
add rcx, 0x1180
call fcn.14009e790
lea rcx, [rax + 0x501]
call fcn.14009ea90
movaps xmm7, xmm9
shufps xmm7, xmm9, 0xaa
movss xmm0, dword [rsp + 0x1b8]
comiss xmm0, xmm7
jae 0x14009d768
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.14009f0a0
test al, al
jne 0x14009d428
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 [0x1400b2508]
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 0x14009d4a4
xorps xmm0, xmm0
sqrtss xmm0, xmm8
jmp 0x14009d4ad
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 [0x1400b25c8]
mulss xmm0, xmm8
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
divsd xmm1, qword [0x1400b2510]
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 [0x1400b2530]
cvtpd2ps xmm7, xmm1
comiss xmm13, xmm10
jb 0x14009d510
addss xmm7, xmm8
psrldq xmm11, 8
movq rcx, xmm11
add rcx, 0x1b0
call fcn.14009ea00
comiss xmm0, xmm10
jb 0x14009d768
movss xmm1, dword [rsp + 0x1a4]
subss xmm7, xmm1
cmp byte [0x1400bce9e], 0
je 0x14009d5e3
addss xmm1, xmm7
subss xmm6, dword [rsp + 0x1a0]
addss xmm6, dword [rsp + 0x1a0]
movss xmm0, dword [0x1400b25d4]
comiss xmm10, xmm6
jbe 0x14009d573
addss xmm6, xmm0
movss xmm2, dword [0x1400b2624]
comiss xmm6, xmm0
jbe 0x14009d584
addss xmm6, xmm2
comiss xmm10, xmm1
jbe 0x14009d58e
addss xmm1, xmm0
comiss xmm1, xmm0
jbe 0x14009d597
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 0x14009d768
movss xmm11, dword [rsp + 0x1a8]
subss xmm10, xmm11
movss xmm12, dword [rsp + 0x1a0]
subss xmm6, xmm12
movss xmm5, dword [0x1400b25a8]
movss xmm2, dword [0x1400b2620]
comiss xmm6, xmm5
jbe 0x14009d61f
addss xmm6, xmm2
comiss xmm6, xmm5
ja 0x14009d616
movss xmm3, dword [0x1400b2618]
comiss xmm3, xmm6
jbe 0x14009d63a
nop dword [rax]
addss xmm6, xmm8
comiss xmm3, xmm6
ja 0x14009d630
movss xmm9, dword [0x1400b2624]
comiss xmm7, xmm8
jbe 0x14009d65b
nop dword [rax]
addss xmm7, xmm9
comiss xmm7, xmm8
ja 0x14009d650
movss xmm4, dword [0x1400b25d4]
comiss xmm2, xmm7
jbe 0x14009d679
nop dword [rax + rax]
addss xmm7, xmm4
comiss xmm2, xmm7
ja 0x14009d670
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 0x14009d6ad
addss xmm6, xmm2
comiss xmm6, xmm5
ja 0x14009d6a4
comiss xmm3, xmm6
jbe 0x14009d6bc
addss xmm6, xmm8
comiss xmm3, xmm6
ja 0x14009d6b2
comiss xmm1, xmm8
jbe 0x14009d6cd
addss xmm1, xmm9
comiss xmm1, xmm8
ja 0x14009d6c2
comiss xmm2, xmm1
jbe 0x14009d6db
addss xmm1, xmm4
comiss xmm2, xmm1
ja 0x14009d6d2
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.14009f130
nop
mov rcx, qword [rsp + 0x268]
xor rcx, rsp
call fcn.14009f400
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