Function at 0x140012c60
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0x10]
sub rsp, 0x110
cmp byte [0x1400c5d24], 0
jne 0x140012c8b
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 0x140012cb0
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.140014380
xor r12d, r12d
mov qword [rbp + 0x20], r12
mov rbx, qword [rax + 0x10]
call fcn.140018220
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.14006cda0
mov r15, qword [rbp + 0x20]
movabs r13, 0xefffffffeffff
lea rax, [r15 - 0x10000]
cmp rax, r13
ja 0x140013366
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.140014380
mov qword [rbp + 0x20], r12
mov rbx, qword [rax + 0x30]
call fcn.140018220
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.14006cda0
mov rbx, qword [rbp + 0x20]
test rbx, rbx
je 0x14001334c
mov qword [rsp + 0xf8], r14
mov qword [rbp + 0x20], r12
call fcn.140018220
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.14006cda0
mov r14, qword [rbp + 0x20]
test r14, r14
je 0x140013344
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.140014380
mov rbx, qword [rax + 0x68]
add rbx, r14
call fcn.140018220
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.14006cda0
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.140013390
cmp qword [rax], r12
je 0x140013087
mov ecx, edi
call fcn.140013390
cmp qword [rax], r14
je 0x140013087
mov ecx, edi
call fcn.140013390
movss xmm0, dword [0x1400c5d44]
comiss xmm0, dword [rax + 0x34]
jae 0x140013087
mov ecx, edi
call fcn.140013390
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 0x140012ee6
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140012eee
movaps xmm0, xmm2
call fcn.1400a07a8
comiss xmm0, dword [0x1400c5d2c]
ja 0x140013087
call fcn.140014380
mov rbx, qword [rax + 0x98]
add rbx, r15
call fcn.140018220
mov rcx, qword [0x14024af48]
lea r8, [rsp + 0x60]
mov r9d, 0xc
mov rdx, rbx
cmp byte [rax], r12b
cmovne rcx, qword [0x14024af30]
call fcn.14006cda0
mov ecx, edi
call fcn.140013390
mov ecx, dword [0x1400c5d48]
mov rdx, qword [rax]
test ecx, ecx
je 0x140012f69
sub ecx, 1
je 0x140012f61
cmp ecx, 1
je 0x140012f61
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x38], r12d
jmp 0x140013087
mov r8d, 7
jmp 0x140012f6c
mov r8d, r12d
lea rcx, [rsp + 0x30]
call fcn.140013510
movss xmm2, dword [rsp + 0x30]
ucomiss xmm2, xmm6
movss xmm0, dword [rsp + 0x38]
movss xmm1, dword [rsp + 0x34]
jp 0x140012fa1
jne 0x140012fa1
ucomiss xmm1, xmm6
jp 0x140012fa1
jne 0x140012fa1
ucomiss xmm0, xmm6
jp 0x140012fa1
je 0x140013087
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 0x140012fd8
xorps xmm7, xmm7
sqrtss xmm7, xmm1
jmp 0x140012fe3
movaps xmm0, xmm1
call fcn.1400a07a8
movaps xmm7, xmm0
comiss xmm10, xmm7
ja 0x140013087
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.140013670
test al, al
je 0x140013087
movss xmm3, dword [rsp + 0x40]
comiss xmm3, xmm6
jbe 0x140013087
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 0x14001305c
mulss xmm3, xmm11
comiss xmm6, xmm2
jbe 0x140013066
mulss xmm2, xmm11
movss xmm0, dword [0x1400c5d28]
addss xmm2, xmm3
comiss xmm0, xmm2
jbe 0x140013087
comiss xmm8, xmm7
jb 0x140013087
mov esi, edi
movaps xmm8, xmm7
movaps xmm9, xmm2
inc edi
cmp edi, 0x400
jl 0x140012e60
comiss xmm9, dword [0x1400b5398]
mov rdi, qword [rsp + 0x138]
jae 0x140013319
cmp esi, 0xffffffff
je 0x140013319
mov ecx, esi
call fcn.140013390
movss xmm0, dword [rax + 0x28]
ucomiss xmm0, xmm6
jp 0x1400130cb
je 0x140013319
mov ecx, dword [0x1400c5d38]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140013319
movss xmm10, dword [0x1400b5e70]
nop dword [rax]
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, esi
call fcn.140013390
mov rbx, qword [rax]
lea rax, [rbx - 0x10000]
cmp rax, r13
ja 0x140013319
mov ecx, esi
call fcn.140013390
mov rcx, rax
mov rdx, rbx
call fcn.140013420
mov ecx, esi
call fcn.140013390
movss xmm0, dword [0x1400c5d44]
comiss xmm0, dword [rax + 0x34]
jae 0x140013319
mov ecx, esi
call fcn.140013390
mov ecx, dword [0x1400c5d48]
mov rdx, qword [rax]
test ecx, ecx
je 0x140013172
sub ecx, 1
je 0x14001316a
cmp ecx, 1
je 0x14001316a
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x38], r12d
jmp 0x14001317f
mov r8d, 7
jmp 0x140013175
xor r8d, r8d
lea rcx, [rsp + 0x30]
call fcn.140013510
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.140013670
test al, al
je 0x140013319
movss xmm7, dword [rsp + 0x40]
ucomiss xmm7, xmm6
movss xmm8, dword [rsp + 0x44]
jp 0x1400131e1
jne 0x1400131e1
ucomiss xmm8, xmm6
jp 0x1400131e1
jne 0x1400131e1
movss xmm0, dword [rsp + 0x48]
ucomiss xmm0, xmm6
jp 0x1400131e1
je 0x140013319
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 0x140013215
mulss xmm1, xmm11
comiss xmm6, xmm0
jbe 0x14001321f
mulss xmm0, xmm11
addss xmm0, xmm1
comiss xmm0, dword [0x1400c5d28]
ja 0x140013319
ucomiss xmm7, xmm6
movss xmm9, dword [0x1400c5d40]
movaps xmm3, xmm6
movaps xmm2, xmm6
jp 0x140013246
je 0x140013291
comiss xmm7, xmm5
jbe 0x140013271
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 0x140013271
movaps xmm3, xmm6
comiss xmm5, xmm7
jbe 0x140013291
movaps xmm3, xmm7
subss xmm3, xmm5
divss xmm3, xmm9
movaps xmm0, xmm3
addss xmm0, xmm5
comiss xmm6, xmm0
jbe 0x140013291
movaps xmm3, xmm6
ucomiss xmm8, xmm6
jp 0x140013299
je 0x1400132e8
comiss xmm8, xmm4
jbe 0x1400132c6
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 0x1400132c6
movaps xmm2, xmm6
comiss xmm4, xmm8
jbe 0x1400132e8
movaps xmm2, xmm8
subss xmm2, xmm4
divss xmm2, xmm9
movaps xmm0, xmm2
addss xmm0, xmm4
comiss xmm6, xmm0
jbe 0x1400132e8
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 0x1400130f0
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