Function at 0x140007070
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x100
mov rax, qword [0x14006c040]
xor rax, rsp
mov qword [rbp - 0x69], rax
cmp byte [0x14006d17e], 0
je 0x140007568
cmp byte [0x14006d17f], 0
je 0x140007568
cmp dword [0x14006c104], 1
movss xmm0, dword [0x14006c108]
movaps xmmword [rsp + 0xb0], xmm9
movaps xmm9, xmm0
divss xmm9, dword [0x140060e10]
jne 0x1400070da
movaps xmm9, xmm0
mulss xmm9, dword [0x140060d64]
mov ecx, 0x56
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
and al, 1
je 0x140007107
cmp byte [0x14006d127], 0
jne 0x140007107
cmp byte [0x14006d126], 0
sete cl
mov byte [0x14006d126], cl
jmp 0x14000710e
movzx ecx, byte [0x14006d126]
mov byte [0x14006d127], al
test cl, cl
je 0x14000755f
mov rcx, qword [0x14006c1d8]
test rcx, rcx
je 0x14000755f
cmp byte [0x14006c100], 0
mov qword [rsp + 0x110], rbx
mov qword [rsp + 0x118], rsi
mov qword [rsp + 0x120], rdi
mov qword [rsp + 0xf8], r14
mov qword [rsp + 0xf0], r15
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xd0], xmm7
movaps xmmword [rsp + 0xc0], xmm8
movaps xmmword [rsp + 0xa0], xmm10
xorps xmm10, xmm10
movaps xmmword [rsp + 0x90], xmm11
movaps xmmword [rsp + 0x80], xmm12
movaps xmmword [rsp + 0x70], xmm13
movaps xmmword [rsp + 0x60], xmm14
movaps xmmword [rsp + 0x50], xmm15
je 0x1400071ff
add rcx, 0x160
mov qword [rsp + 0x20], 0
xor r9d, r9d
lea rdx, [rsp + 0x20]
mov r8d, 8
call fcn.140001030
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x1400071ff
add rcx, 0x14c
mov qword [rbp - 0x79], 0
mov r9d, 1
mov dword [rbp - 0x71], 0
mov r8d, 0xc
lea rdx, [rbp - 0x79]
call fcn.140001030
movss xmm0, dword [0x1400612f0]
mov ecx, 0x57
movss xmm1, dword [0x14006d1d8]
xorps xmm7, xmm7
movss xmm14, dword [0x14006d1d0]
xorps xmm1, xmm0
movss xmm15, dword [0x14006d1d4]
xorps xmm6, xmm6
movss xmm11, dword [0x14006d1b0]
xorps xmm8, xmm8
movss xmm12, dword [0x14006d1b4]
xorps xmm14, xmm0
movss xmm13, dword [0x14006d1b8]
xorps xmm15, xmm0
movss dword [rsp + 0x20], xmm1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx ebx, ax
mov ecx, 0x53
shr ebx, 0xf
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx edi, ax
mov ecx, 0x41
shr edi, 0xf
and dil, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx esi, ax
mov ecx, 0x44
shr esi, 0xf
and sil, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx r15d, ax
mov ecx, 0x20
shr r15d, 0xf
and r15b, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx r14d, ax
mov ecx, 0xa2
shr r14d, 0xf
and r14b, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm0, dword [rsp + 0x20]
shr eax, 0xf
and al, 1
test bl, 1
je 0x1400072f6
movaps xmm7, xmm14
movaps xmm6, xmm15
movaps xmm8, xmm0
addss xmm7, xmm10
addss xmm6, xmm10
addss xmm8, xmm10
test dil, dil
je 0x14000730a
subss xmm7, xmm14
subss xmm6, xmm15
subss xmm8, xmm0
movaps xmm15, xmmword [rsp + 0x50]
movaps xmm14, xmmword [rsp + 0x60]
test sil, sil
je 0x14000732a
subss xmm7, xmm11
subss xmm6, xmm12
subss xmm8, xmm13
test r15b, r15b
mov r15, qword [rsp + 0xf0]
je 0x140007346
addss xmm7, xmm11
addss xmm6, xmm12
addss xmm8, xmm13
movaps xmm13, xmmword [rsp + 0x70]
test r14b, r14b
mov r14, qword [rsp + 0xf8]
movaps xmm12, xmmword [rsp + 0x80]
movaps xmm11, xmmword [rsp + 0x90]
je 0x140007373
addss xmm6, dword [0x140060d9c]
test al, al
je 0x14000737f
addss xmm6, dword [0x140060e64]
ucomiss xmm7, xmm10
jp 0x14000739b
jne 0x14000739b
ucomiss xmm6, xmm10
jp 0x14000739b
jne 0x14000739b
ucomiss xmm8, xmm10
jp 0x14000739b
je 0x14000741b
movaps xmm0, xmm7
movaps xmm2, xmm6
mulss xmm2, xmm6
movaps xmm1, xmm8
mulss xmm0, xmm7
mulss xmm1, xmm8
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
ucomiss xmm0, xmm2
ja 0x1400073cb
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1400073d3
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
ucomiss xmm0, xmm10
jp 0x1400073db
je 0x1400073e8
divss xmm7, xmm0
divss xmm6, xmm0
divss xmm8, xmm0
mulss xmm7, xmm9
mulss xmm8, xmm9
mulss xmm6, xmm9
movaps xmm0, xmm7
movd eax, xmm8
unpcklps xmm0, xmm6
movaps xmm1, xmm0
shufps xmm0, xmm0, 0x55
movsd qword [rbp - 0x79], xmm1
movaps xmm6, xmm0
movss xmm7, dword [rbp - 0x79]
movd xmm8, eax
addss xmm7, dword [0x14006c1e0]
addss xmm6, dword [0x14006c1e4]
addss xmm8, dword [0x14006c1e8]
mov eax, dword [0x14006c104]
movaps xmm10, xmmword [rsp + 0xa0]
movss dword [rbp - 0x79], xmm7
movss dword [rbp - 0x75], xmm6
movss dword [rbp - 0x71], xmm8
test eax, eax
jne 0x1400074be
mov rcx, qword [0x14006c1d8]
lea rdx, [rsp + 0x20]
add rcx, 0x160
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 8
call fcn.140001030
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x14000752e
movaps xmm0, xmm7
movss dword [rbp - 0x71], xmm8
unpcklps xmm0, xmm6
lea rdx, [rbp - 0x79]
add rcx, 0x140
movsd qword [rbp - 0x79], xmm0
mov r9d, 1
mov r8d, 0xc
call fcn.140001030
jmp 0x14000752e
cmp eax, 1
jne 0x14000752e
mov rcx, qword [0x14006c1d8]
lea rdx, [rsp + 0x20]
add rcx, 0x160
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 8
call fcn.140001030
mov rdi, qword [rsp + 0x20]
test rdi, rdi
je 0x14000752e
mov esi, dword [rbp - 0x71]
mov ebx, 0x3e8
movsd xmm6, qword [rbp - 0x79]
mov r9d, 1
movsd qword [rbp - 0x79], xmm6
mov r8d, 0xc
mov dword [rbp - 0x71], esi
lea rdx, [rbp - 0x79]
lea rcx, [rdi + 0x140]
call fcn.140001030
sub rbx, 1
jne 0x140007504
movaps xmm8, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0xe0]
mov rdi, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x110]
movaps xmm9, xmmword [rsp + 0xb0]
mov rcx, qword [rbp - 0x69]
xor rcx, rsp
call fcn.140055f10
add rsp, 0x100
pop rbp
ret