Function at 0x14004bb90
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x70]
sub rsp, 0x170
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
movaps xmmword [rax - 0xb8], xmm15
mov rax, qword [0x1400c0010]
xor rax, rsp
mov qword [rbp - 0x40], rax
mov rsi, rdx
mov rdi, qword [rbp + 0xb0]
mov qword [rsp + 0x50], rdi
mov ecx, dword [0x1400c26a4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14004bc26
cmp byte [0x1400c26a0], 0
sete al
mov byte [0x1400c26a0], al
jmp 0x14004bc2d
movzx eax, byte [0x1400c26a0]
movss xmm15, dword [0x1400b544c]
xor r14d, r14d
test al, al
jne 0x14004bc4e
mov qword [0x1400c2628], r14
movss xmm0, dword [0x1400b5634]
jmp 0x14004bc52
movaps xmm0, xmm15
mov rax, qword [0x1400c4ae0]
movss xmm1, dword [rax + 0x18]
mulss xmm1, dword [0x1400b5518]
mulss xmm1, dword [0x1400b5418]
mulss xmm1, dword [0x1400b54c8]
mulss xmm1, xmm0
addss xmm1, dword [0x1400c26a8]
xorps xmm13, xmm13
comiss xmm13, xmm1
jbe 0x14004bca3
movss dword [0x1400c26a8], xmm13
movss dword [0x1400c2620], xmm13
jmp 0x14004c5f8
movaps xmm0, xmm15
minss xmm0, xmm1
movss dword [0x1400c26a8], xmm0
movss dword [0x1400c2620], xmm0
ucomiss xmm0, xmm13
jp 0x14004bcc7
je 0x14004c5f8
movss xmm8, dword [0x1400c2570]
movss xmm9, dword [0x1400c2574]
movss xmm6, dword [0x1400c0048]
movss xmm7, dword [0x1400c004c]
mov rax, qword [rax + 0x48a0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140006bd0
mov r11, rax
mov qword [0x1400c4f68], rax
movss dword [0x1400c26d8], xmm6
movss dword [0x1400c26dc], xmm7
movss dword [0x1400c26e0], xmm8
movss dword [0x1400c26e4], xmm9
cmp byte [0x1400c26e8], r14b
jne 0x14004bd4f
movss dword [0x1400c26ec], xmm8
movss dword [0x1400c26f0], xmm9
mov byte [0x1400c26e8], 1
mov rbx, qword [0x1400c4ae0]
movss xmm1, dword [rbx + 0xe08]
movss xmm7, dword [0x1400c004c]
movss xmm14, dword [0x1400b55ec]
movss xmm6, dword [0x1400c0048]
comiss xmm1, xmm6
jbe 0x14004bde8
movss xmm2, dword [rbx + 0xe0c]
comiss xmm2, xmm7
jbe 0x14004bde8
movaps xmm0, xmm6
addss xmm0, xmm14
comiss xmm0, xmm1
jbe 0x14004bde8
movaps xmm0, xmm7
addss xmm0, dword [0x1400b55bc]
comiss xmm0, xmm2
jbe 0x14004bde8
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.14000fce0
test al, al
je 0x14004bde8
mov r9b, 1
mov byte [0x1400c26ac], r9b
movaps xmm1, xmm6
movss dword [0x1400c26b0], xmm6
movaps xmm2, xmm7
movss dword [0x1400c26b4], xmm7
movsd xmm0, qword [rbx + 0xe08]
movsd qword [0x1400c26b8], xmm0
jmp 0x14004be00
movss xmm2, dword [0x1400c26b4]
movss xmm1, dword [0x1400c26b0]
movzx r9d, byte [0x1400c26ac]
xor ecx, ecx
call fcn.14000fc70
movss xmm9, dword [0x1400c2574]
movss xmm8, dword [0x1400c2570]
test al, al
jne 0x14004be26
mov byte [0x1400c26ac], r14b
jmp 0x14004be99
test r9b, r9b
je 0x14004be99
movss xmm0, dword [rbx + 0x10]
movss xmm7, dword [rbx + 0x14]
addss xmm2, dword [rbx + 0xe0c]
subss xmm2, dword [0x1400c26bc]
addss xmm1, dword [rbx + 0xe08]
subss xmm1, dword [0x1400c26b8]
subss xmm7, xmm9
movss xmm6, dword [0x1400b5558]
subss xmm7, xmm6
subss xmm0, xmm8
subss xmm0, xmm6
comiss xmm6, xmm2
jbe 0x14004be79
movaps xmm7, xmm6
jmp 0x14004be7d
minss xmm7, xmm2
comiss xmm6, xmm1
ja 0x14004be89
movaps xmm6, xmm0
minss xmm6, xmm1
movss dword [0x1400c0048], xmm6
movss dword [0x1400c004c], xmm7
cmp byte [0x1400c26d4], r14b
je 0x14004c066
movaps xmm5, xmm7
addss xmm5, xmm9
movss xmm12, dword [0x1400b5554]
subss xmm5, xmm12
movaps xmm10, xmm6
addss xmm10, xmm8
subss xmm10, xmm12
movss xmm14, dword [rbx + 0xe08]
comiss xmm14, xmm10
jbe 0x14004bf3d
movss xmm1, dword [rbx + 0xe0c]
comiss xmm1, xmm5
jbe 0x14004bf3d
movaps xmm11, xmm10
addss xmm11, xmm12
comiss xmm11, xmm14
jbe 0x14004bf3d
movaps xmm0, xmm5
addss xmm0, xmm12
comiss xmm0, xmm1
jbe 0x14004bf3d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.14000fce0
test al, al
je 0x14004bf46
mov byte [0x1400c26c0], 1
movss dword [0x1400c26c4], xmm8
movss dword [0x1400c26c8], xmm9
movsd xmm0, qword [rbx + 0xe08]
movsd qword [0x1400c26cc], xmm0
jmp 0x14004bf76
movaps xmm11, xmm10
addss xmm11, xmm12
movzx r9d, byte [0x1400c26c0]
test r9b, r9b
jne 0x14004bf76
comiss xmm14, xmm10
jbe 0x14004bfb1
movss xmm0, dword [rbx + 0xe0c]
comiss xmm0, xmm5
jbe 0x14004bfb1
comiss xmm11, xmm14
jbe 0x14004bfb1
addss xmm5, xmm12
comiss xmm5, xmm0
jbe 0x14004bfb1
mov dword [rbx + 0x4a48], 6
mov r11, qword [0x1400c4f68]
movzx r9d, byte [0x1400c26c0]
movss xmm7, dword [0x1400c004c]
movss xmm6, dword [0x1400c0048]
movss xmm9, dword [0x1400c2574]
movss xmm8, dword [0x1400c2570]
xor ecx, ecx
call fcn.14000fc70
test al, al
jne 0x14004bfc8
mov byte [0x1400c26c0], r14b
jmp 0x14004c05d
test r9b, r9b
je 0x14004c05d
movss xmm4, dword [rbx + 0x10]
movss xmm3, dword [rbx + 0x14]
movss xmm2, dword [0x1400c26c8]
addss xmm2, dword [rbx + 0xe0c]
subss xmm2, dword [0x1400c26d0]
movss xmm1, dword [0x1400c26c4]
addss xmm1, dword [rbx + 0xe08]
subss xmm1, dword [0x1400c26cc]
subss xmm3, dword [0x1400b557c]
subss xmm4, dword [0x1400b557c]
movss xmm9, dword [0x1400c26f0]
comiss xmm9, xmm2
ja 0x14004c033
movaps xmm9, xmm3
minss xmm9, xmm2
movss xmm8, dword [0x1400c26ec]
comiss xmm8, xmm1
ja 0x14004c04b
movaps xmm8, xmm4
minss xmm8, xmm1
movss dword [0x1400c2570], xmm8
movss dword [0x1400c2574], xmm9
movss xmm14, dword [0x1400b55ec]
movss xmm0, dword [0x1400c26f4]
movss dword [rsp + 0x40], xmm0
movss xmm1, dword [0x1400c26f8]
movss dword [rsp + 0x44], xmm1
movss xmm0, dword [0x1400c26fc]
movss dword [rsp + 0x48], xmm0
movss xmm1, dword [0x1400c26a8]
movss dword [rsp + 0x4c], xmm1
movaps xmm0, xmm6
unpcklps xmm0, xmm7
movsd qword [0x1400c0048], xmm0
movsd qword [rbp - 0x50], xmm0
lea rcx, [rsp + 0x40]
call fcn.1400041d0
addss xmm7, xmm9
addss xmm6, xmm8
movss dword [rbp - 0x60], xmm6
movss dword [rbp - 0x5c], xmm7
mov dword [rsp + 0x28], r14d
movss xmm12, dword [0x1400b5500]
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x50]
mov rcx, r11
call fcn.1400246b0
mov dword [rsp + 0x40], 0x3d109091
mov dword [rsp + 0x44], 0x3d109091
mov dword [rsp + 0x48], 0x3d109091
movss xmm0, dword [0x1400c26a8]
movss dword [rsp + 0x4c], xmm0
movsd xmm1, qword [0x1400c0048]
movsd qword [rbp - 0x50], xmm1
lea rcx, [rsp + 0x40]
call fcn.1400041d0
movss xmm1, dword [0x1400c004c]
addss xmm1, dword [0x1400c2574]
movss xmm0, dword [0x1400c0048]
addss xmm0, xmm14
movss dword [rbp - 0x60], xmm0
movss dword [rbp - 0x5c], xmm1
mov dword [rsp + 0x28], 0x50
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x50]
mov rcx, qword [0x1400c4f68]
call fcn.1400246b0
movss xmm6, dword [0x1400c004c]
addss xmm6, xmm13
movss xmm7, dword [0x1400c0048]
addss xmm7, xmm14
movss xmm0, dword [0x1400c26f4]
movss dword [rbp - 0x60], xmm0
movss xmm1, dword [0x1400c26f8]
movss dword [rbp - 0x5c], xmm1
movss xmm0, dword [0x1400c26fc]
movss dword [rbp - 0x58], xmm0
mov dword [rbp - 0x54], r14d
mov dword [rsp + 0x40], 0x3d109091
mov dword [rsp + 0x44], 0x3d109091
mov dword [rsp + 0x48], 0x3d109091
movss xmm0, dword [0x1400c26a8]
movss dword [rsp + 0x4c], xmm0
movss dword [rbp - 0x50], xmm7
movss dword [rbp - 0x4c], xmm6
lea rcx, [rsp + 0x40]
call fcn.1400041d0
mov r9d, eax
lea rcx, [rbp - 0x60]
call fcn.1400041d0
movss xmm0, dword [0x1400c2574]
addss xmm0, xmm6
addss xmm7, dword [0x1400b5588]
movss dword [rbp - 0x60], xmm7
movss dword [rbp - 0x5c], xmm0
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x50]
mov rcx, qword [0x1400c4f68]
call fcn.140024860
movss xmm6, dword [0x1400c004c]
addss xmm6, xmm13
movss xmm7, dword [0x1400c0048]
addss xmm7, dword [0x1400b55e8]
movss xmm0, dword [0x1400c2794]
movss dword [rsp + 0x40], xmm0
movss xmm1, dword [0x1400c2798]
movss dword [rsp + 0x44], xmm1
movss xmm0, dword [0x1400c279c]
movss dword [rsp + 0x48], xmm0
movss xmm1, dword [0x1400c26a8]
movss dword [rsp + 0x4c], xmm1
movss dword [rbp - 0x60], xmm7
movss dword [rbp - 0x5c], xmm6
lea rcx, [rsp + 0x40]
call fcn.1400041d0
movss xmm0, dword [0x1400c2574]
addss xmm0, xmm6
addss xmm7, dword [0x1400b5478]
movss dword [rbp - 0x50], xmm7
movss dword [rbp - 0x4c], xmm0
mov dword [rsp + 0x28], r14d
movss dword [rsp + 0x20], xmm13
mov r9d, eax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x60]
mov rcx, qword [0x1400c4f68]
call fcn.1400246b0
movss xmm7, dword [0x1400c2574]
movss xmm10, dword [0x1400b5594]
subss xmm7, xmm10
movss xmm8, dword [0x1400c004c]
movss xmm11, dword [0x1400b5570]
addss xmm8, xmm11
movss xmm6, dword [0x1400c0048]
addss xmm6, dword [0x1400b55f0]
mov dword [rsp + 0x40], 0x3d109091
mov dword [rsp + 0x44], 0x3d109091
mov dword [rsp + 0x48], 0x3d109091
movss xmm0, dword [0x1400c26a8]
movss dword [rsp + 0x4c], xmm0
movss dword [rbp - 0x60], xmm6
movss dword [rbp - 0x5c], xmm8
lea rcx, [rsp + 0x40]
call fcn.1400041d0
addss xmm8, xmm7
movss xmm0, dword [0x1400c2570]
subss xmm0, xmm10
subss xmm0, xmm14
addss xmm0, xmm6
movss dword [rbp - 0x50], xmm0
movss dword [rbp - 0x4c], xmm8
mov dword [rsp + 0x28], r14d
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x60]
mov rcx, qword [0x1400c4f68]
call fcn.1400246b0
movss xmm6, dword [0x1400c2574]
subss xmm6, xmm10
movss xmm8, dword [0x1400c004c]
addss xmm8, xmm11
movss xmm7, dword [0x1400c0048]
addss xmm7, dword [0x1400b55f0]
movss xmm0, dword [0x1400c2704]
movss dword [rsp + 0x40], xmm0
movss xmm1, dword [0x1400c2708]
movss dword [rsp + 0x44], xmm1
movss xmm0, dword [0x1400c270c]
movss dword [rsp + 0x48], xmm0
movss xmm1, dword [0x1400c26a8]
movss dword [rsp + 0x4c], xmm1
movss dword [rbp - 0x60], xmm7
movss dword [rbp - 0x5c], xmm8
lea rcx, [rsp + 0x40]
call fcn.1400041d0
addss xmm8, xmm6
movss xmm0, dword [0x1400c2570]
subss xmm0, xmm10
subss xmm0, xmm14
addss xmm0, xmm7
movss dword [rbp - 0x50], xmm0
movss dword [rbp - 0x4c], xmm8
movss dword [rsp + 0x30], xmm15
mov dword [rsp + 0x28], r14d
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x60]
mov rcx, qword [0x1400c4f68]
call fcn.1400245b0
mov rcx, qword [0x1400c2670]
call fcn.14000f010
movss xmm9, dword [0x1400c26a8]
movss xmm8, dword [0x1400c278c]
movss xmm7, dword [0x1400c2788]
movss xmm6, dword [0x1400c2784]
lea rax, [rsp + 0x58]
mov qword [rbp - 0x50], rax
mov rdx, rsi
lea rcx, [rsp + 0x58]
call fcn.140030140
mov rbx, rax
mov rdx, rsi
lea rcx, [rsp + 0x78]
call fcn.140030140
mov r8, rax
lea rdx, [rsp + 0x40]
call fcn.140049bc0
movss xmm2, dword [0x1400c004c]
addss xmm2, xmm11
movss xmm0, dword [rax]
mulss xmm0, dword [0x1400b5420]
movss xmm1, dword [0x1400b55c4]
subss xmm1, xmm0
addss xmm1, dword [0x1400c0048]
movss dword [rbp - 0x50], xmm6
movss dword [rbp - 0x4c], xmm7
movss dword [rbp - 0x48], xmm8
movss dword [rbp - 0x44], xmm9
lea r9, [rbp - 0x50]
mov r8, rbx
movaps xmm0, xmm1
unpcklps xmm0, xmm2
movq rdx, xmm0
call fcn.140049aa0
call fcn.14000f0b0
movss xmm0, dword [0x1400c2704]
movss dword [rsp + 0x40], xmm0
movss xmm1, dword [0x1400c2708]
movss dword [rsp + 0x44], xmm1
movss xmm0, dword [0x1400c270c]
movss dword [rsp + 0x48], xmm0
movss xmm1, dword [0x1400c26a8]
movss dword [rsp + 0x4c], xmm1
movsd xmm0, qword [0x1400c0048]
movsd qword [rbp - 0x60], xmm0
lea rcx, [rsp + 0x40]
call fcn.1400041d0
movss xmm1, dword [0x1400c004c]
addss xmm1, dword [0x1400c2574]
movss xmm0, dword [0x1400c0048]
addss xmm0, dword [0x1400c2570]
movss dword [rbp - 0x50], xmm0
movss dword [rbp - 0x4c], xmm1
movss dword [rsp + 0x30], xmm15
mov dword [rsp + 0x28], r14d
movss dword [rsp + 0x20], xmm12
mov r9d, eax
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x60]
mov rcx, qword [0x1400c4f68]
call fcn.1400245b0
mov rcx, qword [rdi + 0x38]
test rcx, rcx
jne 0x14004c5f1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_]
int3
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x14004c611
cmp rcx, rdi
mov rax, qword [rcx]
setne dl
call qword [rax + 0x20]
mov qword [rdi + 0x38], r14
mov rcx, qword [rbp - 0x40]
xor rcx, rsp
call fcn.140053720
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret