Function at 0x180002430
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
sub rsp, 0xe8
test rcx, rcx
je 0x180002abe
mov qword [rax + 8], rbx
mov rbx, qword [rcx + 0xe0]
test rbx, rbx
je 0x180002ab6
mov qword [rax - 8], rdi
mov rdi, qword [rcx + 0xc0]
test rdi, rdi
je 0x180002aae
mov rcx, rdi
call fcn.1800691e0
test al, al
je 0x180002aae
cmp byte [0x1800bdea4], 0
movss xmm0, dword [0x180086cb8]
movaps xmmword [rsp + 0x50], xmm14
je 0x1800024a0
movss xmm1, dword [0x1800bce20]
mulss xmm1, xmm0
jmp 0x1800024a3
movaps xmm1, xmm0
movss dword [rbx + 0x198], xmm1
cmp byte [0x1800bdea4], 0
je 0x1800024c2
movss xmm1, dword [0x1800bce20]
mulss xmm1, xmm0
jmp 0x1800024c5
movaps xmm1, xmm0
movss dword [rbx + 0x18c], xmm1
cmp byte [0x1800bdea4], 0
je 0x1800024e8
movss xmm0, dword [0x1800bce20]
mulss xmm0, dword [0x180086cdc]
jmp 0x1800024f0
movss xmm0, dword [0x180086cdc]
movss dword [rbx + 0x1a0], xmm0
cmp byte [0x1800bdea4], 0
je 0x180002513
movss xmm0, dword [0x1800bce20]
mulss xmm0, dword [0x180086cc0]
jmp 0x18000251b
movss xmm0, dword [0x180086cc0]
movss dword [rdi + 0xb90], xmm0
cmp byte [0x1800bde78], 0
je 0x18000253e
movss xmm0, dword [0x1800bce1c]
mulss xmm0, dword [0x180086cc4]
jmp 0x180002546
movss xmm0, dword [0x180086cc4]
movss dword [rbx + 0x158], xmm0
xorps xmm14, xmm14
cmp byte [0x1800bde8e], 0
je 0x180002560
xorps xmm0, xmm0
jmp 0x180002568
movss xmm0, dword [0x180086c04]
cmp byte [0x1800bdea6], 0
movss dword [rbx + 0x150], xmm0
je 0x180002599
cmp byte [0x1800bde8e], 0
mov rcx, rdi
sete dl
call fcn.1800681a0
mov byte [rbx + 0x168], 1
mov byte [0x1800bdea6], 0
cmp byte [0x1800bde8e], 0
je 0x180002aa8
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.180068b70
movss xmm11, dword [0x1800bce28]
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x180002608
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 [0x180086c28]
movss xmm7, dword [0x180086ca0]
jae 0x18000272e
movss xmm8, dword [0x1800bdde8]
mulss xmm8, xmm6
movss xmm6, dword [0x1800bddec]
mulss xmm6, dword [0x180086c28]
divss xmm8, xmm7
divss xmm6, xmm7
movaps xmm7, xmm6
movaps xmm0, xmm6
addss xmm7, dword [0x180086c18]
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 [0x180086c28]
movaps xmm10, xmm0
movss xmm7, dword [0x180086ca0]
mulss xmm10, xmm11
movss dword [rsp + 0x30], xmm12
movss dword [rsp + 0x34], xmm13
addss xmm10, dword [rsp + 0x38]
movss dword [rsp + 0x38], xmm10
jmp 0x180002743
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 [0x180087140]
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x18000283f
movss xmm9, dword [0x1800bdde8]
mulss xmm9, xmm6
divss xmm9, xmm7
movss xmm7, dword [0x1800bddec]
mulss xmm7, xmm6
divss xmm7, dword [0x180086ca0]
movaps xmm8, xmm7
movaps xmm0, xmm7
addss xmm8, dword [0x180086c18]
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 0x180002932
movss xmm7, dword [0x1800bddec]
mulss xmm7, dword [0x180086c28]
movss xmm9, dword [0x1800bdde8]
mulss xmm9, dword [0x180086c28]
divss xmm7, dword [0x180086ca0]
divss xmm9, dword [0x180086ca0]
movaps xmm8, xmm7
movaps xmm0, xmm7
addss xmm8, dword [0x180086c18]
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 0x180002a19
movss xmm6, dword [0x1800bddec]
mulss xmm6, dword [0x180086c28]
movss xmm9, dword [0x1800bdde8]
mulss xmm9, dword [0x180086c28]
divss xmm6, dword [0x180086ca0]
divss xmm9, dword [0x180086ca0]
movaps xmm7, xmm6
movaps xmm0, xmm6
addss xmm7, dword [0x180086c18]
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 0x180002a6b
addss xmm10, xmm11
movss dword [rsp + 0x38], xmm10
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x180002a89
subss xmm10, xmm11
movss dword [rsp + 0x38], xmm10
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.180067e20
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