Function at 0x180002450
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 0x1800024fc
nop dword [rax]
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.1800094e0
mov rbx, qword [rbp - 0x28]
add rdi, 8
cmp rdi, rsi
jne 0x1800024b0
mov r15, qword [0x1800593b0]
mov r14, qword [0x1800593a8]
cmp r14, r15
je 0x180002575
nop
mov rax, qword [r14]
mov rsi, qword [rax + 8]
mov rdi, qword [rax]
cmp rdi, rsi
je 0x18000256c
nop
mov rax, qword [rdi]
cmp word [rax + 0x10a], 0xc
jne 0x180002563
mov rcx, qword [rax + 0x110]
mov qword [rbp - 0x38], rcx
cmp rbx, qword [rbp - 0x20]
je 0x18000254f
mov qword [rbx], rcx
mov rbx, qword [rbp - 0x28]
add rbx, 8
mov qword [rbp - 0x28], rbx
jmp 0x180002563
lea r8, [rbp - 0x38]
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.1800094e0
mov rbx, qword [rbp - 0x28]
add rdi, 8
cmp rdi, rsi
jne 0x180002520
add r14, 8
cmp r14, r15
jne 0x180002510
mov rax, rbx
mov rsi, qword [rbp - 0x30]
sub rax, rsi
sar rax, 3
test rax, rax
je 0x1800025eb
cmp rsi, rbx
je 0x1800025eb
nop dword [rax]
mov rdi, qword [rsi]
movzx ecx, word [rdi + 0x20]
test ecx, ecx
je 0x1800025c7
sub ecx, 1
je 0x1800025b6
sub ecx, 1
je 0x1800025b0
cmp ecx, 1
jne 0x1800025de
mov byte [rdi + 0x28], 0
jmp 0x1800025de
mov byte [rdi + 0x28], 1
jmp 0x1800025de
mov ecx, dword [rdi + 0x24]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne al
jmp 0x1800025db
mov ecx, dword [rdi + 0x24]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1800025de
cmp byte [rdi + 0x28], 0
sete al
mov byte [rdi + 0x28], al
add rsi, 8
cmp rsi, rbx
jne 0x180002590
mov rsi, qword [rbp - 0x30]
mov rcx, qword [0x180059410]
test rcx, rcx
je 0x180002609
mov rax, qword [rcx]
call qword [rax + 0x10]
mov byte [0x180059444], al
mov rsi, qword [rbp - 0x30]
jmp 0x180002610
movzx eax, byte [0x180059444]
test al, al
je 0x1800027a7
mov rax, qword [0x180059f60]
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.180015d20
mov rdi, qword [0x1800593c0]
mov rsi, qword [0x1800593c8]
cmp rdi, rsi
je 0x1800026f3
nop dword [rax]
mov rbx, qword [rdi]
mov rax, qword [0x180059f60]
mov rax, qword [rax + 0x4b10]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.18000f690
mov rdx, qword [0x180059f60]
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 0x1800026ea
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 0x180002680
call fcn.180002300
mov rdi, qword [0x180059390]
mov rsi, qword [0x180059398]
cmp rdi, rsi
je 0x18000279e
movss xmm6, dword [0x18004b1b4]
nop word [rax + rax]
mov rbx, qword [rdi]
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x18000273e
mov rax, qword [rcx]
call qword [rax + 0x10]
mov byte [rbx + 0x108], al
mov rbx, qword [rdi]
cmp byte [rbx + 0x108], 0
je 0x180002795
mov rcx, qword [rbx + 0xc0]
test rcx, rcx
je 0x18000275c
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rbx, qword [rdi]
cmp byte [rbx + 0x109], 0
je 0x180002773
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.18001bbb0
mov rbx, qword [rdi]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
test al, al
je 0x180002795
mov rax, qword [rdi]
mov rcx, qword [rax + 0x100]
test rcx, rcx
je 0x180002795
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
add rdi, 8
cmp rdi, rsi
jne 0x180002720
call fcn.180018150
mov rsi, qword [rbp - 0x30]
test rsi, rsi
je 0x1800027e7
mov rdx, qword [rbp - 0x20]
sub rdx, rsi
and rdx, 0xfffffffffffffff8
mov rax, rsi
cmp rdx, 0x1000
jb 0x1800027df
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800027df
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.18004218c
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.180041a70
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