Function at 0x140056230
Capabilities:
Log keystrokes via polling

Disassembly:
test rcx, rcx
je 0x14005689f
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x20], rdi
push rbp
lea rbp, [rax - 0x28]
sub rsp, 0x120
movaps xmmword [rax - 0x68], xmm12
mov rdi, rdx
movaps xmmword [rax - 0x78], xmm13
movaps xmm12, xmm3
movss xmm13, dword [rbp + 0x50]
mov rbx, rcx
mulss xmm13, dword [0x1400f5cdc]
mov qword [rbp - 0x70], r8
mulss xmm12, dword [0x1400f5cdc]
call fcn.140055700
test eax, eax
jne 0x140056881
mov eax, dword [0x140156520]
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x38], eax
lea rax, [rbx + 0x1030]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], 8
mov word [rsp + 0x3c], 0x100
mov byte [rsp + 0x3e], 0
call fcn.140059780
mov rax, qword [rbp + 0x30]
mov qword [0x1401564b0], rax
test rax, rax
je 0x140056881
mov eax, dword [0x140156520]
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x38], eax
lea rax, [rbx + 0x1228]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], 8
mov word [rsp + 0x3c], 0x100
mov byte [rsp + 0x3e], 0
call fcn.140059780
mov rcx, qword [rbp + 0x30]
mov qword [0x140156480], rcx
test rcx, rcx
je 0x140056881
mov eax, dword [0x140156520]
mov dword [rsp + 0x38], eax
lea rax, [rcx + 0xd8]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x20]
lea rax, [rbp + 0x30]
mov qword [rsp + 0x30], 8
mov qword [rsp + 0x40], rax
mov word [rsp + 0x3c], 0x100
mov byte [rsp + 0x3e], 0
call fcn.140059780
mov rcx, qword [rbp + 0x30]
mov qword [0x140156488], rcx
test rcx, rcx
je 0x140056881
mov eax, dword [0x140156520]
mov dword [rsp + 0x38], eax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], 8
mov word [rsp + 0x3c], 0x100
mov byte [rsp + 0x3e], 0
call fcn.140059780
mov rcx, qword [rbp + 0x30]
mov qword [0x1401564a8], rcx
test rcx, rcx
je 0x140056881
mov eax, dword [0x140156520]
movaps xmmword [rsp + 0x110], xmm6
mov dword [rsp + 0x38], eax
lea rax, [rcx + 0xc8]
movaps xmmword [rsp + 0x100], xmm7
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x30]
movaps xmmword [rsp + 0xf0], xmm8
mov qword [rsp + 0x40], rax
movaps xmmword [rsp + 0xe0], xmm9
mov qword [rsp + 0x30], 8
mov word [rsp + 0x3c], 0x100
mov byte [rsp + 0x3e], 0
call fcn.140059780
mov rax, qword [rbp + 0x30]
lea rcx, [rsp + 0x20]
mov qword [0x140156458], rax
mov eax, dword [0x140156520]
mov dword [rsp + 0x38], eax
mov rax, qword [0x1401564b0]
add rax, 0xc4
mov qword [rbp - 0x80], 0
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
mov dword [rbp - 0x78], 0
mov qword [rsp + 0x30], select
mov word [rsp + 0x3c], 0x100
mov byte [rsp + 0x3e], 0
call fcn.140059780
movss xmm9, dword [rdi]
movss xmm8, dword [rdi + 4]
subss xmm9, dword [rbp - 0x80]
subss xmm8, dword [rbp - 0x7c]
movss xmm7, dword [rdi + 8]
subss xmm7, dword [rbp - 0x78]
movaps xmm0, xmm9
mulss xmm0, xmm9
movaps xmm2, xmm8
mulss xmm2, xmm8
movaps xmm1, xmm7
mulss xmm1, xmm7
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
ucomiss xmm0, xmm2
ja 0x1400564df
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1400564e7
movaps xmm0, xmm2
call fcn.1400d4c48
divss xmm9, xmm0
mov dword [rsp + 0x7c], 0x3f3504f3
mov qword [rsp + 0x74], 0
divss xmm7, xmm0
divss xmm8, xmm0
movaps xmm0, xmm7
movaps xmm1, xmm9
mulss xmm0, dword [0x1400f5cf8]
mulss xmm1, xmm9
movss dword [rsp + 0x70], xmm0
movaps xmm0, xmm8
mulss xmm0, xmm8
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x14005653e
xorps xmm6, xmm6
sqrtss xmm6, xmm1
jmp 0x140056549
movaps xmm0, xmm1
call fcn.1400d4c48
movaps xmm6, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm6
comisd xmm1, xmmword [0x1400f5cd0]
jbe 0x140056651
divss xmm8, xmm6
divss xmm9, xmm6
addss xmm8, dword [0x1400f5d28]
addss xmm6, dword [0x1400f5d28]
movaps xmm1, xmm9
movaps xmmword [rsp + 0xd0], xmm10
mulss xmm1, xmm9
movaps xmm0, xmm8
mulss xmm0, xmm8
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1400565ab
xorps xmm10, xmm10
sqrtss xmm10, xmm1
jmp 0x1400565b7
movaps xmm0, xmm1
call fcn.1400d4c48
movaps xmm10, xmm0
movaps xmm1, xmm6
movaps xmm0, xmm7
mulss xmm1, xmm6
mulss xmm0, xmm7
addss xmm0, xmm1
xorps xmm1, xmm1
ucomiss xmm1, xmm0
ja 0x1400565d7
sqrtss xmm0, xmm0
jmp 0x1400565dc
call fcn.1400d4c48
movss xmm2, dword [0x1400f5f60]
xorps xmm1, xmm1
cvtss2sd xmm1, xmm10
xorps xmm3, xmm3
comisd xmm1, xmmword [0x1400f5cd0]
jbe 0x140056612
movaps xmm2, xmm9
movaps xmm3, xmm8
xorps xmm2, xmmword [0x1400f6570]
divss xmm2, xmm10
divss xmm3, xmm10
movaps xmm10, xmmword [rsp + 0xd0]
divss xmm7, xmm0
divss xmm6, xmm0
movaps xmm1, xmm7
mulss xmm7, xmm2
movaps xmm0, xmm6
mulss xmm1, xmm3
mulss xmm0, xmm3
mulss xmm6, xmm2
movss dword [rsp + 0x7c], xmm0
movss dword [rsp + 0x70], xmm1
movss dword [rsp + 0x74], xmm7
movss dword [rsp + 0x78], xmm6
mov eax, dword [0x140156520]
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x38], eax
mov rax, qword [0x1401564b0]
add rax, 0x94
mov qword [rsp + 0x30], setsockopt
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
mov word [rsp + 0x3c], 0x100
mov byte [rsp + 0x3e], 0
call fcn.140059780
movss xmm3, dword [rbp + 0x70]
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x68]
call fcn.1400545a0
mov ecx, dword [rbp + 0x68]
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm9, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
test ax, ax
je 0x140056871
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [0x140156500]
jne 0x140056871
cmp byte [rbp + 0x58], 0
je 0x140056755
movss xmm0, dword [rbp - 0x6c]
movsd xmm6, qword [0x1400f5d60]
subss xmm0, xmm13
movaps xmm1, xmm6
cvtps2pd xmm0, xmm0
call fcn.1400bc8f0
movss xmm2, dword [rbp - 0x70]
xorps xmm7, xmm7
subss xmm2, xmm12
movaps xmm1, xmm6
cvtsd2ss xmm7, xmm0
cvtps2pd xmm0, xmm2
call fcn.1400bc8f0
xorps xmm2, xmm2
movaps xmm1, xmm6
cvtsd2ss xmm2, xmm0
movss xmm0, dword [rbp + 0x60]
cvtps2pd xmm0, xmm0
addss xmm7, xmm2
call fcn.1400bc8f0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
comiss xmm1, xmm7
jb 0x140056871
cmp qword [0x140156458], 0
je 0x1400567ad
xorps xmm2, xmm2
mov edx, 0x44
call fcn.140055400
xorps xmm2, xmm2
mov edx, 0x45
call fcn.140055400
xorps xmm2, xmm2
mov edx, 0x46
call fcn.140055400
xorps xmm2, xmm2
mov edx, 0x47
call fcn.140055400
xorps xmm2, xmm2
mov edx, 0x48
call fcn.140055400
xorps xmm2, xmm2
mov edx, 0x49
call fcn.140055400
mov eax, dword [0x140156520]
lea rcx, [rsp + 0x20]
mov rbx, qword [0x1401564b0]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], setsockopt
mov word [rsp + 0x3c], 1
lea rax, [rbx + 0x84]
mov byte [rsp + 0x3e], 0
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
call fcn.140059780
mov eax, dword [0x140156520]
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x38], eax
lea rax, [rbx + 0x94]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], setsockopt
mov word [rsp + 0x3c], 1
mov byte [rsp + 0x3e], 0
call fcn.140059780
mov eax, dword [0x140156520]
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x38], eax
lea rax, [rbx + 0xa4]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], setsockopt
mov word [rsp + 0x3c], 1
mov byte [rsp + 0x3e], 0
call fcn.140059780
movaps xmm6, xmmword [rsp + 0x110]
movaps xmm7, xmmword [rsp + 0x100]
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x28]
movaps xmm12, xmmword [r11 - 0x60]
movaps xmm13, xmmword [r11 - 0x70]
mov rsp, r11
pop rbp
ret