Function at 0x1800136cc
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, 0xf0
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 [0x1800c32b8], rdi
je 0x180013a6c
mov eax, dword [0x1800c0cb4]
lea ecx, [rdi + 0x2f]
cmp eax, 1
lea ebx, [rdi + 0x30]
cmove ebx, ecx
lea ecx, [rdi + 0x2e]
cmp eax, 2
cmove ebx, ecx
lea ecx, [rdi + 0x14]
cmp eax, 3
cmove ebx, ecx
lea ecx, [rdi + 6]
cmp eax, 4
cmove ebx, ecx
mov ecx, dword [0x1800c3378]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xorps xmm8, xmm8
test ax, ax
je 0x180013789
mov rcx, qword [0x1800c32a8]
test rcx, rcx
je 0x180013790
call fcn.1800254c8
test al, al
je 0x180013789
mov rax, qword [0x1800c32a8]
test rax, rax
je 0x180013790
comiss xmm8, dword [rax + 0x25c]
jb 0x180013790
mov qword [0x1800c32a8], rdi
mov ecx, dword [0x1800c3378]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180013a6c
mov rax, qword [0x1800c32a8]
test rax, rax
je 0x180013a6c
mov rax, qword [rax + 0xb8]
lea rdx, [rbp - 0x29]
mov rcx, qword [rax + 0x48]
mov rcx, qword [rcx + rbx*8 + 0x20]
call fcn.180022890
mov rax, qword [0x1800c32b8]
lea rdx, [rbp - 0x45]
mov rcx, qword [rax + 0xb8]
mov rax, qword [rcx + 0x48]
mov rcx, qword [rax + 0x190]
call fcn.180022890
mov rdx, rax
lea r8, [rbp - 0x29]
lea rcx, [rbp - 0x39]
call fcn.180013514
movss xmm7, dword [0x1800b1394]
movss xmm4, dword [0x1800b13b0]
movss xmm5, dword [0x1800b1418]
movss xmm0, dword [rax]
comiss xmm0, xmm7
jbe 0x180013827
subss xmm0, xmm4
jmp 0x180013830
comiss xmm5, xmm0
jbe 0x180013834
addss xmm0, xmm4
movss dword [rax], xmm0
movss xmm0, dword [rax + 4]
comiss xmm0, xmm7
jbe 0x180013844
subss xmm0, xmm4
jmp 0x18001384d
comiss xmm5, xmm0
jbe 0x180013852
addss xmm0, xmm4
movss dword [rax + 4], xmm0
movss xmm12, dword [0x1800b140c]
lea rcx, [rbp - 0x55]
mov dword [rax + 8], edi
movsd xmm0, qword [rax]
lea rax, [rbp - 0x61]
movsd qword [rbp - 0x61], xmm0
movss xmm0, dword [rbp - 0x61]
comiss xmm12, xmm0
mov dword [rbp - 0x59], edi
mov dword [rbp - 0x51], 0x42b20000
mov dword [rbp - 0x55], 0xc2b20000
mov dword [rbp - 0x49], 0x43340000
mov dword [rbp - 0x4d], 0xc3340000
movss dword [rbp - 0x71], xmm8
cmovbe rcx, rax
lea rax, [rbp - 0x51]
comiss xmm0, dword [0x1800b1364]
movss xmm0, dword [rbp - 0x5d]
cmovbe rax, rcx
lea rcx, [rbp - 0x4d]
comiss xmm5, xmm0
movss xmm2, dword [rax]
lea rax, [rbp - 0x5d]
movss dword [rbp - 0x61], xmm2
cmovbe rcx, rax
lea rax, [rbp - 0x49]
comiss xmm0, xmm7
movaps xmm0, xmm2
cmovbe rax, rcx
ucomiss xmm2, xmm8
movss xmm1, dword [rax]
unpcklps xmm0, xmm1
movaps xmm6, xmm0
movsd qword [rbp - 0x79], xmm0
jp 0x1800138fe
jne 0x1800138fe
ucomiss xmm1, xmm8
jp 0x1800138fe
je 0x180013a6c
mov rax, qword [0x1800c32b8]
movaps xmm9, xmm2
movss xmm3, dword [0x1800c0cc8]
movaps xmm10, xmm2
comiss xmm8, xmm3
mov rdx, qword [rax + 0x698]
mov eax, dword [rdx + 0x44]
movsd xmm0, qword [rdx + 0x3c]
movsd qword [rbp - 0x45], xmm0
movaps xmm0, xmm2
jae 0x180013999
movsd xmm0, qword [rdx + 0x3c]
movsd qword [rbp - 0x79], xmm0
subss xmm2, dword [rbp - 0x79]
subss xmm1, dword [rbp - 0x75]
mov dword [rbp - 0x71], eax
comiss xmm2, xmm7
jbe 0x180013954
subss xmm2, xmm4
jmp 0x18001395d
comiss xmm5, xmm2
jbe 0x18001395d
addss xmm2, xmm4
comiss xmm1, xmm7
jbe 0x180013968
subss xmm1, xmm4
jmp 0x180013971
comiss xmm5, xmm1
jbe 0x180013971
addss xmm1, xmm4
divss xmm2, xmm3
divss xmm1, xmm3
addss xmm2, dword [rbp - 0x45]
addss xmm1, dword [rbp - 0x41]
movaps xmm6, xmm2
movaps xmm3, xmm2
unpcklps xmm6, xmm1
movaps xmm0, xmm2
movaps xmm9, xmm2
movaps xmm10, xmm2
jmp 0x1800139a3
movss xmm1, dword [rbp - 0x75]
movss xmm3, dword [rbp - 0x79]
comiss xmm2, xmm7
jbe 0x1800139b1
movaps xmm3, xmm0
subss xmm3, xmm4
jmp 0x1800139bf
comiss xmm5, xmm9
jbe 0x1800139c8
movaps xmm3, xmm10
addss xmm3, xmm4
movaps xmm6, xmm3
unpcklps xmm6, xmm1
movaps xmm6, xmm6
comiss xmm1, xmm7
jbe 0x1800139d7
addss xmm1, dword [0x1800b141c]
jmp 0x1800139e0
comiss xmm5, xmm1
jbe 0x1800139e9
addss xmm1, xmm4
movaps xmm6, xmm3
unpcklps xmm6, xmm1
movaps xmm6, xmm6
comiss xmm12, xmm3
lea rax, [rbp - 0x79]
mov dword [rbp - 0x65], 0x42b20000
lea rcx, [rbp - 0x69]
mov dword [rbp - 0x69], 0xc2b20000
movsd qword [rbp - 0x79], xmm6
movss xmm0, dword [rbp - 0x75]
cmovbe rcx, rax
movss dword [rbp - 0x71], xmm8
comiss xmm3, dword [0x1800b1364]
lea rax, [rbp - 0x65]
cmovbe rax, rcx
lea rcx, [rbp - 0x65]
comiss xmm5, xmm0
movss xmm2, dword [rax]
lea rax, [rbp - 0x75]
movss dword [rbp - 0x79], xmm2
cmovbe rcx, rax
mov dword [rbp - 0x69], 0x43340000
comiss xmm0, xmm7
lea rax, [rbp - 0x69]
mov dword [rbp - 0x65], 0xc3340000
movaps xmm0, xmm2
cmovbe rax, rcx
movss xmm1, dword [rax]
unpcklps xmm0, xmm1
movsd qword [rdx + 0x3c], xmm0
movss dword [rdx + 0x44], xmm8
mov rcx, qword [rbp - 0x19]
xor rcx, rsp
call fcn.180062560
lea r11, [rsp + 0xf0]
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