Function at 0x1800023e0
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 [0x180053010]
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 [0x180059388]
mov rdi, qword [0x180059380]
mov rbx, qword [rbp - 0x28]
cmp rdi, rsi
je 0x18000248c
nop dword [rax]
mov rax, qword [rdi]
cmp word [rax + 0x10a], 0xc
jne 0x180002483
mov rcx, qword [rax + 0x110]
mov qword [rbp - 0x38], rcx
cmp rbx, qword [rbp - 0x20]
je 0x18000246f
mov qword [rbx], rcx
mov rbx, qword [rbp - 0x28]
add rbx, 8
mov qword [rbp - 0x28], rbx
jmp 0x180002483
lea r8, [rbp - 0x38]
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.180009210
mov rbx, qword [rbp - 0x28]
add rdi, 8
cmp rdi, rsi
jne 0x180002440
mov r15, qword [0x1800593a0]
mov r14, qword [0x180059398]
cmp r14, r15
je 0x180002505
nop
mov rax, qword [r14]
mov rsi, qword [rax + 8]
mov rdi, qword [rax]
cmp rdi, rsi
je 0x1800024fc
nop
mov rax, qword [rdi]
cmp word [rax + 0x10a], 0xc
jne 0x1800024f3
mov rcx, qword [rax + 0x110]
mov qword [rbp - 0x38], rcx
cmp rbx, qword [rbp - 0x20]
je 0x1800024df
mov qword [rbx], rcx
mov rbx, qword [rbp - 0x28]
add rbx, 8
mov qword [rbp - 0x28], rbx
jmp 0x1800024f3
lea r8, [rbp - 0x38]
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.180009210
mov rbx, qword [rbp - 0x28]
add rdi, 8
cmp rdi, rsi
jne 0x1800024b0
add r14, 8
cmp r14, r15
jne 0x1800024a0
mov rax, rbx
mov rsi, qword [rbp - 0x30]
sub rax, rsi
sar rax, 3
test rax, rax
je 0x18000257b
cmp rsi, rbx
je 0x18000257b
nop dword [rax]
mov rdi, qword [rsi]
movzx ecx, word [rdi + 0x20]
test ecx, ecx
je 0x180002557
sub ecx, 1
je 0x180002546
sub ecx, 1
je 0x180002540
cmp ecx, 1
jne 0x18000256e
mov byte [rdi + 0x28], 0
jmp 0x18000256e
mov byte [rdi + 0x28], 1
jmp 0x18000256e
mov ecx, dword [rdi + 0x24]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne al
jmp 0x18000256b
mov ecx, dword [rdi + 0x24]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x18000256e
cmp byte [rdi + 0x28], 0
sete al
mov byte [rdi + 0x28], al
add rsi, 8
cmp rsi, rbx
jne 0x180002520
mov rsi, qword [rbp - 0x30]
mov rcx, qword [0x180059400]
test rcx, rcx
je 0x180002599
mov rax, qword [rcx]
call qword [rax + 0x10]
mov byte [0x180059434], al
mov rsi, qword [rbp - 0x30]
jmp 0x1800025a0
movzx eax, byte [0x180059434]
test al, al
je 0x180002737
mov rax, qword [0x180059f20]
or dword [rax + 0x4a00], 2
movsd xmm0, qword [0x180059428]
movsd qword [rax + 0x4a20], xmm0
mov dword [rax + 0x4a08], 1
mov r8d, dword [0x180059430]
bts r8d, 8
lea rcx, [0x180059408]
cmp qword [0x180059420], 0x10
cmovae rcx, qword [0x180059408]
xor edx, edx
call fcn.180015a50
mov rdi, qword [0x1800593b0]
mov rsi, qword [0x1800593b8]
cmp rdi, rsi
je 0x180002683
nop dword [rax]
mov rbx, qword [rdi]
mov rax, qword [0x180059f20]
mov rax, qword [rax + 0x4b10]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.18000f3c0
mov rdx, qword [0x180059f20]
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 0x18000267a
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 0x180002610
call fcn.180002290
mov rdi, qword [0x180059380]
mov rsi, qword [0x180059388]
cmp rdi, rsi
je 0x18000272e
movss xmm6, dword [0x18004b148]
nop word [rax + rax]
mov rbx, qword [rdi]
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x1800026ce
mov rax, qword [rcx]
call qword [rax + 0x10]
mov byte [rbx + 0x108], al
mov rbx, qword [rdi]
cmp byte [rbx + 0x108], 0
je 0x180002725
mov rcx, qword [rbx + 0xc0]
test rcx, rcx
je 0x1800026ec
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rbx, qword [rdi]
cmp byte [rbx + 0x109], 0
je 0x180002703
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.18001b8e0
mov rbx, qword [rdi]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
test al, al
je 0x180002725
mov rax, qword [rdi]
mov rcx, qword [rax + 0x100]
test rcx, rcx
je 0x180002725
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
add rdi, 8
cmp rdi, rsi
jne 0x1800026b0
call fcn.180017e80
mov rsi, qword [rbp - 0x30]
test rsi, rsi
je 0x180002777
mov rdx, qword [rbp - 0x20]
sub rdx, rsi
and rdx, 0xfffffffffffffff8
mov rax, rsi
cmp rdx, 0x1000
jb 0x18000276f
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000276f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.180041ebc
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.1800417a0
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