Function at 0x1400054e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
lea rbp, [rax - 0x18]
sub rsp, 0x110
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rsp + 0x70], xmm15
mov rax, qword [0x14006a040]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rbx, rcx
mov rdx, rcx
lea rcx, [rsp + 0x50]
mov r8d, 8
call fcn.140004890
mov r8d, 7
lea rcx, [rsp + 0x30]
mov rdx, rbx
call fcn.140004890
mov r8d, 5
lea rcx, [rsp + 0x40]
mov rdx, rbx
call fcn.140004890
mov ecx, dword [0x1401b23a4]
xorps xmm15, xmm15
xorps xmm8, xmm8
xorps xmm7, xmm7
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400056c4
mov ebx, dword [0x1401b2c30]
test ebx, ebx
jne 0x1400055d8
movss xmm7, dword [rsp + 0x50]
movss xmm9, dword [rsp + 0x54]
subss xmm7, dword [0x1401b23f0]
subss xmm9, dword [0x1401b23f4]
movss xmm6, dword [rsp + 0x58]
subss xmm6, dword [0x1401b23f8]
movaps xmm0, xmm7
mulss xmm0, xmm7
movaps xmm1, xmm9
mulss xmm1, xmm9
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140005688
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140005690
cmp ebx, 1
jne 0x14000562e
movss xmm7, dword [rsp + 0x30]
movss xmm9, dword [rsp + 0x34]
subss xmm7, dword [0x1401b23f0]
subss xmm9, dword [0x1401b23f4]
movss xmm6, dword [rsp + 0x38]
subss xmm6, dword [0x1401b23f8]
movaps xmm0, xmm7
mulss xmm0, xmm7
movaps xmm1, xmm9
mulss xmm1, xmm9
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140005688
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140005690
cmp ebx, 2
jne 0x140005828
movss xmm7, dword [rsp + 0x40]
movss xmm9, dword [rsp + 0x44]
subss xmm7, dword [0x1401b23f0]
subss xmm9, dword [0x1401b23f4]
movss xmm6, dword [rsp + 0x48]
subss xmm6, dword [0x1401b23f8]
movaps xmm0, xmm7
mulss xmm0, xmm7
movaps xmm1, xmm9
mulss xmm1, xmm9
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140005688
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140005690
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 xmm8, xmm0
movaps xmm1, xmm7
mulss xmm8, dword [0x140061098]
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movaps xmm7, xmm0
mulss xmm7, dword [0x140061098]
jmp 0x140005828
mov ecx, dword [0x1401b2c48]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140005bf0
mov eax, dword [0x1401b2c2c]
test eax, eax
jne 0x14000573b
movss xmm7, dword [rsp + 0x50]
movss xmm9, dword [rsp + 0x54]
subss xmm7, dword [0x1401b23f0]
subss xmm9, dword [0x1401b23f4]
movss xmm6, dword [rsp + 0x58]
subss xmm6, dword [0x1401b23f8]
movaps xmm0, xmm7
mulss xmm0, xmm7
movaps xmm1, xmm9
mulss xmm1, xmm9
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1400057eb
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1400057f3
cmp eax, 1
jne 0x140005791
movss xmm7, dword [rsp + 0x30]
movss xmm9, dword [rsp + 0x34]
subss xmm7, dword [0x1401b23f0]
subss xmm9, dword [0x1401b23f4]
movss xmm6, dword [rsp + 0x38]
subss xmm6, dword [0x1401b23f8]
movaps xmm0, xmm7
mulss xmm0, xmm7
movaps xmm1, xmm9
mulss xmm1, xmm9
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1400057eb
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1400057f3
cmp eax, 2
jne 0x140005822
movss xmm7, dword [rsp + 0x40]
movss xmm9, dword [rsp + 0x44]
subss xmm7, dword [0x1401b23f0]
subss xmm9, dword [0x1401b23f4]
movss xmm6, dword [rsp + 0x48]
subss xmm6, dword [0x1401b23f8]
movaps xmm0, xmm7
mulss xmm0, xmm7
movaps xmm1, xmm9
mulss xmm1, xmm9
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1400057eb
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1400057f3
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 xmm8, xmm0
movaps xmm1, xmm7
mulss xmm8, dword [0x140061098]
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movaps xmm7, xmm0
mulss xmm7, dword [0x140061098]
mov ebx, dword [0x1401b2c30]
cmp byte [0x1401b2c29], 0
je 0x1400058ac
test ebx, ebx
jne 0x140005858
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.140005270
jmp 0x140005bf0
cmp ebx, 1
jne 0x140005880
movsd xmm0, qword [rsp + 0x30]
lea rcx, [rsp + 0x40]
mov eax, dword [rsp + 0x38]
movsd qword [rsp + 0x40], xmm0
mov dword [rsp + 0x48], eax
call fcn.140005270
jmp 0x140005bf0
cmp ebx, 2
jne 0x140005bf0
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.140005270
jmp 0x140005bf0
cmp byte [0x1401b2399], 0
je 0x140005bf0
cmp byte [0x1401b2c37], 0
je 0x140005c28
movss xmm6, dword [0x1401b2404]
movss xmm9, dword [0x1400610d4]
mov qword [rsp + 0x128], rdi
movaps xmmword [rsp + 0xc0], xmm10
movss xmm10, dword [0x1401b2400]
comiss xmm10, dword [0x1400610a8]
movaps xmmword [rsp + 0xb0], xmm11
movaps xmmword [rsp + 0xa0], xmm12
movaps xmmword [rsp + 0x90], xmm13
movaps xmmword [rsp + 0x80], xmm14
jbe 0x140005926
subss xmm10, xmm9
jmp 0x140005939
movss xmm0, dword [0x140061148]
comiss xmm0, xmm10
jbe 0x140005939
addss xmm10, xmm9
movss xmm11, dword [0x1400610c4]
comiss xmm6, xmm11
movss xmm13, dword [0x140061154]
jbe 0x14000595c
addss xmm6, xmm13
comiss xmm6, xmm11
ja 0x140005951
movss xmm12, dword [0x140061150]
comiss xmm12, xmm6
jbe 0x14000597b
nop dword [rax + rax]
addss xmm6, xmm9
comiss xmm12, xmm6
ja 0x140005970
mov rbx, qword [0x1401b3068]
xor ecx, ecx
mov rdi, qword [0x1401b2ba0]
movaps xmm14, xmm15
movss dword [rsp + 0x40], xmm15
movss dword [rsp + 0x44], xmm15
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x30], 0
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r8, [rsp + 0x30]
mov rcx, rdi
lea rdx, [rbx + 0x428]
call fcn.1400032a0
test eax, eax
je 0x1400059f7
mov rdx, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
mov r9d, 0xc
mov byte [rsp + 0x20], 0
mov rcx, rdi
call fcn.140002f00
movss xmm15, dword [rsp + 0x44]
movss xmm14, dword [rsp + 0x40]
movss xmm4, dword [0x1400610a8]
subss xmm10, xmm14
movaps xmm14, xmmword [rsp + 0x80]
subss xmm6, xmm15
movss xmm3, dword [0x140061148]
comiss xmm10, xmm4
jbe 0x140005a27
subss xmm10, xmm9
jmp 0x140005a32
comiss xmm3, xmm10
jbe 0x140005a32
addss xmm10, xmm9
comiss xmm6, xmm11
jbe 0x140005a4b
nop dword [rax + rax]
addss xmm6, xmm13
comiss xmm6, xmm11
ja 0x140005a40
comiss xmm12, xmm6
jbe 0x140005a5c
addss xmm6, xmm9
comiss xmm12, xmm6
ja 0x140005a51
movss xmm2, dword [0x1401b239c]
movaps xmm0, xmm2
movaps xmm1, xmm2
mulss xmm0, xmm10
mulss xmm1, xmm6
subss xmm8, xmm0
subss xmm7, xmm1
comiss xmm8, xmm4
jbe 0x140005a89
subss xmm8, xmm9
jmp 0x140005a94
comiss xmm3, xmm8
jbe 0x140005a94
addss xmm8, xmm9
comiss xmm7, xmm11
jbe 0x140005aab
nop word [rax + rax]
addss xmm7, xmm13
comiss xmm7, xmm11
ja 0x140005aa0
comiss xmm12, xmm7
jbe 0x140005abc
addss xmm7, xmm9
comiss xmm12, xmm7
ja 0x140005ab1
subss xmm8, dword [0x1401b2400]
subss xmm7, dword [0x1401b2404]
divss xmm10, xmm2
divss xmm8, xmm2
divss xmm7, xmm2
addss xmm8, dword [0x1401b2400]
addss xmm7, dword [0x1401b2404]
divss xmm6, xmm2
subss xmm8, xmm10
xorps xmm0, xmm0
movaps xmm10, xmmword [rsp + 0xc0]
subss xmm7, xmm6
comiss xmm0, xmm8
jbe 0x140005b10
addss xmm8, xmm9
comiss xmm8, xmm9
jbe 0x140005b1b
addss xmm8, xmm13
comiss xmm0, xmm7
jbe 0x140005b25
addss xmm7, xmm9
comiss xmm7, xmm9
jbe 0x140005b30
addss xmm7, xmm13
comiss xmm8, xmm4
jbe 0x140005b3d
addss xmm8, xmm13
jmp 0x140005b48
comiss xmm3, xmm8
jbe 0x140005b48
addss xmm8, xmm9
comiss xmm7, xmm11
jbe 0x140005b5b
nop
addss xmm7, xmm13
comiss xmm7, xmm11
ja 0x140005b50
comiss xmm12, xmm7
movaps xmm13, xmmword [rsp + 0x90]
movaps xmm11, xmmword [rsp + 0xb0]
jbe 0x140005b7e
addss xmm7, xmm9
comiss xmm12, xmm7
ja 0x140005b73
mov rbx, qword [0x1401b3068]
movaps xmm0, xmm8
mov rdi, qword [0x1401b2ba0]
xor ecx, ecx
unpcklps xmm0, xmm7
movsd qword [rsp + 0x50], xmm0
mov qword [rsp + 0x30], 0
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r8, [rsp + 0x30]
mov rcx, rdi
lea rdx, [rbx + 0x428]
call fcn.1400032a0
movaps xmm12, xmmword [rsp + 0xa0]
test eax, eax
je 0x140005be8
mov rdx, qword [rsp + 0x30]
lea r8, [rsp + 0x50]
mov r9d, 8
mov byte [rsp + 0x20], 1
mov rcx, rdi
call fcn.140002f00
mov rdi, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140057b00
lea r11, [rsp + 0x110]
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 xmm15, xmmword [rsp + 0x70]
mov rsp, r11
pop rbp
ret
movsd xmm0, qword [0x1401b2400]
lea rdx, [rsp + 0x40]
mov eax, dword [0x1401b2408]
lea rcx, [rsp + 0x50]
movsd qword [rsp + 0x40], xmm0
movaps xmm0, xmm8
unpcklps xmm0, xmm7
movsd qword [rsp + 0x50], xmm0
movss dword [rsp + 0x58], xmm15
mov dword [rsp + 0x48], eax
call fcn.140004f80
jmp 0x140005bf0