Function at 0x180013a6c
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0x100
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], xmm12
mov rax, qword [0x1800c0040]
xor rax, rsp
mov qword [rbp - 0x19], rax
xor edi, edi
cmp qword [0x1800c32a0], rdi
je 0x180013e9c
mov eax, dword [0x1800c0cb4]
lea ecx, [rdi + 0x2f]
cmp eax, 1
lea ebx, [rdi + 0x30]
cmove ebx, ecx
cmp eax, 2
lea ecx, [rdi + 0x2e]
cmove ebx, ecx
cmp eax, 3
lea ecx, [rdi + 0x14]
cmove ebx, ecx
cmp eax, 4
lea ecx, [rdi + 6]
cmove ebx, ecx
mov rcx, qword [0x1800c1210]
test rcx, rcx
je 0x180013e9c
call fcn.180025d64
test al, al
je 0x180013e9c
mov rdx, qword [0x1800c1210]
mov eax, dword [rdx + 0x8c8]
shr eax, 4
test al, 1
je 0x180013b23
cmp byte [0x1800c0cc7], dil
jne 0x180013b45
mov rax, qword [0x1800c32a0]
mov ecx, dword [rax + 0x598]
test ecx, ecx
je 0x180013b51
cmp dword [rdx + 0x598], ecx
jne 0x180013b51
cmp byte [0x1800c0c91], dil
je 0x180013b51
mov qword [0x1800c1210], rdi
jmp 0x180013e9c
cmp byte [0x1800c0c92], dil
je 0x180013e9c
mov ecx, dword [0x1800c3360]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180013e9c
mov rax, qword [0x1800c32a0]
lea rdx, [rbp - 0x29]
mov rcx, qword [rax + 0xb8]
mov rcx, qword [rcx + 0x48]
mov rcx, qword [rcx + 0x1a0]
call fcn.18002312c
cmp byte [0x1800c0c90], dil
je 0x180013bc7
movsd xmm0, qword [rbp - 0x29]
lea rdx, [rbp - 0x59]
mov eax, dword [rbp - 0x21]
lea rcx, [rbp - 0x39]
mov r8, qword [0x1800c1210]
mov r9d, ebx
movsd qword [rbp - 0x59], xmm0
mov dword [rbp - 0x51], eax
call fcn.1800136e8
jmp 0x180013bee
mov rax, qword [0x1800c1210]
lea ecx, [rbx*8]
mov rdx, qword [rax + 0xb8]
mov rax, qword [rdx + 0x48]
lea rdx, [rbp - 0x39]
mov rcx, qword [rax + rcx + 0x20]
call fcn.18002312c
movsd xmm0, qword [rax]
mov rbx, qword [0x1800c32a0]
mov eax, dword [rax + 8]
mov dword [rsp + 0x28], eax
movsd qword [rsp + 0x20], xmm0
cmp qword [rbx + 0x698], rdi
je 0x180013e9c
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x39]
call fcn.180013624
movss xmm6, dword [0x1800b13d4]
movss xmm4, dword [0x1800b1400]
movss xmm5, dword [0x1800b1478]
movss xmm0, dword [rax]
comiss xmm0, xmm6
jbe 0x180013c4c
subss xmm0, xmm4
jmp 0x180013c55
comiss xmm5, xmm0
jbe 0x180013c59
addss xmm0, xmm4
movss dword [rax], xmm0
movss xmm0, dword [rax + 4]
comiss xmm0, xmm6
jbe 0x180013c69
subss xmm0, xmm4
jmp 0x180013c72
comiss xmm5, xmm0
jbe 0x180013c77
addss xmm0, xmm4
movss dword [rax + 4], xmm0
movss xmm12, dword [0x1800b146c]
lea rcx, [rbp - 0x49]
mov dword [rax + 8], edi
xorps xmm10, xmm10
movsd xmm0, qword [rax]
lea rax, [rbp - 0x71]
movsd qword [rbp - 0x71], xmm0
movss xmm0, dword [rbp - 0x71]
comiss xmm12, xmm0
mov dword [rbp - 0x69], edi
mov dword [rbp - 0x45], 0x42b20000
mov dword [rbp - 0x49], 0xc2b20000
mov dword [rbp - 0x3d], 0x43340000
mov dword [rbp - 0x41], 0xc3340000
movss dword [rsp + 0x28], xmm10
cmovbe rcx, rax
lea rax, [rbp - 0x45]
comiss xmm0, dword [0x1800b139c]
movss xmm0, dword [rbp - 0x6d]
cmovbe rax, rcx
lea rcx, [rbp - 0x41]
comiss xmm5, xmm0
movss xmm2, dword [rax]
lea rax, [rbp - 0x6d]
movss dword [rbp - 0x71], xmm2
cmovbe rcx, rax
lea rax, [rbp - 0x3d]
comiss xmm0, xmm6
movaps xmm0, xmm2
cmovbe rax, rcx
ucomiss xmm2, xmm10
movss xmm1, dword [rax]
unpcklps xmm0, xmm1
movaps xmm7, xmm0
movsd qword [rsp + 0x20], xmm0
jp 0x180013d29
jne 0x180013d29
ucomiss xmm1, xmm10
jp 0x180013d29
je 0x180013e9c
mov rdx, qword [rbx + 0x698]
movaps xmm8, xmm2
movss xmm3, dword [0x1800c0cc8]
movaps xmm9, xmm2
comiss xmm10, xmm3
mov eax, dword [rdx + 0x44]
movsd xmm0, qword [rdx + 0x3c]
movsd qword [rbp - 0x59], xmm0
movaps xmm0, xmm2
jae 0x180013dc1
movsd xmm0, qword [rdx + 0x3c]
movsd qword [rsp + 0x20], xmm0
subss xmm2, dword [rsp + 0x20]
subss xmm1, dword [rsp + 0x24]
mov dword [rsp + 0x28], eax
comiss xmm2, xmm6
jbe 0x180013d7c
subss xmm2, xmm4
jmp 0x180013d85
comiss xmm5, xmm2
jbe 0x180013d85
addss xmm2, xmm4
comiss xmm1, xmm6
jbe 0x180013d90
subss xmm1, xmm4
jmp 0x180013d99
comiss xmm5, xmm1
jbe 0x180013d99
addss xmm1, xmm4
divss xmm2, xmm3
divss xmm1, xmm3
addss xmm2, dword [rbp - 0x59]
addss xmm1, dword [rbp - 0x55]
movaps xmm7, xmm2
movaps xmm3, xmm2
unpcklps xmm7, xmm1
movaps xmm0, xmm2
movaps xmm8, xmm2
movaps xmm9, xmm2
jmp 0x180013dcd
movss xmm1, dword [rsp + 0x24]
movss xmm3, dword [rsp + 0x20]
comiss xmm2, xmm6
jbe 0x180013ddb
movaps xmm3, xmm0
subss xmm3, xmm4
jmp 0x180013de9
comiss xmm5, xmm8
jbe 0x180013df2
movaps xmm3, xmm9
addss xmm3, xmm4
movaps xmm7, xmm3
unpcklps xmm7, xmm1
movaps xmm7, xmm7
comiss xmm1, xmm6
jbe 0x180013e01
addss xmm1, dword [0x1800b147c]
jmp 0x180013e0a
comiss xmm5, xmm1
jbe 0x180013e13
addss xmm1, xmm4
movaps xmm7, xmm3
unpcklps xmm7, xmm1
movaps xmm7, xmm7
comiss xmm12, xmm3
lea rax, [rsp + 0x20]
mov dword [rbp - 0x75], 0x42b20000
lea rcx, [rbp - 0x79]
mov dword [rbp - 0x79], 0xc2b20000
movsd qword [rsp + 0x20], xmm7
movss xmm0, dword [rsp + 0x24]
cmovbe rcx, rax
movss dword [rsp + 0x28], xmm10
comiss xmm3, dword [0x1800b139c]
lea rax, [rbp - 0x75]
cmovbe rax, rcx
lea rcx, [rbp - 0x75]
comiss xmm5, xmm0
movss xmm2, dword [rax]
lea rax, [rsp + 0x24]
movss dword [rsp + 0x20], xmm2
cmovbe rcx, rax
mov dword [rbp - 0x79], 0x43340000
comiss xmm0, xmm6
lea rax, [rbp - 0x79]
mov dword [rbp - 0x75], 0xc3340000
movaps xmm0, xmm2
cmovbe rax, rcx
movss xmm1, dword [rax]
unpcklps xmm0, xmm1
movsd qword [rdx + 0x3c], xmm0
movss dword [rdx + 0x44], xmm10
mov rcx, qword [rbp - 0x19]
xor rcx, rsp
call fcn.180062ee0
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
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 xmm12, xmmword [r11 - 0x60]
mov rsp, r11
pop rbp
ret