Function at 0x18001f010
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xc0
mov rdi, rcx
mov rcx, qword [0x180202080]
test rcx, rcx
je 0x18001f621
test rdi, rdi
je 0x18001f621
call fcn.180010ae0
test rax, rax
je 0x18001f621
cmp byte [rdi + 0x38], 0
jne 0x18001f621
cmp byte [0x1802024be], 0
mov qword [rsp + 0xe0], rsi
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm7
movaps xmmword [rsp + 0x90], xmm8
movaps xmmword [rsp + 0x80], xmm9
mov qword [rsp + 0xd0], rbx
je 0x18001f15e
mov ecx, dword [0x1802024c0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18001f15e
mov rcx, qword [0x180202080]
xorps xmm8, xmm8
add rcx, 0xb0
movabs rbx, 0x7fffffff0000
cmp rcx, 0x40000
jbe 0x18001f139
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x18001f139
mov rcx, qword [rcx]
add rcx, 0x40
cmp rcx, 0x40000
jbe 0x18001f139
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x18001f139
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x18001f139
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x18001f139
mov rdx, qword [rcx]
test rdx, rdx
je 0x18001f139
mov rax, qword [0x1802027d0]
lea rcx, [rbp - 0x19]
add rax, 0x10a8ea0
call rax
movss xmm1, dword [rbp - 0x19]
movss xmm0, dword [rbp - 0x15]
movss xmm2, dword [rbp - 0x11]
jmp 0x18001f142
xorps xmm1, xmm1
xorps xmm0, xmm0
xorps xmm2, xmm2
subss xmm0, dword [0x18006e730]
movss dword [rbp - 0x39], xmm1
movss dword [rbp - 0x31], xmm2
movss dword [rbp - 0x35], xmm0
jmp 0x18001f20b
mov rcx, qword [0x180202080]
xorps xmm8, xmm8
add rcx, 0xb0
movabs rbx, 0x7fffffff0000
cmp rcx, 0x40000
jbe 0x18001f1fc
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x18001f1fc
mov rcx, qword [rcx]
add rcx, 0x40
cmp rcx, 0x40000
jbe 0x18001f1fc
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x18001f1fc
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x18001f1fc
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x18001f1fc
mov rdx, qword [rcx]
test rdx, rdx
je 0x18001f1fc
mov rax, qword [0x1802027d0]
lea rcx, [rbp - 0x19]
add rax, 0x10a8ea0
call rax
movss xmm0, dword [rbp - 0x19]
movss xmm1, dword [rbp - 0x15]
movss dword [rbp - 0x39], xmm0
movss xmm0, dword [rbp - 0x11]
movss dword [rbp - 0x31], xmm0
movss dword [rbp - 0x35], xmm1
jmp 0x18001f20b
mov qword [rbp - 0x35], 0
mov dword [rbp - 0x39], 0
cmp byte [0x1802023ea], 0
lea rsi, [rbp - 0x39]
movsd xmm0, qword [rsi]
lea rcx, [rdi + 0xb0]
movsd qword [rbp + 7], xmm0
je 0x18001f2cd
cmp rcx, 0x40000
jbe 0x18001f34f
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x18001f34f
mov rcx, qword [rcx]
add rcx, 0x40
cmp rcx, 0x40000
jbe 0x18001f34f
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x18001f34f
mov rcx, qword [rcx]
add rcx, 0xb0
cmp rcx, 0x40000
jbe 0x18001f34f
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x18001f34f
mov rdx, qword [rcx]
test rdx, rdx
je 0x18001f34f
mov rax, qword [0x1802027d0]
lea rcx, [rbp - 0x19]
add rax, 0x10a8ea0
call rax
movss xmm0, dword [rbp - 0x19]
movss xmm1, dword [rbp - 0x15]
movss dword [rbp - 0x29], xmm0
movss xmm0, dword [rbp - 0x11]
movss dword [rbp - 0x21], xmm0
movss dword [rbp - 0x25], xmm1
jmp 0x18001f35e
cmp rcx, 0x40000
jbe 0x18001f34f
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x18001f34f
mov rcx, qword [rcx]
add rcx, 0x40
cmp rcx, 0x40000
jbe 0x18001f34f
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x18001f34f
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x18001f34f
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x18001f34f
mov rdx, qword [rcx]
test rdx, rdx
je 0x18001f34f
mov rax, qword [0x1802027d0]
lea rcx, [rbp - 0x19]
add rax, 0x10a8ea0
call rax
movss xmm0, dword [rbp - 0x19]
movss xmm1, dword [rbp - 0x15]
movss dword [rbp - 0x29], xmm0
movss xmm0, dword [rbp - 0x11]
movss dword [rbp - 0x21], xmm0
movss dword [rbp - 0x25], xmm1
jmp 0x18001f35e
mov qword [rbp - 0x25], 0
mov dword [rbp - 0x29], 0
mov rcx, qword [0x180202080]
lea rax, [rbp - 0x29]
movsd xmm0, qword [rax]
mov eax, dword [rax + 8]
movsd qword [rbp - 0x19], xmm0
mov dword [rbp - 0x11], eax
call fcn.180010ae0
mov rcx, rax
call fcn.180017440
mov ecx, eax
call fcn.180011490
movaps xmm6, xmm0
call fcn.180010c30
add rdi, 0x520
movaps xmm3, xmm0
cmp rdi, 0x40000
jbe 0x18001f3d5
lea rax, [rdi + 8]
cmp rax, rbx
jae 0x18001f3d5
mov rcx, qword [rdi]
add rcx, 0x170
cmp rcx, 0x40000
jbe 0x18001f3d5
lea rax, [rcx + 0xc]
cmp rax, rbx
jae 0x18001f3d5
movsd xmm0, qword [rcx]
mov eax, dword [rcx + 8]
jmp 0x18001f3e1
xorps xmm0, xmm0
movd eax, xmm8
unpcklps xmm0, xmm8
movsd qword [rbp - 0x29], xmm0
lea r8, [rbp - 0x29]
movsd xmm0, qword [rsi]
lea rdx, [rbp - 0x19]
mov dword [rbp - 0x21], eax
lea rcx, [rbp - 9]
mov eax, dword [rsi + 8]
movsd qword [rbp - 9], xmm0
movss dword [rsp + 0x20], xmm6
mov dword [rbp - 1], eax
call fcn.1800183c0
movss xmm0, dword [rbp + 0xb]
subss xmm0, dword [rbp - 0x15]
movss xmm7, dword [rbp + 7]
subss xmm7, dword [rbp - 0x19]
movss xmm6, dword [rsi + 8]
subss xmm6, dword [rbp - 0x11]
movaps xmm3, xmm0
mulss xmm3, xmm0
movaps xmm1, xmm7
movaps xmm2, xmm6
mulss xmm1, xmm7
mulss xmm2, xmm6
addss xmm3, xmm1
addss xmm3, xmm2
xorps xmm2, xmm2
sqrtss xmm2, xmm3
divss xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_asinf
xorps xmm6, xmmword [0x18006eef0]
movaps xmm9, xmm0
mulss xmm9, dword [0x18006e938]
movaps xmm1, xmm6
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
mov rdi, qword [0x180202080]
movaps xmm1, xmm0
mulss xmm1, dword [0x18006eabc]
add rdi, 0x4a8
mov rsi, qword [rsp + 0xe0]
cmp rdi, 0x40000
jbe 0x18001f4d0
lea rax, [rdi + 8]
cmp rax, rbx
jae 0x18001f4d0
mov rcx, qword [rdi]
add rcx, 0x3c
cmp rcx, 0x40000
jbe 0x18001f4d0
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x18001f4d0
movss xmm0, dword [rcx]
movss xmm2, dword [rcx + 4]
jmp 0x18001f4d6
xorps xmm2, xmm2
xorps xmm0, xmm0
movss xmm7, dword [0x18006eac0]
subss xmm9, xmm0
subss xmm1, xmm2
comiss xmm9, xmm7
jae 0x18001f4f3
movaps xmm9, xmm7
jmp 0x18001f4fc
minss xmm9, dword [0x18006e960]
comiss xmm1, dword [0x18006eadc]
movss xmm6, dword [0x18006e9c8]
jae 0x18001f513
addss xmm1, xmm6
jmp 0x18001f51c
comiss xmm1, xmm6
jbe 0x18001f51c
subss xmm1, xmm6
cmp rdi, 0x40000
jbe 0x18001f553
lea rax, [rdi + 8]
cmp rax, rbx
jae 0x18001f553
mov rcx, qword [rdi]
add rcx, 0x3c
cmp rcx, 0x40000
jbe 0x18001f553
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x18001f553
movss xmm8, dword [rcx]
movss xmm0, dword [rcx + 4]
jmp 0x18001f556
xorps xmm0, xmm0
cmp byte [0x180202396], 0
addss xmm8, xmm9
movaps xmm9, xmmword [rsp + 0x80]
addss xmm0, xmm1
movss dword [rbp + 0x6f], xmm8
movss dword [rbp + 0x73], xmm0
je 0x18001f590
lea rcx, [rbp + 0x6f]
call fcn.18001c340
movss xmm0, dword [rbp + 0x73]
movss xmm8, dword [rbp + 0x6f]
comiss xmm8, xmm7
jae 0x18001f59c
movaps xmm8, xmm7
jmp 0x18001f5af
comiss xmm8, dword [0x18006e960]
jbe 0x18001f5af
movss xmm8, dword [0x18006e960]
comiss xmm0, dword [0x18006eadc]
movaps xmm7, xmmword [rsp + 0xa0]
jae 0x18001f5c6
addss xmm0, xmm6
jmp 0x18001f5d3
comiss xmm0, xmm6
jbe 0x18001f5d3
addss xmm0, dword [0x18006eadc]
movaps xmm6, xmmword [rsp + 0xb0]
cmp rdi, 0x40000
jbe 0x18001f610
lea rax, [rdi + 8]
cmp rax, rbx
jae 0x18001f610
mov rcx, qword [rdi]
add rcx, 0x3c
cmp rcx, 0x40000
jbe 0x18001f610
lea rax, [rcx + 8]
cmp rax, rbx
jae 0x18001f610
movss dword [rcx], xmm8
movss dword [rcx + 4], xmm0
mov rbx, qword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0x90]
mov rdi, qword [rsp + 0xe8]
add rsp, 0xc0
pop rbp
ret