Function at 0x14000b220
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rax, qword [0x14011c028]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov r12, r9
mov r13, r8
mov r14, rdx
mov r15, rcx
call fcn.14000b150
test al, al
je 0x14000b67e
movsxd r8, dword [0x140164ee0]
lea rdx, [rsp + 0x38]
mov qword [rsp + 0x150], rbx
lea rcx, [0x140164f00]
mov qword [rsp + 0x118], rsi
mov qword [rsp + 0x110], rdi
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xf0], xmm7
movaps xmmword [rsp + 0xe0], xmm8
movaps xmmword [rsp + 0xd0], xmm9
xorps xmm9, xmm9
movaps xmmword [rsp + 0xc0], xmm10
xorps xmm10, xmm10
movaps xmmword [rsp + 0xb0], xmm11
xorps xmm11, xmm11
movaps xmmword [rsp + 0xa0], xmm12
movaps xmmword [rsp + 0x90], xmm13
shl r8, 5
add r8, qword [0x140164ee8]
movaps xmmword [rsp + 0x80], xmm14
movaps xmmword [rsp + 0x70], xmm15
call fcn.14000d5c0
movsd xmm14, qword [r15 + 0x20]
xorps xmm8, xmm8
movss xmm6, dword [0x1401083d8]
movaps xmm13, xmm14
movss xmm15, dword [r15 + 0x28]
xorps xmm12, xmm12
mov rsi, qword [rax]
xorps xmm7, xmm7
shufps xmm13, xmm13, 0x55
movsd qword [rsp + 0x50], xmm14
mov rdi, qword [rsi + 0x48]
mov rbx, qword [rsi + 0x40]
cmp rbx, rdi
je 0x14000b3db
nop dword [rax]
mov eax, dword [rbx]
lea r8, [rsp + 0x50]
mov rcx, qword [0x14012f2d8]
mov r9d, 0xc
shl eax, 5
movsxd rdx, eax
add rdx, r12
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x58], 0
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm3, dword [rsp + 0x50]
movaps xmm1, xmm14
movss xmm4, dword [rsp + 0x54]
subss xmm1, xmm3
movss xmm5, dword [rsp + 0x58]
movaps xmm2, xmm13
subss xmm2, xmm4
movaps xmm0, xmm15
subss xmm0, xmm5
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
comiss xmm6, xmm2
jbe 0x14000b3ce
movaps xmm6, xmm2
movaps xmm8, xmm3
movaps xmm12, xmm4
movaps xmm7, xmm5
add rbx, 4
cmp rbx, rdi
jne 0x14000b340
subss xmm8, xmm14
subss xmm12, xmm13
subss xmm7, xmm15
movaps xmm0, xmm8
movaps xmm1, xmm12
xorps xmm7, xmmword [0x1401087d0]
call fcn.1400c7fa8
movaps xmm1, xmm0
movaps xmm0, xmm7
call fcn.1400c82f8
movaps xmm7, xmm0
movaps xmm1, xmm8
mulss xmm7, dword [0x140108334]
movaps xmm0, xmm12
subss xmm7, dword [r15 + 0x38]
call fcn.1400c82f8
movaps xmm8, xmm0
movaps xmm2, xmm11
mulss xmm8, dword [0x140108334]
movaps xmm0, xmm7
subss xmm2, dword [r15 + 0x40]
mulss xmm0, xmm7
subss xmm8, dword [r15 + 0x3c]
mulss xmm2, xmm2
movaps xmm1, xmm8
mulss xmm1, xmm8
movss dword [rsp + 0x30], xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, xmm2
ucomiss xmm0, xmm1
ja 0x14000b477
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14000b47f
movaps xmm0, xmm1
call fcn.1400c9fc4
movss xmm6, dword [0x140164ed0]
comiss xmm6, xmm0
jb 0x14000b69c
movaps xmm1, xmm8
movaps xmm0, xmm7
movaps xmm9, xmm11
movaps xmm10, xmm11
call fcn.1400c7fa8
comiss xmm6, xmm0
jbe 0x14000b4b1
movaps xmm9, xmm7
movaps xmm10, xmm8
xor esi, esi
movss xmm2, dword [0x140108350]
comiss xmm9, xmm2
mov rdi, qword [rsp + 0x110]
movss xmm1, dword [0x140108398]
movss xmm0, dword [0x140108374]
movaps xmm15, xmmword [rsp + 0x70]
movaps xmm14, xmmword [rsp + 0x80]
movaps xmm13, xmmword [rsp + 0x90]
movaps xmm12, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x100]
jbe 0x14000b519
comiss xmm0, xmm9
jae 0x14000b532
comiss xmm9, xmm0
jbe 0x14000b524
subss xmm9, xmm1
movss xmm2, dword [0x140108420]
comiss xmm2, xmm9
jbe 0x14000b536
movaps xmm9, xmm2
comiss xmm10, xmm0
jbe 0x14000b541
subss xmm10, xmm1
movss xmm0, dword [0x140108428]
comiss xmm0, xmm10
jbe 0x14000b554
addss xmm10, xmm1
divss xmm9, dword [0x140164ecc]
divss xmm10, dword [0x140164ecc]
ucomiss xmm9, xmm11
jp 0x14000b57a
jne 0x14000b57a
ucomiss xmm10, xmm11
jp 0x14000b57a
je 0x14000b653
cmp byte [0x140164f11], 0
je 0x14000b609
cmp byte [0x140164f10], 0
je 0x14000b5d3
movsxd r8, dword [0x140164f14]
lea rdx, [rsp + 0x38]
shl r8, 5
lea rcx, [0x140164f40]
add r8, qword [0x140164f28]
call fcn.14000d440
mov rcx, qword [rax]
mov ecx, dword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jb 0x14000b609
cmp byte [0x140164f10], 0
jne 0x14000b653
movsxd r8, dword [0x140164f14]
lea rdx, [rsp + 0x38]
shl r8, 5
lea rcx, [0x140164f40]
add r8, qword [0x140164f28]
call fcn.14000d440
mov rcx, qword [rax]
mov ecx, dword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x14000b653
addss xmm9, dword [r14]
addss xmm10, dword [r14 + 4]
movss xmm1, dword [r14 + 8]
lea r8, [rsp + 0x50]
mov rcx, qword [0x14012f2d8]
addss xmm1, xmm11
mov r9d, 0xc
mov qword [rsp + 0x20], rsi
movaps xmm0, xmm9
mov rdx, r13
unpcklps xmm0, xmm10
movsd qword [rsp + 0x50], xmm0
movss dword [rsp + 0x58], xmm1
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
movaps xmm10, xmmword [rsp + 0xc0]
movaps xmm9, xmmword [rsp + 0xd0]
mov rsi, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x150]
movaps xmm11, xmmword [rsp + 0xb0]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400940b0
add rsp, 0x120
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rbx, qword [rsi + 0x40]
mov rdi, qword [rsi + 0x48]
cmp rbx, rdi
je 0x14000b4b1
xor esi, esi
nop
mov eax, dword [rbx]
lea r8, [rsp + 0x50]
mov rcx, qword [0x14012f2d8]
mov r9d, 0xc
shl eax, 5
movsxd rdx, eax
add rdx, r12
mov qword [rsp + 0x50], rsi
mov dword [rsp + 0x58], esi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm8, dword [rsp + 0x50]
movss xmm7, dword [rsp + 0x54]
subss xmm8, xmm14
movss xmm6, dword [rsp + 0x58]
subss xmm7, xmm13
subss xmm6, xmm15
movaps xmm0, xmm8
movaps xmm1, xmm7
xorps xmm6, xmmword [0x1401087d0]
call fcn.1400c7fa8
movaps xmm1, xmm0
movaps xmm0, xmm6
call fcn.1400c82f8
movaps xmm12, xmm0
movaps xmm1, xmm8
mulss xmm12, dword [0x140108334]
movaps xmm0, xmm7
subss xmm12, dword [r15 + 0x38]
call fcn.1400c82f8
movaps xmm7, xmm0
movaps xmm1, xmm12
mulss xmm7, dword [0x140108334]
mulss xmm1, xmm12
subss xmm7, dword [r15 + 0x3c]
movaps xmm0, xmm7
mulss xmm0, xmm7
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, dword [rsp + 0x30]
ucomiss xmm0, xmm1
ja 0x14000b77c
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x14000b784
movaps xmm0, xmm1
call fcn.1400c9fc4
movss xmm6, dword [0x140164ed0]
comiss xmm6, xmm0
jae 0x14000b7a3
add rbx, 4
cmp rbx, rdi
jne 0x14000b6b0
jmp 0x14000b4b3
movaps xmm1, xmm7
movaps xmm0, xmm12
movaps xmm9, xmm11
movaps xmm10, xmm11
call fcn.1400c7fa8
comiss xmm6, xmm0
jbe 0x14000b4b3
movaps xmm9, xmm12
movaps xmm10, xmm7
jmp 0x14000b4b3