Function at 0x1400c8420
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xc8]
sub rsp, 0x190
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
mov rax, qword [0x1400f1010]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov r12, r9
mov rbx, rdx
test edx, edx
jne 0x1400c8490
mov rax, rdx
shr rax, 0x20
test eax, eax
jne 0x1400c8490
mov rcx, r9
call fcn.1400480f0
xor eax, eax
jmp 0x1400c8d75
xor r13d, r13d
movsxd rcx, dword [0x1400f22f8]
lea r14, [r9 + 8]
mov qword [rsp + 0x58], r14
test ecx, ecx
jns 0x1400c84ac
mov ecx, r13d
jmp 0x1400c84c3
mov rdx, qword [r14]
sub rdx, qword [r9]
sar rdx, 5
cmp rcx, rdx
jb 0x1400c84c9
lea ecx, [rdx - 1]
mov qword [rsp + 0x58], r14
mov dword [0x1400f22f8], ecx
mov r15, qword [r14]
sub r15, qword [r9]
sar r15, 5
mov qword [rsp + 0x60], r15
mov eax, 0xffffffff
test r15, r15
cmove ecx, eax
mov dword [0x1400f22f8], ecx
movdqa xmm0, xmmword [0x1400e9e40]
movdqa xmmword [rbp - 0x80], xmm0
movsx eax, r15w
imul esi, eax, 0x19
mov edi, dword [rbp + 0xdc]
lea eax, [rsi + 5]
lea r8d, [rdi + 0x32]
lea edx, [rbx + 0x35]
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov r9d, 0xea
call fcn.140007b20
mov dword [rsp + 0x68], 0xa
mov dword [rsp + 0x6c], 0xa
mov eax, 0x66666667
imul dword [0x1400f2134]
mov r9d, edx
sar r9d, 2
mov eax, r9d
shr eax, 0x1f
add r9d, eax
mov dword [rbp - 8], r9d
mov eax, 0x66666667
imul dword [0x1400f2138]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp - 4], edx
add edi, 0x33
lea r10d, [rbx + 0x36]
mov dword [rsp + 0x50], r10d
mov word [rbp + 0x1e], r13w
mov word [rbp + 0x2e], r13w
mov dword [rbp - 0x10], r13d
mov dword [rbp - 0xc], 1
mov rcx, qword [rbp - 8]
shr rcx, 0x20
movzx r8d, cl
shl r8d, 8
mov eax, 0x66666667
imul dword [0x1400f213c]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dl
shl eax, 0x10
or r8d, eax
movzx eax, r9b
or r8d, eax
mov rax, qword [rsp + 0x68]
shr rax, 0x20
movzx ecx, al
shl ecx, 8
or ecx, 0xa000a
mov dword [rbp + 0x10], r10d
mov dword [rbp + 0x14], edi
lea eax, [r10 + 0xe8]
mov dword [rsp + 0x54], eax
mov dword [rbp + 0x20], eax
lea eax, [rdi + 3]
add eax, esi
mov dword [rbp + 0x24], eax
movzx eax, r8b
shl ax, 8
mov word [rbp + 0x18], ax
movzx eax, r8w
mov edx, 0xff00
and ax, dx
mov word [rbp + 0x1a], ax
shr r8d, 0x10
shl r8w, 8
mov word [rbp + 0x1c], r8w
movzx eax, cl
shl ax, 8
mov word [rbp + 0x28], ax
movzx eax, cx
and ax, dx
mov word [rbp + 0x2a], ax
shr ecx, 0x10
shl cx, 8
mov word [rbp + 0x2c], cx
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
lea r9, [rbp - 0x10]
mov r8d, 2
lea rdx, [rbp + 0x10]
mov rcx, qword [0x1400f2160]
call qword [sym.imp.MSIMG32.dll_GradientFill]
mov rax, qword [r14]
sub rax, qword [r12]
sar rax, 5
test rax, rax
je 0x1400c8d65
xor r14d, r14d
mov r8d, 4
movss xmm8, dword [0x1400e6bb8]
movss xmm9, dword [0x1400e6cd4]
movss xmm10, dword [0x1400e6bc4]
cmp r13w, r15w
jge 0x1400c8d44
movsx edi, r13w
imul eax, edi, 0x19
mov r15d, dword [rbp + 0xdc]
add r15d, 0x3c
add r15d, eax
lea esi, [r15 - 5]
mov eax, dword [0x1400f2168]
mov edx, dword [0x1400f2170]
cmp eax, edx
jl 0x1400c8967
cmp eax, dword [0x1400f2178]
jg 0x1400c8967
mov ecx, dword [0x1400f216c]
mov r8d, dword [0x1400f2174]
cmp ecx, r8d
jl 0x1400c896b
cmp ecx, dword [0x1400f217c]
jg 0x1400c896b
sub eax, edx
cmp eax, dword [rsp + 0x50]
jl 0x1400c896b
cmp eax, dword [rsp + 0x54]
jg 0x1400c8961
sub ecx, r8d
cmp ecx, esi
jl 0x1400c896b
lea eax, [rsi + 0x14]
cmp ecx, eax
jg 0x1400c896b
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [0x1400f2148]
jne 0x1400c8823
cmp dword [0x1400f2188], 0
jne 0x1400c8823
cmp dword [0x1400f218c], 0
jne 0x1400c8823
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x1400c878f
xor eax, eax
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rax + 4]
call qword [sym.imp.USER32.dll_mouse_event]
mov dword [0x1400f22f8], edi
mov ecx, 0x26
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x1400c87c2
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
mov cl, 0x26
call qword [sym.imp.USER32.dll_keybd_event]
mov eax, dword [0x1400f22f8]
dec eax
mov dword [0x1400f22f8], eax
jmp 0x1400c87fb
mov ecx, 0x28
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x1400c87f5
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
mov cl, 0x28
call qword [sym.imp.USER32.dll_keybd_event]
mov eax, dword [0x1400f22f8]
inc eax
mov dword [0x1400f22f8], eax
jmp 0x1400c87fb
mov eax, dword [0x1400f22f8]
test eax, eax
jns 0x1400c8803
xor eax, eax
jmp 0x1400c881d
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
sub rcx, qword [r12]
sar rcx, 5
cdqe
cmp rax, rcx
jb 0x1400c8823
lea eax, [rcx - 1]
mov dword [0x1400f22f8], eax
mov dword [rbp - 0x70], 0xf
mov dword [rbp - 0x6c], 0xf
mov ecx, dword [0x1400f2134]
mov eax, 0x92492493
imul ecx
lea r9d, [rcx + rdx]
sar r9d, 2
mov eax, r9d
shr eax, 0x1f
add r9d, eax
mov dword [rsp + 0x68], r9d
mov eax, 0x92492493
imul dword [0x1400f2138]
add edx, dword [0x1400f2138]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsp + 0x6c], edx
xor eax, eax
mov word [rbp + 0x1e], ax
mov word [rbp + 0x2e], ax
mov dword [rbp - 0x10], eax
mov dword [rbp - 0xc], 1
mov rax, qword [rsp + 0x68]
shr rax, 0x20
movzx r8d, al
shl r8d, 8
mov eax, 0x92492493
imul dword [0x1400f213c]
add edx, dword [0x1400f213c]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dl
shl eax, 0x10
or r8d, eax
movzx eax, r9b
or r8d, eax
mov rax, qword [rbp - 0x70]
shr rax, 0x20
movzx ecx, al
shl ecx, 8
or ecx, 0xf000f
mov eax, dword [rsp + 0x50]
mov dword [rbp + 0x10], eax
mov dword [rbp + 0x14], esi
mov eax, dword [rsp + 0x54]
mov dword [rbp + 0x20], eax
lea eax, [rsi + 0x14]
mov dword [rbp + 0x24], eax
movzx eax, r8b
shl ax, 8
mov word [rbp + 0x18], ax
movzx eax, r8w
mov edx, 0xff00
and ax, dx
mov word [rbp + 0x1a], ax
shr r8d, 0x10
shl r8w, 8
mov word [rbp + 0x1c], r8w
movzx eax, cl
shl ax, 8
mov word [rbp + 0x28], ax
movzx eax, cx
and ax, dx
mov word [rbp + 0x2a], ax
shr ecx, 0x10
shl cx, 8
mov word [rbp + 0x2c], cx
xor esi, esi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 1
lea r9, [rbp - 0x10]
lea r8d, [rsi + 2]
lea rdx, [rbp + 0x10]
mov rcx, qword [0x1400f2160]
call qword [sym.imp.MSIMG32.dll_GradientFill]
jmp 0x1400c896d
mov r8d, 4
xor esi, esi
jmp 0x1400c8973
xor esi, esi
mov r8d, 4
cmp dword [0x1400f22f8], edi
jne 0x1400c8bf0
movd xmm7, r15d
cvtdq2ps xmm7, xmm7
mov edx, r8d
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400f319c], eax
jle 0x1400c89ca
lea rcx, [0x1400f319c]
call fcn.1400e0510
cmp dword [0x1400f319c], 0xffffffff
jne 0x1400c89ca
movss dword [0x1400f2f04], xmm7
lea rcx, [0x1400f319c]
call fcn.1400e04b0
movss xmm6, dword [0x1400f2f04]
comiss xmm7, xmm6
jbe 0x1400c89e6
subss xmm7, xmm6
mulss xmm7, xmm8
addss xmm6, xmm7
jmp 0x1400c89fb
comiss xmm6, xmm7
jbe 0x1400c8a03
movaps xmm0, xmm6
subss xmm0, xmm7
mulss xmm0, xmm8
subss xmm6, xmm0
movss dword [0x1400f2f04], xmm6
mov dword [rbp - 0x80], 0xf
mov dword [rbp - 0x7c], 0xf
mov eax, 0x2aaaaaab
imul dword [0x1400f2134]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [rbp - 0x60], ecx
mov eax, 0x2aaaaaab
imul dword [0x1400f2138]
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp - 0x5c], edx
movaps xmm0, xmm6
subss xmm0, xmm9
cvttss2si r8d, xmm0
mov word [rbp + 0x1e], si
mov word [rbp + 0x2e], si
mov dword [rbp - 8], esi
mov dword [rbp - 4], 1
mov rax, qword [rbp - 0x60]
shr rax, 0x20
movzx r9d, al
shl r9d, 8
mov eax, 0x2aaaaaab
imul dword [0x1400f213c]
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dl
shl eax, 0x10
or r9d, eax
movzx eax, cl
or r9d, eax
mov rax, qword [rbp - 0x80]
shr rax, 0x20
movzx ecx, al
shl ecx, 8
or ecx, 0xf000f
mov eax, dword [rsp + 0x50]
mov dword [rbp + 0x10], eax
mov dword [rbp + 0x14], r8d
mov eax, dword [rsp + 0x54]
mov dword [rbp + 0x20], eax
lea eax, [r8 + 0x14]
mov dword [rbp + 0x24], eax
movzx eax, r9b
shl ax, 8
mov word [rbp + 0x18], ax
movzx eax, r9w
mov edx, 0xff00
and ax, dx
mov word [rbp + 0x1a], ax
shr r9d, 0x10
shl r9w, 8
mov word [rbp + 0x1c], r9w
movzx eax, cl
shl ax, 8
mov word [rbp + 0x28], ax
movzx eax, cx
and ax, dx
mov word [rbp + 0x2a], ax
shr ecx, 0x10
shl cx, 8
mov word [rbp + 0x2c], cx
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 1
lea r9, [rbp - 8]
mov r8d, 2
lea rdx, [rbp + 0x10]
mov rcx, qword [0x1400f2160]
call qword [sym.imp.MSIMG32.dll_GradientFill]
movdqa xmm0, xmmword [0x1400e9e40]
movdqa xmmword [rbp + 0x10], xmm0
shl r14, 5
mov rdi, qword [r12]
add rdi, r14
lea rdx, [0x1400f2110]
lea rcx, [rbp - 0x50]
call fcn.1400499f0
mov rsi, rax
mov rdx, rdi
lea rcx, [rbp - 0x30]
call fcn.1400499f0
mov r9, rax
cvttss2si r8d, xmm6
lea edx, [rbx + 0x42]
mov r15d, 0x258
mov word [rsp + 0x38], r15w
movzx ecx, word [0x1400f2130]
mov word [rsp + 0x30], cx
mov qword [rsp + 0x28], rsi
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
call fcn.140007c10
movups xmm0, xmmword [0x1400f2134]
movaps xmmword [rbp + 0x10], xmm0
mov rdi, qword [r12]
add rdi, r14
lea rdx, [0x1400f2110]
lea rcx, [rbp - 0x30]
call fcn.1400499f0
mov rsi, rax
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.1400499f0
mov r9, rax
subss xmm6, xmm10
cvttss2si r8d, xmm6
mov word [rsp + 0x38], r15w
movzx ecx, word [0x1400f2130]
mov word [rsp + 0x30], cx
mov qword [rsp + 0x28], rsi
jmp 0x1400c8d28
movdqa xmm0, xmmword [0x1400e9e40]
movdqa xmmword [rbp + 0x10], xmm0
shl r14, 5
mov rdi, qword [r12]
add rdi, r14
lea rdx, [0x1400f2110]
lea rcx, [rbp - 0x30]
call fcn.1400499f0
mov rsi, rax
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.1400499f0
mov r9, rax
lea edx, [rbx + 0x42]
mov eax, 0x190
mov word [rsp + 0x38], ax
movzx ecx, word [0x1400f2130]
mov word [rsp + 0x30], cx
mov qword [rsp + 0x28], rsi
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
mov r8d, r15d
call fcn.140007c10
mov rsi, qword [r12]
add rsi, r14
mov rdx, rsi
mov rcx, qword [rsi + 0x18]
cmp rcx, 0x10
jb 0x1400c8c70
mov rdx, qword [rsi]
mov rax, qword [rsi + 0x10]
cmp rax, 4
jne 0x1400c8c82
cmp dword [rdx], 0x656e6f4e
je 0x1400c8cd0
mov rdx, rsi
cmp rcx, 0x10
jb 0x1400c8c8e
mov rdx, qword [rsi]
cmp rax, 4
jne 0x1400c8c9c
cmp dword [rdx], 0x656e6f6e
je 0x1400c8cd0
mov rdx, rsi
cmp rcx, 0x10
jb 0x1400c8ca8
mov rdx, qword [rsi]
cmp rax, 4
jne 0x1400c8cb6
cmp dword [rdx], 0x454e4f4e
je 0x1400c8cd0
mov rdx, rsi
cmp rcx, 0x10
jb 0x1400c8cc2
mov rdx, qword [rsi]
cmp rax, 4
jne 0x1400c8cda
cmp dword [rdx], 0x4c4c554e
jne 0x1400c8cda
movdqa xmm0, xmmword [0x1400e9eb0]
jmp 0x1400c8ce2
movdqa xmm0, xmmword [0x1400e9ef0]
movdqa xmmword [rbp + 0x10], xmm0
lea rdx, [0x1400f2110]
lea rcx, [rbp - 0x30]
call fcn.1400499f0
mov rdi, rax
mov rdx, rsi
lea rcx, [rbp - 0x50]
call fcn.1400499f0
mov r9, rax
mov eax, 0x190
mov word [rsp + 0x38], ax
movzx ecx, word [0x1400f2130]
mov word [rsp + 0x30], cx
mov qword [rsp + 0x28], rdi
lea r8d, [r15 - 1]
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
lea edx, [rbx + 0x41]
call fcn.140007c10
mov r15, qword [rsp + 0x60]
mov r8d, 4
inc r13w
movsx r14, r13w
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
sub rax, qword [r12]
sar rax, 5
cmp r14, rax
jb 0x1400c86a1
mov ebx, dword [0x1400f22f8]
mov rcx, r12
call fcn.1400480f0
mov eax, ebx
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.1400e0390
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret