Function at 0x1800023c0
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 [0x180059398]
mov rdi, qword [0x180059390]
mov rbx, qword [rbp - 0x28]
cmp rdi, rsi
je 0x18000246c
nop dword [rax]
mov rax, qword [rdi]
cmp word [rax + 0x10a], 0xc
jne 0x180002463
mov rcx, qword [rax + 0x110]
mov qword [rbp - 0x38], rcx
cmp rbx, qword [rbp - 0x20]
je 0x18000244f
mov qword [rbx], rcx
mov rbx, qword [rbp - 0x28]
add rbx, 8
mov qword [rbp - 0x28], rbx
jmp 0x180002463
lea r8, [rbp - 0x38]
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.180009320
mov rbx, qword [rbp - 0x28]
add rdi, 8
cmp rdi, rsi
jne 0x180002420
mov r15, qword [0x1800593b0]
mov r14, qword [0x1800593a8]
cmp r14, r15
je 0x1800024e5
nop
mov rax, qword [r14]
mov rsi, qword [rax + 8]
mov rdi, qword [rax]
cmp rdi, rsi
je 0x1800024dc
nop
mov rax, qword [rdi]
cmp word [rax + 0x10a], 0xc
jne 0x1800024d3
mov rcx, qword [rax + 0x110]
mov qword [rbp - 0x38], rcx
cmp rbx, qword [rbp - 0x20]
je 0x1800024bf
mov qword [rbx], rcx
mov rbx, qword [rbp - 0x28]
add rbx, 8
mov qword [rbp - 0x28], rbx
jmp 0x1800024d3
lea r8, [rbp - 0x38]
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.180009320
mov rbx, qword [rbp - 0x28]
add rdi, 8
cmp rdi, rsi
jne 0x180002490
add r14, 8
cmp r14, r15
jne 0x180002480
mov rax, rbx
mov rsi, qword [rbp - 0x30]
sub rax, rsi
sar rax, 3
test rax, rax
je 0x18000255b
cmp rsi, rbx
je 0x18000255b
nop dword [rax]
mov rdi, qword [rsi]
movzx ecx, word [rdi + 0x20]
test ecx, ecx
je 0x180002537
sub ecx, 1
je 0x180002526
sub ecx, 1
je 0x180002520
cmp ecx, 1
jne 0x18000254e
mov byte [rdi + 0x28], 0
jmp 0x18000254e
mov byte [rdi + 0x28], 1
jmp 0x18000254e
mov ecx, dword [rdi + 0x24]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne al
jmp 0x18000254b
mov ecx, dword [rdi + 0x24]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x18000254e
cmp byte [rdi + 0x28], 0
sete al
mov byte [rdi + 0x28], al
add rsi, 8
cmp rsi, rbx
jne 0x180002500
mov rsi, qword [rbp - 0x30]
mov rcx, qword [0x180059410]
test rcx, rcx
je 0x180002579
mov rax, qword [rcx]
call qword [rax + 0x10]
mov byte [0x180059444], al
mov rsi, qword [rbp - 0x30]
jmp 0x180002580
movzx eax, byte [0x180059444]
test al, al
je 0x180002717
mov rax, qword [0x180059f58]
or dword [rax + 0x4a00], 2
movsd xmm0, qword [0x180059438]
movsd qword [rax + 0x4a20], xmm0
mov dword [rax + 0x4a08], 1
mov r8d, dword [0x180059440]
bts r8d, 8
lea rcx, [0x180059418]
cmp qword [0x180059430], 0x10
cmovae rcx, qword [0x180059418]
xor edx, edx
call fcn.180015b60
mov rdi, qword [0x1800593c0]
mov rsi, qword [0x1800593c8]
cmp rdi, rsi
je 0x180002663
nop dword [rax]
mov rbx, qword [rdi]
mov rax, qword [0x180059f58]
mov rax, qword [rax + 0x4b10]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.18000f4d0
mov rdx, qword [0x180059f58]
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 0x18000265a
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 0x1800025f0
call fcn.180002270
mov rdi, qword [0x180059390]
mov rsi, qword [0x180059398]
cmp rdi, rsi
je 0x18000270e
movss xmm6, dword [0x18004b1d0]
nop word [rax + rax]
mov rbx, qword [rdi]
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x1800026ae
mov rax, qword [rcx]
call qword [rax + 0x10]
mov byte [rbx + 0x108], al
mov rbx, qword [rdi]
cmp byte [rbx + 0x108], 0
je 0x180002705
mov rcx, qword [rbx + 0xc0]
test rcx, rcx
je 0x1800026cc
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rbx, qword [rdi]
cmp byte [rbx + 0x109], 0
je 0x1800026e3
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.18001b9f0
mov rbx, qword [rdi]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
test al, al
je 0x180002705
mov rax, qword [rdi]
mov rcx, qword [rax + 0x100]
test rcx, rcx
je 0x180002705
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
add rdi, 8
cmp rdi, rsi
jne 0x180002690
call fcn.180017f90
mov rsi, qword [rbp - 0x30]
test rsi, rsi
je 0x180002757
mov rdx, qword [rbp - 0x20]
sub rdx, rsi
and rdx, 0xfffffffffffffff8
mov rax, rsi
cmp rdx, 0x1000
jb 0x18000274f
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000274f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.180041fcc
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.1800418b0
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