Function at 0x180003df0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
movaps xmmword [rax - 0xb8], xmm15
mov rax, qword [0x180043020]
xor rax, rsp
mov qword [rbp - 0x40], rax
inc dword [0x180045560]
movss xmm2, dword [0x180047acc]
movaps xmm6, xmm2
movss xmm15, dword [0x18003ce48]
addss xmm6, xmm15
addss xmm6, dword [0x180045564]
movss xmm7, dword [0x180047ac8]
movss xmm0, dword [0x18003ce34]
addss xmm7, xmm0
addss xmm7, dword [0x18004555c]
movq xmm9, rdx
shufps xmm9, xmm9, 0x55
mov qword [rbp - 0x70], rdx
movss xmm13, dword [0x18003cdd8]
cmp byte [0x180045544], 0
je 0x180003ef3
movss xmm7, dword [0x180047ab8]
addss xmm7, dword [0x180047ae0]
addss xmm7, xmm0
movss xmm6, dword [0x180047abc]
mulss xmm6, xmm13
addss xmm6, dword [0x180047ae4]
movaps xmm0, xmm9
mulss xmm0, xmm13
subss xmm6, xmm0
xorps xmm12, xmm12
cmp byte [0x180045542], 0
je 0x180003f28
movss xmm6, dword [0x180045558]
mov byte [0x180045542], 0
mov dword [0x180045558], 0
movaps xmm0, xmm6
subss xmm0, xmm2
movss dword [0x180045564], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movq rcx, xmm0
call fcn.1800021d0
movzx r15d, al
movss xmm14, dword [rbp - 0x70]
xorps xmm8, xmm8
test al, al
je 0x180003fc8
movups xmm0, xmmword [0x18003cd50]
movdqa xmmword [rbp - 0x80], xmm0
comiss xmm9, xmm12
jbe 0x180003fbf
movaps xmm11, xmm7
addss xmm11, xmm14
movss xmm10, dword [0x18003cde8]
nop
movss dword [rsp + 0x70], xmm11
movaps xmm0, xmm6
addss xmm0, xmm8
movss dword [rsp + 0x74], xmm0
movss dword [rsp + 0x60], xmm7
movss dword [rsp + 0x64], xmm0
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
movaps xmm3, xmm10
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x60]
mov rcx, qword [0x180045550]
call fcn.18000c7f0
addss xmm8, xmm10
comiss xmm9, xmm8
ja 0x180003f70
mov byte [0x180045543], 1
jmp 0x18000403f
movups xmm0, xmmword [0x18003cce0]
movdqa xmmword [rbp - 0x80], xmm0
comiss xmm9, xmm12
jbe 0x18000403f
movaps xmm11, xmm7
addss xmm11, xmm14
movss xmm10, dword [0x18003cde8]
nop dword [rax]
movss dword [rsp + 0x60], xmm11
movaps xmm0, xmm6
addss xmm0, xmm8
movss dword [rsp + 0x64], xmm0
movss dword [rsp + 0x70], xmm7
movss dword [rsp + 0x74], xmm0
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
movaps xmm3, xmm10
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x70]
mov rcx, qword [0x180045550]
call fcn.18000c7f0
addss xmm8, xmm10
comiss xmm9, xmm8
ja 0x180003ff0
cmp byte [0x180045544], 0
jne 0x180004065
movaps xmm0, xmm9
addss xmm0, xmm15
movss xmm1, dword [0x180045564]
addss xmm1, xmm0
movss dword [0x180045564], xmm1
mov eax, dword [0x180045560]
cmp dword [0x180043c08], eax
jne 0x1800041b8
movaps xmm5, xmm14
mulss xmm5, xmm13
addss xmm5, xmm7
movaps xmm4, xmm9
mulss xmm4, xmm13
addss xmm4, xmm6
movaps xmm2, xmmword [0x18003cf80]
movaps xmm1, xmm2
movaps xmm0, xmmword [0x18003cff0]
movss xmm3, dword [0x18003cdec]
subss xmm4, xmm15
mov dword [rsp + 0x68], 0xc
mov dword [rsp + 0x6c], 0xc
lea rax, str._Press_Key_
mov qword [rsp + 0x60], rax
movdqa xmmword [rbp - 0x80], xmm2
movdqa xmmword [rsp + 0x70], xmm2
movdqa xmmword [rbp - 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
lea rax, [rbp - 0x80]
mov qword [rsp + 0x58], rax
mov byte [rsp + 0x40], 1
movaps xmm0, xmm12
unpcklps xmm0, xmm12
movsd qword [rsp + 0x38], xmm0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
movss dword [rsp + 0x28], xmm12
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
movaps xmm0, xmm3
unpcklps xmm0, xmm3
movq r9, xmm0
movaps xmm1, xmm5
unpcklps xmm1, xmm4
movq r8, xmm1
lea rdx, [rsp + 0x60]
mov rcx, qword [0x180045550]
call fcn.18000c5d0
cmp byte [0x180045568], 0
jne 0x180004179
cmp byte [0x180045569], 0
jne 0x180004179
cmp byte [0x18004556a], 0
jne 0x180004179
cmp byte [0x18004556b], 0
jne 0x180004179
cmp byte [0x18004556c], 0
jne 0x180004179
mov byte [0x180045541], 0
jmp 0x180004186
cmp byte [0x180045541], 0
jne 0x18000432f
xor ebx, ebx
lea rsi, [rbx - 1]
nop dword [rax]
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800041a9
mov dword [0x18004553c], ebx
mov dword [0x180043c08], esi
inc ebx
cmp ebx, 0xff
jl 0x180004190
jmp 0x18000432f
movaps xmm8, xmm9
mulss xmm8, xmm13
addss xmm8, xmm6
movaps xmm10, xmm14
mulss xmm10, xmm13
addss xmm10, xmm7
movzx edx, byte [0x18004553c]
lea rcx, [rbp - 0x60]
call fcn.180003bd0
mov r14, rax
cmp qword [rax + 0x18], 0x10
jb 0x1800041f1
mov r14, qword [rax]
mov rsi, 0xffffffffffffffff
mov rdi, rsi
nop dword [rax + rax]
inc rdi
cmp byte [r14 + rdi], 0
jne 0x180004200
inc rdi
mov eax, 2
mul rdi
cmovo rax, rsi
mov rcx, rax
call fcn.18000e2e8
mov rbx, rax
mov r8, rdi
mov rdx, r14
mov rcx, rax
call fcn.1800149a4
subss xmm8, xmm15
movaps xmm2, xmm8
movaps xmm1, xmm10
mov rcx, rbx
call fcn.180002270
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x180004283
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000427e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800043d9
call fcn.18000e2e0
test r15b, r15b
je 0x1800042ee
movsxd rdx, dword [0x180045560]
cmp byte [0x180045568], 0
je 0x1800042d4
lea rax, [0x180045570]
cmp byte [rdx + rax], 0
jne 0x18000432f
mov byte [rdx + rax], 1
mov byte [0x180045541], 1
mov dword [0x180043c08], edx
xor ebx, ebx
nop dword [rax]
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
inc ebx
cmp ebx, 0xff
jl 0x1800042c0
jmp 0x18000432f
cmp rdx, 0x100
jae 0x1800043df
lea rax, [0x180045570]
mov byte [rdx + rax], 0
jmp 0x18000432f
movsxd rcx, dword [0x180045560]
cmp byte [0x180045568], 0
je 0x180004317
lea rax, [0x180045570]
cmp byte [rcx + rax], 0
jne 0x18000432f
mov byte [rcx + rax], 1
mov dword [0x180043c08], esi
jmp 0x18000432f
cmp rcx, 0x100
jae 0x1800043df
lea rax, [0x180045570]
mov byte [rcx + rax], 0
mov byte [0x180045544], 0
movss dword [0x180047ae0], xmm7
movss dword [0x180047ae4], xmm6
movss dword [0x180047ab8], xmm14
movss dword [0x180047abc], xmm9
movss xmm0, dword [0x180047aa0]
ucomiss xmm0, xmm12
jp 0x180004378
jne 0x180004378
movss dword [0x180047aa0], xmm7
movss dword [0x180047aa4], xmm6
mov rcx, qword [rbp - 0x40]
xor rcx, rsp
call fcn.18000dfe0
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
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]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.180018260
int3
call fcn.18000e108
int3