Function at 0x180001e70
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
movaps xmmword [rsp + 0x60], xmm6
mov rax, qword [0x18004e010]
xor rax, rsp
mov qword [rbp - 0x18], rax
xor ecx, ecx
mov dword [rbp - 0x50], ecx
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
mov qword [rbp - 0x20], rcx
mov dword [rbp - 0x50], 1
mov rsi, qword [0x180054388]
mov rdi, qword [0x180054380]
mov rbx, qword [rbp - 0x28]
cmp rdi, rsi
je 0x180001f1c
nop dword [rax]
mov rax, qword [rdi]
cmp word [rax + 0x10a], 0xc
jne 0x180001f13
mov rcx, qword [rax + 0x110]
mov qword [rbp - 0x38], rcx
cmp rbx, qword [rbp - 0x20]
je 0x180001eff
mov qword [rbx], rcx
mov rbx, qword [rbp - 0x28]
add rbx, 8
mov qword [rbp - 0x28], rbx
jmp 0x180001f13
lea r8, [rbp - 0x38]
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.180006a10
mov rbx, qword [rbp - 0x28]
add rdi, 8
cmp rdi, rsi
jne 0x180001ed0
mov r15, qword [0x1800543a0]
mov r14, qword [0x180054398]
cmp r14, r15
je 0x180001f95
nop
mov rax, qword [r14]
mov rsi, qword [rax + 8]
mov rdi, qword [rax]
cmp rdi, rsi
je 0x180001f8c
nop
mov rax, qword [rdi]
cmp word [rax + 0x10a], 0xc
jne 0x180001f83
mov rcx, qword [rax + 0x110]
mov qword [rbp - 0x38], rcx
cmp rbx, qword [rbp - 0x20]
je 0x180001f6f
mov qword [rbx], rcx
mov rbx, qword [rbp - 0x28]
add rbx, 8
mov qword [rbp - 0x28], rbx
jmp 0x180001f83
lea r8, [rbp - 0x38]
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.180006a10
mov rbx, qword [rbp - 0x28]
add rdi, 8
cmp rdi, rsi
jne 0x180001f40
add r14, 8
cmp r14, r15
jne 0x180001f30
mov rax, rbx
mov rsi, qword [rbp - 0x30]
sub rax, rsi
sar rax, 3
test rax, rax
je 0x18000200b
cmp rsi, rbx
je 0x18000200b
nop dword [rax]
mov rdi, qword [rsi]
movzx ecx, word [rdi + 0x20]
test ecx, ecx
je 0x180001fe7
sub ecx, 1
je 0x180001fd6
sub ecx, 1
je 0x180001fd0
cmp ecx, 1
jne 0x180001ffe
mov byte [rdi + 0x28], 0
jmp 0x180001ffe
mov byte [rdi + 0x28], 1
jmp 0x180001ffe
mov ecx, dword [rdi + 0x24]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne al
jmp 0x180001ffb
mov ecx, dword [rdi + 0x24]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x180001ffe
cmp byte [rdi + 0x28], 0
sete al
mov byte [rdi + 0x28], al
add rsi, 8
cmp rsi, rbx
jne 0x180001fb0
mov rsi, qword [rbp - 0x30]
mov rcx, qword [0x180054400]
test rcx, rcx
je 0x180002029
mov rax, qword [rcx]
call qword [rax + 0x10]
mov byte [0x180054434], al
mov rsi, qword [rbp - 0x30]
jmp 0x180002030
movzx eax, byte [0x180054434]
test al, al
je 0x1800021c7
mov rax, qword [0x180054f18]
or dword [rax + 0x4a00], 2
movsd xmm0, qword [0x180054428]
movsd qword [rax + 0x4a20], xmm0
mov dword [rax + 0x4a08], 1
mov r8d, dword [0x180054430]
bts r8d, 8
lea rcx, [0x180054408]
cmp qword [0x180054420], 0x10
cmovae rcx, qword [0x180054408]
xor edx, edx
call fcn.1800126b0
mov rdi, qword [0x1800543b0]
mov rsi, qword [0x1800543b8]
cmp rdi, rsi
je 0x180002113
nop dword [rax]
mov rbx, qword [rdi]
mov rax, qword [0x180054f18]
mov rax, qword [rax + 0x4b10]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.18000c020
mov rdx, qword [0x180054f18]
mov rcx, qword [rdx + 0x4000]
movsd xmm0, qword [rcx + 0x30]
movsd qword [rbp - 0x4c], xmm0
mov rcx, qword [rdx + 0x4000]
movsd xmm1, qword [rcx + 0x28]
movsd qword [rbp - 0x44], xmm1
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x18000210a
mov qword [rbp - 0x38], rax
mov rax, qword [rcx]
lea r9, [rbp - 0x38]
lea r8, [rbp - 0x4c]
lea rdx, [rbp - 0x44]
call qword [rax + 0x10]
add rdi, 8
cmp rdi, rsi
jne 0x1800020a0
call fcn.180001d20
mov rdi, qword [0x180054380]
mov rsi, qword [0x180054388]
cmp rdi, rsi
je 0x1800021be
movss xmm6, dword [0x180045fe0]
nop word [rax + rax]
mov rbx, qword [rdi]
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x18000215e
mov rax, qword [rcx]
call qword [rax + 0x10]
mov byte [rbx + 0x108], al
mov rbx, qword [rdi]
cmp byte [rbx + 0x108], 0
je 0x1800021b5
mov rcx, qword [rbx + 0xc0]
test rcx, rcx
je 0x18000217c
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rbx, qword [rdi]
cmp byte [rbx + 0x109], 0
je 0x180002193
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180018540
mov rbx, qword [rdi]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
test al, al
je 0x1800021b5
mov rax, qword [rdi]
mov rcx, qword [rax + 0x100]
test rcx, rcx
je 0x1800021b5
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
add rdi, 8
cmp rdi, rsi
jne 0x180002140
call fcn.180014ae0
mov rsi, qword [rbp - 0x30]
test rsi, rsi
je 0x180002207
mov rdx, qword [rbp - 0x20]
sub rdx, rsi
and rdx, 0xfffffffffffffff8
mov rax, rsi
cmp rdx, 0x1000
jb 0x1800021ff
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800021ff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.18003dbbc
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.18003d570
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
movaps xmm6, xmmword [rsp + 0x60]
mov rsp, r11
pop r15
pop r14
pop rbp
ret