Function at 0x18008ef70
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r14
sub rsp, 0xb0
xor esi, esi
movabs r14, 0xd80958fc74e988a6
mov dword [0x1801b79b0], esi
movzx ebx, cl
mov dword [0x1801b79c0], esi
mov qword [0x1802008b8], r14
call fcn.1800ba210
mov qword [rsp + 0xd8], rsi
mov edx, dword [rax]
movabs rax, 0x9a9112a0fe9a4713
mov dword [rsp + 0xd8], edx
mov qword [0x1802008b8], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rsi
mov qword [0x1801b7a88], rax
mov dword [rsp + 0xd8], esi
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a90], rax
mov dword [0x1801b79c0], esi
mov dword [0x1801b79b0], 2
call fcn.1800ba210
mov qword [rsp + 0xd8], rsi
mov edi, dword [rax]
movabs rax, 0x44a0870b7e92d7c0
mov dword [rsp + 0xd8], edi
mov qword [0x1802008b8], rax
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a88], rax
mov dword [0x1801b79c0], esi
mov dword [0x1801b79b0], 3
mov qword [rsp + 0xd8], rsi
cmp bl, 1
jne 0x18008f856
mov qword [rsp + 0xd0], rbp
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm7
mov dword [rsp + 0xd8], 0x82
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rsi
mov qword [0x1801b7a90], rax
movaps xmmword [rsp + 0x80], xmm8
mov dword [rsp + 0xd8], esi
mov rax, qword [rsp + 0xd8]
movaps xmmword [rsp + 0x70], xmm9
mov qword [0x1801b7a98], rax
movaps xmmword [rsp + 0x60], xmm10
call fcn.1800ba210
mov qword [rsp + 0xd8], rsi
movabs rax, 0x3fef770d40960d5a
mov qword [0x1802008b8], rax
mov dword [rsp + 0xd8], edi
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rsi
mov qword [0x1801b7a88], rax
mov dword [rsp + 0xd8], esi
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a90], rax
mov dword [0x1801b79c0], esi
mov dword [0x1801b79b0], 2
call fcn.1800ba210
mov edx, edi
movups xmm7, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x50], xmm1
movaps xmm8, xmm7
movss xmm9, dword [rsp + 0x50]
movaps xmm2, xmm7
shufps xmm8, xmm7, 0xaa
movaps xmm3, xmm8
movss dword [rsp + 0x20], xmm9
call fcn.1800a3f20
mov qword [rsp + 0xd8], rsi
movabs rax, 0x1a9205c1b9ee827f
mov qword [0x1802008b8], rax
mov dword [rsp + 0xd8], edi
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rsi
mov qword [0x1801b7a88], rax
mov dword [rsp + 0xd8], esi
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rsi
mov qword [0x1801b7a90], rax
mov dword [rsp + 0xd8], esi
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a98], rax
mov dword [0x1801b79c0], esi
mov dword [0x1801b79b0], 3
call fcn.1800ba210
lea ecx, [rsi + 0x53]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm10, dword [0x18017ff48]
movabs rbx, 0xe83d4f9ba2a38914
movabs rbp, 0x8e2530aa8ada980e
test ax, ax
jne 0x18008f219
mov edx, 0x10c
call fcn.180065450
test eax, eax
je 0x18008f301
mov qword [rsp + 0xd8], rsi
mov dword [rsp + 0xd8], edi
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a88], rax
mov dword [0x1801b79c0], esi
mov qword [0x1802008b8], rbx
mov dword [0x1801b79b0], 1
call fcn.1800ba210
mov qword [rsp + 0xd8], rsi
mov dword [rsp + 0xd8], edi
mov qword [0x1802008b8], rbp
movss xmm6, dword [rax]
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rsi
mov qword [0x1801b7a88], rax
movss dword [rsp + 0xd8], xmm6
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a90], rax
mov dword [0x1801b79c0], esi
mov dword [0x1801b79b0], 2
call fcn.1800ba210
mulss xmm6, dword [0x18018000c]
divss xmm6, dword [0x180180318]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm10
mulss xmm0, dword [0x1801804d4]
subss xmm7, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm10
movaps xmm2, xmm7
mov edx, edi
movss dword [rsp + 0x20], xmm9
subss xmm8, xmm0
movaps xmm3, xmm8
call fcn.1800a3f20
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18008f323
mov edx, 0x10d
call fcn.180065450
test eax, eax
je 0x18008f40b
mov qword [rsp + 0xd8], rsi
mov dword [rsp + 0xd8], edi
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a88], rax
mov dword [0x1801b79c0], esi
mov qword [0x1802008b8], rbx
mov dword [0x1801b79b0], 1
call fcn.1800ba210
mov qword [rsp + 0xd8], rsi
mov dword [rsp + 0xd8], edi
mov qword [0x1802008b8], rbp
movss xmm6, dword [rax]
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rsi
mov qword [0x1801b7a88], rax
movss dword [rsp + 0xd8], xmm6
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a90], rax
mov dword [0x1801b79c0], esi
mov dword [0x1801b79b0], 2
call fcn.1800ba210
mulss xmm6, dword [0x18018000c]
divss xmm6, dword [0x180180318]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm10
mulss xmm0, dword [0x1801804d4]
addss xmm7, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm10
movaps xmm2, xmm7
mov edx, edi
movss dword [rsp + 0x20], xmm9
addss xmm8, xmm0
movaps xmm3, xmm8
call fcn.1800a3f20
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm6, dword [0x18017ff84]
movaps xmm10, xmmword [rsp + 0x60]
test ax, ax
jne 0x18008f43b
mov edx, 0x10a
call fcn.180065450
test eax, eax
je 0x18008f4d7
mov qword [rsp + 0xd8], rsi
mov dword [rsp + 0xd8], edi
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a88], rax
mov dword [0x1801b79c0], esi
mov qword [0x1802008b8], rbx
mov dword [0x1801b79b0], 1
call fcn.1800ba210
mov qword [rsp + 0xd8], rsi
mov dword [rsp + 0xd8], edi
mov qword [0x1802008b8], rbp
movss xmm0, dword [rax]
mov rax, qword [rsp + 0xd8]
addss xmm0, xmm6
mov qword [rsp + 0xd8], rsi
mov qword [0x1801b7a88], rax
mov dword [0x1801b79c0], esi
mov dword [0x1801b79b0], 2
movss dword [rsp + 0xd8], xmm0
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a90], rax
call fcn.1800ba210
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18008f4f9
mov edx, 0x10f
call fcn.180065450
test eax, eax
je 0x18008f595
mov qword [rsp + 0xd8], rsi
mov dword [rsp + 0xd8], edi
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a88], rax
mov dword [0x1801b79c0], esi
mov qword [0x1802008b8], rbx
mov dword [0x1801b79b0], 1
call fcn.1800ba210
mov qword [rsp + 0xd8], rsi
mov dword [rsp + 0xd8], edi
mov qword [0x1802008b8], rbp
movss xmm0, dword [rax]
mov rax, qword [rsp + 0xd8]
subss xmm0, xmm6
mov qword [rsp + 0xd8], rsi
mov qword [0x1801b7a88], rax
mov dword [0x1801b79c0], esi
mov dword [0x1801b79b0], 2
movss dword [rsp + 0xd8], xmm0
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a90], rax
call fcn.1800ba210
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movsd xmm6, qword [0x18017ffb8]
test ax, ax
jne 0x18008f5bf
mov edx, 0xce
call fcn.180065450
test eax, eax
je 0x18008f679
mov qword [rsp + 0xd8], rsi
mov dword [rsp + 0xd8], edi
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a88], rax
mov dword [0x1801b79c0], esi
mov qword [0x1802008b8], rbx
mov dword [0x1801b79b0], 1
call fcn.1800ba210
mov qword [rsp + 0xd8], rsi
mov dword [rsp + 0xd8], edi
mov qword [0x1802008b8], rbp
movss xmm0, dword [rax]
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rsi
movss dword [rsp + 0xd8], xmm0
mov qword [0x1801b7a88], rax
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a90], rax
mov dword [0x1801b79c0], esi
mov dword [0x1801b79b0], 2
call fcn.1800ba210
cvtps2pd xmm0, xmm9
mov edx, edi
movaps xmm3, xmm8
movaps xmm2, xmm7
subsd xmm0, xmm6
cvtpd2ps xmm9, xmm0
movss dword [rsp + 0x20], xmm9
call fcn.1800a3f20
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18008f69b
mov edx, 0xcd
call fcn.180065450
test eax, eax
je 0x18008f753
mov qword [rsp + 0xd8], rsi
mov dword [rsp + 0xd8], edi
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a88], rax
mov dword [0x1801b79c0], esi
mov qword [0x1802008b8], rbx
mov dword [0x1801b79b0], 1
call fcn.1800ba210
mov qword [rsp + 0xd8], rsi
mov dword [rsp + 0xd8], edi
mov qword [0x1802008b8], rbp
movss xmm0, dword [rax]
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rsi
movss dword [rsp + 0xd8], xmm0
mov qword [0x1801b7a88], rax
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a90], rax
mov dword [0x1801b79c0], esi
mov dword [0x1801b79b0], 2
call fcn.1800ba210
cvtps2pd xmm0, xmm9
mov edx, edi
movaps xmm3, xmm8
movaps xmm2, xmm7
addsd xmm0, xmm6
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
call fcn.1800a3f20
mov dword [0x1801b79b0], esi
mov dword [0x1801b79c0], esi
mov qword [0x1802008b8], r14
call fcn.1800ba210
mov qword [rsp + 0xd8], rsi
mov ecx, dword [rax]
movabs rax, 0x997abd671d25ca0b
mov dword [rsp + 0xd8], ecx
mov qword [0x1802008b8], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rsi
mov qword [0x1801b7a88], rax
mov dword [rsp + 0xd8], esi
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a90], rax
mov dword [0x1801b79c0], esi
mov dword [0x1801b79b0], 2
call fcn.1800ba210
movaps xmm9, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0xa0]
mov rbp, qword [rsp + 0xd0]
cmp dword [rax], esi
jne 0x18008f981
mov dword [0x1801b79b0], esi
mov dword [0x1801b79c0], esi
mov qword [0x1802008b8], r14
call fcn.1800ba210
mov edx, 1
mov ecx, dword [rax]
call fcn.180064480
xor r8d, r8d
mov edx, 0xff
mov ecx, eax
mov ebx, eax
call fcn.1800641d0
mov edx, 1
mov ecx, ebx
mov r8d, edx
call fcn.180064090
mov qword [rsp + 0xd8], rsi
mov dword [rsp + 0xd8], ebx
jmp 0x18008f92a
mov dword [rsp + 0xd8], 0xff
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rsi
mov qword [0x1801b7a90], rax
mov dword [rsp + 0xd8], esi
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a98], rax
call fcn.1800ba210
mov qword [rsp + 0xd8], rsi
movabs rax, 0x1a9205c1b9ee827f
mov qword [0x1802008b8], rax
mov dword [rsp + 0xd8], edi
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rsi
mov qword [0x1801b7a88], rax
mov dword [rsp + 0xd8], 1
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rsi
mov qword [0x1801b7a90], rax
mov dword [rsp + 0xd8], 1
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a98], rax
mov dword [0x1801b79c0], esi
mov dword [0x1801b79b0], 3
call fcn.1800ba210
mov qword [rsp + 0xd8], rsi
mov dword [rsp + 0xd8], edi
movabs rax, 0x89f149b6131e57da
mov dword [0x1801b79c0], esi
mov qword [0x1802008b8], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xd8], rsi
mov qword [0x1801b7a88], rax
mov dword [rsp + 0xd8], 1
mov rax, qword [rsp + 0xd8]
mov qword [0x1801b7a90], rax
mov dword [0x1801b79b0], 2
call fcn.1800ba210
mov rbx, qword [rsp + 0xe0]
add rsp, 0xb0
pop r14
pop rdi
pop rsi
ret