Function at 0x14004d0e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0xe8]
sub rsp, 0x1d0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
mov rax, qword [0x1400f30c0]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov rdi, rdx
mov qword [rbp - 0x68], rdx
cmp byte [0x1400fbbd7], 0
je 0x14004d142
mov ecx, 2
mov dword [0x1400fb7a8], ecx
jmp 0x14004d148
mov ecx, dword [0x1400fb7a8]
cmp byte [0x1400fbbd5], 0
je 0x14004d15c
mov ecx, 1
mov dword [0x1400fb7a8], ecx
cmp byte [0x1400fbbda], 0
je 0x14004d170
mov ecx, reloc.WS2_32.dll_sendto
mov dword [0x1400fb7a8], ecx
cmp byte [0x1400fbc15], 0
je 0x14004d184
mov ecx, 0xa0
mov dword [0x1400fb7a8], ecx
ucomisd xmm0, qword [0x1400e0e10]
jp 0x14004d194
je 0x14004d61f
cmp byte [0x1400fbc49], 0
je 0x14004d61f
mov rax, qword [0x1400fbc90]
cmp qword [rax + 0xc0], 0
je 0x14004d61f
lea rbx, [rbp + 0xe8]
mov rsi, qword [rbx]
xor r15d, r15d
mov qword [rbx], r15
movzx ecx, cl
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
mov qword [rbx], rsi
jae 0x14004d61f
xorps xmm8, xmm8
xorps xmm7, xmm7
xorps xmm9, xmm9
movsd xmm6, qword [0x1400e0b40]
cmp byte [0x1400fbc06], r15b
je 0x14004d24d
mov rax, qword [rdi]
mov rcx, qword [rax + 8]
lea rbx, [rbp + 0xe8]
mov qword [rbx], r15
test rcx, rcx
jne 0x14004d21e
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
movsd qword [rbp - 0x80], xmm8
jmp 0x14004d233
mov r8d, WSASetLastError
lea rdx, [rsp + 0x70]
call fcn.140048f40
movups xmm0, xmmword [rsp + 0x70]
mov qword [rbx], rsi
movaps xmmword [rbp - 0x50], xmm0
movsd xmm0, qword [rbp - 0x80]
movsd qword [rbp - 0x40], xmm0
lea rdx, [rbp - 0x50]
jmp 0x14004d352
cmp byte [0x1400fbbe4], r15b
je 0x14004d286
mov rax, qword [rdi]
mov r8d, 0x42
lea rdx, [rbp + 0x28]
mov rcx, qword [rax + 8]
call fcn.140048f40
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x30], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x20], xmm1
lea rdx, [rbp - 0x30]
jmp 0x14004d352
cmp byte [0x1400fbc38], r15b
je 0x14004d31b
mov rax, qword [rdi]
mov r8d, Ordinal_41
lea rdx, [rbp + 0x40]
mov rcx, qword [rax + 8]
call fcn.140048f40
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x10], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp], xmm1
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x78]
call fcn.1400442a0
mov rax, qword [rdi]
mov r8d, 8
lea rdx, [rbp + 0x10]
mov rcx, qword [rax + 8]
call fcn.140048f40
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x60], xmm1
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.1400442a0
movsd xmm7, qword [rsp + 0x40]
subsd xmm7, qword [rbp - 0x78]
mulsd xmm7, xmm6
addsd xmm7, qword [rbp - 0x78]
movsd xmm9, qword [rbp - 0x70]
jmp 0x14004d366
cmp byte [0x1400fbc3e], r15b
je 0x14004d366
mov rax, qword [rdi]
mov r8d, 2
lea rdx, [rbp + 0x10]
mov rcx, qword [rax + 8]
call fcn.140048f40
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rsp + 0x60], xmm1
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.1400442a0
movsd xmm7, qword [rax]
movsd xmm9, qword [rax + 8]
cmp byte [0x1400fbc0d], r15b
je 0x14004d428
mov rax, qword [0x1400fa9c0]
mov rax, qword [rax + 0x48a8]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1400079d0
mov rbx, rax
movaps xmm0, xmmword [0x1400e0f90]
movups xmmword [rbp - 0x60], xmm0
lea rcx, [rbp - 0x60]
call fcn.140003b50
mov esi, eax
cvtpd2ps xmm1, xmm9
cvtpd2ps xmm0, xmm7
movss dword [rsp + 0x34], xmm0
movss dword [rsp + 0x38], xmm1
test eax, 0xff000000
je 0x14004d428
mov dword [rsp + 0x28], Ordinal_50
movss xmm0, dword [0x1400e0c60]
movss dword [rsp + 0x20], xmm0
xorps xmm3, xmm3
movss xmm2, dword [0x1400e0c44]
lea rdx, [rsp + 0x34]
mov rcx, rbx
call fcn.140026500
movss xmm0, dword [0x1400e0b0c]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 1
mov r9d, esi
mov r8d, dword [rbx + 0x78]
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.140024ab0
mov dword [rbx + 0x78], r15d
movd xmm2, dword [0x1400fbdac]
cvtdq2pd xmm2, xmm2
mulsd xmm2, xmm6
movd xmm0, dword [0x1400fbda8]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm6
movsd xmm4, qword [0x1400e1120]
comisd xmm7, xmm0
jbe 0x14004d462
movaps xmm6, xmm0
subsd xmm6, xmm7
xorps xmm6, xmm4
jmp 0x14004d469
movaps xmm6, xmm7
subsd xmm6, xmm0
movss xmm3, dword [0x1400f98a0]
cvtps2pd xmm3, xmm3
divsd xmm6, xmm3
movaps xmm1, xmm0
addsd xmm1, xmm6
addsd xmm0, xmm0
comisd xmm1, xmm0
ja 0x14004d490
comisd xmm8, xmm1
jbe 0x14004d493
xorps xmm6, xmm6
comisd xmm9, xmm2
jbe 0x14004d4a7
movaps xmm1, xmm2
subsd xmm1, xmm9
xorps xmm1, xmm4
jmp 0x14004d4af
movaps xmm1, xmm9
subsd xmm1, xmm2
divsd xmm1, xmm3
movaps xmm0, xmm2
addsd xmm0, xmm1
addsd xmm2, xmm2
comisd xmm0, xmm2
ja 0x14004d4cb
comisd xmm8, xmm0
jbe 0x14004d4ce
xorps xmm1, xmm1
divsd xmm6, xmm3
xorps xmm1, xmm4
divsd xmm1, xmm3
mov rax, qword [0x1400fbc90]
mov rcx, qword [rax + 0x18]
add rcx, 0x520
call fcn.1400602f0
mov rax, qword [0x1400fbc90]
mov rcx, qword [rax + 0x18]
add rcx, 0x528
movaps xmm1, xmm6
call fcn.1400602f0
cmp byte [0x1400fbbf1], r15b
je 0x14004d61f
mov rax, qword [0x1400fbc90]
mov rcx, qword [rax + 0x18]
add rcx, 0x1840
call fcn.14005ffc0
mov rcx, rax
call fcn.14005ffc0
mov rsi, rax
movzx ecx, byte [0x1400fb7a8]
lea r14, [rbp + 0xe8]
mov rbx, qword [r14]
mov qword [r14], r15
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
mov qword [r14], rbx
jae 0x14004d578
cmp byte [0x1400fa9b9], r15b
je 0x14004d58a
mov rax, rsi
mov qword [0x1400fb720], rax
mov byte [0x1400fa9b9], r15b
jmp 0x14004d591
cmp byte [0x1400fa9b9], r15b
jne 0x14004d58a
mov byte [0x1400fa9b9], 1
jmp 0x14004d5fd
mov rax, qword [0x1400fb720]
test rax, rax
je 0x14004d607
cmp rax, rsi
je 0x14004d61f
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x5c], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x70], xmm1
mov dword [rbp + 0x58], r15d
mov dword [rbp + 0x6c], 2
mov r8d, Ordinal_45
lea rdx, [rbp + 0x58]
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x5c], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x70], xmm1
mov dword [rbp + 0x58], r15d
mov dword [rbp + 0x6c], 4
mov r8d, Ordinal_45
lea rdx, [rbp + 0x58]
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov rax, r15
mov qword [0x1400fb720], rax
cmp rax, rsi
je 0x14004d61f
test rax, rax
je 0x14004d61f
mov edx, 0x1f4
mov ecx, edx
call qword [sym.imp.KERNEL32.dll_Beep]
nop
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x14004d654
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14004d654
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x14004d654
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.1400c5d80
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop rbp
ret