Function at 0x14003dbc0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
lea rbp, [rax - 0xb8]
sub rsp, 0x1a0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
mov rbx, rdx
movaps xmm10, xmm0
ucomisd xmm0, qword [0x1400d0328]
jp 0x14003dc0a
je 0x14003dfa0
cmp byte [0x140111ae0], 0
je 0x14003dfa0
mov rax, qword [0x140111bd8]
cmp qword [rax + 0x20], 0
je 0x14003dfa0
movzx ecx, byte [0x1401118dc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14003dfa0
xorps xmm7, xmm7
xorps xmm8, xmm8
xorps xmm9, xmm9
movsd xmm6, qword [0x1400d0160]
mov eax, dword [0x140111af0]
test eax, eax
jne 0x14003dcba
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
test rcx, rcx
jne 0x14003dc78
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
movsd qword [rsp + 0x50], xmm7
jmp 0x14003dc8d
mov r8d, WSASetLastError
lea rdx, [rsp + 0x40]
call fcn.14003a890
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [rsp + 0x50]
movsd qword [rbp - 0x70], xmm0
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call fcn.140030800
movsd xmm8, qword [rax]
movsd xmm9, qword [rax + 8]
jmp 0x14003dd98
cmp eax, 1
jne 0x14003dd04
mov rax, qword [rbx]
mov r8d, 0x42
lea rdx, [rbp]
mov rcx, qword [rax + 8]
call fcn.14003a890
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x60], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x50], xmm1
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x30]
call fcn.140030800
movsd xmm8, qword [rax]
movsd xmm9, qword [rax + 8]
jmp 0x14003dd98
cmp eax, 2
jne 0x14003dd98
mov rax, qword [rbx]
mov r8d, Ordinal_41
lea rdx, [rbp + 0x18]
mov rcx, qword [rax + 8]
call fcn.14003a890
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x40], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x30], xmm1
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x58]
call fcn.140030800
mov rax, qword [rbx]
mov r8d, 8
lea rdx, [rbp + 0x30]
mov rcx, qword [rax + 8]
call fcn.14003a890
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x20], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 0x10], xmm1
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x30]
call fcn.140030800
movsd xmm8, qword [rsp + 0x30]
subsd xmm8, qword [rsp + 0x58]
mulsd xmm8, xmm6
addsd xmm8, qword [rsp + 0x58]
movsd xmm9, qword [rsp + 0x60]
cmp byte [0x140111b04], 0
je 0x14003de66
mov rax, qword [0x140111810]
mov rax, qword [rax + 0x48a8]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.1400074f0
mov rdi, rax
movaps xmm0, xmmword [0x1400d0700]
movups xmmword [rsp + 0x68], xmm0
lea rcx, [rsp + 0x68]
call fcn.140003fc0
mov esi, eax
cvtpd2ps xmm1, xmm9
cvtpd2ps xmm0, xmm8
movss dword [rbp + 0xc0], xmm0
movss dword [rbp + 0xc4], xmm1
test eax, 0xff000000
je 0x14003de66
mov dword [rsp + 0x28], Ordinal_50
movss xmm0, dword [0x1400d0238]
movss dword [rsp + 0x20], xmm0
xorps xmm3, xmm3
movss xmm2, dword [0x1400d021c]
lea rdx, [rbp + 0xc0]
mov rcx, rdi
call fcn.140024840
movss xmm0, dword [0x1400d0150]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 1
mov r9d, esi
mov r8d, dword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rdi
call fcn.140022dc0
mov dword [rdi + 0x78], 0
movd xmm1, dword [0x140111d0c]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm6
movd xmm0, dword [0x140111d08]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm6
movsd xmm4, qword [0x1400d0880]
comisd xmm8, xmm0
jbe 0x14003dea2
movaps xmm6, xmm0
subsd xmm6, xmm8
xorps xmm6, xmm4
jmp 0x14003deaa
movaps xmm6, xmm8
subsd xmm6, xmm0
movd xmm3, dword [reloc.WS2_32.dll_ntohs]
cvtdq2pd xmm3, xmm3
divsd xmm6, xmm3
movaps xmm2, xmm6
addsd xmm2, xmm0
addsd xmm0, xmm0
comisd xmm2, xmm0
ja 0x14003ded1
comisd xmm7, xmm2
jbe 0x14003ded4
xorps xmm6, xmm6
comisd xmm9, xmm1
jbe 0x14003dee8
movaps xmm2, xmm1
subsd xmm2, xmm9
xorps xmm2, xmm4
jmp 0x14003def0
movaps xmm2, xmm9
subsd xmm2, xmm1
divsd xmm2, xmm3
movaps xmm0, xmm2
addsd xmm0, xmm1
addsd xmm1, xmm1
comisd xmm0, xmm1
ja 0x14003df0b
comisd xmm7, xmm0
jbe 0x14003df0e
xorps xmm2, xmm2
divsd xmm6, xmm3
xorps xmm2, xmm4
divsd xmm2, xmm3
mov rax, qword [0x140111bd8]
mov rdx, qword [rax + 0x18]
add rdx, 0x510
call fcn.140051250
mov rax, qword [0x140111bd8]
mov rdx, qword [rax + 0x18]
add rdx, 0x518
movaps xmm2, xmm6
call fcn.140051250
cmp byte [0x140111abb], 0
je 0x14003dfa0
movsd xmm0, qword [0x1400d01e8]
comisd xmm0, xmm10
jbe 0x14003dfa0
mov rax, qword [rbx]
cmp dword [rax + 0x3c], 0xf
jge 0x14003dfa0
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.USER32.dll_mouse_event]
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 4]
call qword [sym.imp.USER32.dll_mouse_event]
nop
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x14003dfd5
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14003dfd5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x14003dfd5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop rdi
pop rsi
pop rbp
ret