Function at 0x140012ba0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
cmp byte [0x1400cad24], 0
jne 0x140012bce
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 0x140012bf3
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
add rsp, 0x1a0
pop rbp
ret
mov qword [rsp + 0x188], r12
call fcn.140013440
mov r12, rax
lea rcx, [rax - 0x10000]
movabs rax, 0xefffffffeffff
cmp rcx, rax
ja 0x140013423
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 0x140012c77
mov ecx, 0x4f0
call fcn.140077490
mov rcx, rax
mov qword [rbp + 0xb0], rax
call fcn.140015000
mov qword [0x14011d2f0], rax
mov rdi, qword [rax + 0x40]
xor r13d, r13d
mov qword [rbp + 0xb0], r13
mov qword [rsp + 0x1c0], rbx
call fcn.1400196a0
mov ebx, dword [0x14011d518]
cmp byte [rax], r13b
jne 0x140012ca4
mov rbx, qword [0x14011d588]
call fcn.1400196a0
mov r9d, 8
lea r8, [rbp + 0xb0]
mov rdx, rdi
cmp byte [rax], r13b
je 0x140012cc7
mov ecx, ebx
call fcn.1400748a0
jmp 0x140012cd9
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 0x1400133fb
mov qword [rsp + 0x170], r15
lea rdi, [rax + 8]
mov qword [rbp + 0xb8], r13
call fcn.1400196a0
mov ebx, dword [0x14011d518]
cmp byte [rax], r13b
jne 0x140012d13
mov rbx, qword [0x14011d588]
call fcn.1400196a0
mov r9d, 8
lea r8, [rbp + 0xb8]
mov rdx, rdi
cmp byte [rax], r13b
je 0x140012d36
mov ecx, ebx
call fcn.1400748a0
jmp 0x140012d48
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 0x1400133f3
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 0x140012da7
mov ecx, 0x4f0
call fcn.140077490
mov rcx, rax
mov qword [rbp + 0xb0], rax
call fcn.140015000
mov qword [0x14011d2f0], rax
mov rdi, qword [rax + 0x98]
add rdi, r15
call fcn.1400196a0
mov ebx, dword [0x14011d518]
cmp byte [rax], r13b
jne 0x140012dc8
mov rbx, qword [0x14011d588]
call fcn.1400196a0
mov r9d, 0xc
lea r8, [rsp + 0x70]
mov rdx, rdi
cmp byte [rax], r13b
je 0x140012de9
mov ecx, ebx
call fcn.1400748a0
jmp 0x140012dfb
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.140013dd0
cmp qword [rax], r13
je 0x140013085
mov ecx, ebx
call fcn.140013dd0
cmp qword [rax], r15
je 0x140013085
mov ecx, ebx
call fcn.140013dd0
movss xmm0, dword [0x1400cad44]
comiss xmm0, dword [rax + 0x34]
jae 0x140013085
mov ecx, ebx
call fcn.140013dd0
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 0x140012eaa
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140012eb2
movaps xmm0, xmm2
call fcn.1400a61f8
comiss xmm0, dword [0x1400cad2c]
ja 0x140013085
mov rax, qword [0x14011d2f0]
test rax, rax
jne 0x140012eeb
mov ecx, 0x4f0
call fcn.140077490
mov rcx, rax
mov qword [rbp + 0xb0], rax
call fcn.140015000
mov qword [0x14011d2f0], rax
mov rsi, qword [rax + 0xf8]
add rsi, r12
call fcn.1400196a0
mov edi, dword [0x14011d518]
cmp byte [rax], r13b
jne 0x140012f0c
mov rdi, qword [0x14011d588]
call fcn.1400196a0
mov r9d, 0xc
lea r8, [rsp + 0x50]
mov rdx, rsi
cmp byte [rax], r13b
je 0x140012f2d
mov ecx, edi
call fcn.1400748a0
jmp 0x140012f3f
mov rcx, qword [0x14011d588]
mov qword [rsp + 0x20], r13
call qword [sym.imp.ntdll.dll_NtReadVirtualMemory]
mov ecx, ebx
call fcn.140013dd0
mov ecx, dword [0x1400cad48]
mov rdx, qword [rax]
test ecx, ecx
je 0x140012f74
sub ecx, 1
je 0x140012f6c
cmp ecx, 1
je 0x140012f6c
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x38], r13d
jmp 0x140013085
mov r8d, 7
jmp 0x140012f77
mov r8d, r13d
lea rcx, [rsp + 0x30]
call fcn.140013fb0
movss xmm2, dword [rsp + 0x30]
ucomiss xmm2, xmm6
movss xmm0, dword [rsp + 0x38]
movss xmm1, dword [rsp + 0x34]
jp 0x140012fac
jne 0x140012fac
ucomiss xmm1, xmm6
jp 0x140012fac
jne 0x140012fac
ucomiss xmm0, xmm6
jp 0x140012fac
je 0x140013085
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 0x140012fe3
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x140012feb
movaps xmm0, xmm1
call fcn.1400a61f8
comiss xmm8, xmm0
ja 0x140013085
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.1400141c0
test al, al
je 0x140013085
movss xmm3, dword [rsp + 0x40]
comiss xmm3, xmm6
jbe 0x140013085
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 0x140013064
mulss xmm3, xmm12
comiss xmm6, xmm2
jbe 0x14001306e
mulss xmm2, xmm12
movss xmm0, dword [0x1400cad28]
addss xmm2, xmm3
comiss xmm0, xmm2
jbe 0x140013085
mov r14d, ebx
movaps xmm7, xmm2
inc ebx
cmp ebx, 0x400
jl 0x140012e24
comiss xmm7, dword [0x1400ba428]
jae 0x1400133c8
cmp r14d, 0xffffffff
je 0x1400133c8
mov ecx, r14d
call fcn.140013dd0
movss xmm0, dword [rax + 0x28]
ucomiss xmm0, xmm6
jp 0x1400130c2
je 0x1400133c8
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.140013dd0
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 0x1400133ad
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.140013e60
movss xmm0, dword [0x1400cad44]
comiss xmm0, dword [rbp - 0x2c]
jae 0x1400133ad
mov ecx, dword [0x1400cad48]
test ecx, ecx
je 0x14001317c
sub ecx, 1
je 0x140013174
cmp ecx, 1
je 0x140013174
movaps xmm7, xmm6
mov dword [rsp + 0x38], r13d
movaps xmm8, xmm6
jmp 0x14001319a
mov r8d, 7
jmp 0x14001317f
xor r8d, r8d
mov rdx, qword [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.140013fb0
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.1400141c0
test al, al
je 0x1400133ad
movss xmm3, dword [rsp + 0x40]
ucomiss xmm3, xmm6
movss xmm2, dword [rsp + 0x44]
jp 0x140013201
jne 0x140013201
ucomiss xmm2, xmm6
jp 0x140013201
jne 0x140013201
movss xmm0, dword [rsp + 0x48]
ucomiss xmm0, xmm6
jp 0x140013201
je 0x1400133ad
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 0x14001322e
mulss xmm3, xmm12
comiss xmm6, xmm2
jbe 0x140013238
mulss xmm2, xmm12
addss xmm2, xmm3
comiss xmm2, dword [0x1400cad28]
ja 0x1400133ad
call fcn.140013440
mov rbx, rax
lea rcx, [rax - 0x10000]
cmp rcx, rdi
ja 0x140013398
mov rcx, rax
call fcn.140013900
mov rax, qword [0x14011d2f0]
test rax, rax
jne 0x140013295
mov ecx, 0x4f0
call fcn.140077490
mov rcx, rax
mov qword [rbp + 0xb0], rax
call fcn.140015000
mov qword [0x14011d2f0], rax
mov rsi, qword [rax + 0xf8]
add rsi, rbx
call fcn.1400196a0
mov edi, dword [0x14011d518]
cmp byte [rax], r13b
jne 0x1400132b6
mov rdi, qword [0x14011d588]
call fcn.1400196a0
mov r9d, 0xc
lea r8, [rsp + 0x50]
mov rdx, rsi
cmp byte [rax], r13b
je 0x1400132d7
mov ecx, edi
call fcn.1400748a0
jmp 0x1400132e9
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 0x14001333e
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140013346
movaps xmm0, xmm2
call fcn.1400a61f8
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.1400134f0
movabs rdi, 0xefffffffeffff
mov ecx, dword [0x1400cad38]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140013120
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