Function at 0x14009e8a0
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.14009b8f0
movsxd rdi, eax
test eax, eax
js 0x14009ef58
mov eax, dword [0x1400bc590]
cmp eax, 1
jne 0x14009e912
lea ebx, [rax + 7]
jmp 0x14009e92b
cmp eax, 2
jne 0x14009e91c
lea ebx, [rax + 5]
jmp 0x14009e92b
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 0x14009ef58
imul rcx, rdi, 0x38
add rcx, qword [0x1400bce20]
movups xmm13, xmmword [rcx]
movups xmm11, xmmword [rcx + 0x10]
movups xmm6, xmmword [rcx + 0x20]
movsd xmm0, qword [rcx + 0x30]
movsd qword [rsp + 0x210], xmm0
mov rdx, qword [0x1400bcdf0]
add rdx, 0x1f90
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.1400a0210
test al, al
jne 0x14009e9c2
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 + 0x5c8]
call fcn.14009f900
mov rcx, rax
test rax, rax
jne 0x14009e9ea
lea rcx, [rdi + 0x5d8]
call fcn.14009f900
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.1400a0210
test al, al
jne 0x14009ea56
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.1400a0210
test al, al
jne 0x14009eabd
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.140098710
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.140098710
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.140098890
movups xmm9, xmmword [rax + 0x30]
mov qword [rsp + 0x1b0], 0
mov dword [rsp + 0x1b8], 0
psrldq xmm11, 8
movq rdx, xmm11
add rdx, 0x164
mov r9d, 0xc
lea r8, [rsp + 0x1b0]
call fcn.1400a0210
test al, al
jne 0x14009ebb3
xor eax, eax
mov qword [rsp + 0x1b0], rax
mov dword [rsp + 0x1b8], eax
movaps xmm7, xmm9
shufps xmm7, xmm9, 0xaa
movss xmm0, dword [rsp + 0x1b8]
comiss xmm0, xmm7
jae 0x14009ef58
mov rdx, qword [0x1400bce10]
add rdx, 0x448
mov qword [rsp + 0x1a0], 0
mov dword [rsp + 0x1a8], 0
mov r9d, 0xc
lea r8, [rsp + 0x1a0]
call fcn.1400a0210
test al, al
jne 0x14009ec1b
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 xmm11, dword [rsp + 0x1c4]
subss xmm0, xmm11
movss xmm6, dword [0x1400b3550]
movaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm8, xmm0
movaps xmm0, xmm9
movss xmm12, dword [rsp + 0x1c0]
subss xmm0, xmm12
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 0x14009ec97
xorps xmm0, xmm0
sqrtss xmm0, xmm8
jmp 0x14009eca0
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 [0x1400b3620]
mulss xmm0, xmm8
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
divsd xmm1, qword [0x1400b3558]
cvtpd2ps xmm6, xmm1
subss xmm11, xmm14
subss xmm12, xmm9
divss xmm11, xmm12
movaps xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm1, qword [0x1400b3588]
cvtpd2ps xmm7, xmm1
comiss xmm12, xmm10
jb 0x14009ed03
addss xmm7, xmm8
psrldq xmm13, 8
movq rcx, xmm13
add rcx, 0x1b0
call fcn.14009fc00
comiss xmm0, xmm10
jb 0x14009ef58
movss xmm1, dword [rsp + 0x1a4]
subss xmm7, xmm1
cmp byte [0x1400be215], 0
je 0x14009edd6
addss xmm1, xmm7
subss xmm6, dword [rsp + 0x1a0]
addss xmm6, dword [rsp + 0x1a0]
movss xmm0, dword [0x1400b3630]
comiss xmm10, xmm6
jbe 0x14009ed66
addss xmm6, xmm0
movss xmm2, dword [0x1400b36ac]
comiss xmm6, xmm0
jbe 0x14009ed77
addss xmm6, xmm2
comiss xmm10, xmm1
jbe 0x14009ed81
addss xmm1, xmm0
comiss xmm1, xmm0
jbe 0x14009ed8a
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 [0x1400bc548]
cvtdq2ps xmm2, xmm2
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.14009b550
jmp 0x14009ef58
movss xmm11, dword [rsp + 0x1a8]
subss xmm10, xmm11
movss xmm12, dword [rsp + 0x1a0]
subss xmm6, xmm12
movss xmm5, dword [0x1400b3608]
movss xmm2, dword [0x1400b36a8]
comiss xmm6, xmm5
jbe 0x14009ee19
nop dword [rax]
addss xmm6, xmm2
comiss xmm6, xmm5
ja 0x14009ee10
movss xmm3, dword [0x1400b36a0]
comiss xmm3, xmm6
jbe 0x14009ee30
addss xmm6, xmm8
comiss xmm3, xmm6
ja 0x14009ee26
movss xmm9, dword [0x1400b36ac]
comiss xmm7, xmm8
jbe 0x14009ee4b
nop
addss xmm7, xmm9
comiss xmm7, xmm8
ja 0x14009ee40
movss xmm4, dword [0x1400b3630]
comiss xmm2, xmm7
jbe 0x14009ee69
nop dword [rax + rax]
addss xmm7, xmm4
comiss xmm2, xmm7
ja 0x14009ee60
movd xmm0, dword [0x1400bc548]
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 0x14009ee9d
addss xmm6, xmm2
comiss xmm6, xmm5
ja 0x14009ee94
comiss xmm3, xmm6
jbe 0x14009eeac
addss xmm6, xmm8
comiss xmm3, xmm6
ja 0x14009eea2
comiss xmm1, xmm8
jbe 0x14009eebd
addss xmm1, xmm9
comiss xmm1, xmm8
ja 0x14009eeb2
comiss xmm2, xmm1
jbe 0x14009eecb
addss xmm1, xmm4
comiss xmm2, xmm1
ja 0x14009eec2
movaps xmm0, xmm6
unpcklps xmm0, xmm1
movsd qword [rsp + 0x30], xmm0
movss dword [rsp + 0x38], xmm11
mov rbx, qword [0x1400bce10]
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 [0x1400be290]
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.1400a02a0
nop
mov rcx, qword [rsp + 0x268]
xor rcx, rsp
call fcn.1400a0390
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