Function at 0x180005ee0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rdi
sub rsp, 0xe0
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 [rsp + 0x60], xmm13
mov rax, qword [0x180043ac8]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rdi, r8
inc dword [0x180044ffc]
movss xmm1, dword [0x1800474b4]
movaps xmm6, xmm1
movss xmm10, dword [0x18003194c]
addss xmm6, xmm10
addss xmm6, dword [0x180044ff8]
movss xmm7, dword [0x1800474b0]
movss xmm0, dword [0x180031934]
addss xmm7, xmm0
addss xmm7, dword [0x180044cd4]
movq xmm8, rdx
shufps xmm8, xmm8, 0x55
mov qword [rsp + 0x30], rdx
movss xmm9, dword [0x180031904]
cmp byte [0x180044ba7], 0
je 0x180005fc2
movss xmm7, dword [0x1800474c8]
addss xmm7, dword [0x1800474c0]
addss xmm7, xmm0
movss xmm6, dword [0x1800474cc]
mulss xmm6, xmm9
addss xmm6, dword [0x1800474c4]
movaps xmm0, xmm8
mulss xmm0, xmm9
subss xmm6, xmm0
xorps xmm13, xmm13
cmp byte [0x180044ca4], 0
je 0x180005ff7
movss xmm6, dword [0x180045000]
mov byte [0x180044ca4], 0
mov dword [0x180045000], 0
movaps xmm0, xmm6
subss xmm0, xmm1
movss dword [0x180044ff8], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movq rcx, xmm0
call fcn.180007160
movzx ebx, al
lea r9, [rsp + 0x20]
movaps xmm2, xmm8
movss xmm12, dword [rsp + 0x30]
movaps xmm1, xmm12
test al, al
je 0x180006048
movups xmm0, xmmword [0x1800439c0]
movdqa xmmword [rsp + 0x20], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movq rcx, xmm0
call fcn.18000d040
mov byte [0x180044ba4], 1
jmp 0x180006065
movups xmm0, xmmword [0x1800439b0]
movdqa xmmword [rsp + 0x20], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movq rcx, xmm0
call fcn.18000d040
cmp byte [0x180044ba7], 0
jne 0x18000608b
movaps xmm0, xmm8
addss xmm0, xmm10
movss xmm1, dword [0x180044ff8]
addss xmm1, xmm0
movss dword [0x180044ff8], xmm1
mov eax, dword [0x180044ffc]
cmp dword [0x180043004], eax
jne 0x18000614f
movaps xmm2, xmm12
mulss xmm2, xmm9
addss xmm2, xmm7
movaps xmm1, xmm8
mulss xmm1, xmm9
addss xmm1, xmm6
movaps xmm0, xmmword [0x180031ab0]
movaps xmmword [rsp + 0x20], xmm0
xor r9d, r9d
lea r8, [rsp + 0x20]
movaps xmm0, xmm2
unpcklps xmm0, xmm1
movq rdx, xmm0
lea rcx, str.Press_Key...
call fcn.18000bb50
cmp byte [0x180044ce0], 0
jne 0x180006118
cmp byte [0x180044ce1], 0
jne 0x180006118
cmp byte [0x180044ce2], 0
jne 0x180006118
cmp byte [0x180044ce3], 0
jne 0x180006118
cmp byte [0x180044ce4], 0
jne 0x180006118
mov byte [0x180044a50], 0
jmp 0x180006125
cmp byte [0x180044a50], 0
jne 0x180006298
xor ebx, ebx
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180006140
mov dword [rdi], ebx
mov dword [0x180043004], 0xffffffff
inc ebx
cmp ebx, 0xff
jl 0x180006127
jmp 0x180006298
movaps xmm11, xmm8
mulss xmm11, xmm9
addss xmm11, xmm6
movaps xmm10, xmm12
mulss xmm10, xmm9
addss xmm10, xmm7
movaps xmm9, xmmword [0x180031ab0]
movzx edx, byte [rdi]
lea rcx, [rsp + 0x38]
call fcn.18000c0d0
nop
cmp qword [rax + 0x18], 0x10
jb 0x18000618b
mov rax, qword [rax]
movdqa xmmword [rsp + 0x20], xmm9
xor r9d, r9d
lea r8, [rsp + 0x20]
movaps xmm0, xmm10
unpcklps xmm0, xmm11
movq rdx, xmm0
mov rcx, rax
call fcn.18000bb50
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x1800061ed
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800061e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006327
call fcn.18000ef44
test bl, bl
je 0x180006253
movsxd rdx, dword [0x180044ffc]
cmp byte [0x180044ce0], 0
je 0x180006239
lea rax, [0x180044cf0]
cmp byte [rdx + rax], 0
jne 0x180006298
mov byte [rdx + rax], 1
mov byte [0x180044a50], 1
mov dword [0x180043004], edx
xor ebx, ebx
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
inc ebx
cmp ebx, 0xff
jl 0x180006225
jmp 0x180006298
cmp rdx, 0x100
jae 0x18000632d
lea rax, [0x180044cf0]
mov byte [rdx + rax], 0
jmp 0x180006298
movsxd rcx, dword [0x180044ffc]
cmp byte [0x180044ce0], 0
je 0x180006280
lea rax, [0x180044cf0]
cmp byte [rcx + rax], 0
jne 0x180006298
mov byte [rcx + rax], 1
mov dword [0x180043004], 0xffffffff
jmp 0x180006298
cmp rcx, 0x100
jae 0x18000632d
lea rax, [0x180044cf0]
mov byte [rcx + rax], 0
mov byte [0x180044ba7], 0
movss dword [0x1800474c0], xmm7
movss dword [0x1800474c4], xmm6
movss dword [0x1800474c8], xmm12
movss dword [0x1800474cc], xmm8
movss xmm0, dword [0x1800474b8]
ucomiss xmm0, xmm13
jp 0x1800062e1
jne 0x1800062e1
movss dword [0x1800474b8], xmm7
movss dword [0x1800474bc], xmm6
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.18000f360
lea r11, [rsp + 0xe0]
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]
mov rsp, r11
pop rdi
ret
call fcn.1800158f4
int3
call fcn.18000f05c
int3