Function at 0x140012be0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
cmp byte [0x1400cad24], 0
jne 0x140012c0e
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
add rsp, 0x1a0
pop rbp
ret
mov ecx, dword [0x1400cad38]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140012c33
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
add rsp, 0x1a0
pop rbp
ret
mov qword [rsp + 0x188], r12
call fcn.140013480
mov r12, rax
lea rcx, [rax - 0x10000]
movabs rax, 0xefffffffeffff
cmp rcx, rax
ja 0x140013463
mov rax, qword [0x14011d2f0]
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 [0x1400ba434]
test rax, rax
jne 0x140012cb7
mov ecx, 0x4f0
call fcn.1400775b0
mov rcx, rax
mov qword [rbp + 0xb0], rax
call fcn.140015040
mov qword [0x14011d2f0], rax
mov rdi, qword [rax + 0x40]
xor r13d, r13d
mov qword [rbp + 0xb0], r13
mov qword [rsp + 0x1c0], rbx
call fcn.1400196e0
mov ebx, dword [0x14011d518]
cmp byte [rax], r13b
jne 0x140012ce4
mov rbx, qword [0x14011d588]
call fcn.1400196e0
mov r9d, 8
lea r8, [rbp + 0xb0]
mov rdx, rdi
cmp byte [rax], r13b
je 0x140012d07
mov ecx, ebx
call fcn.140074980
jmp 0x140012d19
mov rcx, qword [0x14011d588]
mov qword [rsp + 0x20], r13
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
mov rax, qword [rbp + 0xb0]
test rax, rax
je 0x14001343b
mov qword [rsp + 0x170], r15
lea rdi, [rax + 8]
mov qword [rbp + 0xb8], r13
call fcn.1400196e0
mov ebx, dword [0x14011d518]
cmp byte [rax], r13b
jne 0x140012d53
mov rbx, qword [0x14011d588]
call fcn.1400196e0
mov r9d, 8
lea r8, [rbp + 0xb8]
mov rdx, rdi
cmp byte [rax], r13b
je 0x140012d76
mov ecx, ebx
call fcn.140074980
jmp 0x140012d88
mov rcx, qword [0x14011d588]
mov qword [rsp + 0x20], r13
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
mov r15, qword [rbp + 0xb8]
test r15, r15
je 0x140013433
mov rax, qword [0x14011d2f0]
movaps xmmword [rsp + 0x160], xmm6
movaps xmmword [rsp + 0x140], xmm8
movaps xmmword [rsp + 0x100], xmm12
movaps xmmword [rsp + 0xf0], xmm13
test rax, rax
jne 0x140012de7
mov ecx, 0x4f0
call fcn.1400775b0
mov rcx, rax
mov qword [rbp + 0xb0], rax
call fcn.140015040
mov qword [0x14011d2f0], rax
mov rdi, qword [rax + 0x98]
add rdi, r15
call fcn.1400196e0
mov ebx, dword [0x14011d518]
cmp byte [rax], r13b
jne 0x140012e08
mov rbx, qword [0x14011d588]
call fcn.1400196e0
mov r9d, 0xc
lea r8, [rsp + 0x70]
mov rdx, rdi
cmp byte [rax], r13b
je 0x140012e29
mov ecx, ebx
call fcn.140074980
jmp 0x140012e3b
mov rcx, qword [0x14011d588]
mov qword [rsp + 0x20], r13
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
movss xmm8, dword [0x1400ba340]
mov ebx, r13d
movss xmm13, dword [0x1400ba2c4]
xorps xmm6, xmm6
movss xmm12, dword [0x1400ba470]
mov qword [rsp + 0x198], rsi
mov ecx, ebx
call fcn.140013e10
cmp qword [rax], r13
je 0x1400130c5
mov ecx, ebx
call fcn.140013e10
cmp qword [rax], r15
je 0x1400130c5
mov ecx, ebx
call fcn.140013e10
movss xmm0, dword [0x1400cad44]
comiss xmm0, dword [rax + 0x34]
jae 0x1400130c5
mov ecx, ebx
call fcn.140013e10
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 0x140012eea
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140012ef2
movaps xmm0, xmm2
call fcn.1400a6318
comiss xmm0, dword [0x1400cad2c]
ja 0x1400130c5
mov rax, qword [0x14011d2f0]
test rax, rax
jne 0x140012f2b
mov ecx, 0x4f0
call fcn.1400775b0
mov rcx, rax
mov qword [rbp + 0xb0], rax
call fcn.140015040
mov qword [0x14011d2f0], rax
mov rsi, qword [rax + 0xf8]
add rsi, r12
call fcn.1400196e0
mov edi, dword [0x14011d518]
cmp byte [rax], r13b
jne 0x140012f4c
mov rdi, qword [0x14011d588]
call fcn.1400196e0
mov r9d, 0xc
lea r8, [rsp + 0x50]
mov rdx, rsi
cmp byte [rax], r13b
je 0x140012f6d
mov ecx, edi
call fcn.140074980
jmp 0x140012f7f
mov rcx, qword [0x14011d588]
mov qword [rsp + 0x20], r13
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
mov ecx, ebx
call fcn.140013e10
mov ecx, dword [0x1400cad48]
mov rdx, qword [rax]
test ecx, ecx
je 0x140012fb4
sub ecx, 1
je 0x140012fac
cmp ecx, 1
je 0x140012fac
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x38], r13d
jmp 0x1400130c5
mov r8d, 7
jmp 0x140012fb7
mov r8d, r13d
lea rcx, [rsp + 0x30]
call fcn.140013ff0
movss xmm2, dword [rsp + 0x30]
ucomiss xmm2, xmm6
movss xmm0, dword [rsp + 0x38]
movss xmm1, dword [rsp + 0x34]
jp 0x140012fec
jne 0x140012fec
ucomiss xmm1, xmm6
jp 0x140012fec
jne 0x140012fec
ucomiss xmm0, xmm6
jp 0x140012fec
je 0x1400130c5
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 0x140013023
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14001302b
movaps xmm0, xmm1
call fcn.1400a6318
comiss xmm8, xmm0
ja 0x1400130c5
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.140014200
test al, al
je 0x1400130c5
movss xmm3, dword [rsp + 0x40]
comiss xmm3, xmm6
jbe 0x1400130c5
mov rax, qword [0x14011d300]
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 0x1400130a4
mulss xmm3, xmm12
comiss xmm6, xmm2
jbe 0x1400130ae
mulss xmm2, xmm12
movss xmm0, dword [0x1400cad28]
addss xmm2, xmm3
comiss xmm0, xmm2
jbe 0x1400130c5
mov r14d, ebx
movaps xmm7, xmm2
inc ebx
cmp ebx, 0x400
jl 0x140012e64
comiss xmm7, dword [0x1400ba428]
jae 0x140013408
cmp r14d, 0xffffffff
je 0x140013408
mov ecx, r14d
call fcn.140013e10
movss xmm0, dword [rax + 0x28]
ucomiss xmm0, xmm6
jp 0x140013102
je 0x140013408
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.140013e10
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 0x1400133ed
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.140013ea0
movss xmm0, dword [0x1400cad44]
comiss xmm0, dword [rbp - 0x2c]
jae 0x1400133ed
mov ecx, dword [0x1400cad48]
test ecx, ecx
je 0x1400131bc
sub ecx, 1
je 0x1400131b4
cmp ecx, 1
je 0x1400131b4
movaps xmm7, xmm6
mov dword [rsp + 0x38], r13d
movaps xmm8, xmm6
jmp 0x1400131da
mov r8d, 7
jmp 0x1400131bf
xor r8d, r8d
mov rdx, qword [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.140013ff0
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.140014200
test al, al
je 0x1400133ed
movss xmm3, dword [rsp + 0x40]
ucomiss xmm3, xmm6
movss xmm2, dword [rsp + 0x44]
jp 0x140013241
jne 0x140013241
ucomiss xmm2, xmm6
jp 0x140013241
jne 0x140013241
movss xmm0, dword [rsp + 0x48]
ucomiss xmm0, xmm6
jp 0x140013241
je 0x1400133ed
mov rax, qword [0x14011d300]
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 0x14001326e
mulss xmm3, xmm12
comiss xmm6, xmm2
jbe 0x140013278
mulss xmm2, xmm12
addss xmm2, xmm3
comiss xmm2, dword [0x1400cad28]
ja 0x1400133ed
call fcn.140013480
mov rbx, rax
lea rcx, [rax - 0x10000]
cmp rcx, rdi
ja 0x1400133d8
mov rcx, rax
call fcn.140013940
mov rax, qword [0x14011d2f0]
test rax, rax
jne 0x1400132d5
mov ecx, 0x4f0
call fcn.1400775b0
mov rcx, rax
mov qword [rbp + 0xb0], rax
call fcn.140015040
mov qword [0x14011d2f0], rax
mov rsi, qword [rax + 0xf8]
add rsi, rbx
call fcn.1400196e0
mov edi, dword [0x14011d518]
cmp byte [rax], r13b
jne 0x1400132f6
mov rdi, qword [0x14011d588]
call fcn.1400196e0
mov r9d, 0xc
lea r8, [rsp + 0x50]
mov rdx, rsi
cmp byte [rax], r13b
je 0x140013317
mov ecx, edi
call fcn.140074980
jmp 0x140013329
mov rcx, qword [0x14011d588]
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 0x14001337e
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140013386
movaps xmm0, xmm2
call fcn.1400a6318
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.140013530
movabs rdi, 0xefffffffeffff
mov ecx, dword [0x1400cad38]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140013160
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