Function at 0x140012c40
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0x10]
sub rsp, 0x110
cmp byte [0x1400c5d24], 0
jne 0x140012c6b
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
add rsp, 0x110
pop rbp
ret
mov ecx, dword [0x1400c5d38]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140012c90
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
add rsp, 0x110
pop rbp
ret
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x108], r12
mov qword [rsp + 0x100], r13
mov qword [rsp + 0xf0], r15
call fcn.140014360
xor r12d, r12d
mov qword [rbp + 0x20], r12
mov rbx, qword [rax + 0x10]
call fcn.140018200
mov rcx, qword [0x14024af48]
lea r9d, [r12 + 8]
lea r8, [rbp + 0x20]
mov rdx, rbx
cmp byte [rax], r12b
cmovne rcx, qword [0x14024af30]
call fcn.14006cd60
mov r15, qword [rbp + 0x20]
movabs r13, 0xefffffffeffff
lea rax, [r15 - 0x10000]
cmp rax, r13
ja 0x140013346
mov qword [rsp + 0x130], rsi
lea esi, [r12 - 1]
movaps xmmword [rsp + 0xc0], xmm8
movss xmm8, dword [0x1400b53a4]
movaps xmmword [rsp + 0xb0], xmm9
movaps xmm9, xmm8
call fcn.140014360
mov qword [rbp + 0x20], r12
mov rbx, qword [rax + 0x30]
call fcn.140018200
mov rcx, qword [0x14024af48]
lea r9d, [r12 + 8]
lea r8, [rbp + 0x20]
mov rdx, rbx
cmp byte [rax], r12b
cmovne rcx, qword [0x14024af30]
call fcn.14006cd60
mov rbx, qword [rbp + 0x20]
test rbx, rbx
je 0x14001332c
mov qword [rsp + 0xf8], r14
mov qword [rbp + 0x20], r12
call fcn.140018200
mov rcx, qword [0x14024af48]
lea rdx, [rbx + 8]
lea r9d, [r12 + 8]
lea r8, [rbp + 0x20]
cmp byte [rax], r12b
cmovne rcx, qword [0x14024af30]
call fcn.14006cd60
mov r14, qword [rbp + 0x20]
test r14, r14
je 0x140013324
mov qword [rsp + 0x138], rdi
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xa0], xmm10
movaps xmmword [rsp + 0x90], xmm11
movaps xmmword [rsp + 0x80], xmm12
call fcn.140014360
mov rbx, qword [rax + 0x68]
add rbx, r14
call fcn.140018200
mov rcx, qword [0x14024af48]
lea r9d, [r12 + 0xc]
lea r8, [rsp + 0x50]
mov rdx, rbx
cmp byte [rax], r12b
cmovne rcx, qword [0x14024af30]
call fcn.14006cd60
movss xmm10, dword [0x1400b52b0]
mov edi, r12d
movss xmm12, dword [0x1400b5234]
xorps xmm6, xmm6
movss xmm11, dword [0x1400b53e0]
movaps xmmword [rsp + 0xd0], xmm7
nop
mov ecx, edi
call fcn.140013370
cmp qword [rax], r12
je 0x140013067
mov ecx, edi
call fcn.140013370
cmp qword [rax], r14
je 0x140013067
mov ecx, edi
call fcn.140013370
movss xmm0, dword [0x1400c5d44]
comiss xmm0, dword [rax + 0x34]
jae 0x140013067
mov ecx, edi
call fcn.140013370
movss xmm0, dword [rax + 0x30]
subss xmm0, dword [rsp + 0x58]
movss xmm1, dword [rax + 0x2c]
movss xmm2, dword [rax + 0x28]
subss xmm2, dword [rsp + 0x50]
subss xmm1, dword [rsp + 0x54]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140012ec6
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140012ece
movaps xmm0, xmm2
call fcn.1400a0778
comiss xmm0, dword [0x1400c5d2c]
ja 0x140013067
call fcn.140014360
mov rbx, qword [rax + 0x98]
add rbx, r15
call fcn.140018200
mov rcx, qword [0x14024af48]
lea r8, [rsp + 0x60]
mov r9d, 0xc
mov rdx, rbx
cmp byte [rax], r12b
cmovne rcx, qword [0x14024af30]
call fcn.14006cd60
mov ecx, edi
call fcn.140013370
mov ecx, dword [0x1400c5d48]
mov rdx, qword [rax]
test ecx, ecx
je 0x140012f49
sub ecx, 1
je 0x140012f41
cmp ecx, 1
je 0x140012f41
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x38], r12d
jmp 0x140013067
mov r8d, 7
jmp 0x140012f4c
mov r8d, r12d
lea rcx, [rsp + 0x30]
call fcn.1400134f0
movss xmm2, dword [rsp + 0x30]
ucomiss xmm2, xmm6
movss xmm0, dword [rsp + 0x38]
movss xmm1, dword [rsp + 0x34]
jp 0x140012f81
jne 0x140012f81
ucomiss xmm1, xmm6
jp 0x140012f81
jne 0x140012f81
ucomiss xmm0, xmm6
jp 0x140012f81
je 0x140013067
subss xmm1, dword [rsp + 0x64]
subss xmm0, dword [rsp + 0x68]
subss xmm2, dword [rsp + 0x60]
mulss xmm1, xmm1
mulss xmm0, xmm0
mulss xmm2, xmm2
addss xmm1, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140012fb8
xorps xmm7, xmm7
sqrtss xmm7, xmm1
jmp 0x140012fc3
movaps xmm0, xmm1
call fcn.1400a0778
movaps xmm7, xmm0
comiss xmm10, xmm7
ja 0x140013067
movsd xmm1, qword [rsp + 0x30]
lea rdx, [rsp + 0x40]
mov eax, dword [rsp + 0x38]
lea rcx, [rsp + 0x70]
movsd qword [rsp + 0x70], xmm1
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x78], eax
call fcn.140013650
test al, al
je 0x140013067
movss xmm3, dword [rsp + 0x40]
comiss xmm3, xmm6
jbe 0x140013067
mov rax, qword [0x14024ad10]
movss xmm2, dword [rsp + 0x44]
movss xmm0, dword [rax + 0x10]
movss xmm1, dword [rax + 0x14]
mulss xmm0, xmm12
mulss xmm1, xmm12
subss xmm3, xmm0
subss xmm2, xmm1
comiss xmm6, xmm3
jbe 0x14001303c
mulss xmm3, xmm11
comiss xmm6, xmm2
jbe 0x140013046
mulss xmm2, xmm11
movss xmm0, dword [0x1400c5d28]
addss xmm2, xmm3
comiss xmm0, xmm2
jbe 0x140013067
comiss xmm8, xmm7
jb 0x140013067
mov esi, edi
movaps xmm8, xmm7
movaps xmm9, xmm2
inc edi
cmp edi, 0x400
jl 0x140012e40
comiss xmm9, dword [0x1400b5398]
mov rdi, qword [rsp + 0x138]
jae 0x1400132f9
cmp esi, 0xffffffff
je 0x1400132f9
mov ecx, esi
call fcn.140013370
movss xmm0, dword [rax + 0x28]
ucomiss xmm0, xmm6
jp 0x1400130ab
je 0x1400132f9
mov ecx, dword [0x1400c5d38]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400132f9
movss xmm10, dword [0x1400b6190]
nop dword [rax]
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, esi
call fcn.140013370
mov rbx, qword [rax]
lea rax, [rbx - 0x10000]
cmp rax, r13
ja 0x1400132f9
mov ecx, esi
call fcn.140013370
mov rcx, rax
mov rdx, rbx
call fcn.140013400
mov ecx, esi
call fcn.140013370
movss xmm0, dword [0x1400c5d44]
comiss xmm0, dword [rax + 0x34]
jae 0x1400132f9
mov ecx, esi
call fcn.140013370
mov ecx, dword [0x1400c5d48]
mov rdx, qword [rax]
test ecx, ecx
je 0x140013152
sub ecx, 1
je 0x14001314a
cmp ecx, 1
je 0x14001314a
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x38], r12d
jmp 0x14001315f
mov r8d, 7
jmp 0x140013155
xor r8d, r8d
lea rcx, [rsp + 0x30]
call fcn.1400134f0
movsd xmm0, qword [rsp + 0x30]
lea rdx, [rsp + 0x40]
mov eax, dword [rsp + 0x38]
lea rcx, [rsp + 0x70]
movsd qword [rsp + 0x70], xmm0
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x78], eax
call fcn.140013650
test al, al
je 0x1400132f9
movss xmm7, dword [rsp + 0x40]
ucomiss xmm7, xmm6
movss xmm8, dword [rsp + 0x44]
jp 0x1400131c1
jne 0x1400131c1
ucomiss xmm8, xmm6
jp 0x1400131c1
jne 0x1400131c1
movss xmm0, dword [rsp + 0x48]
ucomiss xmm0, xmm6
jp 0x1400131c1
je 0x1400132f9
mov rax, qword [0x14024ad10]
movaps xmm1, xmm7
movaps xmm0, xmm8
movss xmm5, dword [rax + 0x10]
movss xmm4, dword [rax + 0x14]
mulss xmm5, xmm12
mulss xmm4, xmm12
subss xmm1, xmm5
subss xmm0, xmm4
comiss xmm6, xmm1
jbe 0x1400131f5
mulss xmm1, xmm11
comiss xmm6, xmm0
jbe 0x1400131ff
mulss xmm0, xmm11
addss xmm0, xmm1
comiss xmm0, dword [0x1400c5d28]
ja 0x1400132f9
ucomiss xmm7, xmm6
movss xmm9, dword [0x1400c5d40]
movaps xmm3, xmm6
movaps xmm2, xmm6
jp 0x140013226
je 0x140013271
comiss xmm7, xmm5
jbe 0x140013251
movaps xmm3, xmm5
movaps xmm0, xmm5
subss xmm3, xmm7
addss xmm0, xmm5
xorps xmm3, xmm10
divss xmm3, xmm9
movaps xmm1, xmm3
addss xmm1, xmm5
comiss xmm1, xmm0
jbe 0x140013251
movaps xmm3, xmm6
comiss xmm5, xmm7
jbe 0x140013271
movaps xmm3, xmm7
subss xmm3, xmm5
divss xmm3, xmm9
movaps xmm0, xmm3
addss xmm0, xmm5
comiss xmm6, xmm0
jbe 0x140013271
movaps xmm3, xmm6
ucomiss xmm8, xmm6
jp 0x140013279
je 0x1400132c8
comiss xmm8, xmm4
jbe 0x1400132a6
movaps xmm2, xmm4
movaps xmm0, xmm4
subss xmm2, xmm8
addss xmm0, xmm4
xorps xmm2, xmm10
divss xmm2, xmm9
movaps xmm1, xmm2
addss xmm1, xmm4
comiss xmm1, xmm0
jbe 0x1400132a6
movaps xmm2, xmm6
comiss xmm4, xmm8
jbe 0x1400132c8
movaps xmm2, xmm8
subss xmm2, xmm4
divss xmm2, xmm9
movaps xmm0, xmm2
addss xmm0, xmm4
comiss xmm6, xmm0
jbe 0x1400132c8
movaps xmm2, xmm6
xor r9d, r9d
mov qword [rsp + 0x20], r12
cvttss2si r8, xmm2
lea ecx, [r9 + 1]
cvttss2si rdx, xmm3
call qword [sym.imp.USER32.dll_mouse_event]
mov ecx, dword [0x1400c5d38]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400130d0
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0xa0]
movaps xmm11, xmmword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0x80]
mov r14, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x130]
movaps xmm8, xmmword [rsp + 0xc0]
movaps xmm9, xmmword [rsp + 0xb0]
mov r12, qword [rsp + 0x108]
mov r13, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x128]
mov r15, qword [rsp + 0xf0]
add rsp, 0x110
pop rbp
ret