Function at 0x18000bdd0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
sub rsp, 0xe8
test rcx, rcx
je 0x18000c45e
mov qword [rax + 8], rbx
mov rbx, qword [rcx + 0xe0]
test rbx, rbx
je 0x18000c456
mov qword [rax - 8], rdi
mov rdi, qword [rbx + 0x148]
test rdi, rdi
je 0x18000c44e
mov rcx, rdi
call fcn.180003f60
test al, al
je 0x18000c44e
cmp byte [0x1800a4086], 0
movss xmm0, dword [0x18006db70]
movaps xmmword [rsp + 0x50], xmm14
je 0x18000be40
movss xmm1, dword [0x1800a2e60]
mulss xmm1, xmm0
jmp 0x18000be43
movaps xmm1, xmm0
movss dword [rbx + 0x198], xmm1
cmp byte [0x1800a4086], 0
je 0x18000be62
movss xmm1, dword [0x1800a2e60]
mulss xmm1, xmm0
jmp 0x18000be65
movaps xmm1, xmm0
movss dword [rbx + 0x18c], xmm1
cmp byte [0x1800a4086], 0
je 0x18000be88
movss xmm0, dword [0x1800a2e60]
mulss xmm0, dword [0x18006db94]
jmp 0x18000be90
movss xmm0, dword [0x18006db94]
movss dword [rbx + 0x1a0], xmm0
cmp byte [0x1800a4086], 0
je 0x18000beb3
movss xmm0, dword [0x1800a2e60]
mulss xmm0, dword [0x18006db78]
jmp 0x18000bebb
movss xmm0, dword [0x18006db78]
movss dword [rdi + 0xb40], xmm0
cmp byte [0x1800a4058], 0
je 0x18000bede
movss xmm0, dword [0x1800a2e54]
mulss xmm0, dword [0x18006db7c]
jmp 0x18000bee6
movss xmm0, dword [0x18006db7c]
movss dword [rbx + 0x158], xmm0
xorps xmm14, xmm14
cmp byte [0x1800a407b], 0
je 0x18000bf00
xorps xmm0, xmm0
jmp 0x18000bf08
movss xmm0, dword [0x18006dac8]
cmp byte [0x1800a408c], 0
movss dword [rbx + 0x150], xmm0
je 0x18000bf39
cmp byte [0x1800a407b], 0
mov rcx, rdi
sete dl
call fcn.180004280
mov byte [rbx + 0x168], 1
mov byte [0x1800a408c], 0
cmp byte [0x1800a407b], 0
je 0x18000c448
movaps xmmword [rsp + 0xd0], xmm6
lea rdx, [rsp + 0x30]
movaps xmmword [rsp + 0xc0], xmm7
xor eax, eax
movaps xmmword [rsp + 0x80], xmm11
mov rcx, rdi
movaps xmmword [rsp + 0x40], xmm15
mov byte [rbx + 0x168], 1
mov qword [rbx + 0xc4], rax
mov dword [rbx + 0xcc], eax
call fcn.1800045a0
movss xmm11, dword [0x1800a2e68]
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x18000bfa8
addss xmm11, xmm11
movaps xmmword [rsp + 0xb0], xmm8
mov ecx, 0x57
movaps xmmword [rsp + 0x90], xmm10
movaps xmmword [rsp + 0x70], xmm12
movaps xmmword [rsp + 0x60], xmm13
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
movss xmm6, dword [0x18006daf0]
movss xmm7, dword [0x18006db5c]
jae 0x18000c0ce
movss xmm8, dword [0x1800a40b8]
mulss xmm8, xmm6
movss xmm6, dword [0x1800a40bc]
mulss xmm6, dword [0x18006daf0]
divss xmm8, xmm7
divss xmm6, xmm7
movaps xmm7, xmm6
movaps xmm0, xmm6
addss xmm7, dword [0x18006dae0]
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm12, xmm0
movaps xmm0, xmm8
mulss xmm12, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm12, xmm0
movaps xmm0, xmm7
addss xmm12, dword [rsp + 0x30]
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm14
addss xmm12, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm13, xmm0
movaps xmm0, xmm8
mulss xmm13, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm13, xmm0
movaps xmm0, xmm7
addss xmm13, dword [rsp + 0x34]
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm14
addss xmm13, xmm0
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movss xmm6, dword [0x18006daf0]
movaps xmm10, xmm0
movss xmm7, dword [0x18006db5c]
mulss xmm10, xmm11
movss dword [rsp + 0x30], xmm12
movss dword [rsp + 0x34], xmm13
addss xmm10, dword [rsp + 0x38]
movss dword [rsp + 0x38], xmm10
jmp 0x18000c0e3
movss xmm10, dword [rsp + 0x38]
movss xmm13, dword [rsp + 0x34]
movss xmm12, dword [rsp + 0x30]
movaps xmm15, xmm11
movaps xmmword [rsp + 0xa0], xmm9
xorps xmm15, xmmword [0x18006dfc0]
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x18000c1df
movss xmm9, dword [0x1800a40b8]
mulss xmm9, xmm6
divss xmm9, xmm7
movss xmm7, dword [0x1800a40bc]
mulss xmm7, xmm6
divss xmm7, dword [0x18006db5c]
movaps xmm8, xmm7
movaps xmm0, xmm7
addss xmm8, dword [0x18006dae0]
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
movaps xmm0, xmm9
mulss xmm6, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm6, xmm0
movaps xmm0, xmm8
addss xmm6, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm14
movaps xmm12, xmm6
addss xmm12, xmm0
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm6, xmm0
movaps xmm0, xmm9
mulss xmm6, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm6, xmm0
movaps xmm0, xmm8
addss xmm6, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm14
movaps xmm13, xmm6
addss xmm13, xmm0
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm15
movss dword [rsp + 0x30], xmm12
movss dword [rsp + 0x34], xmm13
addss xmm0, xmm10
movss dword [rsp + 0x38], xmm0
movaps xmm10, xmm0
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x18000c2d2
movss xmm7, dword [0x1800a40bc]
mulss xmm7, dword [0x18006daf0]
movss xmm9, dword [0x1800a40b8]
mulss xmm9, dword [0x18006daf0]
divss xmm7, dword [0x18006db5c]
divss xmm9, dword [0x18006db5c]
movaps xmm8, xmm7
movaps xmm0, xmm7
addss xmm8, dword [0x18006dae0]
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
movaps xmm0, xmm9
mulss xmm6, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm6, xmm0
movaps xmm0, xmm8
addss xmm6, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm11
movaps xmm12, xmm6
addss xmm12, xmm0
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm6, xmm0
movaps xmm0, xmm9
mulss xmm6, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm6, xmm0
movaps xmm0, xmm8
addss xmm6, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm11
movaps xmm13, xmm6
addss xmm13, xmm0
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm14
movss dword [rsp + 0x30], xmm12
movss dword [rsp + 0x34], xmm13
addss xmm0, xmm10
movss dword [rsp + 0x38], xmm0
movaps xmm10, xmm0
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x18000c3b9
movss xmm6, dword [0x1800a40bc]
mulss xmm6, dword [0x18006daf0]
movss xmm9, dword [0x1800a40b8]
mulss xmm9, dword [0x18006daf0]
divss xmm6, dword [0x18006db5c]
divss xmm9, dword [0x18006db5c]
movaps xmm7, xmm6
movaps xmm0, xmm6
addss xmm7, dword [0x18006dae0]
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm8, xmm0
movaps xmm0, xmm9
mulss xmm8, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm8, xmm0
movaps xmm0, xmm7
addss xmm8, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm0, xmm15
addss xmm8, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm6, xmm0
movaps xmm0, xmm9
mulss xmm6, xmm14
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm6, xmm0
movaps xmm0, xmm7
addss xmm6, xmm13
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm15
addss xmm6, xmm0
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mulss xmm0, xmm14
movss dword [rsp + 0x30], xmm8
movss dword [rsp + 0x34], xmm6
addss xmm0, xmm10
movss dword [rsp + 0x38], xmm0
movaps xmm10, xmm0
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
movaps xmm15, xmmword [rsp + 0x40]
movaps xmm13, xmmword [rsp + 0x60]
movaps xmm12, xmmword [rsp + 0x70]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm6, xmmword [rsp + 0xd0]
jae 0x18000c40b
addss xmm10, xmm11
movss dword [rsp + 0x38], xmm10
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x18000c429
subss xmm10, xmm11
movss dword [rsp + 0x38], xmm10
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.1800048e0
movaps xmm11, xmmword [rsp + 0x80]
movaps xmm10, xmmword [rsp + 0x90]
movaps xmm14, xmmword [rsp + 0x50]
mov rdi, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xf0]
add rsp, 0xe8
ret