Function at 0x140074940
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x58
movaps xmmword [rsp + 0x40], xmm6
xor esi, esi
mov dword [rbp + 0x48], esi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], rsi
mov dword [rbp + 0x48], 1
mov r14, qword [0x14012e308]
mov rdi, qword [0x14012e300]
mov rbx, qword [rbp - 0x30]
cmp rdi, r14
je 0x1400749db
nop dword [rax]
mov rax, qword [rdi]
cmp word [rax + 0x15c], 0xd
jne 0x1400749d2
mov rcx, qword [rax + 0x160]
mov qword [rbp + 0x50], rcx
cmp rbx, rsi
je 0x1400749ba
mov qword [rbx], rcx
add rbx, 8
mov qword [rbp - 0x30], rbx
jmp 0x1400749d2
lea r8, [rbp + 0x50]
mov rdx, rbx
lea rcx, [rbp - 0x38]
call fcn.1400067a0
mov rsi, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x30]
add rdi, 8
cmp rdi, r14
jne 0x140074990
mov rax, qword [0x14012e320]
mov qword [rbp + 0x58], rax
mov r13, qword [0x14012e318]
cmp r13, rax
je 0x140074ae6
nop word [rax + rax]
mov rax, qword [r13]
mov r12, qword [rax + 8]
mov r15, qword [rax]
cmp r15, r12
je 0x140074ad8
nop dword [rax]
nop dword [rax + rax]
mov rdi, qword [r15]
movzx eax, word [rdi + 0x15c]
cmp ax, 0xd
jne 0x140074a67
mov rax, qword [rdi + 0x160]
mov qword [rbp + 0x50], rax
cmp rbx, rsi
je 0x140074a4d
mov qword [rbx], rax
add rbx, 8
mov qword [rbp - 0x30], rbx
jmp 0x140074acb
lea r8, [rbp + 0x50]
mov rdx, rbx
lea rcx, [rbp - 0x38]
call fcn.1400067a0
mov rsi, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x30]
jmp 0x140074acb
cmp ax, 0xf
jne 0x140074acb
mov r14, qword [rdi + 0x168]
mov rdi, qword [rdi + 0x160]
cmp rdi, r14
je 0x140074acb
mov rax, qword [rdi]
cmp word [rax + 0x15c], 0xd
jne 0x140074ac2
mov rcx, qword [rax + 0x160]
mov qword [rbp + 0x50], rcx
cmp rbx, rsi
je 0x140074aaa
mov qword [rbx], rcx
add rbx, 8
mov qword [rbp - 0x30], rbx
jmp 0x140074ac2
lea r8, [rbp + 0x50]
mov rdx, rbx
lea rcx, [rbp - 0x38]
call fcn.1400067a0
mov rsi, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x30]
add rdi, 8
cmp rdi, r14
jne 0x140074a80
add r15, 8
cmp r15, r12
jne 0x140074a20
add r13, 8
cmp r13, qword [rbp + 0x58]
jne 0x140074a00
mov rax, rbx
mov r12, qword [rbp - 0x38]
sub rax, r12
sar rax, 3
test rax, rax
je 0x140074b58
mov r14, r12
cmp r12, rbx
je 0x140074b58
mov rdi, qword [r14]
movzx ecx, word [rdi + 0x20]
test ecx, ecx
je 0x140074b38
sub ecx, 1
je 0x140074b27
sub ecx, 1
je 0x140074b21
cmp ecx, 1
jne 0x140074b4f
mov byte [rdi + 0x28], 0
jmp 0x140074b4f
mov byte [rdi + 0x28], 1
jmp 0x140074b4f
mov ecx, dword [rdi + 0x24]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
setne al
jmp 0x140074b4c
mov ecx, dword [rdi + 0x24]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140074b4f
cmp byte [rdi + 0x28], 0
sete al
mov byte [rdi + 0x28], al
add r14, 8
cmp r14, rbx
jne 0x140074b01
mov rcx, qword [0x14012e380]
test rcx, rcx
je 0x140074b72
mov rax, qword [rcx]
call qword [rax + 0x10]
mov byte [0x14012e3b8], al
jmp 0x140074b79
movzx eax, byte [0x14012e3b8]
test al, al
je 0x140074d08
movss xmm1, dword [0x14012e3b0]
movaps xmm0, xmm1
mulss xmm0, dword [0x14012e3ac]
mulss xmm1, dword [0x14012e3a8]
mov rax, qword [0x140132e90]
or dword [rax + 0x47a0], 2
movss dword [rax + 0x47c0], xmm1
movss dword [rax + 0x47c4], xmm0
mov dword [rax + 0x47a8], 1
mov r8d, dword [0x14012e3b4]
bts r8d, 8
lea rcx, [0x14012e388]
cmp qword [0x14012e3a0], 0xf
cmova rcx, qword [0x14012e388]
xor edx, edx
call fcn.140033200
movss xmm1, dword [0x14011738c]
call fcn.1400721c0
mov rdi, qword [0x14012e330]
mov r14, qword [0x14012e338]
cmp rdi, r14
je 0x140074c83
nop
mov rbx, qword [rdi]
mov rax, qword [0x140132e90]
mov rax, qword [rax + 0x48a0]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.14002d230
mov rdx, qword [0x140132e90]
mov rcx, qword [rdx + 0x3ec8]
movsd xmm0, qword [rcx + 0x28]
movsd qword [rbp + 0x58], xmm0
mov rcx, qword [rdx + 0x3ec8]
movsd xmm1, qword [rcx + 0x20]
movsd qword [rbp + 0x60], xmm1
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x140074c7a
mov qword [rbp + 0x50], rax
mov rax, qword [rcx]
lea r9, [rbp + 0x50]
lea r8, [rbp + 0x58]
lea rdx, [rbp + 0x60]
call qword [rax + 0x10]
add rdi, 8
cmp rdi, r14
jne 0x140074c10
mov rdi, qword [0x14012e318]
mov r15, qword [0x14012e320]
cmp rdi, r15
je 0x140074cfd
nop word [rax + rax]
mov rbx, qword [rdi]
movss xmm6, dword [0x14012e3b0]
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x140074cc3
mov rax, qword [rcx]
call qword [rax + 0x10]
mov byte [rbx + 0xe9], al
cmp byte [rbx + 0xe9], 0
je 0x140074cf4
movaps xmm1, xmm6
mov rcx, rbx
call fcn.140072c80
mov rcx, rbx
call fcn.140072ad0
nop
call fcn.140030800
cmp byte [rbx + 0xea], 0
je 0x140074cf4
call fcn.140030800
nop
add rdi, 8
cmp rdi, r15
jne 0x140074ca0
call fcn.140074630
call fcn.140035660
nop
test r12, r12
je 0x140074d48
sub rsi, r12
and rsi, 0xfffffffffffffff8
mov rax, r12
cmp rsi, 0x1000
jb 0x140074d3d
add rsi, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140074d3d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rsi
mov rcx, r12
call fcn.1400e38ac
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret