Function at 0x140012e20
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
cmp byte [0x1400cdd24], 0
jne 0x140012e4e
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
add rsp, 0x1b0
pop rbp
ret
mov ecx, dword [0x1400cdd38]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140012e73
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
add rsp, 0x1b0
pop rbp
ret
mov qword [rsp + 0x198], r12
call fcn.1400136f0
mov r12, rax
lea rcx, [rax - 0x10000]
movabs rax, 0xefffffffeffff
cmp rcx, rax
ja 0x1400136db
mov rax, qword [0x140125810]
mov qword [rsp + 0x1a0], rdi
mov qword [rsp + 0x190], r13
mov qword [rsp + 0x188], r14
mov r14d, 0xffffffff
movaps xmmword [rsp + 0x160], xmm7
movss xmm7, dword [0x1400bd568]
test rax, rax
jne 0x140012ef7
mov ecx, 0x4f0
call fcn.14007a014
mov rcx, rax
mov qword [rbp + 0xc0], rax
call fcn.1400152b0
mov qword [0x140125810], rax
mov rdi, qword [rax + 0x40]
xor r13d, r13d
mov qword [rbp + 0xc0], r13
mov qword [rsp + 0x1d0], rbx
call fcn.140019950
mov ebx, dword [0x140125a94]
cmp byte [rax], r13b
jne 0x140012f24
mov rbx, qword [0x140125aa0]
call fcn.140019950
mov r9d, 8
lea r8, [rbp + 0xc0]
mov rdx, rdi
cmp byte [rax], r13b
je 0x140012f47
mov ecx, ebx
call fcn.140077290
jmp 0x140012f59
mov rcx, qword [0x140125aa0]
mov qword [rsp + 0x20], r13
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
mov rax, qword [rbp + 0xc0]
test rax, rax
je 0x1400136b3
mov qword [rsp + 0x180], r15
lea rdi, [rax + 8]
mov qword [rbp + 0xc8], r13
call fcn.140019950
mov ebx, dword [0x140125a94]
cmp byte [rax], r13b
jne 0x140012f93
mov rbx, qword [0x140125aa0]
call fcn.140019950
mov r9d, 8
lea r8, [rbp + 0xc8]
mov rdx, rdi
cmp byte [rax], r13b
je 0x140012fb6
mov ecx, ebx
call fcn.140077290
jmp 0x140012fc8
mov rcx, qword [0x140125aa0]
mov qword [rsp + 0x20], r13
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
mov r15, qword [rbp + 0xc8]
test r15, r15
je 0x1400136ab
mov rax, qword [0x140125810]
movaps xmmword [rsp + 0x170], xmm6
movaps xmmword [rsp + 0x150], xmm8
movaps xmmword [rsp + 0x100], xmm13
movaps xmmword [rsp + 0xf0], xmm14
test rax, rax
jne 0x140013027
mov ecx, 0x4f0
call fcn.14007a014
mov rcx, rax
mov qword [rbp + 0xc0], rax
call fcn.1400152b0
mov qword [0x140125810], rax
mov rdi, qword [rax + 0x98]
add rdi, r15
call fcn.140019950
mov ebx, dword [0x140125a94]
cmp byte [rax], r13b
jne 0x140013048
mov rbx, qword [0x140125aa0]
call fcn.140019950
mov r9d, 0xc
lea r8, [rsp + 0x70]
mov rdx, rdi
cmp byte [rax], r13b
je 0x140013069
mov ecx, ebx
call fcn.140077290
jmp 0x14001307b
mov rcx, qword [0x140125aa0]
mov qword [rsp + 0x20], r13
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
movss xmm8, dword [0x1400bd450]
mov ebx, r13d
movss xmm14, dword [0x1400bd3d4]
xorps xmm6, xmm6
movss xmm13, dword [0x1400bd5a0]
mov qword [rsp + 0x1a8], rsi
mov ecx, ebx
call fcn.140014080
cmp qword [rax], r13
je 0x140013305
mov ecx, ebx
call fcn.140014080
cmp qword [rax], r15
je 0x140013305
mov ecx, ebx
call fcn.140014080
movss xmm0, dword [0x1400cdd44]
comiss xmm0, dword [rax + 0x34]
jae 0x140013305
mov ecx, ebx
call fcn.140014080
movss xmm0, dword [rax + 0x30]
subss xmm0, dword [rsp + 0x78]
movss xmm1, dword [rax + 0x2c]
movss xmm2, dword [rax + 0x28]
subss xmm2, dword [rsp + 0x70]
subss xmm1, dword [rsp + 0x74]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x14001312a
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140013132
movaps xmm0, xmm2
call fcn.1400a8ec8
comiss xmm0, dword [0x1400cdd2c]
ja 0x140013305
mov rax, qword [0x140125810]
test rax, rax
jne 0x14001316b
mov ecx, 0x4f0
call fcn.14007a014
mov rcx, rax
mov qword [rbp + 0xc0], rax
call fcn.1400152b0
mov qword [0x140125810], rax
mov rsi, qword [rax + 0xf8]
add rsi, r12
call fcn.140019950
mov edi, dword [0x140125a94]
cmp byte [rax], r13b
jne 0x14001318c
mov rdi, qword [0x140125aa0]
call fcn.140019950
mov r9d, 0xc
lea r8, [rsp + 0x50]
mov rdx, rsi
cmp byte [rax], r13b
je 0x1400131ad
mov ecx, edi
call fcn.140077290
jmp 0x1400131bf
mov rcx, qword [0x140125aa0]
mov qword [rsp + 0x20], r13
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
mov ecx, ebx
call fcn.140014080
mov ecx, dword [0x1400cdd48]
mov rdx, qword [rax]
test ecx, ecx
je 0x1400131f4
sub ecx, 1
je 0x1400131ec
cmp ecx, 1
je 0x1400131ec
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x38], r13d
jmp 0x140013305
mov r8d, 7
jmp 0x1400131f7
mov r8d, r13d
lea rcx, [rsp + 0x30]
call fcn.140014260
movss xmm2, dword [rsp + 0x30]
ucomiss xmm2, xmm6
movss xmm0, dword [rsp + 0x38]
movss xmm1, dword [rsp + 0x34]
jp 0x14001322c
jne 0x14001322c
ucomiss xmm1, xmm6
jp 0x14001322c
jne 0x14001322c
ucomiss xmm0, xmm6
jp 0x14001322c
je 0x140013305
subss xmm1, dword [rsp + 0x54]
subss xmm0, dword [rsp + 0x58]
subss xmm2, dword [rsp + 0x50]
mulss xmm1, xmm1
mulss xmm0, xmm0
mulss xmm2, xmm2
addss xmm1, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140013263
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14001326b
movaps xmm0, xmm1
call fcn.1400a8ec8
comiss xmm8, xmm0
ja 0x140013305
movsd xmm0, qword [rsp + 0x30]
lea rdx, [rsp + 0x40]
mov eax, dword [rsp + 0x38]
lea rcx, [rsp + 0x60]
movsd qword [rsp + 0x60], xmm0
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x68], eax
call fcn.140014470
test al, al
je 0x140013305
movss xmm3, dword [rsp + 0x40]
comiss xmm3, xmm6
jbe 0x140013305
mov rax, qword [0x140125820]
movss xmm2, dword [rsp + 0x44]
movss xmm0, dword [rax + 0x10]
movss xmm1, dword [rax + 0x14]
mulss xmm0, xmm14
mulss xmm1, xmm14
subss xmm3, xmm0
subss xmm2, xmm1
comiss xmm6, xmm3
jbe 0x1400132e4
mulss xmm3, xmm13
comiss xmm6, xmm2
jbe 0x1400132ee
mulss xmm2, xmm13
movss xmm0, dword [0x1400cdd28]
addss xmm2, xmm3
comiss xmm0, xmm2
jbe 0x140013305
mov r14d, ebx
movaps xmm7, xmm2
inc ebx
cmp ebx, 0x400
jl 0x1400130a4
comiss xmm7, dword [0x1400bd55c]
jae 0x140013680
cmp r14d, 0xffffffff
je 0x140013680
mov ecx, r14d
call fcn.140014080
movss xmm0, dword [rax + 0x28]
ucomiss xmm0, xmm6
jp 0x140013342
je 0x140013680
xor eax, eax
movaps xmmword [rsp + 0x110], xmm12
xorps xmm0, xmm0
mov dword [rbp - 0x40], eax
mov ecx, r14d
mov word [rbp - 0x3c], ax
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x2c], rax
movups xmmword [rbp - 0x50], xmm0
mov dword [rbp - 0x24], eax
mov byte [rbp - 0x20], al
call fcn.140014080
movss xmm12, dword [0x1400bd4c0]
movabs rbx, 0xefffffffeffff
movaps xmmword [rsp + 0x140], xmm9
movaps xmmword [rsp + 0x130], xmm10
mov r14, qword [rax]
movaps xmmword [rsp + 0x120], xmm11
lea r15, [r14 - 0x10000]
nop dword [rax]
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp r15, rbx
ja 0x14001365c
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.140014110
movss xmm0, dword [0x1400cdd44]
comiss xmm0, dword [rbp - 0x2c]
jae 0x14001365c
mov ecx, dword [0x1400cdd48]
test ecx, ecx
je 0x14001340c
sub ecx, 1
je 0x140013404
cmp ecx, 1
je 0x140013404
movaps xmm7, xmm6
mov dword [rsp + 0x38], r13d
movaps xmm8, xmm6
jmp 0x14001342a
mov r8d, 7
jmp 0x14001340f
xor r8d, r8d
mov rdx, qword [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.140014260
movss xmm8, dword [rsp + 0x34]
movss xmm7, dword [rsp + 0x30]
mov eax, dword [rsp + 0x38]
lea rdx, [rsp + 0x40]
movaps xmm0, xmm7
mov qword [rsp + 0x40], r13
unpcklps xmm0, xmm8
lea rcx, [rsp + 0x60]
movsd qword [rsp + 0x30], xmm0
movsd qword [rsp + 0x60], xmm0
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x68], eax
call fcn.140014470
test al, al
je 0x14001365c
movss xmm3, dword [rsp + 0x40]
ucomiss xmm3, xmm6
movss xmm2, dword [rsp + 0x44]
jp 0x140013491
jne 0x140013491
ucomiss xmm2, xmm6
jp 0x140013491
jne 0x140013491
movss xmm0, dword [rsp + 0x48]
ucomiss xmm0, xmm6
jp 0x140013491
je 0x14001365c
mov rax, qword [0x140125820]
movss xmm0, dword [rax + 0x10]
movss xmm1, dword [rax + 0x14]
mulss xmm0, xmm14
mulss xmm1, xmm14
subss xmm3, xmm0
subss xmm2, xmm1
comiss xmm6, xmm3
jbe 0x1400134be
mulss xmm3, xmm13
comiss xmm6, xmm2
jbe 0x1400134c8
mulss xmm2, xmm13
addss xmm2, xmm3
comiss xmm2, dword [0x1400cdd28]
ja 0x14001365c
call fcn.1400136f0
mov rdi, rax
lea rcx, [rax - 0x10000]
cmp rcx, rbx
ja 0x140013647
mov rcx, rax
call fcn.140013bb0
mov rax, qword [0x140125810]
test rax, rax
jne 0x140013525
mov ecx, 0x4f0
call fcn.14007a014
mov rcx, rax
mov qword [rbp + 0xc0], rax
call fcn.1400152b0
mov qword [0x140125810], rax
mov rsi, qword [rax + 0xf8]
add rsi, rdi
call fcn.140019950
mov ebx, dword [0x140125a94]
cmp byte [rax], r13b
jne 0x140013546
mov rbx, qword [0x140125aa0]
call fcn.140019950
mov r9d, 0xc
lea r8, [rsp + 0x50]
mov rdx, rsi
cmp byte [rax], r13b
je 0x140013567
mov ecx, ebx
call fcn.140077290
jmp 0x140013579
mov rcx, qword [0x140125aa0]
mov qword [rsp + 0x20], r13
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
movss xmm9, dword [rsp + 0x50]
movss xmm10, dword [rsp + 0x54]
movaps xmm1, xmm9
movss xmm11, dword [rsp + 0x58]
subss xmm1, xmm7
movaps xmm0, xmm11
movaps xmm2, xmm10
subss xmm0, dword [rsp + 0x38]
subss xmm2, xmm8
mulss xmm1, xmm1
mulss xmm0, xmm0
mulss xmm2, xmm2
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1400135ce
xorps xmm3, xmm3
sqrtss xmm3, xmm2
jmp 0x1400135d9
movaps xmm0, xmm2
call fcn.1400a8ec8
movaps xmm3, xmm0
movss xmm1, dword [0x1400cdd40]
movaps xmm2, xmm6
ucomiss xmm1, xmm6
jp 0x1400135eb
je 0x1400135f8
mulss xmm1, xmm12
movaps xmm2, xmm14
divss xmm2, xmm1
movss xmm0, dword [rsp + 0x38]
subss xmm7, xmm9
subss xmm0, xmm11
mov rcx, rdi
subss xmm8, xmm10
lea rdx, [rbp - 0x80]
divss xmm7, xmm3
divss xmm0, xmm3
divss xmm8, xmm3
movss dword [rbp - 0x68], xmm0
movaps xmm0, xmm7
mov eax, dword [rbp - 0x68]
unpcklps xmm0, xmm8
movsd qword [rbp - 0x80], xmm0
mov dword [rbp - 0x78], eax
call fcn.1400137a0
movabs rbx, 0xefffffffeffff
mov ecx, dword [0x1400cdd38]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400133b0
movaps xmm9, xmmword [rsp + 0x140]
movaps xmm11, xmmword [rsp + 0x120]
movaps xmm10, xmmword [rsp + 0x130]
movaps xmm12, xmmword [rsp + 0x110]
mov rsi, qword [rsp + 0x1a8]
movaps xmm8, xmmword [rsp + 0x150]
movaps xmm13, xmmword [rsp + 0x100]
movaps xmm6, xmmword [rsp + 0x170]
movaps xmm14, xmmword [rsp + 0xf0]
mov r15, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x1d0]
mov r13, qword [rsp + 0x190]
mov rdi, qword [rsp + 0x1a0]
mov r14, qword [rsp + 0x188]
movaps xmm7, xmmword [rsp + 0x160]
mov r12, qword [rsp + 0x198]
add rsp, 0x1b0
pop rbp
ret