Function at 0x14003f9f0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xe0
cmp byte [reloc.WS2_32.dll_accept], 1
jne 0x14003fdbe
mov qword [rsp + 0x100], rbx
mov rbx, qword [0x140100c88]
mov rcx, rbx
call fcn.14003dd60
movzx eax, al
imul rcx, rax, 0xdc0
add rcx, 0x288
add rcx, rbx
je 0x14003fdb6
call fcn.14003cb30
test rax, rax
je 0x14003fdb6
mov qword [rsp + 0xd8], rdi
mov rdi, qword [0x140100c88]
test rdi, rdi
je 0x14003fdae
mov rcx, rdi
mov qword [rsp + 0xc0], r15
call fcn.14003dd60
movzx eax, al
lea r15, [rdi + 0x288]
imul rcx, rax, 0xdc0
add r15, rcx
je 0x14003fda6
mov rbx, qword [0x140100f68]
mov qword [rsp + 0x108], rsi
add rbx, 0x296a0a4
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0xc8], r14
call fcn.140037a30
xor sil, sil
xor r12d, r12d
mov byte [rbp + 0x67], sil
mov r10, qword [rax + 8]
cmp r10, 0xffffffffffffffff
je 0x14003fb1c
mov ecx, dword [rax]
lea r9d, [r12 + 0x20]
mov eax, dword [rax + 4]
lea r8, [rbp - 0x29]
mov dword [rbp - 0x25], eax
mov edx, 0x220404
mov qword [rsp + 0x38], r12
lea rax, [rbp + 0x67]
mov qword [rbp - 0x19], rax
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x30], rax
mov dword [rbp - 0x29], ecx
mov rcx, r10
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov qword [rbp - 0x21], rbx
mov dword [rbp - 0x11], 1
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movzx esi, byte [rbp + 0x67]
mov rbx, qword [0x140100f68]
call fcn.140037a30
mov rcx, rax
lea rdx, [rbx + 0x296a060]
call fcn.14004ae20
lea rbx, [rax + 0x70]
call fcn.140037a30
mov rcx, rax
mov rdx, rbx
call fcn.14004ae20
mov rbx, qword [0x140100f68]
call fcn.140037a30
mov rcx, rax
lea rdx, [rbx + 0x296a0b0]
call fcn.14004ae20
mov r14, rax
test rax, rax
je 0x14003fd8e
call fcn.140037a30
mov rcx, rax
lea rdx, [r14 + 0x530]
call fcn.14004ae20
mov rbx, rax
test rax, rax
je 0x14003fd8e
test sil, sil
jne 0x14003fc03
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x41], r12d
call fcn.140037a30
mov r10, qword [rax + 8]
cmp r10, 0xffffffffffffffff
je 0x14003fc03
mov ecx, dword [rax + 4]
lea r8, [rbp - 0x29]
mov eax, dword [rax]
mov r9d, reloc.WLDAP32.dll_Ordinal_32
mov dword [rbp - 0x25], eax
mov edx, 0x220404
mov qword [rsp + 0x38], r12
lea rax, [rbp - 0x49]
mov qword [rbp - 0x21], rax
lea rax, [r14 + 0x15e8]
mov qword [rbp - 0x19], rax
lea rax, [rbp + 0x67]
mov qword [rsp + 0x30], rax
mov dword [rbp - 0x29], ecx
mov rcx, r10
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov dword [rbp - 0x11], ntohl
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov ecx, 0x46
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14003fd8e
call fcn.14003fdd0
cmp eax, 0xffffffff
je 0x14003fd8e
imul eax, eax, 0xdc0
movsxd rcx, eax
add rcx, 0x288
add rcx, rdi
cmp rcx, r15
je 0x14003fd8e
call fcn.14003cb30
mov rdi, rax
test rax, rax
je 0x14003fd8e
movaps xmmword [rsp + 0xb0], xmm6
lea rdx, [rbp - 0x49]
mov r8d, 6
movaps xmmword [rsp + 0xa0], xmm7
mov rcx, rax
call fcn.14003c640
lea rdx, [rbp - 0x29]
mov rcx, rdi
call fcn.14003c460
movss xmm1, dword [rbp - 0x1d]
movss xmm3, dword [rbp - 0x29]
movaps xmm0, xmm1
movss xmm2, dword [rbp - 0x25]
movss xmm7, dword [rbp - 0x21]
movaps xmm6, xmm7
mulss xmm0, xmm2
mulss xmm6, xmm3
mulss xmm7, xmm2
addss xmm6, xmm0
mulss xmm2, xmm2
movaps xmm0, xmm3
mulss xmm3, xmm3
mulss xmm0, xmm1
movss xmm1, dword [0x1400a7cb4]
addss xmm6, xmm6
addss xmm3, xmm2
subss xmm7, xmm0
movss xmm0, dword [0x1400a7ce4]
mulss xmm6, xmm0
addss xmm7, xmm7
addss xmm3, xmm3
addss xmm6, dword [rbp - 0x49]
mulss xmm7, xmm0
subss xmm1, xmm3
addss xmm7, dword [rbp - 0x45]
mulss xmm1, xmm0
addss xmm7, dword [0x1400a7d38]
addss xmm1, dword [rbp - 0x41]
movss dword [rbp - 0x31], xmm1
call fcn.140037a30
mov ecx, dword [rbp - 0x31]
movaps xmm0, xmm6
movaps xmm6, xmmword [rsp + 0xb0]
unpcklps xmm0, xmm7
mov r10, qword [rax + 8]
movaps xmm7, xmmword [rsp + 0xa0]
movsd qword [rbp - 0x49], xmm0
mov dword [rbp - 0x41], ecx
cmp r10, 0xffffffffffffffff
je 0x14003fd8e
mov ecx, dword [rax + 4]
lea r8, [rbp - 9]
mov eax, dword [rax]
mov r9d, reloc.WLDAP32.dll_Ordinal_32
mov dword [rbp - 5], eax
mov edx, 0x220404
mov qword [rsp + 0x38], r12
lea rax, [rbp - 0x49]
mov qword [rbp - 1], rax
lea rax, [rbx + 0x19c]
mov qword [rbp + 7], rax
lea rax, [rbp + 0x67]
mov qword [rsp + 0x30], rax
mov dword [rbp - 9], ecx
mov rcx, r10
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov dword [rbp + 0xf], ntohl
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov r14, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0x108]
mov r15, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0x100]
add rsp, 0xe0
pop rbp
ret