Function at 0x180013d70
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x40
cmp byte [0x18006db63], 0
movabs rdi, 0x7fffffff0000
movaps xmmword [rsp + 0x30], xmm6
je 0x180013e1e
mov ecx, 0x5a
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
je 0x180013e1e
mov rax, qword [0x18006df70]
lea rcx, [rax + 0x32732a0]
cmp rcx, 0x400000
jbe 0x180013e83
add rax, 0x32732a8
cmp rax, rdi
jae 0x180013e83
mov rax, qword [rcx]
lea rcx, [rax + 0xb8]
cmp rcx, 0x400000
jbe 0x180013e83
add rax, 0xc0
cmp rax, rdi
jae 0x180013e83
mov rax, qword [rcx]
lea rcx, [rax + 0x18]
cmp rcx, 0x400000
jbe 0x180013e83
add rax, 0x1c
cmp rax, rdi
jae 0x180013e83
movss xmm0, dword [0x18006c648]
jmp 0x180013e7f
mov rax, qword [0x18006df70]
lea rcx, [rax + 0x32732a0]
cmp rcx, 0x400000
jbe 0x180013e83
add rax, 0x32732a8
cmp rax, rdi
jae 0x180013e83
mov rax, qword [rcx]
lea rcx, [rax + 0xb8]
cmp rcx, 0x400000
jbe 0x180013e83
add rax, 0xc0
cmp rax, rdi
jae 0x180013e83
mov rax, qword [rcx]
lea rcx, [rax + 0x18]
cmp rcx, 0x400000
jbe 0x180013e83
add rax, 0x1c
cmp rax, rdi
jae 0x180013e83
movss xmm0, dword [0x18006c64c]
movss dword [rcx], xmm0
xor esi, esi
cmp byte [0x18006db65], sil
je 0x180013ef3
mov rax, qword [0x18006dc70]
lea rcx, [rax + 0x4d8]
cmp rcx, 0x400000
jbe 0x180013ef3
add rax, 0x4e0
cmp rax, rdi
jae 0x180013ef3
mov rcx, qword [rcx]
mov rdx, rcx
lea r8, [rcx + 0xb4]
cmp r8, 0x400000
jbe 0x180013ed5
lea rax, [rcx + 0xb8]
cmp rax, rdi
jae 0x180013ed5
mov dword [r8], esi
lea rcx, [rdx + 0xb8]
cmp rcx, 0x400000
jbe 0x180013ef3
lea rax, [rdx + 0xbc]
cmp rax, rdi
jae 0x180013ef3
mov dword [rcx], esi
mov rbx, qword [0x18006dc70]
mov ecx, 0x58
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xorps xmm6, xmm6
test ax, ax
jne 0x180013f49
mov edx, 0x2f
mov rcx, rbx
call fcn.18000fdc0
mov rdx, rax
test rax, rax
jne 0x180013f27
xorps xmm0, xmm0
jmp 0x180013f41
mov rax, qword [0x18006df70]
lea rcx, [rsp + 0x20]
add rax, 0x1fc4880
call rax
movss xmm0, dword [rsp + 0x24]
movss dword [0x18006db34], xmm0
mov ecx, 0x58
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180013faf
mov edx, 0x2f
mov rcx, rbx
call fcn.18000fdc0
mov rdx, rax
test rax, rax
jne 0x180013f73
xorps xmm1, xmm1
jmp 0x180013f8d
mov rax, qword [0x18006df70]
lea rcx, [rsp + 0x20]
add rax, 0x1fc4880
call rax
movss xmm1, dword [rsp + 0x24]
movss xmm0, dword [0x18006db34]
addss xmm0, dword [0x18005f510]
comiss xmm1, xmm0
jb 0x180013faf
mov edx, 0x64
mov ecx, edx
call qword [sym.imp.KERNEL32.dll_Beep]
cmp byte [0x18006dae4], sil
je 0x180013fc6
mov rax, qword [0x18006dc70]
mov qword [rax + 0x2c0], rsi
cmp byte [0x18006db6c], sil
je 0x18001400b
mov rax, qword [0x18006dc70]
lea rcx, [rax + 0x638]
lea rdx, [rax + 0x63c]
cmp rcx, 0x400000
jbe 0x18001400b
cmp rdx, rdi
jae 0x180013ff6
mov eax, dword [rcx]
jmp 0x180014006
cmp rcx, 0x400000
jbe 0x18001400b
mov eax, esi
cmp rdx, rdi
jae 0x18001400b
or eax, 4
mov dword [rcx], eax
cmp byte [0x18006dada], sil
je 0x180014052
mov rax, qword [0x18006dc70]
lea rcx, [rax + 0x4d0]
cmp rcx, 0x400000
jbe 0x180014052
add rax, 0x4d8
cmp rax, rdi
jae 0x180014052
mov rax, qword [rcx]
lea rcx, [rax + 0x64]
cmp rcx, 0x400000
jbe 0x180014052
add rax, 0x6c
cmp rax, rdi
jae 0x180014052
mov qword [rcx], rsi
cmp byte [0x18006db40], sil
je 0x1800140be
mov rbx, qword [0x18006dc70]
mov ecx, 0x14
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
je 0x1800140be
lea rcx, [rbx + 0x640]
cmp rcx, 0x400000
jbe 0x1800140be
lea rax, [rbx + 0x648]
cmp rax, rdi
jae 0x1800140be
mov rax, qword [rcx]
lea rcx, [rax + 0x38]
cmp rcx, 0x400000
jbe 0x1800140be
add rax, 0x44
cmp rax, rdi
jae 0x1800140be
movss xmm1, dword [0x18005f4e0]
xorps xmm0, xmm0
unpcklps xmm0, xmm1
movsd qword [rcx], xmm0
movss dword [rcx + 8], xmm6
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop rdi
ret