Function at 0x140002090
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x90
mov rax, qword [0x140042080]
xor rax, rsp
mov qword [rbp + 0x47], rax
xor r14d, r14d
mov ecx, 8
call fcn.14000bb98
lea rcx, [0x1400023a0]
mov qword [rax], rcx
mov qword [rbp + 0x27], rax
lea rcx, [rbp + 0x3f]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
mov r9, rax
lea r8, [0x140008be0]
xor edx, edx
xor ecx, ecx
call fcn.140011a14
mov qword [rbp + 0x37], rax
test rax, rax
je 0x140002389
cmp dword [rbp + 0x3f], r14d
je 0x14000237e
movaps xmm0, xmmword [rbp + 0x37]
movdqa xmmword [rbp + 0x27], xmm0
lea rcx, [rbp + 0x27]
call fcn.14000b47c
test eax, eax
jne 0x14000237e
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x37], xmm0
call fcn.1400023f0
mov ecx, 0x70
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140002276
mov qword [rbp + 0x27], 0x10
mov ecx, 0x71
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14000216a
call fcn.1400046e0
mov ecx, 0x72
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140002259
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov rbx, rax
lea rcx, [rbp + 0x17]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov r8d, dword [rbp + 0x1b]
mov edx, dword [rbp + 0x17]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_GetPixel]
mov ecx, eax
shr ecx, 0x10
movzx esi, cl
movzx edi, ax
shr edi, 8
movzx ebx, al
lea rdx, [0x14003b664]
lea rcx, [0x140043460]
call fcn.140006d00
mov rcx, rax
mov edx, dword [rbp + 0x17]
call fcn.140004b00
mov rcx, rax
lea rdx, [0x14003b660]
call fcn.140006d00
mov rcx, rax
mov edx, dword [rbp + 0x1b]
call fcn.140004b00
mov rcx, rax
lea rdx, str.__R_
call fcn.140006d00
mov rcx, rax
mov edx, ebx
call fcn.140004d00
mov rcx, rax
lea rdx, str.__G_
call fcn.140006d00
mov rcx, rax
mov edx, edi
call fcn.140004d00
mov rcx, rax
lea rdx, str.__B_
call fcn.140006d00
mov rcx, rax
mov edx, esi
call fcn.140004d00
mov rcx, rax
lea rdx, [0x14003b618]
call fcn.140006d00
mov rcx, rax
call fcn.140006fb0
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rbp + 0x27]
call fcn.140007040
mov ecx, 0x70
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140002155
mov ebx, 0xd
nop dword [rax + rax]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov cl, 0x67
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
xor edx, edx
mov r8d, 2
mov cl, 0x67
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0x69
call qword [sym.imp.KERNEL32.dll_Sleep]
sub rbx, 1
jne 0x140002280
mov ebx, 6
nop dword [rax]
nop dword [rax + rax]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov cl, 0x69
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
xor edx, edx
mov r8d, 2
mov cl, 0x69
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0x69
call qword [sym.imp.KERNEL32.dll_Sleep]
sub rbx, 1
jne 0x1400022d0
nop
call fcn.140002970
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
xorps xmm0, xmm0
movups xmmword [rbp - 9], xmm0
mov qword [rbp + 7], r14
mov qword [rbp + 0xf], r14
mov r8d, 0xd
lea rdx, str.img_shake.png
lea rcx, [rbp - 9]
call fcn.1400072f0
lea rcx, [rbp - 9]
call fcn.140002d50
xorps xmm0, xmm0
movups xmmword [rbp - 9], xmm0
mov qword [rbp + 7], r14
mov qword [rbp + 0xf], r14
mov r8d, 0xc
lea rdx, str.img_icon.png
lea rcx, [rbp - 9]
call fcn.1400072f0
lea rcx, [rbp - 9]
call fcn.140003820
jmp 0x140002310
mov ecx, 1
call fcn.140008ed0
nop
mov dword [rbp + 0x3f], r14d
mov ecx, 6
call fcn.140008ed0
int3