Function at 0x1400063e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
lea rbp, [rax - 0x28]
sub rsp, 0x120
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rax - 0xa8], xmm15
mov rax, qword [0x14005f040]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rbx, rcx
mov rdx, rcx
lea rcx, [rsp + 0x30]
mov r8d, 8
call fcn.140005740
mov r8d, 7
lea rcx, [rsp + 0x40]
mov rdx, rbx
call fcn.140005740
mov r8d, 5
lea rcx, [rsp + 0x50]
mov rdx, rbx
call fcn.140005740
mov ecx, dword [0x1401a841c]
xorps xmm15, xmm15
mov qword [rsp + 0x60], 0
xorps xmm12, xmm12
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140006568
mov ebx, dword [0x1401a94f8]
test ebx, ebx
jne 0x1400064a3
movss xmm8, dword [rsp + 0x30]
movss xmm9, dword [rsp + 0x34]
movss xmm6, dword [rsp + 0x38]
jmp 0x1400064db
cmp ebx, 1
jne 0x1400064be
movss xmm8, dword [rsp + 0x40]
movss xmm9, dword [rsp + 0x44]
movss xmm6, dword [rsp + 0x48]
jmp 0x1400064db
cmp ebx, 2
jne 0x140006692
movss xmm8, dword [rsp + 0x50]
movss xmm9, dword [rsp + 0x54]
movss xmm6, dword [rsp + 0x58]
subss xmm8, dword [0x1401a88b8]
subss xmm9, dword [0x1401a88bc]
subss xmm6, dword [0x1401a88c0]
movaps xmm0, xmm8
mulss xmm0, xmm8
movaps xmm1, xmm9
mulss xmm1, xmm9
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14000651c
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140006524
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm1, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movaps xmm7, xmm0
movaps xmm1, xmm8
mulss xmm7, dword [0x140055020]
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
mulss xmm0, dword [0x140055020]
movaps xmm1, xmm7
movd ecx, xmm15
unpcklps xmm1, xmm0
movaps xmm2, xmm1
movsd qword [rsp + 0x60], xmm1
jmp 0x1400066a6
mov ecx, dword [0x1401a9530]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140006a8a
mov eax, dword [0x1401a94f4]
test eax, eax
jne 0x1400065c1
movss xmm8, dword [rsp + 0x30]
movss xmm9, dword [rsp + 0x34]
subss xmm8, dword [0x1401a88b8]
subss xmm9, dword [0x1401a88bc]
movss xmm6, dword [rsp + 0x38]
movaps xmm1, xmm8
movaps xmm0, xmm9
mulss xmm1, xmm8
mulss xmm0, xmm9
jmp 0x140006602
cmp eax, 1
jne 0x14000666e
movss xmm8, dword [rsp + 0x40]
movss xmm9, dword [rsp + 0x44]
movss xmm6, dword [rsp + 0x48]
subss xmm9, dword [0x1401a88bc]
subss xmm8, dword [0x1401a88b8]
movaps xmm1, xmm9
movaps xmm0, xmm8
mulss xmm1, xmm9
mulss xmm0, xmm8
subss xmm6, dword [0x1401a88c0]
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14000661f
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140006627
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm1, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movaps xmm7, xmm0
movaps xmm1, xmm8
mulss xmm7, dword [0x140055020]
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
mulss xmm0, dword [0x140055020]
movaps xmm1, xmm7
mov ebx, dword [0x1401a94f8]
movd ecx, xmm15
unpcklps xmm1, xmm0
movaps xmm2, xmm1
movsd qword [rsp + 0x60], xmm1
jmp 0x1400066a6
cmp eax, 2
jne 0x14000668c
movss xmm8, dword [rsp + 0x50]
movss xmm9, dword [rsp + 0x54]
movss xmm6, dword [rsp + 0x58]
jmp 0x1400065de
mov ebx, dword [0x1401a94f8]
movss xmm0, dword [rsp + 0x64]
movss xmm2, dword [rsp + 0x60]
unpcklps xmm2, xmm0
movd ecx, xmm12
cmp byte [0x1401a94f1], 0
je 0x14000672a
test ebx, ebx
jne 0x1400066d6
movsd xmm0, qword [rsp + 0x30]
lea rcx, [rsp + 0x50]
mov eax, dword [rsp + 0x38]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
call fcn.140006140
jmp 0x140006a8a
cmp ebx, 1
jne 0x1400066fe
movsd xmm0, qword [rsp + 0x40]
lea rcx, [rsp + 0x50]
mov eax, dword [rsp + 0x48]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
call fcn.140006140
jmp 0x140006a8a
cmp ebx, 2
jne 0x140006a8a
movsd xmm0, qword [rsp + 0x50]
lea rcx, [rsp + 0x40]
mov eax, dword [rsp + 0x58]
movsd qword [rsp + 0x40], xmm0
mov dword [rsp + 0x48], eax
call fcn.140006140
jmp 0x140006a8a
cmp byte [0x1401a83f8], 0
je 0x140006a8a
cmp byte [0x1401a94ff], 0
je 0x140006ac9
movss xmm8, dword [0x1401a88c8]
comiss xmm8, dword [0x140055034]
mov qword [rsp + 0x138], rdi
movss xmm6, dword [0x1401a88cc]
movss xmm7, dword [0x140055098]
movaps xmmword [rsp + 0xd0], xmm10
movaps xmmword [rsp + 0xc0], xmm11
movaps xmmword [rsp + 0xa0], xmm13
movaps xmmword [rsp + 0x90], xmm14
jbe 0x14000679a
subss xmm8, xmm7
jmp 0x1400067ad
movss xmm0, dword [0x1400550dc]
comiss xmm0, xmm8
jbe 0x1400067ad
addss xmm8, xmm7
movss xmm9, dword [0x14005506c]
comiss xmm6, xmm9
movss xmm11, dword [0x1400550e8]
jbe 0x1400067d0
addss xmm6, xmm11
comiss xmm6, xmm9
ja 0x1400067c5
movss xmm10, dword [0x1400550e4]
comiss xmm10, xmm6
jbe 0x1400067ea
nop
addss xmm6, xmm7
comiss xmm10, xmm6
ja 0x1400067e0
mov ebx, dword [0x1401a97ac]
xor ecx, ecx
add rbx, qword [0x1401a99c0]
movaps xmm13, xmm15
mov rdi, qword [0x1401a9958]
movaps xmm14, xmm15
movss dword [rsp + 0x50], xmm15
movss dword [rsp + 0x54], xmm15
mov dword [rsp + 0x58], 0
mov qword [rsp + 0x30], 0
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r8, [rsp + 0x30]
mov rdx, rbx
mov rcx, rdi
call fcn.140049a90
test eax, eax
je 0x14000686c
mov rdx, qword [rsp + 0x30]
lea r8, [rsp + 0x50]
mov r9d, 0xc
mov byte [rsp + 0x20], 0
mov rcx, rdi
call fcn.1400496f0
movss xmm14, dword [rsp + 0x54]
movss xmm13, dword [rsp + 0x50]
movss xmm4, dword [0x1400550dc]
subss xmm8, xmm13
movss xmm13, dword [0x140055034]
subss xmm6, xmm14
movaps xmm14, xmmword [rsp + 0x90]
comiss xmm8, xmm13
jbe 0x14000689d
subss xmm8, xmm7
jmp 0x1400068a8
comiss xmm4, xmm8
jbe 0x1400068a8
addss xmm8, xmm7
comiss xmm6, xmm9
jbe 0x1400068bb
nop
addss xmm6, xmm11
comiss xmm6, xmm9
ja 0x1400068b0
comiss xmm10, xmm6
jbe 0x1400068cb
addss xmm6, xmm7
comiss xmm10, xmm6
ja 0x1400068c1
movss xmm5, dword [0x1401a83fc]
movss xmm3, dword [rsp + 0x60]
movaps xmm0, xmm5
movss xmm2, dword [rsp + 0x64]
mulss xmm0, xmm8
subss xmm3, xmm0
movaps xmm0, xmm5
mulss xmm0, xmm6
comiss xmm3, xmm13
subss xmm2, xmm0
movaps xmm0, xmm3
unpcklps xmm0, xmm2
movsd qword [rsp + 0x50], xmm0
jbe 0x14000690e
subss xmm3, xmm7
jmp 0x14000691f
comiss xmm4, xmm3
jbe 0x140006919
addss xmm3, xmm7
jmp 0x14000691f
movss xmm3, dword [rsp + 0x50]
comiss xmm2, xmm9
movaps xmm0, xmm2
movaps xmm1, xmm2
jbe 0x140006940
nop dword [rax + rax]
subss xmm2, xmm7
comiss xmm2, xmm9
ja 0x140006930
movaps xmm0, xmm2
movaps xmm1, xmm2
comiss xmm10, xmm2
jbe 0x140006960
nop word [rax + rax]
movaps xmm1, xmm0
addss xmm1, xmm7
comiss xmm10, xmm1
movaps xmm0, xmm1
ja 0x140006950
subss xmm3, dword [0x1401a88c8]
subss xmm1, dword [0x1401a88cc]
divss xmm8, xmm5
divss xmm3, xmm5
divss xmm1, xmm5
addss xmm3, dword [0x1401a88c8]
addss xmm1, dword [0x1401a88cc]
divss xmm6, xmm5
subss xmm3, xmm8
subss xmm1, xmm6
comiss xmm15, xmm3
jbe 0x1400069a4
addss xmm3, xmm7
comiss xmm3, xmm7
jbe 0x1400069ae
addss xmm3, xmm11
comiss xmm15, xmm1
jbe 0x1400069b8
addss xmm1, xmm7
comiss xmm1, xmm7
jbe 0x1400069c2
addss xmm1, xmm11
comiss xmm3, xmm13
movaps xmm13, xmmword [rsp + 0xa0]
jbe 0x1400069d8
addss xmm3, xmm11
jmp 0x1400069e1
comiss xmm4, xmm3
jbe 0x1400069e1
addss xmm3, xmm7
comiss xmm1, xmm9
jbe 0x1400069fb
nop word [rax + rax]
addss xmm1, xmm11
comiss xmm1, xmm9
ja 0x1400069f0
comiss xmm10, xmm1
movaps xmm11, xmmword [rsp + 0xc0]
jbe 0x140006a1a
nop word [rax + rax]
addss xmm1, xmm7
comiss xmm10, xmm1
ja 0x140006a10
mov ebx, dword [0x1401a97ac]
xor ecx, ecx
add rbx, qword [0x1401a99c0]
mov rdi, qword [0x1401a9958]
unpcklps xmm3, xmm1
movsd qword [rsp + 0x60], xmm3
mov qword [rsp + 0x30], 0
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r8, [rsp + 0x30]
mov rdx, rbx
mov rcx, rdi
call fcn.140049a90
movaps xmm10, xmmword [rsp + 0xd0]
test eax, eax
je 0x140006a82
mov rdx, qword [rsp + 0x30]
lea r8, [rsp + 0x60]
mov r9d, 8
mov byte [rsp + 0x20], 1
mov rcx, rdi
call fcn.1400496f0
mov rdi, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14004ab60
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop rbp
ret
movsd xmm0, qword [0x1401a88c8]
lea rdx, [rsp + 0x50]
mov eax, dword [0x1401a88d0]
mov dword [rsp + 0x48], ecx
lea rcx, [rsp + 0x40]
movsd qword [rsp + 0x50], xmm0
mov dword [rsp + 0x58], eax
movsd qword [rsp + 0x40], xmm2
call fcn.140005e50
jmp 0x140006a8a