Function at 0x140012c80
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
cmp byte [0x1400ccd24], 0
jne 0x140012cae
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
add rsp, 0x1a0
pop rbp
ret
mov ecx, dword [0x1400ccd38]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140012cd3
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
add rsp, 0x1a0
pop rbp
ret
mov qword [rsp + 0x188], r12
call fcn.140013520
mov r12, rax
lea rcx, [rax - 0x10000]
movabs rax, 0xefffffffeffff
cmp rcx, rax
ja 0x140013503
mov rax, qword [0x140124510]
mov qword [rsp + 0x190], rdi
mov qword [rsp + 0x180], r13
mov qword [rsp + 0x178], r14
mov r14d, 0xffffffff
movaps xmmword [rsp + 0x150], xmm7
movss xmm7, dword [0x1400bc498]
test rax, rax
jne 0x140012d57
mov ecx, 0x4f0
call fcn.140078e60
mov rcx, rax
mov qword [rbp + 0xb0], rax
call fcn.1400150e0
mov qword [0x140124510], rax
mov rdi, qword [rax + 0x40]
xor r13d, r13d
mov qword [rbp + 0xb0], r13
mov qword [rsp + 0x1c0], rbx
call fcn.140019780
mov ebx, dword [0x140124794]
cmp byte [rax], r13b
jne 0x140012d84
mov rbx, qword [0x1401247a0]
call fcn.140019780
mov r9d, 8
lea r8, [rbp + 0xb0]
mov rdx, rdi
cmp byte [rax], r13b
je 0x140012da7
mov ecx, ebx
call fcn.140076270
jmp 0x140012db9
mov rcx, qword [0x1401247a0]
mov qword [rsp + 0x20], r13
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
mov rax, qword [rbp + 0xb0]
test rax, rax
je 0x1400134db
mov qword [rsp + 0x170], r15
lea rdi, [rax + 8]
mov qword [rbp + 0xb8], r13
call fcn.140019780
mov ebx, dword [0x140124794]
cmp byte [rax], r13b
jne 0x140012df3
mov rbx, qword [0x1401247a0]
call fcn.140019780
mov r9d, 8
lea r8, [rbp + 0xb8]
mov rdx, rdi
cmp byte [rax], r13b
je 0x140012e16
mov ecx, ebx
call fcn.140076270
jmp 0x140012e28
mov rcx, qword [0x1401247a0]
mov qword [rsp + 0x20], r13
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
mov r15, qword [rbp + 0xb8]
test r15, r15
je 0x1400134d3
mov rax, qword [0x140124510]
movaps xmmword [rsp + 0x160], xmm6
movaps xmmword [rsp + 0x140], xmm8
movaps xmmword [rsp + 0x100], xmm12
movaps xmmword [rsp + 0xf0], xmm13
test rax, rax
jne 0x140012e87
mov ecx, 0x4f0
call fcn.140078e60
mov rcx, rax
mov qword [rbp + 0xb0], rax
call fcn.1400150e0
mov qword [0x140124510], rax
mov rdi, qword [rax + 0x98]
add rdi, r15
call fcn.140019780
mov ebx, dword [0x140124794]
cmp byte [rax], r13b
jne 0x140012ea8
mov rbx, qword [0x1401247a0]
call fcn.140019780
mov r9d, 0xc
lea r8, [rsp + 0x70]
mov rdx, rdi
cmp byte [rax], r13b
je 0x140012ec9
mov ecx, ebx
call fcn.140076270
jmp 0x140012edb
mov rcx, qword [0x1401247a0]
mov qword [rsp + 0x20], r13
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
movss xmm8, dword [0x1400bc380]
mov ebx, r13d
movss xmm13, dword [0x1400bc304]
xorps xmm6, xmm6
movss xmm12, dword [0x1400bc4d0]
mov qword [rsp + 0x198], rsi
mov ecx, ebx
call fcn.140013eb0
cmp qword [rax], r13
je 0x140013165
mov ecx, ebx
call fcn.140013eb0
cmp qword [rax], r15
je 0x140013165
mov ecx, ebx
call fcn.140013eb0
movss xmm0, dword [0x1400ccd44]
comiss xmm0, dword [rax + 0x34]
jae 0x140013165
mov ecx, ebx
call fcn.140013eb0
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 0x140012f8a
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140012f92
movaps xmm0, xmm2
call fcn.1400a7d08
comiss xmm0, dword [0x1400ccd2c]
ja 0x140013165
mov rax, qword [0x140124510]
test rax, rax
jne 0x140012fcb
mov ecx, 0x4f0
call fcn.140078e60
mov rcx, rax
mov qword [rbp + 0xb0], rax
call fcn.1400150e0
mov qword [0x140124510], rax
mov rsi, qword [rax + 0xf8]
add rsi, r12
call fcn.140019780
mov edi, dword [0x140124794]
cmp byte [rax], r13b
jne 0x140012fec
mov rdi, qword [0x1401247a0]
call fcn.140019780
mov r9d, 0xc
lea r8, [rsp + 0x50]
mov rdx, rsi
cmp byte [rax], r13b
je 0x14001300d
mov ecx, edi
call fcn.140076270
jmp 0x14001301f
mov rcx, qword [0x1401247a0]
mov qword [rsp + 0x20], r13
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
mov ecx, ebx
call fcn.140013eb0
mov ecx, dword [0x1400ccd48]
mov rdx, qword [rax]
test ecx, ecx
je 0x140013054
sub ecx, 1
je 0x14001304c
cmp ecx, 1
je 0x14001304c
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x38], r13d
jmp 0x140013165
mov r8d, 7
jmp 0x140013057
mov r8d, r13d
lea rcx, [rsp + 0x30]
call fcn.140014090
movss xmm2, dword [rsp + 0x30]
ucomiss xmm2, xmm6
movss xmm0, dword [rsp + 0x38]
movss xmm1, dword [rsp + 0x34]
jp 0x14001308c
jne 0x14001308c
ucomiss xmm1, xmm6
jp 0x14001308c
jne 0x14001308c
ucomiss xmm0, xmm6
jp 0x14001308c
je 0x140013165
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 0x1400130c3
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1400130cb
movaps xmm0, xmm1
call fcn.1400a7d08
comiss xmm8, xmm0
ja 0x140013165
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.1400142a0
test al, al
je 0x140013165
movss xmm3, dword [rsp + 0x40]
comiss xmm3, xmm6
jbe 0x140013165
mov rax, qword [0x140124520]
movss xmm2, dword [rsp + 0x44]
movss xmm0, dword [rax + 0x10]
movss xmm1, dword [rax + 0x14]
mulss xmm0, xmm13
mulss xmm1, xmm13
subss xmm3, xmm0
subss xmm2, xmm1
comiss xmm6, xmm3
jbe 0x140013144
mulss xmm3, xmm12
comiss xmm6, xmm2
jbe 0x14001314e
mulss xmm2, xmm12
movss xmm0, dword [0x1400ccd28]
addss xmm2, xmm3
comiss xmm0, xmm2
jbe 0x140013165
mov r14d, ebx
movaps xmm7, xmm2
inc ebx
cmp ebx, 0x400
jl 0x140012f04
comiss xmm7, dword [0x1400bc48c]
jae 0x1400134a8
cmp r14d, 0xffffffff
je 0x1400134a8
mov ecx, r14d
call fcn.140013eb0
movss xmm0, dword [rax + 0x28]
ucomiss xmm0, xmm6
jp 0x1400131a2
je 0x1400134a8
xor eax, eax
xorps xmm0, xmm0
mov ecx, r14d
mov dword [rbp - 0x40], eax
movups xmmword [rbp - 0x60], xmm0
mov word [rbp - 0x3c], ax
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x2c], rax
mov dword [rbp - 0x24], eax
mov byte [rbp - 0x20], al
call fcn.140013eb0
movaps xmmword [rsp + 0x130], xmm9
movabs rdi, 0xefffffffeffff
movaps xmmword [rsp + 0x120], xmm10
movaps xmmword [rsp + 0x110], xmm11
mov r14, qword [rax]
lea r15, [r14 - 0x10000]
nop word [rax + rax]
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp r15, rdi
ja 0x14001348d
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.140013f40
movss xmm0, dword [0x1400ccd44]
comiss xmm0, dword [rbp - 0x2c]
jae 0x14001348d
mov ecx, dword [0x1400ccd48]
test ecx, ecx
je 0x14001325c
sub ecx, 1
je 0x140013254
cmp ecx, 1
je 0x140013254
movaps xmm7, xmm6
mov dword [rsp + 0x38], r13d
movaps xmm8, xmm6
jmp 0x14001327a
mov r8d, 7
jmp 0x14001325f
xor r8d, r8d
mov rdx, qword [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.140014090
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.1400142a0
test al, al
je 0x14001348d
movss xmm3, dword [rsp + 0x40]
ucomiss xmm3, xmm6
movss xmm2, dword [rsp + 0x44]
jp 0x1400132e1
jne 0x1400132e1
ucomiss xmm2, xmm6
jp 0x1400132e1
jne 0x1400132e1
movss xmm0, dword [rsp + 0x48]
ucomiss xmm0, xmm6
jp 0x1400132e1
je 0x14001348d
mov rax, qword [0x140124520]
movss xmm0, dword [rax + 0x10]
movss xmm1, dword [rax + 0x14]
mulss xmm0, xmm13
mulss xmm1, xmm13
subss xmm3, xmm0
subss xmm2, xmm1
comiss xmm6, xmm3
jbe 0x14001330e
mulss xmm3, xmm12
comiss xmm6, xmm2
jbe 0x140013318
mulss xmm2, xmm12
addss xmm2, xmm3
comiss xmm2, dword [0x1400ccd28]
ja 0x14001348d
call fcn.140013520
mov rbx, rax
lea rcx, [rax - 0x10000]
cmp rcx, rdi
ja 0x140013478
mov rcx, rax
call fcn.1400139e0
mov rax, qword [0x140124510]
test rax, rax
jne 0x140013375
mov ecx, 0x4f0
call fcn.140078e60
mov rcx, rax
mov qword [rbp + 0xb0], rax
call fcn.1400150e0
mov qword [0x140124510], rax
mov rsi, qword [rax + 0xf8]
add rsi, rbx
call fcn.140019780
mov edi, dword [0x140124794]
cmp byte [rax], r13b
jne 0x140013396
mov rdi, qword [0x1401247a0]
call fcn.140019780
mov r9d, 0xc
lea r8, [rsp + 0x50]
mov rdx, rsi
cmp byte [rax], r13b
je 0x1400133b7
mov ecx, edi
call fcn.140076270
jmp 0x1400133c9
mov rcx, qword [0x1401247a0]
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 0x14001341e
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140013426
movaps xmm0, xmm2
call fcn.1400a7d08
movss xmm1, dword [rsp + 0x38]
subss xmm7, xmm9
subss xmm1, xmm11
movaps xmm2, xmm6
subss xmm8, xmm10
mov rcx, rbx
lea rdx, [rbp - 0x80]
divss xmm7, xmm0
divss xmm1, xmm0
divss xmm8, xmm0
movaps xmm0, xmm7
movss dword [rbp - 0x68], xmm1
mov eax, dword [rbp - 0x68]
unpcklps xmm0, xmm8
movsd qword [rbp - 0x80], xmm0
mov dword [rbp - 0x78], eax
call fcn.1400135d0
movabs rdi, 0xefffffffeffff
mov ecx, dword [0x1400ccd38]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140013200
movaps xmm9, xmmword [rsp + 0x130]
movaps xmm11, xmmword [rsp + 0x110]
movaps xmm10, xmmword [rsp + 0x120]
mov rsi, qword [rsp + 0x198]
movaps xmm8, xmmword [rsp + 0x140]
movaps xmm12, xmmword [rsp + 0x100]
movaps xmm6, xmmword [rsp + 0x160]
movaps xmm13, xmmword [rsp + 0xf0]
mov r15, qword [rsp + 0x170]
mov rbx, qword [rsp + 0x1c0]
mov r13, qword [rsp + 0x180]
mov rdi, qword [rsp + 0x190]
mov r14, qword [rsp + 0x178]
movaps xmm7, xmmword [rsp + 0x150]
mov r12, qword [rsp + 0x188]
add rsp, 0x1a0
pop rbp
ret