Function at 0x140001e50
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rbx
push r14
push r15
lea rbp, [rsp - 0x298]
sub rsp, 0x398
mov rax, qword [0x1400af040]
xor rax, rsp
mov qword [rbp + 0x1e0], rax
mov r15, qword [0x1400f5af0]
lea rcx, [rbp + 0x1c8]
mov qword [rbp + 0x1a0], 0
xor r14b, r14b
mov dword [rbp + 0x1a8], 0
xor bl, bl
call fcn.140001420
cmp byte [0x1400f56d8], bl
je 0x1400026ae
mov qword [rsp + 0x3c0], rsi
mov qword [rsp + 0x3c8], rdi
mov qword [rsp + 0x3d0], r12
xor r12d, r12d
mov qword [rsp + 0x390], r13
movaps xmmword [rsp + 0x380], xmm6
movaps xmmword [rsp + 0x370], xmm7
movaps xmmword [rsp + 0x360], xmm8
lea r13d, [r12 + 8]
movss xmm8, dword [0x1400a0628]
movaps xmmword [rsp + 0x350], xmm9
movss xmm9, dword [0x1400a06cc]
movaps xmmword [rsp + 0x340], xmm10
movss xmm10, dword [0x1400a06c4]
movaps xmmword [rsp + 0x330], xmm11
movss xmm11, dword [0x1400a0608]
movaps xmmword [rsp + 0x320], xmm12
movss xmm12, dword [0x1400a06d0]
movaps xmmword [rsp + 0x310], xmm13
movss xmm13, dword [0x1400a0648]
movaps xmmword [rsp + 0x300], xmm14
movaps xmmword [rsp + 0x2f0], xmm15
nop word [rax + rax]
mov rdx, qword [0x1400f5698]
lea r8, [rbp + 0x1c0]
add rdx, qword [0x1400f47a0]
mov r9, r13
mov rcx, qword [0x1400f4798]
mov qword [rbp + 0x1c0], r12
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [0x1400f47a0]
lea r8, [rbp + 0x1b0]
mov rcx, qword [0x1400f4798]
add rdx, 0x3c0
mov rdi, qword [rbp + 0x1c0]
mov r9, r13
mov qword [rbp + 0x1b0], r12
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x1400f4798]
lea r8, [rbp + 0x190]
mov r9d, 0xc
mov qword [rbp + 0x190], r12
lea rdx, [rdi + 0x3d0]
mov dword [rbp + 0x198], r12d
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test r14b, r14b
jne 0x140002045
movss xmm0, dword [rbp + 0x190]
mov r14b, 1
movss xmm1, dword [rbp + 0x194]
movss dword [rbp + 0x1a0], xmm0
movss xmm0, dword [rbp + 0x198]
movss dword [rbp + 0x1a8], xmm0
movss dword [rbp + 0x1a4], xmm1
lea rdx, [rbp + 0x1c8]
mov rcx, r15
call fcn.140001ce0
cmp byte [0x1400f56c0], r12b
xorps xmm6, xmm6
je 0x140002141
movsd xmm4, qword [0x1400f5a2c]
xorps xmm0, xmm0
unpcklps xmm0, xmm6
xorps xmm3, xmm3
movsd xmm3, xmm0
mov dword [rsp + 0x38], r12d
movss xmm0, dword [rsp + 0x38]
movlhps xmm3, xmm0
movss xmm0, dword [0x1400f5a34]
movlhps xmm4, xmm0
cmpeqps xmm3, xmm4
movmskps eax, xmm3
and eax, 7
cmp al, 7
je 0x140002141
lea rax, [0x1400f59b0]
movups xmm0, xmmword [rax]
lea rcx, [rsp + 0x60]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx + 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx + 0x50], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmmword [rcx - 0x10], xmm1
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x40], xmm0
movups xmm0, xmmword [rax + 0x60]
mov rax, qword [rax + 0x70]
movups xmmword [rcx + 0x50], xmm1
movups xmmword [rcx + 0x60], xmm0
mov qword [rcx + 0x70], rax
lea rax, [rsp + 0x60]
jmp 0x14000214d
lea rdx, [rbp + 0x60]
mov rcx, r15
call fcn.140002b60
cmp byte [0x1400f56b4], r12b
lea rcx, [0x1400f59b0]
movups xmm0, xmmword [rax]
lea rcx, [rcx + 0x80]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm1, xmmword [rax - 0x70]
movups xmmword [rcx - 0x70], xmm1
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x60], xmm0
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x50], xmm1
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x40], xmm0
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x20], xmm0
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x10], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov rax, qword [rax + 0x70]
mov qword [rcx + 0x70], rax
je 0x1400025ce
mov ecx, dword [0x1400f56b8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400025ce
movsd xmm4, qword [0x1400f5a2c]
xorps xmm0, xmm0
unpcklps xmm0, xmm6
xorps xmm3, xmm3
movsd xmm3, xmm0
mov dword [rsp + 0x44], r12d
movss xmm0, dword [rsp + 0x44]
movlhps xmm3, xmm0
movss xmm0, dword [0x1400f5a34]
movlhps xmm4, xmm0
cmpeqps xmm3, xmm4
movmskps eax, xmm3
and eax, 7
cmp al, 7
je 0x140002629
cmp qword [0x1400f59b8], r12
je 0x140002257
cmp byte [0x1400f56b0], r12b
jne 0x140002629
mov rcx, qword [0x1400f4798]
lea rdx, [rdi + 0x60]
mov r9d, 0xc
mov qword [rbp + 0x180], r12
lea r8, [rbp + 0x180]
mov dword [rbp + 0x188], r12d
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov ecx, dword [0x1400f56bc]
test ecx, ecx
je 0x1400022a8
sub ecx, 1
je 0x1400022a1
cmp ecx, 1
jne 0x1400022a8
mov rax, r13
jmp 0x1400022ab
mov eax, 7
jmp 0x1400022ab
mov rax, r12
cmp byte [0x1400f56b2], r12b
je 0x1400022c7
movss xmm0, dword [0x1400a05c8]
comiss xmm0, dword [0x1400f59cc]
cmovae rax, r13
movss xmm0, dword [rbp + 0x188]
lea rax, [rax + rax*2]
movss xmm15, dword [rbp + 0x180]
lea rcx, [0x1400f59b0]
movsd xmm7, qword [rcx + rax*4 + 0x7c]
movaps xmm1, xmm15
movss xmm2, dword [rbp + 0x184]
subss xmm1, xmm7
movss xmm14, dword [rcx + rax*4 + 0x84]
subss xmm0, xmm14
movsd qword [rsp + 0x50], xmm7
movss xmm6, dword [rsp + 0x54]
subss xmm2, xmm6
mulss xmm1, xmm1
mulss xmm0, xmm0
mulss xmm2, xmm2
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x14000233d
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140002345
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
subss xmm14, dword [rbp + 0x188]
subss xmm6, dword [rbp + 0x184]
subss xmm7, xmm15
divss xmm14, xmm0
divss xmm7, xmm0
movss dword [rbp + 0x1d8], xmm14
comiss xmm7, xmm11
divss xmm6, xmm0
jbe 0x14000238b
nop word [rax + rax]
addss xmm7, xmm9
comiss xmm7, xmm11
ja 0x140002380
comiss xmm10, xmm7
jbe 0x14000239c
addss xmm7, xmm8
comiss xmm10, xmm7
ja 0x140002391
comiss xmm6, xmm8
jbe 0x1400023ad
addss xmm6, xmm12
comiss xmm6, xmm8
ja 0x1400023a2
comiss xmm9, xmm6
jbe 0x1400023be
addss xmm6, xmm13
comiss xmm9, xmm6
ja 0x1400023b3
movsd xmm3, qword [rbp + 0x190]
xorps xmm2, xmm2
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movsd xmm2, xmm0
movss xmm0, dword [rbp + 0x198]
movlhps xmm3, xmm0
movss xmm0, dword [rbp + 0x1d8]
movlhps xmm2, xmm0
subps xmm2, xmm3
comiss xmm2, xmm11
movaps xmm0, xmm2
movsd qword [rbp + 0x160], xmm2
shufps xmm0, xmm2, 0xaa
movss dword [rbp + 0x168], xmm0
jbe 0x140002423
nop dword [rax]
addss xmm2, xmm9
comiss xmm2, xmm11
movss dword [rbp + 0x160], xmm2
ja 0x140002410
comiss xmm10, xmm2
jbe 0x140002443
nop dword [rax]
addss xmm2, xmm8
comiss xmm10, xmm2
movss dword [rbp + 0x160], xmm2
ja 0x140002430
movss xmm0, dword [rbp + 0x164]
comiss xmm0, xmm8
jbe 0x140002464
addss xmm0, xmm12
comiss xmm0, xmm8
ja 0x140002451
movss dword [rbp + 0x164], xmm0
comiss xmm9, xmm0
jbe 0x140002483
nop word [rax + rax]
addss xmm0, xmm13
comiss xmm9, xmm0
ja 0x140002470
movss dword [rbp + 0x164], xmm0
movsd xmm2, qword [rbp + 0x160]
movss xmm0, dword [rbp + 0x168]
movss xmm6, dword [0x1400a060c]
movlhps xmm2, xmm0
movaps xmm1, xmm6
xorps xmm0, xmm0
mov qword [rbp + 0x1b0], r12
cvtsi2ss xmm0, dword [rbp + 0x1c8]
subss xmm1, xmm0
divss xmm1, xmm6
movaps xmm0, xmm1
xorps xmm1, xmm1
shufps xmm0, xmm0, 0
mulps xmm2, xmm0
movaps xmm0, xmm2
shufps xmm2, xmm2, 0xaa
movsd xmm1, xmm0
movss dword [rbp + 0x1b8], xmm2
xorps xmm0, xmm0
movss xmm0, xmm2
movlhps xmm1, xmm0
addps xmm1, xmm3
comiss xmm1, xmm11
movaps xmm0, xmm1
movsd qword [rbp + 0x170], xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x178], xmm0
jbe 0x140002518
addss xmm1, xmm9
comiss xmm1, xmm11
movss dword [rbp + 0x170], xmm1
ja 0x140002505
comiss xmm10, xmm1
jbe 0x140002533
nop
addss xmm1, xmm8
comiss xmm10, xmm1
movss dword [rbp + 0x170], xmm1
ja 0x140002520
movss xmm0, dword [rbp + 0x174]
comiss xmm0, xmm8
jbe 0x140002554
addss xmm0, xmm12
comiss xmm0, xmm8
ja 0x140002541
movss dword [rbp + 0x174], xmm0
comiss xmm9, xmm0
jbe 0x140002573
nop word [rax + rax]
addss xmm0, xmm13
comiss xmm9, xmm0
ja 0x140002560
movss dword [rbp + 0x174], xmm0
mov rcx, qword [0x1400f4798]
lea r8, [rbp + 0x170]
mov r9d, 0xc
mov qword [rsp + 0x20], r12
lea rdx, [rdi + 0x3d0]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, qword [0x1400f4798]
lea rdx, [rdi + 0x40]
mov r9d, 0xc
mov qword [rsp + 0x20], r12
lea r8, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp byte [0x1400f56b1], r12b
je 0x1400025ca
call fcn.140001960
xor bl, bl
jmp 0x140002629
cmp byte [0x1400f56b3], r12b
je 0x140002626
test bl, bl
jne 0x140002626
mov rcx, qword [0x1400f4798]
lea r8, [rbp + 0x1a0]
mov r9d, 0xc
mov qword [rsp + 0x20], r12
lea rdx, [rdi + 0x3d0]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, qword [0x1400f4798]
lea rdx, [rdi + 0x40]
mov r9d, 0xc
mov qword [rsp + 0x20], r12
lea r8, [rbp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov bl, 1
xor r14b, r14b
cmp byte [0x1400f56d8], r12b
jne 0x140001f70
movaps xmm15, xmmword [rsp + 0x2f0]
movaps xmm14, xmmword [rsp + 0x300]
movaps xmm13, xmmword [rsp + 0x310]
movaps xmm12, xmmword [rsp + 0x320]
movaps xmm11, xmmword [rsp + 0x330]
movaps xmm10, xmmword [rsp + 0x340]
movaps xmm9, xmmword [rsp + 0x350]
movaps xmm8, xmmword [rsp + 0x360]
movaps xmm7, xmmword [rsp + 0x370]
movaps xmm6, xmmword [rsp + 0x380]
mov r13, qword [rsp + 0x390]
mov r12, qword [rsp + 0x3d0]
mov rdi, qword [rsp + 0x3c8]
mov rsi, qword [rsp + 0x3c0]
mov rcx, qword [rbp + 0x1e0]
xor rcx, rsp
call fcn.14008fdb0
add rsp, 0x398
pop r15
pop r14
pop rbx
pop rbp
ret