Function at 0x140037260
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
cmp byte [0x140062db9], 1
movaps xmmword [rax - 0x18], xmm6
movss xmm6, dword [0x14006112c]
movaps xmmword [rax - 0x48], xmm9
movss xmm9, dword [0x140061128]
jne 0x140037883
mov ecx, dword [0x140061130]
mov qword [rax + 0x10], rsi
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rdi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor esi, esi
test ax, ax
jns 0x140037671
mov rdx, qword [0x140062e98]
xorps xmm0, xmm0
sub rdx, qword [0x140062e90]
sar rdx, 2
movaps xmmword [rsp + 0x90], xmm7
movaps xmmword [rsp + 0x80], xmm8
mov qword [rbp - 0x19], rsi
movdqu xmmword [rbp - 0x29], xmm0
test rdx, rdx
je 0x140037322
lea rcx, [rbp - 0x29]
call fcn.140002bc0
mov rdx, qword [0x140062e90]
mov rbx, qword [0x140062e98]
mov rdi, qword [rbp - 0x29]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea rax, [rdi + rbx*4]
mov qword [rbp - 0x21], rax
mov r8, qword [0x140062d38]
lea r9, [rbp - 0x29]
mov rcx, qword [0x140062d30]
mov edx, 0x5aef918
call fcn.140003280
mov rcx, qword [0x140062d38]
lea r8, [0x140062d70]
mov r9d, 4
mov qword [rsp + 0x20], rsi
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [0x140062ee0]
xorps xmm0, xmm0
sub rdx, qword [0x140062ed8]
sar rdx, 2
mov qword [rbp - 1], rsi
movdqu xmmword [rbp - 0x11], xmm0
test rdx, rdx
je 0x1400373b8
lea rcx, [rbp - 0x11]
call fcn.140002bc0
mov rdx, qword [0x140062ed8]
mov rbx, qword [0x140062ee0]
mov rdi, qword [rbp - 0x11]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea rax, [rdi + rbx*4]
mov qword [rbp - 9], rax
mov r8, qword [0x140062d38]
lea r9, [rbp - 0x11]
mov rcx, qword [0x140062d30]
mov edx, 0x5aef918
call fcn.140003280
mov rcx, qword [0x140062d38]
lea r8, [0x140062d78]
mov r9d, 4
mov qword [rsp + 0x20], rsi
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [0x140062d70]
addss xmm0, dword [0x140056a44]
cvtps2pd xmm1, xmm0
movss xmm0, dword [0x140062d78]
mulsd xmm1, qword [0x140056978]
cvtps2pd xmm0, xmm0
cvtpd2ps xmm8, xmm1
mulsd xmm0, qword [0x140056ac8]
movss dword [0x140062d80], xmm8
cvtpd2ps xmm7, xmm0
mulss xmm6, xmm7
movaps xmm0, xmm7
movss dword [0x140062d84], xmm7
movss dword [0x140062d88], xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mulss xmm6, xmm0
movaps xmm0, xmm7
mulss xmm6, xmm9
movss dword [0x140062d7c], xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm6, xmm0
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mov rdx, qword [0x140062ef8]
sub rdx, qword [0x140062ef0]
movaps xmm8, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
mulss xmm6, xmm0
xorps xmm0, xmm0
sar rdx, 2
mov qword [rbp - 0x19], rsi
movdqu xmmword [rbp - 0x29], xmm0
mulss xmm6, xmm9
movss dword [0x140062d74], xmm6
test rdx, rdx
je 0x1400374fd
lea rcx, [rbp - 0x29]
call fcn.140002bc0
mov rdx, qword [0x140062ef0]
mov rbx, qword [0x140062ef8]
mov rdi, qword [rbp - 0x29]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea rax, [rdi + rbx*4]
mov qword [rbp - 0x21], rax
mov r8, qword [0x140062d38]
lea r9, [rbp - 0x29]
mov rcx, qword [0x140062d30]
mov edx, 0x5aef918
call fcn.140003280
mov rcx, qword [0x140062d38]
lea r8, [0x140062d7c]
mov r9d, 4
mov qword [rsp + 0x20], rsi
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rdx, qword [0x140062ec8]
xorps xmm0, xmm0
sub rdx, qword [0x140062ec0]
sar rdx, 2
mov qword [rbp - 1], rsi
movdqu xmmword [rbp - 0x11], xmm0
test rdx, rdx
je 0x140037593
lea rcx, [rbp - 0x11]
call fcn.140002bc0
mov rdx, qword [0x140062ec0]
mov rbx, qword [0x140062ec8]
mov rdi, qword [rbp - 0x11]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea rax, [rdi + rbx*4]
mov qword [rbp - 9], rax
mov r8, qword [0x140062d38]
lea r9, [rbp - 0x11]
mov rcx, qword [0x140062d30]
mov edx, 0x5aef918
call fcn.140003280
mov rcx, qword [0x140062d38]
lea r8, [0x140062d88]
mov r9d, 4
mov qword [rsp + 0x20], rsi
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rdx, qword [0x140062eb0]
xorps xmm0, xmm0
sub rdx, qword [0x140062ea8]
sar rdx, 2
mov qword [rbp - 0x19], rsi
movdqu xmmword [rbp - 0x29], xmm0
test rdx, rdx
je 0x140037629
lea rcx, [rbp - 0x29]
call fcn.140002bc0
mov rdx, qword [0x140062ea8]
mov rbx, qword [0x140062eb0]
mov rdi, qword [rbp - 0x29]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea rax, [rdi + rbx*4]
mov qword [rbp - 0x21], rax
mov r8, qword [0x140062d38]
lea r9, [rbp - 0x29]
mov rcx, qword [0x140062d30]
mov edx, 0x5aef918
call fcn.140003280
mov rcx, qword [0x140062d38]
lea r8, [0x140062d74]
mov r9d, 4
mov qword [rsp + 0x20], rsi
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov al, 1
mov byte [0x140062d47], al
jmp 0x140037678
movzx eax, byte [0x140062d47]
cmp byte [0x1400610ce], sil
je 0x14003786b
cmp al, 1
jne 0x14003786b
mov ecx, dword [0x140061130]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14003786b
mov rdx, qword [0x140062ef8]
xorps xmm0, xmm0
sub rdx, qword [0x140062ef0]
sar rdx, 2
mov qword [rbp - 1], rsi
movdqu xmmword [rbp - 0x11], xmm0
test rdx, rdx
je 0x1400376fa
lea rcx, [rbp - 0x11]
call fcn.140002bc0
mov rdx, qword [0x140062ef0]
mov rbx, qword [0x140062ef8]
mov rdi, qword [rbp - 0x11]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea rax, [rdi + rbx*4]
mov qword [rbp - 9], rax
mov r8, qword [0x140062d38]
lea r9, [rbp - 0x11]
mov rcx, qword [0x140062d30]
mov edx, 0x5aef918
call fcn.140003280
mov rcx, qword [0x140062d38]
lea r8, [0x140062d8c]
mov r9d, 4
mov qword [rsp + 0x20], rsi
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rdx, qword [0x140062ec8]
xorps xmm0, xmm0
sub rdx, qword [0x140062ec0]
sar rdx, 2
mov qword [rbp - 0x19], rsi
movdqu xmmword [rbp - 0x29], xmm0
test rdx, rdx
je 0x140037790
lea rcx, [rbp - 0x29]
call fcn.140002bc0
mov rdx, qword [0x140062ec0]
mov rbx, qword [0x140062ec8]
mov rdi, qword [rbp - 0x29]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea rax, [rdi + rbx*4]
mov qword [rbp - 0x21], rax
mov r8, qword [0x140062d38]
lea r9, [rbp - 0x29]
mov rcx, qword [0x140062d30]
mov edx, 0x5aef918
call fcn.140003280
mov rcx, qword [0x140062d38]
lea r8, [0x140062d8c]
mov r9d, 4
mov qword [rsp + 0x20], rsi
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rdx, qword [0x140062eb0]
xorps xmm0, xmm0
sub rdx, qword [0x140062ea8]
sar rdx, 2
mov qword [rbp - 1], rsi
movdqu xmmword [rbp - 0x11], xmm0
test rdx, rdx
je 0x140037826
lea rcx, [rbp - 0x11]
call fcn.140002bc0
mov rdx, qword [0x140062ea8]
mov rbx, qword [0x140062eb0]
mov rdi, qword [rbp - 0x11]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea rax, [rdi + rbx*4]
mov qword [rbp - 9], rax
mov r8, qword [0x140062d38]
lea r9, [rbp - 0x11]
mov rcx, qword [0x140062d30]
mov edx, 0x5aef918
call fcn.140003280
mov rcx, qword [0x140062d38]
lea r8, [0x140062d8c]
mov r9d, 4
mov qword [rsp + 0x20], rsi
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov byte [0x140062d47], sil
mov rbx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xc8]
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm9, xmmword [rsp + 0x70]
add rsp, 0xb0
pop rbp
ret