Function at 0x18009be70
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x130
cmp cl, 1
jne 0x18009c5a8
mov rcx, qword [0x180109038]
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax - 0x10], rsi
mov qword [rax - 0x18], r12
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rsp + 0x70], xmm15
mov byte [0x18019d609], 0
call fcn.18000c530
mov rcx, qword [0x180109038]
movabs rbx, 0xd80958fc74e988a6
mov rdx, rbx
call fcn.18000c5b0
mov rcx, qword [0x180109038]
call fcn.18000c530
mov rcx, qword [0x180109038]
mov rdx, rbx
call fcn.18000c5b0
mov rcx, qword [0x180109038]
mov rax, qword [rcx]
mov esi, dword [rax]
call fcn.18000c530
mov rax, qword [0x180109038]
xor edi, edi
movabs rdx, 0x837765a25378f0bb
mov ecx, dword [rax + 8]
mov qword [rax + rcx*8 + 0x130], rdi
inc dword [rax + 8]
mov rcx, qword [0x180109038]
call fcn.18000c5b0
mov rax, qword [0x180109038]
xor r9d, r9d
mov r8b, 1
mov edx, esi
mov rcx, qword [rax]
movups xmm6, xmmword [rcx]
movsd xmm13, qword [rcx + 0x10]
movabs rcx, 0xea1c610a04db6bbb
call fcn.18004b950
mov rcx, qword [0x180109038]
call fcn.18000c530
mov rcx, qword [0x180109038]
movabs rdx, 0x14d6f5678d8f1b37
call fcn.18000c5b0
mov rax, qword [0x180109038]
mov rcx, qword [rax]
movups xmm0, xmmword [rcx]
movsd xmm1, qword [rcx + 0x10]
mov ecx, dword [0x18019d918]
movups xmmword [rsp + 0x40], xmm0
movsd qword [rsp + 0x50], xmm1
call fcn.180079170
movsd qword [rsp + 0x68], xmm13
movaps xmm7, xmm6
shufps xmm7, xmm7, 0xaa
movups xmmword [rsp + 0x58], xmm6
movss xmm14, dword [rsp + 0x58]
test eax, eax
jne 0x18009c025
mov dl, 1
lea rcx, str.DEFAULT_SCRIPTED_CAMERA
call fcn.1800788f0
movaps xmm3, xmm13
mov dword [0x18019d918], eax
movaps xmm2, xmm7
mov dword [rsp + 0x20], edi
movaps xmm1, xmm14
mov ecx, eax
call fcn.180080750
movss xmm3, dword [rsp + 0x50]
movss xmm2, dword [rsp + 0x48]
movss xmm1, dword [rsp + 0x40]
mov ecx, dword [0x18019d918]
call fcn.180080660
mov r9b, 1
mov dword [rsp + 0x28], edi
movzx edx, r9b
mov byte [rsp + 0x20], 1
movzx ecx, r9b
mov r8d, 0x2bc
call fcn.1800802a0
mov edx, dword [0x18019d918]
mov r8b, 1
movabs rcx, 0x26fb97d0a425f84
call fcn.18004ae20
mov ecx, dword [0x18019d918]
movaps xmm3, xmm13
movaps xmm2, xmm7
mov dword [rsp + 0x20], edi
movaps xmm1, xmm14
call fcn.180080750
mov r8b, 1
lea rcx, [rsp + 0x58]
mov edx, esi
call fcn.180079f30
mov byte [rsp + 0x30], dil
mov ecx, esi
mov byte [rsp + 0x28], dil
mov byte [rsp + 0x20], dil
movups xmm1, xmmword [rax]
movsd xmm3, qword [rax + 0x10]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xaa
call fcn.180080a10
mov rcx, qword [0x180109038]
call fcn.18000c530
mov rcx, qword [0x180109038]
movabs rdx, 0x719ff505f097fd20
call fcn.18000c5b0
movss xmm12, dword [0x180123ee0]
movss xmm6, dword [0x1800b145c]
mulss xmm12, xmm6
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [0x180109008]
movabs r15, 0x91aef906bca88877
movabs r14, 0xb118af58b5f332a1
cmp rax, qword [rcx + 0x10]
jne 0x18009c144
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x18009c144
mov rcx, qword [0x180109038]
call fcn.18000c530
mov rcx, qword [0x180109038]
mov rdx, r14
call fcn.18000c5b0
mov rax, qword [0x180109038]
mov rcx, qword [rax]
cmp dword [rcx], edi
je 0x18009c15b
mov edx, 2
mov r8d, 0xce
mov rcx, r15
call fcn.18004a960
test eax, eax
je 0x18009c16c
movss xmm0, dword [0x180123ee0]
mulss xmm0, xmm6
addss xmm12, xmm0
movaps xmmword [rsp + 0xe0], xmm8
movaps xmmword [rsp + 0xd0], xmm9
movaps xmmword [rsp + 0xb0], xmm11
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [0x180109008]
movabs r12, 0xbac038f7459ae5ae
movss xmm10, dword [0x1800b1510]
movss xmm6, dword [0x1800b1500]
movss xmm15, dword [0x1800d432c]
cmp rax, qword [rcx + 0x10]
jne 0x18009c1f9
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x18009c1f9
mov rcx, qword [0x180109038]
call fcn.18000c530
mov rcx, qword [0x180109038]
mov rdx, r14
call fcn.18000c5b0
mov rbx, qword [0x180109038]
mov rax, qword [rbx]
cmp dword [rax], edi
je 0x18009c21b
mov edx, 2
mov r8d, 0x10c
mov rcx, r15
call fcn.18004a960
test eax, eax
je 0x18009c373
mov rbx, qword [0x180109038]
mulss xmm12, dword [0x1800b14cc]
movaps xmm0, xmm14
mulss xmm0, xmm15
movaps xmm1, xmm13
mulss xmm1, xmm15
xorps xmm9, xmm9
cvtps2pd xmm11, xmm0
cvtss2sd xmm9, xmm1
movaps xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
mov rcx, rbx
cvtsd2ss xmm1, xmm0
andps xmm1, xmm6
cvtps2pd xmm7, xmm1
call fcn.18000c530
mov eax, dword [0x18019d918]
mov qword [rsp + 0x148], rdi
mov dword [rsp + 0x148], eax
mov rax, qword [0x180109038]
mov rcx, qword [rsp + 0x148]
mov edx, dword [rax + 8]
mov qword [rax + rdx*8 + 0x130], rcx
mov rdx, r12
inc dword [rax + 8]
mov rcx, qword [0x180109038]
call fcn.18000c5b0
mov rax, qword [0x180109038]
movaps xmm0, xmm9
mov rcx, qword [rax]
movups xmm6, xmmword [rcx]
movsd xmm8, qword [rcx + 0x10]
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm2, xmm2
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm9
xorps xmm1, xmm10
cvtss2sd xmm2, xmm1
mulsd xmm2, xmm7
cvtpd2ps xmm10, xmm2
mulss xmm10, xmm12
addss xmm10, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
shufps xmm6, xmm6, 0xaa
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm11
cvtps2pd xmm2, xmm1
mulsd xmm2, xmm7
cvtpd2ps xmm7, xmm2
mulss xmm7, xmm12
addss xmm7, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
mov ecx, dword [0x18019d918]
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
movaps xmm2, xmm7
movaps xmm1, xmm10
mulss xmm6, xmm12
addss xmm6, xmm8
movaps xmm3, xmm6
call fcn.180080660
subss xmm6, dword [0x1800b147c]
mov byte [rsp + 0x30], dil
movaps xmm2, xmm7
mov byte [rsp + 0x28], dil
movaps xmm1, xmm10
mov ecx, esi
mov byte [rsp + 0x20], dil
movaps xmm3, xmm6
call fcn.180080a10
movss xmm10, dword [0x1800b1510]
movss xmm6, dword [0x1800b1500]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [0x180109008]
cmp rax, qword [rcx + 0x10]
jne 0x18009c3c1
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x18009c3c1
mov rcx, qword [0x180109038]
call fcn.18000c530
mov rcx, qword [0x180109038]
mov rdx, r14
call fcn.18000c5b0
mov rbx, qword [0x180109038]
mov rax, qword [rbx]
cmp dword [rax], edi
je 0x18009c3e3
mov edx, 2
mov r8d, 0x10d
mov rcx, r15
call fcn.18004a960
test eax, eax
je 0x18009c51a
mov rbx, qword [0x180109038]
mulss xmm14, xmm15
xorps xmm9, xmm9
mulss xmm13, xmm15
cvtps2pd xmm11, xmm14
cvtss2sd xmm9, xmm13
movaps xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
mov rcx, rbx
cvtsd2ss xmm1, xmm0
andps xmm1, xmm6
cvtps2pd xmm7, xmm1
call fcn.18000c530
mov eax, dword [0x18019d918]
mov rdx, r12
mov qword [rsp + 0x148], rdi
mov dword [rsp + 0x148], eax
mov rax, qword [0x180109038]
mov rcx, qword [rsp + 0x148]
mov r8d, dword [rax + 8]
mov qword [rax + r8*8 + 0x130], rcx
inc dword [rax + 8]
mov rcx, qword [0x180109038]
call fcn.18000c5b0
mov rax, qword [0x180109038]
movaps xmm0, xmm9
mov rcx, qword [rax]
movups xmm6, xmmword [rcx]
movsd xmm8, qword [rcx + 0x10]
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm2, xmm2
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm9
xorps xmm1, xmm10
cvtss2sd xmm2, xmm1
mulsd xmm2, xmm7
cvtpd2ps xmm10, xmm2
mulss xmm10, xmm12
addss xmm10, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
shufps xmm6, xmm6, 0xaa
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm11
cvtps2pd xmm2, xmm1
mulsd xmm2, xmm7
cvtpd2ps xmm7, xmm2
mulss xmm7, xmm12
addss xmm7, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
mov ecx, dword [0x18019d918]
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
movaps xmm2, xmm7
movaps xmm1, xmm10
mulss xmm6, xmm12
addss xmm6, xmm8
movaps xmm3, xmm6
call fcn.180080660
subss xmm6, dword [0x1800b147c]
mov byte [rsp + 0x30], dil
movaps xmm2, xmm7
mov byte [rsp + 0x28], dil
movaps xmm1, xmm10
mov ecx, esi
mov byte [rsp + 0x20], dil
movaps xmm3, xmm6
call fcn.180080a10
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm11, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xa0]
movaps xmm10, xmmword [rsp + 0xc0]
movaps xmm13, xmmword [rsp + 0x90]
movaps xmm14, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x100]
mov r15, qword [rsp + 0x110]
mov r14, qword [rsp + 0x118]
mov r12, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x128]
mov rbp, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x140]
movaps xmm15, xmmword [rsp + 0x70]
add rsp, 0x130
pop rdi
ret
test cl, cl
jne 0x18009c59f
cmp byte [0x18019d609], cl
jne 0x18009c59f
mov r9b, 1
xor edi, edi
mov dword [rsp + 0x28], edi
movzx edx, r9b
mov r8d, 0x2bc
mov byte [rsp + 0x20], 1
xor ecx, ecx
call fcn.1800802a0
mov edx, dword [0x18019d914]
xor r8d, r8d
movabs rcx, 0x26fb97d0a425f84
call fcn.18004ae20
mov edx, dword [0x18019d914]
mov r8b, 1
movabs rcx, 0x865908c81a2c22e9
call fcn.18004ae20
mov byte [0x18019d609], 1
add rsp, 0x130
pop rdi
ret